Spaces:
Sleeping
Sleeping
Download backend/api/endpoints.py from Lav-anya05/Predict_Dasha: direct link, hf CLI and curl.
- Browser
- Download file 6.04 kB
-
https://huggingface.co/spaces/Lav-anya05/Predict_Dasha/resolve/main/backend/api/endpoints.py
- Command line
-
hf download hf://spaces/Lav-anya05/Predict_Dasha/backend/api/endpoints.py
-
curl -L -o endpoints.py https://huggingface.co/spaces/Lav-anya05/Predict_Dasha/resolve/main/backend/api/endpoints.py
6.04 kB
| from fastapi import APIRouter, Query | |
| from typing import Optional, List | |
| from models.schemas import ( | |
| KPIResponse, PerformanceChartResponse, CampaignResponse, | |
| AIInsightResponse, AnomalyResponse, | |
| CampaignTrendResponse, AICampaignInsightsResponse, | |
| CampaignRevenuePoint, SegmentContributionPoint, CampaignROIPoint, | |
| RevenueForecastResponse, ForecastComponentsResponse, AIForecastInsightsResponse | |
| ) | |
| from services import data_service | |
| router = APIRouter() | |
| def get_kpis( | |
| days: int = Query(30), | |
| campaign_type: Optional[str] = Query(None), | |
| region: Optional[str] = Query(None), | |
| channel: Optional[str] = Query(None), | |
| segment: Optional[str] = Query(None) | |
| ): | |
| return data_service.generate_kpis(days, campaign_type, region, channel, segment) | |
| def get_performance_chart( | |
| days: int = Query(30), | |
| campaign_type: Optional[str] = Query(None), | |
| region: Optional[str] = Query(None), | |
| channel: Optional[str] = Query(None), | |
| segment: Optional[str] = Query(None) | |
| ): | |
| return data_service.generate_performance_data(days, campaign_type, region, channel, segment) | |
| def get_campaign_performance( | |
| days: int = Query(30), | |
| campaign_type: Optional[str] = Query(None), | |
| region: Optional[str] = Query(None), | |
| channel: Optional[str] = Query(None), | |
| segment: Optional[str] = Query(None) | |
| ): | |
| return data_service.generate_campaign_performance(days, campaign_type, region, channel, segment) | |
| def get_campaign_revenue( | |
| days: int = Query(30), | |
| campaign_type: Optional[str] = Query(None), | |
| region: Optional[str] = Query(None), | |
| channel: Optional[str] = Query(None), | |
| segment: Optional[str] = Query(None) | |
| ): | |
| return data_service.generate_campaign_revenue(days, campaign_type, region, channel, segment) | |
| def get_channel_contribution( | |
| days: int = Query(30), | |
| campaign_type: Optional[str] = Query(None), | |
| region: Optional[str] = Query(None), | |
| channel: Optional[str] = Query(None), | |
| segment: Optional[str] = Query(None) | |
| ): | |
| return data_service.generate_channel_contribution(days, campaign_type, region, channel, segment) | |
| def get_segment_contribution( | |
| days: int = Query(30), | |
| campaign_type: Optional[str] = Query(None), | |
| region: Optional[str] = Query(None), | |
| channel: Optional[str] = Query(None), | |
| segment: Optional[str] = Query(None) | |
| ): | |
| return data_service.generate_segment_contribution(days, campaign_type, region, channel, segment) | |
| def get_campaign_roi( | |
| days: int = Query(30), | |
| campaign_type: Optional[str] = Query(None), | |
| region: Optional[str] = Query(None), | |
| channel: Optional[str] = Query(None), | |
| segment: Optional[str] = Query(None) | |
| ): | |
| return data_service.generate_campaign_roi(days, campaign_type, region, channel, segment) | |
| def get_revenue_trend( | |
| days: int = Query(30), | |
| campaign_type: Optional[str] = Query(None), | |
| region: Optional[str] = Query(None), | |
| channel: Optional[str] = Query(None), | |
| segment: Optional[str] = Query(None) | |
| ): | |
| return data_service.generate_revenue_trend(days, campaign_type, region, channel, segment) | |
| def get_ai_campaign_insights( | |
| days: int = Query(30), | |
| campaign_type: Optional[str] = Query(None), | |
| region: Optional[str] = Query(None), | |
| channel: Optional[str] = Query(None), | |
| segment: Optional[str] = Query(None) | |
| ): | |
| return data_service.generate_ai_campaign_insights(days, campaign_type, region, channel, segment) | |
| def get_ai_insights( | |
| days: int = Query(30), | |
| campaign_type: Optional[str] = Query(None), | |
| region: Optional[str] = Query(None), | |
| channel: Optional[str] = Query(None), | |
| segment: Optional[str] = Query(None) | |
| ): | |
| return data_service.generate_ai_insights(days, campaign_type, region, channel, segment) | |
| def get_revenue_forecast( | |
| horizon: int = Query(30), | |
| campaign_type: Optional[str] = Query(None), | |
| region: Optional[str] = Query(None), | |
| channel: Optional[str] = Query(None), | |
| segment: Optional[str] = Query(None) | |
| ): | |
| return data_service.generate_revenue_forecast(horizon, campaign_type, region, channel, segment) | |
| def get_forecast_components( | |
| horizon: int = Query(30), | |
| campaign_type: Optional[str] = Query(None), | |
| region: Optional[str] = Query(None), | |
| channel: Optional[str] = Query(None), | |
| segment: Optional[str] = Query(None) | |
| ): | |
| return data_service.generate_forecast_components(horizon, campaign_type, region, channel, segment) | |
| def get_ai_forecast_insights( | |
| horizon: int = Query(30), | |
| campaign_type: Optional[str] = Query(None), | |
| region: Optional[str] = Query(None), | |
| channel: Optional[str] = Query(None), | |
| segment: Optional[str] = Query(None) | |
| ): | |
| return data_service.generate_ai_forecast_insights(horizon, campaign_type, region, channel, segment) | |
| def get_anomalies( | |
| days: int = Query(30), | |
| campaign_type: Optional[str] = Query(None), | |
| region: Optional[str] = Query(None), | |
| channel: Optional[str] = Query(None), | |
| segment: Optional[str] = Query(None) | |
| ): | |
| return data_service.generate_anomalies(days, campaign_type, region, channel, segment) | |