Skip to content

Commit

Permalink
fix: make org and project name case insensitive
Browse files Browse the repository at this point in the history
All org and project slugs will be converted to lower case before
they are created. Existing org and projects will continue to work
as usual.

Signed-off-by: Kush Sharma <thekushsharma@gmail.com>
  • Loading branch information
kushsharma committed Feb 7, 2025
1 parent 366c9f4 commit 39b21b9
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 0 deletions.
1 change: 1 addition & 0 deletions internal/store/postgres/organization_repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ func (r OrganizationRepository) Create(ctx context.Context, org organization.Org
if strings.TrimSpace(org.Name) == "" {
return organization.Organization{}, organization.ErrInvalidDetail
}
org.Name = strings.ToLower(org.Name)

marshaledMetadata, err := json.Marshal(org.Metadata)
if err != nil {
Expand Down
8 changes: 8 additions & 0 deletions internal/store/postgres/organization_repository_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,14 @@ func (s *OrganizationRepositoryTestSuite) TestCreate() {
},
ErrString: organization.ErrConflict.Error(),
},
{
Description: "should return error if organization name already exist case sensitive",
OrganizationToCreate: organization.Organization{
Name: "ORG-1",
Metadata: metadata.Metadata{},
},
ErrString: organization.ErrConflict.Error(),
},
{
Description: "should return error if organization name is empty",
OrganizationToCreate: organization.Organization{
Expand Down
1 change: 1 addition & 0 deletions internal/store/postgres/project_repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ func (r ProjectRepository) Create(ctx context.Context, prj project.Project) (pro
if strings.TrimSpace(prj.Name) == "" {
return project.Project{}, project.ErrInvalidDetail
}
prj.Name = strings.ToLower(prj.Name)

marshaledMetadata, err := json.Marshal(prj.Metadata)
if err != nil {
Expand Down
10 changes: 10 additions & 0 deletions internal/store/postgres/project_repository_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,16 @@ func (s *ProjectRepositoryTestSuite) TestCreate() {
},
ErrString: project.ErrConflict.Error(),
},
{
Description: "should return error if project slug already exist case sensitive",
ProjectToCreate: project.Project{
Name: "PROJECT-2",
Organization: organization.Organization{
ID: s.orgs[0].ID,
},
},
ErrString: project.ErrConflict.Error(),
},
{
Description: "should return error if org id not an uuid",
ProjectToCreate: project.Project{
Expand Down

0 comments on commit 39b21b9

Please sign in to comment.