schema

package
v0.8.10 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const SystemCardEndDate = ".1.2"
View Source
const SystemCardStartDate = ".1.1"

Variables

This section is empty.

Functions

This section is empty.

Types

type Cards

type Cards struct {
	OID OID `json:"OID"`
	Metadata
	Name   Suffix `json:"name"`
	Card   Suffix `json:"card"`
	PIN    Suffix `json:"PIN"`
	From   Suffix `json:"from"`
	To     Suffix `json:"to"`
	Groups Suffix `json:"groups"`
}

type Controllers

type Controllers struct {
	OID OID `json:"OID"`
	Metadata
	Name     Suffix `json:"name"`
	DeviceID Suffix `json:"deviceID"`
	Endpoint struct {
		Status     Suffix `json:"status"`
		Address    Suffix `json:"address"`
		Protocol   Suffix `json:"protocol"`
		Configured Suffix `json:"configured"`
	} `json:"endpoint"`
	DateTime struct {
		Status     Suffix `json:"status"`
		Current    Suffix `json:"datetime"`
		Configured Suffix `json:"configured"`
		Modified   Suffix `json:"modified"`
	} `json:"datetime"`
	Cards struct {
		Status Suffix `json:"status"`
		Count  Suffix `json:"count"`
	} `json:"cards"`
	Events struct {
		Status  Suffix `json:"status"`
		First   Suffix `json:"first"`
		Last    Suffix `json:"last"`
		Current Suffix `json:"current"`
	} `json:"events"`
	Doors struct {
		Door1 Suffix `json:"1"`
		Door2 Suffix `json:"2"`
		Door3 Suffix `json:"3"`
		Door4 Suffix `json:"4"`
	} `json:"doors"`
	Interlock Suffix `json:"interlock"`
}

type Doors

type Doors struct {
	OID OID `json:"OID"`
	Metadata
	Name  Suffix `json:"name"`
	Delay struct {
		Delay      Suffix `json:"delay"`
		Status     Suffix `json:"status"`
		Configured Suffix `json:"configured"`
		Error      Suffix `json:"error"`
		Modified   Suffix `json:"modified"`
	} `json:"delay"`
	Control struct {
		Control    Suffix `json:"control"`
		Status     Suffix `json:"status"`
		Configured Suffix `json:"configured"`
		Error      Suffix `json:"error"`
		Modified   Suffix `json:"modified"`
	} `json:"control"`
	Keypad    Suffix `json:"keypad"`
	Passcodes Suffix `json:"passcodes"`
}

type Events

type Events struct {
	OID OID `json:"OID"`
	Metadata
	Status Suffix `json:"status"`
	First  Suffix `json:"first"`
	Last   Suffix `json:"last"`

	Timestamp  Suffix `json:"timestamp"`
	DeviceID   Suffix `json:"device-id"`
	Index      Suffix `json:"index"`
	Type       Suffix `json:"type"`
	Door       Suffix `json:"door"`
	Direction  Suffix `json:"direction"`
	Card       Suffix `json:"card"`
	Granted    Suffix `json:"granted"`
	Reason     Suffix `json:"reason"`
	DeviceName Suffix `json:"device-name"`
	DoorName   Suffix `json:"door-name"`
	CardName   Suffix `json:"card-name"`
}

type Groups

type Groups struct {
	OID OID `json:"OID"`
	Metadata
	Name  Suffix `json:"name"`
	Doors Suffix `json:"doors"`
}

type Interfaces

type Interfaces struct {
	OID OID `json:"OID"`
	Metadata
	Name      Suffix `json:"name"`
	ID        Suffix `json:"ID"`
	Bind      Suffix `json:"bind"`
	Broadcast Suffix `json:"broadcast"`
	Listen    Suffix `json:"listen"`
}

type Logs

type Logs struct {
	OID OID `json:"OID"`
	Metadata
	First Suffix `json:"first"`
	Last  Suffix `json:"last"`

	Timestamp Suffix `json:"timestamp"`
	UID       Suffix `json:"uid"`
	Item      Suffix `json:"item"`
	ItemID    Suffix `json:"item-id"`
	ItemName  Suffix `json:"item-name"`
	Field     Suffix `json:"field"`
	Details   Suffix `json:"details"`
}

type Metadata

type Metadata struct {
	Status   Suffix `json:"status"`
	Created  Suffix `json:"created"`
	Deleted  Suffix `json:"deleted"`
	Modified Suffix `json:"modified"`
	Type     Suffix `json:"type"`
	Touched  Suffix `json:"touched"`
}

type OID

type OID string
const CardsOID OID = "0.4"
const ControllersOID OID = "0.2"
const DoorsOID OID = "0.3"
const EventsOID OID = "0.6"
const GroupsOID OID = "0.5"
const InterfacesOID OID = "0.1"
const LogsOID OID = "0.7"
const SystemOID OID = "0.0"
const UsersOID OID = "0.8"

func (OID) Append

func (oid OID) Append(suffix Suffix) OID

func (OID) AppendS

func (oid OID) AppendS(suffix string) OID

func (OID) Contains

func (oid OID) Contains(o OID) bool

func (OID) HasPrefix

func (oid OID) HasPrefix(o OID) bool

func (OID) HasSuffix

func (oid OID) HasSuffix(suffix Suffix) bool

func (OID) MarshalJSON

func (oid OID) MarshalJSON() ([]byte, error)

func (OID) Trim

func (oid OID) Trim(suffix Suffix) OID

func (*OID) UnmarshalJSON

func (oid *OID) UnmarshalJSON(bytes []byte) error

