version.go 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. package v1
  2. import (
  3. "dsbqj-admin/app/service"
  4. "dsbqj-admin/pkg/app"
  5. "dsbqj-admin/pkg/e"
  6. "dsbqj-admin/pkg/serializer"
  7. "net/http"
  8. "github.com/gin-gonic/gin"
  9. )
  10. const versionExternalConfigKey = "version_external_config"
  11. func CheckVersion(c *gin.Context) {
  12. var appG = app.Gin{C: c}
  13. service := service.VersionCheckService{}
  14. err := c.ShouldBind(&service)
  15. if err != nil {
  16. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  17. return
  18. }
  19. if res, err := service.Check(); err != nil {
  20. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  21. } else {
  22. appG.Response(http.StatusOK, e.SUCCESS, serializer.BuildVersion(res))
  23. }
  24. }
  25. func ServerVersion(c *gin.Context) {
  26. var appG = app.Gin{C: c}
  27. service := service.VersionServerService{}
  28. if err := c.ShouldBind(&service); err == nil {
  29. if res, err := service.Servers(); err != nil {
  30. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  31. } else {
  32. appG.Response(http.StatusOK, e.SUCCESS, serializer.BuildVersions(res))
  33. }
  34. } else {
  35. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  36. }
  37. }
  38. func ReloadVersion(c *gin.Context) {
  39. var appG = app.Gin{C: c}
  40. service := service.VersionReloadService{}
  41. if err := c.ShouldBind(&service); err == nil {
  42. if err := service.Reload(); err != nil {
  43. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  44. } else {
  45. appG.Response(http.StatusOK, e.SUCCESS, nil)
  46. }
  47. } else {
  48. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  49. }
  50. }
  51. func ShowVersions(c *gin.Context) {
  52. var appG = app.Gin{C: c}
  53. service := service.VersionShowService{}
  54. if err := c.ShouldBind(&service); err == nil {
  55. if res, err := service.List(); err != nil {
  56. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  57. } else {
  58. appG.Response(http.StatusOK, e.SUCCESS, res)
  59. }
  60. } else {
  61. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  62. }
  63. }
  64. func VersionCreate(c *gin.Context) {
  65. var appG = app.Gin{C: c}
  66. service := service.VersionCreateService{}
  67. if err := c.ShouldBind(&service); err == nil {
  68. res := service.Create()
  69. appG.Response(http.StatusOK, e.SUCCESS, res)
  70. } else {
  71. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  72. }
  73. }
  74. func VersionEdit(c *gin.Context) {
  75. var appG = app.Gin{C: c}
  76. service := service.VersionEditService{}
  77. if err := c.ShouldBind(&service); err == nil {
  78. res := service.Edit()
  79. appG.Response(http.StatusOK, e.SUCCESS, res)
  80. } else {
  81. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  82. }
  83. }
  84. func VersionProd(c *gin.Context) {
  85. var appG = app.Gin{C: c}
  86. service := service.VersionProdService{}
  87. if err := c.ShouldBind(&service); err == nil {
  88. res := service.Update()
  89. appG.Response(http.StatusOK, e.SUCCESS, res)
  90. } else {
  91. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  92. }
  93. }
  94. func VersionExternalConfig(c *gin.Context) {
  95. var appG = app.Gin{C: c}
  96. svc, ok := c.Get(versionExternalConfigKey)
  97. if !ok {
  98. appG.Response(http.StatusOK, e.INVALID_PARAMS, "missing version external auth")
  99. return
  100. }
  101. service, ok := svc.(*service.VersionExternalConfigService)
  102. if !ok {
  103. appG.Response(http.StatusOK, e.INVALID_PARAMS, "invalid version external auth")
  104. return
  105. }
  106. if res := service.Save(); res == nil {
  107. appG.Response(http.StatusOK, e.SUCCESS, res)
  108. } else {
  109. appG.Response(http.StatusOK, e.INVALID_PARAMS, res.Error())
  110. }
  111. }
  112. func VersionAbVer(c *gin.Context) {
  113. var appG = app.Gin{C: c}
  114. service := service.VersionConfigUploadService{}
  115. if err := c.ShouldBind(&service); err != nil {
  116. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  117. return
  118. }
  119. if err := service.ValidateAuth(); err != nil {
  120. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  121. return
  122. }
  123. if err := service.SaveAbVer(); err != nil {
  124. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  125. return
  126. }
  127. appG.Response(http.StatusOK, e.SUCCESS, nil)
  128. }
  129. func VersionMD5(c *gin.Context) {
  130. var appG = app.Gin{C: c}
  131. service := service.VersionConfigUploadService{}
  132. if err := c.ShouldBind(&service); err != nil {
  133. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  134. return
  135. }
  136. if err := service.ValidateAuth(); err != nil {
  137. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  138. return
  139. }
  140. if err := service.SaveMD5(); err != nil {
  141. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  142. return
  143. }
  144. appG.Response(http.StatusOK, e.SUCCESS, nil)
  145. }
  146. func VersionConfigList(c *gin.Context) {
  147. var appG = app.Gin{C: c}
  148. service := service.VersionConfigManageService{Type: c.Query("type"), PlatformFilter: c.Query("platform")}
  149. res, err := service.List()
  150. if err != nil {
  151. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  152. return
  153. }
  154. appG.Response(http.StatusOK, e.SUCCESS, res)
  155. }
  156. func VersionConfigSave(c *gin.Context) {
  157. var appG = app.Gin{C: c}
  158. service := service.VersionConfigManageService{}
  159. if err := c.ShouldBind(&service); err != nil {
  160. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  161. return
  162. }
  163. appG.Response(http.StatusOK, e.SUCCESS, service.Save())
  164. }
  165. func VersionExternalAuth() gin.HandlerFunc {
  166. return func(c *gin.Context) {
  167. var appG = app.Gin{C: c}
  168. service := service.VersionExternalConfigService{}
  169. if err := c.ShouldBind(&service); err != nil {
  170. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  171. c.Abort()
  172. return
  173. }
  174. if err := service.ValidateAuth(); err != nil {
  175. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  176. c.Abort()
  177. return
  178. }
  179. c.Set(versionExternalConfigKey, &service)
  180. c.Next()
  181. }
  182. }
  183. func VersionDelete(c *gin.Context) {
  184. var appG = app.Gin{C: c}
  185. service := service.VersionDeleteService{}
  186. key := appG.ValidKey()
  187. service.Id = key
  188. if err := service.Delete(); err == nil {
  189. appG.Response(http.StatusOK, e.SUCCESS, nil)
  190. } else {
  191. appG.Response(http.StatusOK, e.INVALID_PARAMS, err.Error())
  192. }
  193. }