123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- package api
- import (
- "gadmin/config"
- "gadmin/internal/admin/forms"
- "gadmin/internal/admin/service"
- "gadmin/internal/gorm/model"
- "gadmin/internal/gorm/query"
- "gadmin/utility/serializer"
- "github.com/gin-gonic/gin"
- "github.com/sirupsen/logrus"
- )
- func AdminRoleList(c *gin.Context) {
- var req forms.AdminRoleListReq
- if err := c.ShouldBind(&req); err != nil {
- c.JSON(200, ErrorResponse(err))
- return
- }
- if err := forms.ParseParams(&req); err != nil {
- c.JSON(200, ErrorResponse(err))
- return
- }
- c.JSON(200, service.AdminRole.List(c, req))
- }
- func AdminRoleAuthOption(c *gin.Context) {
- var (
- //keys []int
- lists []*forms.Option
- )
- //permissions, err := config.GetAllPermissions()
- permissions := config.GetAllOptions()
- //if err != nil {
- // c.JSON(200, ErrorResponse(err))
- // return
- //}
- //for k, _ := range config.AuthNameMap {
- // keys = append(keys, k)
- //}
- //
- //sort.Ints(keys)
- for _, v := range permissions {
- lists = append(lists, &forms.Option{
- Value: v.ID,
- Label: v.Name,
- Name: v.Name,
- })
- }
- c.JSON(200, serializer.Suc(lists))
- }
- func AdminRolePageOption(c *gin.Context) {
- lists := make(map[int32][]*forms.TreeOption)
- menuMap, err := GetAllMenuList(c)
- if err != nil {
- c.JSON(200, ErrorResponse(err))
- return
- }
- for systemId, items := range menuMap {
- for _, item := range items {
- if item.Meta.IsSuper {
- continue
- }
- menu := &forms.TreeOption{
- Key: item.Id,
- Label: item.Meta.Title,
- Children: []*forms.TreeOption{},
- }
- if len(item.Children) > 0 {
- for _, children := range item.Children {
- if children.Meta.IsSuper {
- continue
- }
- menu.Children = append(menu.Children, &forms.TreeOption{
- Key: children.Id,
- Label: children.Meta.Title,
- })
- }
- }
- if _, ok := lists[systemId]; !ok {
- lists[systemId] = []*forms.TreeOption{menu}
- } else {
- lists[systemId] = append(lists[systemId], menu)
- }
- }
- }
- c.JSON(200, serializer.Suc(lists))
- }
- // AdminRoleOption 角色选项
- func AdminRoleOption(c *gin.Context) {
- var (
- q = query.Use(config.AdminDB).AdminRole
- m = q.WithContext(c)
- lists []*model.AdminRole
- list []forms.Option
- err error
- )
- if err = m.Scan(&lists); err != nil {
- c.JSON(200, ErrorResponse(err))
- return
- }
- for _, v := range lists {
- list = append(list, forms.Option{
- Value: v.ID,
- Label: v.Name,
- Name: v.Name,
- })
- }
- c.JSON(200, serializer.Suc(list))
- }
- func AdminRoleEdit(c *gin.Context) {
- var req forms.AdminRoleEditReq
- if err := c.ShouldBind(&req); err != nil {
- logrus.Error(err)
- c.JSON(200, ErrorResponse(err))
- return
- }
- if err := forms.ParseParams(&req); err != nil {
- c.JSON(200, ErrorResponse(err))
- return
- }
- c.JSON(200, service.AdminRole.Edit(c, req))
- }
|