MCPcopy Create free account
hub / github.com/bytebase/bytebase / GetNameParentTokens

Function GetNameParentTokens

backend/common/resource_name.go:518–532  ·  view source on GitHub ↗

GetNameParentTokens returns the tokens from a resource name.

(name string, tokenPrefixes ...string)

Source from the content-addressed store, hash-verified

516
517// GetNameParentTokens returns the tokens from a resource name.
518func GetNameParentTokens(name string, tokenPrefixes ...string) ([]string, error) {
519 parts := strings.Split(name, "/")
520 if len(parts) != 2*len(tokenPrefixes) {
521 return nil, errors.Errorf("invalid request %q", name)
522 }
523
524 var tokens []string
525 for i, tokenPrefix := range tokenPrefixes {
526 if fmt.Sprintf("%s/", parts[2*i]) != tokenPrefix {
527 return nil, errors.Errorf("invalid prefix %q in request %q", tokenPrefix, name)
528 }
529 tokens = append(tokens, parts[2*i+1])
530 }
531 return tokens, nil
532}
533
534func GetWorkspaceID(name string) (string, error) {
535 tokens, err := GetNameParentTokens(name, WorkspacePrefix)

Callers 15

GetProjectIDFunction · 0.70
GetProjectIDWebhookIDFunction · 0.70
GetEnvironmentIDFunction · 0.70
GetInstanceIDFunction · 0.70
GetInstanceDatabaseIDFunction · 0.70
GetUserEmailFunction · 0.70
GetSettingNameFunction · 0.70

Calls 1

ErrorfMethod · 0.80

Tested by

no test coverage detected