first commit
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
package dto
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"browser.local/platform/domain"
|
||||
)
|
||||
|
||||
type RunCapabilityReport struct {
|
||||
Capabilities []string `json:"capabilities"`
|
||||
Fingerprint string `json:"fingerprint"`
|
||||
}
|
||||
|
||||
type RunControlHelloRequest struct {
|
||||
RegistrationToken string `json:"registrationToken"`
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
DisplayName string `json:"displayName"`
|
||||
Version string `json:"version"`
|
||||
Status domain.RunEndpointStatus `json:"status"`
|
||||
Platform string `json:"platform,omitempty"`
|
||||
CapabilityReport RunCapabilityReport `json:"capabilityReport"`
|
||||
Capacity RunCapacityResponse `json:"capacity"`
|
||||
}
|
||||
|
||||
type RunControlHelloResponse struct {
|
||||
Accepted bool `json:"accepted"`
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
SessionToken string `json:"sessionToken"`
|
||||
ServerTime time.Time `json:"serverTime"`
|
||||
HeartbeatIntervalSeconds int `json:"heartbeatIntervalSeconds"`
|
||||
FeatureFlags []string `json:"featureFlags,omitempty"`
|
||||
}
|
||||
|
||||
type RunControlHeartbeatRequest struct {
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
SessionToken string `json:"sessionToken"`
|
||||
Version string `json:"version"`
|
||||
Status domain.RunEndpointStatus `json:"status"`
|
||||
CapabilityFingerprint string `json:"capabilityFingerprint"`
|
||||
Capacity RunCapacityResponse `json:"capacity"`
|
||||
}
|
||||
|
||||
type RunControlHeartbeatResponse struct {
|
||||
Accepted bool `json:"accepted"`
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
NextHeartbeatSeconds int `json:"nextHeartbeatSeconds"`
|
||||
RefreshCapabilities bool `json:"refreshCapabilities"`
|
||||
ServerTime time.Time `json:"serverTime"`
|
||||
}
|
||||
|
||||
func (request RunControlHelloRequest) ToDomain() domain.RunControlHello {
|
||||
return domain.RunControlHello{
|
||||
RegistrationToken: request.RegistrationToken,
|
||||
RunEndpointID: request.RunEndpointID,
|
||||
DisplayName: request.DisplayName,
|
||||
Version: request.Version,
|
||||
Status: request.Status,
|
||||
Platform: request.Platform,
|
||||
CapabilityReport: domain.RunCapabilityReport{
|
||||
Capabilities: domain.CopyStringSlice(request.CapabilityReport.Capabilities),
|
||||
Fingerprint: request.CapabilityReport.Fingerprint,
|
||||
},
|
||||
Capacity: capacityToDomain(request.Capacity),
|
||||
}
|
||||
}
|
||||
|
||||
func (request RunControlHeartbeatRequest) ToDomain() domain.RunControlHeartbeat {
|
||||
return domain.RunControlHeartbeat{
|
||||
RunEndpointID: request.RunEndpointID,
|
||||
SessionToken: request.SessionToken,
|
||||
Version: request.Version,
|
||||
Status: request.Status,
|
||||
CapabilityFingerprint: request.CapabilityFingerprint,
|
||||
Capacity: capacityToDomain(request.Capacity),
|
||||
}
|
||||
}
|
||||
|
||||
func RunControlHelloFromDomain(result domain.RunControlHelloResult) RunControlHelloResponse {
|
||||
result = domain.CopyRunControlHelloResult(result)
|
||||
return RunControlHelloResponse{
|
||||
Accepted: result.Accepted,
|
||||
RunEndpointID: result.RunEndpointID,
|
||||
SessionToken: result.SessionToken,
|
||||
ServerTime: result.ServerTime,
|
||||
HeartbeatIntervalSeconds: result.HeartbeatIntervalSeconds,
|
||||
FeatureFlags: result.FeatureFlags,
|
||||
}
|
||||
}
|
||||
|
||||
func RunControlHeartbeatFromDomain(result domain.RunControlHeartbeatResult) RunControlHeartbeatResponse {
|
||||
return RunControlHeartbeatResponse{
|
||||
Accepted: result.Accepted,
|
||||
RunEndpointID: result.RunEndpointID,
|
||||
NextHeartbeatSeconds: result.NextHeartbeatSeconds,
|
||||
RefreshCapabilities: result.RefreshCapabilities,
|
||||
ServerTime: result.ServerTime,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user