Add example for API pagination

This commit is contained in:
Kevin Chung
2020-06-19 02:50:01 -04:00
parent 84c02b11af
commit 6ce0a46cdf

View File

@@ -33,16 +33,31 @@ class UserList(Resource):
@check_account_visibility
def get(self):
if is_admin() and request.args.get("view") == "admin":
users = Users.query.filter_by()
users = Users.query.filter_by().paginate(max_per_page=50)
else:
users = Users.query.filter_by(banned=False, hidden=False)
users = Users.query.filter_by(banned=False, hidden=False).paginate(
max_per_page=50
)
response = UserSchema(view="user", many=True).dump(users)
response = UserSchema(view="user", many=True).dump(users.items)
if response.errors:
return {"success": False, "errors": response.errors}, 400
return {"success": True, "data": response.data}
return {
"meta": {
"pagination": {
"page": users.page,
"next": users.next_num,
"prev": users.prev_num,
"pages": users.pages,
"per_page": users.per_page,
"total": users.total,
}
},
"success": True,
"data": response.data,
}
@users_namespace.doc(
params={