Improve training test 3
This commit is contained in:
@@ -134,29 +134,53 @@ async def get_sales_data(
|
||||
start_date: Optional[datetime] = Query(None, description="Start date filter"),
|
||||
end_date: Optional[datetime] = Query(None, description="End date filter"),
|
||||
product_name: Optional[str] = Query(None, description="Product name filter"),
|
||||
# ✅ FIX: Add missing pagination parameters
|
||||
limit: Optional[int] = Query(1000, le=5000, description="Maximum number of records to return"),
|
||||
offset: Optional[int] = Query(0, ge=0, description="Number of records to skip"),
|
||||
# ✅ FIX: Add additional filtering parameters
|
||||
product_names: Optional[List[str]] = Query(None, description="Multiple product name filters"),
|
||||
location_ids: Optional[List[str]] = Query(None, description="Location ID filters"),
|
||||
sources: Optional[List[str]] = Query(None, description="Source filters"),
|
||||
min_quantity: Optional[int] = Query(None, description="Minimum quantity filter"),
|
||||
max_quantity: Optional[int] = Query(None, description="Maximum quantity filter"),
|
||||
min_revenue: Optional[float] = Query(None, description="Minimum revenue filter"),
|
||||
max_revenue: Optional[float] = Query(None, description="Maximum revenue filter"),
|
||||
current_user: Dict[str, Any] = Depends(get_current_user_dep),
|
||||
db: AsyncSession = Depends(get_db)
|
||||
):
|
||||
"""Get sales data for tenant with filters"""
|
||||
"""Get sales data for tenant with filters and pagination"""
|
||||
try:
|
||||
logger.debug("Querying sales data",
|
||||
tenant_id=tenant_id,
|
||||
start_date=start_date,
|
||||
end_date=end_date,
|
||||
product_name=product_name)
|
||||
product_name=product_name,
|
||||
limit=limit,
|
||||
offset=offset)
|
||||
|
||||
# ✅ FIX: Create complete SalesDataQuery with all parameters
|
||||
query = SalesDataQuery(
|
||||
tenant_id=tenant_id,
|
||||
start_date=start_date,
|
||||
end_date=end_date,
|
||||
product_name=product_name
|
||||
product_names=[product_name] if product_name else product_names,
|
||||
location_ids=location_ids,
|
||||
sources=sources,
|
||||
min_quantity=min_quantity,
|
||||
max_quantity=max_quantity,
|
||||
min_revenue=min_revenue,
|
||||
max_revenue=max_revenue,
|
||||
limit=limit, # ✅ Now properly passed from query params
|
||||
offset=offset # ✅ Now properly passed from query params
|
||||
)
|
||||
|
||||
records = await SalesService.get_sales_data(query, db)
|
||||
|
||||
logger.debug("Successfully retrieved sales data",
|
||||
count=len(records),
|
||||
tenant_id=tenant_id)
|
||||
tenant_id=tenant_id,
|
||||
limit=limit,
|
||||
offset=offset)
|
||||
return records
|
||||
|
||||
except Exception as e:
|
||||
|
||||
Reference in New Issue
Block a user