lynx

package module
v0.0.0-...-92caf52 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2024 License: LGPL-3.0 Imports: 17 Imported by: 0

README

Go-Lynx

A client library for Lynx.

Licence

See LICENSE

Documentation

Index

Constants

View Source
const (
	LogOrderDesc = LogOrder("desc")
	LogOrderAsc  = LogOrder("asc")
)
View Source
const (
	TraceObjectTypeNone                      = TraceObjectType("")
	TraceObjectTypeInstallation              = TraceObjectType("installation")
	TraceObjectTypeGateway                   = TraceObjectType("gateway")
	TraceObjectTypeOrganization              = TraceObjectType("organization")
	TraceObjectTypeUser                      = TraceObjectType("user")
	TraceObjectTypeDevice                    = TraceObjectType("device")
	TraceObjectTypeFunction                  = TraceObjectType("function")
	TraceObjectTypeSchedule                  = TraceObjectType("schedule")
	TraceObjectTypeNotificationOutput        = TraceObjectType("notification_output")
	TraceObjectTypeNotificationMessage       = TraceObjectType("notification_message")
	TraceObjectTypeOutputExecutor            = TraceObjectType("output_executor")
	TraceObjectTypeEdgeApp                   = TraceObjectType("edge_app")
	TraceObjectTypeEdgeAppInstance           = TraceObjectType("edge_app_instance")
	TraceObjectTypeFile                      = TraceObjectType("file")
	TraceObjectTypeRole                      = TraceObjectType("role")
	TraceObjectTypeGatewayRegistrationPolicy = TraceObjectType("gateway_registration_policy")
	TraceObjectTypeUserRegistrationPolicy    = TraceObjectType("user_registration_policy")
	TraceObjectTypeMQTT                      = TraceObjectType("mqtt")
	TraceObjectTypeTrace                     = TraceObjectType("trace")
)
View Source
const (
	TraceActionCreate  = TraceAction("create")
	TraceActionDelete  = TraceAction("delete")
	TraceActionUpdate  = TraceAction("update")
	TraceActionView    = TraceAction("view")
	TraceActionFailed  = TraceAction("failed")
	TraceActionExecute = TraceAction("execute")
	TraceActionAuth    = TraceAction("auth")
)

Variables

This section is empty.

Functions

func NewMqttOptions

func NewMqttOptions(conf *viper.Viper, onConnect mqtt.OnConnectHandler, onLost mqtt.ConnectionLostHandler) *mqtt.ClientOptions

NewMqttOptions returns default mqtt configuration conf is a subset of a viper config which can include: broker, the MQTT broker URI client_id, id to be used by the client connection_log, boolean value for enabling/disabling connection logging

Types

type Address

type Address struct {
	Address string `json:"address"`
	City    string `json:"city"`
	Country string `json:"country"`
	ZIP     string `json:"zip"`
}

type AuthApiKey

type AuthApiKey struct {
	Key string
}

func (AuthApiKey) SetHTTPAuth

func (a AuthApiKey) SetHTTPAuth(r *http.Request)

func (AuthApiKey) SetMQTTAuth

func (a AuthApiKey) SetMQTTAuth(o *mqtt.ClientOptions)

type AuthBearer

type AuthBearer struct {
	Token string
}

func (AuthBearer) SetHTTPAuth

func (a AuthBearer) SetHTTPAuth(r *http.Request)

func (AuthBearer) SetMQTTAuth

func (a AuthBearer) SetMQTTAuth(o *mqtt.ClientOptions)

type AuthNone

type AuthNone struct{}

func (AuthNone) SetHTTPAuth

func (a AuthNone) SetHTTPAuth(r *http.Request)

func (AuthNone) SetMQTTAuth

func (a AuthNone) SetMQTTAuth(o *mqtt.ClientOptions)

type Authentication

type Authentication interface {
	SetHTTPAuth(r *http.Request)
	SetMQTTAuth(o *mqtt.ClientOptions)
}

type Basic

type Basic struct {
	User     string
	Password string
}

func (Basic) SetHTTPAuth

