Chittrarasu/Cricket-match-prediction-FastAPI
0
1from fastapi import APIRouter, HTTPException2from services import (3 get_player_stats,4 get_team_stats,5 get_match_history,6 get_teams,7 get_players,8 get_seasons,9 predict_score,10 predict_team_outcome,11 get_team_trends, # New function for team trends12 get_player_trends, # New function for player trends13)14 15router = APIRouter()16 17@router.get("/player-stats/")18async def player_statistics(player_name: str, season: str = None, role: str = "Batting"):19 # Validate role parameter20 if role not in ["Batting", "Bowling"]:21 raise HTTPException(status_code=400, detail="Role must be 'Batting' or 'Bowling'")22 return get_player_stats(player_name, season, role)23 24@router.get("/team-stats/")25async def team_statistics(team_name: str, season: str = None):26 return get_team_stats(team_name, season)27 28@router.get("/match-history/")29async def match_history(team1: str, team2: str, season: str = None):30 # Update get_match_history to handle two teams31 return get_match_history(team1, team2, season)32 33@router.get("/teams")34async def teams():35 return get_teams()36 37@router.get("/players")38async def players():39 return get_players()40 41@router.get("/seasons")42async def seasons():43 return get_seasons()44 45@router.get("/predict-score/")46async def predict_player_score_endpoint(player_name: str, opposition_team: str):47 return predict_score(player_name, opposition_team)48 49@router.get("/predict-team-outcome/")50async def predict_team_outcome_endpoint(team1: str, team2: str):51 return predict_team_outcome(team1, team2)52 53# New endpoint for team trends over time54@router.get("/team-trends/")55async def team_trends(team_name: str):56 return get_team_trends(team_name)57 58# New endpoint for player trends over time59@router.get("/player-trends/")60async def player_trends(player_name: str, role: str = "Batting"):61 # Validate role parameter62 if role not in ["Batting", "Bowling"]:63 raise HTTPException(status_code=400, detail="Role must be 'Batting' or 'Bowling'")64 return get_player_trends(player_name, role)