Add run lifecycle report projection
This commit is contained in:
@@ -57,6 +57,26 @@ type RunControlHeartbeatResponse struct {
|
||||
ServerTime time.Time `json:"serverTime"`
|
||||
}
|
||||
|
||||
type RunLifecycleReportRequest struct {
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
SessionToken string `json:"sessionToken"`
|
||||
ServerInstanceID string `json:"serverInstanceId"`
|
||||
Capability string `json:"capability"`
|
||||
State domain.JobState `json:"state"`
|
||||
Progress JobProgressBody `json:"progress"`
|
||||
Message string `json:"message,omitempty"`
|
||||
ErrorCode string `json:"errorCode,omitempty"`
|
||||
ExecutionResult RunJobExecutionResultBody `json:"executionResult,omitempty"`
|
||||
}
|
||||
|
||||
type RunLifecycleReportResponse struct {
|
||||
Accepted bool `json:"accepted"`
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
ServerInstanceID string `json:"serverInstanceId"`
|
||||
ProjectedState domain.ServerInstanceState `json:"projectedState,omitempty"`
|
||||
ServerTime time.Time `json:"serverTime"`
|
||||
}
|
||||
|
||||
func (request RunControlHelloRequest) ToDomain() domain.RunControlHello {
|
||||
return domain.RunControlHello{
|
||||
RegistrationToken: request.RegistrationToken,
|
||||
@@ -92,6 +112,20 @@ func (request RunControlHeartbeatRequest) ToDomain() domain.RunControlHeartbeat
|
||||
}
|
||||
}
|
||||
|
||||
func (request RunLifecycleReportRequest) ToDomain() domain.RunLifecycleReport {
|
||||
return domain.RunLifecycleReport{
|
||||
RunEndpointID: request.RunEndpointID,
|
||||
SessionToken: request.SessionToken,
|
||||
ServerInstanceID: request.ServerInstanceID,
|
||||
Capability: request.Capability,
|
||||
State: request.State,
|
||||
Progress: progressReportToDomain(request.Progress),
|
||||
Message: request.Message,
|
||||
ErrorCode: request.ErrorCode,
|
||||
ExecutionResult: domain.JobExecutionResult{Kind: request.ExecutionResult.Kind, ProcessState: request.ExecutionResult.ProcessState, ExitClassification: request.ExecutionResult.ExitClassification, ExitCode: request.ExecutionResult.ExitCode, Version: request.ExecutionResult.Version, Checksum: request.ExecutionResult.Checksum, SizeBytes: request.ExecutionResult.SizeBytes, AuditSummary: request.ExecutionResult.AuditSummary, Content: request.ExecutionResult.Content, ServerDeploymentEvidence: serverDeploymentEvidenceToDomain(request.ExecutionResult.ServerDeploymentEvidence), DeploymentReceipt: deploymentReceiptToDomain(request.ExecutionResult.DeploymentReceipt)},
|
||||
}
|
||||
}
|
||||
|
||||
func RunControlHelloFromDomain(result domain.RunControlHelloResult) RunControlHelloResponse {
|
||||
result = domain.CopyRunControlHelloResult(result)
|
||||
return RunControlHelloResponse{
|
||||
@@ -114,3 +148,8 @@ func RunControlHeartbeatFromDomain(result domain.RunControlHeartbeatResult) RunC
|
||||
ServerTime: result.ServerTime,
|
||||
}
|
||||
}
|
||||
|
||||
func RunLifecycleReportFromDomain(result domain.RunLifecycleReportResult) RunLifecycleReportResponse {
|
||||
result = domain.CopyRunLifecycleReportResult(result)
|
||||
return RunLifecycleReportResponse{Accepted: result.Accepted, RunEndpointID: result.RunEndpointID, ServerInstanceID: result.ServerInstanceID, ProjectedState: result.ProjectedState, ServerTime: result.ServerTime}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user