fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! refactor(api): moving organization API resourced based

This commit is contained in:
Iraq Jaber
2025-05-04 15:53:33 +02:00
parent 6878e2f6b5
commit e7d1939012
5 changed files with 305 additions and 75 deletions

View File

@@ -75,7 +75,7 @@ func createdOrganizationToPb(createdOrg *command.CreatedOrg) (_ *org.CreateOrgan
} }
return &org.CreateOrganizationResponse{ return &org.CreateOrganizationResponse{
Details: v2beta_object.DomainToDetailsPb(createdOrg.ObjectDetails), Details: v2beta_object.DomainToDetailsPb(createdOrg.ObjectDetails),
OrganizationId: createdOrg.ObjectDetails.ResourceOwner, Id: createdOrg.ObjectDetails.ResourceOwner,
CreatedAdmins: admins, CreatedAdmins: admins,
}, nil }, nil
} }
@@ -202,7 +202,7 @@ func DomainQueryToModel(searchQuery *v2beta_org.DomainSearchQuery) (query.Search
func RemoveOrgDomainRequestToDomain(ctx context.Context, req *v2beta_org.DeleteOrganizationDomainRequest) *domain.OrgDomain { func RemoveOrgDomainRequestToDomain(ctx context.Context, req *v2beta_org.DeleteOrganizationDomainRequest) *domain.OrgDomain {
return &domain.OrgDomain{ return &domain.OrgDomain{
ObjectRoot: models.ObjectRoot{ ObjectRoot: models.ObjectRoot{
AggregateID: req.OrganizationId, AggregateID: req.Id,
}, },
Domain: req.Domain, Domain: req.Domain,
} }
@@ -211,7 +211,7 @@ func RemoveOrgDomainRequestToDomain(ctx context.Context, req *v2beta_org.DeleteO
func GenerateOrgDomainValidationRequestToDomain(ctx context.Context, req *v2beta_org.GenerateOrganizationDomainValidationRequest) *domain.OrgDomain { func GenerateOrgDomainValidationRequestToDomain(ctx context.Context, req *v2beta_org.GenerateOrganizationDomainValidationRequest) *domain.OrgDomain {
return &domain.OrgDomain{ return &domain.OrgDomain{
ObjectRoot: models.ObjectRoot{ ObjectRoot: models.ObjectRoot{
AggregateID: req.OrganizationId, AggregateID: req.Id,
}, },
Domain: req.Domain, Domain: req.Domain,
ValidationType: v2beta_object.DomainValidationTypeToDomain(req.Type), ValidationType: v2beta_object.DomainValidationTypeToDomain(req.Type),
@@ -221,7 +221,7 @@ func GenerateOrgDomainValidationRequestToDomain(ctx context.Context, req *v2beta
func ValidateOrgDomainRequestToDomain(ctx context.Context, req *v2beta_org.VerifyOrganizationDomainRequest) *domain.OrgDomain { func ValidateOrgDomainRequestToDomain(ctx context.Context, req *v2beta_org.VerifyOrganizationDomainRequest) *domain.OrgDomain {
return &domain.OrgDomain{ return &domain.OrgDomain{
ObjectRoot: models.ObjectRoot{ ObjectRoot: models.ObjectRoot{
AggregateID: req.OrganizationId, AggregateID: req.Id,
}, },
Domain: req.Domain, Domain: req.Domain,
} }

View File

@@ -112,7 +112,7 @@ func TestServer_CreateOrganization(t *testing.T) {
}, },
}, },
want: &v2beta_org.CreateOrganizationResponse{ want: &v2beta_org.CreateOrganizationResponse{
OrganizationId: integration.NotEmpty, Id: integration.NotEmpty,
CreatedAdmins: []*v2beta_org.CreateOrganizationResponse_CreatedAdmin{ CreatedAdmins: []*v2beta_org.CreateOrganizationResponse_CreatedAdmin{
{ {
UserId: integration.NotEmpty, UserId: integration.NotEmpty,
@@ -183,7 +183,7 @@ func TestServer_CreateOrganization(t *testing.T) {
assert.NotEmpty(t, got.GetDetails().GetResourceOwner()) assert.NotEmpty(t, got.GetDetails().GetResourceOwner())
// organization id must be the same as the resourceOwner // organization id must be the same as the resourceOwner
assert.Equal(t, got.GetDetails().GetResourceOwner(), got.GetOrganizationId()) assert.Equal(t, got.GetDetails().GetResourceOwner(), got.GetId())
// check the admins // check the admins
require.Len(t, got.GetCreatedAdmins(), len(tt.want.GetCreatedAdmins())) require.Len(t, got.GetCreatedAdmins(), len(tt.want.GetCreatedAdmins()))
@@ -200,7 +200,7 @@ func TestServer_UpdateOrganization(t *testing.T) {
if err != nil { if err != nil {
assert.Fail(t, "unable to create org") assert.Fail(t, "unable to create org")
} }
orgId := orgs[0].OrganizationId orgId := orgs[0].Id
orgName := orgsName[0] orgName := orgsName[0]
tests := []struct { tests := []struct {
@@ -226,6 +226,15 @@ func TestServer_UpdateOrganization(t *testing.T) {
Name: orgName, Name: orgName,
}, },
}, },
{
name: "update org with non existanet org id",
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
req: &v2beta_org.UpdateOrganizationRequest{
Id: "non existant org id",
// Name: "",
},
wantErr: true,
},
{ {
name: "update org with no id", name: "update org with no id",
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner), ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
@@ -260,7 +269,7 @@ func TestServer_GetOrganizationByID(t *testing.T) {
if err != nil { if err != nil {
assert.Fail(t, "unable to create org") assert.Fail(t, "unable to create org")
} }
orgId := orgs[0].OrganizationId orgId := orgs[0].Id
orgName := orgsName[0] orgName := orgsName[0]
tests := []struct { tests := []struct {
@@ -322,15 +331,15 @@ func TestServer_ListOrganization(t *testing.T) {
req: &v2beta_org.ListOrganizationsRequest{}, req: &v2beta_org.ListOrganizationsRequest{},
want: []*v2beta_org.Organization{ want: []*v2beta_org.Organization{
{ {
Id: orgs[0].OrganizationId, Id: orgs[0].Id,
Name: orgsName[0], Name: orgsName[0],
}, },
{ {
Id: orgs[1].OrganizationId, Id: orgs[1].Id,
Name: orgsName[1], Name: orgsName[1],
}, },
{ {
Id: orgs[2].OrganizationId, Id: orgs[2].Id,
Name: orgsName[2], Name: orgsName[2],
}, },
}, },
@@ -388,7 +397,7 @@ func TestServer_DeleteOrganization(t *testing.T) {
if err != nil { if err != nil {
assert.Fail(t, "unable to create org") assert.Fail(t, "unable to create org")
} }
return orgs[0].OrganizationId return orgs[0].Id
}, },
req: &v2beta_org.DeleteOrganizationRequest{}, req: &v2beta_org.DeleteOrganizationRequest{},
}, },
@@ -451,7 +460,7 @@ func TestServer_DeactivateReactivateOrganization(t *testing.T) {
if err != nil { if err != nil {
assert.Fail(t, "unable to create orgs") assert.Fail(t, "unable to create orgs")
} }
orgId := orgs[0].OrganizationId orgId := orgs[0].Id
ctx := Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner) ctx := Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner)
// 2. check inital state of organization // 2. check inital state of organization
@@ -561,13 +570,13 @@ func TestServer_AddOListDeleterganizationDomain(t *testing.T) {
if err != nil { if err != nil {
assert.Fail(t, "unable to create org") assert.Fail(t, "unable to create org")
} }
orgId := orgs[0].OrganizationId orgId := orgs[0].Id
ctx := Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner) ctx := Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner)
domain := "www.domain.com" domain := "www.domain.com"
// 2. add domain // 2. add domain
addOrgDomainRes, err := Client.AddOrganizationDomain(ctx, &v2beta_org.AddOrganizationDomainRequest{ addOrgDomainRes, err := Client.AddOrganizationDomain(ctx, &v2beta_org.AddOrganizationDomainRequest{
OrganizationId: orgId, Id: orgId,
Domain: domain, Domain: domain,
}) })
require.NoError(t, err) require.NoError(t, err)
@@ -580,7 +589,7 @@ func TestServer_AddOListDeleterganizationDomain(t *testing.T) {
// 2. check domain is added // 2. check domain is added
queryRes, err := Client.ListOrganizationDomains(CTX, &v2beta_org.ListOrganizationDomainsRequest{ queryRes, err := Client.ListOrganizationDomains(CTX, &v2beta_org.ListOrganizationDomainsRequest{
OrganizationId: orgId, Id: orgId,
}) })
require.NoError(t, err) require.NoError(t, err)
found := false found := false
@@ -593,7 +602,7 @@ func TestServer_AddOListDeleterganizationDomain(t *testing.T) {
// 3. readd domain // 3. readd domain
_, err = Client.AddOrganizationDomain(ctx, &v2beta_org.AddOrganizationDomainRequest{ _, err = Client.AddOrganizationDomain(ctx, &v2beta_org.AddOrganizationDomainRequest{
OrganizationId: orgId, Id: orgId,
Domain: domain, Domain: domain,
}) })
// TODO remove error for adding already existing domain // TODO remove error for adding already existing domain
@@ -608,7 +617,7 @@ func TestServer_AddOListDeleterganizationDomain(t *testing.T) {
// 4. check domain is added // 4. check domain is added
queryRes, err = Client.ListOrganizationDomains(CTX, &v2beta_org.ListOrganizationDomainsRequest{ queryRes, err = Client.ListOrganizationDomains(CTX, &v2beta_org.ListOrganizationDomainsRequest{
OrganizationId: orgId, Id: orgId,
}) })
require.NoError(t, err) require.NoError(t, err)
found = false found = false
@@ -621,7 +630,7 @@ func TestServer_AddOListDeleterganizationDomain(t *testing.T) {
// 5. delete organisation domain // 5. delete organisation domain
deleteOrgDomainRes, err := Client.DeleteOrganizationDomain(ctx, &v2beta_org.DeleteOrganizationDomainRequest{ deleteOrgDomainRes, err := Client.DeleteOrganizationDomain(ctx, &v2beta_org.DeleteOrganizationDomainRequest{
OrganizationId: orgId, Id: orgId,
Domain: domain, Domain: domain,
}) })
require.NoError(t, err) require.NoError(t, err)
@@ -634,7 +643,7 @@ func TestServer_AddOListDeleterganizationDomain(t *testing.T) {
// 6. check organization domain deleted // 6. check organization domain deleted
queryRes, err = Client.ListOrganizationDomains(CTX, &v2beta_org.ListOrganizationDomainsRequest{ queryRes, err = Client.ListOrganizationDomains(CTX, &v2beta_org.ListOrganizationDomainsRequest{
OrganizationId: orgId, Id: orgId,
}) })
require.NoError(t, err) require.NoError(t, err)
found = false found = false
@@ -647,7 +656,7 @@ func TestServer_AddOListDeleterganizationDomain(t *testing.T) {
// 7. redelete organisation domain // 7. redelete organisation domain
_, err = Client.DeleteOrganizationDomain(ctx, &v2beta_org.DeleteOrganizationDomainRequest{ _, err = Client.DeleteOrganizationDomain(ctx, &v2beta_org.DeleteOrganizationDomainRequest{
OrganizationId: orgId, Id: orgId,
Domain: domain, Domain: domain,
}) })
// TODO remove error for deleting org domain already deleted // TODO remove error for deleting org domain already deleted
@@ -662,7 +671,7 @@ func TestServer_AddOListDeleterganizationDomain(t *testing.T) {
// 8. check organization domain deleted // 8. check organization domain deleted
queryRes, err = Client.ListOrganizationDomains(CTX, &v2beta_org.ListOrganizationDomainsRequest{ queryRes, err = Client.ListOrganizationDomains(CTX, &v2beta_org.ListOrganizationDomainsRequest{
OrganizationId: orgId, Id: orgId,
}) })
require.NoError(t, err) require.NoError(t, err)
found = false found = false
@@ -679,7 +688,7 @@ func TestServer_ValidateOrganizationDomain(t *testing.T) {
if err != nil { if err != nil {
assert.Fail(t, "unable to create org") assert.Fail(t, "unable to create org")
} }
orgId := orgs[0].OrganizationId orgId := orgs[0].Id
_, err = AdminClient.UpdateDomainPolicy(CTX, &admin.UpdateDomainPolicyRequest{ _, err = AdminClient.UpdateDomainPolicy(CTX, &admin.UpdateDomainPolicyRequest{
ValidateOrgDomains: true, ValidateOrgDomains: true,
@@ -688,7 +697,7 @@ func TestServer_ValidateOrganizationDomain(t *testing.T) {
domain := "www.domainnn.com" domain := "www.domainnn.com"
_, err = Client.AddOrganizationDomain(CTX, &v2beta_org.AddOrganizationDomainRequest{ _, err = Client.AddOrganizationDomain(CTX, &v2beta_org.AddOrganizationDomainRequest{
OrganizationId: orgId, Id: orgId,
Domain: domain, Domain: domain,
}) })
require.NoError(t, err) require.NoError(t, err)
@@ -703,7 +712,7 @@ func TestServer_ValidateOrganizationDomain(t *testing.T) {
name: "validate org http happy path", name: "validate org http happy path",
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner), ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
req: &v2beta_org.GenerateOrganizationDomainValidationRequest{ req: &v2beta_org.GenerateOrganizationDomainValidationRequest{
OrganizationId: orgId, Id: orgId,
Domain: domain, Domain: domain,
Type: org.DomainValidationType_DOMAIN_VALIDATION_TYPE_HTTP, Type: org.DomainValidationType_DOMAIN_VALIDATION_TYPE_HTTP,
}, },
@@ -712,7 +721,7 @@ func TestServer_ValidateOrganizationDomain(t *testing.T) {
name: "validate org http non existnetn org id", name: "validate org http non existnetn org id",
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner), ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
req: &v2beta_org.GenerateOrganizationDomainValidationRequest{ req: &v2beta_org.GenerateOrganizationDomainValidationRequest{
OrganizationId: "non existent org id", Id: "non existent org id",
Domain: domain, Domain: domain,
Type: org.DomainValidationType_DOMAIN_VALIDATION_TYPE_HTTP, Type: org.DomainValidationType_DOMAIN_VALIDATION_TYPE_HTTP,
}, },
@@ -720,10 +729,32 @@ func TestServer_ValidateOrganizationDomain(t *testing.T) {
err: errors.New("Domain doesn't exist on organization"), err: errors.New("Domain doesn't exist on organization"),
}, },
{ {
name: "validate org http non existnetn domain", name: "validate org dns happy path",
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner), ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
req: &v2beta_org.GenerateOrganizationDomainValidationRequest{ req: &v2beta_org.GenerateOrganizationDomainValidationRequest{
OrganizationId: orgId, Id: orgId,
Domain: domain,
Type: org.DomainValidationType_DOMAIN_VALIDATION_TYPE_DNS,
},
},
// TODO: "validate org dns non existnetn org id" has an consistent error message, need to investigate this
{
name: "validate org dns non existnetn org id",
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
req: &v2beta_org.GenerateOrganizationDomainValidationRequest{
Id: "non existent org id",
Domain: domain,
Type: org.DomainValidationType_DOMAIN_VALIDATION_TYPE_DNS,
},
// BUG: this should be 'organization does not exist'
err: errors.New("Domain doesn't exist on organization"),
},
// TODO: "validate org non existnetn domain" has an consistent error message, need to investigate this
{
name: "validate org non existnetn domain",
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
req: &v2beta_org.GenerateOrganizationDomainValidationRequest{
Id: orgId,
Domain: "non existent domain", Domain: "non existent domain",
Type: org.DomainValidationType_DOMAIN_VALIDATION_TYPE_HTTP, Type: org.DomainValidationType_DOMAIN_VALIDATION_TYPE_HTTP,
}, },
@@ -750,7 +781,7 @@ func TestServer_SetOrganizationMetadata(t *testing.T) {
if err != nil { if err != nil {
assert.Fail(t, "unable to create org") assert.Fail(t, "unable to create org")
} }
orgId := orgs[0].OrganizationId orgId := orgs[0].Id
tests := []struct { tests := []struct {
name string name string
@@ -869,7 +900,7 @@ func TestServer_ListOrganizationMetadata(t *testing.T) {
if err != nil { if err != nil {
assert.Fail(t, "unable to create org") assert.Fail(t, "unable to create org")
} }
orgId := orgs[0].OrganizationId orgId := orgs[0].Id
tests := []struct { tests := []struct {
name string name string
@@ -988,14 +1019,18 @@ func TestServer_DeleteOrganizationMetadata(t *testing.T) {
if err != nil { if err != nil {
assert.Fail(t, "unable to create org") assert.Fail(t, "unable to create org")
} }
orgId := orgs[0].OrganizationId orgId := orgs[0].Id
tests := []struct { tests := []struct {
name string name string
ctx context.Context ctx context.Context
setupFunc func() setupFunc func()
orgId string orgId string
keyValuPars []struct { metadataToDelete []struct {
key string
value string
}
metadataToRemain []struct {
key string key string
value string value string
} }
@@ -1017,13 +1052,132 @@ func TestServer_DeleteOrganizationMetadata(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
}, },
orgId: orgId, orgId: orgId,
keyValuPars: []struct{ key, value string }{ metadataToDelete: []struct{ key, value string }{
{ {
key: "key1", key: "key1",
value: "value1", value: "value1",
}, },
}, },
}, },
{
name: "delete multiple org metadata happy path",
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
setupFunc: func() {
_, err := Client.SetOrganizationMetadata(CTX, &v2beta_org.SetOrganizationMetadataRequest{
Id: orgId,
Metadata: []*v2beta_org.Metadata{
{
Key: "key2",
Value: []byte("value2"),
},
{
Key: "key3",
Value: []byte("value3"),
},
},
})
require.NoError(t, err)
},
orgId: orgId,
metadataToDelete: []struct{ key, value string }{
{
key: "key2",
value: "value2",
},
{
key: "key3",
value: "value3",
},
},
},
{
name: "delete some org metadata but not all",
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
setupFunc: func() {
_, err := Client.SetOrganizationMetadata(CTX, &v2beta_org.SetOrganizationMetadataRequest{
Id: orgId,
Metadata: []*v2beta_org.Metadata{
{
Key: "key4",
Value: []byte("value4"),
},
// key5 will not be deleted
{
Key: "key5",
Value: []byte("value5"),
},
{
Key: "key6",
Value: []byte("value6"),
},
},
})
require.NoError(t, err)
},
orgId: orgId,
metadataToDelete: []struct{ key, value string }{
{
key: "key4",
value: "value4",
},
{
key: "key6",
value: "value6",
},
},
metadataToRemain: []struct{ key, value string }{
{
key: "key5",
value: "value5",
},
},
},
{
name: "delete org metadata that does not exist",
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
setupFunc: func() {
_, err := Client.SetOrganizationMetadata(CTX, &v2beta_org.SetOrganizationMetadataRequest{
Id: orgId,
Metadata: []*v2beta_org.Metadata{
{
Key: "key88",
Value: []byte("value74"),
},
{
Key: "key5888",
Value: []byte("value8885"),
},
},
})
require.NoError(t, err)
},
orgId: orgId,
// TODO: this error message needs to be either removed or changed
err: errors.New("Metadata list is empty"),
},
{
name: "delete org metadata for org that does not exist",
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
setupFunc: func() {
_, err := Client.SetOrganizationMetadata(CTX, &v2beta_org.SetOrganizationMetadataRequest{
Id: orgId,
Metadata: []*v2beta_org.Metadata{
{
Key: "key88",
Value: []byte("value74"),
},
{
Key: "key5888",
Value: []byte("value8885"),
},
},
})
require.NoError(t, err)
},
orgId: "non existant org id",
// TODO: this error message needs to be either removed or changed
err: errors.New("Metadata list is empty"),
},
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
@@ -1037,7 +1191,7 @@ func TestServer_DeleteOrganizationMetadata(t *testing.T) {
}) })
require.NoError(t, err) require.NoError(t, err)
foundMetadataCount := 0 foundMetadataCount := 0
for _, kv := range tt.keyValuPars { for _, kv := range tt.metadataToDelete {
for _, res := range listOrgMetadataRes.Result { for _, res := range listOrgMetadataRes.Result {
if res.Key == kv.key && if res.Key == kv.key &&
string(res.Value) == kv.value { string(res.Value) == kv.value {
@@ -1045,11 +1199,17 @@ func TestServer_DeleteOrganizationMetadata(t *testing.T) {
} }
} }
} }
require.Equal(t, len(tt.keyValuPars), foundMetadataCount) require.Equal(t, len(tt.metadataToDelete), foundMetadataCount)
keys := make([]string, len(tt.metadataToDelete))
for i, kvp := range tt.metadataToDelete {
keys[i] = kvp.key
}
// run delete // run delete
_, err = Client.DeleteOrganizationMetadata(tt.ctx, &v2beta_org.DeleteOrganizationMetadataRequest{ _, err = Client.DeleteOrganizationMetadata(tt.ctx, &v2beta_org.DeleteOrganizationMetadataRequest{
Id: tt.orgId, Id: tt.orgId,
Keys: keys,
}) })
if tt.err != nil { if tt.err != nil {
require.Contains(t, err.Error(), tt.err.Error()) require.Contains(t, err.Error(), tt.err.Error())
@@ -1063,7 +1223,7 @@ func TestServer_DeleteOrganizationMetadata(t *testing.T) {
}) })
require.NoError(t, err) require.NoError(t, err)
foundMetadataCount = 0 foundMetadataCount = 0
for _, kv := range tt.keyValuPars { for _, kv := range tt.metadataToDelete {
for _, res := range listOrgMetadataRes.Result { for _, res := range listOrgMetadataRes.Result {
if res.Key == kv.key && if res.Key == kv.key &&
string(res.Value) == kv.value { string(res.Value) == kv.value {
@@ -1071,6 +1231,23 @@ func TestServer_DeleteOrganizationMetadata(t *testing.T) {
} }
} }
} }
require.Equal(t, foundMetadataCount, 0)
// check metadata that should not be delted was not deleted
listOrgMetadataRes, err = Client.ListOrganizationMetadata(tt.ctx, &v2beta_org.ListOrganizationMetadataRequest{
Id: tt.orgId,
})
require.NoError(t, err)
foundMetadataCount = 0
for _, kv := range tt.metadataToRemain {
for _, res := range listOrgMetadataRes.Result {
if res.Key == kv.key &&
string(res.Value) == kv.value {
foundMetadataCount += 1
}
}
}
require.Equal(t, len(tt.metadataToRemain), foundMetadataCount)
}) })
} }
} }

View File

@@ -127,11 +127,11 @@ func (s *Server) ReactivateOrganization(ctx context.Context, request *org.Reacti
} }
func (s *Server) AddOrganizationDomain(ctx context.Context, request *org.AddOrganizationDomainRequest) (*org.AddOrganizationDomainResponse, error) { func (s *Server) AddOrganizationDomain(ctx context.Context, request *org.AddOrganizationDomainRequest) (*org.AddOrganizationDomainResponse, error) {
userIDs, err := s.getClaimedUserIDsOfOrgDomain(ctx, request.Domain, request.OrganizationId) userIDs, err := s.getClaimedUserIDsOfOrgDomain(ctx, request.Domain, request.Id)
if err != nil { if err != nil {
return nil, err return nil, err
} }
details, err := s.command.AddOrgDomain(ctx, request.OrganizationId, request.Domain, userIDs) details, err := s.command.AddOrgDomain(ctx, request.Id, request.Domain, userIDs)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -145,7 +145,7 @@ func (s *Server) ListOrganizationDomains(ctx context.Context, req *org.ListOrgan
if err != nil { if err != nil {
return nil, err return nil, err
} }
orgIDQuery, err := query.NewOrgDomainOrgIDSearchQuery(req.OrganizationId) orgIDQuery, err := query.NewOrgDomainOrgIDSearchQuery(req.Id)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -183,7 +183,7 @@ func (s *Server) GenerateOrganizationDomainValidation(ctx context.Context, req *
} }
func (s *Server) VerifyOrganizationDomain(ctx context.Context, request *org.VerifyOrganizationDomainRequest) (*org.VerifyOrganizationDomainResponse, error) { func (s *Server) VerifyOrganizationDomain(ctx context.Context, request *org.VerifyOrganizationDomainRequest) (*org.VerifyOrganizationDomainResponse, error) {
userIDs, err := s.getClaimedUserIDsOfOrgDomain(ctx, request.Domain, request.OrganizationId) userIDs, err := s.getClaimedUserIDsOfOrgDomain(ctx, request.Domain, request.Id)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@@ -151,7 +151,7 @@ func Test_createdOrganizationToPb(t *testing.T) {
ChangeDate: timestamppb.New(now), ChangeDate: timestamppb.New(now),
ResourceOwner: "orgID", ResourceOwner: "orgID",
}, },
OrganizationId: "orgID", Id: "orgID",
CreatedAdmins: []*org.CreateOrganizationResponse_CreatedAdmin{ CreatedAdmins: []*org.CreateOrganizationResponse_CreatedAdmin{
{ {
UserId: "id", UserId: "id",

View File

@@ -598,7 +598,16 @@ message CreateOrganizationResponse{
optional string phone_code = 3; optional string phone_code = 3;
} }
zitadel.object.v2beta.Details details = 1; zitadel.object.v2beta.Details details = 1;
string organization_id = 2; string id = 2 [
(validate.rules).string = {min_len: 1, max_len: 200},
(google.api.field_behavior) = REQUIRED,
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
min_length: 1;
max_length: 200;
example: "\"69629012906488334\"";
description: "Organization ID of the newly created organization."
}
];
repeated CreatedAdmin created_admins = 3; repeated CreatedAdmin created_admins = 3;
} }
@@ -722,7 +731,16 @@ message ReactivateOrganizationResponse {
} }
message AddOrganizationDomainRequest { message AddOrganizationDomainRequest {
string organization_id = 1; string id = 1 [
(validate.rules).string = {min_len: 1, max_len: 200},
(google.api.field_behavior) = REQUIRED,
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
min_length: 1;
max_length: 200;
example: "\"69629012906488334\"";
description: "Organization ID of the organization you want to add a domain to."
}
];
string domain = 2 [ string domain = 2 [
(validate.rules).string = {min_len: 1, max_len: 200}, (validate.rules).string = {min_len: 1, max_len: 200},
(google.api.field_behavior) = REQUIRED, (google.api.field_behavior) = REQUIRED,
@@ -739,7 +757,16 @@ message AddOrganizationDomainResponse {
} }
message ListOrganizationDomainsRequest { message ListOrganizationDomainsRequest {
string organization_id = 1; string id = 1 [
(validate.rules).string = {min_len: 1, max_len: 200},
(google.api.field_behavior) = REQUIRED,
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
min_length: 1;
max_length: 200;
example: "\"69629012906488334\"";
description: "Organization ID of the organization you want the domains of."
}
];
//list limitations and ordering //list limitations and ordering
zitadel.object.v2beta.ListQuery query = 2; zitadel.object.v2beta.ListQuery query = 2;
//criteria the client is looking for //criteria the client is looking for
@@ -752,8 +779,16 @@ message ListOrganizationDomainsResponse {
} }
message DeleteOrganizationDomainRequest { message DeleteOrganizationDomainRequest {
// TODO maybe change organization_id to just Id string id = 1 [
string organization_id = 1; (validate.rules).string = {min_len: 1, max_len: 200},
(google.api.field_behavior) = REQUIRED,
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
min_length: 1;
max_length: 200;
example: "\"69629012906488334\"";
description: "Organization ID of the organization you want to delete."
}
];
string domain = 2 [ string domain = 2 [
(validate.rules).string = {min_len: 1, max_len: 200}, (validate.rules).string = {min_len: 1, max_len: 200},
(google.api.field_behavior) = REQUIRED, (google.api.field_behavior) = REQUIRED,
@@ -770,7 +805,16 @@ message DeleteOrganizationDomainResponse {
} }
message GenerateOrganizationDomainValidationRequest { message GenerateOrganizationDomainValidationRequest {
string organization_id = 1; string id = 1 [
(validate.rules).string = {min_len: 1, max_len: 200},
(google.api.field_behavior) = REQUIRED,
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
min_length: 1;
max_length: 200;
example: "\"69629012906488334\"";
description: "Organization ID of the organization you want to generate a validation request for."
}
];
string domain = 2 [ string domain = 2 [
(validate.rules).string = {min_len: 1, max_len: 200}, (validate.rules).string = {min_len: 1, max_len: 200},
(google.api.field_behavior) = REQUIRED, (google.api.field_behavior) = REQUIRED,
@@ -797,7 +841,16 @@ message GenerateOrganizationDomainValidationResponse {
} }
message VerifyOrganizationDomainRequest { message VerifyOrganizationDomainRequest {
string organization_id = 1; string id = 1 [
(validate.rules).string = {min_len: 1, max_len: 200},
(google.api.field_behavior) = REQUIRED,
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
min_length: 1;
max_length: 200;
example: "\"69629012906488334\"";
description: "Organization ID of the organization you want to veryify the domain on."
}
];
string domain = 2 [ string domain = 2 [
(validate.rules).string = {min_len: 1, max_len: 200}, (validate.rules).string = {min_len: 1, max_len: 200},
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {