Documentation
¶
Index ¶
- Constants
- type ActiveSession
- type AuthClaims
- type Billing
- type ConnectedDevice
- type Device
- type DeviceAuth
- type DeviceAuthClaims
- type DeviceAuthRequest
- type DeviceAuthResponse
- type DeviceIdentity
- type DeviceInfo
- type DevicePosition
- 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 PaymentFailed
- type PrivateKey
- type PropertyParams
- type PublicKey
- type PublicKeyAuthRequest
- type PublicKeyAuthResponse
- type PublicKeyFields
- type PublicKeyUpdate
- type RecordedSession
- type Session
- type SessionRecorded
- type Stats
- type Status
- type Tenant
- type UID
- type UsageRecord
- type User
- type UserAuthClaims
- type UserAuthRequest
- type UserAuthResponse
- type UserData
- type UserPassword
- type UserTokenRecover
- 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 Billing ¶ added in v0.8.0
type Billing struct {
SubscriptionID string `json:"subscription_id" bson:"subscription_id,omitempty"`
CurrentPeriodEnd time.Time `json:"current_period_end" bson:"current_period_end,omitempty"`
PriceID string `json:"price_id" bson:"price_id,omitempty"`
CustomerID string `json:"customer_id" bson:"customer_id,omitempty"`
PaymentMethodID string `json:"payment_method_id" bson:"payment_method_id,omitempty"`
PaymentFailed *PaymentFailed `json:"payment_failed" bson:"payment_failed,omitempty"`
State string `json:"state" bson:"state,omitempty"`
Active bool `json:"active" bson:"active,omitempty"`
}
type ConnectedDevice ¶
type Device ¶
type Device struct {
UID string `json:"uid"`
Name string `json:"name" bson:"name,omitempty" validate:"required,hostname_rfc1123,excludes=."`
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`
CreatedAt time.Time `json:"created_at" bson:"created_at,omitempty"`
RemoteAddr string `json:"remote_addr" bson:"remote_addr"`
Position *DevicePosition `json:"position" bson:"position"`
Tags []string `json:"tags" bson:"tags,omitempty"`
}
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.RegisteredClaims `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 DevicePosition ¶ added in v0.8.0
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,omitempty" bson:"_id,omitempty"`
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,excludes=."`
Owner string `json:"owner"`
TenantID string `json:"tenant_id" bson:"tenant_id,omitempty"`
Members []Member `json:"members" bson:"members"`
Settings *NamespaceSettings `json:"settings"`
Devices int `json:"-" bson:"devices,omitempty"`
Sessions int `json:"-" bson:"sessions,omitempty"`
MaxDevices int `json:"max_devices" bson:"max_devices"`
DevicesCount int `json:"devices_count" bson:"devices_count,omitempty"`
CreatedAt time.Time `json:"created_at" bson:"created_at"`
Billing *Billing `json:"billing" bson:"billing,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 PaymentFailed ¶ added in v0.8.0
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"`
Hostname string `json:"hostname" bson:"hostname,omitempty" validate:"regexp"`
Username string `json:"username" bson:"username,omitempty" validate:"regexp"`
}
func (*PublicKeyFields) Validate ¶ added in v0.6.1
func (p *PublicKeyFields) Validate() error
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"`
Closed bool `json:"-" bson:"closed"`
Authenticated bool `json:"authenticated" bson:"authenticated"`
Recorded bool `json:"recorded" bson:"recorded"`
}
type SessionRecorded ¶ added in v0.7.3
type UsageRecord ¶ added in v0.8.0
type User ¶
type User struct {
ID string `json:"id,omitempty" bson:"_id,omitempty"`
Namespaces int `json:"namespaces" bson:"namespaces,omitempty"`
Confirmed bool `json:"confirmed"`
CreatedAt time.Time `json:"created_at" bson:"created_at"`
LastLogin time.Time `json:"last_login" bson:"last_login"`
UserData `bson:",inline"`
UserPassword `bson:",inline"`
}
type UserAuthClaims ¶
type UserAuthClaims struct {
Username string `json:"name"`
Admin bool `json:"admin"`
Tenant string `json:"tenant"`
ID string `json:"id"`
Role string `json:"role"`
AuthClaims `mapstruct:",squash"`
jwt.RegisteredClaims `mapstruct:",squash"`
}
type UserAuthRequest ¶
type UserAuthResponse ¶
type UserPassword ¶ added in v0.8.0
type UserPassword struct {
Password string `json:"password" bson:",omitempty" validate:"required,min=5,max=30"`
}
type UserTokenRecover ¶ added in v0.7.2
Click to show internal directories.
Click to hide internal directories.