mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-08 11:20:26 +08:00
修改用户所属集群的时候同时修改其下的所有服务所属集群
This commit is contained in:
@@ -148,6 +148,7 @@ func (this *NodeDAO) IncreaseAllNodesLatestVersionMatch(clusterId int64) error {
|
|||||||
Attr("clusterId", clusterId).
|
Attr("clusterId", clusterId).
|
||||||
Set("latestVersion", dbs.SQL("latestVersion+1")).
|
Set("latestVersion", dbs.SQL("latestVersion+1")).
|
||||||
Update()
|
Update()
|
||||||
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1055,6 +1055,15 @@ func (this *ServerDAO) CheckUserServer(serverId int64, userId int64) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 设置一个用户下的所有服务的所属集群
|
||||||
|
func (this *ServerDAO) UpdateUserServersClusterId(userId int64, clusterId int64) error {
|
||||||
|
_, err := this.Query().
|
||||||
|
Attr("userId", userId).
|
||||||
|
Set("clusterId", clusterId).
|
||||||
|
Update()
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// 生成DNS Name
|
// 生成DNS Name
|
||||||
func (this *ServerDAO) genDNSName() (string, error) {
|
func (this *ServerDAO) genDNSName() (string, error) {
|
||||||
for {
|
for {
|
||||||
|
|||||||
@@ -1147,6 +1147,7 @@ func (this *NodeService) FindEnabledNodeDNS(ctx context.Context, req *pb.FindEna
|
|||||||
IpAddr: ipAddr,
|
IpAddr: ipAddr,
|
||||||
Routes: pbRoutes,
|
Routes: pbRoutes,
|
||||||
NodeClusterId: clusterId,
|
NodeClusterId: clusterId,
|
||||||
|
NodeClusterDNSName: clusterDNS.DnsName,
|
||||||
DnsDomainId: dnsDomainId,
|
DnsDomainId: dnsDomainId,
|
||||||
DnsDomainName: dnsDomainName,
|
DnsDomainName: dnsDomainName,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -645,6 +645,22 @@ func (this *ServerService) FindEnabledServer(ctx context.Context, req *pb.FindEn
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 用户信息
|
||||||
|
var pbUser *pb.User = nil
|
||||||
|
if server.UserId > 0 {
|
||||||
|
user, err := models.SharedUserDAO.FindEnabledBasicUser(int64(server.UserId))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if user != nil {
|
||||||
|
pbUser = &pb.User{
|
||||||
|
Id: int64(user.Id),
|
||||||
|
Username: user.Username,
|
||||||
|
Fullname: user.Fullname,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return &pb.FindEnabledServerResponse{Server: &pb.Server{
|
return &pb.FindEnabledServerResponse{Server: &pb.Server{
|
||||||
Id: int64(server.Id),
|
Id: int64(server.Id),
|
||||||
IsOn: server.IsOn == 1,
|
IsOn: server.IsOn == 1,
|
||||||
@@ -671,6 +687,7 @@ func (this *ServerService) FindEnabledServer(ctx context.Context, req *pb.FindEn
|
|||||||
Name: clusterName,
|
Name: clusterName,
|
||||||
},
|
},
|
||||||
Groups: pbGroups,
|
Groups: pbGroups,
|
||||||
|
User: pbUser,
|
||||||
}}, nil
|
}}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,10 +37,33 @@ func (this *UserService) UpdateUser(ctx context.Context, req *pb.UpdateUserReque
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
oldClusterId, err := models.SharedUserDAO.FindUserClusterId(req.UserId)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
err = models.SharedUserDAO.UpdateUser(req.UserId, req.Username, req.Password, req.Fullname, req.Mobile, req.Tel, req.Email, req.Remark, req.IsOn, req.NodeClusterId)
|
err = models.SharedUserDAO.UpdateUser(req.UserId, req.Username, req.Password, req.Fullname, req.Mobile, req.Tel, req.Email, req.Remark, req.IsOn, req.NodeClusterId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if oldClusterId != req.NodeClusterId {
|
||||||
|
err = models.SharedServerDAO.UpdateUserServersClusterId(req.UserId, req.NodeClusterId)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = models.SharedNodeDAO.IncreaseAllNodesLatestVersionMatch(oldClusterId)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = models.SharedNodeDAO.IncreaseAllNodesLatestVersionMatch(req.NodeClusterId)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return this.Success()
|
return this.Success()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user