sivapriya175
deploy backend files
36da710
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, # New function for team trends
get_player_trends, # New function for player trends
)
router = APIRouter()
@router.get("/player-stats/")
async def player_statistics(player_name: str, season: str = None, role: str = "Batting"):
# Validate role parameter
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):
# Update get_match_history to handle two teams
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)
# New endpoint for team trends over time
@router.get("/team-trends/")
async def team_trends(team_name: str):
return get_team_trends(team_name)
# New endpoint for player trends over time
@router.get("/player-trends/")
async def player_trends(player_name: str, role: str = "Batting"):
# Validate role parameter
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)