liuhaijun e94826ce29 add server
Change-Id: I0760f17f6a01c0121b59fcbfafc666032dbc30af
2024-09-19 09:44:15 +00:00

127 lines
3.0 KiB
Go

package app_manage
import (
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/model"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/model/app_manage/workspace"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/model/user"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/pkg/errors"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/pkg/request"
"github.com/gin-gonic/gin"
"strings"
)
type UserPageBody struct {
PageInfo *request.PageInfo `json:"pageInfo" binding:"required"`
Id string `json:"id"`
Name string `json:"name"`
}
func PageUsers(c *gin.Context) {
var pageBody UserPageBody
err := c.ShouldBindJSON(&pageBody)
if err != nil {
controller.FailCode(c, errors.InvalidParameter, err, "请检查参数!")
return
}
um := user.NewUserModel()
fields := map[string]interface{}{}
if pageBody.Id != "" {
fields["user_id"] = pageBody.Id
}
if pageBody.Name != "" {
fields["user_name"] = pageBody.Name
}
page := &model.Page[user.UserModel]{}
page.Covert(pageBody.PageInfo)
err = um.Page(page, fields)
if err != nil {
controller.FailCode(c, errors.ServerError, err, "内部错误!")
return
}
controller.Success(c, page)
}
func GetUserWorkSpace(c *gin.Context) {
userId := c.Query("userId")
if userId == "" {
controller.FailCode(c, errors.InvalidParameter, nil, "请检查参数!")
return
}
um := &user.UserModel{}
um.UserID = userId
err := um.Get()
if err != nil {
controller.FailCode(c, errors.InvalidParameter, nil, "请检查参数!")
return
}
if um.AdminRole == 1 {
w := workspace.New()
result, err := w.GetAll(w, nil, nil)
if err != nil {
controller.FailCode(c, errors.ServerError, err, "内部错误!")
return
}
controller.Success(c, result)
return
}
namespace := um.Namespace
if namespace == "" {
controller.Success(c, "")
return
}
ns := strings.Split(namespace, ",")
if len(ns) == 0 {
controller.Success(c, "")
return
}
w := workspace.New()
fields := make(map[string]interface{}, 1)
fields["id"] = ns
result, err := w.GetAll(w, fields, nil)
if err != nil {
controller.FailCode(c, errors.ServerError, err, "内部错误!")
return
}
controller.Success(c, result)
}
type EditUserWorkSpaceBody struct {
UserId string `json:"userId"`
WorkspaceIds string `json:"workspaceIds"`
}
func EditUserWorkSpace(c *gin.Context) {
var body EditUserWorkSpaceBody
err := c.ShouldBindJSON(&body)
if err != nil {
controller.FailCode(c, errors.InvalidParameter, err, "请检查参数!")
return
}
if body.UserId == "" {
controller.FailCode(c, errors.InvalidParameter, err, "请检查参数!")
return
}
um := user.NewUserModel()
um.UserID = body.UserId
err = um.Get()
if err != nil {
controller.FailCode(c, errors.ServerError, err, "内部错误!")
return
}
um.Namespace = body.WorkspaceIds
err = um.Update([]string{"namespace"})
if err != nil {
controller.FailCode(c, errors.ServerError, err, "内部错误!")
return
}
controller.Success(c, "")
}