application.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package controllers
  2. import (
  3. "sparrow/pkg/models"
  4. "sparrow/services/knowoapi/services"
  5. "github.com/kataras/iris"
  6. )
  7. // AppController api
  8. type AppController struct {
  9. Ctx iris.Context
  10. Service services.ApplicationService
  11. Token Token
  12. }
  13. // Post 创建app
  14. // POST /application
  15. func (a *AppController) Post() {
  16. app := new(models.Application)
  17. if err := parseBody(a.Ctx, app); err != nil {
  18. badRequest(a.Ctx, err)
  19. return
  20. }
  21. app.VendorID = a.Token.getVendorID(a.Ctx)
  22. err := a.Service.Create(app)
  23. if err != nil {
  24. responseError(a.Ctx, ErrDatabase, err.Error())
  25. return
  26. }
  27. done(a.Ctx, app)
  28. }
  29. // Get 获取我的app
  30. // GET /application?pi=1&ps=&name=
  31. func (a *AppController) Get() {
  32. pi, err := a.Ctx.URLParamInt("pi")
  33. if err != nil {
  34. badRequest(a.Ctx, err)
  35. return
  36. }
  37. ps, err := a.Ctx.URLParamInt("ps")
  38. if err != nil {
  39. badRequest(a.Ctx, err)
  40. return
  41. }
  42. name := a.Ctx.URLParam("name")
  43. ds, total, err := a.Service.GetVendorApps(a.Token.getVendorID(a.Ctx), pi, ps, name)
  44. if err != nil {
  45. responseError(a.Ctx, ErrDatabase, err.Error())
  46. return
  47. }
  48. done(a.Ctx, map[string]interface{}{
  49. "list": ds,
  50. "total": total,
  51. })
  52. }
  53. // Delete 删除
  54. // DELETE /application
  55. func (a *AppController) Delete() {
  56. app := new(models.Application)
  57. if err := parseBody(a.Ctx, app); err != nil {
  58. badRequest(a.Ctx, err)
  59. return
  60. }
  61. err := a.Service.Delete(app)
  62. if err != nil {
  63. responseError(a.Ctx, ErrDatabase, err.Error())
  64. return
  65. }
  66. done(a.Ctx, "删除成功")
  67. }
  68. // GetBy 获取app信息
  69. // GET /application/{key}
  70. func (a *AppController) GetBy(key string) {
  71. app, err := a.Service.GetAppInfo(a.Token.getVendorID(a.Ctx), key)
  72. if err != nil {
  73. responseError(a.Ctx, ErrDatabase, err.Error())
  74. return
  75. }
  76. done(a.Ctx, app)
  77. }
  78. // Put 更新
  79. // PUT /application
  80. func (a *AppController) Put() {
  81. app := new(models.Application)
  82. if err := parseBody(a.Ctx, app); err != nil {
  83. badRequest(a.Ctx, err)
  84. return
  85. }
  86. result, err := a.Service.Update(app)
  87. if err != nil {
  88. responseError(a.Ctx, ErrDatabase, err.Error())
  89. return
  90. }
  91. done(a.Ctx, result)
  92. }