|
from fastapi import APIRouter, HTTPException |
|
from services import ( |
|
get_player_stats, |
|
get_team_stats, |
|
get_match_history, |
|
get_teams, |
|
get_players, |
|
get_seasons, |
|
predict_score, |
|
predict_team_outcome, |
|
get_team_trends, |
|
get_player_trends, |
|
) |
|
|
|
router = APIRouter() |
|
|
|
@router.get("/player-stats/") |
|
async def player_statistics(player_name: str, season: str = None, role: str = "Batting"): |
|
|
|
if role not in ["Batting", "Bowling"]: |
|
raise HTTPException(status_code=400, detail="Role must be 'Batting' or 'Bowling'") |
|
return get_player_stats(player_name, season, role) |
|
|
|
@router.get("/team-stats/") |
|
async def team_statistics(team_name: str, season: str = None): |
|
return get_team_stats(team_name, season) |
|
|
|
@router.get("/match-history/") |
|
async def match_history(team1: str, team2: str, season: str = None): |
|
|
|
return get_match_history(team1, team2, season) |
|
|
|
@router.get("/teams") |
|
async def teams(): |
|
return get_teams() |
|
|
|
@router.get("/players") |
|
async def players(): |
|
return get_players() |
|
|
|
@router.get("/seasons") |
|
async def seasons(): |
|
return get_seasons() |
|
|
|
@router.get("/predict-score/") |
|
async def predict_player_score_endpoint(player_name: str, opposition_team: str): |
|
return predict_score(player_name, opposition_team) |
|
|
|
@router.get("/predict-team-outcome/") |
|
async def predict_team_outcome_endpoint(team1: str, team2: str): |
|
return predict_team_outcome(team1, team2) |
|
|
|
|
|
@router.get("/team-trends/") |
|
async def team_trends(team_name: str): |
|
return get_team_trends(team_name) |
|
|
|
|
|
@router.get("/player-trends/") |
|
async def player_trends(player_name: str, role: str = "Batting"): |
|
|
|
if role not in ["Batting", "Bowling"]: |
|
raise HTTPException(status_code=400, detail="Role must be 'Batting' or 'Bowling'") |
|
return get_player_trends(player_name, role) |