auth.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. package admin
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "zhiyuan/pkg/app"
  5. "zhiyuan/pkg/utils"
  6. "zhiyuan/services/auth"
  7. "zhiyuan/services/form"
  8. )
  9. func AuthInfo(c *gin.Context) {
  10. id := utils.StrTo(c.Param("id")).MustInt()
  11. if id <= 0 {
  12. app.ErrorMsg(c, "auth id must be a number", nil)
  13. return
  14. }
  15. auth, err := auth.GetInfoByID(id)
  16. if err != nil {
  17. app.Error(c, err.Error())
  18. return
  19. }
  20. app.Success(c, auth)
  21. }
  22. func AuthList(c *gin.Context) {
  23. isTree := utils.ToInt(c.Query("tree"))
  24. if isTree == 1 {
  25. AuthListTree(c)
  26. return
  27. }
  28. page := app.HandlePageNum(c)
  29. where := make(map[string]interface{})
  30. total, err := auth.Count(where)
  31. if err != nil {
  32. app.Error(c, err.Error())
  33. return
  34. }
  35. auths, err := auth.GetList(where, []string{"id", "name", "pid", "auth"}, page, nil)
  36. if err != nil {
  37. app.Error(c, err.Error())
  38. return
  39. }
  40. data := gin.H{
  41. "list": auths,
  42. "total": total,
  43. "limit": page.PageSize,
  44. }
  45. app.Success(c, data)
  46. }
  47. func AuthListTree(c *gin.Context) {
  48. auths, err := auth.GetList(nil, []string{"id", "name", "pid", "auth"}, app.Page{}, nil)
  49. if err != nil {
  50. app.Error(c, err.Error())
  51. return
  52. }
  53. app.Success(c, utils.GenTree(auths, "id", "pid", "children", 0))
  54. }
  55. func AuthAdd(c *gin.Context) {
  56. var form form.AuthAdd
  57. if app.Bind(c, &form) != nil {
  58. return
  59. }
  60. id, err := auth.Add(form)
  61. if err != nil {
  62. app.Error(c, err.Error())
  63. return
  64. }
  65. app.Success(c, gin.H{"id": id})
  66. }
  67. func AuthEdit(c *gin.Context) {
  68. id := utils.StrTo(c.Param("id")).MustInt()
  69. if id <= 0 {
  70. app.ErrorMsg(c, "auth id must be a number", nil)
  71. return
  72. }
  73. var form form.AuthAdd
  74. if app.Bind(c, &form) != nil {
  75. return
  76. }
  77. err := auth.EditByID(form, id)
  78. if err != nil {
  79. app.Error(c, err.Error())
  80. return
  81. }
  82. app.Success(c, nil)
  83. }
  84. func AuthDel(c *gin.Context) {
  85. id := utils.StrTo(c.Param("id")).MustInt()
  86. if id <= 0 {
  87. app.ErrorMsg(c, "auth id must be a number", nil)
  88. return
  89. }
  90. err := auth.DeleteByID(id)
  91. if err != nil {
  92. app.Error(c, err.Error())
  93. return
  94. }
  95. app.Success(c, nil)
  96. }