feat(N3): Backend respektiert X-Workspace-ID bei Listen — contacts/dms/mail/calendar + Frontend-Defaults #367
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
N3 — Erste vier Module integrieren (Phase N)
Roadmap: PLATFORM_ROADMAP.md → Phase N, Task N3 | Milestone: Phase N — Workspace-Scopes (#14) | Label: task
Umsetzung
Core-Resolver + Dependency:
resolve_workspace_scope()(workspace_scope_service.py): X-Workspace-ID → Workspace-Check (aktiv, Tenant) → Zuweisungs-Check → Modul-config; leere Dimensionswerte fallen weg. Exemptions: System-Admins + workspaces:configure_modules-Inhaber (Editor-Deadlock: der N2-Scope-Editor lädt Wertoptionen über dieselben Endpoints).require_workspace_scope(module_key)FastAPI-Dependency (deps.py) — Header-Parsing gekapselt, Routes bleiben schlank.expand_folder_scope(): Ordner-Subtree-Auflösung (self + descendants, zyklensicher) für ContactFolder + DMS Folder.scope_uuid_set(): UUID-Mengen mit fail-closed-Semantik (garbage UUIDs → leere Menge).Modul-Filter (additive UND-Einschränkung, kein Umbau bestehender Routes):
Frontend-Defaults (Workspace-Kontext):
getModuleConfig(moduleKey)im workspaceStore (+3 Tests)Verifikation