import logging from logging import Logger from fastapi import HTTPException, status from fastapi.responses import JSONResponse from api.app import app from classes import PycordUser from classes.errors import UserNotFoundError logger: Logger = logging.getLogger(__name__) @app.get("/v1/users/{user_id}", response_class=JSONResponse) async def get_user(user_id: int): try: user: PycordUser = await PycordUser.from_id(user_id, allow_creation=False) except UserNotFoundError as exc: raise HTTPException( status_code=status.HTTP_404_NOT_FOUND, detail="User not found" ) from exc return user.to_dict(json_compatible=True)