package admin import ( "github.com/gin-gonic/gin" "zhiyuan/pkg/app" "zhiyuan/pkg/utils" "zhiyuan/services/auth" "zhiyuan/services/form" ) func AuthInfo(c *gin.Context) { id := utils.StrTo(c.Param("id")).MustInt() if id <= 0 { app.ErrorMsg(c, "auth id must be a number", nil) return } auth, err := auth.GetInfoByID(id) if err != nil { app.Error(c, err.Error()) return } app.Success(c, auth) } func AuthList(c *gin.Context) { isTree := utils.ToInt(c.Query("tree")) if isTree == 1 { AuthListTree(c) return } page := app.HandlePageNum(c) where := make(map[string]interface{}) total, err := auth.Count(where) if err != nil { app.Error(c, err.Error()) return } auths, err := auth.GetList(where, []string{"id", "name", "pid", "auth"}, page, nil) if err != nil { app.Error(c, err.Error()) return } data := gin.H{ "list": auths, "total": total, "limit": page.PageSize, } app.Success(c, data) } func AuthListTree(c *gin.Context) { auths, err := auth.GetList(nil, []string{"id", "name", "pid", "auth"}, app.Page{}, nil) if err != nil { app.Error(c, err.Error()) return } app.Success(c, utils.GenTree(auths, "id", "pid", "children", 0)) } func AuthAdd(c *gin.Context) { var form form.AuthAdd if app.Bind(c, &form) != nil { return } id, err := auth.Add(form) if err != nil { app.Error(c, err.Error()) return } app.Success(c, gin.H{"id": id}) } func AuthEdit(c *gin.Context) { id := utils.StrTo(c.Param("id")).MustInt() if id <= 0 { app.ErrorMsg(c, "auth id must be a number", nil) return } var form form.AuthAdd if app.Bind(c, &form) != nil { return } err := auth.EditByID(form, id) if err != nil { app.Error(c, err.Error()) return } app.Success(c, nil) } func AuthDel(c *gin.Context) { id := utils.StrTo(c.Param("id")).MustInt() if id <= 0 { app.ErrorMsg(c, "auth id must be a number", nil) return } err := auth.DeleteByID(id) if err != nil { app.Error(c, err.Error()) return } app.Success(c, nil) }