type Object

type Object struct {
	OID   OID
	Value any
}

func (Object) MarshalJSON

func (o Object) MarshalJSON() ([]byte, error)

func (*Object) UnmarshalJSON

func (o *Object) UnmarshalJSON(b []byte) error

type Schema

type Schema struct {
	System      System      `json:"system"`
	Interfaces  Interfaces  `json:"interfaces"`
	Controllers Controllers `json:"controllers"`
	Doors       Doors       `json:"doors"`
	Cards       Cards       `json:"cards"`
	Groups      Groups      `json:"groups"`
	Events      Events      `json:"events"`
	Logs        Logs        `json:"logs"`
	Users       Users       `json:"users"`
}

func GetSchema

func GetSchema() Schema

type Suffix

type Suffix string
const CardFrom Suffix = ".3"
const CardGroups Suffix = ".5"
const CardName Suffix = ".1"
const CardNumber Suffix = ".2"
const CardPIN Suffix = ".6"
const CardTo Suffix = ".4"
const ControllerCardsCount Suffix = ".5.1"
const ControllerCardsStatus Suffix = ".5.0"
const ControllerDateTime Suffix = ".4" // FIXME Fix when rationalizing the whole date/time/timezone mess
const ControllerDateTimeConfigured Suffix = ".4.2"
const ControllerDateTimeCurrent Suffix = ".4.1"
const ControllerDateTimeModified Suffix = ".4.3"
const ControllerDateTimeStatus Suffix = ".4.0"
const ControllerDeviceID Suffix = ".2"
const ControllerDoor1 Suffix = ".7.1"
const ControllerDoor2 Suffix = ".7.2"
const ControllerDoor3 Suffix = ".7.3"
const ControllerDoor4 Suffix = ".7.4"
const ControllerEndpoint Suffix = ".3"
const ControllerEndpointAddress Suffix = ".3.1"
const ControllerEndpointConfigured Suffix = ".3.2"
const ControllerEndpointProtocol Suffix = ".3.3"
const ControllerEndpointStatus Suffix = ".3.0"
const ControllerEventsCurrent Suffix = ".6.3"
const ControllerEventsFirst Suffix = ".6.1"
const ControllerEventsLast Suffix = ".6.2"
const ControllerEventsStatus Suffix = ".6.0"
const ControllerInterlock Suffix = ".8"
const ControllerName Suffix = ".1"
const Created Suffix = ".0.1"
const Deleted Suffix = ".0.2"
const DoorControl Suffix = ".3"
const DoorControlConfigured Suffix = ".3.2"
const DoorControlError Suffix = ".3.3"
const DoorControlModified Suffix = ".3.4"
const DoorControlStatus Suffix = ".3.1"
const DoorDelay Suffix = ".2"
const DoorDelayConfigured Suffix = ".2.2"
const DoorDelayError Suffix = ".2.3"
const DoorDelayModified Suffix = ".2.4"
const DoorDelayStatus Suffix = ".2.1"
const DoorKeypad Suffix = ".4"
const DoorName Suffix = ".1"
const DoorPasscodes Suffix = ".5"
const EventCard Suffix = ".7"
const EventCardName Suffix = ".12"
const EventDeviceID Suffix = ".2"
const EventDeviceName Suffix = ".10"
const EventDirection Suffix = ".6"
const EventDoor Suffix = ".5"
const EventDoorName Suffix = ".11"
const EventGranted Suffix = ".8"
const EventIndex Suffix = ".3"
const EventReason Suffix = ".9"
const EventTimestamp Suffix = ".1"
const EventType Suffix = ".4"
const EventsFirst Suffix = ".0.1"
const EventsLast Suffix = ".0.2"
const EventsStatus Suffix = ".0.0"
const GroupDoors Suffix = ".2"
const GroupName Suffix = ".1"
const InterfaceID Suffix = ".2"
const InterfaceName Suffix = ".1"
const LANBindAddress Suffix = ".3.1"
const LANBroadcastAddress Suffix = ".3.2"
const LANListenAddress Suffix = ".3.3"
const LogDetails Suffix = ".7"
const LogField Suffix = ".6"
const LogItem Suffix = ".3"
const LogItemID Suffix = ".4"
const LogItemName Suffix = ".5"
const LogTimestamp Suffix = ".1"
const LogUID Suffix = ".2"
const LogsFirst Suffix = ".0.1"
const LogsLast Suffix = ".0.2"
const Modified Suffix = ".0.3"
const Status Suffix = ".0.0"
const Touched Suffix = ".0.5"
const Type Suffix = ".0.4"
const UserLocked Suffix = ".6"
const UserName Suffix = ".1"
const UserOTP Suffix = ".5"
const UserOTPKey Suffix = ".5.1"
const UserPassword Suffix = ".4"
const UserRole Suffix = ".3"
const UserUID Suffix = ".2"

func (Suffix) Append

func (s Suffix) Append(v string) Suffix

type System added in v0.8.9

type System struct {
	OID OID `json:"OID"`
	Metadata
	DefaultStartDate Suffix `json:"default-card-start-date"`
	DefaultEndDate   Suffix `json:"default-card-end-date"`
}

type Users

type Users struct {
	OID OID `json:"OID"`
	Metadata
	Name     Suffix `json:"name"`
	UID      Suffix `json:"uid"`
	Role     Suffix `json:"role"`
	Password Suffix `json:"password"`
	OTP      Suffix `json:"otp"`
	OTPKey   Suffix `json:"otpkey"`
	Locked   Suffix `json:"locked"`
}

Jump to

Keyboard shortcuts

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