func (b Basic) SetHTTPAuth(r *http.Request)

func (Basic) SetMQTTAuth

func (b Basic) SetMQTTAuth(o *mqtt.ClientOptions)

type Client

type Client struct {
	Mqtt mqtt.Client
	// contains filtered or unexported fields
}

Client is the main client for Lynx integration

func NewClient

func NewClient(options *Options) *Client

NewClient create a new client for V2 API:s with specified options

func (*Client) CreateDevice

func (c *Client) CreateDevice(dev *Device) (*Device, error)

func (*Client) CreateDeviceMeta

func (c *Client) CreateDeviceMeta(installationID, deviceID int64, key string, meta MetaObject, silent bool) (*MetaObject, error)

func (*Client) CreateEdgeApp

func (c *Client) CreateEdgeApp(app *EdgeApp) (*EdgeApp, error)

func (*Client) CreateEdgeAppInstance

func (c *Client) CreateEdgeAppInstance(config *EdgeAppConfig) (*EdgeAppConfig, error)

func (*Client) CreateEdgeAppVersion

func (c *Client) CreateEdgeAppVersion(appID int64, luaFile, jsonFile io.Reader) (string, error)

func (*Client) CreateFileInstallation

func (c *Client) CreateFileInstallation(installationID int64, fileName, mime string, r io.Reader) (*File, error)

func (*Client) CreateFileOrganization

func (c *Client) CreateFileOrganization(organizationID int64, fileName, mime string, r io.Reader) (*File, error)

func (*Client) CreateFunction

func (c *Client) CreateFunction(fn *Function) (*Function, error)

func (*Client) CreateFunctionMeta

func (c *Client) CreateFunctionMeta(installationID, functionID int64, key string, meta MetaObject, silent bool) (*MetaObject, error)

func (*Client) CreateInstallationMeta

func (c *Client) CreateInstallationMeta(installationID int64, key string, meta MetaObject, silent bool) (*MetaObject, error)

func (*Client) CreateNotificationMessage

func (c *Client) CreateNotificationMessage(installationID int64, message *NotificationMessage) (*NotificationMessage, error)

func (*Client) CreateNotificationOutput

func (c *Client) CreateNotificationOutput(output *NotificationOutput) (*NotificationOutput, error)

func (*Client) CreateOrganization

func (c *Client) CreateOrganization(org *Organization) (*Organization, error)

func (*Client) CreateOrganizationMeta

func (c *Client) CreateOrganizationMeta(organizationID int64, key string, meta MetaObject, silent bool) (*MetaObject, error)

func (*Client) CreateSchedule

func (c *Client) CreateSchedule(s *Schedule) (*Schedule, error)

func (*Client) CreateUserMeta

func (c *Client) CreateUserMeta(userID int64, key string, meta MetaObject, silent bool) (*MetaObject, error)

func (*Client) DeleteDevice

func (c *Client) DeleteDevice(dev *Device) error

func (*Client) DeleteDeviceMeta

func (c *Client) DeleteDeviceMeta(installationID, deviceID int64, key string, silent bool) error

func (*Client) DeleteEdgeAppInstance

func (c *Client) DeleteEdgeAppInstance(config *EdgeAppConfig) error

func (*Client) DeleteFileInstallation

func (c *Client) DeleteFileInstallation(installationID, fileID int64) error

func (*Client) DeleteFileOrganization

func (c *Client) DeleteFileOrganization(organizationID, fileID int64) error

func (*Client) DeleteFunction

func (c *Client) DeleteFunction(fn *Function) error

func (*Client) DeleteFunctionMeta

func (c *Client) DeleteFunctionMeta(installationID, functionID int64, key string, silent bool) error

func (*Client) DeleteInstallationMeta

func (c *Client) DeleteInstallationMeta(installationID int64, key string, silent bool) error

func (*Client) DeleteNotificationMessage

func (c *Client) DeleteNotificationMessage(installationID int64, message *NotificationMessage) error

func (*Client) DeleteNotificationOutput

func (c *Client) DeleteNotificationOutput(output *NotificationOutput) error

