Spaces:
Runtime error
Runtime error
from typing import Any, List | |
from fastapi.params import Depends | |
from fastapi.routing import APIRouter | |
from sqlalchemy import func, select | |
from sqlalchemy.ext.asyncio.session import AsyncSession | |
from starlette.responses import Response | |
from app.deps.db import get_async_session | |
from app.deps.users import current_superuser | |
from app.models.user import User | |
from app.schemas.user import UserRead | |
router = APIRouter() | |
async def get_users( | |
response: Response, | |
session: AsyncSession = Depends(get_async_session), | |
user: User = Depends(current_superuser), | |
skip: int = 0, | |
limit: int = 100, | |
) -> Any: | |
total = await session.scalar(select(func.count(User.id))) | |
users = ( | |
(await session.execute(select(User).offset(skip).limit(limit))).scalars().all() | |
) | |
response.headers["Content-Range"] = f"{skip}-{skip + len(users)}/{total}" | |
return users | |