mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 21:27:42 +00:00
fix: add OrgIDQuery to the queries for organizations (#8312)
# Which Problems Are Solved ListOrgs has no option to select for organizations specific to Ids. # How the Problems Are Solved Add OrgIDQuery to ListOrgs. # Additional Changes Clean up double mapping for the OrgQueries. # Additional Context - noted internally while checking performance issues (in Console)
This commit is contained in:
@@ -260,7 +260,7 @@ func appendIfNotExists(array []string, value string) []string {
|
||||
|
||||
func ListMyProjectOrgsRequestToQuery(req *auth_pb.ListMyProjectOrgsRequest) (*query.OrgSearchQueries, error) {
|
||||
offset, limit, asc := obj_grpc.ListQueryToModel(req.Query)
|
||||
queries, err := org.OrgQueriesToQuery(req.Queries)
|
||||
queries, err := org.OrgQueriesToModel(req.Queries)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@@ -27,35 +27,13 @@ func OrgQueryToModel(apiQuery *org_pb.OrgQuery) (query.SearchQuery, error) {
|
||||
return query.NewOrgNameSearchQuery(object.TextMethodToQuery(q.NameQuery.Method), q.NameQuery.Name)
|
||||
case *org_pb.OrgQuery_StateQuery:
|
||||
return query.NewOrgStateSearchQuery(OrgStateToDomain(q.StateQuery.State))
|
||||
case *org_pb.OrgQuery_IdQuery:
|
||||
return query.NewOrgIDSearchQuery(q.IdQuery.Id)
|
||||
default:
|
||||
return nil, zerrors.ThrowInvalidArgument(nil, "ORG-vR9nC", "List.Query.Invalid")
|
||||
}
|
||||
}
|
||||
|
||||
func OrgQueriesToQuery(queries []*org_pb.OrgQuery) (_ []query.SearchQuery, err error) {
|
||||
q := make([]query.SearchQuery, len(queries))
|
||||
for i, query := range queries {
|
||||
q[i], err = OrgQueryToQuery(query)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return q, nil
|
||||
}
|
||||
|
||||
func OrgQueryToQuery(search *org_pb.OrgQuery) (query.SearchQuery, error) {
|
||||
switch q := search.Query.(type) {
|
||||
case *org_pb.OrgQuery_DomainQuery:
|
||||
return query.NewOrgDomainSearchQuery(object.TextMethodToQuery(q.DomainQuery.Method), q.DomainQuery.Domain)
|
||||
case *org_pb.OrgQuery_NameQuery:
|
||||
return query.NewOrgNameSearchQuery(object.TextMethodToQuery(q.NameQuery.Method), q.NameQuery.Name)
|
||||
case *org_pb.OrgQuery_StateQuery:
|
||||
return query.NewOrgStateSearchQuery(OrgStateToDomain(q.StateQuery.State))
|
||||
default:
|
||||
return nil, zerrors.ThrowInvalidArgument(nil, "ADMIN-ADvsd", "List.Query.Invalid")
|
||||
}
|
||||
}
|
||||
|
||||
func OrgViewsToPb(orgs []*query.Org) []*org_pb.Org {
|
||||
o := make([]*org_pb.Org, len(orgs))
|
||||
for i, org := range orgs {
|
||||
|
@@ -281,6 +281,10 @@ func (q *Queries) SearchOrgs(ctx context.Context, queries *OrgSearchQueries) (or
|
||||
return orgs, err
|
||||
}
|
||||
|
||||
func NewOrgIDSearchQuery(value string) (SearchQuery, error) {
|
||||
return NewTextQuery(OrgColumnID, value, TextEquals)
|
||||
}
|
||||
|
||||
func NewOrgDomainSearchQuery(method TextComparison, value string) (SearchQuery, error) {
|
||||
return NewTextQuery(OrgColumnDomain, value, method)
|
||||
}
|
||||
|
Reference in New Issue
Block a user