Supporting user pagination on the web admin view

This commit is contained in:
Keith Stevens
2023-01-15 15:26:12 +09:00
parent 69952dbf80
commit 35e92dbd15
5 changed files with 78 additions and 16 deletions
@@ -19,14 +19,14 @@ router = APIRouter()
def get_users(
api_client_id: Optional[UUID] = None,
max_count: Optional[int] = Query(100, gt=0, le=10000),
gte: Optional[str] = None,
gt: Optional[str] = None,
lt: Optional[str] = None,
auth_method: Optional[str] = None,
api_client: ApiClient = Depends(deps.get_api_client),
db: Session = Depends(deps.get_db),
):
ur = UserRepository(db, api_client)
users = ur.query_users(api_client_id=api_client_id, limit=max_count, gte=gte, lt=lt, auth_method=auth_method)
users = ur.query_users(api_client_id=api_client_id, limit=max_count, gt=gt, lt=lt, auth_method=auth_method)
return [u.to_protocol_frontend_user() for u in users]
+3 -3
View File
@@ -162,7 +162,7 @@ class UserRepository:
self,
api_client_id: Optional[UUID] = None,
limit: Optional[int] = 20,
gte: Optional[str] = None,
gt: Optional[str] = None,
lt: Optional[str] = None,
auth_method: Optional[str] = None,
) -> list[User]:
@@ -183,8 +183,8 @@ class UserRepository:
users = users.order_by(User.display_name)
if gte:
users = users.filter(User.display_name >= gte)
if gt:
users = users.filter(User.display_name > gt)
if lt:
users = users.filter(User.display_name < lt)