rule_chain.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. package controllers
  2. import (
  3. "github.com/kataras/iris"
  4. "sparrow/pkg/models"
  5. "sparrow/services/knowoapi/services"
  6. )
  7. // RuleChainController api
  8. type RuleChainController struct {
  9. Ctx iris.Context
  10. Service services.RuleChainService
  11. Token Token
  12. }
  13. // Post “
  14. // POST /admin/rule_chain
  15. func (a *RuleChainController) Post() {
  16. ptl := new(models.RuleChain)
  17. if err := parseBody(a.Ctx, ptl); err != nil {
  18. badRequest(a.Ctx, err)
  19. return
  20. }
  21. ptl.VendorID = a.Token.getVendorID(a.Ctx)
  22. err := a.Service.Create(ptl)
  23. if err != nil {
  24. responseError(a.Ctx, ErrDatabase, err.Error())
  25. return
  26. }
  27. done(a.Ctx, ptl)
  28. }
  29. // Delete delete
  30. // DELETE /admin/rule_chain
  31. func (a *RuleChainController) Delete() {
  32. RuleChain := new(models.RuleChain)
  33. if err := parseBody(a.Ctx, RuleChain); err != nil {
  34. badRequest(a.Ctx, err)
  35. return
  36. }
  37. if err := a.Service.Delete(RuleChain); err != nil {
  38. responseError(a.Ctx, ErrDatabase, err.Error())
  39. return
  40. }
  41. done(a.Ctx, RuleChain)
  42. }
  43. // Put 更新
  44. // PUT /admin/rule_chain
  45. func (a *RuleChainController) Put() {
  46. params := new(models.RuleChainParams)
  47. if err := parseBody(a.Ctx, params); err != nil {
  48. badRequest(a.Ctx, err)
  49. return
  50. }
  51. if err := a.Service.Update(params); err != nil {
  52. responseError(a.Ctx, ErrDatabase, err.Error())
  53. return
  54. }
  55. done(a.Ctx, "已保存")
  56. }
  57. // Get get RuleChains
  58. // GET /admin/rule_chain?pi=&ps=&name=
  59. func (a *RuleChainController) Get() {
  60. pi, err := a.Ctx.URLParamInt("pi")
  61. if err != nil {
  62. badRequest(a.Ctx, err)
  63. return
  64. }
  65. ps, err := a.Ctx.URLParamInt("ps")
  66. if err != nil {
  67. badRequest(a.Ctx, err)
  68. return
  69. }
  70. name := a.Ctx.URLParam("name")
  71. vendorId := a.Token.getVendorID(a.Ctx)
  72. datas, total, err := a.Service.Query(pi, ps, name, vendorId)
  73. if err != nil {
  74. responseError(a.Ctx, ErrDatabase, err.Error())
  75. return
  76. }
  77. done(a.Ctx, map[string]interface{}{
  78. "list": datas,
  79. "total": total,
  80. })
  81. }
  82. // PutChange 更新
  83. // PutChange /rule_chain/change
  84. func (a *RuleChainController) PutChange() {
  85. params := new(models.ChangeRootParams)
  86. if err := parseBody(a.Ctx, params); err != nil {
  87. badRequest(a.Ctx, err)
  88. return
  89. }
  90. if params.VendorId == "" {
  91. params.VendorId = a.Token.getVendorID(a.Ctx)
  92. }
  93. err := a.Service.UpdateChainRoot(params)
  94. if err != nil {
  95. responseError(a.Ctx, ErrDatabase, err.Error())
  96. return
  97. }
  98. done(a.Ctx, "已更新")
  99. }