from typing import Annotated, Any from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from fuware.core.config import get_app_settings from fuware.core.dependencies import is_logged_in from fuware.db.db_setup import generate_session from fuware.schemas.common import ReturnValue from fuware.schemas.user import ProfileResponse from fuware.services.user import UserService public_router = APIRouter(tags=["Users: Info"]) user_service = UserService() settings = get_app_settings() db_dependency = Annotated[Session, Depends(generate_session)] current_user_token = Annotated[ProfileResponse, Depends(is_logged_in)] @public_router.get("/me", response_model=ReturnValue[ProfileResponse]) def get_user(current_user: current_user_token) -> ReturnValue[Any]: return ReturnValue(status=200, data=current_user)