feat: report desktop release upload completion progress

This commit is contained in:
2026-06-23 00:04:26 +08:00
parent f0de364063
commit d5e592e290
6 changed files with 395 additions and 27 deletions
@@ -284,6 +284,39 @@ func completeDesktopClientReleaseDirectUploadHandler(svc *app.DesktopClientRelea
}
}
func startDesktopClientReleaseDirectUploadCompleteJobHandler(svc *app.DesktopClientReleaseService) gin.HandlerFunc {
return func(c *gin.Context) {
var body desktopClientReleaseDirectUploadCompleteRequest
if err := c.ShouldBindJSON(&body); err != nil {
response.Error(c, response.ErrBadRequest(40000, "invalid_payload", err.Error()))
return
}
result := svc.StartDirectUploadCompleteJob(app.DesktopClientReleaseDirectUploadCompleteInput{
Platform: body.Platform,
Arch: body.Arch,
Channel: body.Channel,
Version: body.Version,
Kind: body.Kind,
OSSObjectKey: body.OSSObjectKey,
FileName: body.FileName,
FileSizeBytes: body.FileSizeBytes,
SHA256: body.SHA256,
})
response.Success(c, result)
}
}
func getDesktopClientReleaseCompleteJobHandler(svc *app.DesktopClientReleaseService) gin.HandlerFunc {
return func(c *gin.Context) {
result, err := svc.GetCompleteJob(c.Param("job_id"))
if err != nil {
response.Error(c, err)
return
}
response.Success(c, result)
}
}
func initiateDesktopClientReleaseUploadHandler(svc *app.DesktopClientReleaseService) gin.HandlerFunc {
return func(c *gin.Context) {
var body desktopClientReleaseUploadInitRequest
@@ -370,6 +403,17 @@ func completeDesktopClientReleaseUploadHandler(svc *app.DesktopClientReleaseServ
}
}
func startDesktopClientReleaseUploadCompleteJobHandler(svc *app.DesktopClientReleaseService) gin.HandlerFunc {
return func(c *gin.Context) {
result, err := svc.StartChunkedUploadCompleteJob(c.Param("upload_id"))
if err != nil {
response.Error(c, err)
return
}
response.Success(c, result)
}
}
func abortDesktopClientReleaseUploadHandler(svc *app.DesktopClientReleaseService) gin.HandlerFunc {
return func(c *gin.Context) {
if err := svc.AbortChunkedUpload(c.Param("upload_id")); err != nil {