From 66f1fe52e61f822bf7236ad3437b1e37c1adff6c Mon Sep 17 00:00:00 2001 From: Iraq Jaber Date: Mon, 30 Jun 2025 16:03:55 +0200 Subject: [PATCH] fixup! fixup! fix(org): adding unique constrants to not allow an org to be added twice with same id --- .../org/v2beta/integration_test/org_test.go | 19 ++++++++++--------- internal/repository/org/org.go | 8 ++------ internal/static/i18n/bg.yaml | 2 +- internal/static/i18n/cs.yaml | 2 +- internal/static/i18n/de.yaml | 2 +- internal/static/i18n/es.yaml | 2 +- internal/static/i18n/fr.yaml | 2 +- internal/static/i18n/hu.yaml | 2 +- internal/static/i18n/id.yaml | 2 +- internal/static/i18n/it.yaml | 2 +- internal/static/i18n/ja.yaml | 2 +- internal/static/i18n/ko.yaml | 2 +- internal/static/i18n/mk.yaml | 2 +- internal/static/i18n/nl.yaml | 2 +- internal/static/i18n/pl.yaml | 2 +- internal/static/i18n/pt.yaml | 2 +- internal/static/i18n/ro.yaml | 2 +- internal/static/i18n/ru.yaml | 2 +- internal/static/i18n/sv.yaml | 2 +- internal/static/i18n/zh.yaml | 2 +- 20 files changed, 30 insertions(+), 33 deletions(-) diff --git a/internal/api/grpc/org/v2beta/integration_test/org_test.go b/internal/api/grpc/org/v2beta/integration_test/org_test.go index 59fe235bad..23c1d61917 100644 --- a/internal/api/grpc/org/v2beta/integration_test/org_test.go +++ b/internal/api/grpc/org/v2beta/integration_test/org_test.go @@ -52,7 +52,7 @@ func TestServer_CreateOrganization(t *testing.T) { ctx context.Context req *v2beta_org.CreateOrganizationRequest id string - testfunc func(ctx context.Context, t *testing.T) + testFunc func(ctx context.Context, t *testing.T) want *v2beta_org.CreateOrganizationResponse wantErr bool } @@ -85,8 +85,8 @@ func TestServer_CreateOrganization(t *testing.T) { Name: orgName, Admins: nil, }, - testfunc: func(ctx context.Context, t *testing.T) { - // create org initally + testFunc: func(ctx context.Context, t *testing.T) { + // create org initially _, err := Client.CreateOrganization(ctx, &v2beta_org.CreateOrganizationRequest{ Name: orgName, }) @@ -238,14 +238,15 @@ func TestServer_CreateOrganization(t *testing.T) { name: "adding org with same ID twice", ctx: CTX, req: &v2beta_org.CreateOrganizationRequest{ - Name: orgID, + Id: &orgID, + Name: gofakeit.Name(), Admins: nil, }, - testfunc: func(ctx context.Context, t *testing.T) { - // create org initally + testFunc: func(ctx context.Context, t *testing.T) { + // create org initially _, err := Client.CreateOrganization(ctx, &v2beta_org.CreateOrganizationRequest{ - Name: gofakeit.AppName(), Id: &orgID, + Name: gofakeit.Name(), }) require.NoError(t, err) }, @@ -255,8 +256,8 @@ func TestServer_CreateOrganization(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - if tt.testfunc != nil { - tt.testfunc(tt.ctx, t) + if tt.testFunc != nil { + tt.testFunc(tt.ctx, t) } got, err := Client.CreateOrganization(tt.ctx, tt.req) diff --git a/internal/repository/org/org.go b/internal/repository/org/org.go index 597e7d147f..5c9d3005dc 100644 --- a/internal/repository/org/org.go +++ b/internal/repository/org/org.go @@ -52,7 +52,6 @@ func NewRemoveOrgNameUniqueConstraint(orgName string) *eventstore.UniqueConstrai type OrgAddedEvent struct { eventstore.BaseEvent `json:"-"` - ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` } @@ -61,7 +60,7 @@ func (e *OrgAddedEvent) Payload() interface{} { } func (e *OrgAddedEvent) UniqueConstraints() []*eventstore.UniqueConstraint { - return []*eventstore.UniqueConstraint{NewAddOrgIDUniqueConstraint(e.ID), NewAddOrgNameUniqueConstraint(e.Name)} + return []*eventstore.UniqueConstraint{NewAddOrgIDUniqueConstraint(e.Aggregate().ID), NewAddOrgNameUniqueConstraint(e.Name)} } func (e *OrgAddedEvent) Fields() []*eventstore.FieldOperation { @@ -108,7 +107,6 @@ func NewOrgAddedEvent(ctx context.Context, aggregate *eventstore.Aggregate, name aggregate, OrgAddedEventType, ), - ID: aggregate.ID, Name: name, } } @@ -291,7 +289,6 @@ func OrgReactivatedEventMapper(event eventstore.Event) (eventstore.Event, error) type OrgRemovedEvent struct { eventstore.BaseEvent `json:"-"` - id string name string usernames []string loginMustBeDomain bool @@ -306,7 +303,7 @@ func (e *OrgRemovedEvent) Payload() interface{} { func (e *OrgRemovedEvent) UniqueConstraints() []*eventstore.UniqueConstraint { constraints := []*eventstore.UniqueConstraint{ - NewRemoveOrgIDUniqueConstraint(e.id), + NewRemoveOrgIDUniqueConstraint(e.Aggregate().ID), NewRemoveOrgNameUniqueConstraint(e.name), } for _, name := range e.usernames { @@ -338,7 +335,6 @@ func NewOrgRemovedEvent(ctx context.Context, aggregate *eventstore.Aggregate, na aggregate, OrgRemovedEventType, ), - id: aggregate.ID, name: name, usernames: usernames, domains: domains, diff --git a/internal/static/i18n/bg.yaml b/internal/static/i18n/bg.yaml index d58b2eb64a..a07ea36dc3 100644 --- a/internal/static/i18n/bg.yaml +++ b/internal/static/i18n/bg.yaml @@ -196,7 +196,7 @@ Errors: AlreadyExists: Екземплярът вече съществува NotChanged: Екземплярът не е променен Org: - AlreadyExists: Името на организацията вече е заето + AlreadyExists: Името или идентификационният номер на организацията вече е зает. Invalid: Организацията е невалидна AlreadyDeactivated: Организацията вече е деактивирана AlreadyActive: Организацията вече е активна diff --git a/internal/static/i18n/cs.yaml b/internal/static/i18n/cs.yaml index d248ce4ca7..6e1e939687 100644 --- a/internal/static/i18n/cs.yaml +++ b/internal/static/i18n/cs.yaml @@ -194,7 +194,7 @@ Errors: AlreadyExists: Instance již existuje NotChanged: Instance nezměněna Org: - AlreadyExists: Název organizace je již obsazen + AlreadyExists: Името или идентификационният номер на организацията вече е зает Invalid: Organizace je neplatná AlreadyDeactivated: Organizace je již deaktivována AlreadyActive: Organizace je již aktivní diff --git a/internal/static/i18n/de.yaml b/internal/static/i18n/de.yaml index 96edf57456..79efcd128e 100644 --- a/internal/static/i18n/de.yaml +++ b/internal/static/i18n/de.yaml @@ -194,7 +194,7 @@ Errors: AlreadyExists: Instanz exisitiert bereits NotChanged: Instanz wurde nicht verändert Org: - AlreadyExists: Organisationsname existiert bereits + AlreadyExists: Der Name oder die ID der Organisation ist bereits vorhanden Invalid: Organisation ist ungültig AlreadyDeactivated: Organisation ist bereits deaktiviert AlreadyActive: Organisation ist bereits aktiv diff --git a/internal/static/i18n/es.yaml b/internal/static/i18n/es.yaml index 8c901f8ebe..284d4dd90d 100644 --- a/internal/static/i18n/es.yaml +++ b/internal/static/i18n/es.yaml @@ -194,7 +194,7 @@ Errors: AlreadyExists: La instancia ya existe NotChanged: La instancia no ha cambiado Org: - AlreadyExists: El nombre de la organización ya está cogido + AlreadyExists: El nombre o id de la organización ya está tomado Invalid: El nombre de la organización no es válido AlreadyDeactivated: La organización ya está desactivada AlreadyActive: La organización ya está activada diff --git a/internal/static/i18n/fr.yaml b/internal/static/i18n/fr.yaml index 2a2a51d7c4..0e6a48a5bb 100644 --- a/internal/static/i18n/fr.yaml +++ b/internal/static/i18n/fr.yaml @@ -194,7 +194,7 @@ Errors: AlreadyExists: L'instance existe déjà NotChanged: L'instance n'a pas changé Org: - AlreadyExists: Le nom de l'organisation est déjà pris + AlreadyExists: Le nom de l'organisation ou l'identifiant est déjà pris Invalid: L'organisation n'est pas valide AlreadyDeactivated: L'organisation est déjà désactivée AlreadyActive: L'organisation est déjà active diff --git a/internal/static/i18n/hu.yaml b/internal/static/i18n/hu.yaml index a4cc908fa2..b18e56fc1a 100644 --- a/internal/static/i18n/hu.yaml +++ b/internal/static/i18n/hu.yaml @@ -194,7 +194,7 @@ Errors: AlreadyExists: Az instance már létezik NotChanged: Az instance nem változott Org: - AlreadyExists: A szervezet neve már foglalt + AlreadyExists: A szervezet neve vagy azonosítója már foglalt Invalid: A szervezet érvénytelen AlreadyDeactivated: A szervezet már deaktiválva van AlreadyActive: A szervezet már aktív diff --git a/internal/static/i18n/id.yaml b/internal/static/i18n/id.yaml index c9187020f7..ea3602b4f3 100644 --- a/internal/static/i18n/id.yaml +++ b/internal/static/i18n/id.yaml @@ -194,7 +194,7 @@ Errors: AlreadyExists: Contoh sudah ada NotChanged: Contoh tidak berubah Org: - AlreadyExists: Nama organisasi sudah dipakai + AlreadyExists: Nama atau ID organisasi sudah digunakan Invalid: Organisasi tidak valid AlreadyDeactivated: Organisasi sudah dinonaktifkan AlreadyActive: Organisasi sudah aktif diff --git a/internal/static/i18n/it.yaml b/internal/static/i18n/it.yaml index d1dccef4c7..70878e5efe 100644 --- a/internal/static/i18n/it.yaml +++ b/internal/static/i18n/it.yaml @@ -194,7 +194,7 @@ Errors: AlreadyExists: L'istanza esiste già NotChanged: Istanza non modificata Org: - AlreadyExists: Nome dell'organizzazione già preso + AlreadyExists: Nome o ID dell'organizzazione già utilizzato Invalid: L'organizzazione non è valida AlreadyDeactivated: L'organizzazione è già disattivata AlreadyActive: L'organizzazione è già attiva diff --git a/internal/static/i18n/ja.yaml b/internal/static/i18n/ja.yaml index 4b0f2ea203..ad49cda89a 100644 --- a/internal/static/i18n/ja.yaml +++ b/internal/static/i18n/ja.yaml @@ -195,7 +195,7 @@ Errors: AlreadyExists: すでに存在するインスタンス NotChanged: インスタンスは変更されていません Org: - AlreadyExists: 組織の名前はすでに使用されています + AlreadyExists: 組織名またはIDはすでに使用されています Invalid: 無効な組織です AlreadyDeactivated: 組織はすでに非アクティブです AlreadyActive: 組織はすでにアクティブです diff --git a/internal/static/i18n/ko.yaml b/internal/static/i18n/ko.yaml index 2c87aa1f97..60c5d37917 100644 --- a/internal/static/i18n/ko.yaml +++ b/internal/static/i18n/ko.yaml @@ -195,7 +195,7 @@ Errors: AlreadyExists: 인스턴스가 이미 존재합니다 NotChanged: 인스턴스가 변경되지 않았습니다 Org: - AlreadyExists: 조직 이름이 이미 사용 중입니다 + AlreadyExists: 조직 이름 또는 ID가 이미 사용 중입니다 Invalid: 조직이 유효하지 않습니다 AlreadyDeactivated: 조직이 이미 비활성화되었습니다 AlreadyActive: 조직이 이미 활성화되었습니다 diff --git a/internal/static/i18n/mk.yaml b/internal/static/i18n/mk.yaml index 64ae87a618..0636ea88d7 100644 --- a/internal/static/i18n/mk.yaml +++ b/internal/static/i18n/mk.yaml @@ -193,7 +193,7 @@ Errors: AlreadyExists: Инстанцата веќе постои NotChanged: Инстанцата не е променета Org: - AlreadyExists: Името на организацијата е веќе зафатено + AlreadyExists: Името или ID-то на организацијата е веќе зафатено Invalid: Организацијата е невалидна AlreadyDeactivated: Организацијата е веќе деактивирана AlreadyActive: Организацијата е веќе активна diff --git a/internal/static/i18n/nl.yaml b/internal/static/i18n/nl.yaml index dc9fd83721..fba19c04e1 100644 --- a/internal/static/i18n/nl.yaml +++ b/internal/static/i18n/nl.yaml @@ -194,7 +194,7 @@ Errors: AlreadyExists: Instantie bestaat al NotChanged: Instantie is niet veranderd Org: - AlreadyExists: Organisatienaam is al in gebruik + AlreadyExists: Organisatienaam of -id is al in gebruik Invalid: Organisatie is ongeldig AlreadyDeactivated: Organisatie is al gedeactiveerd AlreadyActive: Organisatie is al actief diff --git a/internal/static/i18n/pl.yaml b/internal/static/i18n/pl.yaml index 4952345510..df8065f36b 100644 --- a/internal/static/i18n/pl.yaml +++ b/internal/static/i18n/pl.yaml @@ -194,7 +194,7 @@ Errors: AlreadyExists: Instancja już istnieje NotChanged: Instancja nie zmieniona Org: - AlreadyExists: Nazwa organizacji jest już zajęta + AlreadyExists: Nazwa lub identyfikator organizacji jest już zajęty Invalid: Organizacja jest nieprawidłowa AlreadyDeactivated: Organizacja jest już deaktywowana AlreadyActive: Organizacja jest już aktywna diff --git a/internal/static/i18n/pt.yaml b/internal/static/i18n/pt.yaml index e5fc785d0c..584a2bf048 100644 --- a/internal/static/i18n/pt.yaml +++ b/internal/static/i18n/pt.yaml @@ -193,7 +193,7 @@ Errors: AlreadyExists: Instância já existe NotChanged: Instância não alterada Org: - AlreadyExists: Nome da organização já está em uso + AlreadyExists: O nome ou ID da organização já está em uso Invalid: Organização é inválida AlreadyDeactivated: Organização já está desativada AlreadyActive: Organização já está ativa diff --git a/internal/static/i18n/ro.yaml b/internal/static/i18n/ro.yaml index ece4680de6..56b8dba6d3 100644 --- a/internal/static/i18n/ro.yaml +++ b/internal/static/i18n/ro.yaml @@ -195,7 +195,7 @@ Errors: AlreadyExists: Instanța există deja NotChanged: Instanța nu a fost schimbată Org: - AlreadyExists: Numele organizației este deja luat + AlreadyExists: Numele sau ID-ul organizației este deja utilizat Invalid: Organizația este invalidă AlreadyDeactivated: Organizația este deja dezactivată AlreadyActive: Organizația este deja activă diff --git a/internal/static/i18n/ru.yaml b/internal/static/i18n/ru.yaml index a2efd25322..c10219aac8 100644 --- a/internal/static/i18n/ru.yaml +++ b/internal/static/i18n/ru.yaml @@ -194,7 +194,7 @@ Errors: AlreadyExists: Экземпляр уже существует NotChanged: Экземпляр не изменён Org: - AlreadyExists: Название организации уже занято + AlreadyExists: Название организации или идентификатор уже занят Invalid: Организация недействительна AlreadyDeactivated: Организация уже деактивирована AlreadyActive: Организация уже активна diff --git a/internal/static/i18n/sv.yaml b/internal/static/i18n/sv.yaml index be40ceba3c..7f67a10463 100644 --- a/internal/static/i18n/sv.yaml +++ b/internal/static/i18n/sv.yaml @@ -194,7 +194,7 @@ Errors: AlreadyExists: Instans finns redan NotChanged: Instans ändrades inte Org: - AlreadyExists: Organisationens namn är redan taget + AlreadyExists: Organisationens namn eller ID är redan upptaget Invalid: Organisationen är ogiltigt AlreadyDeactivated: Organisation är redan avaktiverad AlreadyActive: Organisationen är redan aktiv diff --git a/internal/static/i18n/zh.yaml b/internal/static/i18n/zh.yaml index 930fcaddae..117f6096fc 100644 --- a/internal/static/i18n/zh.yaml +++ b/internal/static/i18n/zh.yaml @@ -194,7 +194,7 @@ Errors: AlreadyExists: 实例已经存在 NotChanged: 实例没有改变 Org: - AlreadyExists: 组织名称已被占用 + AlreadyExists: 该组织名称或 ID 已被占用 Invalid: 组织无效 AlreadyDeactivated: 组织已停用 AlreadyActive: 组织已处于启用状态