diff --git a/internal/rpc/services/service_server.go b/internal/rpc/services/service_server.go index d466bf9d..c37e496c 100644 --- a/internal/rpc/services/service_server.go +++ b/internal/rpc/services/service_server.go @@ -37,17 +37,22 @@ func (this *ServerService) CreateServer(ctx context.Context, req *pb.CreateServe req.UserId = userId } + // 修复一个单词拼写错误 + if len(req.ServerNamesJON) > 0 && len(req.ServerNamesJSON) == 0 { + req.ServerNamesJSON = req.ServerNamesJON + } + // 校验用户相关数据 if userId > 0 { // HTTPS if len(req.HttpsJSON) > 0 { - httpsConfig := &serverconfigs.HTTPSProtocolConfig{} + var httpsConfig = &serverconfigs.HTTPSProtocolConfig{} err = json.Unmarshal(req.HttpsJSON, httpsConfig) if err != nil { return nil, err } if httpsConfig.SSLPolicyRef != nil && httpsConfig.SSLPolicyRef.SSLPolicyId > 0 { - err := models.SharedSSLPolicyDAO.CheckUserPolicy(tx, userId, httpsConfig.SSLPolicyRef.SSLPolicyId) + err = models.SharedSSLPolicyDAO.CheckUserPolicy(tx, userId, httpsConfig.SSLPolicyRef.SSLPolicyId) if err != nil { return nil, err } @@ -56,13 +61,13 @@ func (this *ServerService) CreateServer(ctx context.Context, req *pb.CreateServe // TLS if len(req.TlsJSON) > 0 { - tlsConfig := &serverconfigs.TLSProtocolConfig{} + var tlsConfig = &serverconfigs.TLSProtocolConfig{} err = json.Unmarshal(req.TlsJSON, tlsConfig) if err != nil { return nil, err } if tlsConfig.SSLPolicyRef != nil && tlsConfig.SSLPolicyRef.SSLPolicyId > 0 { - err := models.SharedSSLPolicyDAO.CheckUserPolicy(tx, userId, tlsConfig.SSLPolicyRef.SSLPolicyId) + err = models.SharedSSLPolicyDAO.CheckUserPolicy(tx, userId, tlsConfig.SSLPolicyRef.SSLPolicyId) if err != nil { return nil, err } @@ -103,9 +108,9 @@ func (this *ServerService) CreateServer(ctx context.Context, req *pb.CreateServe } // 是否需要审核 - isAuditing := false - serverNamesJSON := req.ServerNamesJON - auditingServerNamesJSON := []byte("[]") + var isAuditing = false + var serverNamesJSON = req.ServerNamesJSON + var auditingServerNamesJSON = []byte("[]") if userId > 0 { // 如果域名不为空的时候需要审核 if len(serverNamesJSON) > 0 && string(serverNamesJSON) != "[]" { @@ -116,7 +121,7 @@ func (this *ServerService) CreateServer(ctx context.Context, req *pb.CreateServe if globalConfig != nil && globalConfig.HTTPAll.DomainAuditingIsOn { isAuditing = true serverNamesJSON = []byte("[]") - auditingServerNamesJSON = req.ServerNamesJON + auditingServerNamesJSON = req.ServerNamesJSON } } } @@ -159,6 +164,18 @@ func (this *ServerService) CreateServer(ctx context.Context, req *pb.CreateServe } } + // 域名 + if len(req.Name) == 0 && len(req.ServerNamesJSON) > 0 { + var serverNames = []*serverconfigs.ServerNameConfig{} + err = json.Unmarshal(req.ServerNamesJSON, &serverNames) + if err != nil { + return nil, errors.New("decode server names failed: " + err.Error()) + } + if len(serverNames) > 0 { + req.Name = serverNames[0].FirstName() + } + } + serverId, err := models.SharedServerDAO.CreateServer(tx, req.AdminId, req.UserId, req.Type, req.Name, req.Description, serverNamesJSON, isAuditing, auditingServerNamesJSON, req.HttpJSON, req.HttpsJSON, req.TcpJSON, req.TlsJSON, req.UnixJSON, req.UdpJSON, req.WebId, req.ReverseProxyJSON, req.NodeClusterId, req.IncludeNodesJSON, req.ExcludeNodesJSON, req.ServerGroupIds, req.UserPlanId) if err != nil { return nil, err