mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-04 23:45:07 +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:
parent
3d45c5dee5
commit
19561a092c
@ -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)
|
||||
}
|
||||
|
@ -81,6 +81,7 @@ message OrgQuery {
|
||||
OrgNameQuery name_query = 1;
|
||||
OrgDomainQuery domain_query = 2;
|
||||
OrgStateQuery state_query = 3;
|
||||
OrgIDQuery id_query = 4;
|
||||
}
|
||||
}
|
||||
|
||||
@ -123,6 +124,16 @@ message OrgStateQuery {
|
||||
];
|
||||
}
|
||||
|
||||
message OrgIDQuery {
|
||||
string id = 1 [
|
||||
(validate.rules).string = {max_len: 200},
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
example: "\"69629023906488334\""
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
enum OrgFieldName {
|
||||
ORG_FIELD_NAME_UNSPECIFIED = 0;
|
||||
ORG_FIELD_NAME_NAME = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user