A1: Permission-Checks fuer delegations, policies, permission_templates, ai_copilot
This commit is contained in:
@@ -8,7 +8,7 @@ from fastapi import APIRouter, Depends, HTTPException, status
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from app.core.db import get_db
|
||||
from app.deps import get_current_user
|
||||
from app.deps import get_current_user, require_permission
|
||||
from app.schemas.permission_template import (
|
||||
PermissionTemplateCreate,
|
||||
PermissionTemplateUpdate,
|
||||
@@ -23,7 +23,7 @@ router = APIRouter(prefix="/api/v1/permission-templates", tags=["permission-temp
|
||||
async def list_templates(
|
||||
entity_type: str | None = None,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
current_user: dict = Depends(get_current_user),
|
||||
current_user: dict = Depends(require_permission("permissions:templates:read")),
|
||||
):
|
||||
"""List all permission templates for the current tenant."""
|
||||
tenant_id = uuid.UUID(current_user["tenant_id"])
|
||||
@@ -35,7 +35,7 @@ async def list_templates(
|
||||
async def create_template(
|
||||
body: PermissionTemplateCreate,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
current_user: dict = Depends(get_current_user),
|
||||
current_user: dict = Depends(require_permission("permissions:templates:write")),
|
||||
):
|
||||
"""Create a new permission template."""
|
||||
tenant_id = uuid.UUID(current_user["tenant_id"])
|
||||
@@ -58,7 +58,7 @@ async def update_template(
|
||||
template_id: str,
|
||||
body: PermissionTemplateUpdate,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
current_user: dict = Depends(get_current_user),
|
||||
current_user: dict = Depends(require_permission("permissions:templates:write")),
|
||||
):
|
||||
"""Update an existing permission template."""
|
||||
tenant_id = uuid.UUID(current_user["tenant_id"])
|
||||
@@ -81,7 +81,7 @@ async def update_template(
|
||||
async def delete_template(
|
||||
template_id: str,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
current_user: dict = Depends(get_current_user),
|
||||
current_user: dict = Depends(require_permission("permissions:templates:write")),
|
||||
):
|
||||
"""Delete a permission template."""
|
||||
tenant_id = uuid.UUID(current_user["tenant_id"])
|
||||
@@ -95,7 +95,7 @@ async def delete_template(
|
||||
async def apply_template(
|
||||
body: PermissionTemplateApply,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
current_user: dict = Depends(get_current_user),
|
||||
current_user: dict = Depends(require_permission("permissions:templates:write")),
|
||||
):
|
||||
"""Apply a permission template to an entity, creating entity_permissions."""
|
||||
tenant_id = uuid.UUID(current_user["tenant_id"])
|
||||
|
||||
Reference in New Issue
Block a user