from __future__ import annotations from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from app.api.dependencies import current_user from app.db.session import get_session from app.models.user import User from app.schemas.auth import LoginRequest, TokenResponse, UserRead from app.services.auth_service import AuthService router = APIRouter(prefix="/auth", tags=["auth"]) @router.post("/login", response_model=TokenResponse) def login(payload: LoginRequest, session: Session = Depends(get_session)) -> TokenResponse: token = AuthService(session).login(payload.email, payload.password) return TokenResponse(access_token=token) @router.get("/me", response_model=UserRead) def me(user: User = Depends(current_user)) -> User: return user