-
-
Notifications
You must be signed in to change notification settings - Fork 12
Description
Summary
When requesting advanced stats, the "conference" property always displays the current conference. The regular stats endpoint, however, returns the relevant conference for each stat.
Steps to reproduce
-
Make a request for advanced stats for a team that has changed conferences, for example UCF.
- without a
yearparametercurl \ --request GET 'https://api.collegefootballdata.com/stats/season/advanced?team=ucf' \ --header 'Authorization: Bearer $CFBD_API_TOKEN' - with a
yearparametercurl \ --request GET 'https://api.collegefootballdata.com/stats/season/advanced?team=ucf&year=2005' \ --header 'Authorization: Bearer $CFBD_API_TOKEN'
- without a
-
Inspect a stat for a year where they were in a different conference (e.g. 2005)
{ "season": 2005, "team": "UCF", "conference": "American Athletic", ... }
Expected results
The "conference" property is the conference affiliated with the team at the time of the stat (e.g. "Conference USA").
Actual results
The "conference" property is always the current conference (e.g. "American Athletic").
Other notes
The StatsService.getTeamStats function builds the SQL that joins on the matching conference, which I think is desired:
INNER JOIN conference_team AS ct
ON t.id = ct.team_id
AND ct.start_year <= g.season
AND (ct.end_year IS NULL OR ct.end_year >= g.season)The StatsService.getAdvancedStats function builds the SQL using a couple different join conditions, but always on the latest conference:
INNER JOIN conference_team AS ct
ON t.id = ct.team_id
AND ct.end_year IS NULLand...
INNER JOIN conference_team AS ct
ON ct.team_id = t.id
AND ct.end_year IS NULL
AND ct.start_year IS NOT NULLThoughts @BlueSCar ?