Documentation ¶
Index ¶
- Constants
- type ActiveSession
- type AuthClaims
- type ConnectedDevice
- type Device
- type DeviceAuth
- type DeviceAuthClaims
- type DeviceAuthRequest
- type DeviceAuthResponse
- type DeviceIdentity
- type DeviceInfo
- type Endpoints
- type Filter
- type FirewallRule
- type FirewallRuleFields
- type FirewallRuleUpdate
- type ID
- type Info
- type License
- type Member
- type MqttACLQuery
- type MqttAuthQuery
- type MqttClientEvent
- type MqttEvent
- type Namespace
- type NamespaceSettings
- type OperatorParams
- type PrivateKey
- type PropertyParams
- type PublicKey
- type PublicKeyAuthRequest
- type PublicKeyAuthResponse
- type PublicKeyFields
- type PublicKeyUpdate
- type RecordedSession
- type Session
- type Stats
- type Tenant
- type UID
- type User
- type UserAuthClaims
- type UserAuthRequest
- type UserAuthResponse
- type Username
Constants ¶
View Source
const ( MqttClientConnectedEventType = "client_connected" MqttClientDisconnectedEventType = "client_disconnected" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActiveSession ¶
type AuthClaims ¶ added in v0.2.0
type AuthClaims struct {
Claims string `json:"claims"`
}
type ConnectedDevice ¶
type Device ¶
type Device struct { UID string `json:"uid"` Name string `json:"name" bson:"name,omitempty" validate:"required,hostname_rfc1123"` Identity *DeviceIdentity `json:"identity"` Info *DeviceInfo `json:"info"` PublicKey string `json:"public_key" bson:"public_key"` TenantID string `json:"tenant_id" bson:"tenant_id"` LastSeen time.Time `json:"last_seen" bson:"last_seen"` Online bool `json:"online" bson:",omitempty"` Namespace string `json:"namespace" bson:",omitempty"` Status string `json:"status" bson:"status,omitempty" validate:"oneof=accepted rejected pending unused` }
type DeviceAuth ¶
type DeviceAuth struct { Hostname string `json:"hostname,omitempty" bson:"hostname,omitempty" validate:"omitempty,hostname_rfc1123" hash:"-"` Identity *DeviceIdentity `json:"identity"` PublicKey string `json:"public_key"` TenantID string `json:"tenant_id"` }
type DeviceAuthClaims ¶
type DeviceAuthClaims struct { UID string `json:"uid"` AuthClaims `mapstruct:",squash"` jwt.StandardClaims `mapstruct:",squash"` }
type DeviceAuthRequest ¶
type DeviceAuthRequest struct { Info *DeviceInfo `json:"info"` Sessions []string `json:"sessions,omitempty"` *DeviceAuth }
type DeviceAuthResponse ¶
type DeviceIdentity ¶ added in v0.2.1
type DeviceIdentity struct {
MAC string `json:"mac"`
}
type DeviceInfo ¶ added in v0.2.1
type Filter ¶ added in v0.3.0
type Filter struct { Type string `json:"type,omitempty"` Params interface{} `json:"params,omitempty"` }
func (*Filter) UnmarshalJSON ¶ added in v0.3.2
type FirewallRule ¶ added in v0.3.3
type FirewallRule struct { ID string `json:"id" bson:"_id"` TenantID string `json:"tenant_id" bson:"tenant_id"` FirewallRuleFields `bson:",inline"` }
type FirewallRuleFields ¶ added in v0.3.3
type FirewallRuleFields struct { Priority int `json:"priority"` Action string `json:"action" validate:"required,oneof=allow deny"` Active bool `json:"active"` SourceIP string `json:"source_ip" bson:"source_ip" validate:"required,regexp"` Username string `json:"username" validate:"required,regexp"` Hostname string `json:"hostname" validate:"required,regexp"` }
func (*FirewallRuleFields) Validate ¶ added in v0.3.3
func (f *FirewallRuleFields) Validate() error
type FirewallRuleUpdate ¶ added in v0.3.3
type FirewallRuleUpdate struct {
FirewallRuleFields `bson:",inline"`
}
type MqttACLQuery ¶
type MqttAuthQuery ¶
type MqttClientEvent ¶
type MqttEvent ¶
type MqttEvent struct { Action string `json:"action"` MqttClientEvent }
type Namespace ¶ added in v0.5.0
type Namespace struct { Name string `json:"name" validate:"required,hostname_rfc1123"` Owner string `json:"owner"` TenantID string `json:"tenant_id" bson:"tenant_id,omitempty"` Members interface{} `json:"members" bson:"members"` Settings *NamespaceSettings `json:"settings"` Devices int `json:"devices" bson:",omitempty"` Sessions int `json:"sessions" bson:",omitempty"` MaxDevices int `json:"max_devices" bson:"max_devices"` DevicesCount int `json:"devices_count" bson:"devices_count,omitempty"` }
type NamespaceSettings ¶ added in v0.5.0
type NamespaceSettings struct {
SessionRecord bool `json:"session_record" bson:"session_record,omitempty"`
}
type OperatorParams ¶ added in v0.3.2
type OperatorParams struct {
Name string `json:"name"`
}
type PrivateKey ¶ added in v0.5.0
type PropertyParams ¶ added in v0.3.2
type PublicKeyAuthRequest ¶ added in v0.5.0
type PublicKeyAuthResponse ¶ added in v0.5.0
type PublicKeyAuthResponse struct {
Signature string `json:"signature"`
}
type PublicKeyFields ¶ added in v0.5.0
type PublicKeyFields struct {
Name string `json:"name"`
}
type PublicKeyUpdate ¶ added in v0.5.0
type PublicKeyUpdate struct {
PublicKeyFields `bson:",inline"`
}
type RecordedSession ¶ added in v0.4.0
type RecordedSession struct { UID UID `json:"uid"` Message string `json:"message" bson:"message"` TenantID string `json:"tenant_id" bson:"tenant_id,omitempty"` Time time.Time `json:"time" bson:"time,omitempty"` Width int `json:"width" bson:"width,omitempty"` Height int `json:"height" bson:"height,omitempty"` }
type Session ¶
type Session struct { UID string `json:"uid"` DeviceUID UID `json:"device_uid,omitempty" bson:"device_uid"` Device *Device `json:"device" bson:"device,omitempty"` TenantID string `json:"tenant_id" bson:"tenant_id"` Username string `json:"username"` IPAddress string `json:"ip_address" bson:"ip_address"` StartedAt time.Time `json:"started_at" bson:"started_at"` LastSeen time.Time `json:"last_seen" bson:"last_seen"` Active bool `json:"active" bson:",omitempty"` Authenticated bool `json:"authenticated" bson:"authenticated"` Recorded bool `json:"recorded" bson:"recorded"` }
type User ¶
type User struct { ID string `json:"id,omitempty" bson:"_id,omitempty"` Name string `json:"name"` Email string `json:"email" bson:",omitempty" validate:"email"` Username string `json:"username" bson:",omitempty"` Password string `json:"password" bson:",omitempty"` Namespaces int `json:"namespaces" bson:"namespaces,omitempty"` }
type UserAuthClaims ¶
type UserAuthClaims struct { Username string `json:"name"` Admin bool `json:"admin"` Tenant string `json:"tenant"` ID string `json:"id"` AuthClaims `mapstruct:",squash"` jwt.StandardClaims `mapstruct:",squash"` }
type UserAuthRequest ¶
type UserAuthResponse ¶
Click to show internal directories.
Click to hide internal directories.