Add server file manager workflow

This commit is contained in:
npc0-hue
2026-08-24 12:56:55 +08:00
parent dc9b0eaf2a
commit 33d3a13e74
20 changed files with 1961 additions and 22 deletions
+29
View File
@@ -310,6 +310,26 @@ type RunUpdateChunkResponse struct {
Complete bool `json:"complete"`
}
type RunFileInputChunkRequest struct {
RunEndpointID string `json:"runEndpointId"`
SessionToken string `json:"sessionToken"`
JobID string `json:"jobId"`
LeaseToken string `json:"leaseToken"`
Attempt int `json:"attempt"`
Offset int64 `json:"offset"`
Length int `json:"length"`
}
type RunFileInputChunkResponse struct {
JobID string `json:"jobId"`
ArtifactID string `json:"artifactId"`
Offset int64 `json:"offset"`
TotalBytes int64 `json:"totalBytes"`
Checksum string `json:"checksum"`
Payload []byte `json:"payload"`
Complete bool `json:"complete"`
}
type RunUpdateHealthRequest struct {
RunEndpointID string `json:"runEndpointId"`
SessionToken string `json:"sessionToken"`
@@ -428,6 +448,10 @@ func (request RunJobResultRequest) ToDomain() domain.RunJobResult {
}
}
func (request RunFileInputChunkRequest) ToDomain() domain.RunFileInputChunkRequest {
return domain.RunFileInputChunkRequest{RunEndpointID: request.RunEndpointID, SessionToken: request.SessionToken, JobID: request.JobID, LeaseToken: request.LeaseToken, Attempt: request.Attempt, Offset: request.Offset, Length: request.Length}
}
func (request DistributionBuildInputRequest) ToDomain() domain.DistributionBuildInputRequest {
return domain.DistributionBuildInputRequest{
RunEndpointID: request.RunEndpointID,
@@ -569,6 +593,11 @@ func RunUpdateChunkFromDomain(chunk domain.RunUpdateChunk) RunUpdateChunkRespons
return RunUpdateChunkResponse{JobID: chunk.JobID, ArtifactID: chunk.ArtifactID, Offset: chunk.Offset, TotalBytes: chunk.TotalBytes, Checksum: chunk.Checksum, Payload: chunk.Payload, Complete: chunk.Complete}
}
func RunFileInputChunkFromDomain(chunk domain.RunFileInputChunk) RunFileInputChunkResponse {
chunk = domain.CopyRunFileInputChunk(chunk)
return RunFileInputChunkResponse{JobID: chunk.JobID, ArtifactID: chunk.ArtifactID, Offset: chunk.Offset, TotalBytes: chunk.TotalBytes, Checksum: chunk.Checksum, Payload: chunk.Payload, Complete: chunk.Complete}
}
func RunUpdateHealthFromDomain(result domain.RunUpdateHealthResult) RunUpdateHealthResponse {
return RunUpdateHealthResponse{Accepted: result.Accepted, JobID: result.JobID, Phase: result.Phase, ServerTime: result.ServerTime}
}