fix(api): correct mapping of user state queries (#9956)

# Which Problems Are Solved

the mapping of `ListUsers` was wrong for user states.

# How the Problems Are Solved

mapping of user state introduced to correctly map it

# Additional Changes

mapping of user type introduced to prevent same issue

# Additional Context

Requires backport to 2.x and 3.x

Co-authored-by: Livio Spring <livio.a@gmail.com>
(cherry picked from commit eb0eed21fa)
This commit is contained in:
Silvan
2025-05-26 13:23:38 +02:00
committed by Livio Spring
parent 3c99cf82f8
commit c9a0f0bc45
8 changed files with 113 additions and 9 deletions

View File

@@ -84,11 +84,11 @@ func EmailQueryToQuery(q *user_pb.EmailQuery) (query.SearchQuery, error) {
}
func StateQueryToQuery(q *user_pb.StateQuery) (query.SearchQuery, error) {
return query.NewUserStateSearchQuery(int32(q.State))
return query.NewUserStateSearchQuery(q.State.ToDomain())
}
func TypeQueryToQuery(q *user_pb.TypeQuery) (query.SearchQuery, error) {
return query.NewUserTypeSearchQuery(int32(q.Type))
return query.NewUserTypeSearchQuery(q.Type.ToDomain())
}
func LoginNameQueryToQuery(q *user_pb.LoginNameQuery) (query.SearchQuery, error) {

View File

@@ -301,11 +301,11 @@ func phoneQueryToQuery(q *user.PhoneQuery) (query.SearchQuery, error) {
}
func stateQueryToQuery(q *user.StateQuery) (query.SearchQuery, error) {
return query.NewUserStateSearchQuery(int32(q.State))
return query.NewUserStateSearchQuery(q.State.ToDomain())
}
func typeQueryToQuery(q *user.TypeQuery) (query.SearchQuery, error) {
return query.NewUserTypeSearchQuery(int32(q.Type))
return query.NewUserTypeSearchQuery(q.Type.ToDomain())
}
func loginNameQueryToQuery(q *user.LoginNameQuery) (query.SearchQuery, error) {

View File

@@ -295,11 +295,11 @@ func phoneQueryToQuery(q *user.PhoneQuery) (query.SearchQuery, error) {
}
func stateQueryToQuery(q *user.StateQuery) (query.SearchQuery, error) {
return query.NewUserStateSearchQuery(int32(q.State))
return query.NewUserStateSearchQuery(q.State.ToDomain())
}
func typeQueryToQuery(q *user.TypeQuery) (query.SearchQuery, error) {
return query.NewUserTypeSearchQuery(int32(q.Type))
return query.NewUserTypeSearchQuery(q.Type.ToDomain())
}
func loginNameQueryToQuery(q *user.LoginNameQuery) (query.SearchQuery, error) {

View File

@@ -70,7 +70,7 @@ func (h *UsersHandler) buildListQuery(ctx context.Context, request *ListRequest)
}
// the zitadel scim implementation only supports humans for now
userTypeQuery, err := query.NewUserTypeSearchQuery(int32(domain.UserTypeHuman))
userTypeQuery, err := query.NewUserTypeSearchQuery(domain.UserTypeHuman)
if err != nil {
return nil, err
}