UI fuer ABAC-Richtlinien (Modul 10/16 UI-Backlog) #382

Closed
opened 2026-09-14 21:43:17 +00:00 by Leopoldadmin · 0 comments
Owner

UI-Backlog Modul 10: Policies (ABAC)

Backend: /api/v1/policies (4 Ops): GET /{entity_type} (Liste pro Entitätstyp), POST (create), PUT /{policy_id} (update), DELETE /{policy_id} (delete). Permissions: policies:read / policies:write.

Frontend (Commit d734923):

  • api/policies.ts — 4 TanStack-Hooks + ABAC_ALLOWED_FIELDS-Spiegel (Feld-Whitelist aus policy_service.py synchron gehalten) + POLICY_OPS (12 Operatoren)
  • pages/SettingsPolicies.tsx — Settings-Page mit: Entity-Typ-Tabs (contact, file, task, calendar_event, mailbox, address, contact_folder, workflow), Policy-Karten (Allow/Deny-Badges, Disabled-Badge, Priorität, Conditions-Summary), Create/Edit-Modal mit Principal-Picker (User/Group/Role via useUsers/useGroups/useRoles), Conditions-Builder (AND/OR-Operator, Regeln mit Whitelist-Feldern + 12 Ops + NULL-Op-Behandlung), Enable/Disable-Toggle, Delete-Confirm
  • Core-Registrierung: Settings-Subroute /settings/policies + Settings-Nav "ABAC-Richtlinien"
  • i18n de/en: 41 policies-Keys
  • Tests: __tests__/pages/SettingsPolicies.test.tsx 12/12 (Tabs, Permission-Gating, Karten/Badges, Create mit Conditions, Null-Conditions, Toggle, Edit-Prefill, Delete, Tab-Wechsel)

Verifikation:

  • tsc exit=0
  • Vitest 12/12
  • Production-Build OK
  • Frontend-Deploy ~20s
  • Live: GET /policies/contact HTTP 200 (items=[]) + SPA 200
  • Echter-Login DOM-Check: hasPoliciesPage=true, alle 8 Tabs gerendert, Create-Button sichtbar, Empty-State korrekt, KEIN Spinner, keine JS-Fehler

DoD: erfüllt.

## UI-Backlog Modul 10: Policies (ABAC) **Backend:** `/api/v1/policies` (4 Ops): GET `/{entity_type}` (Liste pro Entitätstyp), POST (create), PUT `/{policy_id}` (update), DELETE `/{policy_id}` (delete). Permissions: `policies:read` / `policies:write`. **Frontend (Commit d734923):** - `api/policies.ts` — 4 TanStack-Hooks + ABAC_ALLOWED_FIELDS-Spiegel (Feld-Whitelist aus policy_service.py synchron gehalten) + POLICY_OPS (12 Operatoren) - `pages/SettingsPolicies.tsx` — Settings-Page mit: Entity-Typ-Tabs (contact, file, task, calendar_event, mailbox, address, contact_folder, workflow), Policy-Karten (Allow/Deny-Badges, Disabled-Badge, Priorität, Conditions-Summary), Create/Edit-Modal mit Principal-Picker (User/Group/Role via useUsers/useGroups/useRoles), Conditions-Builder (AND/OR-Operator, Regeln mit Whitelist-Feldern + 12 Ops + NULL-Op-Behandlung), Enable/Disable-Toggle, Delete-Confirm - Core-Registrierung: Settings-Subroute `/settings/policies` + Settings-Nav "ABAC-Richtlinien" - i18n de/en: 41 policies-Keys - Tests: `__tests__/pages/SettingsPolicies.test.tsx` 12/12 (Tabs, Permission-Gating, Karten/Badges, Create mit Conditions, Null-Conditions, Toggle, Edit-Prefill, Delete, Tab-Wechsel) **Verifikation:** - tsc exit=0 - Vitest 12/12 - Production-Build OK - Frontend-Deploy ~20s - Live: GET /policies/contact HTTP 200 (items=[]) + SPA 200 - Echter-Login DOM-Check: hasPoliciesPage=true, alle 8 Tabs gerendert, Create-Button sichtbar, Empty-State korrekt, KEIN Spinner, keine JS-Fehler **DoD:** erfüllt.
Leopoldadmin added the task label 2026-09-14 21:43:17 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Leopoldadmin/leocrm#382