func (*Client) DeleteOrganization

func (c *Client) DeleteOrganization(org *Organization, force bool) error

func (*Client) DeleteOrganizationMeta

func (c *Client) DeleteOrganizationMeta(organizationID int64, key string, silent bool) error

func (*Client) DeleteSchedule

func (c *Client) DeleteSchedule(s *Schedule) error

func (*Client) DeleteUserMeta

func (c *Client) DeleteUserMeta(userID int64, key string, silent bool) error

func (*Client) DownloadEdgeApp

func (c *Client) DownloadEdgeApp(id int64, version string) ([]byte, error)

func (*Client) DownloadFile

func (c *Client) DownloadFile(hash string) (io.ReadCloser, error)

func (*Client) ForcePasswordReset

func (c *Client) ForcePasswordReset(organizationID int64) error

func (*Client) GetConfiguredEdgeApps

func (c *Client) GetConfiguredEdgeApps(installationID int64) ([]*EdgeAppConfig, error)

func (*Client) GetDevice

func (c *Client) GetDevice(installationID, deviceID int64) (*Device, error)

func (*Client) GetDeviceMeta

func (c *Client) GetDeviceMeta(installationID, deviceID int64, key string) (*MetaObject, error)

func (*Client) GetDevices

func (c *Client) GetDevices(installationID int64, filter Filter) (DeviceList, error)

func (*Client) GetEdgeApp

func (c *Client) GetEdgeApp(id int64) (*EdgeApp, error)

func (*Client) GetEdgeAppConfigOptions

func (c *Client) GetEdgeAppConfigOptions(appID int64, version string) (json.RawMessage, error)

func (*Client) GetEdgeAppInstance

func (c *Client) GetEdgeAppInstance(InstallationID, instanceID int64) (*EdgeAppConfig, error)

func (*Client) GetEdgeAppVersions

func (c *Client) GetEdgeAppVersions(appID int64, untagged bool) ([]*EdgeAppVersion, error)

func (*Client) GetEdgeApps

func (c *Client) GetEdgeApps() ([]*EdgeApp, error)

func (*Client) GetEdgeAppsOrganization

func (c *Client) GetEdgeAppsOrganization(organizationID int64, available bool) ([]*EdgeApp, error)

func (*Client) GetFileInstallation

func (c *Client) GetFileInstallation(installationID int64, fileID int64) (*File, error)

func (*Client) GetFileOrganization

func (c *Client) GetFileOrganization(organizationID int64, fileID int64) (*File, error)

func (*Client) GetFilesInstallation

func (c *Client) GetFilesInstallation(installationID int64) ([]*File, error)

func (*Client) GetFilesOrganization

func (c *Client) GetFilesOrganization(organizationID int64) ([]*File, error)

func (*Client) GetFunction

func (c *Client) GetFunction(installationID, functionID int64) (*Function, error)

func (*Client) GetFunctionMeta

func (c *Client) GetFunctionMeta(installationID, functionID int64, key string) (*MetaObject, error)

func (*Client) GetFunctions

func (c *Client) GetFunctions(installationID int64, filter Filter) (FunctionList, error)

func (*Client) GetInstallation

func (c *Client) GetInstallation(installationID int64) (*Installation, error)

func (*Client) GetInstallationByClientID

func (c *Client) GetInstallationByClientID(clientID int64, assignedOnly bool) (*Installation, error)

func (*Client) GetInstallationMeta

func (c *Client) GetInstallationMeta(installationID int64, key string) (*MetaObject, error)

func (*Client) GetInstallationRow

func (c *Client) GetInstallationRow(installationID int64) (*InstallationRow, error)

func (*Client) GetInstallations

func (c *Client) GetInstallations(assignedOnly bool) ([]*Installation, error)

func (*Client) GetNotificationMessage

func (c *Client) GetNotificationMessage(installationID, messageID int64) (*NotificationMessage, error)

func (*Client) GetNotificationMessages

func (c *Client) GetNotificationMessages(installationID int64) ([]*NotificationMessage, error)

func (*Client) GetNotificationOutput

