aboutsummaryrefslogtreecommitdiff
path: root/server/szurubooru/api/user_api.py
diff options
context:
space:
mode:
authorrr-2016-05-30 23:08:22 +0200
committerrr-2016-05-30 23:08:22 +0200
commit037fbc61ec3b661e9581152dd9344416915a6d7e (patch)
tree33d70777e096c60797154a2c3856861461d4a1f3 /server/szurubooru/api/user_api.py
parent8d1e23aa63370ed2e14deaa8fef9eca11ad31eae (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.py17
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)

© 2015 - 2026 Jakob L. Kreuze