refactor(b3): dynamic entity registry, custom_fields permissions decoupled from contacts, write perms generated from registry

This commit is contained in:
Agent Zero
2026-08-23 20:54:04 +02:00
parent 7467c01d38
commit e3fb4728d7
5 changed files with 75 additions and 23 deletions
+4 -4
View File
@@ -22,7 +22,7 @@ router = APIRouter(prefix="/api/v1/custom-fields", tags=["custom-fields-definiti
@router.get(
"/definitions",
response_model=list[CustomFieldDefinitionResponse],
dependencies=[Depends(require_permission("contacts:read"))],
dependencies=[Depends(require_permission("custom_fields:read"))],
)
async def list_definitions(
entity: str | None = Query(None, description="Filter by entity type (e.g. 'contact', 'company')"),
@@ -39,7 +39,7 @@ async def list_definitions(
"/definitions",
response_model=CustomFieldDefinitionResponse,
status_code=201,
dependencies=[Depends(require_permission("contacts:write"))],
dependencies=[Depends(require_permission("custom_fields:write"))],
)
async def create_definition(
body: CustomFieldDefinitionCreate,
@@ -58,7 +58,7 @@ async def create_definition(
@router.patch(
"/definitions/{definition_id}",
response_model=CustomFieldDefinitionResponse,
dependencies=[Depends(require_permission("contacts:write"))],
dependencies=[Depends(require_permission("custom_fields:write"))],
)
async def update_definition(
definition_id: str,
@@ -90,7 +90,7 @@ async def update_definition(
@router.delete(
"/definitions/{definition_id}",
status_code=204,
dependencies=[Depends(require_permission("contacts:write"))],
dependencies=[Depends(require_permission("custom_fields:write"))],
)
async def delete_definition(
definition_id: str,