From efebd21cfb9091000b53e8e89d4810a3d45d525a Mon Sep 17 00:00:00 2001 From: Luna Date: Sat, 16 Mar 2019 18:23:37 -0300 Subject: [PATCH] docs/admin_api.md: add per_page arg - admin_api.users: properly return user objects --- docs/admin_api.md | 5 +++-- litecord/blueprints/admin_api/users.py | 7 ++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/docs/admin_api.md b/docs/admin_api.md index ff17d9f..53833e3 100644 --- a/docs/admin_api.md +++ b/docs/admin_api.md @@ -25,13 +25,14 @@ Returns a user object. ### `GET /users` Search users. Input is query arguments with the search parameters. -Returns a list of users +Returns a list of user objects. | field | type | description | | --: | :-- | :-- | | username | string | username | | discriminator | string | discriminator | -| page | integer | page | +| page | Optional[integer] | page, default 0 | +| per\_page | Optional[integer] | users per page, default 20, max 50 | ### `DELETE /users/` diff --git a/litecord/blueprints/admin_api/users.py b/litecord/blueprints/admin_api/users.py index 35374f7..713e065 100644 --- a/litecord/blueprints/admin_api/users.py +++ b/litecord/blueprints/admin_api/users.py @@ -24,6 +24,7 @@ from litecord.blueprints.auth import create_user from litecord.schemas import validate from litecord.admin_schemas import USER_CREATE from litecord.errors import BadRequest +from litecord.utils import async_map bp = Blueprint('users_admin', __name__) @@ -92,4 +93,8 @@ async def _search_users(): OFFSET ($1 * {per_page}) """, page, *args) - return jsonify([dict(r) for r in rows]) + rows = [r['id'] for r in rows] + + return jsonify( + await async_map(app.storage.get_user, rows) + )