Users returns a paginated list of all users. Requires super-admin auth. Logic migrated from internal/graphql/users.go.
(ctx context.Context, meta RequestMetadata, params *model.PaginatedRequest)
| 24 | // Users returns a paginated list of all users. Requires super-admin auth. |
| 25 | // Logic migrated from internal/graphql/users.go. |
| 26 | func (p *provider) Users(ctx context.Context, meta RequestMetadata, params *model.PaginatedRequest) (*model.Users, *ResponseSideEffects, error) { |
| 27 | log := p.Log.With().Str("func", "Users").Logger() |
| 28 | if err := p.requireSuperAdmin(ctx, meta); err != nil { |
| 29 | return nil, nil, err |
| 30 | } |
| 31 | |
| 32 | pagination := utils.GetPagination(params) |
| 33 | res, pagination, err := p.StorageProvider.ListUsers(ctx, pagination) |
| 34 | if err != nil { |
| 35 | log.Debug().Err(err).Msg("failed ListUsers") |
| 36 | return nil, nil, err |
| 37 | } |
| 38 | resItems := make([]*model.User, len(res)) |
| 39 | for i, user := range res { |
| 40 | resItems[i] = user.AsAPIUser() |
| 41 | } |
| 42 | return &model.Users{ |
| 43 | Pagination: pagination, |
| 44 | Users: resItems, |
| 45 | }, nil, nil |
| 46 | } |
| 47 | |
| 48 | // User returns a single user by id or email. Requires super-admin auth. |
| 49 | // Logic migrated from internal/graphql/user.go. |
nothing calls this directly
no test coverage detected