from fastapi import APIRouter, Depends, HTTPException from core.database import fake_users_db router = APIRouter() @router.post("/login") async def login_handler( username: str, password: str, db: Session = Depends(get_db) ): """Authenticate user and obtain JWT token""" user = fake_users_db.get(username) if not user or user["password"] != password: raise HTTPException(status_code=400, detail="Invalid credentials") access_token = create_access_token(user["id"]) return { "message": "Login successful", "user": { "id": user["id"], "username": username, "email": user["email"] }, "access_token": access_token, "token_type": "bearer", "expires_in": 3600 }