from fastapi import APIRouter, HTTPException from app.core.auth import AuthUser, issue_token from app.models.schemas import LoginRequest, LoginResponse router = APIRouter(prefix="/auth", tags=["auth"]) @router.post("/login", response_model=LoginResponse) def login(payload: LoginRequest) -> LoginResponse: if payload.username == "admin" and payload.password == "admin123": user = AuthUser(username="admin", role="admin") return LoginResponse(token=issue_token(user), role=user.role) if payload.username == "admin_sensitive" and payload.password == "safe123": user = AuthUser(username="admin_sensitive", role="sensitive_admin") return LoginResponse(token=issue_token(user), role=user.role) raise HTTPException(status_code=401, detail="Invalid credentials")