Initial project snapshot
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
package sessionbroker
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
sessioncontracts "github.com/example/remote-access-platform/backend/pkg/contracts/session"
|
||||
)
|
||||
|
||||
type AttachmentRole string
|
||||
|
||||
const (
|
||||
AttachmentRoleController AttachmentRole = "controller"
|
||||
)
|
||||
|
||||
type AttachmentState string
|
||||
|
||||
const (
|
||||
AttachmentStateAttaching AttachmentState = "attaching"
|
||||
AttachmentStateActive AttachmentState = "active"
|
||||
AttachmentStateDetached AttachmentState = "detached"
|
||||
AttachmentStateSuperseded AttachmentState = "superseded"
|
||||
AttachmentStateRevoked AttachmentState = "revoked"
|
||||
AttachmentStateClosed AttachmentState = "closed"
|
||||
)
|
||||
|
||||
type ResourceTakeoverPolicy string
|
||||
|
||||
const (
|
||||
ResourceTakeoverPolicyTrustedDevice ResourceTakeoverPolicy = "trusted_device"
|
||||
ResourceTakeoverPolicySameUser ResourceTakeoverPolicy = "same_user"
|
||||
ResourceTakeoverPolicyAdminOnly ResourceTakeoverPolicy = "admin_only"
|
||||
)
|
||||
|
||||
type ResourceClipboardMode string
|
||||
|
||||
const (
|
||||
ResourceClipboardModeDisabled ResourceClipboardMode = "disabled"
|
||||
ResourceClipboardModeClientToServer ResourceClipboardMode = "client_to_server"
|
||||
ResourceClipboardModeServerToClient ResourceClipboardMode = "server_to_client"
|
||||
ResourceClipboardModeBidirectional ResourceClipboardMode = "bidirectional"
|
||||
)
|
||||
|
||||
type ResourceFileTransferMode string
|
||||
|
||||
const (
|
||||
ResourceFileTransferModeDisabled ResourceFileTransferMode = "disabled"
|
||||
ResourceFileTransferModeClientToServer ResourceFileTransferMode = "client_to_server"
|
||||
ResourceFileTransferModeServerToClient ResourceFileTransferMode = "server_to_client"
|
||||
ResourceFileTransferModeBidirectional ResourceFileTransferMode = "bidirectional"
|
||||
)
|
||||
|
||||
type RemoteSession struct {
|
||||
ID string
|
||||
OrganizationID string
|
||||
ResourceID string
|
||||
Protocol string
|
||||
State sessioncontracts.State
|
||||
WorkerID string
|
||||
ControllerUserID string
|
||||
DetachDeadlineAt *time.Time
|
||||
LastHeartbeatAt *time.Time
|
||||
TakeoverVersion int
|
||||
RenderQualityProfile string
|
||||
Metadata []byte
|
||||
CreatedAt time.Time
|
||||
UpdatedAt time.Time
|
||||
}
|
||||
|
||||
type SessionAttachment struct {
|
||||
ID string
|
||||
RemoteSessionID string
|
||||
UserID string
|
||||
DeviceID string
|
||||
Role AttachmentRole
|
||||
State AttachmentState
|
||||
SupersededBy *string
|
||||
TakeoverOf *string
|
||||
AttachedAt *time.Time
|
||||
DetachedAt *time.Time
|
||||
LastInputAt *time.Time
|
||||
Metadata []byte
|
||||
CreatedAt time.Time
|
||||
UpdatedAt time.Time
|
||||
}
|
||||
|
||||
type ResourcePolicy struct {
|
||||
ResourceID string
|
||||
MaxConcurrentSessions int
|
||||
TakeoverPolicy ResourceTakeoverPolicy
|
||||
RequireTrustedDevice bool
|
||||
DetachGracePeriod time.Duration
|
||||
ClipboardEnabled bool
|
||||
ClipboardMode ResourceClipboardMode
|
||||
FileTransferEnabled bool
|
||||
FileTransferMode ResourceFileTransferMode
|
||||
CreatedAt time.Time
|
||||
UpdatedAt time.Time
|
||||
}
|
||||
|
||||
type ResourceRuntimeSpec struct {
|
||||
ID string
|
||||
OrganizationID string
|
||||
Name string
|
||||
Address string
|
||||
Protocol string
|
||||
SecretRef *string
|
||||
CertificateVerificationMode string
|
||||
Metadata []byte
|
||||
}
|
||||
|
||||
type AuditEvent struct {
|
||||
ID string
|
||||
ActorUserID *string
|
||||
ActorDeviceID *string
|
||||
EventType string
|
||||
TargetType string
|
||||
TargetID string
|
||||
RemoteSessionID *string
|
||||
Payload []byte
|
||||
CreatedAt time.Time
|
||||
}
|
||||
|
||||
const (
|
||||
AuditEventSessionStarted = "session_started"
|
||||
AuditEventSessionAttached = "session_attached"
|
||||
AuditEventSessionDetached = "session_detached"
|
||||
AuditEventSessionTakenOver = "session_taken_over"
|
||||
AuditEventSessionTerminated = "session_terminated"
|
||||
AuditEventSessionFailed = "session_failed"
|
||||
AuditEventSecretAccessed = "resource_secret_accessed"
|
||||
AuditEventSecretAccessDenied = "resource_secret_access_denied"
|
||||
)
|
||||
Reference in New Issue
Block a user