from fastapi import APIRouter, Depends, Request from sqlalchemy.orm import Session from app.core.deps import get_db from app.schemas.auth import Token, LoginRequest, RegisterRequest from app.schemas.user import UserResponse from app.services.auth import AuthService router = APIRouter() @router.post("/login", response_model=Token) async def login( request: Request, login_data: LoginRequest, db: Session = Depends(get_db) ): auth_service = AuthService(db) return auth_service.login( login_data=login_data, ip_address=request.client.host, user_agent=request.headers.get("user-agent", "") ) @router.post("/register", response_model=UserResponse) async def register( request: Request, register_data: RegisterRequest, db: Session = Depends(get_db) ): auth_service = AuthService(db) user = auth_service.register( register_data=register_data, ip_address=request.client.host, user_agent=request.headers.get("user-agent", "") ) return user