Improve demo seed

This commit is contained in:
Urtzi Alfaro
2025-10-17 07:31:14 +02:00
parent b6cb800758
commit d4060962e4
56 changed files with 8235 additions and 339 deletions

View File

@@ -4,7 +4,7 @@ Sales Analytics API - Reporting, statistics, and insights
"""
from fastapi import APIRouter, Depends, HTTPException, Query, Path
from typing import Optional
from typing import Optional, Dict, Any
from uuid import UUID
from datetime import datetime
import structlog
@@ -12,6 +12,7 @@ import structlog
from app.services.sales_service import SalesService
from shared.routing import RouteBuilder
from shared.auth.access_control import analytics_tier_required
from shared.auth.decorators import get_current_user_dep
route_builder = RouteBuilder('sales')
router = APIRouter(tags=["sales-analytics"])
@@ -31,6 +32,7 @@ async def get_sales_analytics(
tenant_id: UUID = Path(..., description="Tenant ID"),
start_date: Optional[datetime] = Query(None, description="Start date filter"),
end_date: Optional[datetime] = Query(None, description="End date filter"),
current_user: Dict[str, Any] = Depends(get_current_user_dep),
sales_service: SalesService = Depends(get_sales_service)
):
"""Get sales analytics summary for a tenant (Professional+ tier required)"""

View File

@@ -39,7 +39,7 @@ class SalesDataBase(BaseModel):
@validator('source')
def validate_source(cls, v):
allowed_sources = ['manual', 'pos', 'online', 'import', 'api', 'csv']
allowed_sources = ['manual', 'pos', 'online', 'import', 'api', 'csv', 'demo_clone']
if v not in allowed_sources:
raise ValueError(f'Source must be one of: {allowed_sources}')
return v

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Demo Sales Seeding Script for Sales Service
Creates realistic historical sales data for demo template tenants