diff options
| author | rr- | 2016-05-30 23:08:22 +0200 |
|---|---|---|
| committer | rr- | 2016-05-30 23:08:22 +0200 |
| commit | 037fbc61ec3b661e9581152dd9344416915a6d7e (patch) | |
| tree | 33d70777e096c60797154a2c3856861461d4a1f3 /server/szurubooru/api/user_api.py | |
| parent | 8d1e23aa63370ed2e14deaa8fef9eca11ad31eae (diff) | |
server/api: add ability to select fields
Diffstat (limited to 'server/szurubooru/api/user_api.py')
| -rw-r--r-- | server/szurubooru/api/user_api.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/server/szurubooru/api/user_api.py b/server/szurubooru/api/user_api.py index 29371ce..b7d5bd0 100644 --- a/server/szurubooru/api/user_api.py +++ b/server/szurubooru/api/user_api.py @@ -1,6 +1,13 @@ from szurubooru import search from szurubooru.api.base_api import BaseApi -from szurubooru.func import auth, users +from szurubooru.func import auth, users, util + +def _serialize(ctx, user, **kwargs): + return users.serialize_user( + user, + ctx.user, + options=util.get_serialization_options(ctx), + **kwargs) class UserListApi(BaseApi): def __init__(self): @@ -10,7 +17,7 @@ class UserListApi(BaseApi): def get(self, ctx): auth.verify_privilege(ctx.user, 'users:list') return self._search_executor.execute_and_serialize( - ctx, lambda user: users.serialize_user(user, ctx.user)) + ctx, lambda user: _serialize(ctx, user)) def post(self, ctx): auth.verify_privilege(ctx.user, 'users:create') @@ -28,13 +35,13 @@ class UserListApi(BaseApi): ctx.get_file('avatar')) ctx.session.add(user) ctx.session.commit() - return users.serialize_user(user, ctx.user, force_show_email=True) + return _serialize(ctx, user, force_show_email=True) class UserDetailApi(BaseApi): def get(self, ctx, user_name): auth.verify_privilege(ctx.user, 'users:view') user = users.get_user_by_name(user_name) - return users.serialize_user(user, ctx.user) + return _serialize(ctx, user) def put(self, ctx, user_name): user = users.get_user_by_name(user_name) @@ -60,7 +67,7 @@ class UserDetailApi(BaseApi): ctx.get_param_as_string('avatarStyle'), ctx.get_file('avatar')) ctx.session.commit() - return users.serialize_user(user, ctx.user) + return _serialize(ctx, user) def delete(self, ctx, user_name): user = users.get_user_by_name(user_name) |