Files
kenaito-conf/server/internal/handler/index.go
T

59 lines
1.6 KiB
Go

package handler
import (
"kenaito-conf/server/internal/middleware"
"kenaito-conf/server/internal/model"
"net/http"
"github.com/gin-gonic/gin"
)
type IndexHandler struct{}
func NewIndexHandler() *IndexHandler {
return &IndexHandler{}
}
func (h *IndexHandler) GetMenus(c *gin.Context) {
userInfo := middleware.GetUserInfo(c)
if userInfo == nil {
c.JSON(http.StatusUnauthorized, model.WrapperResponse{Code: 401, Msg: "未登录"})
return
}
menus := make([]model.Menu, 0)
// 环境管理
if userInfo.IsSuperAdmin() {
menuEnv := model.NewMenu("环境管理", "fa-cubes", true)
menuEnv.AddSubMenu("环境管理", "", "/profile/list")
menus = append(menus, menuEnv)
}
// 业务组管理
if userInfo.IsSuperAdmin() {
menuGroup := model.NewMenu("业务组管理", "fa-cubes", true)
menuGroup.AddSubMenu("业务组管理", "", "/group/list")
menus = append(menus, menuGroup)
}
// 用户管理
if userInfo.IsSuperAdmin() || userInfo.IsGroupAdmin() {
menuUser := model.NewMenu("用户管理", "fa-cubes", true)
menuUser.AddSubMenu("用户管理", "", "/user/list")
menus = append(menus, menuUser)
}
// 应用管理
menuApp := model.NewMenu("应用管理", "fa-cubes", true)
menuApp.AddSubMenu("应用管理", "", "/app/list")
menus = append(menus, menuApp)
// 配置管理
menuConfig := model.NewMenu("配置管理", "fa-cubes", true)
menuConfig.AddSubMenu("配置管理", "", "/app/config/list")
menus = append(menus, menuConfig)
c.JSON(http.StatusOK, model.WrapperResponse{Code: 0, Data: menus})
}