from fastapi import Depends from fastapi.security import HTTPAuthorizationCredentials, HTTPBearer from app.core.security import decode_access_token bearer = HTTPBearer(auto_error=False) async def require_staff( credentials: HTTPAuthorizationCredentials | None = Depends(bearer), ) -> dict: if credentials is None: from fastapi import HTTPException, status raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="请先登录") return decode_access_token(credentials.credentials, "staff") async def require_member( credentials: HTTPAuthorizationCredentials | None = Depends(bearer), ) -> dict: if credentials is None: from fastapi import HTTPException, status raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="请先登录") return decode_access_token(credentials.credentials, "member")