func (c *Client) GetNotificationOutput(installationID, outputID int64) (*NotificationOutput, error)

func (*Client) GetNotificationOutputExecutor

func (c *Client) GetNotificationOutputExecutor(installationID, executorID int64) (*NotificationOutputExecutor, error)

func (*Client) GetNotificationOutputExecutors

func (c *Client) GetNotificationOutputExecutors(installationID int64) ([]*NotificationOutputExecutor, error)

func (*Client) GetNotificationOutputs

func (c *Client) GetNotificationOutputs(installationID int64) ([]*NotificationOutput, error)

func (*Client) GetOrganization

func (c *Client) GetOrganization(organizationID int64) (*Organization, error)

func (*Client) GetOrganizationMeta

func (c *Client) GetOrganizationMeta(organizationID int64, key string) (*MetaObject, error)

func (*Client) GetSchedule

func (c *Client) GetSchedule(installationID, scheduleID int64) (*Schedule, error)

func (*Client) GetSchedules

func (c *Client) GetSchedules(installationID int64, executor string) ([]*Schedule, error)

func (*Client) GetTraces

func (c *Client) GetTraces(opts *TraceOptions) (*TracePage, error)

func (*Client) GetUserMeta

func (c *Client) GetUserMeta(userID int64, key string) (*MetaObject, error)

func (*Client) GetUsers

func (c *Client) GetUsers(filter Filter) ([]*User, error)

func (*Client) ListInstallations

func (c *Client) ListInstallations(filter Filter) ([]*InstallationRow, error)

func (*Client) ListOrganization

func (c *Client) ListOrganization(minimal bool, filter Filter) ([]*Organization, error)

func (*Client) MQTTConnect

func (c *Client) MQTTConnect() error

func (*Client) MQTTDisconnect

func (c *Client) MQTTDisconnect()

func (*Client) Me

func (c *Client) Me() (*User, error)

func (*Client) NameEdgeAppVersion

func (c *Client) NameEdgeAppVersion(appID int64, version *EdgeAppVersion) (*EdgeAppVersion, error)

func (*Client) Ping

func (c *Client) Ping() error

Ping verify that the api is responding

func (*Client) Publish

func (c *Client) Publish(topic string, payload interface{}, qos byte) error

func (*Client) SendNotification

func (c *Client) SendNotification(installationID, outputID int64, data interface{}) error

func (*Client) Status

func (c *Client) Status(installationID int64, topicFilter []string) (Status, error)

func (*Client) UpdateDevice

func (c *Client) UpdateDevice(dev *Device) (*Device, error)

func (*Client) UpdateDeviceMeta

func (c *Client) UpdateDeviceMeta(installationID, deviceID int64, key string, meta MetaObject, silent, createMissing bool) (*MetaObject, error)

func (*Client) UpdateEdgeAppInstance

func (c *Client) UpdateEdgeAppInstance(config *EdgeAppConfig) (*EdgeAppConfig, error)

func (*Client) UpdateFileInstallation

func (c *Client) UpdateFileInstallation(installationID, fileID int64, fileName, mime string, r io.Reader) (*File, error)

func (*Client) UpdateFileOrganization

func (c *Client) UpdateFileOrganization(organizationID, fileID int64, fileName, mime string, r io.Reader) (*File, error)

func (*Client) UpdateFunction

func (c *Client) UpdateFunction(fn *Function) (*Function, error)

func (*Client) UpdateFunctionMeta

func (c *Client) UpdateFunctionMeta(installationID, functionID int64, key string, meta MetaObject, silent, createMissing bool) (*MetaObject, error)

func (*Client) UpdateInstallation

func (c *Client) UpdateInstallation(i *InstallationRow) (*InstallationRow, error)

func (*Client) UpdateInstallationMeta

func (c *Client) UpdateInstallationMeta(installationID int64, key string, meta MetaObject, silent, createMissing bool) (*MetaObject, error)

func (*Client) UpdateMe

func (c *Client) UpdateMe(u *User) (*User, error)

func (*Client) UpdateNotificationMessage

