Improve the frontend 3
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user