Files
2026-04-28 22:29:50 +03:00

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"`
}