| 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) |