user: implement ListUsersByMetadata endpoint

This commit is contained in:
Marco Ardizzone
2025-08-07 17:55:06 +02:00
parent bf26106d01
commit 4a88d73c6b
3 changed files with 525 additions and 259 deletions

View File

@@ -5,6 +5,7 @@ import (
"connectrpc.com/connect"
"github.com/zitadel/zitadel/internal/api/grpc/filter/v2"
object "github.com/zitadel/zitadel/internal/api/grpc/object/v2beta"
"github.com/zitadel/zitadel/internal/api/grpc/user/v2beta/convert"
"github.com/zitadel/zitadel/internal/domain"
@@ -42,5 +43,20 @@ func (s *Server) ListUsers(ctx context.Context, req *connect.Request[user.ListUs
}
func (s *Server) ListUsersByMetadata(ctx context.Context, req *connect.Request[user.ListUsersByMetadataRequest]) (*connect.Response[user.ListUsersByMetadataResponse], error) {
return nil, nil
queries, err := convert.ListUsersByMetadataRequestToModel(req.Msg, s.systemDefaults)
if err != nil {
return nil, err
}
res, err := s.query.SearchUsersByMetadata(ctx, queries, s.checkPermission)
if err != nil {
return nil, err
}
return &connect.Response[user.ListUsersByMetadataResponse]{
Msg: &user.ListUsersByMetadataResponse{
Users: convert.UsersByMetadataModelToGRPC(res.UsersByMeta, s.assetAPIPrefix(ctx)),
Pagination: filter.QueryToPaginationPb(queries.SearchRequest, res.SearchResponse),
},
}, nil
}