Documentation ¶
Index ¶
- Constants
- func PreviewTemplate(items []*Template, template *TemplateContent) (data string, err error)
- func TemplateGetParents(items Templates, result *Templates, s string)
- type Connection
- type DashboardDeviceStatus
- type DashboardWorkflowStatus
- type Device
- type DeviceAction
- type DeviceState
- type Flow
- type FlowElement
- type FlowElementGraphSettings
- type FlowElementGraphSettingsPosition
- type FlowSubscription
- type FlowZigbee2mqttDevice
- type Image
- type ImageFilterList
- type Log
- type LogQuery
- type Map
- type MapDevice
- type MapDeviceAction
- type MapDeviceState
- type MapElement
- type MapElementGraphSettings
- type MapElementGraphSettingsPosition
- type MapImage
- type MapLayer
- type MapOptions
- type MapText
- type MapZone
- type Message
- type MessageDelivery
- type MessageStatus
- type MessageType
- type NewNotifrMessage
- type Node
- type Permission
- type Prototype
- type RedactorConnector
- type RedactorFlow
- type RedactorGrapSettings
- type RedactorObject
- type Role
- type Script
- type SortMapElement
- type SortMapElementByWeight
- type SortMapLayer
- type SortMapLayersByWeight
- type Template
- type TemplateContent
- type TemplateField
- type TemplateRender
- type TemplateStatus
- type TemplateTree
- type TemplateType
- type Templates
- type User
- type UserHistory
- type UserMeta
- type Validity
- type Variable
- type Version
- type Worker
- type Workflow
- type WorkflowScenario
- type Zigbee2mqtt
- type Zigbee2mqttDevice
Constants ¶
View Source
const ( MessageTypeSMS = MessageType("sms") MessageTypeEmail = MessageType("email") MessageTypeSlack = MessageType("slack") MessageTypeUiNotify = MessageType("ui_notify") MessageTypeTelegramNotify = MessageType("telegram_notify") )
View Source
const ( MessageStatusNew = MessageStatus("new") MessageStatusInProgress = MessageStatus("in_progress") MessageStatusSucceed = MessageStatus("succeed") MessageStatusError = MessageStatus("error") )
View Source
const ( TemplateStatusActive = TemplateStatus("active") TemplateStatusUnactive = TemplateStatus("inactive") TemplateTypeItem = TemplateType("item") TemplateTypeTemplate = TemplateType("template") )
View Source
const HistoryMax = 8
Variables ¶
This section is empty.
Functions ¶
func PreviewTemplate ¶ added in v0.0.17
func PreviewTemplate(items []*Template, template *TemplateContent) (data string, err error)
func TemplateGetParents ¶ added in v0.0.17
Types ¶
type Connection ¶
type Connection struct { Uuid uuid.UUID `json:"uuid"` Name string `json:"name" valid:"MaxSize(254)"` ElementFrom uuid.UUID `json:"element_from" valid:"Required"` ElementTo uuid.UUID `json:"element_to" valid:"Required"` PointFrom int64 `json:"point_from" valid:"Required"` PointTo int64 `json:"point_to" valid:"Required"` Flow *Flow `json:"flow"` FlowId int64 `json:"flow_id" valid:"Required"` Direction string `json:"direction"` GraphSettings json.RawMessage `json:"graph_settings"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
func (*Connection) Valid ¶
func (d *Connection) Valid() (ok bool, errs []*validation.Error)
type DashboardDeviceStatus ¶ added in v0.0.25
type DashboardWorkflowStatus ¶ added in v0.0.25
type Device ¶
type Device struct { Id int64 `json:"id"` Name string `json:"name" valid:"MaxSize(254);Required"` Description string `json:"description" valid:"MaxSize(254)"` Status string `json:"status" valid:"MaxSize(254)"` Device *Device `json:"device"` DeviceId *int64 `json:"device_id"` Node *Node `json:"node"` Type DeviceType `json:"type"` Properties json.RawMessage `json:"properties" valid:"Required"` States []*DeviceState `json:"states"` Actions []*DeviceAction `json:"actions"` Devices []*Device `json:"devices"` IsGroup bool `json:"is_group"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
func (*Device) SetProperties ¶
func (d *Device) SetProperties(properties interface{}) (ok bool, errs []*validation.Error)
func (*Device) SetPropertiesFromMap ¶
type DeviceAction ¶
type DeviceAction struct { Id int64 `json:"id"` Name string `json:"name" valid:"MaxSize(254);Required"` Description string `json:"description"` Device *Device `json:"device"` DeviceId int64 `json:"device_id" valid:"Required"` Script *Script `json:"script"` ScriptId int64 `json:"script_id" valid:"Required"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
func (*DeviceAction) Valid ¶
func (d *DeviceAction) Valid() (ok bool, errs []*validation.Error)
type DeviceState ¶
type DeviceState struct { Id int64 `json:"id"` Description string `json:"description"` SystemName string `json:"system_name" valid:"MaxSize(254);Required"` Device *Device `json:"device"` DeviceId int64 `json:"device_id" valid:"Required"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
func (*DeviceState) Valid ¶
func (d *DeviceState) Valid() (ok bool, errs []*validation.Error)
type Flow ¶
type Flow struct { Id int64 `json:"id"` Name string `json:"name" valid:"MaxSize(254);Required"` Description string `json:"description" valid:"MaxSize(254)"` Status StatusType `json:"status" valid:"Required"` Workflow *Workflow `json:"workflow"` WorkflowId int64 `json:"workflow_id" valid:"Required"` WorkflowScenarioId int64 `json:"workflow_scenario_id" valid:"Required"` Connections []*Connection `json:"connections"` FlowElements []*FlowElement `json:"flow_elements"` Workers []*Worker `json:"workers"` Subscriptions []*FlowSubscription `json:"subscriptions"` Zigbee2mqttDevices []*Zigbee2mqttDevice `json:"zigbee2mqtt_devices"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type FlowElement ¶
type FlowElement struct { Uuid uuid.UUID `json:"uuid"` Name string `json:"name" valid:"MaxSize(254)"` Description string `json:"description"` FlowId int64 `json:"flow_id" valid:"Required"` Script *Script `json:"script"` ScriptId *int64 `json:"script_id"` Status StatusType `json:"status" valid:"Required"` FlowLink *int64 `json:"flow_link"` PrototypeType FlowElementsPrototypeType `json:"prototype_type" valid:"Required"` GraphSettings FlowElementGraphSettings `json:"graph_settings"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
func (*FlowElement) Valid ¶
func (d *FlowElement) Valid() (ok bool, errs []*validation.Error)
type FlowElementGraphSettings ¶
type FlowElementGraphSettings struct {
Position FlowElementGraphSettingsPosition `json:"position"`
}
type FlowSubscription ¶ added in v0.0.21
type FlowZigbee2mqttDevice ¶ added in v0.1.0
type Image ¶
type ImageFilterList ¶
type Log ¶
type Map ¶
type Map struct { Id int64 `json:"id"` Name string `json:"name" valid:"MaxSize(254);Required"` Description string `json:"description" valid:"Required"` Options MapOptions `json:"options"` Layers []*MapLayer `json:"layers"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type MapDevice ¶
type MapDevice struct { Id int64 `json:"id"` SystemName string `json:"system_name" valid:"Required"` Device *Device `json:"device"` DeviceId int64 `json:"device_id" valid:"Required"` Image *Image `json:"image"` ImageId int64 `json:"image_id"` Actions []*MapDeviceAction `json:"actions"` States []*MapDeviceState `json:"states"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type MapDeviceAction ¶
type MapDeviceAction struct { Id int64 `json:"id"` DeviceAction *DeviceAction `json:"device_action"` DeviceActionId int64 `json:"device_action_id" valid:"Required"` MapDeviceId int64 `json:"map_device_id" valid:"Required"` Image *Image `json:"image"` ImageId int64 `json:"image_id" valid:"Required"` Type string `json:"type"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
func (*MapDeviceAction) Valid ¶
func (m *MapDeviceAction) Valid() (ok bool, errs []*validation.Error)
type MapDeviceState ¶
type MapDeviceState struct { Id int64 `json:"id"` DeviceState *DeviceState `json:"device_state"` DeviceStateId int64 `json:"device_state_id" valid:"Required"` MapDeviceId int64 `json:"map_device_id" valid:"Required"` Image *Image `json:"image"` ImageId int64 `json:"image_id" valid:"Required"` Style string `json:"style"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
func (*MapDeviceState) Valid ¶
func (m *MapDeviceState) Valid() (ok bool, errs []*validation.Error)
type MapElement ¶
type MapElement struct { Id int64 `json:"id"` Name string `json:"name" valid:"Required"` Description string `json:"description"` PrototypeId int64 `json:"prototype_id"` PrototypeType PrototypeType `json:"prototype_type"` Prototype Prototype `json:"prototype" valid:"Required"` MapId int64 `json:"map_id" valid:"Required"` LayerId int64 `json:"layer_id" valid:"Required"` GraphSettings MapElementGraphSettings `json:"graph_settings"` Status StatusType `json:"status" valid:"Required"` Weight int64 `json:"weight"` Zone *MapZone `json:"zone"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
func (*MapElement) Valid ¶
func (m *MapElement) Valid() (ok bool, errs []*validation.Error)
type MapElementGraphSettings ¶
type MapElementGraphSettings struct { Width null.Int64 `json:"width"` Height null.Int64 `json:"height"` Position MapElementGraphSettingsPosition `json:"position"` }
type MapImage ¶
type MapLayer ¶
type MapLayer struct { Id int64 `json:"id"` Name string `json:"name" valid:"MaxSize(254);Required"` Description string `json:"description"` Map *Map `json:"map"` MapId int64 `json:"map_id" valid:"Required"` Status string `json:"status" valid:"Required"` Weight int64 `json:"weight"` Elements []*MapElement `json:"elements"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type MapOptions ¶
type MapText ¶
type Message ¶ added in v0.0.17
type Message struct { Id int64 `json:"id"` Type MessageType `json:"type"` EmailFrom *string `json:"email_from"` EmailSubject *string `json:"email_subject"` EmailBody *string `json:"email_body"` SmsText *string `json:"sms_text"` UiText *string `json:"ui_text"` TelegramText *string `json:"telegram_text"` SlackText *string `json:"slack_text"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type MessageDelivery ¶ added in v0.0.17
type MessageDelivery struct { Id int64 `json:"id"` Message *Message `json:"message"` MessageId int64 `json:"message_id"` Address string `json:"address"` Status MessageStatus `json:"status"` ErrorMessageStatus *string `json:"error_message_status"` ErrorMessageBody *string `json:"error_message_body"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type MessageStatus ¶ added in v0.0.17
type MessageStatus string
type MessageType ¶ added in v0.0.17
type MessageType string
type NewNotifrMessage ¶ added in v0.0.17
type NewNotifrMessage struct { Type string `json:"type"` BodyType string `json:"body_type"` EmailFrom *string `json:"email_from"` EmailSubject *string `json:"email_subject"` EmailBody *string `json:"email_body"` Template *string `json:"template"` SmsText *string `json:"sms_text"` SlackText *string `json:"slack_text"` TelegramText *string `json:"telegram_text"` Params map[string]interface{} `json:"params"` Address string `json:"address"` }
type Node ¶
type Node struct { Id int64 `json:"id"` Name string `json:"name" valid:"MaxSize(254);Required"` Status string `json:"status" valid:"Required"` Description string `json:"description"` Login string `json:"login" valid:"MaxSize(254);Required"` Password string `json:"password"` EncryptedPassword string `json:"encrypted_password"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type Permission ¶
type RedactorConnector ¶
type RedactorConnector struct { Id uuid.UUID `json:"id"` Start struct { Object uuid.UUID `json:"object"` Point int64 `json:"point"` } `json:"start"` End struct { Object uuid.UUID `json:"object"` Point int64 `json:"point"` } `json:"end"` FlowType string `json:"flow_type"` Title string `json:"title"` Direction string `json:"direction"` }
type RedactorFlow ¶
type RedactorFlow struct { Id int64 `json:"id"` Name string `json:"name"` Description string `json:"description"` Status StatusType `json:"status"` Objects []*RedactorObject `json:"objects"` Connectors []*RedactorConnector `json:"connectors"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"update_at"` Workflow *Workflow `json:"workflow"` Subscriptions []*FlowSubscription `json:"subscriptions"` Zigbee2mqttDevices []*Zigbee2mqttDevice `json:"zigbee2mqtt_devices"` Scenario *WorkflowScenario `json:"scenario"` Workers []*Worker `json:"workers"` }
type RedactorGrapSettings ¶
type RedactorObject ¶
type RedactorObject struct { Id uuid.UUID `json:"id"` Type struct { Name string `json:"name"` Start interface{} `json:"start"` End interface{} `json:"end"` Status string `json:"status"` Action string `json:"action"` } `json:"type"` Position struct { Top int64 `json:"top"` Left int64 `json:"left"` } `json:"position"` Status string `json:"status"` Error string `json:"error"` Title string `json:"title"` Description string `json:"description"` PrototypeType FlowElementsPrototypeType `json:"prototype_type"` Script *Script `json:"script"` FlowLink *Flow `json:"flow_link"` }
type Role ¶
type Role struct { Name string `json:"name" valid:"MaxSize(254);Required"` Description string `json:"description"` Parent *Role `json:"parent"` Children []*Role `json:"children"` AccessList map[string][]string `json:"access_list"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type Script ¶
type Script struct { Id int64 `json:"id"` Lang ScriptLang `json:"lang" valid:"Required"` Name string `json:"name" valid:"MaxSize(254);Required"` Source string `json:"source"` Description string `json:"description"` Compiled string `json:"-"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type SortMapElement ¶
type SortMapElementByWeight ¶
type SortMapElementByWeight []*MapElement
func (SortMapElementByWeight) Len ¶
func (l SortMapElementByWeight) Len() int
func (SortMapElementByWeight) Less ¶
func (l SortMapElementByWeight) Less(i, j int) bool
func (SortMapElementByWeight) Swap ¶
func (l SortMapElementByWeight) Swap(i, j int)
type SortMapLayer ¶
type SortMapLayersByWeight ¶
type SortMapLayersByWeight []*MapLayer
func (SortMapLayersByWeight) Len ¶
func (l SortMapLayersByWeight) Len() int
func (SortMapLayersByWeight) Less ¶
func (l SortMapLayersByWeight) Less(i, j int) bool
func (SortMapLayersByWeight) Swap ¶
func (l SortMapLayersByWeight) Swap(i, j int)
type Template ¶ added in v0.0.17
type Template struct { Validity Name string `json:"name" valid:"Required;MaxSize(64)" ` Description string `json:"description"` Content string `json:"content"` Status TemplateStatus `json:"status" valid:"Required;MaxSize(64)"` Type TemplateType `json:"type" valid:"Required;MaxSize(64)"` ParentsCount int `json:"parents_count"` ParentName *string `json:"parent"` Markers []string `json:"markers"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
func (*Template) GetMarkers ¶ added in v0.0.17
func (i *Template) GetMarkers(items []*Template, template *TemplateContent) (markers []string, err error)
func (*Template) GetTemplate ¶ added in v0.0.17
func (i *Template) GetTemplate() (tpl *TemplateContent, err error)
type TemplateContent ¶ added in v0.0.17
type TemplateContent struct { Items []string `json:"items"` Title string `json:"title"` Fields []*TemplateField `json:"fields"` }
type TemplateField ¶ added in v0.0.17
type TemplateRender ¶ added in v0.0.17
func RenderTemplate ¶ added in v0.0.17
func RenderTemplate(items []*Template, template *TemplateContent, params map[string]interface{}) (render *TemplateRender, err error)
type TemplateStatus ¶ added in v0.0.17
type TemplateStatus string
func (TemplateStatus) String ¶ added in v0.0.17
func (s TemplateStatus) String() string
type TemplateTree ¶ added in v0.0.17
type TemplateTree struct { Name string `json:"name"` Description string `json:"description"` Status string `json:"status"` Nodes []*TemplateTree `json:"nodes"` }
type TemplateType ¶ added in v0.0.17
type TemplateType string
func (TemplateType) String ¶ added in v0.0.17
func (t TemplateType) String() string
type User ¶
type User struct { Id int64 `json:"id"` Nickname string `json:"nickname" valid:"Required;MinSize(3);MaxSize(255)"` FirstName string `json:"first_name" valid:"MaxSize(255)"` LastName string `json:"last_name" valid:"MaxSize(255)"` EncryptedPassword string `json:"encrypted_password,omitempty"` Email string `json:"email" valid:"Required;Email"` Status string `json:"status" valid:"MaxSize(255)"` ResetPasswordToken string `json:"-,omitempty"` AuthenticationToken *string `json:"authentication_token,omitempty"` Image *Image `json:"image,omitempty"` ImageId sql.NullInt64 `json:"image_id"` SignInCount int64 `json:"sign_in_count,omitempty"` CurrentSignInIp string `json:"current_sign_in_ip,omitempty"` LastSignInIp string `json:"last_sign_in_ip,omitempty"` Lang string `json:"lang"` User *User `json:"user,omitempty"` UserId sql.NullInt64 `json:"user_id"` Role *Role `json:"role"` RoleName string `json:"role_name,omitempty"` Meta []*UserMeta `json:"meta,omitempty"` ResetPasswordSentAt *time.Time `json:"reset_password_sent_at,omitempty"` CurrentSignInAt *time.Time `json:"current_sign_in_at,omitempty"` LastSignInAt *time.Time `json:"last_sign_in_at,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` DeletedAt *time.Time `json:"deleted_at"` History []*UserHistory `json:"history,omitempty"` }
type UserHistory ¶
type Variable ¶
type Variable struct { Name string `json:"name"` Value string `json:"value"` Autoload bool `json:"autoload"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
func NewVariable ¶ added in v0.0.9
type Worker ¶
type Worker struct { Id int64 `json:"id"` Name string `json:"name" valid:"MaxSize(254);Required"` Time string `json:"time" valid:"Required"` Status string `json:"status" valid:"Required"` Workflow *Workflow `json:"workflow"` WorkflowId int64 `json:"workflow_id" valid:"Required"` Flow *Flow `json:"flow"` FlowId int64 `json:"flow_id" valid:"Required"` DeviceAction *DeviceAction `json:"device_action"` DeviceActionId int64 `json:"device_action_id" valid:"Required"` Workers []*Worker `json:"workers"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type Workflow ¶
type Workflow struct { Id int64 `json:"id"` Name string `json:"name" valid:"MaxSize(254);Required"` Description string `json:"description"` Status string `json:"status" valid:"Required"` Flows []*Flow `json:"flows"` Scripts []*Script `json:"scripts"` Scenario *WorkflowScenario `json:"scenario" valid:"Required"` Scenarios []*WorkflowScenario `json:"scenarios"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
type WorkflowScenario ¶
type WorkflowScenario struct { Id int64 `json:"id"` Name string `json:"name" valid:"MaxSize(254);Required"` SystemName string `json:"system_name" valid:"MaxSize(254);Required"` WorkflowId int64 `json:"workflow_id" valid:"Required"` Scripts []*Script `json:"scripts"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
func (*WorkflowScenario) Valid ¶
func (d *WorkflowScenario) Valid() (ok bool, errs []*validation.Error)
type Zigbee2mqtt ¶ added in v0.1.0
type Zigbee2mqtt struct { Id int64 `json:"id"` Name string `json:"name" valid:"MaxSize(254);Required"` Login string `json:"login"` Password *string `json:"password"` EncryptedPassword string `json:"encrypted_password"` Devices []*Zigbee2mqttDevice `json:"devices"` PermitJoin bool `json:"permit_join"` BaseTopic string `json:"base_topic"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
func (*Zigbee2mqtt) Valid ¶ added in v0.1.0
func (d *Zigbee2mqtt) Valid() (ok bool, errs []*validation.Error)
type Zigbee2mqttDevice ¶ added in v0.1.0
type Zigbee2mqttDevice struct { Id string `json:"id"` Zigbee2mqttId int64 `json:"zigbee2mqtt_id" valid:"Required"` Name string `json:"name" valid:"MaxSize(254);Required"` Type string `json:"type"` Model string `json:"model"` Description string `json:"description"` Manufacturer string `json:"manufacturer"` Functions []string `json:"functions"` ImageUrl string `json:"image_url"` Status string `json:"status"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
func (*Zigbee2mqttDevice) GetImageUrl ¶ added in v0.1.0
func (d *Zigbee2mqttDevice) GetImageUrl()
func (*Zigbee2mqttDevice) Valid ¶ added in v0.1.0
func (d *Zigbee2mqttDevice) Valid() (ok bool, errs []*validation.Error)
Source Files ¶
- dashboard_device_status.go
- dashboard_workflow_status.go
- device.go
- device_action.go
- device_state.go
- flow.go
- flow_connection.go
- flow_element.go
- flow_subscription.go
- flow_zigbee2mqtt_device.go
- image.go
- log.go
- map.go
- map_device.go
- map_device_action.go
- map_device_state.go
- map_element.go
- map_image.go
- map_layer.go
- map_text.go
- map_zone.go
- message.go
- message_delivery.go
- models.go
- node.go
- permission.go
- redactor.go
- role.go
- script.go
- template.go
- template_types.go
- user.go
- userhistory.go
- usermeta.go
- variable.go
- version.go
- worker.go
- workflow.go
- workflow_scenario.go
- zigbee2mqtt.go
- zigbee2mqtt_device.go
Click to show internal directories.
Click to hide internal directories.