This commit refactors the demo session architecture to consolidate all demo configuration data into the fixture files, removing redundant metadata files. ## Changes Made: ### 1. Data Consolidation - **Removed**: `shared/demo/metadata/demo_users.json` - **Removed**: `shared/demo/metadata/tenant_configs.json` - **Updated**: Merged all user data into `02-auth.json` files - **Updated**: Merged all tenant config data into `01-tenant.json` files ### 2. Enterprise Parent Tenant Updates - Updated owner name to "Director" (matching auth fixtures) - Added description field matching tenant_configs.json - Added `base_tenant_id` to all child tenant entries - Now includes all 5 child locations (Madrid, Barcelona, Valencia, Seville, Bilbao) ### 3. Professional Tenant Updates - Added description field from tenant_configs.json - Ensured consistency with auth fixtures ### 4. Code Updates - **services/tenant/app/api/internal_demo.py**: - Fixed child tenant staff members to use enterprise parent users - Changed from professional staff IDs to enterprise staff IDs (Laura López, José Martínez, Francisco Moreno) - **services/demo_session/app/core/config.py**: - Updated DEMO_ACCOUNTS configuration with all 5 child outlets - Updated enterprise tenant name and email to match fixtures - Added descriptions for all child locations - **gateway/app/middleware/demo_middleware.py**: - Updated comments to reference fixture files as source of truth - Clarified that owner IDs come from 01-tenant.json files - **frontend/src/stores/useTenantInitializer.ts**: - Updated tenant names and descriptions to match fixture files - Added comments linking to source fixture files ## Benefits: 1. **Single Source of Truth**: All demo data now lives in fixture files 2. **Consistency**: No more sync issues between metadata and fixtures 3. **Maintainability**: Easier to update demo data (one place per tenant type) 4. **Clarity**: Clear separation between template data (fixtures) and runtime config ## Enterprise Demo Fix: The enterprise owner is now correctly added as a member of all child tenants, fixing the issue where the tenant switcher didn't show parent/child tenants and the establishments page didn't load tenants for the demo enterprise user. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
44 lines
1.4 KiB
JSON
44 lines
1.4 KiB
JSON
{
|
|
"tenant": {
|
|
"id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
|
|
"name": "Panadería Artesana Madrid - Demo",
|
|
"subdomain": "demo-artesana",
|
|
"email": "demo.professional@panaderiaartesana.com",
|
|
"subscription_tier": "professional",
|
|
"tenant_type": "standalone",
|
|
"description": "Professional tier demo tenant for bakery operations",
|
|
"is_active": true,
|
|
"created_at": "2025-01-15T06:00:00Z",
|
|
"updated_at": "2025-01-15T06:00:00Z"
|
|
},
|
|
"owner": {
|
|
"id": "c1a2b3c4-d5e6-47a8-b9c0-d1e2f3a4b5c6",
|
|
"name": "María García López",
|
|
"email": "maria.garcia@panaderiaartesana.com",
|
|
"role": "owner"
|
|
},
|
|
"subscription": {
|
|
"id": "80000000-0000-0000-0000-000000000001",
|
|
"tenant_id": "a1b2c3d4-e5f6-47a8-b9c0-d1e2f3a4b5c6",
|
|
"plan": "professional",
|
|
"status": "active",
|
|
"monthly_price": 299.00,
|
|
"max_users": 10,
|
|
"max_locations": 3,
|
|
"max_products": 500,
|
|
"features": {
|
|
"production_planning": true,
|
|
"procurement_management": true,
|
|
"inventory_management": true,
|
|
"sales_analytics": true,
|
|
"multi_location": true,
|
|
"advanced_reporting": true,
|
|
"api_access": true,
|
|
"priority_support": true
|
|
},
|
|
"trial_ends_at": "2025-02-15T06:00:00Z",
|
|
"next_billing_date": "2025-02-01T06:00:00Z",
|
|
"created_at": "2025-01-15T06:00:00Z",
|
|
"updated_at": "2025-01-15T06:00:00Z"
|
|
}
|
|
} |