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

@ -0,0 +1,27 @@
import logging
from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from app.core.rbac import require_permission
from app.db.database import get_db
from app.models.user import User
from app.repositories.rbac_repository import RbacRepository
from app.schemas.rbac import PermissionResponse
logger = logging.getLogger(__name__)
router = APIRouter(
prefix="/permissions",
tags=["Permissions"],
)
@router.get("", response_model=list[PermissionResponse])
@router.get("/", response_model=list[PermissionResponse], include_in_schema=False)
def get_permissions(
db: Session = Depends(get_db),
current_user: User = Depends(require_permission("roles.read")),
):
logger.info("permissions.list", extra={"actor_user_id": current_user.id})
return RbacRepository.get_permissions(db)