package v1 import ( "dsbqj-admin/app/service" "dsbqj-admin/pkg/app" "dsbqj-admin/pkg/e" "dsbqj-admin/pkg/serializer" "net/http" "github.com/gin-gonic/gin" ) const versionExternalConfigKey = "version_external_config" func CheckVersion(c *gin.Context) { var appG = app.Gin{C: c} service := service.VersionCheckService{} err := c.ShouldBind(&service) if err != nil { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) return } if res, err := service.Check(); err != nil { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) } else { appG.Response(http.StatusOK, e.SUCCESS, serializer.BuildVersion(res)) } } func ServerVersion(c *gin.Context) { var appG = app.Gin{C: c} service := service.VersionServerService{} if err := c.ShouldBind(&service); err == nil { if res, err := service.Servers(); err != nil { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) } else { appG.Response(http.StatusOK, e.SUCCESS, serializer.BuildVersions(res)) } } else { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) } } func ReloadVersion(c *gin.Context) { var appG = app.Gin{C: c} service := service.VersionReloadService{} if err := c.ShouldBind(&service); err == nil { if err := service.Reload(); err != nil { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) } else { appG.Response(http.StatusOK, e.SUCCESS, nil) } } else { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) } } func ShowVersions(c *gin.Context) { var appG = app.Gin{C: c} service := service.VersionShowService{} if err := c.ShouldBind(&service); err == nil { if res, err := service.List(); err != nil { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) } else { appG.Response(http.StatusOK, e.SUCCESS, res) } } else { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) } } func VersionCreate(c *gin.Context) { var appG = app.Gin{C: c} service := service.VersionCreateService{} if err := c.ShouldBind(&service); err == nil { res := service.Create() appG.Response(http.StatusOK, e.SUCCESS, res) } else { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) } } func VersionEdit(c *gin.Context) { var appG = app.Gin{C: c} service := service.VersionEditService{} if err := c.ShouldBind(&service); err == nil { res := service.Edit() appG.Response(http.StatusOK, e.SUCCESS, res) } else { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) } } func VersionProd(c *gin.Context) { var appG = app.Gin{C: c} service := service.VersionProdService{} if err := c.ShouldBind(&service); err == nil { res := service.Update() appG.Response(http.StatusOK, e.SUCCESS, res) } else { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) } } func VersionExternalConfig(c *gin.Context) { var appG = app.Gin{C: c} svc, ok := c.Get(versionExternalConfigKey) if !ok { appG.Response(http.StatusOK, e.INVALID_PARAMS, "missing version external auth") return } service, ok := svc.(*service.VersionExternalConfigService) if !ok { appG.Response(http.StatusOK, e.INVALID_PARAMS, "invalid version external auth") return } if res := service.Save(); res == nil { appG.Response(http.StatusOK, e.SUCCESS, res) } else { appG.Response(http.StatusOK, e.INVALID_PARAMS, res.Error()) } } func VersionAbVer(c *gin.Context) { var appG = app.Gin{C: c} service := service.VersionConfigUploadService{} if err := c.ShouldBind(&service); err != nil { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) return } if err := service.ValidateAuth(); err != nil { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) return } if err := service.SaveAbVer(); err != nil { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) return } appG.Response(http.StatusOK, e.SUCCESS, nil) } func VersionMD5(c *gin.Context) { var appG = app.Gin{C: c} service := service.VersionConfigUploadService{} if err := c.ShouldBind(&service); err != nil { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) return } if err := service.ValidateAuth(); err != nil { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) return } if err := service.SaveMD5(); err != nil { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) return } appG.Response(http.StatusOK, e.SUCCESS, nil) } func VersionConfigList(c *gin.Context) { var appG = app.Gin{C: c} service := service.VersionConfigManageService{Type: c.Query("type"), PlatformFilter: c.Query("platform")} res, err := service.List() if err != nil { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) return } appG.Response(http.StatusOK, e.SUCCESS, res) } func VersionConfigSave(c *gin.Context) { var appG = app.Gin{C: c} service := service.VersionConfigManageService{} if err := c.ShouldBind(&service); err != nil { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) return } appG.Response(http.StatusOK, e.SUCCESS, service.Save()) } func VersionExternalAuth() gin.HandlerFunc { return func(c *gin.Context) { var appG = app.Gin{C: c} service := service.VersionExternalConfigService{} if err := c.ShouldBind(&service); err != nil { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) c.Abort() return } if err := service.ValidateAuth(); err != nil { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) c.Abort() return } c.Set(versionExternalConfigKey, &service) c.Next() } } func VersionDelete(c *gin.Context) { var appG = app.Gin{C: c} service := service.VersionDeleteService{} key := appG.ValidKey() service.Id = key if err := service.Delete(); err == nil { appG.Response(http.StatusOK, e.SUCCESS, nil) } else { appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error()) } }