mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-13 13:13:38 +00:00
fixup! Merge branch 'main' into org_api
This commit is contained in:
@@ -463,7 +463,7 @@ func startAPIs(
|
||||
if err := apis.RegisterService(ctx, settings_v2beta.CreateServer(commands, queries)); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := apis.RegisterService(ctx, org_v2beta.CreateServer(commands, queries, permissionCheck)); err != nil {
|
||||
if err := apis.RegisterService(ctx, org_v2beta.CreateServer(config.SystemDefaults, commands, queries, permissionCheck)); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := apis.RegisterService(ctx, feature_v2beta.CreateServer(commands, queries)); err != nil {
|
||||
|
@@ -901,6 +901,7 @@ func (s *Server) ListHumanLinkedIDPs(ctx context.Context, req *mgmt_pb.ListHuman
|
||||
Details: obj_grpc.ToListDetails(res.Count, res.Sequence, res.LastRun),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *Server) RemoveHumanLinkedIDP(ctx context.Context, req *mgmt_pb.RemoveHumanLinkedIDPRequest) (*mgmt_pb.RemoveHumanLinkedIDPResponse, error) {
|
||||
objectDetails, err := s.command.RemoveUserIDPLink(ctx, RemoveHumanLinkedIDPRequestToDomain(ctx, req))
|
||||
if err != nil {
|
||||
@@ -947,18 +948,21 @@ func cascadingIAMMembership(membership *query.IAMMembership) *command.CascadingI
|
||||
}
|
||||
return &command.CascadingIAMMembership{IAMID: membership.IAMID}
|
||||
}
|
||||
|
||||
func cascadingOrgMembership(membership *query.OrgMembership) *command.CascadingOrgMembership {
|
||||
if membership == nil {
|
||||
return nil
|
||||
}
|
||||
return &command.CascadingOrgMembership{OrgID: membership.OrgID}
|
||||
}
|
||||
|
||||
func cascadingProjectMembership(membership *query.ProjectMembership) *command.CascadingProjectMembership {
|
||||
if membership == nil {
|
||||
return nil
|
||||
}
|
||||
return &command.CascadingProjectMembership{ProjectID: membership.ProjectID}
|
||||
}
|
||||
|
||||
func cascadingProjectGrantMembership(membership *query.ProjectGrantMembership) *command.CascadingProjectGrantMembership {
|
||||
if membership == nil {
|
||||
return nil
|
||||
|
@@ -6,6 +6,7 @@ import (
|
||||
metadata "github.com/zitadel/zitadel/internal/api/grpc/metadata/v2beta"
|
||||
v2beta_object "github.com/zitadel/zitadel/internal/api/grpc/object/v2beta"
|
||||
"github.com/zitadel/zitadel/internal/command"
|
||||
"github.com/zitadel/zitadel/internal/config/systemdefaults"
|
||||
"github.com/zitadel/zitadel/internal/domain"
|
||||
"github.com/zitadel/zitadel/internal/eventstore/v1/models"
|
||||
"github.com/zitadel/zitadel/internal/query"
|
||||
@@ -14,6 +15,7 @@ import (
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
|
||||
// TODO fix below
|
||||
filter "github.com/zitadel/zitadel/internal/api/grpc/filter/v2beta"
|
||||
org "github.com/zitadel/zitadel/pkg/grpc/org/v2beta"
|
||||
v2beta_org "github.com/zitadel/zitadel/pkg/grpc/org/v2beta"
|
||||
)
|
||||
@@ -21,9 +23,12 @@ import (
|
||||
// NOTE: most of this code is copied from `internal/api/grpc/admin/*`, as we will eventually axe the previous versons of the API,
|
||||
// we will have code duplication until then
|
||||
|
||||
func listOrgRequestToModel(request *v2beta_org.ListOrganizationsRequest) (*query.OrgSearchQueries, error) {
|
||||
offset, limit, asc := v2beta_object.ListQueryToModel(request.Query)
|
||||
queries, err := OrgQueriesToModel(request.Queries)
|
||||
func listOrgRequestToModel(systemDefaults systemdefaults.SystemDefaults, request *v2beta_org.ListOrganizationsRequest) (*query.OrgSearchQueries, error) {
|
||||
offset, limit, asc, err := filter.PaginationPbToQuery(systemDefaults, request.Pagination)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
queries, err := OrgQueriesToModel(request.Filter)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -94,7 +99,7 @@ func OrgViewsToPb(orgs []*query.Org) []*v2beta_org.Organization {
|
||||
return o
|
||||
}
|
||||
|
||||
func OrgQueriesToModel(queries []*v2beta_org.OrgQuery) (_ []query.SearchQuery, err error) {
|
||||
func OrgQueriesToModel(queries []*v2beta_org.OrgQueryFilter) (_ []query.SearchQuery, err error) {
|
||||
q := make([]query.SearchQuery, len(queries))
|
||||
for i, query := range queries {
|
||||
q[i], err = OrgQueryToModel(query)
|
||||
@@ -105,15 +110,15 @@ func OrgQueriesToModel(queries []*v2beta_org.OrgQuery) (_ []query.SearchQuery, e
|
||||
return q, nil
|
||||
}
|
||||
|
||||
func OrgQueryToModel(apiQuery *v2beta_org.OrgQuery) (query.SearchQuery, error) {
|
||||
func OrgQueryToModel(apiQuery *v2beta_org.OrgQueryFilter) (query.SearchQuery, error) {
|
||||
switch q := apiQuery.Query.(type) {
|
||||
case *v2beta_org.OrgQuery_DomainQuery:
|
||||
case *v2beta_org.OrgQueryFilter_DomainQuery:
|
||||
return query.NewOrgVerifiedDomainSearchQuery(v2beta_object.TextMethodToQuery(q.DomainQuery.Method), q.DomainQuery.Domain)
|
||||
case *v2beta_org.OrgQuery_NameQuery:
|
||||
case *v2beta_org.OrgQueryFilter_NameQuery:
|
||||
return query.NewOrgNameSearchQuery(v2beta_object.TextMethodToQuery(q.NameQuery.Method), q.NameQuery.Name)
|
||||
case *v2beta_org.OrgQuery_StateQuery:
|
||||
case *v2beta_org.OrgQueryFilter_StateQuery:
|
||||
return query.NewOrgStateSearchQuery(OrgStateToDomain(q.StateQuery.State))
|
||||
case *v2beta_org.OrgQuery_IdQuery:
|
||||
case *v2beta_org.OrgQueryFilter_IdQuery:
|
||||
return query.NewOrgIDSearchQuery(q.IdQuery.Id)
|
||||
default:
|
||||
return nil, zerrors.ThrowInvalidArgument(nil, "ORG-vR9nC", "List.Query.Invalid")
|
||||
@@ -164,10 +169,9 @@ func OrgViewToPb(org *query.Org) *v2beta_org.Organization {
|
||||
}
|
||||
}
|
||||
|
||||
func ListOrgDomainsRequestToModel(req *org.ListOrganizationDomainsRequest) (*query.OrgDomainSearchQueries, error) {
|
||||
offset, limit, asc := ListQueryToModel(req.Query)
|
||||
// queries, err := org_grpc.DomainQueriesToModel(req.Queries)
|
||||
queries, err := DomainQueriesToModel(req.Queries)
|
||||
func ListOrgDomainsRequestToModel(systemDefaults systemdefaults.SystemDefaults, request *org.ListOrganizationDomainsRequest) (*query.OrgDomainSearchQueries, error) {
|
||||
offset, limit, asc, err := filter.PaginationPbToQuery(systemDefaults, request.Pagination)
|
||||
queries, err := DomainQueriesToModel(request.Filter)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -249,9 +253,9 @@ func BulkSetOrgMetadataToDomain(req *v2beta_org.SetOrganizationMetadataRequest)
|
||||
return metadata
|
||||
}
|
||||
|
||||
func ListOrgMetadataToDomain(request *v2beta_org.ListOrganizationMetadataRequest) (*query.OrgMetadataSearchQueries, error) {
|
||||
offset, limit, asc := v2beta_object.ListQueryToModel(request.Query)
|
||||
queries, err := metadata.OrgMetadataQueriesToQuery(request.Queries)
|
||||
func ListOrgMetadataToDomain(systemDefaults systemdefaults.SystemDefaults, request *v2beta_org.ListOrganizationMetadataRequest) (*query.OrgMetadataSearchQueries, error) {
|
||||
offset, limit, asc, err := filter.PaginationPbToQuery(systemDefaults, request.Pagination)
|
||||
queries, err := metadata.OrgMetadataQueriesToQuery(request.Filter)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@@ -276,7 +276,7 @@ func TestServer_ListOrganization(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
ctx context.Context
|
||||
query []*v2beta_org.OrgQuery
|
||||
query []*v2beta_org.OrgQueryFilter
|
||||
want []*v2beta_org.Organization
|
||||
wantErr bool
|
||||
}{
|
||||
@@ -301,9 +301,9 @@ func TestServer_ListOrganization(t *testing.T) {
|
||||
{
|
||||
name: "list organizations by id happy path",
|
||||
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
|
||||
query: []*v2beta_org.OrgQuery{
|
||||
query: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &v2beta_org.OrgQuery_IdQuery{
|
||||
Query: &v2beta_org.OrgQueryFilter_IdQuery{
|
||||
IdQuery: &v2beta_org.OrgIDQuery{
|
||||
Id: orgs[1].Id,
|
||||
},
|
||||
@@ -320,9 +320,9 @@ func TestServer_ListOrganization(t *testing.T) {
|
||||
{
|
||||
name: "list organizations by state active",
|
||||
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
|
||||
query: []*v2beta_org.OrgQuery{
|
||||
query: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &v2beta_org.OrgQuery_StateQuery{
|
||||
Query: &v2beta_org.OrgQueryFilter_StateQuery{
|
||||
StateQuery: &v2beta_org.OrgStateQuery{
|
||||
State: v2beta_org.OrgState_ORG_STATE_ACTIVE,
|
||||
},
|
||||
@@ -343,9 +343,9 @@ func TestServer_ListOrganization(t *testing.T) {
|
||||
{
|
||||
name: "list organizations by state inactive",
|
||||
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
|
||||
query: []*v2beta_org.OrgQuery{
|
||||
query: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &v2beta_org.OrgQuery_StateQuery{
|
||||
Query: &v2beta_org.OrgQueryFilter_StateQuery{
|
||||
StateQuery: &v2beta_org.OrgStateQuery{
|
||||
State: v2beta_org.OrgState_ORG_STATE_INACTIVE,
|
||||
},
|
||||
@@ -362,9 +362,9 @@ func TestServer_ListOrganization(t *testing.T) {
|
||||
{
|
||||
name: "list organizations by id bad id",
|
||||
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
|
||||
query: []*v2beta_org.OrgQuery{
|
||||
query: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &v2beta_org.OrgQuery_IdQuery{
|
||||
Query: &v2beta_org.OrgQueryFilter_IdQuery{
|
||||
IdQuery: &v2beta_org.OrgIDQuery{
|
||||
Id: "bad id",
|
||||
},
|
||||
@@ -375,9 +375,9 @@ func TestServer_ListOrganization(t *testing.T) {
|
||||
{
|
||||
name: "list organizations specify org name equals",
|
||||
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
|
||||
query: []*v2beta_org.OrgQuery{
|
||||
query: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &v2beta_org.OrgQuery_NameQuery{
|
||||
Query: &v2beta_org.OrgQueryFilter_NameQuery{
|
||||
NameQuery: &v2beta_org.OrgNameQuery{
|
||||
Name: orgsName[1],
|
||||
Method: v2beta_object.TextQueryMethod_TEXT_QUERY_METHOD_EQUALS,
|
||||
@@ -395,9 +395,9 @@ func TestServer_ListOrganization(t *testing.T) {
|
||||
{
|
||||
name: "list organizations specify org name contains",
|
||||
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
|
||||
query: []*v2beta_org.OrgQuery{
|
||||
query: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &v2beta_org.OrgQuery_NameQuery{
|
||||
Query: &v2beta_org.OrgQueryFilter_NameQuery{
|
||||
NameQuery: &v2beta_org.OrgNameQuery{
|
||||
Name: func() string {
|
||||
return orgsName[1][1 : len(orgsName[1])-2]
|
||||
@@ -417,9 +417,9 @@ func TestServer_ListOrganization(t *testing.T) {
|
||||
{
|
||||
name: "list organizations specify org name contains IGNORE CASE",
|
||||
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
|
||||
query: []*v2beta_org.OrgQuery{
|
||||
query: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &v2beta_org.OrgQuery_NameQuery{
|
||||
Query: &v2beta_org.OrgQueryFilter_NameQuery{
|
||||
NameQuery: &v2beta_org.OrgNameQuery{
|
||||
Name: func() string {
|
||||
return strings.ToUpper(orgsName[1][1 : len(orgsName[1])-2])
|
||||
@@ -439,15 +439,15 @@ func TestServer_ListOrganization(t *testing.T) {
|
||||
{
|
||||
name: "list organizations specify domain name equals",
|
||||
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
|
||||
query: []*v2beta_org.OrgQuery{
|
||||
query: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &org.OrgQuery_DomainQuery{
|
||||
Query: &org.OrgQueryFilter_DomainQuery{
|
||||
DomainQuery: &org.OrgDomainQuery{
|
||||
Domain: func() string {
|
||||
listOrgRes, err := Client.ListOrganizations(CTX, &v2beta_org.ListOrganizationsRequest{
|
||||
Queries: []*v2beta_org.OrgQuery{
|
||||
Filter: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &v2beta_org.OrgQuery_IdQuery{
|
||||
Query: &v2beta_org.OrgQueryFilter_IdQuery{
|
||||
IdQuery: &v2beta_org.OrgIDQuery{
|
||||
Id: orgs[1].Id,
|
||||
},
|
||||
@@ -474,9 +474,9 @@ func TestServer_ListOrganization(t *testing.T) {
|
||||
{
|
||||
name: "list organizations specify domain name contains",
|
||||
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
|
||||
query: []*v2beta_org.OrgQuery{
|
||||
query: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &org.OrgQuery_DomainQuery{
|
||||
Query: &org.OrgQueryFilter_DomainQuery{
|
||||
DomainQuery: &org.OrgDomainQuery{
|
||||
Domain: func() string {
|
||||
domain := strings.ToLower(strings.ReplaceAll(orgsName[1][1:len(orgsName[1])-2], " ", "-"))
|
||||
@@ -497,9 +497,9 @@ func TestServer_ListOrganization(t *testing.T) {
|
||||
{
|
||||
name: "list organizations specify org name contains IGNORE CASE",
|
||||
ctx: Instance.WithAuthorization(context.Background(), integration.UserTypeIAMOwner),
|
||||
query: []*v2beta_org.OrgQuery{
|
||||
query: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &org.OrgQuery_DomainQuery{
|
||||
Query: &org.OrgQueryFilter_DomainQuery{
|
||||
DomainQuery: &org.OrgDomainQuery{
|
||||
Domain: func() string {
|
||||
domain := strings.ToUpper(strings.ReplaceAll(orgsName[1][1:len(orgsName[1])-2], " ", "-"))
|
||||
@@ -523,7 +523,7 @@ func TestServer_ListOrganization(t *testing.T) {
|
||||
retryDuration, tick := integration.WaitForAndTickWithMaxDuration(context.Background(), 10*time.Minute)
|
||||
require.EventuallyWithT(t, func(ttt *assert.CollectT) {
|
||||
got, err := Client.ListOrganizations(tt.ctx, &v2beta_org.ListOrganizationsRequest{
|
||||
Queries: tt.query,
|
||||
Filter: tt.query,
|
||||
})
|
||||
|
||||
if tt.wantErr {
|
||||
@@ -596,9 +596,9 @@ func TestServer_DeleteOrganization(t *testing.T) {
|
||||
assert.WithinRange(t, gotCD, now.Add(-time.Minute), now.Add(time.Minute))
|
||||
|
||||
listOrgRes, err := Client.ListOrganizations(tt.ctx, &v2beta_org.ListOrganizationsRequest{
|
||||
Queries: []*v2beta_org.OrgQuery{
|
||||
Filter: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &v2beta_org.OrgQuery_IdQuery{
|
||||
Query: &v2beta_org.OrgQueryFilter_IdQuery{
|
||||
IdQuery: &v2beta_org.OrgIDQuery{
|
||||
Id: tt.req.Id,
|
||||
},
|
||||
@@ -639,9 +639,9 @@ func TestServer_DeactivateReactivateOrganization(t *testing.T) {
|
||||
|
||||
// 2. check inital state of organization
|
||||
listOrgRes, err := Client.ListOrganizations(ctx, &v2beta_org.ListOrganizationsRequest{
|
||||
Queries: []*v2beta_org.OrgQuery{
|
||||
Filter: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &v2beta_org.OrgQuery_IdQuery{
|
||||
Query: &v2beta_org.OrgQueryFilter_IdQuery{
|
||||
IdQuery: &v2beta_org.OrgIDQuery{
|
||||
Id: orgId,
|
||||
},
|
||||
@@ -663,9 +663,9 @@ func TestServer_DeactivateReactivateOrganization(t *testing.T) {
|
||||
|
||||
// 4. check organization state is deactivated
|
||||
listOrgRes, err = Client.ListOrganizations(ctx, &v2beta_org.ListOrganizationsRequest{
|
||||
Queries: []*v2beta_org.OrgQuery{
|
||||
Filter: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &v2beta_org.OrgQuery_IdQuery{
|
||||
Query: &v2beta_org.OrgQueryFilter_IdQuery{
|
||||
IdQuery: &v2beta_org.OrgIDQuery{
|
||||
Id: orgId,
|
||||
},
|
||||
@@ -686,9 +686,9 @@ func TestServer_DeactivateReactivateOrganization(t *testing.T) {
|
||||
|
||||
// 6. repeat check organization state is still deactivated
|
||||
listOrgRes, err = Client.ListOrganizations(ctx, &v2beta_org.ListOrganizationsRequest{
|
||||
Queries: []*v2beta_org.OrgQuery{
|
||||
Filter: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &v2beta_org.OrgQuery_IdQuery{
|
||||
Query: &v2beta_org.OrgQueryFilter_IdQuery{
|
||||
IdQuery: &v2beta_org.OrgIDQuery{
|
||||
Id: orgId,
|
||||
},
|
||||
@@ -710,9 +710,9 @@ func TestServer_DeactivateReactivateOrganization(t *testing.T) {
|
||||
|
||||
// 8. check organization state is active
|
||||
listOrgRes, err = Client.ListOrganizations(ctx, &v2beta_org.ListOrganizationsRequest{
|
||||
Queries: []*v2beta_org.OrgQuery{
|
||||
Filter: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &v2beta_org.OrgQuery_IdQuery{
|
||||
Query: &v2beta_org.OrgQueryFilter_IdQuery{
|
||||
IdQuery: &v2beta_org.OrgIDQuery{
|
||||
Id: orgId,
|
||||
},
|
||||
@@ -732,9 +732,9 @@ func TestServer_DeactivateReactivateOrganization(t *testing.T) {
|
||||
|
||||
// 10. repeat check organization state is still active
|
||||
listOrgRes, err = Client.ListOrganizations(ctx, &v2beta_org.ListOrganizationsRequest{
|
||||
Queries: []*v2beta_org.OrgQuery{
|
||||
Filter: []*v2beta_org.OrgQueryFilter{
|
||||
{
|
||||
Query: &v2beta_org.OrgQuery_IdQuery{
|
||||
Query: &v2beta_org.OrgQueryFilter_IdQuery{
|
||||
IdQuery: &v2beta_org.OrgIDQuery{
|
||||
Id: orgId,
|
||||
},
|
||||
|
@@ -9,6 +9,7 @@ import (
|
||||
"github.com/zitadel/zitadel/internal/command"
|
||||
"github.com/zitadel/zitadel/internal/query"
|
||||
"github.com/zitadel/zitadel/internal/zerrors"
|
||||
filter "github.com/zitadel/zitadel/pkg/grpc/filter/v2beta"
|
||||
org "github.com/zitadel/zitadel/pkg/grpc/org/v2beta"
|
||||
v2beta_org "github.com/zitadel/zitadel/pkg/grpc/org/v2beta"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
@@ -38,7 +39,7 @@ func (s *Server) UpdateOrganization(ctx context.Context, request *v2beta_org.Upd
|
||||
}
|
||||
|
||||
func (s *Server) ListOrganizations(ctx context.Context, request *v2beta_org.ListOrganizationsRequest) (*v2beta_org.ListOrganizationsResponse, error) {
|
||||
queries, err := listOrgRequestToModel(request)
|
||||
queries, err := listOrgRequestToModel(s.systemDefaults, request)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -47,8 +48,11 @@ func (s *Server) ListOrganizations(ctx context.Context, request *v2beta_org.List
|
||||
return nil, err
|
||||
}
|
||||
return &v2beta_org.ListOrganizationsResponse{
|
||||
Result: OrgViewsToPb(orgs.Orgs),
|
||||
Details: object.ToListDetails(orgs.SearchResponse),
|
||||
Result: OrgViewsToPb(orgs.Orgs),
|
||||
Pagination: &filter.PaginationResponse{
|
||||
TotalResult: orgs.Count,
|
||||
AppliedLimit: uint64(request.GetPagination().GetLimit()),
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -73,7 +77,7 @@ func (s *Server) SetOrganizationMetadata(ctx context.Context, request *v2beta_or
|
||||
}
|
||||
|
||||
func (s *Server) ListOrganizationMetadata(ctx context.Context, request *v2beta_org.ListOrganizationMetadataRequest) (*v2beta_org.ListOrganizationMetadataResponse, error) {
|
||||
metadataQueries, err := ListOrgMetadataToDomain(request)
|
||||
metadataQueries, err := ListOrgMetadataToDomain(s.systemDefaults, request)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -82,8 +86,11 @@ func (s *Server) ListOrganizationMetadata(ctx context.Context, request *v2beta_o
|
||||
return nil, err
|
||||
}
|
||||
return &v2beta_org.ListOrganizationMetadataResponse{
|
||||
Result: metadata.OrgMetadataListToPb(res.Metadata),
|
||||
Details: object.ToListDetails(res.SearchResponse),
|
||||
Result: metadata.OrgMetadataListToPb(res.Metadata),
|
||||
Pagination: &filter.PaginationResponse{
|
||||
TotalResult: res.Count,
|
||||
AppliedLimit: uint64(request.GetPagination().GetLimit()),
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -132,7 +139,7 @@ func (s *Server) AddOrganizationDomain(ctx context.Context, request *org.AddOrga
|
||||
}
|
||||
|
||||
func (s *Server) ListOrganizationDomains(ctx context.Context, req *org.ListOrganizationDomainsRequest) (*org.ListOrganizationDomainsResponse, error) {
|
||||
queries, err := ListOrgDomainsRequestToModel(req)
|
||||
queries, err := ListOrgDomainsRequestToModel(s.systemDefaults, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -147,8 +154,11 @@ func (s *Server) ListOrganizationDomains(ctx context.Context, req *org.ListOrgan
|
||||
return nil, err
|
||||
}
|
||||
return &org.ListOrganizationDomainsResponse{
|
||||
Result: object.DomainsToPb(domains.Domains),
|
||||
Details: object.ToListDetails(domains.SearchResponse),
|
||||
Result: object.DomainsToPb(domains.Domains),
|
||||
Pagination: &filter.PaginationResponse{
|
||||
TotalResult: domains.Count,
|
||||
AppliedLimit: uint64(req.GetPagination().GetLimit()),
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
@@ -6,6 +6,7 @@ import (
|
||||
"github.com/zitadel/zitadel/internal/api/authz"
|
||||
"github.com/zitadel/zitadel/internal/api/grpc/server"
|
||||
"github.com/zitadel/zitadel/internal/command"
|
||||
"github.com/zitadel/zitadel/internal/config/systemdefaults"
|
||||
"github.com/zitadel/zitadel/internal/domain"
|
||||
"github.com/zitadel/zitadel/internal/query"
|
||||
org "github.com/zitadel/zitadel/pkg/grpc/org/v2beta"
|
||||
@@ -15,6 +16,7 @@ var _ org.OrganizationServiceServer = (*Server)(nil)
|
||||
|
||||
type Server struct {
|
||||
org.UnimplementedOrganizationServiceServer
|
||||
systemDefaults systemdefaults.SystemDefaults
|
||||
command *command.Commands
|
||||
query *query.Queries
|
||||
checkPermission domain.PermissionCheck
|
||||
@@ -23,11 +25,13 @@ type Server struct {
|
||||
type Config struct{}
|
||||
|
||||
func CreateServer(
|
||||
systemDefaults systemdefaults.SystemDefaults,
|
||||
command *command.Commands,
|
||||
query *query.Queries,
|
||||
checkPermission domain.PermissionCheck,
|
||||
) *Server {
|
||||
return &Server{
|
||||
systemDefaults: systemDefaults,
|
||||
command: command,
|
||||
query: query,
|
||||
checkPermission: checkPermission,
|
||||
|
@@ -45,7 +45,7 @@ enum OrgFieldName {
|
||||
ORG_FIELD_NAME_CREATION_DATE = 2;
|
||||
}
|
||||
|
||||
message OrgQuery {
|
||||
message OrgQueryFilter {
|
||||
oneof query {
|
||||
option (validate.required) = true;
|
||||
|
||||
|
@@ -15,6 +15,7 @@ import "google/protobuf/struct.proto";
|
||||
import "protoc-gen-openapiv2/options/annotations.proto";
|
||||
import "validate/validate.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "zitadel/filter/v2beta/filter.proto";
|
||||
|
||||
option go_package = "github.com/zitadel/zitadel/pkg/grpc/org/v2beta;org";
|
||||
|
||||
@@ -488,21 +489,21 @@ message ListOrganizationsRequest {
|
||||
json_schema: {
|
||||
description: "Search query for lists";
|
||||
required: ["query"]
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
// list limitations and ordering
|
||||
zitadel.object.v2beta.ListQuery query = 1;
|
||||
// List limitations and ordering.
|
||||
optional zitadel.filter.v2beta.PaginationRequest pagination = 1;
|
||||
// the field the result is sorted
|
||||
zitadel.org.v2beta.OrgFieldName sorting_column = 2;
|
||||
//criteria the client is looking for
|
||||
repeated zitadel.org.v2beta.OrgQuery queries = 3;
|
||||
// Define the criteria to query for.
|
||||
// repeated ProjectRoleFilter filters = 4;
|
||||
repeated zitadel.org.v2beta.OrgQueryFilter filter = 3;
|
||||
}
|
||||
|
||||
message ListOrganizationsResponse {
|
||||
zitadel.object.v2beta.ListDetails details = 1;
|
||||
zitadel.org.v2beta.OrgFieldName sorting_column = 2;
|
||||
repeated zitadel.org.v2beta.Organization result = 3;
|
||||
zitadel.filter.v2beta.PaginationResponse pagination = 1;
|
||||
repeated zitadel.org.v2beta.Organization result = 2;
|
||||
}
|
||||
|
||||
message DeleteOrganizationRequest {
|
||||
@@ -613,14 +614,15 @@ message ListOrganizationDomainsRequest {
|
||||
description: "Organization ID of the organization you want the domains of."
|
||||
}
|
||||
];
|
||||
//list limitations and ordering
|
||||
zitadel.object.v2beta.ListQuery query = 2;
|
||||
//criteria the client is looking for
|
||||
repeated DomainSearchQuery queries = 3;
|
||||
|
||||
// List limitations and ordering.
|
||||
optional zitadel.filter.v2beta.PaginationRequest pagination = 2;
|
||||
// Define the criteria to query for.
|
||||
repeated DomainSearchQuery filter = 3;
|
||||
}
|
||||
|
||||
message ListOrganizationDomainsResponse {
|
||||
zitadel.object.v2beta.ListDetails details = 1;
|
||||
zitadel.filter.v2beta.PaginationResponse pagination = 1;
|
||||
repeated Domain result = 2;
|
||||
}
|
||||
|
||||
@@ -638,6 +640,7 @@ message DeleteOrganizationDomainRequest {
|
||||
string domain = 2 [
|
||||
(validate.rules).string = {min_len: 1, max_len: 200},
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
// repeated ProjectRoleFilter filters = 4;
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
min_length: 1;
|
||||
max_length: 200;
|
||||
@@ -746,17 +749,25 @@ message SetOrganizationMetadataResponse{
|
||||
}
|
||||
|
||||
message ListOrganizationMetadataRequest {
|
||||
string id = 1;
|
||||
zitadel.object.v2beta.ListQuery query = 2;
|
||||
repeated zitadel.metadata.v2beta.MetadataQuery queries = 3 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
title: "Medata Query"
|
||||
description: "Metadata object-specific queries."
|
||||
}];
|
||||
// Organization ID
|
||||
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\"";
|
||||
}
|
||||
];
|
||||
|
||||
// List limitations and ordering.
|
||||
optional zitadel.filter.v2beta.PaginationRequest pagination = 2;
|
||||
// Define the criteria to query for.
|
||||
repeated zitadel.metadata.v2beta.MetadataQuery filter = 3;
|
||||
}
|
||||
|
||||
message ListOrganizationMetadataResponse {
|
||||
zitadel.object.v2beta.ListDetails details = 1;
|
||||
zitadel.filter.v2beta.PaginationResponse pagination = 1;
|
||||
repeated zitadel.metadata.v2beta.Metadata result = 2;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user