feat(rbac): add roles and permissions

This commit is contained in:
Schubert Ferenc 2026-07-02 23:05:59 +02:00
parent 86a32a942c
commit 694b7bd09a
37 changed files with 2682 additions and 218 deletions

View file

@ -9,8 +9,12 @@ from starlette import status
from starlette.requests import Request
from app.api.auth import router as auth_router
from app.api.permissions import router as permissions_router
from app.api.roles import router as roles_router
from app.api.users import router as users_router
from app.db.database import SessionLocal
from app.db.health import check_database
from app.rbac.seed import seed_rbac
app = FastAPI(
title="Hermes API",
@ -20,10 +24,21 @@ app = FastAPI(
app.include_router(auth_router)
app.include_router(users_router)
app.include_router(roles_router)
app.include_router(permissions_router)
logger = logging.getLogger(__name__)
@app.on_event("startup")
def startup_seed_rbac():
db = SessionLocal()
try:
seed_rbac(db)
finally:
db.close()
@app.exception_handler(HTTPException)
async def http_exception_handler(request: Request, exc: HTTPException):
logger.warning(