Skip to content

Commit

Permalink
fix: no trim name
Browse files Browse the repository at this point in the history
  • Loading branch information
keita-determined committed Jan 4, 2023
1 parent 32b6cc5 commit 74470b7
Showing 1 changed file with 7 additions and 10 deletions.
17 changes: 7 additions & 10 deletions master/internal/api_workspace.go
Expand Up @@ -51,17 +51,16 @@ func maskStorageConfigSecrets(w *workspacev1.Workspace) error {
return nil
}

func validateWorkspaceName(name string) (string, error) {
func validateWorkspaceName(name string) error {
switch {
case len(name) < 1:
return "", status.Errorf(codes.InvalidArgument, "name '%s' must be at least 1 character long", name)
return status.Errorf(codes.InvalidArgument, "name '%s' must be at least 1 character long", name)
case len(name) > 80:
return "", status.Errorf(codes.InvalidArgument, "name '%s' must be at most 80 character long", name)
return status.Errorf(codes.InvalidArgument, "name '%s' must be at most 80 character long", name)
case len(strings.TrimFunc(name, unicode.IsSpace)) == 0:
return "", status.Error(codes.InvalidArgument, "name must contain at least non-whitespace letter")
return status.Error(codes.InvalidArgument, "name must contain at least non-whitespace letter")
default:
trimmedName := strings.TrimFunc(name, unicode.IsSpace)
return trimmedName, nil
return nil
}
}

Expand Down Expand Up @@ -288,11 +287,10 @@ func (a *apiServer) PostWorkspace(
return nil, status.Error(codes.PermissionDenied, err.Error())
}

trimmedWName, err := validateWorkspaceName(req.Name)
err = validateWorkspaceName(req.Name)
if err != nil {
return nil, err
}
req.Name = trimmedWName

if req.AgentUserGroup != nil {
err = workspace.AuthZProvider.Get().CanCreateWorkspaceWithAgentUserGroup(ctx, *curUser)
Expand Down Expand Up @@ -382,11 +380,10 @@ func (a *apiServer) PatchWorkspace(
updatedWorkspace := model.Workspace{}

if req.Workspace.Name != nil {
trimmedWName, err := validateWorkspaceName(req.Workspace.Name.Value)
err = validateWorkspaceName(req.Workspace.Name.Value)
if err != nil {
return nil, err
}
req.Workspace.Name.Value = trimmedWName
}

if req.Workspace.Name != nil && req.Workspace.Name.Value != currWorkspace.Name {
Expand Down

0 comments on commit 74470b7

Please sign in to comment.