Normalize legacy file list job results

This commit is contained in:
npc0-hue
2026-08-27 17:48:51 +08:00
parent 75ef3761ca
commit dcbeb33dfc
2 changed files with 78 additions and 0 deletions
+16
View File
@@ -278,6 +278,7 @@ func (svc *CoreService) CompleteRunJob(result domain.RunJobResult) (domain.RunJo
if err != nil {
return domain.RunJobResultResult{}, err
}
result = normalizeLegacyExecutionResultForJob(job, result)
fingerprint := terminalFingerprint(result)
if isTerminalJobState(job.State) {
if job.TerminalFingerprint == fingerprint {
@@ -358,6 +359,21 @@ func (svc *CoreService) CompleteRunJob(result domain.RunJobResult) (domain.RunJo
return domain.RunJobResultResult{Accepted: true, Job: assignmentFromJob(job, result.LeaseToken), ServerTime: stamp}, nil
}
func normalizeLegacyExecutionResultForJob(job domain.Job, result domain.RunJobResult) domain.RunJobResult {
if result.ExecutionResult.Kind != "file" {
return result
}
switch job.Capability {
case domain.JobCapabilityFilesList:
result.ExecutionResult.Kind = "file.list"
case domain.JobCapabilityFilesRead:
result.ExecutionResult.Kind = "file.read"
case domain.JobCapabilityFilesWrite, domain.JobCapabilityConfigWrite:
result.ExecutionResult.Kind = "file.write"
}
return result
}
func validateExecutionResultForJob(job domain.Job, result domain.RunJobResult) error {
if definition := job.ExecutionInput.Deployment; definition != nil {
receipt := result.ExecutionResult.DeploymentReceipt