func (c *Client) UpdateNotificationMessage(installationID int64, message *NotificationMessage) (*NotificationMessage, error)

func (*Client) UpdateNotificationOutput

func (c *Client) UpdateNotificationOutput(output *NotificationOutput) (*NotificationOutput, error)

func (*Client) UpdateOrganization

func (c *Client) UpdateOrganization(org *Organization) (*Organization, error)

func (*Client) UpdateOrganizationMeta

func (c *Client) UpdateOrganizationMeta(organizationID int64, key string, meta MetaObject, silent, createMissing bool) (*MetaObject, error)

func (*Client) UpdateSchedule

func (c *Client) UpdateSchedule(s *Schedule) (*Schedule, error)

func (*Client) UpdateUser

func (c *Client) UpdateUser(u *User) (*User, error)

func (*Client) UpdateUserMeta

func (c *Client) UpdateUserMeta(userID int64, key string, meta MetaObject, silent, createMissing bool) (*MetaObject, error)

func (*Client) V3

func (c *Client) V3() *V3Client

V3 Returns the V3 client

type Device

type Device struct {
	ID             int64  `json:"id"`
	Type           string `json:"type"`
	InstallationID int64  `json:"installation_id"`
	Meta           Meta   `json:"meta"`
	ProtectedMeta  Meta   `json:"protected_meta"`
	Created        int64  `json:"created"`
	Updated        int64  `json:"updated"`
}

type DeviceList

type DeviceList []*Device

func (DeviceList) MapBy

func (d DeviceList) MapBy(key string) map[string]*Device

func (DeviceList) MapByID

func (d DeviceList) MapByID() map[int64]*Device

func (DeviceList) MapByList

func (d DeviceList) MapByList(key string) map[string]DeviceList

type EdgeApp

type EdgeApp struct {
	ID               int64      `json:"id"`
	Name             string     `json:"name"`
	Category         string     `json:"category"`
	Tags             []string   `json:"tags"`
	ShortDescription string     `json:"short_description"`
	Description      string     `json:"description"`
	Publisher        *Publisher `json:"publisher,omitempty"`
	Official         bool       `json:"official"`
	Public           bool       `json:"public"`
	SourceURL        string     `json:"source_url"`
	Created          int64      `json:"created"`
	Updated          int64      `json:"updated"`
}

type EdgeAppConfig

type EdgeAppConfig struct {
	ID             int64                  `json:"id"`
	AppID          int64                  `json:"app_id"`
	InstallationID int64                  `json:"installation_id"`
	Version        string                 `json:"version"`
	Config         map[string]interface{} `json:"config"`
	Name           string                 `json:"name"`
	Created        int64                  `json:"created"`
	Updated        int64                  `json:"updated"`
}

type EdgeAppVersion

type EdgeAppVersion struct {
	Name string `json:"name"`
	Hash string `json:"hash"`
}

type Error

type Error struct {
	Code    int    `json:"-"`
	Message string `json:"message"`
}

func (Error) Error

func (e Error) Error() string

type File

type File struct {
	ID             int64  `json:"id"`
	Hash           string `json:"hash"`
	Name           string `json:"name"`
	MIME           string `json:"mime"`
	InstallationID int64  `json:"installation_id"`
	OrganizationID int64  `json:"organization_id"`
	Created        int64  `json:"created"`
	Updated        int64  `json:"updated"`
}

type Filter

type Filter map[string]string

func (Filter) ToURLValues

func (f Filter) ToURLValues() url.Values

type Function

type Function struct {
	ID             int64  `json:"id"`
	Type           string `json:"type"`
	InstallationID int64  `json:"installation_id"`
	Meta           Meta   `json:"meta"`
	ProtectedMeta  Meta   `json:"protected_meta"`
	Created        int64  `json:"created"`
	Updated        int64  `json:"updated"`
}

type FunctionList

type FunctionList []*Function

func (FunctionList) MapBy

func (f FunctionList) MapBy(key string) map[string]*Function

func (FunctionList) MapByID

func (f FunctionList) MapByID() map[int64]*Function

