Help us shape the future of Go! Take the 2026 Go Developer Survey

libgorion

package module
v0.1.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 27, 2019 License: MIT Imports: 7 Imported by: 3

README

libgorion

Build Status codecov Go Report Card

Small library for access control system NVP Bolid "Orion Pro"

Features

All features available from Datastore interface

AddWorker(string) error
DeleteWorker(string) error
DisableWorkerCard(string) error
EnableWorkerCard(string) error
Company() ([]*Company, error)
Doors() ([]*Door, error)
Workers(string) ([]*Worker, error)
Events(string, string, string, uint, bool) ([]*Event, error)
EventsValues() ([]*Event, error)
EventsTail(time.Duration, string) error
WorkedTime(string, string, string, string) ([]*Event, error)

Examples

Set environment variable BOLID_DSN

export BOLID_DSN="server=127.0.0.1;user id=username;password=passwd;database=base"
  • companies list
package main

import (
    "fmt"
    "os"

    "github.com/jezman/libgorion"
    _ "github.com/denisenkom/go-mssqldb"
)

func main() {
    dsn := os.Getenv("BOLID_DSN")
    db, err := libgorion.OpenDB(dsn)
    if err != nil {
        panic(err)
    }
    defer db.Close()

    companies, err := db.Company()
    if err != nil {
        fmt.Println(err)
    }

    for num, company := range companies {
        fmt.Println(num, company.Name, company.WorkersCount)
    }
}

More examples

  • gorion based on this library

License

MIT © 2018 jezman

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ColorizedDenied

func ColorizedDenied(event string) string

ColorizedDenied events

Types

type Company

type Company struct {
	Name         string
	WorkersCount uint
}

Company model

type Database

type Database struct {
	*sql.DB
}

Database structure used as receiver in methods

func OpenDB

func OpenDB(dsn string) (*Database, error)

OpenDB opening connecting to server return pointer to struct DB and error

func (*Database) AddWorker

func (db *Database) AddWorker(name string) (err error)

AddWorker to ACS

func (*Database) Company

func (db *Database) Company() ([]*Company, error)

Company get all comanies from Database return pionter to Company struct and error

func (*Database) DeleteWorker

func (db *Database) DeleteWorker(name string) error

DeleteWorker from ACS Database

func (*Database) DisableWorkerCard

func (db *Database) DisableWorkerCard(name string) error

DisableWorkerCard by worker full name.

func (*Database) Doors

func (db *Database) Doors() ([]*Door, error)

Doors get all doors and IDs from Database return pionter to Door struct and error

func (*Database) EnableWorkerCard

func (db *Database) EnableWorkerCard(name string) error

EnableWorkerCard by worker full name.

func (*Database) Events

func (db *Database) Events(firstDate, lastDate, worker string, door uint, denied bool) ([]*Event, error)

Events gets the list of events for the time period return pointer to Event struct and error

func (*Database) EventsTail

func (db *Database) EventsTail(interval time.Duration, worker string) error

EventsTail puts tail events to STDOUT.

func (*Database) EventsValues

func (db *Database) EventsValues() ([]*Event, error)

EventsValues return pointer to Event struct and error

func (*Database) WorkedTime

func (db *Database) WorkedTime(firstDate, lastDate, worker, company string) ([]*Event, error)

WorkedTime gets the list of workers and calculates their worked time return pointer to Event struct and error

func (*Database) Workers

func (db *Database) Workers(companyName string) ([]*Worker, error)

Workers get all workers from Database return pionter to Worker struct and error

type Datastore

type Datastore interface {
	AddWorker(string) error
	DeleteWorker(string) error
	DisableWorkerCard(string) error
	EnableWorkerCard(string) error
	Company() ([]*Company, error)
	Doors() ([]*Door, error)
	Workers(string) ([]*Worker, error)
	Events(string, string, string, uint, bool) ([]*Event, error)
	EventsValues() ([]*Event, error)
	EventsTail(time.Duration, string) error
	WorkedTime(string, string, string, string) ([]*Event, error)
}

Datastore methods

type Door

type Door struct {
	ID   int
	Name string
}

Door model

type Event

type Event struct {
	Worker      Worker
	FirstTime   time.Time
	LastTime    time.Time
	Company     Company
	Door        Door
	Action      string
	Description string
	ID          string
	WorkedTime  time.Duration
}

Event model

type Worker

type Worker struct {
	FirstName string
	LastName  string
	MidName   string
	FullName  string
	Company   Company
}

Worker model

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL