Spaces:
Paused
Paused
| from fastapi import APIRouter, Depends, HTTPException | |
| from app.services.auth_service import authenticate_user, create_access_token, get_current_user | |
| from app.models.auth import LoginRequest, LoginResponse | |
| from app.db.database import get_db, AsyncSession | |
| router = APIRouter() | |
| async def login( | |
| user_data: LoginRequest, | |
| db: AsyncSession = Depends(get_db) | |
| ): | |
| user = await authenticate_user(user_data.email, user_data.password, db) | |
| if not user: | |
| raise HTTPException(status_code=401, detail="Invalid credentials") | |
| access_token = create_access_token(data={"sub": user.email}) | |
| return LoginResponse(access_token=access_token, token_type="bearer", user=user) | |
| async def logout(current_user: dict = Depends(get_current_user)): | |
| return {"message": "Successfully logged out"} |