1.2-A: Backend subscription_service.py + SUBSCRIPTION_FEATURES config #239

Closed
opened 2026-06-08 20:03:35 +02:00 by kincses · 2 comments
Owner

Merfoldko: Frontend Architektura 2.0 & Dinamikus Megjelenitesi Rendszer
Cel: Feature flag rendszer kiepitese a subscription plan-ok alapjan a backend-ben.

Fuggosegek (Dependencies)

  • Bemenet: #229 (RBAC/ABAC alapok)
  • Kimenet: #229-B (Frontend useFeatureFlag), #234 (Temavaltó)

Implementacios Reszletek

  1. SUBSCRIPTION_FEATURES konfiguracio (backend/app/core/config.py)
    FREE: max_vehicles=3, allow_custom_skin=False, allow_advanced_animations=False, allow_team_members=False
    BASIC: max_vehicles=10, allow_custom_skin=True, allow_advanced_animations=False, allow_team_members=True
    PREMIUM: max_vehicles=999, allow_custom_skin=True, allow_advanced_animations=True, allow_team_members=True

  2. subscription_service.py (backend/app/services/subscription_service.py)

    • has_feature(plan: str, feature: str) -> bool
    • get_plan_limits(plan: str) -> dict
    • check_vehicle_limit(plan: str, current_count: int) -> bool
  3. API vegpont - GET /api/v1/users/me/features - visszaadja a user szamara elerheto feature flag-okat

Erintett fajlok

  • backend/app/core/config.py
  • backend/app/services/subscription_service.py (uj)
  • backend/app/api/v1/endpoints/users.py
**Merfoldko:** Frontend Architektura 2.0 & Dinamikus Megjelenitesi Rendszer **Cel:** Feature flag rendszer kiepitese a subscription plan-ok alapjan a backend-ben. ### Fuggosegek (Dependencies) - **Bemenet:** #229 (RBAC/ABAC alapok) - **Kimenet:** #229-B (Frontend useFeatureFlag), #234 (Temavaltó) ### Implementacios Reszletek 1. **SUBSCRIPTION_FEATURES konfiguracio** (backend/app/core/config.py) FREE: max_vehicles=3, allow_custom_skin=False, allow_advanced_animations=False, allow_team_members=False BASIC: max_vehicles=10, allow_custom_skin=True, allow_advanced_animations=False, allow_team_members=True PREMIUM: max_vehicles=999, allow_custom_skin=True, allow_advanced_animations=True, allow_team_members=True 2. **subscription_service.py** (backend/app/services/subscription_service.py) - has_feature(plan: str, feature: str) -> bool - get_plan_limits(plan: str) -> dict - check_vehicle_limit(plan: str, current_count: int) -> bool 3. **API vegpont** - GET /api/v1/users/me/features - visszaadja a user szamara elerheto feature flag-okat ### Erintett fajlok - backend/app/core/config.py - backend/app/services/subscription_service.py (uj) - backend/app/api/v1/endpoints/users.py
kincses added the Status: To DoScope: BackendType: Feature labels 2026-06-08 20:03:35 +02:00
kincses added this to the Frontend Architektúra 2.0 & Dinamikus Megjelenítési Rendszer milestone 2026-06-08 20:07:42 +02:00
kincses added Status: In Progress and removed Status: To Do labels 2026-06-24 22:14:49 +02:00
kincses started working 2026-06-24 22:14:49 +02:00
Author
Owner

▶️ Munka megkezdve: 2026-06-24 22:14:48

▶️ **Munka megkezdve:** 2026-06-24 22:14:48
kincses added Status: Done and removed Status: In Progress labels 2026-06-24 22:24:56 +02:00
kincses worked for 10 minutes 2026-06-24 22:24:56 +02:00
Author
Owner

Munka befejezve: 2026-06-24 22:24:55

Technikai Összefoglaló:
Implementáltam a subscription_service.py-t valódi 3-szintű tier feloldással (UserSubscription → OrganizationSubscription → User.subscription_plan). Létrehoztam 3 új API végpontot: GET /subscriptions/my, GET /subscriptions/feature-flags, GET /subscriptions/check/{feature_key}. Javítottam a core_logic.py modell hiányzó tier relationship-jeit (OrganizationSubscription és UserSubscription). 25 feature flag támogatásával. Mind a 6 E2E tesztlépés PASS.

⏱️ Az idő rögzítve.

✅ **Munka befejezve:** 2026-06-24 22:24:55 **Technikai Összefoglaló:** Implementáltam a subscription_service.py-t valódi 3-szintű tier feloldással (UserSubscription → OrganizationSubscription → User.subscription_plan). Létrehoztam 3 új API végpontot: GET /subscriptions/my, GET /subscriptions/feature-flags, GET /subscriptions/check/{feature_key}. Javítottam a core_logic.py modell hiányzó tier relationship-jeit (OrganizationSubscription és UserSubscription). 25 feature flag támogatásával. Mind a 6 E2E tesztlépés PASS. ⏱️ *Az idő rögzítve.*
Sign in to join this conversation.