diff --git a/app/api/controller/gitspace/create.go b/app/api/controller/gitspace/create.go index 2e3fa2b9d..44199b0cd 100644 --- a/app/api/controller/gitspace/create.go +++ b/app/api/controller/gitspace/create.go @@ -104,11 +104,10 @@ func (c *Controller) Create( return nil, err } } - suffixUID, err := gonanoid.Generate(gitspace.AllowedUIDAlphabet, 6) + identifier, err := buildIdentifier(in.Identifier) if err != nil { - return nil, fmt.Errorf("could not generate UID for gitspace config : %q %w", in.Identifier, err) + return nil, fmt.Errorf("could not generate identrifier for gitspace config : %q %w", in.Identifier, err) } - identifier := strings.ToLower(in.Identifier + "-" + suffixUID) now := time.Now().UnixMilli() var gitspaceConfig *types.GitspaceConfig // assume resource to be in same space if it's not explicitly specified. @@ -281,3 +280,14 @@ func (c *Controller) sanitizeCreateInput(in *CreateInput) error { return nil } + +func buildIdentifier(identifier string) (string, error) { + suffixUID, err := gonanoid.Generate(gitspace.AllowedUIDAlphabet, 6) + if err != nil { + return "", fmt.Errorf("could not generate UID for gitspace config : %q %w", identifier, err) + } + if len(identifier) > 50 { + identifier = identifier[:50] + } + return strings.ToLower(identifier + "-" + suffixUID), nil +} diff --git a/registry/app/api/openapi/contracts/artifact/types.gen.go b/registry/app/api/openapi/contracts/artifact/types.gen.go index 27e658e1e..917b4b5b7 100644 --- a/registry/app/api/openapi/contracts/artifact/types.gen.go +++ b/registry/app/api/openapi/contracts/artifact/types.gen.go @@ -95,7 +95,7 @@ const ( UpstreamConfigSourceDockerhub UpstreamConfigSource = "Dockerhub" UpstreamConfigSourceMavenCentral UpstreamConfigSource = "MavenCentral" UpstreamConfigSourcePyPi UpstreamConfigSource = "PyPi" - UpstreamConfigSourceNpmjs UpstreamConfigSource = "NpmJs" + UpstreamConfigSourceNpmjs UpstreamConfigSource = "NpmJs" ) // Defines values for WebhookExecResult.