g_solution / app /routers /auth.py
minhvtt's picture
Upload 23 files
5b977f1 verified
Raw
History Blame Contribute Delete
825 Bytes
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")