Architektur: durchgängige Feature-/Entitlement-Schicht (Ist → Zielbild, Phasen) #68
Loading…
Reference in New Issue
Block a user
No description provided.
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?
Kontext
Das Projekt hat ein funktionierendes Kernmodell für Subscriptions: Feature-Registry (DB), Tier-Limits, User-Overrides und
check_feature_access(Backend). Parallel existieren verteilte Entscheidungen in UI und Code: Nicht jede sichtbare oder klickbare Fläche nutzt dieselbe Logik, und welche UI-Bausteine faktisch an welchen Features „hängen“, ist oft nicht explizit dokumentiert oder nur implizit in Komponenten/Routern erkennbar.Bereits konsistenter: Dashboard-Widgets:
widget_catalog.py+ optional DB-Zuordnung Widgets × Features (AND),widget_id_allowed/apply_entitlements_to_layout_dict.Ist-Zustand (hybrid)
check_feature_access; API-Endpunkte teils mit Feature-Enforcement (403), teils ohne.FeatureGate-Schicht.Zielbild (saubere Architektur)
Vorschlag Phasen (erste Überlegung, nicht final)
check_feature_access/ gebündelter Feature-API +FeatureGateo. ä.Akzeptanz (gesamt, grob)
Referenzen (Code)
auth.check_feature_access· Feature-Registry / Tier-Limits / User-Restrictionsdashboard_widget_entitlements.py·widget_feature_requirements_db.py· Admin „Widgets × Features“Issue zur Sicherung des Zielbilds; Umsetzung in Commits/Teil-Issues splitten.