127 lines
3.0 KiB
Go
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, "")
|
|
}
|