36 lines
1.2 KiB
Go
36 lines
1.2 KiB
Go
package session
|
|
|
|
import (
|
|
"time"
|
|
|
|
messagecontracts "github.com/example/remote-access-platform/backend/pkg/contracts/message"
|
|
)
|
|
|
|
type ControllerBinding struct {
|
|
SessionID string `json:"session_id"`
|
|
AttachmentID string `json:"attachment_id"`
|
|
UserID string `json:"user_id"`
|
|
DeviceID string `json:"device_id"`
|
|
TakeoverVersion int `json:"takeover_version"`
|
|
BoundAt time.Time `json:"bound_at"`
|
|
}
|
|
|
|
type AttachTokenClaims struct {
|
|
Token string `json:"token"`
|
|
SessionID string `json:"session_id"`
|
|
AttachmentID string `json:"attachment_id"`
|
|
UserID string `json:"user_id"`
|
|
DeviceID string `json:"device_id"`
|
|
WorkerID string `json:"worker_id"`
|
|
TakeoverVersion int `json:"takeover_version"`
|
|
ExpiresAt time.Time `json:"expires_at"`
|
|
Reconnectable bool `json:"reconnectable"`
|
|
}
|
|
|
|
type TransportEnvelope struct {
|
|
Type string `json:"type"`
|
|
SessionID string `json:"session_id,omitempty"`
|
|
Payload map[string]any `json:"payload,omitempty"`
|
|
Event *messagecontracts.Message `json:"event,omitempty"`
|
|
}
|