docs: 216 Architektur-Fehler (ARCH-001 bis ARCH-216) — vollständiges Code-Review abgeschlossen
This commit is contained in:
@@ -2072,3 +2072,39 @@ Playwright E2E: 10 passed, 24 failed (BUG-011/012/013 — Mock-Daten und data-te
|
|||||||
- **Problem:** `DB_PASSWORD` wird für alle DB-Roles (crm_api, crm_auth, crm_worker, crm_user) verwendet. Jede Role sollte ein eigenes Password haben für Security-Isolation.
|
- **Problem:** `DB_PASSWORD` wird für alle DB-Roles (crm_api, crm_auth, crm_worker, crm_user) verwendet. Jede Role sollte ein eigenes Password haben für Security-Isolation.
|
||||||
- **Schweregrad:** Medium
|
- **Schweregrad:** Medium
|
||||||
- **Status:** ⏳ Nicht gefixt
|
- **Status:** ⏳ Nicht gefixt
|
||||||
|
|
||||||
|
### ARCH-211: permission_audit.py — hardcoded deutsche Strings in Notifications
|
||||||
|
- **Datei:** app/services/permission_audit.py:30-32
|
||||||
|
- **Problem:** 'Neue Berechtigung', '{perm.entity_type} wurde mit dir geteilt' — hardcoded deutsche Strings in create_notification().
|
||||||
|
- **Schweregrad:** Low
|
||||||
|
- **Status:** ⏳ Nicht gefixt
|
||||||
|
|
||||||
|
### ARCH-212: owner_transfer_service.py — ENTITY_TABLES statisch
|
||||||
|
- **Datei:** app/services/owner_transfer_service.py:16-26
|
||||||
|
- **Problem:** ENTITY_TABLES ist statisch. Neue Plugin-Tabellen werden nicht erfasst. Owner Transfer funktioniert nur für Core-Tabellen.
|
||||||
|
- **Schweregrad:** Medium
|
||||||
|
- **Status:** ⏳ Nicht gefixt
|
||||||
|
|
||||||
|
### ARCH-213: policy_service.py — ABAC_ALLOWED_FIELDS statisch
|
||||||
|
- **Datei:** app/services/policy_service.py:33-36
|
||||||
|
- **Problem:** ABAC_ALLOWED_FIELDS ist statisch. Neue Plugin-Entities können keine ABAC Policies verwenden.
|
||||||
|
- **Schweregrad:** Medium
|
||||||
|
- **Status:** ⏳ Nicht gefixt
|
||||||
|
|
||||||
|
### ARCH-214: workspaceStore.ts — visibleModuleKeys() gibt ALLE Module zurück (bestätigt ARCH-004)
|
||||||
|
- **Datei:** frontend/src/store/workspaceStore.ts:88-91
|
||||||
|
- **Problem:** `visibleModuleKeys: () => new Set(ctx?.modules?.map(m => m.module_key) || [])` — gibt alle Module zurück, nicht nur sichtbare. is_visible wird nicht gefiltert.
|
||||||
|
- **Schweregrad:** High
|
||||||
|
- **Status:** ⏳ Nicht gefixt
|
||||||
|
|
||||||
|
### ARCH-215: useAIContext.ts — POST ohne Error-Handling
|
||||||
|
- **Datei:** frontend/src/hooks/useAIContext.ts:14
|
||||||
|
- **Problem:** `apiClient.post('/ai-proactive/context', {...}).catch(() => {})` — Fehler werden still verschluckt. Kein Logging, kein Error-Handling.
|
||||||
|
- **Schweregrad:** Low
|
||||||
|
- **Status:** ⏳ Nicht gefixt
|
||||||
|
|
||||||
|
### ARCH-216: contact_folder_permission_service.py — _rank() dupliziert (5. Kopie)
|
||||||
|
- **Datei:** app/services/contact_folder_permission_service.py:22
|
||||||
|
- **Problem:** _rank() Funktion ist jetzt in 5 Dateien definiert (visibility.py, permission_resolver.py, bulk_permission_service.py, contact_folder_permission_service.py, und in permissions.py als PERM_RANK). Sollte zentralisiert werden.
|
||||||
|
- **Schweregrad:** Low
|
||||||
|
- **Status:** ⏳ Nicht gefixt
|
||||||
|
|||||||
Reference in New Issue
Block a user