mirror of
https://github.com/paralus/paralus.git
synced 2026-08-24 15:47:19 +00:00
Add proper unique constraint to project
This commit is contained in:
@@ -28,6 +28,8 @@ ALTER TABLE authsrv_partner OWNER TO admindbuser;
|
||||
|
||||
ALTER TABLE ONLY authsrv_partner ADD CONSTRAINT authsrv_partner_pkey PRIMARY KEY (id);
|
||||
|
||||
CREATE UNIQUE index authsrv_partner_unique_name ON authsrv_partner (name) WHERE trash IS false;
|
||||
|
||||
CREATE INDEX authsrv_partner_name_b6a8d21f ON authsrv_partner USING btree (name);
|
||||
|
||||
CREATE INDEX authsrv_partner_name_b6a8d21f_like ON authsrv_partner USING btree (name varchar_pattern_ops);
|
||||
|
||||
@@ -14,6 +14,9 @@ ALTER TABLE authsrv_project OWNER TO admindbuser;
|
||||
|
||||
ALTER TABLE ONLY authsrv_project ADD CONSTRAINT authsrv_project_pkey PRIMARY KEY (id);
|
||||
|
||||
-- update when we have more than one org
|
||||
CREATE UNIQUE index authsrv_project_unique_name ON authsrv_project (name) WHERE trash IS false;
|
||||
|
||||
CREATE INDEX authsrv_project_name_1b8dd279 ON authsrv_project USING btree (name);
|
||||
|
||||
CREATE INDEX authsrv_project_name_1b8dd279_like ON authsrv_project USING btree (name varchar_pattern_ops);
|
||||
@@ -28,4 +31,4 @@ ALTER TABLE ONLY authsrv_project
|
||||
|
||||
ALTER TABLE ONLY authsrv_project
|
||||
ADD CONSTRAINT authsrv_project_partner_id_3d505b76_fk_authsrv_partner_id FOREIGN KEY (partner_id)
|
||||
REFERENCES authsrv_partner(id) DEFERRABLE INITIALLY DEFERRED;
|
||||
REFERENCES authsrv_partner(id) DEFERRABLE INITIALLY DEFERRED;
|
||||
|
||||
@@ -64,6 +64,11 @@ func (s *projectService) Create(ctx context.Context, project *systemv3.Project)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
p, _ := dao.GetIdByNamePartnerOrg(ctx, s.db, project.GetMetadata().GetName(), uuid.NullUUID{}, uuid.NullUUID{}, &models.Project{})
|
||||
if p != nil {
|
||||
return nil, fmt.Errorf("project '%v' already exists", project.GetMetadata().GetName())
|
||||
}
|
||||
|
||||
//convert v3 spec to internal models
|
||||
proj := models.Project{
|
||||
Name: project.GetMetadata().GetName(),
|
||||
|
||||
Reference in New Issue
Block a user