{"record":{"id":"a61ba8d7630120a3","repo":"ruvnet/RuView","slug":"role-role-required","errorCode":null,"errorMessage":"Role '{role}' required","messagePattern":"Role '(.+?)' required","errorType":"http","errorClass":"HTTPException","httpStatus":403,"severity":"error","filePath":"archive/v1/src/middleware/auth.py","lineNumber":450,"sourceCode":"    \"\"\"Require authentication and return user info.\"\"\"\n    user = get_current_user(request)\n    if not user:\n        raise HTTPException(\n            status_code=status.HTTP_401_UNAUTHORIZED,\n            detail=\"Authentication required\",\n            headers={\"WWW-Authenticate\": \"Bearer\"},\n        )\n    return user\n\n\ndef require_role(role: str):\n    \"\"\"Dependency to require specific role.\"\"\"\n    def dependency(request: Request) -> Dict[str, Any]:\n        user = require_authentication(request)\n        \n        auth_middleware = get_auth_middleware(request.app.state.settings)\n        if not auth_middleware.check_permission(user, role):\n            raise HTTPException(\n                status_code=status.HTTP_403_FORBIDDEN,\n                detail=f\"Role '{role}' required\",\n            )\n        \n        return user\n    \n    return dependency","sourceCodeStart":432,"sourceCodeEnd":457,"githubUrl":"https://github.com/ruvnet/RuView/blob/4685618388a5e49fad5b3005806f3bdd6a7c25c3/archive/v1/src/middleware/auth.py#L432-L457","documentation":"Error \"Role '{role}' required\" thrown in ruvnet/RuView.","triggerScenarios":"Thrown at archive/v1/src/middleware/auth.py:450 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4685618388a5e49fad5b3005806f3bdd6a7c25c3","analyzedAt":"2026-08-16T06:09:40.886Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}