Improve the frontend 3

This commit is contained in:
Urtzi Alfaro
2025-10-30 21:08:07 +01:00
parent 36217a2729
commit 63f5c6d512
184 changed files with 21512 additions and 7442 deletions

View File

@@ -89,6 +89,12 @@ class CloneOrchestrator:
required=False, # Optional - provides POS configurations
timeout=30.0 # Increased for POS configurations cloning
),
ServiceDefinition(
name="procurement",
url=os.getenv("PROCUREMENT_SERVICE_URL", "http://procurement-service:8000"),
required=False, # Optional - provides procurement and purchase orders
timeout=25.0 # Longer - clones many procurement entities
),
]
async def clone_all_services(
@@ -234,13 +240,17 @@ class CloneOrchestrator:
try:
async with httpx.AsyncClient(timeout=service_def.timeout) as client:
# Get session creation time for date adjustment
session_created_at = datetime.now(timezone.utc).isoformat().replace('+00:00', 'Z')
response = await client.post(
f"{service_def.url}/internal/demo/clone",
params={
"base_tenant_id": base_tenant_id,
"virtual_tenant_id": virtual_tenant_id,
"demo_account_type": demo_account_type,
"session_id": session_id
"session_id": session_id,
"session_created_at": session_created_at
},
headers={
"X-Internal-API-Key": self.internal_api_key

View File

@@ -99,13 +99,14 @@ class DemoDataCloner:
base_services = ["inventory", "sales", "orders", "pos"]
if demo_account_type == "individual_bakery":
# Individual bakery has production, recipes
return base_services + ["recipes", "production"]
# Individual bakery has production, recipes, suppliers, and procurement
return base_services + ["recipes", "production", "suppliers", "procurement"]
elif demo_account_type == "central_baker":
# Central baker satellite has suppliers
return base_services + ["suppliers"]
# Central baker satellite has suppliers and procurement
return base_services + ["suppliers", "procurement"]
else:
return base_services
# Basic tenant has suppliers and procurement
return base_services + ["suppliers", "procurement"]
async def _clone_service_data(
self,
@@ -247,6 +248,7 @@ class DemoDataCloner:
"production": settings.PRODUCTION_SERVICE_URL,
"suppliers": settings.SUPPLIERS_SERVICE_URL,
"pos": settings.POS_SERVICE_URL,
"procurement": settings.PROCUREMENT_SERVICE_URL,
}
return url_map.get(service_name, "")
@@ -278,7 +280,8 @@ class DemoDataCloner:
"inventory", # Core data (ingredients, products)
"recipes", # Core data
"suppliers", # Core data
"pos" # Point of sale data
"pos", # Point of sale data
"procurement" # Procurement and purchase orders
]
for service_name in services: