From eed0095126a0d02c2fd15d7409440c6e1162dcd8 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Fri, 31 Mar 2023 15:30:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BE=9B=E4=BF=AE=E6=94=B9=E7=BD=91?= =?UTF-8?q?=E7=AB=99=E5=90=8D=E7=A7=B0=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/server_dao.go | 12 ++++++++++ internal/rpc/services/service_server.go | 32 +++++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/internal/db/models/server_dao.go b/internal/db/models/server_dao.go index 89994702..596cb048 100644 --- a/internal/db/models/server_dao.go +++ b/internal/db/models/server_dao.go @@ -32,6 +32,10 @@ const ( ServerStateDisabled = 0 // 已禁用 ) +const ( + ModelServerNameMaxLength = 60 +) + type ServerDAO dbs.DAO func NewServerDAO() *ServerDAO { @@ -2784,6 +2788,14 @@ func (this *ServerDAO) UpdateServerUserId(tx *dbs.Tx, serverId int64, userId int return this.NotifyUpdate(tx, serverId) } +// UpdateServerName 修改服务名 +func (this *ServerDAO) UpdateServerName(tx *dbs.Tx, serverId int64, name string) error { + return this.Query(tx). + Pk(serverId). + Set("name", name). + UpdateQuickly() +} + // NotifyUpdate 同步服务所在的集群 func (this *ServerDAO) NotifyUpdate(tx *dbs.Tx, serverId int64) error { // 创建任务 diff --git a/internal/rpc/services/service_server.go b/internal/rpc/services/service_server.go index 97835907..67c50b42 100644 --- a/internal/rpc/services/service_server.go +++ b/internal/rpc/services/service_server.go @@ -2245,3 +2245,35 @@ func (this *ServerService) UpdateServerUser(ctx context.Context, req *pb.UpdateS return this.Success() } + +// UpdateServerName 修改服务名称 +func (this *ServerService) UpdateServerName(ctx context.Context, req *pb.UpdateServerNameRequest) (*pb.RPCSuccess, error) { + _, userId, err := this.ValidateAdminAndUser(ctx, true) + if err != nil { + return nil, err + } + + var tx = this.NullTx() + if userId > 0 { + err = models.SharedServerDAO.CheckUserServer(tx, userId, req.ServerId) + if err != nil { + return nil, err + } + } + + // 检查长度 + if len(req.Name) == 0 { + return nil, errors.New("'name' should not be empty") + } + + if len([]rune(req.Name)) > models.ModelServerNameMaxLength { + return nil, errors.New("'name' too long, max length: " + types.String(models.ModelServerNameMaxLength)) + } + + err = models.SharedServerDAO.UpdateServerName(tx, req.ServerId, req.Name) + if err != nil { + return nil, err + } + + return this.Success() +}