INNER CODE UNIT · Python
admin_dependency
NextWeb4/lan-file-transfer · lan_transfer/api.py:147
def admin_dependency(auth: AccountAuthManager):
current = principal_dependency(auth)
async def require_admin(principal: Principal = Depends(current)) -> Principal:
if not principal.is_admin:
raise HTTPException(status_code=403, detail="Admin login required.")
return principal
return require_admin
def auth_error_response(exc: AuthError) -> HTTPException:
if isinstance(exc, LockedOutError):
return HTTPException(
status_code=423,
detail={
"message": str(exc),
"locked_until": exc.locked_until,