Files
browser/platform/domain/control.go
T

110 lines
2.8 KiB
Go

package domain
import "time"
type RunCapabilityReport struct {
Capabilities []string
Fingerprint string
}
type RunControlHello struct {
RegistrationToken string
RunEndpointID string
ServerInstanceID string
PluginID string
ComponentKind DistributionComponentKind
ComponentKey string
KeyGeneration int
DisplayName string
Version string
Status RunEndpointStatus
Platform string
Architecture string
UpdateJobID string
UpdateOutcome string
CapabilityReport RunCapabilityReport
Capacity RunCapacity
}
type RunControlHelloResult struct {
Accepted bool
RunEndpointID string
SessionToken string
ServerTime time.Time
HeartbeatIntervalSeconds int
SessionExpiresAt time.Time
FeatureFlags []string
}
type RunControlHeartbeat struct {
RunEndpointID string
SessionToken string
Version string
Status RunEndpointStatus
CapabilityFingerprint string
Capacity RunCapacity
}
type RunControlHeartbeatResult struct {
Accepted bool
RunEndpointID string
NextHeartbeatSeconds int
RefreshCapabilities bool
ServerTime time.Time
}
type RunControlSession struct {
RunEndpointID string
SessionToken string `json:"-"`
SessionTokenHash string
Status AuthSessionStatus
Generation int
CapabilityFingerprint string
HeartbeatIntervalSeconds int
CreatedAt time.Time
UpdatedAt time.Time
ExpiresAt time.Time
RevokedAt time.Time
RequireSignedRequests bool
UsedNonces []string
}
type RunRequestSignature struct {
RunEndpointID string
SessionToken string
Method string
Path string
Timestamp string
Nonce string
BodyHash string
Signature string
}
func CopyRunCapabilityReport(report RunCapabilityReport) RunCapabilityReport {
report.Capabilities = CopyStringSlice(report.Capabilities)
return report
}
func CopyRunControlHello(hello RunControlHello) RunControlHello {
hello.CapabilityReport = CopyRunCapabilityReport(hello.CapabilityReport)
return hello
}
func CopyRunControlHelloResult(result RunControlHelloResult) RunControlHelloResult {
result.FeatureFlags = CopyStringSlice(result.FeatureFlags)
return result
}
func CopyRunControlHeartbeat(heartbeat RunControlHeartbeat) RunControlHeartbeat {
return heartbeat
}
func CopyRunControlHeartbeatResult(result RunControlHeartbeatResult) RunControlHeartbeatResult {
return result
}
func CopyRunControlSession(session RunControlSession) RunControlSession {
session.UsedNonces = CopyStringSlice(session.UsedNonces)
return session
}