article.go 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. // Code generated by dol build. Only Generate by tools if not existed.
  2. // source: article.go
  3. package app
  4. import (
  5. "oauth/model"
  6. "github.com/2637309949/dolphin/packages/gin/binding"
  7. "github.com/2637309949/dolphin/packages/logrus"
  8. "github.com/2637309949/dolphin/packages/null"
  9. "github.com/2637309949/dolphin/packages/time"
  10. )
  11. // ArticleAdd api implementation
  12. // @Summary Add article
  13. // @Tags Article controller
  14. // @Accept application/json
  15. // @Param Authorization header string false "认证令牌"
  16. // @Param user body model.Article false "Article info"
  17. // @Failure 403 {object} model.Fail
  18. // @Success 200 {object} model.Success
  19. // @Failure 500 {object} model.Fail
  20. // @Router /api/article/add [post]
  21. func ArticleAdd(ctx *Context) {
  22. var payload model.Article
  23. if err := ctx.ShouldBindBodyWith(&payload, binding.JSON); err != nil {
  24. logrus.Error(err)
  25. ctx.Fail(err)
  26. return
  27. }
  28. payload.ID = null.StringFromUUID()
  29. payload.CreateTime = null.TimeFrom(time.Now().Value())
  30. payload.CreateBy = null.StringFrom(ctx.GetToken().GetUserID())
  31. payload.UpdateTime = null.TimeFrom(time.Now().Value())
  32. payload.UpdateBy = null.StringFrom(ctx.GetToken().GetUserID())
  33. payload.DelFlag = null.IntFrom(0)
  34. ret, err := ctx.DB.Insert(&payload)
  35. if err != nil {
  36. logrus.Error(err)
  37. ctx.Fail(err)
  38. return
  39. }
  40. ctx.Success(ret)
  41. }
  42. // ArticleDel api implementation
  43. // @Summary Delete article
  44. // @Tags Article controller
  45. // @Accept application/json
  46. // @Param Authorization header string false "认证令牌"
  47. // @Param article body model.Article false "article"
  48. // @Failure 403 {object} model.Fail
  49. // @Success 200 {object} model.Success
  50. // @Failure 500 {object} model.Fail
  51. // @Router /api/article/del [delete]
  52. func ArticleDel(ctx *Context) {
  53. var payload model.Article
  54. if err := ctx.ShouldBindBodyWith(&payload, binding.JSON); err != nil {
  55. logrus.Error(err)
  56. ctx.Fail(err)
  57. return
  58. }
  59. ret, err := ctx.DB.In("id", payload.ID.String).Update(&model.Article{
  60. UpdateTime: null.TimeFrom(time.Now().Value()),
  61. UpdateBy: null.StringFrom(ctx.GetToken().GetUserID()),
  62. DelFlag: null.IntFrom(1),
  63. })
  64. if err != nil {
  65. logrus.Error(err)
  66. ctx.Fail(err)
  67. return
  68. }
  69. ctx.Success(ret)
  70. }
  71. // ArticleUpdate api implementation
  72. // @Summary Update article
  73. // @Tags Article controller
  74. // @Accept application/json
  75. // @Param Authorization header string false "认证令牌"
  76. // @Param user body model.Article false "Article info"
  77. // @Failure 403 {object} model.Fail
  78. // @Success 200 {object} model.Success
  79. // @Failure 500 {object} model.Fail
  80. // @Router /api/article/update [put]
  81. func ArticleUpdate(ctx *Context) {
  82. var payload model.Article
  83. if err := ctx.ShouldBindBodyWith(&payload, binding.JSON); err != nil {
  84. logrus.Error(err)
  85. ctx.Fail(err)
  86. return
  87. }
  88. payload.UpdateBy = null.StringFrom(ctx.GetToken().GetUserID())
  89. payload.UpdateTime = null.TimeFrom(time.Now().Value())
  90. ret, err := ctx.DB.ID(payload.ID.String).Update(&payload)
  91. if err != nil {
  92. logrus.Error(err)
  93. ctx.Fail(err)
  94. return
  95. }
  96. ctx.Success(ret)
  97. }
  98. // ArticlePage api implementation
  99. // @Summary Article page query
  100. // @Tags Article controller
  101. // @Param Authorization header string false "认证令牌"
  102. // @Param page query int false "Page number"
  103. // @Param size query int false "Page size"
  104. // @Failure 403 {object} model.Fail
  105. // @Success 200 {object} model.Success
  106. // @Failure 500 {object} model.Fail
  107. // @Router /api/article/page [get]
  108. func ArticlePage(ctx *Context) {
  109. q := ctx.TypeQuery()
  110. q.SetInt("page", 1)
  111. q.SetInt("size", 15)
  112. q.SetRule("article_page")
  113. q.SetTags()
  114. ret, err := ctx.PageSearch(ctx.DB, "article", "page", "article", q.Value())
  115. if err != nil {
  116. logrus.Error(err)
  117. ctx.Fail(err)
  118. return
  119. }
  120. ctx.Success(ret)
  121. }
  122. // ArticleGet api implementation
  123. // @Summary Get article info
  124. // @Tags Article controller
  125. // @Param Authorization header string false "认证令牌"
  126. // @Param id query string false "Article id"
  127. // @Failure 403 {object} model.Fail
  128. // @Success 200 {object} model.Success
  129. // @Failure 500 {object} model.Fail
  130. // @Router /api/article/get [get]
  131. func ArticleGet(ctx *Context) {
  132. var entity model.Article
  133. id := ctx.Query("id")
  134. _, err := ctx.DB.ID(id).Get(&entity)
  135. if err != nil {
  136. logrus.Error(err)
  137. return
  138. }
  139. ctx.Success(entity)
  140. }