123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- 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 (
- // lists []*forms.Option
- //)
- //permissions := config.GetAllOptions()
- //for _, v := range permissions {
- // lists = append(lists, &forms.Option{
- // Value: v.ID,
- // Label: v.Name,
- // Name: v.Name,
- // })
- //}
- systems, err := service.AdminRole.GetAllSystem()
- if err != nil {
- c.JSON(200, ErrorResponse(err))
- return
- }
- lists := make(map[int32][]*forms.Option)
- for _, sys := range systems {
- operations, err := service.AdminRole.GetOperation(sys.ID)
- if err != nil {
- c.JSON(200, ErrorResponse(err))
- return
- }
- for _, it := range operations {
- if _, ok := lists[sys.ID]; !ok {
- lists[sys.ID] = []*forms.Option{
- {
- Value: it.ID,
- Label: it.Name,
- Name: it.Name,
- },
- }
- } else {
- lists[sys.ID] = append(lists[sys.ID], &forms.Option{
- Value: it.ID,
- Label: it.Name,
- Name: it.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))
- }
|