common

package
v0.0.0-...-8f3712b Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2019 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package common contains shared data available for all plugins.

Index

Constants

View Source
const (
	// LogSystemToken describes system log entry.
	LogSystemToken = "system"
	// LogChannelToken describes channel log entry.
	LogChannelToken = "channel"
	// LogWorkerToken describes worker log entry.
	LogWorkerToken = "worker"
	// LogDeviceTypeToken describes device type log entry.
	LogDeviceTypeToken = "device_type"
	// LogIDToken describes entity ID entry.
	LogIDToken = "id"
	// LogNameToken describes entity name entry.
	LogNameToken = "name"
	// LogDeviceCommandToken describes device command log entry.
	LogDeviceCommandToken = "device_cmd"
	// LogDevicePropertyToken describes device property log entry.
	LogDevicePropertyToken = "device_prop"
	// LogDeviceHostToken describes device host log entry.
	LogDeviceHostToken = "host_ip"
	// LogRoleNameToken describes role name log entry.
	LogRoleNameToken = "role"
	// LogUserNameToken describes user name log entry.
	LogUserNameToken = "user"
	// LogURLToken describes URL log entry.
	LogURLToken = "url"
	// LogTimeToken describes time log entry.
	LogTimeToken = "time"
)
View Source
const (
	// LogErrorToken describes error log entry.
	LogErrorToken = "error"
	// LogFileToken describes file log entry.
	LogFileToken = "file"
	// LogSecretToken describes secret log entry.
	LogSecretToken = "secret"
	// LogProviderToken describes provider log entry.
	LogProviderToken = "provider"
	// LogFieldToken describes field log entry.
	LogFieldToken = "field"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Color

type Color struct {
	R uint8 `json:"r" yaml:"r"`
	G uint8 `json:"g" yaml:"g"`
	B uint8 `json:"b" yaml:"b"`
}

Color defines color parameter type.

func NewColor

func NewColor(color color.Color) Color

NewColor creates a color from a system color

func (*Color) Color

func (c *Color) Color() color.Color

Color returns system color

type Float

type Float struct {
	Value float64 `json:"value" validate:"required"`
}

Float defines simple float parameter type.

type IFanOutProvider

type IFanOutProvider interface {
	SubscribeDeviceUpdates() (int64, chan *MsgDeviceUpdate)
	UnSubscribeDeviceUpdates(int64)
}

IFanOutProvider defines interface used for distributing device updates even across all system.

type ILoggerProvider

type ILoggerProvider interface {
	Debug(msg string, fields ...string)
	Info(msg string, fields ...string)
	Warn(msg string, fields ...string)
	Error(msg string, err error, fields ...string)
	Fatal(msg string, err error, fields ...string)
	GetSpecs() *LogSpecs
	Query(*LogHistoryRequest) []*LogHistoryEntry
}

ILoggerProvider defines logger provider which will be passed to every plugin.

type IPluginLoggerProvider

type IPluginLoggerProvider interface {
	ILoggerProvider
	AddFields(map[string]string)
}

IPluginLoggerProvider defines additional method for adding extra fields.

type ISecretProvider

type ISecretProvider interface {
	Get(string) (string, error)
	Set(name string, data string) error
}

ISecretProvider defines secrets provider which will be passed to every plugin.

type ISettings

type ISettings interface {
	Validate() error
}

ISettings describes interface used by every plugin. After loading plugin, go-home will invoke internal validation and then call this method.

type Input

type Input struct {
	Title  string            `json:"title" yaml:"title"`
	Params map[string]string `json:"params" yaml:"params"`
}

Input defines user's input request/response.

type Int

type Int struct {
	Value int `json:"value" validate:"required"`
}

Int defines simple integer parameter type.

type LogHistoryEntry

type LogHistoryEntry struct {
	UTCTimestamp int64             `json:"timestamp"`
	LogLevel     string            `json:"log_level"`
	System       string            `json:"system"`
	DeviceID     string            `json:"device_id"`
	Provider     string            `json:"provider"`
	WorkerID     string            `json:"worker"`
	Message      string            `json:"message"`
	Properties   map[string]string `json:"properties"`
}

LogHistoryEntry defines single log entry.

type LogHistoryRequest

type LogHistoryRequest struct {
	FromUTC  int64  `json:"from"`
	ToUTC    int64  `json:"to"`
	LogLevel string `json:"log_level"`
	System   string `json:"system"`
	Provider string `json:"provider"`
	DeviceID string `json:"device_id"`
	WorkerID string `json:"worker"`
}

LogHistoryRequest defines history request. ToUTC will be always populated by the logger system. FromUTC might be 0. All missing fields will be empty string.

type LogSpecs

type LogSpecs struct {
	IsHistorySupported bool
}

LogSpecs defines logger specifications.

type MsgDeviceUpdate

type MsgDeviceUpdate struct {
	ID        string
	Name      string
	State     map[enums.Property]interface{}
	FirstSeen bool
	Type      enums.DeviceType
}

MsgDeviceUpdate contains data with updates device's state.

type Percent

type Percent struct {
	Value uint8 `json:"value" validate:"required,percent"`
}

Percent defines percent parameter type.

type String

type String struct {
	Value string `json:"value" validate:"required"`
}

String defines simple string parameter type.

Jump to

Keyboard shortcuts

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