bilihub.go 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. package http
  2. import (
  3. "net/http"
  4. "go-common/app/admin/ep/merlin/model"
  5. bm "go-common/library/net/http/blademaster"
  6. "go-common/library/net/http/blademaster/binding"
  7. )
  8. func projects(c *bm.Context) {
  9. var (
  10. username string
  11. err error
  12. )
  13. if username, err = getUsername(c); err != nil {
  14. return
  15. }
  16. c.JSON(svc.Projects(c, username))
  17. }
  18. func accessPullProjects(c *bm.Context) {
  19. var (
  20. username string
  21. err error
  22. )
  23. if username, err = getUsername(c); err != nil {
  24. return
  25. }
  26. c.JSON(svc.AccessPullProjects(c, username))
  27. }
  28. func authHub(c *bm.Context) {
  29. var (
  30. err error
  31. session *http.Cookie
  32. )
  33. if session, err = c.Request.Cookie(_sessIDKey); err != nil {
  34. return
  35. }
  36. c.JSON(nil, svc.AuthHub(c, session.Value))
  37. }
  38. func accessAuthHub(c *bm.Context) {
  39. var (
  40. username string
  41. err error
  42. )
  43. if username, err = getUsername(c); err != nil {
  44. return
  45. }
  46. c.JSON(svc.AccessAuthHub(c, username))
  47. }
  48. func repos(c *bm.Context) {
  49. v := new(struct {
  50. model.Pagination
  51. ProjectID int `form:"project_id"`
  52. KeyWord string `form:"key_word"`
  53. })
  54. if err := c.Bind(v); err != nil {
  55. return
  56. }
  57. c.JSON(svc.ProjectRepositories(c, v.ProjectID, v.PageNum, v.PageSize, v.KeyWord))
  58. }
  59. func tags(c *bm.Context) {
  60. v := new(struct {
  61. RepoName string `form:"repository_name"`
  62. })
  63. if err := c.Bind(v); err != nil {
  64. return
  65. }
  66. c.JSON(svc.RepositoryTags(c, v.RepoName))
  67. }
  68. func deleteRepoTag(c *bm.Context) {
  69. var (
  70. v = new(struct {
  71. RepoName string `form:"repository_name"`
  72. TagName string `form:"tag_name"`
  73. })
  74. username string
  75. err error
  76. )
  77. if username, err = getUsername(c); err != nil {
  78. return
  79. }
  80. if err = c.Bind(v); err != nil {
  81. return
  82. }
  83. c.JSON(svc.DeleteRepositoryTag(c, username, v.RepoName, v.TagName))
  84. }
  85. func deleteRepo(c *bm.Context) {
  86. var (
  87. v = new(struct {
  88. RepoName string `form:"repository_name"`
  89. })
  90. username string
  91. err error
  92. )
  93. if username, err = getUsername(c); err != nil {
  94. return
  95. }
  96. if err = c.Bind(v); err != nil {
  97. return
  98. }
  99. c.JSON(svc.DeleteRepository(c, username, v.RepoName))
  100. }
  101. func allImage(c *bm.Context) {
  102. c.JSON(svc.GetAllImagesInDocker())
  103. }
  104. func addTag(c *bm.Context) {
  105. var (
  106. v = new(struct {
  107. RepoName string `json:"repository_name"`
  108. TagName string `json:"tag_name"`
  109. NewRepoName string `json:"new_repository"`
  110. NewTagName string `json:"new_tag"`
  111. })
  112. username string
  113. err error
  114. )
  115. if username, err = getUsername(c); err != nil {
  116. return
  117. }
  118. if err = c.BindWith(v, binding.JSON); err != nil {
  119. return
  120. }
  121. c.JSON(svc.AddRepositoryTag(c, username, v.RepoName, v.TagName, v.NewRepoName, v.NewTagName))
  122. }
  123. func push(c *bm.Context) {
  124. var (
  125. v = new(struct {
  126. RepoName string `json:"repository_name"`
  127. TagName string `json:"tag_name"`
  128. })
  129. username string
  130. err error
  131. )
  132. if username, err = getUsername(c); err != nil {
  133. return
  134. }
  135. if err = c.BindWith(v, binding.JSON); err != nil {
  136. return
  137. }
  138. c.JSON(svc.Push(c, username, v.RepoName, v.TagName, 0))
  139. }
  140. func reTag(c *bm.Context) {
  141. var (
  142. v = new(struct {
  143. RepoName string `json:"repository_name"`
  144. TagName string `json:"tag_name"`
  145. NewRepoName string `json:"new_repository"`
  146. NewTagName string `json:"new_tag"`
  147. })
  148. username string
  149. err error
  150. )
  151. if username, err = getUsername(c); err != nil {
  152. return
  153. }
  154. if err = c.BindWith(v, binding.JSON); err != nil {
  155. return
  156. }
  157. c.JSON(svc.ReTag(c, username, v.RepoName, v.TagName, v.NewRepoName, v.NewTagName, 0))
  158. }
  159. func pull(c *bm.Context) {
  160. var (
  161. v = new(struct {
  162. RepoName string `json:"repository_name"`
  163. TagName string `json:"tag_name"`
  164. })
  165. username string
  166. err error
  167. )
  168. if username, err = getUsername(c); err != nil {
  169. return
  170. }
  171. if err = c.BindWith(v, binding.JSON); err != nil {
  172. return
  173. }
  174. c.JSON(svc.Pull(c, username, v.RepoName, v.TagName, 0))
  175. }
  176. func snapshot(c *bm.Context) {
  177. var (
  178. v = new(struct {
  179. MachineID int64 `form:"machine_id"`
  180. })
  181. username string
  182. err error
  183. )
  184. if username, err = getUsername(c); err != nil {
  185. return
  186. }
  187. if err = c.Bind(v); err != nil {
  188. return
  189. }
  190. c.JSON(svc.CreateSnapShot(c, username, v.MachineID))
  191. }
  192. func querySnapshot(c *bm.Context) {
  193. var (
  194. v = new(struct {
  195. MachineID int64 `form:"machine_id"`
  196. })
  197. err error
  198. )
  199. if err = c.Bind(v); err != nil {
  200. return
  201. }
  202. c.JSON(svc.QuerySnapShot(c, v.MachineID))
  203. }
  204. func callbackSnapshot(c *bm.Context) {
  205. var (
  206. v = new(struct {
  207. MachineName string `json:"name"`
  208. ImageName string `json:"image_name"`
  209. ResultStatus bool `json:"status"`
  210. Message string `json:"msg"`
  211. })
  212. err error
  213. )
  214. if err = c.BindWith(v, binding.JSON); err != nil {
  215. return
  216. }
  217. c.JSON(nil, svc.CallBackSnapShot(c, v.MachineName, v.ImageName, v.Message, v.ResultStatus))
  218. }
  219. func machine2image(c *bm.Context) {
  220. var (
  221. username string
  222. err error
  223. v = new(struct {
  224. MachineID int64 `json:"machine_id"`
  225. ImageName string `json:"image_name"`
  226. NewImageName string `json:"new_image_name"`
  227. })
  228. )
  229. if err = c.BindWith(v, binding.JSON); err != nil {
  230. return
  231. }
  232. if username, err = getUsername(c); err != nil {
  233. return
  234. }
  235. c.JSON(nil, svc.Machine2Image(c, username, v.ImageName, v.NewImageName, v.MachineID))
  236. }
  237. func queryMachine2ImageLog(c *bm.Context) {
  238. var (
  239. v = &model.QueryMachine2ImageLogRequest{}
  240. err error
  241. )
  242. if err = c.Bind(v); err != nil {
  243. return
  244. }
  245. c.JSON(svc.QueryMachine2ImageLog(c, v))
  246. }
  247. func machine2imageForceFailed(c *bm.Context) {
  248. var (
  249. v = new(struct {
  250. MachineID int64 `form:"machine_id"`
  251. })
  252. err error
  253. )
  254. if err = c.Bind(v); err != nil {
  255. return
  256. }
  257. c.JSON(svc.Machine2ImageForceFailed(c, v.MachineID))
  258. }
  259. func updateImageConf(c *bm.Context) {
  260. var (
  261. username string
  262. err error
  263. v = &model.ImageConfiguration{}
  264. )
  265. if err = c.BindWith(v, binding.JSON); err != nil {
  266. return
  267. }
  268. if username, err = getUsername(c); err != nil {
  269. return
  270. }
  271. c.JSON(svc.UpdateImageConf(c, username, v))
  272. }
  273. func queryImageConf(c *bm.Context) {
  274. var (
  275. v = new(struct {
  276. ImageName string `form:"image_full_name"`
  277. })
  278. err error
  279. )
  280. if err = c.Bind(v); err != nil {
  281. return
  282. }
  283. c.JSON(svc.QueryImageConf(c, v.ImageName))
  284. }