func (FunctionList) MapByList

func (f FunctionList) MapByList(key string) map[string]FunctionList

type Installation

type Installation struct {
	ID             int64    `json:"id"`
	ClientID       int64    `json:"client_id"`
	Name           string   `json:"name"`
	Timezone       string   `json:"timezone"`
	Capabilities   []string `json:"capabilities"`
	OrganizationID int64    `json:"organization_id"`
	Assigned       bool     `json:"assigned"`
}

type InstallationRow

type InstallationRow struct {
	ID             int64   `json:"id"`
	Name           string  `json:"name"`
	ClientID       int64   `json:"client_id"`
	Created        int64   `json:"created"`
	OrganizationID int64   `json:"organization_id"`
	Notes          string  `json:"notes"`
	Users          []int64 `json:"users"`
	Meta           Meta    `json:"meta"`
	ProtectedMeta  Meta    `json:"protected_meta"`
}

type LogEntry

type LogEntry struct {
	ClientID       int64   `json:"client_id"`
	InstallationID int64   `json:"installation_id"`
	Message        string  `json:"msg"`
	Timestamp      float64 `json:"timestamp"`
	Topic          string  `json:"topic"`
	Value          float64 `json:"value"`
}

type LogOptionsV3

type LogOptionsV3 struct {
	Limit       int64
	Offset      int64
	From        time.Time
	To          time.Time
	Order       LogOrder
	TopicFilter []string
}

type LogOrder

type LogOrder string

type Message

type Message struct {
	Value     float64 `json:"value"`
	Timestamp float64 `json:"timestamp,omitempty"`
	Msg       string  `json:"msg,omitempty"`
}

func (*Message) Time

func (m *Message) Time() time.Time

type Meta

type Meta map[string]string

func (Meta) AsBool

func (m Meta) AsBool(key string) (bool, error)

func (Meta) AsFloat64

func (m Meta) AsFloat64(key string) (float64, error)

func (Meta) AsInt

func (m Meta) AsInt(key string) (int, error)

func (Meta) AsInt16

func (m Meta) AsInt16(key string) (int16, error)

func (Meta) AsInt32

func (m Meta) AsInt32(key string) (int32, error)

func (Meta) AsInt64

func (m Meta) AsInt64(key string) (int64, error)

func (Meta) AsInt8

func (m Meta) AsInt8(key string) (int8, error)

func (Meta) AsUint

func (m Meta) AsUint(key string) (uint, error)

func (Meta) AsUint16

func (m Meta) AsUint16(key string) (uint16, error)

func (Meta) AsUint32

func (m Meta) AsUint32(key string) (uint32, error)

func (Meta) AsUint64

func (m Meta) AsUint64(key string) (uint64, error)

func (Meta) AsUint8

func (m Meta) AsUint8(key string) (uint8, error)

type MetaObject

type MetaObject struct {
	Value     string
	Protected bool
}

type NotificationExecutorPayload

type NotificationExecutorPayload struct {
	Message        string            `json:"message"`
	OutputConfig   map[string]string `json:"output_config"`
	ExecutorConfig map[string]string `json:"executor_config"`
	Organization   Organization      `json:"organization"`
	Installation   Installation      `json:"installation"`
	Payload        map[string]any    `json:"payload"`
}

type NotificationMessage

type NotificationMessage struct {
	ID   int64  `json:"id"`
	Name string `json:"name"`
	Text string `json:"text"`
}

type NotificationOutput

type NotificationOutput struct {
	ID                           int64             `json:"id"`
	Name                         string            `json:"name"`
	InstallationID               int64             `json:"installation_id"`
	NotificationOutputExecutorID int64             `json:"notification_output_executor_id"`
	NotificationMessageID        int64             `json:"notification_message_id"`
	Config                       map[string]string `json:"config"`
}

type NotificationOutputExecutor

type NotificationOutputExecutor struct {
	ID             int64             `json:"id"`
	Type           string            `json:"type"`
	Name           string            `json:"name"`
	OrganizationID int64             `json:"organization_id"`
	Config         map[string]string `json:"config"`
	Secret         string            `json:"secret"`
}

