Merge branch 'organizations' (cherry-picked)

This commit is contained in:
Artem Kashaev
2025-11-27 15:38:47 +05:00
parent 4b45073bd3
commit 8c326501bf
9 changed files with 292 additions and 22 deletions
+13 -4
View File
@@ -1,7 +1,10 @@
"""Analytics API stubs (deal summary and funnel)."""
from __future__ import annotations
from fastapi import APIRouter, Query, status
from fastapi import APIRouter, Depends, Query, status
from app.api.deps import get_organization_context
from app.services.organization_service import OrganizationContext
router = APIRouter(prefix="/analytics", tags=["analytics"])
@@ -11,13 +14,19 @@ def _stub(endpoint: str) -> dict[str, str]:
@router.get("/deals/summary", status_code=status.HTTP_501_NOT_IMPLEMENTED)
async def deals_summary(days: int = Query(30, ge=1, le=180)) -> dict[str, str]:
async def deals_summary(
days: int = Query(30, ge=1, le=180),
context: OrganizationContext = Depends(get_organization_context),
) -> dict[str, str]:
"""Placeholder for aggregated deal statistics."""
_ = days
_ = (days, context)
return _stub("GET /analytics/deals/summary")
@router.get("/deals/funnel", status_code=status.HTTP_501_NOT_IMPLEMENTED)
async def deals_funnel() -> dict[str, str]:
async def deals_funnel(
context: OrganizationContext = Depends(get_organization_context),
) -> dict[str, str]:
"""Placeholder for funnel analytics."""
_ = context
return _stub("GET /analytics/deals/funnel")