first commit
This commit is contained in:
@@ -0,0 +1,201 @@
|
||||
package dto
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"browser.local/platform/domain"
|
||||
)
|
||||
|
||||
type ArtifactTransferOpenRequest struct {
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
SessionToken string `json:"sessionToken"`
|
||||
ArtifactID string `json:"artifactId"`
|
||||
Direction domain.ArtifactTransferDirection `json:"direction"`
|
||||
OwnerKind domain.ArtifactOwnerKind `json:"ownerKind"`
|
||||
OwnerID string `json:"ownerId"`
|
||||
SizeBytes int64 `json:"sizeBytes"`
|
||||
ChunkSizeBytes int `json:"chunkSizeBytes"`
|
||||
Checksum string `json:"checksum"`
|
||||
IdempotencyKey string `json:"idempotencyKey"`
|
||||
}
|
||||
|
||||
type ArtifactTransferOpenResponse struct {
|
||||
Accepted bool `json:"accepted"`
|
||||
TransferID string `json:"transferId"`
|
||||
Direction domain.ArtifactTransferDirection `json:"direction"`
|
||||
Artifact ArtifactResponse `json:"artifact"`
|
||||
TotalChunks int `json:"totalChunks"`
|
||||
ChunkSizeBytes int `json:"chunkSizeBytes"`
|
||||
ReceivedChunkIndexes []int `json:"receivedChunkIndexes"`
|
||||
NextMissingChunkIndex int `json:"nextMissingChunkIndex"`
|
||||
Completed bool `json:"completed"`
|
||||
Duplicate bool `json:"duplicate"`
|
||||
ServerTime time.Time `json:"serverTime"`
|
||||
}
|
||||
|
||||
type ArtifactChunkUploadRequest struct {
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
SessionToken string `json:"sessionToken"`
|
||||
TransferID string `json:"transferId"`
|
||||
ArtifactID string `json:"artifactId"`
|
||||
ChunkIndex int `json:"chunkIndex"`
|
||||
Offset int64 `json:"offset"`
|
||||
SizeBytes int `json:"sizeBytes"`
|
||||
Checksum string `json:"checksum"`
|
||||
Payload []byte `json:"payload"`
|
||||
}
|
||||
|
||||
type ArtifactChunkUploadResponse struct {
|
||||
Accepted bool `json:"accepted"`
|
||||
TransferID string `json:"transferId"`
|
||||
ArtifactID string `json:"artifactId"`
|
||||
ChunkIndex int `json:"chunkIndex"`
|
||||
ReceivedChunkIndexes []int `json:"receivedChunkIndexes"`
|
||||
NextMissingChunkIndex int `json:"nextMissingChunkIndex"`
|
||||
Duplicate bool `json:"duplicate"`
|
||||
ServerTime time.Time `json:"serverTime"`
|
||||
}
|
||||
|
||||
type ArtifactTransferStatusRequest struct {
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
SessionToken string `json:"sessionToken"`
|
||||
TransferID string `json:"transferId"`
|
||||
ArtifactID string `json:"artifactId"`
|
||||
}
|
||||
|
||||
type ArtifactTransferStatusResponse struct {
|
||||
Accepted bool `json:"accepted"`
|
||||
TransferID string `json:"transferId"`
|
||||
ArtifactID string `json:"artifactId"`
|
||||
Direction domain.ArtifactTransferDirection `json:"direction"`
|
||||
TotalChunks int `json:"totalChunks"`
|
||||
ChunkSizeBytes int `json:"chunkSizeBytes"`
|
||||
ReceivedChunkIndexes []int `json:"receivedChunkIndexes"`
|
||||
NextMissingChunkIndex int `json:"nextMissingChunkIndex"`
|
||||
Completed bool `json:"completed"`
|
||||
ServerTime time.Time `json:"serverTime"`
|
||||
}
|
||||
|
||||
type ArtifactTransferCompleteRequest struct {
|
||||
RunEndpointID string `json:"runEndpointId"`
|
||||
SessionToken string `json:"sessionToken"`
|
||||
TransferID string `json:"transferId"`
|
||||
ArtifactID string `json:"artifactId"`
|
||||
Checksum string `json:"checksum"`
|
||||
SizeBytes int64 `json:"sizeBytes"`
|
||||
}
|
||||
|
||||
type ArtifactTransferCompleteResponse struct {
|
||||
Accepted bool `json:"accepted"`
|
||||
TransferID string `json:"transferId"`
|
||||
Artifact ArtifactResponse `json:"artifact"`
|
||||
Completed bool `json:"completed"`
|
||||
ServerTime time.Time `json:"serverTime"`
|
||||
}
|
||||
|
||||
func (request ArtifactTransferOpenRequest) ToDomain() domain.ArtifactTransferOpen {
|
||||
return domain.ArtifactTransferOpen{
|
||||
RunEndpointID: request.RunEndpointID,
|
||||
SessionToken: request.SessionToken,
|
||||
ArtifactID: request.ArtifactID,
|
||||
Direction: request.Direction,
|
||||
OwnerKind: request.OwnerKind,
|
||||
OwnerID: request.OwnerID,
|
||||
SizeBytes: request.SizeBytes,
|
||||
ChunkSizeBytes: request.ChunkSizeBytes,
|
||||
Checksum: request.Checksum,
|
||||
IdempotencyKey: request.IdempotencyKey,
|
||||
}
|
||||
}
|
||||
|
||||
func (request ArtifactChunkUploadRequest) ToDomain() domain.ArtifactChunkUpload {
|
||||
return domain.ArtifactChunkUpload{
|
||||
RunEndpointID: request.RunEndpointID,
|
||||
SessionToken: request.SessionToken,
|
||||
TransferID: request.TransferID,
|
||||
ArtifactID: request.ArtifactID,
|
||||
ChunkIndex: request.ChunkIndex,
|
||||
Offset: request.Offset,
|
||||
SizeBytes: request.SizeBytes,
|
||||
Checksum: request.Checksum,
|
||||
Payload: domain.CopyBytes(request.Payload),
|
||||
}
|
||||
}
|
||||
|
||||
func (request ArtifactTransferStatusRequest) ToDomain() domain.ArtifactTransferStatusQuery {
|
||||
return domain.ArtifactTransferStatusQuery{
|
||||
RunEndpointID: request.RunEndpointID,
|
||||
SessionToken: request.SessionToken,
|
||||
TransferID: request.TransferID,
|
||||
ArtifactID: request.ArtifactID,
|
||||
}
|
||||
}
|
||||
|
||||
func (request ArtifactTransferCompleteRequest) ToDomain() domain.ArtifactTransferComplete {
|
||||
return domain.ArtifactTransferComplete{
|
||||
RunEndpointID: request.RunEndpointID,
|
||||
SessionToken: request.SessionToken,
|
||||
TransferID: request.TransferID,
|
||||
ArtifactID: request.ArtifactID,
|
||||
Checksum: request.Checksum,
|
||||
SizeBytes: request.SizeBytes,
|
||||
}
|
||||
}
|
||||
|
||||
func ArtifactTransferOpenFromDomain(result domain.ArtifactTransferOpenResult) ArtifactTransferOpenResponse {
|
||||
result = domain.CopyArtifactTransferOpenResult(result)
|
||||
return ArtifactTransferOpenResponse{
|
||||
Accepted: result.Accepted,
|
||||
TransferID: result.TransferID,
|
||||
Direction: result.Direction,
|
||||
Artifact: ArtifactFromDomain(result.Artifact),
|
||||
TotalChunks: result.TotalChunks,
|
||||
ChunkSizeBytes: result.ChunkSizeBytes,
|
||||
ReceivedChunkIndexes: result.ReceivedChunkIndexes,
|
||||
NextMissingChunkIndex: result.NextMissingChunkIndex,
|
||||
Completed: result.Completed,
|
||||
Duplicate: result.Duplicate,
|
||||
ServerTime: result.ServerTime,
|
||||
}
|
||||
}
|
||||
|
||||
func ArtifactChunkUploadFromDomain(result domain.ArtifactChunkUploadResult) ArtifactChunkUploadResponse {
|
||||
result = domain.CopyArtifactChunkUploadResult(result)
|
||||
return ArtifactChunkUploadResponse{
|
||||
Accepted: result.Accepted,
|
||||
TransferID: result.TransferID,
|
||||
ArtifactID: result.ArtifactID,
|
||||
ChunkIndex: result.ChunkIndex,
|
||||
ReceivedChunkIndexes: result.ReceivedChunkIndexes,
|
||||
NextMissingChunkIndex: result.NextMissingChunkIndex,
|
||||
Duplicate: result.Duplicate,
|
||||
ServerTime: result.ServerTime,
|
||||
}
|
||||
}
|
||||
|
||||
func ArtifactTransferStatusFromDomain(result domain.ArtifactTransferStatusResult) ArtifactTransferStatusResponse {
|
||||
result = domain.CopyArtifactTransferStatusResult(result)
|
||||
return ArtifactTransferStatusResponse{
|
||||
Accepted: result.Accepted,
|
||||
TransferID: result.TransferID,
|
||||
ArtifactID: result.ArtifactID,
|
||||
Direction: result.Direction,
|
||||
TotalChunks: result.TotalChunks,
|
||||
ChunkSizeBytes: result.ChunkSizeBytes,
|
||||
ReceivedChunkIndexes: result.ReceivedChunkIndexes,
|
||||
NextMissingChunkIndex: result.NextMissingChunkIndex,
|
||||
Completed: result.Completed,
|
||||
ServerTime: result.ServerTime,
|
||||
}
|
||||
}
|
||||
|
||||
func ArtifactTransferCompleteFromDomain(result domain.ArtifactTransferCompleteResult) ArtifactTransferCompleteResponse {
|
||||
result = domain.CopyArtifactTransferCompleteResult(result)
|
||||
return ArtifactTransferCompleteResponse{
|
||||
Accepted: result.Accepted,
|
||||
TransferID: result.TransferID,
|
||||
Artifact: ArtifactFromDomain(result.Artifact),
|
||||
Completed: result.Completed,
|
||||
ServerTime: result.ServerTime,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user