type Options

type Options struct {
	Authenticator Authentication
	APIBase       string
	MqttOptions   *mqtt.ClientOptions
	HTTPClient    *http.Client
}

Options is connection options for the client

type Organization

type Organization struct {
	ID            int64                `json:"id"`
	Name          string               `json:"name"`
	Address       Address              `json:"address"`
	Email         string               `json:"email"`
	Phone         string               `json:"phone"`
	ForceSMSLogin bool                 `json:"force_sms_login"`
	Parent        int64                `json:"parent"`
	Children      []*OrganizationChild `json:"children"`
	Notes         string               `json:"notes"`
	Meta          Meta                 `json:"meta"`
	ProtectedMeta Meta                 `json:"protected_meta"`
}

type OrganizationChild

type OrganizationChild struct {
	Name string `json:"name"`
	ID   int64  `json:"id"`
}

type OrganizationList

type OrganizationList []*Organization

func (OrganizationList) MapByID

func (ol OrganizationList) MapByID() map[int64]*Organization

type Publisher

type Publisher struct {
	ID   int64      `json:"id"`
	Name string     `json:"name"`
	Apps []*EdgeApp `json:"apps,omitempty"`
}

type Schedule

type Schedule struct {
	ID             int64   `json:"id"`
	InstallationID int64   `json:"installation_id"`
	Executor       string  `json:"executor"`
	Active         bool    `json:"active"`
	DayOfWeek      string  `json:"day_of_week"`
	DayOfMonth     string  `json:"day_of_month"`
	Month          string  `json:"month"`
	Hour           string  `json:"hour"`
	Minute         string  `json:"minute"`
	Topic          string  `json:"topic"`
	Value          float64 `json:"value"`
	Created        int64   `json:"created_at"`
	Updated        int64   `json:"updated_at"`
}

type Status

type Status []*LogEntry

func (Status) Map

func (s Status) Map() map[string]*LogEntry

type TraceAction

type TraceAction string

type TraceEntry

type TraceEntry struct {
	ID          string          `json:"id"`
	Path        string          `json:"path"`
	Method      string          `json:"method"`
	Timestamp   float64         `json:"timestamp"`
	UserID      int64           `json:"user_id"`
	Action      TraceAction     `json:"action"`
	ObjectType  TraceObjectType `json:"object_type"`
	ObjectID    int64           `json:"object_id"`
	Description string          `json:"description"`
}

type TraceObjectType

type TraceObjectType string

type TraceOptions

type TraceOptions struct {
	Limit      int64
	Offset     int64
	From       time.Time
	To         time.Time
	Order      LogOrder
	ObjectType TraceObjectType
	ObjectID   int64
	ID         string
	Action     TraceAction
}

type TracePage

type TracePage struct {
	Total    int64        `json:"total"`
	LastTime float64      `json:"last"`
	Count    int          `json:"count"`
	Data     []TraceEntry `json:"data"`
}

type User

type User struct {
	ID            int64   `json:"id"`
	Email         string  `json:"email"`
	FirstName     string  `json:"first_name"`
	LastName      string  `json:"last_name"`
	Role          int64   `json:"role"`
	SmsLogin      bool    `json:"sms_login"`
	Address       Address `json:"address"`
	Mobile        string  `json:"mobile"`
	Organizations []int64 `json:"organisations"`
	Meta          Meta    `json:"meta"`
	ProtectedMeta Meta    `json:"protected_meta"`
}

type V3Client

type V3Client struct {
	// contains filtered or unexported fields
}

V3Client is a client implementing the V3 endpoints

func (*V3Client) Log

func (c *V3Client) Log(installationID int64, opts *LogOptionsV3) (*V3Log, error)

Log returns log entries in the V3 format. If opts is nil some default values will be used.

type V3Log

type V3Log struct {
	Total    int64      `json:"total"`
	LastTime float64    `json:"last"`
	Count    int        `json:"count"`
	Data     []LogEntry `json:"data"`
}

Jump to

Keyboard shortcuts

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