From e412abd0178106b8ebc4bfcf8e3a6666f5375e79 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 10 May 2022 14:07:44 +0800 Subject: [PATCH] update app --- internal/cms_api/admin/admin.go | 24 +++++++++++++++++------- pkg/cms_api_struct/admin.go | 12 ++++++------ 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/internal/cms_api/admin/admin.go b/internal/cms_api/admin/admin.go index ec93d8346..7e5226121 100644 --- a/internal/cms_api/admin/admin.go +++ b/internal/cms_api/admin/admin.go @@ -14,6 +14,7 @@ import ( "fmt" "github.com/minio/minio-go/v7" "net/http" + "path" "strings" "Open_IM/internal/api/third" @@ -64,22 +65,31 @@ func UploadUpdateApp(c *gin.Context) { return } fileObj, err := req.File.Open() - yamlObj, err := req.Yaml.Open() if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "Open file error", err.Error()) - c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "invalid file path" + err.Error()}) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "Open file error" + err.Error()}) + return + } + yamlObj, err := req.Yaml.Open() + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "Open Yaml error", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "Open Yaml error" + err.Error()}) return } fmt.Println(req.OperationID, utils.GetSelfFuncName(), "name: ", config.Config.Credential.Minio.AppBucket, newFileName, fileObj, req.File.Size) fmt.Println(req.OperationID, utils.GetSelfFuncName(), "name: ", config.Config.Credential.Minio.AppBucket, newYamlName, yamlObj, req.Yaml.Size) // v2.0.9_app_linux v2.0.9_yaml_linux - _, newType := utils.GetNewFileNameAndContentType("", constant.OtherType) - _, err = apiThird.MinioClient.PutObject(context.Background(), config.Config.Credential.Minio.AppBucket, newFileName, fileObj, req.File.Size, minio.PutObjectOptions{ContentType: newType}) - _, err = apiThird.MinioClient.PutObject(context.Background(), config.Config.Credential.Minio.AppBucket, newYamlName, yamlObj, req.Yaml.Size, minio.PutObjectOptions{ContentType: newType}) + _, err = apiThird.MinioClient.PutObject(context.Background(), config.Config.Credential.Minio.AppBucket, newFileName, fileObj, req.File.Size, minio.PutObjectOptions{ContentType: path.Ext(newFileName)}) if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "open file error") - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "invalid file path" + err.Error()}) + log.NewError(req.OperationID, utils.GetSelfFuncName(), "PutObject file error") + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "PutObject file error" + err.Error()}) + return + } + _, err = apiThird.MinioClient.PutObject(context.Background(), config.Config.Credential.Minio.AppBucket, newYamlName, yamlObj, req.Yaml.Size, minio.PutObjectOptions{ContentType: path.Ext(newYamlName)}) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "PutObject yaml error") + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "PutObject yaml error" + err.Error()}) return } if err := imdb.UpdateAppVersion(req.Type, req.Version, req.ForceUpdate, newFileName, newYamlName); err != nil { diff --git a/pkg/cms_api_struct/admin.go b/pkg/cms_api_struct/admin.go index e06a04324..72df69529 100644 --- a/pkg/cms_api_struct/admin.go +++ b/pkg/cms_api_struct/admin.go @@ -15,12 +15,12 @@ type AdminLoginResponse struct { } type UploadUpdateAppReq struct { - OperationID string `form:"operationID" binding:"required"` - Type int `form:"type" binding:"required"` - Version string `form:"version" binding:"required"` - File multipart.FileHeader `form:"file" binding:"required"` - Yaml multipart.FileHeader `form:"yaml" binding:"required"` - ForceUpdate bool `form:"forceUpdate" binding:"required"` + OperationID string `form:"operationID" binding:"required"` + Type int `form:"type" binding:"required"` + Version string `form:"version" binding:"required"` + File *multipart.FileHeader `form:"file" binding:"required"` + Yaml *multipart.FileHeader `form:"yaml" binding:"required"` + ForceUpdate bool `form:"forceUpdate" binding:"required"` } type UploadUpdateAppResp struct {