from fastapi import APIRouter, Depends, HTTPException, status from fastapi.security import OAuth2PasswordRequestForm from app.auth import create_access_token, get_current_user, get_current_user_cookie_or_bearer from app.config import settings router = APIRouter(prefix="/auth", tags=["auth"]) @router.post("/login") def login(form_data: OAuth2PasswordRequestForm = Depends()): if ( form_data.username != settings.ADMIN_USERNAME or form_data.password != settings.ADMIN_PASSWORD ): raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Invalid credentials", ) token = create_access_token(form_data.username) return {"access_token": token, "token_type": "bearer"} @router.get("/me") def me(username: str = Depends(get_current_user_cookie_or_bearer)): return {"username": username}