From 8f939411409f9c0cc9f444e8501e40d139b690c7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 8 Jan 2025 18:52:06 +0000 Subject: [PATCH] fix(typescript): update package generator version --- package.json | 2 +- src/index.ts | 3 +- src/schemas.gen.ts | 5073 ------------------------------------------- src/sdk.gen.ts | 576 +++++ src/services.gen.ts | 462 ---- src/types.gen.ts | 1738 +++++++-------- 6 files changed, 1448 insertions(+), 6406 deletions(-) delete mode 100644 src/schemas.gen.ts create mode 100644 src/sdk.gen.ts delete mode 100644 src/services.gen.ts diff --git a/package.json b/package.json index 8c1b3af..4bd6fe9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cfbd", - "version": "5.3.3-alpha.0", + "version": "5.4.4-alpha.0", "description": "This API is in limited Beta for Patreon subscribers. It may have bugs and is subject to changes. API keys can be acquired from the CollegeFootballData.com website.", "repository": { "type": "git", diff --git a/src/index.ts b/src/index.ts index 0a2b84b..81abc82 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,4 +1,3 @@ // This file is auto-generated by @hey-api/openapi-ts -export * from './schemas.gen'; -export * from './services.gen'; +export * from './sdk.gen'; export * from './types.gen'; \ No newline at end of file diff --git a/src/schemas.gen.ts b/src/schemas.gen.ts deleted file mode 100644 index 1e97805..0000000 --- a/src/schemas.gen.ts +++ /dev/null @@ -1,5073 +0,0 @@ -// This file is auto-generated by @hey-api/openapi-ts - -export const AdjustedTeamMetricsSchema = { - properties: { - year: { - type: 'integer', - format: 'int32' - }, - teamId: { - type: 'integer', - format: 'int32' - }, - team: { - type: 'string' - }, - conference: { - type: 'string' - }, - epa: { - properties: { - rushing: { - type: 'number', - format: 'double' - }, - passing: { - type: 'number', - format: 'double' - }, - total: { - type: 'number', - format: 'double' - } - }, - required: ['rushing', 'passing', 'total'], - type: 'object' - }, - epaAllowed: { - properties: { - rushing: { - type: 'number', - format: 'double' - }, - passing: { - type: 'number', - format: 'double' - }, - total: { - type: 'number', - format: 'double' - } - }, - required: ['rushing', 'passing', 'total'], - type: 'object' - }, - successRate: { - properties: { - passingDowns: { - type: 'number', - format: 'double' - }, - standardDowns: { - type: 'number', - format: 'double' - }, - total: { - type: 'number', - format: 'double' - } - }, - required: ['passingDowns', 'standardDowns', 'total'], - type: 'object' - }, - successRateAllowed: { - properties: { - passingDowns: { - type: 'number', - format: 'double' - }, - standardDowns: { - type: 'number', - format: 'double' - }, - total: { - type: 'number', - format: 'double' - } - }, - required: ['passingDowns', 'standardDowns', 'total'], - type: 'object' - }, - rushing: { - properties: { - highlightYards: { - type: 'number', - format: 'double' - }, - openFieldYards: { - type: 'number', - format: 'double' - }, - secondLevelYards: { - type: 'number', - format: 'double' - }, - lineYards: { - type: 'number', - format: 'double' - } - }, - required: ['highlightYards', 'openFieldYards', 'secondLevelYards', 'lineYards'], - type: 'object' - }, - rushingAllowed: { - properties: { - highlightYards: { - type: 'number', - format: 'double' - }, - openFieldYards: { - type: 'number', - format: 'double' - }, - secondLevelYards: { - type: 'number', - format: 'double' - }, - lineYards: { - type: 'number', - format: 'double' - } - }, - required: ['highlightYards', 'openFieldYards', 'secondLevelYards', 'lineYards'], - type: 'object' - }, - explosiveness: { - type: 'number', - format: 'double' - }, - explosivenessAllowed: { - type: 'number', - format: 'double' - } - }, - required: ['year', 'teamId', 'team', 'conference', 'epa', 'epaAllowed', 'successRate', 'successRateAllowed', 'rushing', 'rushingAllowed', 'explosiveness', 'explosivenessAllowed'], - type: 'object', - additionalProperties: false -} as const; - -export const PlayerWeightedEPASchema = { - properties: { - year: { - type: 'integer', - format: 'int32' - }, - athleteId: { - type: 'string' - }, - athleteName: { - type: 'string' - }, - position: { - type: 'string' - }, - team: { - type: 'string' - }, - conference: { - type: 'string' - }, - wepa: { - type: 'number', - format: 'double' - }, - plays: { - type: 'integer', - format: 'int32' - } - }, - required: ['year', 'athleteId', 'athleteName', 'position', 'team', 'conference', 'wepa', 'plays'], - type: 'object', - additionalProperties: false -} as const; - -export const KickerPAARSchema = { - properties: { - year: { - type: 'integer', - format: 'int32' - }, - athleteId: { - type: 'string' - }, - athleteName: { - type: 'string' - }, - team: { - type: 'string' - }, - conference: { - type: 'string' - }, - paar: { - type: 'number', - format: 'double' - }, - attempts: { - type: 'integer', - format: 'int32' - } - }, - required: ['year', 'athleteId', 'athleteName', 'team', 'conference', 'paar', 'attempts'], - type: 'object', - additionalProperties: false -} as const; - -export const VenueSchema = { - properties: { - id: { - type: 'integer', - format: 'int32', - nullable: true - }, - name: { - type: 'string', - nullable: true - }, - city: { - type: 'string', - nullable: true - }, - state: { - type: 'string', - nullable: true - }, - zip: { - type: 'string', - nullable: true - }, - countryCode: { - type: 'string', - nullable: true - }, - timezone: { - type: 'string', - nullable: true - }, - latitude: { - type: 'number', - format: 'double', - nullable: true - }, - longitude: { - type: 'number', - format: 'double', - nullable: true - }, - elevation: { - type: 'string', - nullable: true - }, - capacity: { - type: 'integer', - format: 'int32', - nullable: true - }, - constructionYear: { - type: 'integer', - format: 'int32', - nullable: true - }, - grass: { - type: 'boolean', - nullable: true - }, - dome: { - type: 'boolean', - nullable: true - } - }, - required: ['id', 'name', 'city', 'state', 'zip', 'countryCode', 'timezone', 'latitude', 'longitude', 'elevation', 'capacity', 'constructionYear'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamSchema = { - properties: { - id: { - type: 'integer', - format: 'int32' - }, - school: { - type: 'string' - }, - mascot: { - type: 'string', - nullable: true - }, - abbreviation: { - type: 'string', - nullable: true - }, - alternateNames: { - items: { - type: 'string' - }, - type: 'array', - nullable: true - }, - conference: { - type: 'string', - nullable: true - }, - division: { - type: 'string', - nullable: true - }, - classification: { - type: 'string', - nullable: true - }, - color: { - type: 'string', - nullable: true - }, - alternateColor: { - type: 'string', - nullable: true - }, - logos: { - items: { - type: 'string' - }, - type: 'array', - nullable: true - }, - twitter: { - type: 'string', - nullable: true - }, - location: { - allOf: [ - { - '$ref': '#/components/schemas/Venue' - } - ], - nullable: true - } - }, - required: ['id', 'school', 'mascot', 'abbreviation', 'alternateNames', 'conference', 'division', 'classification', 'color', 'alternateColor', 'logos', 'twitter', 'location'], - type: 'object', - additionalProperties: false -} as const; - -export const MatchupGameSchema = { - properties: { - season: { - type: 'integer', - format: 'int32' - }, - week: { - type: 'integer', - format: 'int32' - }, - seasonType: { - type: 'string' - }, - date: { - type: 'string' - }, - neutralSite: { - type: 'boolean' - }, - venue: { - type: 'string' - }, - homeTeam: { - type: 'string' - }, - homeScore: { - type: 'integer', - format: 'int32' - }, - awayTeam: { - type: 'string' - }, - awayScore: { - type: 'integer', - format: 'int32' - }, - winner: { - type: 'string', - nullable: true - } - }, - required: ['season', 'week', 'seasonType', 'date', 'neutralSite', 'venue', 'homeTeam', 'homeScore', 'awayTeam', 'awayScore', 'winner'], - type: 'object', - additionalProperties: false -} as const; - -export const MatchupSchema = { - properties: { - team1: { - type: 'string' - }, - team2: { - type: 'string' - }, - startYear: { - type: 'integer', - format: 'int32' - }, - endYear: { - type: 'integer', - format: 'int32' - }, - team1Wins: { - type: 'integer', - format: 'int32' - }, - team2Wins: { - type: 'integer', - format: 'int32' - }, - ties: { - type: 'integer', - format: 'int32' - }, - games: { - items: { - '$ref': '#/components/schemas/MatchupGame' - }, - type: 'array' - } - }, - required: ['team1', 'team2', 'team1Wins', 'team2Wins', 'ties', 'games'], - type: 'object', - additionalProperties: false -} as const; - -export const RosterPlayerSchema = { - properties: { - id: { - type: 'string' - }, - firstName: { - type: 'string' - }, - lastName: { - type: 'string' - }, - team: { - type: 'string' - }, - height: { - type: 'integer', - format: 'int32', - nullable: true - }, - weight: { - type: 'integer', - format: 'int32', - nullable: true - }, - jersey: { - type: 'integer', - format: 'int32', - nullable: true - }, - year: { - type: 'integer', - format: 'int32' - }, - position: { - type: 'string', - nullable: true - }, - homeCity: { - type: 'string', - nullable: true - }, - homeState: { - type: 'string', - nullable: true - }, - homeCountry: { - type: 'string', - nullable: true - }, - homeLatitude: { - type: 'number', - format: 'double', - nullable: true - }, - homeLongitude: { - type: 'number', - format: 'double', - nullable: true - }, - homeCountyFIPS: { - type: 'string', - nullable: true - }, - recruitIds: { - items: { - type: 'string' - }, - type: 'array', - nullable: true - } - }, - required: ['id', 'firstName', 'lastName', 'team', 'height', 'weight', 'jersey', 'year', 'position', 'homeCity', 'homeState', 'homeCountry', 'homeLatitude', 'homeLongitude', 'homeCountyFIPS', 'recruitIds'], - type: 'object', - additionalProperties: false -} as const; - -export const DivisionClassificationSchema = { - enum: ['fbs', 'fcs', 'ii', 'iii'], - type: 'string' -} as const; - -export const ConferenceSchema = { - properties: { - id: { - type: 'integer', - format: 'int32' - }, - name: { - type: 'string' - }, - shortName: { - type: 'string', - nullable: true - }, - abbreviation: { - type: 'string', - nullable: true - }, - classification: { - allOf: [ - { - '$ref': '#/components/schemas/DivisionClassification' - } - ], - nullable: true - } - }, - required: ['id', 'name', 'shortName', 'abbreviation', 'classification'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamTalentSchema = { - properties: { - year: { - type: 'integer', - format: 'int32' - }, - team: { - type: 'string' - }, - talent: { - type: 'number', - format: 'double' - } - }, - required: ['year', 'team', 'talent'], - type: 'object', - additionalProperties: false -} as const; - -export const PlayerStatSchema = { - properties: { - season: { - type: 'integer', - format: 'int32' - }, - playerId: { - type: 'string' - }, - player: { - type: 'string' - }, - team: { - type: 'string' - }, - conference: { - type: 'string' - }, - category: { - type: 'string' - }, - statType: { - type: 'string' - }, - stat: { - type: 'number', - format: 'double' - } - }, - required: ['season', 'playerId', 'player', 'team', 'conference', 'category', 'statType', 'stat'], - type: 'object', - additionalProperties: false -} as const; - -export const SeasonTypeSchema = { - enum: ['regular', 'postseason', 'both', 'allstar', 'spring_regular', 'spring_postseason'], - type: 'string' -} as const; - -export const TeamStatSchema = { - properties: { - season: { - type: 'integer', - format: 'int32' - }, - team: { - type: 'string' - }, - conference: { - type: 'string' - }, - statName: { - type: 'string' - }, - statValue: { - anyOf: [ - { - type: 'string' - }, - { - type: 'number', - format: 'double' - } - ] - } - }, - required: ['season', 'team', 'conference', 'statName', 'statValue'], - type: 'object', - additionalProperties: false -} as const; - -export const AdvancedSeasonStatSchema = { - properties: { - season: { - type: 'integer', - format: 'int32' - }, - team: { - type: 'string' - }, - conference: { - type: 'string' - }, - offense: { - properties: { - passingPlays: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - totalPPA: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - }, - rate: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'totalPPA', 'ppa', 'rate'], - type: 'object' - }, - rushingPlays: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - totalPPA: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - }, - rate: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'totalPPA', 'ppa', 'rate'], - type: 'object' - }, - passingDowns: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - }, - rate: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'ppa', 'rate'], - type: 'object' - }, - standardDowns: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - }, - rate: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'ppa', 'rate'], - type: 'object' - }, - havoc: { - properties: { - db: { - type: 'number', - format: 'double', - nullable: true - }, - frontSeven: { - type: 'number', - format: 'double', - nullable: true - }, - total: { - type: 'number', - format: 'double', - nullable: true - } - }, - required: ['db', 'frontSeven', 'total'], - type: 'object' - }, - fieldPosition: { - properties: { - averagePredictedPoints: { - type: 'number', - format: 'double', - nullable: true - }, - averageStart: { - type: 'number', - format: 'double', - nullable: true - } - }, - required: ['averagePredictedPoints', 'averageStart'], - type: 'object' - }, - pointsPerOpportunity: { - type: 'number', - format: 'double' - }, - totalOpportunies: { - type: 'integer', - format: 'int32' - }, - openFieldYardsTotal: { - type: 'integer', - format: 'int32' - }, - openFieldYards: { - type: 'number', - format: 'double' - }, - secondLevelYardsTotal: { - type: 'integer', - format: 'int32' - }, - secondLevelYards: { - type: 'number', - format: 'double' - }, - lineYardsTotal: { - type: 'integer', - format: 'int32' - }, - lineYards: { - type: 'number', - format: 'double' - }, - stuffRate: { - type: 'number', - format: 'double' - }, - powerSuccess: { - type: 'number', - format: 'double' - }, - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - totalPPA: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - }, - drives: { - type: 'integer', - format: 'int32' - }, - plays: { - type: 'integer', - format: 'int32' - } - }, - required: ['passingPlays', 'rushingPlays', 'passingDowns', 'standardDowns', 'havoc', 'fieldPosition', 'pointsPerOpportunity', 'totalOpportunies', 'openFieldYardsTotal', 'openFieldYards', 'secondLevelYardsTotal', 'secondLevelYards', 'lineYardsTotal', 'lineYards', 'stuffRate', 'powerSuccess', 'explosiveness', 'successRate', 'totalPPA', 'ppa', 'drives', 'plays'], - type: 'object' - }, - defense: { - properties: { - passingPlays: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - totalPPA: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - }, - rate: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'totalPPA', 'ppa', 'rate'], - type: 'object' - }, - rushingPlays: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - totalPPA: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - }, - rate: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'totalPPA', 'ppa', 'rate'], - type: 'object' - }, - passingDowns: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - totalPPA: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - }, - rate: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'totalPPA', 'ppa', 'rate'], - type: 'object' - }, - standardDowns: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - }, - rate: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'ppa', 'rate'], - type: 'object' - }, - havoc: { - properties: { - db: { - type: 'number', - format: 'double', - nullable: true - }, - frontSeven: { - type: 'number', - format: 'double', - nullable: true - }, - total: { - type: 'number', - format: 'double', - nullable: true - } - }, - required: ['db', 'frontSeven', 'total'], - type: 'object' - }, - fieldPosition: { - properties: { - averagePredictedPoints: { - type: 'number', - format: 'double', - nullable: true - }, - averageStart: { - type: 'number', - format: 'double', - nullable: true - } - }, - required: ['averagePredictedPoints', 'averageStart'], - type: 'object' - }, - pointsPerOpportunity: { - type: 'number', - format: 'double' - }, - totalOpportunies: { - type: 'integer', - format: 'int32' - }, - openFieldYardsTotal: { - type: 'integer', - format: 'int32' - }, - openFieldYards: { - type: 'number', - format: 'double' - }, - secondLevelYardsTotal: { - type: 'integer', - format: 'int32' - }, - secondLevelYards: { - type: 'number', - format: 'double' - }, - lineYardsTotal: { - type: 'integer', - format: 'int32' - }, - lineYards: { - type: 'number', - format: 'double' - }, - stuffRate: { - type: 'number', - format: 'double' - }, - powerSuccess: { - type: 'number', - format: 'double' - }, - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - totalPPA: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - }, - drives: { - type: 'integer', - format: 'int32' - }, - plays: { - type: 'integer', - format: 'int32' - } - }, - required: ['passingPlays', 'rushingPlays', 'passingDowns', 'standardDowns', 'havoc', 'fieldPosition', 'pointsPerOpportunity', 'totalOpportunies', 'openFieldYardsTotal', 'openFieldYards', 'secondLevelYardsTotal', 'secondLevelYards', 'lineYardsTotal', 'lineYards', 'stuffRate', 'powerSuccess', 'explosiveness', 'successRate', 'totalPPA', 'ppa', 'drives', 'plays'], - type: 'object' - } - }, - required: ['season', 'team', 'conference', 'offense', 'defense'], - type: 'object', - additionalProperties: false -} as const; - -export const AdvancedGameStatSchema = { - properties: { - gameId: { - type: 'integer', - format: 'int32' - }, - season: { - type: 'integer', - format: 'int32' - }, - week: { - type: 'integer', - format: 'int32' - }, - team: { - type: 'string' - }, - opponent: { - type: 'string' - }, - offense: { - properties: { - passingPlays: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - totalPPA: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'totalPPA', 'ppa'], - type: 'object' - }, - rushingPlays: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - totalPPA: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'totalPPA', 'ppa'], - type: 'object' - }, - passingDowns: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'ppa'], - type: 'object' - }, - standardDowns: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'ppa'], - type: 'object' - }, - openFieldYardsTotal: { - type: 'integer', - format: 'int32' - }, - openFieldYards: { - type: 'number', - format: 'double' - }, - secondLevelYardsTotal: { - type: 'integer', - format: 'int32' - }, - secondLevelYards: { - type: 'number', - format: 'double' - }, - lineYardsTotal: { - type: 'integer', - format: 'int32' - }, - lineYards: { - type: 'number', - format: 'double' - }, - stuffRate: { - type: 'number', - format: 'double' - }, - powerSuccess: { - type: 'number', - format: 'double' - }, - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - totalPPA: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - }, - drives: { - type: 'integer', - format: 'int32' - }, - plays: { - type: 'integer', - format: 'int32' - } - }, - required: ['passingPlays', 'rushingPlays', 'passingDowns', 'standardDowns', 'openFieldYardsTotal', 'openFieldYards', 'secondLevelYardsTotal', 'secondLevelYards', 'lineYardsTotal', 'lineYards', 'stuffRate', 'powerSuccess', 'explosiveness', 'successRate', 'totalPPA', 'ppa', 'drives', 'plays'], - type: 'object' - }, - defense: { - properties: { - passingPlays: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - totalPPA: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'totalPPA', 'ppa'], - type: 'object' - }, - rushingPlays: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - totalPPA: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'totalPPA', 'ppa'], - type: 'object' - }, - passingDowns: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'ppa'], - type: 'object' - }, - standardDowns: { - properties: { - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - } - }, - required: ['explosiveness', 'successRate', 'ppa'], - type: 'object' - }, - openFieldYardsTotal: { - type: 'integer', - format: 'int32' - }, - openFieldYards: { - type: 'number', - format: 'double' - }, - secondLevelYardsTotal: { - type: 'integer', - format: 'int32' - }, - secondLevelYards: { - type: 'number', - format: 'double' - }, - lineYardsTotal: { - type: 'integer', - format: 'int32' - }, - lineYards: { - type: 'number', - format: 'double' - }, - stuffRate: { - type: 'number', - format: 'double' - }, - powerSuccess: { - type: 'number', - format: 'double' - }, - explosiveness: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - totalPPA: { - type: 'number', - format: 'double' - }, - ppa: { - type: 'number', - format: 'double' - }, - drives: { - type: 'integer', - format: 'int32' - }, - plays: { - type: 'integer', - format: 'int32' - } - }, - required: ['passingPlays', 'rushingPlays', 'passingDowns', 'standardDowns', 'openFieldYardsTotal', 'openFieldYards', 'secondLevelYardsTotal', 'secondLevelYards', 'lineYardsTotal', 'lineYards', 'stuffRate', 'powerSuccess', 'explosiveness', 'successRate', 'totalPPA', 'ppa', 'drives', 'plays'], - type: 'object' - } - }, - required: ['gameId', 'season', 'week', 'team', 'opponent', 'offense', 'defense'], - type: 'object', - additionalProperties: false -} as const; - -export const RecruitClassificationSchema = { - enum: ['JUCO', 'PrepSchool', 'HighSchool'], - type: 'string' -} as const; - -export const RecruitSchema = { - properties: { - id: { - type: 'string' - }, - athleteId: { - type: 'string', - nullable: true - }, - recruitType: { - '$ref': '#/components/schemas/RecruitClassification' - }, - year: { - type: 'integer', - format: 'int32' - }, - ranking: { - type: 'integer', - format: 'int32', - nullable: true - }, - name: { - type: 'string' - }, - school: { - type: 'string', - nullable: true - }, - committedTo: { - type: 'string', - nullable: true - }, - position: { - type: 'string', - nullable: true - }, - height: { - type: 'integer', - format: 'int32', - nullable: true - }, - weight: { - type: 'integer', - format: 'int32', - nullable: true - }, - stars: { - type: 'integer', - format: 'int32' - }, - rating: { - type: 'number', - format: 'double' - }, - city: { - type: 'string', - nullable: true - }, - stateProvince: { - type: 'string', - nullable: true - }, - country: { - type: 'string', - nullable: true - }, - hometownInfo: { - properties: { - fipsCode: { - type: 'string', - nullable: true - }, - longitude: { - type: 'number', - format: 'double', - nullable: true - }, - latitude: { - type: 'number', - format: 'double', - nullable: true - } - }, - required: ['fipsCode', 'longitude', 'latitude'], - type: 'object' - } - }, - required: ['id', 'athleteId', 'recruitType', 'year', 'ranking', 'name', 'school', 'committedTo', 'position', 'height', 'weight', 'stars', 'rating', 'city', 'stateProvince', 'country', 'hometownInfo'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamRecruitingRankingSchema = { - properties: { - year: { - type: 'integer', - format: 'int32' - }, - rank: { - type: 'integer', - format: 'int32' - }, - team: { - type: 'string' - }, - points: { - type: 'number', - format: 'double' - } - }, - required: ['year', 'rank', 'team', 'points'], - type: 'object', - additionalProperties: false -} as const; - -export const AggregatedTeamRecruitingSchema = { - properties: { - team: { - type: 'string' - }, - conference: { - type: 'string' - }, - positionGroup: { - type: 'string', - nullable: true - }, - averageRating: { - type: 'number', - format: 'double' - }, - totalRating: { - type: 'number', - format: 'double' - }, - commits: { - type: 'integer', - format: 'int32' - }, - averageStars: { - type: 'number', - format: 'double' - } - }, - required: ['team', 'conference', 'positionGroup', 'averageRating', 'totalRating', 'commits', 'averageStars'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamSPSchema = { - properties: { - year: { - type: 'integer', - format: 'int32' - }, - team: { - type: 'string' - }, - conference: { - type: 'string' - }, - rating: { - type: 'number', - format: 'double' - }, - ranking: { - type: 'integer', - format: 'int32' - }, - secondOrderWins: { - type: 'number', - format: 'double', - nullable: true - }, - sos: { - type: 'number', - format: 'double', - nullable: true - }, - offense: { - properties: { - pace: { - type: 'number', - format: 'double', - nullable: true - }, - runRate: { - type: 'number', - format: 'double', - nullable: true - }, - passingDowns: { - type: 'number', - format: 'double', - nullable: true - }, - standardDowns: { - type: 'number', - format: 'double', - nullable: true - }, - passing: { - type: 'number', - format: 'double', - nullable: true - }, - rushing: { - type: 'number', - format: 'double', - nullable: true - }, - explosiveness: { - type: 'number', - format: 'double', - nullable: true - }, - success: { - type: 'number', - format: 'double', - nullable: true - }, - rating: { - type: 'number', - format: 'double' - }, - ranking: { - type: 'integer', - format: 'int32' - } - }, - required: ['pace', 'runRate', 'passingDowns', 'standardDowns', 'passing', 'rushing', 'explosiveness', 'success', 'rating', 'ranking'], - type: 'object' - }, - defense: { - properties: { - havoc: { - properties: { - db: { - type: 'number', - format: 'double', - nullable: true - }, - frontSeven: { - type: 'number', - format: 'double', - nullable: true - }, - total: { - type: 'number', - format: 'double', - nullable: true - } - }, - required: ['db', 'frontSeven', 'total'], - type: 'object' - }, - passingDowns: { - type: 'number', - format: 'double', - nullable: true - }, - standardDowns: { - type: 'number', - format: 'double', - nullable: true - }, - passing: { - type: 'number', - format: 'double', - nullable: true - }, - rushing: { - type: 'number', - format: 'double', - nullable: true - }, - explosiveness: { - type: 'number', - format: 'double', - nullable: true - }, - success: { - type: 'number', - format: 'double', - nullable: true - }, - rating: { - type: 'number', - format: 'double' - }, - ranking: { - type: 'integer', - format: 'int32' - } - }, - required: ['havoc', 'passingDowns', 'standardDowns', 'passing', 'rushing', 'explosiveness', 'success', 'rating', 'ranking'], - type: 'object' - }, - specialTeams: { - properties: { - rating: { - type: 'number', - format: 'double', - nullable: true - } - }, - required: ['rating'], - type: 'object' - } - }, - required: ['year', 'team', 'conference', 'rating', 'ranking', 'secondOrderWins', 'sos', 'offense', 'defense', 'specialTeams'], - type: 'object', - additionalProperties: false -} as const; - -export const ConferenceSPSchema = { - properties: { - year: { - type: 'integer', - format: 'int32' - }, - conference: { - type: 'string' - }, - rating: { - type: 'number', - format: 'double' - }, - secondOrderWins: { - type: 'number', - format: 'double', - nullable: true - }, - sos: { - type: 'number', - format: 'double', - nullable: true - }, - offense: { - properties: { - pace: { - type: 'number', - format: 'double', - nullable: true - }, - runRate: { - type: 'number', - format: 'double', - nullable: true - }, - passingDowns: { - type: 'number', - format: 'double', - nullable: true - }, - standardDowns: { - type: 'number', - format: 'double', - nullable: true - }, - passing: { - type: 'number', - format: 'double', - nullable: true - }, - rushing: { - type: 'number', - format: 'double', - nullable: true - }, - explosiveness: { - type: 'number', - format: 'double', - nullable: true - }, - success: { - type: 'number', - format: 'double', - nullable: true - }, - rating: { - type: 'number', - format: 'double' - } - }, - required: ['pace', 'runRate', 'passingDowns', 'standardDowns', 'passing', 'rushing', 'explosiveness', 'success', 'rating'], - type: 'object' - }, - defense: { - properties: { - havoc: { - properties: { - db: { - type: 'number', - format: 'double', - nullable: true - }, - frontSeven: { - type: 'number', - format: 'double', - nullable: true - }, - total: { - type: 'number', - format: 'double', - nullable: true - } - }, - required: ['db', 'frontSeven', 'total'], - type: 'object' - }, - passingDowns: { - type: 'number', - format: 'double', - nullable: true - }, - standardDowns: { - type: 'number', - format: 'double', - nullable: true - }, - passing: { - type: 'number', - format: 'double', - nullable: true - }, - rushing: { - type: 'number', - format: 'double', - nullable: true - }, - explosiveness: { - type: 'number', - format: 'double', - nullable: true - }, - success: { - type: 'number', - format: 'double', - nullable: true - }, - rating: { - type: 'number', - format: 'double' - } - }, - required: ['havoc', 'passingDowns', 'standardDowns', 'passing', 'rushing', 'explosiveness', 'success', 'rating'], - type: 'object' - }, - specialTeams: { - properties: { - rating: { - type: 'number', - format: 'double', - nullable: true - } - }, - required: ['rating'], - type: 'object' - } - }, - required: ['year', 'conference', 'rating', 'secondOrderWins', 'sos', 'offense', 'defense', 'specialTeams'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamSRSSchema = { - properties: { - year: { - type: 'integer', - format: 'int32' - }, - team: { - type: 'string' - }, - conference: { - type: 'string', - nullable: true - }, - division: { - type: 'string', - nullable: true - }, - rating: { - type: 'number', - format: 'double' - }, - ranking: { - type: 'integer', - format: 'int32' - } - }, - required: ['year', 'team', 'conference', 'division', 'rating', 'ranking'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamEloSchema = { - properties: { - year: { - type: 'integer', - format: 'int32' - }, - team: { - type: 'string' - }, - conference: { - type: 'string' - }, - elo: { - type: 'integer', - format: 'int32', - nullable: true - } - }, - required: ['year', 'team', 'conference', 'elo'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamFPISchema = { - properties: { - year: { - type: 'integer', - format: 'int32' - }, - team: { - type: 'string' - }, - conference: { - type: 'string', - nullable: true - }, - fpi: { - type: 'number', - format: 'double', - nullable: true - }, - resumeRanks: { - properties: { - gameControl: { - type: 'integer', - format: 'int32', - nullable: true - }, - remainingStrengthOfSchedule: { - type: 'integer', - format: 'int32', - nullable: true - }, - strengthOfSchedule: { - type: 'integer', - format: 'int32', - nullable: true - }, - averageWinProbability: { - type: 'integer', - format: 'int32', - nullable: true - }, - fpi: { - type: 'integer', - format: 'int32', - nullable: true - }, - strengthOfRecord: { - type: 'integer', - format: 'int32', - nullable: true - } - }, - required: ['gameControl', 'remainingStrengthOfSchedule', 'strengthOfSchedule', 'averageWinProbability', 'fpi', 'strengthOfRecord'], - type: 'object' - }, - efficiencies: { - properties: { - specialTeams: { - type: 'number', - format: 'double', - nullable: true - }, - defense: { - type: 'number', - format: 'double', - nullable: true - }, - offense: { - type: 'number', - format: 'double', - nullable: true - }, - overall: { - type: 'number', - format: 'double', - nullable: true - } - }, - required: ['specialTeams', 'defense', 'offense', 'overall'], - type: 'object' - } - }, - required: ['year', 'team', 'conference', 'fpi', 'resumeRanks', 'efficiencies'], - type: 'object', - additionalProperties: false -} as const; - -export const PollRankSchema = { - properties: { - rank: { - type: 'integer', - format: 'int32', - nullable: true - }, - school: { - type: 'string' - }, - conference: { - type: 'string', - nullable: true - }, - firstPlaceVotes: { - type: 'integer', - format: 'int32', - nullable: true - }, - points: { - type: 'integer', - format: 'int32', - nullable: true - } - }, - required: ['rank', 'school', 'conference', 'firstPlaceVotes', 'points'], - type: 'object', - additionalProperties: false -} as const; - -export const PollSchema = { - properties: { - poll: { - type: 'string' - }, - ranks: { - items: { - '$ref': '#/components/schemas/PollRank' - }, - type: 'array' - } - }, - required: ['poll', 'ranks'], - type: 'object', - additionalProperties: false -} as const; - -export const PollWeekSchema = { - properties: { - season: { - type: 'integer', - format: 'int32' - }, - seasonType: { - '$ref': '#/components/schemas/SeasonType' - }, - week: { - type: 'integer', - format: 'int32' - }, - polls: { - items: { - '$ref': '#/components/schemas/Poll' - }, - type: 'array' - } - }, - required: ['season', 'seasonType', 'week', 'polls'], - type: 'object', - additionalProperties: false -} as const; - -export const PlaySchema = { - properties: { - id: { - type: 'string' - }, - driveId: { - type: 'string' - }, - gameId: { - type: 'integer', - format: 'int32' - }, - driveNumber: { - type: 'integer', - format: 'int32', - nullable: true - }, - playNumber: { - type: 'integer', - format: 'int32', - nullable: true - }, - offense: { - type: 'string' - }, - offenseConference: { - type: 'string', - nullable: true - }, - offenseScore: { - type: 'integer', - format: 'int32' - }, - defense: { - type: 'string' - }, - home: { - type: 'string' - }, - away: { - type: 'string' - }, - defenseConference: { - type: 'string', - nullable: true - }, - defenseScore: { - type: 'integer', - format: 'int32' - }, - period: { - type: 'integer', - format: 'int32' - }, - clock: { - properties: { - seconds: { - type: 'integer', - format: 'int32', - nullable: true - }, - minutes: { - type: 'integer', - format: 'int32', - nullable: true - } - }, - required: ['seconds', 'minutes'], - type: 'object' - }, - offenseTimeouts: { - type: 'integer', - format: 'int32', - nullable: true - }, - defenseTimeouts: { - type: 'integer', - format: 'int32', - nullable: true - }, - yardline: { - type: 'integer', - format: 'int32' - }, - yardsToGoal: { - type: 'integer', - format: 'int32' - }, - down: { - type: 'integer', - format: 'int32' - }, - distance: { - type: 'integer', - format: 'int32' - }, - yardsGained: { - type: 'integer', - format: 'int32' - }, - scoring: { - type: 'boolean' - }, - playType: { - type: 'string' - }, - playText: { - type: 'string', - nullable: true - }, - ppa: { - type: 'number', - format: 'double', - nullable: true - }, - wallclock: { - type: 'string', - nullable: true - } - }, - required: ['id', 'driveId', 'gameId', 'driveNumber', 'playNumber', 'offense', 'offenseConference', 'offenseScore', 'defense', 'home', 'away', 'defenseConference', 'defenseScore', 'period', 'clock', 'offenseTimeouts', 'defenseTimeouts', 'yardline', 'yardsToGoal', 'down', 'distance', 'yardsGained', 'scoring', 'playType', 'playText', 'ppa', 'wallclock'], - type: 'object', - additionalProperties: false -} as const; - -export const PlayTypeSchema = { - properties: { - id: { - type: 'integer', - format: 'int32' - }, - text: { - type: 'string' - }, - abbreviation: { - type: 'string', - nullable: true - } - }, - required: ['id', 'text', 'abbreviation'], - type: 'object', - additionalProperties: false -} as const; - -export const PlayStatSchema = { - properties: { - gameId: { - type: 'number', - format: 'double' - }, - season: { - type: 'number', - format: 'double' - }, - week: { - type: 'number', - format: 'double' - }, - team: { - type: 'string' - }, - conference: { - type: 'string' - }, - opponent: { - type: 'string' - }, - teamScore: { - type: 'number', - format: 'double' - }, - opponentScore: { - type: 'number', - format: 'double' - }, - driveId: { - type: 'string' - }, - playId: { - type: 'string' - }, - period: { - type: 'number', - format: 'double' - }, - clock: { - properties: { - seconds: { - type: 'number', - format: 'double', - nullable: true - }, - minutes: { - type: 'number', - format: 'double', - nullable: true - } - }, - required: ['seconds', 'minutes'], - type: 'object' - }, - yardsToGoal: { - type: 'number', - format: 'double' - }, - down: { - type: 'number', - format: 'double' - }, - distance: { - type: 'number', - format: 'double' - }, - athleteId: { - type: 'string' - }, - athleteName: { - type: 'string' - }, - statType: { - type: 'string' - }, - stat: { - type: 'number', - format: 'double' - } - }, - required: ['gameId', 'season', 'week', 'team', 'conference', 'opponent', 'teamScore', 'opponentScore', 'driveId', 'playId', 'period', 'clock', 'yardsToGoal', 'down', 'distance', 'athleteId', 'athleteName', 'statType', 'stat'], - type: 'object', - additionalProperties: false -} as const; - -export const PlayStatTypeSchema = { - properties: { - id: { - type: 'integer', - format: 'int32' - }, - name: { - type: 'string' - } - }, - required: ['id', 'name'], - type: 'object', - additionalProperties: false -} as const; - -export const PlayerSearchResultSchema = { - properties: { - id: { - type: 'string' - }, - team: { - type: 'string' - }, - name: { - type: 'string' - }, - firstName: { - type: 'string', - nullable: true - }, - lastName: { - type: 'string', - nullable: true - }, - weight: { - type: 'integer', - format: 'int32', - nullable: true - }, - height: { - type: 'integer', - format: 'int32', - nullable: true - }, - jersey: { - type: 'integer', - format: 'int32', - nullable: true - }, - position: { - type: 'string' - }, - hometown: { - type: 'string' - }, - teamColor: { - type: 'string' - }, - teamColorSecondary: { - type: 'string' - } - }, - required: ['id', 'team', 'name', 'firstName', 'lastName', 'weight', 'height', 'jersey', 'position', 'hometown', 'teamColor', 'teamColorSecondary'], - type: 'object', - additionalProperties: false -} as const; - -export const PlayerPPAChartItemSchema = { - properties: { - playNumber: { - type: 'integer', - format: 'int32' - }, - avgPPA: { - type: 'number', - format: 'double' - } - }, - required: ['playNumber', 'avgPPA'], - type: 'object', - additionalProperties: false -} as const; - -export const PlayerUsageSchema = { - properties: { - season: { - type: 'integer', - format: 'int32' - }, - id: { - type: 'string' - }, - name: { - type: 'string' - }, - position: { - type: 'string' - }, - team: { - type: 'string' - }, - conference: { - type: 'string' - }, - usage: { - properties: { - passingDowns: { - type: 'number', - format: 'double' - }, - standardDowns: { - type: 'number', - format: 'double' - }, - thirdDown: { - type: 'number', - format: 'double' - }, - secondDown: { - type: 'number', - format: 'double' - }, - firstDown: { - type: 'number', - format: 'double' - }, - rush: { - type: 'number', - format: 'double' - }, - pass: { - type: 'number', - format: 'double' - }, - overall: { - type: 'number', - format: 'double' - } - }, - required: ['passingDowns', 'standardDowns', 'thirdDown', 'secondDown', 'firstDown', 'rush', 'pass', 'overall'], - type: 'object' - } - }, - required: ['season', 'id', 'name', 'position', 'team', 'conference', 'usage'], - type: 'object', - additionalProperties: false -} as const; - -export const ReturningProductionSchema = { - properties: { - season: { - type: 'integer', - format: 'int32' - }, - team: { - type: 'string' - }, - conference: { - type: 'string' - }, - totalPPA: { - type: 'number', - format: 'double' - }, - totalPassingPPA: { - type: 'number', - format: 'double' - }, - totalReceivingPPA: { - type: 'number', - format: 'double' - }, - totalRushingPPA: { - type: 'number', - format: 'double' - }, - percentPPA: { - type: 'number', - format: 'double' - }, - percentPassingPPA: { - type: 'number', - format: 'double' - }, - percentReceivingPPA: { - type: 'number', - format: 'double' - }, - percentRushingPPA: { - type: 'number', - format: 'double' - }, - usage: { - type: 'number', - format: 'double' - }, - passingUsage: { - type: 'number', - format: 'double' - }, - receivingUsage: { - type: 'number', - format: 'double' - }, - rushingUsage: { - type: 'number', - format: 'double' - } - }, - required: ['season', 'team', 'conference', 'totalPPA', 'totalPassingPPA', 'totalReceivingPPA', 'totalRushingPPA', 'percentPPA', 'percentPassingPPA', 'percentReceivingPPA', 'percentRushingPPA', 'usage', 'passingUsage', 'receivingUsage', 'rushingUsage'], - type: 'object', - additionalProperties: false -} as const; - -export const TransferEligibilitySchema = { - enum: ['Withdrawn', 'TBD', 'PendingAppeal', 'SittingOne', 'Immediate'], - type: 'string' -} as const; - -export const PlayerTransferSchema = { - properties: { - season: { - type: 'integer', - format: 'int32' - }, - firstName: { - type: 'string' - }, - lastName: { - type: 'string' - }, - position: { - type: 'string' - }, - origin: { - type: 'string' - }, - destination: { - type: 'string', - nullable: true - }, - transferDate: { - type: 'string', - format: 'date-time', - nullable: true - }, - rating: { - type: 'number', - format: 'double', - nullable: true - }, - stars: { - type: 'integer', - format: 'int32', - nullable: true - }, - eligibility: { - allOf: [ - { - '$ref': '#/components/schemas/TransferEligibility' - } - ], - nullable: true - } - }, - required: ['season', 'firstName', 'lastName', 'position', 'origin', 'destination', 'transferDate', 'rating', 'stars', 'eligibility'], - type: 'object', - additionalProperties: false -} as const; - -export const PredictedPointsValueSchema = { - properties: { - yardLine: { - type: 'integer', - format: 'int32' - }, - predictedPoints: { - type: 'number', - format: 'double' - } - }, - required: ['yardLine', 'predictedPoints'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamSeasonPredictedPointsAddedSchema = { - properties: { - season: { - type: 'integer', - format: 'int32' - }, - conference: { - type: 'string' - }, - team: { - type: 'string' - }, - offense: { - properties: { - cumulative: { - properties: { - rushing: { - type: 'number', - format: 'double' - }, - passing: { - type: 'number', - format: 'double' - }, - total: { - type: 'number', - format: 'double' - } - }, - required: ['rushing', 'passing', 'total'], - type: 'object' - }, - thirdDown: { - type: 'number', - format: 'double' - }, - secondDown: { - type: 'number', - format: 'double' - }, - firstDown: { - type: 'number', - format: 'double' - }, - rushing: { - type: 'number', - format: 'double' - }, - passing: { - type: 'number', - format: 'double' - }, - overall: { - type: 'number', - format: 'double' - } - }, - required: ['cumulative', 'thirdDown', 'secondDown', 'firstDown', 'rushing', 'passing', 'overall'], - type: 'object' - }, - defense: { - properties: { - cumulative: { - properties: { - rushing: { - type: 'number', - format: 'double' - }, - passing: { - type: 'number', - format: 'double' - }, - total: { - type: 'number', - format: 'double' - } - }, - required: ['rushing', 'passing', 'total'], - type: 'object' - }, - thirdDown: { - type: 'number', - format: 'double' - }, - secondDown: { - type: 'number', - format: 'double' - }, - firstDown: { - type: 'number', - format: 'double' - }, - rushing: { - type: 'number', - format: 'double' - }, - passing: { - type: 'number', - format: 'double' - }, - overall: { - type: 'number', - format: 'double' - } - }, - required: ['cumulative', 'thirdDown', 'secondDown', 'firstDown', 'rushing', 'passing', 'overall'], - type: 'object' - } - }, - required: ['season', 'conference', 'team', 'offense', 'defense'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamGamePredictedPointsAddedSchema = { - properties: { - gameId: { - type: 'integer', - format: 'int32' - }, - season: { - type: 'integer', - format: 'int32' - }, - week: { - type: 'integer', - format: 'int32' - }, - seasonType: { - '$ref': '#/components/schemas/SeasonType' - }, - team: { - type: 'string' - }, - conference: { - type: 'string' - }, - opponent: { - type: 'string' - }, - offense: { - properties: { - thirdDown: { - type: 'number', - format: 'double' - }, - secondDown: { - type: 'number', - format: 'double' - }, - firstDown: { - type: 'number', - format: 'double' - }, - rushing: { - type: 'number', - format: 'double' - }, - passing: { - type: 'number', - format: 'double' - }, - overall: { - type: 'number', - format: 'double' - } - }, - required: ['thirdDown', 'secondDown', 'firstDown', 'rushing', 'passing', 'overall'], - type: 'object' - }, - defense: { - properties: { - thirdDown: { - type: 'number', - format: 'double' - }, - secondDown: { - type: 'number', - format: 'double' - }, - firstDown: { - type: 'number', - format: 'double' - }, - rushing: { - type: 'number', - format: 'double' - }, - passing: { - type: 'number', - format: 'double' - }, - overall: { - type: 'number', - format: 'double' - } - }, - required: ['thirdDown', 'secondDown', 'firstDown', 'rushing', 'passing', 'overall'], - type: 'object' - } - }, - required: ['gameId', 'season', 'week', 'seasonType', 'team', 'conference', 'opponent', 'offense', 'defense'], - type: 'object', - additionalProperties: false -} as const; - -export const PlayerGamePredictedPointsAddedSchema = { - properties: { - season: { - type: 'integer', - format: 'int32' - }, - week: { - type: 'integer', - format: 'int32' - }, - seasonType: { - '$ref': '#/components/schemas/SeasonType' - }, - id: { - type: 'string' - }, - name: { - type: 'string' - }, - position: { - type: 'string' - }, - team: { - type: 'string' - }, - opponent: { - type: 'string' - }, - averagePPA: { - properties: { - rush: { - type: 'number', - format: 'double' - }, - pass: { - type: 'number', - format: 'double' - }, - all: { - type: 'number', - format: 'double' - } - }, - required: ['all'], - type: 'object' - } - }, - required: ['season', 'week', 'seasonType', 'id', 'name', 'position', 'team', 'opponent', 'averagePPA'], - type: 'object', - additionalProperties: false -} as const; - -export const PlayerSeasonPredictedPointsAddedSchema = { - properties: { - season: { - type: 'integer', - format: 'int32' - }, - id: { - type: 'string' - }, - name: { - type: 'string' - }, - position: { - type: 'string' - }, - team: { - type: 'string' - }, - conference: { - type: 'string' - }, - averagePPA: { - properties: { - passingDowns: { - type: 'number', - format: 'double' - }, - standardDowns: { - type: 'number', - format: 'double' - }, - thirdDown: { - type: 'number', - format: 'double' - }, - secondDown: { - type: 'number', - format: 'double' - }, - firstDown: { - type: 'number', - format: 'double' - }, - rush: { - type: 'number', - format: 'double' - }, - pass: { - type: 'number', - format: 'double' - }, - all: { - type: 'number', - format: 'double' - } - }, - required: ['all'], - type: 'object' - }, - totalPPA: { - properties: { - passingDowns: { - type: 'number', - format: 'double' - }, - standardDowns: { - type: 'number', - format: 'double' - }, - thirdDown: { - type: 'number', - format: 'double' - }, - secondDown: { - type: 'number', - format: 'double' - }, - firstDown: { - type: 'number', - format: 'double' - }, - rush: { - type: 'number', - format: 'double' - }, - pass: { - type: 'number', - format: 'double' - }, - all: { - type: 'number', - format: 'double' - } - }, - required: ['all'], - type: 'object' - } - }, - required: ['season', 'id', 'name', 'position', 'team', 'conference', 'averagePPA', 'totalPPA'], - type: 'object', - additionalProperties: false -} as const; - -export const PlayWinProbabilitySchema = { - properties: { - gameId: { - type: 'integer', - format: 'int32' - }, - playId: { - type: 'string' - }, - playText: { - type: 'string' - }, - homeId: { - type: 'integer', - format: 'int32' - }, - home: { - type: 'string' - }, - awayId: { - type: 'integer', - format: 'int32' - }, - away: { - type: 'string' - }, - spread: { - type: 'number', - format: 'double' - }, - homeBall: { - type: 'boolean' - }, - homeScore: { - type: 'integer', - format: 'int32' - }, - awayScore: { - type: 'integer', - format: 'int32' - }, - yardLine: { - type: 'integer', - format: 'int32' - }, - down: { - type: 'integer', - format: 'int32' - }, - distance: { - type: 'integer', - format: 'int32' - }, - homeWinProbability: { - type: 'number', - format: 'double' - }, - playNumber: { - type: 'integer', - format: 'int32' - } - }, - required: ['gameId', 'playId', 'playText', 'homeId', 'home', 'awayId', 'away', 'spread', 'homeBall', 'homeScore', 'awayScore', 'yardLine', 'down', 'distance', 'homeWinProbability', 'playNumber'], - type: 'object', - additionalProperties: false -} as const; - -export const PregameWinProbabilitySchema = { - properties: { - season: { - type: 'integer', - format: 'int32' - }, - seasonType: { - '$ref': '#/components/schemas/SeasonType' - }, - week: { - type: 'integer', - format: 'int32' - }, - gameId: { - type: 'integer', - format: 'int32' - }, - homeTeam: { - type: 'string' - }, - awayTeam: { - type: 'string' - }, - spread: { - type: 'number', - format: 'double' - }, - homeWinProbability: { - type: 'number', - format: 'double' - } - }, - required: ['season', 'seasonType', 'week', 'gameId', 'homeTeam', 'awayTeam', 'spread', 'homeWinProbability'], - type: 'object', - additionalProperties: false -} as const; - -export const FieldGoalEPSchema = { - properties: { - yardsToGoal: { - type: 'integer', - format: 'int32' - }, - distance: { - type: 'integer', - format: 'int32' - }, - expectedPoints: { - type: 'number', - format: 'double' - } - }, - required: ['yardsToGoal', 'distance', 'expectedPoints'], - type: 'object', - additionalProperties: false -} as const; - -export const LiveGameTeamSchema = { - properties: { - teamId: { - type: 'integer', - format: 'int32' - }, - team: { - type: 'string' - }, - homeAway: { - type: 'string', - enum: ['home', 'away'] - }, - lineScores: { - items: { - type: 'integer', - format: 'int32' - }, - type: 'array' - }, - points: { - type: 'integer', - format: 'int32' - }, - drives: { - type: 'integer', - format: 'int32' - }, - scoringOpportunities: { - type: 'integer', - format: 'int32' - }, - pointsPerOpportunity: { - type: 'number', - format: 'double' - }, - plays: { - type: 'integer', - format: 'int32' - }, - lineYards: { - type: 'number', - format: 'double' - }, - lineYardsPerRush: { - type: 'number', - format: 'double' - }, - secondLevelYards: { - type: 'number', - format: 'double' - }, - secondLevelYardsPerRush: { - type: 'number', - format: 'double' - }, - openFieldYards: { - type: 'number', - format: 'double' - }, - openFieldYardsPerRush: { - type: 'number', - format: 'double' - }, - epaPerPlay: { - type: 'number', - format: 'double' - }, - totalEpa: { - type: 'number', - format: 'double' - }, - passingEpa: { - type: 'number', - format: 'double' - }, - epaPerPass: { - type: 'number', - format: 'double' - }, - rushingEpa: { - type: 'number', - format: 'double' - }, - epaPerRush: { - type: 'number', - format: 'double' - }, - successRate: { - type: 'number', - format: 'double' - }, - standardDownSuccessRate: { - type: 'number', - format: 'double' - }, - passingDownSuccessRate: { - type: 'number', - format: 'double' - }, - explosiveness: { - type: 'number', - format: 'double' - } - }, - required: ['teamId', 'team', 'homeAway', 'lineScores', 'points', 'drives', 'scoringOpportunities', 'pointsPerOpportunity', 'plays', 'lineYards', 'lineYardsPerRush', 'secondLevelYards', 'secondLevelYardsPerRush', 'openFieldYards', 'openFieldYardsPerRush', 'epaPerPlay', 'totalEpa', 'passingEpa', 'epaPerPass', 'rushingEpa', 'epaPerRush', 'successRate', 'standardDownSuccessRate', 'passingDownSuccessRate', 'explosiveness'], - type: 'object', - additionalProperties: false -} as const; - -export const LiveGamePlaySchema = { - properties: { - id: { - type: 'string' - }, - homeScore: { - type: 'integer', - format: 'int32' - }, - awayScore: { - type: 'integer', - format: 'int32' - }, - period: { - type: 'integer', - format: 'int32' - }, - clock: { - type: 'string' - }, - wallClock: { - type: 'string', - format: 'date-time' - }, - teamId: { - type: 'integer', - format: 'int32' - }, - team: { - type: 'string' - }, - down: { - type: 'integer', - format: 'int32' - }, - distance: { - type: 'integer', - format: 'int32' - }, - yardsToGoal: { - type: 'integer', - format: 'int32' - }, - yardsGained: { - type: 'integer', - format: 'int32' - }, - playTypeId: { - type: 'integer', - format: 'int32' - }, - playType: { - type: 'string' - }, - epa: { - type: 'number', - format: 'double', - nullable: true - }, - garbageTime: { - type: 'boolean' - }, - success: { - type: 'boolean' - }, - rushPash: { - type: 'string', - enum: ['rush', 'pass', 'other'] - }, - downType: { - type: 'string', - enum: ['passing', 'standard'] - }, - playText: { - type: 'string' - } - }, - required: ['id', 'homeScore', 'awayScore', 'period', 'clock', 'wallClock', 'teamId', 'team', 'down', 'distance', 'yardsToGoal', 'yardsGained', 'playTypeId', 'playType', 'epa', 'garbageTime', 'success', 'rushPash', 'downType', 'playText'], - type: 'object', - additionalProperties: false -} as const; - -export const LiveGameDriveSchema = { - properties: { - id: { - type: 'string' - }, - offenseId: { - type: 'integer', - format: 'int32' - }, - offense: { - type: 'string' - }, - defenseId: { - type: 'integer', - format: 'int32' - }, - defense: { - type: 'string' - }, - playCount: { - type: 'integer', - format: 'int32' - }, - yards: { - type: 'integer', - format: 'int32' - }, - startPeriod: { - type: 'integer', - format: 'int32' - }, - startClock: { - type: 'string', - nullable: true - }, - startYardsToGoal: { - type: 'integer', - format: 'int32' - }, - endPeriod: { - type: 'integer', - format: 'int32', - nullable: true - }, - endClock: { - type: 'string', - nullable: true - }, - endYardsToGoal: { - type: 'integer', - format: 'int32', - nullable: true - }, - duration: { - type: 'string', - nullable: true - }, - scoringOpportunity: { - type: 'boolean' - }, - result: { - type: 'string' - }, - pointsGained: { - type: 'integer', - format: 'int32' - }, - plays: { - items: { - '$ref': '#/components/schemas/LiveGamePlay' - }, - type: 'array' - } - }, - required: ['id', 'offenseId', 'offense', 'defenseId', 'defense', 'playCount', 'yards', 'startPeriod', 'startClock', 'startYardsToGoal', 'endPeriod', 'endClock', 'endYardsToGoal', 'duration', 'scoringOpportunity', 'result', 'pointsGained', 'plays'], - type: 'object', - additionalProperties: false -} as const; - -export const LiveGameSchema = { - properties: { - id: { - type: 'integer', - format: 'int32' - }, - status: { - type: 'string' - }, - period: { - type: 'integer', - format: 'int32', - nullable: true - }, - clock: { - type: 'string' - }, - possession: { - type: 'string' - }, - down: { - type: 'integer', - format: 'int32', - nullable: true - }, - distance: { - type: 'integer', - format: 'int32', - nullable: true - }, - yardsToGoal: { - type: 'integer', - format: 'int32', - nullable: true - }, - teams: { - items: { - '$ref': '#/components/schemas/LiveGameTeam' - }, - type: 'array' - }, - drives: { - items: { - '$ref': '#/components/schemas/LiveGameDrive' - }, - type: 'array' - } - }, - required: ['id', 'status', 'period', 'clock', 'possession', 'down', 'distance', 'yardsToGoal', 'teams', 'drives'], - type: 'object', - additionalProperties: false -} as const; - -export const GameLineSchema = { - properties: { - provider: { - type: 'string' - }, - spread: { - type: 'number', - format: 'double', - nullable: true - }, - formattedSpread: { - type: 'string' - }, - spreadOpen: { - type: 'number', - format: 'double', - nullable: true - }, - overUnder: { - type: 'number', - format: 'double', - nullable: true - }, - overUnderOpen: { - type: 'number', - format: 'double', - nullable: true - }, - homeMoneyline: { - type: 'number', - format: 'double', - nullable: true - }, - awayMoneyline: { - type: 'number', - format: 'double', - nullable: true - } - }, - required: ['provider', 'spread', 'formattedSpread', 'spreadOpen', 'overUnder', 'overUnderOpen', 'homeMoneyline', 'awayMoneyline'], - type: 'object', - additionalProperties: false -} as const; - -export const BettingGameSchema = { - properties: { - id: { - type: 'integer', - format: 'int32' - }, - season: { - type: 'integer', - format: 'int32' - }, - seasonType: { - '$ref': '#/components/schemas/SeasonType' - }, - week: { - type: 'integer', - format: 'int32' - }, - startDate: { - type: 'string', - format: 'date-time' - }, - homeTeam: { - type: 'string' - }, - homeConference: { - type: 'string', - nullable: true - }, - homeClassification: { - allOf: [ - { - '$ref': '#/components/schemas/DivisionClassification' - } - ], - nullable: true - }, - homeScore: { - type: 'integer', - format: 'int32', - nullable: true - }, - awayTeam: { - type: 'string' - }, - awayConference: { - type: 'string', - nullable: true - }, - awayClassification: { - allOf: [ - { - '$ref': '#/components/schemas/DivisionClassification' - } - ], - nullable: true - }, - awayScore: { - type: 'integer', - format: 'int32', - nullable: true - }, - lines: { - items: { - '$ref': '#/components/schemas/GameLine' - }, - type: 'array' - } - }, - required: ['id', 'season', 'seasonType', 'week', 'startDate', 'homeTeam', 'homeConference', 'homeClassification', 'homeScore', 'awayTeam', 'awayConference', 'awayClassification', 'awayScore', 'lines'], - type: 'object', - additionalProperties: false -} as const; - -export const GameSchema = { - properties: { - id: { - type: 'integer', - format: 'int32' - }, - season: { - type: 'integer', - format: 'int32' - }, - week: { - type: 'integer', - format: 'int32' - }, - seasonType: { - '$ref': '#/components/schemas/SeasonType' - }, - startDate: { - type: 'string', - format: 'date-time' - }, - startTimeTBD: { - type: 'boolean' - }, - completed: { - type: 'boolean' - }, - neutralSite: { - type: 'boolean' - }, - conferenceGame: { - type: 'boolean' - }, - attendance: { - type: 'integer', - format: 'int32', - nullable: true - }, - venueId: { - type: 'integer', - format: 'int32', - nullable: true - }, - venue: { - type: 'string', - nullable: true - }, - homeId: { - type: 'integer', - format: 'int32' - }, - homeTeam: { - type: 'string' - }, - homeConference: { - type: 'string', - nullable: true - }, - homeClassification: { - allOf: [ - { - '$ref': '#/components/schemas/DivisionClassification' - } - ], - nullable: true - }, - homePoints: { - type: 'integer', - format: 'int32', - nullable: true - }, - homeLineScores: { - items: { - type: 'number', - format: 'double' - }, - type: 'array', - nullable: true - }, - homePostgameWinProbability: { - type: 'number', - format: 'double', - nullable: true - }, - homePregameElo: { - type: 'integer', - format: 'int32', - nullable: true - }, - homePostgameElo: { - type: 'integer', - format: 'int32', - nullable: true - }, - awayId: { - type: 'integer', - format: 'int32' - }, - awayTeam: { - type: 'string' - }, - awayConference: { - type: 'string', - nullable: true - }, - awayClassification: { - allOf: [ - { - '$ref': '#/components/schemas/DivisionClassification' - } - ], - nullable: true - }, - awayPoints: { - type: 'integer', - format: 'int32', - nullable: true - }, - awayLineScores: { - items: { - type: 'number', - format: 'double' - }, - type: 'array', - nullable: true - }, - awayPostgameWinProbability: { - type: 'number', - format: 'double', - nullable: true - }, - awayPregameElo: { - type: 'integer', - format: 'int32', - nullable: true - }, - awayPostgameElo: { - type: 'integer', - format: 'int32', - nullable: true - }, - excitementIndex: { - type: 'number', - format: 'double', - nullable: true - }, - highlights: { - type: 'string', - nullable: true - }, - notes: { - type: 'string', - nullable: true - } - }, - required: ['id', 'season', 'week', 'seasonType', 'startDate', 'startTimeTBD', 'completed', 'neutralSite', 'conferenceGame', 'attendance', 'venueId', 'venue', 'homeId', 'homeTeam', 'homeConference', 'homeClassification', 'homePoints', 'homeLineScores', 'homePostgameWinProbability', 'homePregameElo', 'homePostgameElo', 'awayId', 'awayTeam', 'awayConference', 'awayClassification', 'awayPoints', 'awayLineScores', 'awayPostgameWinProbability', 'awayPregameElo', 'awayPostgameElo', 'excitementIndex', 'highlights', 'notes'], - type: 'object', - additionalProperties: false -} as const; - -export const GameTeamStatsTeamStatSchema = { - properties: { - category: { - type: 'string' - }, - stat: { - type: 'string' - } - }, - required: ['category', 'stat'], - type: 'object', - additionalProperties: false -} as const; - -export const GameTeamStatsTeamSchema = { - properties: { - teamId: { - type: 'integer', - format: 'int32' - }, - team: { - type: 'string' - }, - conference: { - type: 'string', - nullable: true - }, - homeAway: { - type: 'string', - enum: ['home', 'away'] - }, - points: { - type: 'integer', - format: 'int32', - nullable: true - }, - stats: { - items: { - '$ref': '#/components/schemas/GameTeamStatsTeamStat' - }, - type: 'array' - } - }, - required: ['teamId', 'team', 'conference', 'homeAway', 'points', 'stats'], - type: 'object', - additionalProperties: false -} as const; - -export const GameTeamStatsSchema = { - properties: { - id: { - type: 'integer', - format: 'int32' - }, - teams: { - items: { - '$ref': '#/components/schemas/GameTeamStatsTeam' - }, - type: 'array' - } - }, - required: ['id', 'teams'], - type: 'object', - additionalProperties: false -} as const; - -export const GamePlayerStatPlayerSchema = { - properties: { - id: { - type: 'string' - }, - name: { - type: 'string' - }, - stat: { - type: 'string' - } - }, - required: ['id', 'name', 'stat'], - type: 'object', - additionalProperties: false -} as const; - -export const GamePlayerStatTypesSchema = { - properties: { - name: { - type: 'string' - }, - athletes: { - items: { - '$ref': '#/components/schemas/GamePlayerStatPlayer' - }, - type: 'array' - } - }, - required: ['name', 'athletes'], - type: 'object', - additionalProperties: false -} as const; - -export const GamePlayerStatCategoriesSchema = { - properties: { - name: { - type: 'string' - }, - types: { - items: { - '$ref': '#/components/schemas/GamePlayerStatTypes' - }, - type: 'array' - } - }, - required: ['name', 'types'], - type: 'object', - additionalProperties: false -} as const; - -export const GamePlayerStatsTeamSchema = { - properties: { - team: { - type: 'string' - }, - conference: { - type: 'string', - nullable: true - }, - homeAway: { - type: 'string', - enum: ['home', 'away'] - }, - points: { - type: 'integer', - format: 'int32', - nullable: true - }, - categories: { - items: { - '$ref': '#/components/schemas/GamePlayerStatCategories' - }, - type: 'array' - } - }, - required: ['team', 'conference', 'homeAway', 'points', 'categories'], - type: 'object', - additionalProperties: false -} as const; - -export const GamePlayerStatsSchema = { - properties: { - id: { - type: 'integer', - format: 'int32' - }, - teams: { - items: { - '$ref': '#/components/schemas/GamePlayerStatsTeam' - }, - type: 'array' - } - }, - required: ['id', 'teams'], - type: 'object', - additionalProperties: false -} as const; - -export const MediaTypeSchema = { - enum: ['tv', 'radio', 'web', 'ppv', 'mobile'], - type: 'string' -} as const; - -export const GameMediaSchema = { - properties: { - id: { - type: 'integer', - format: 'int32' - }, - season: { - type: 'integer', - format: 'int32' - }, - week: { - type: 'integer', - format: 'int32' - }, - seasonType: { - '$ref': '#/components/schemas/SeasonType' - }, - startTime: { - type: 'string', - format: 'date-time' - }, - isStartTimeTBD: { - type: 'boolean' - }, - homeTeam: { - type: 'string' - }, - homeConference: { - type: 'string', - nullable: true - }, - awayTeam: { - type: 'string' - }, - awayConference: { - type: 'string', - nullable: true - }, - mediaType: { - '$ref': '#/components/schemas/MediaType' - }, - outlet: { - type: 'string' - } - }, - required: ['id', 'season', 'week', 'seasonType', 'startTime', 'isStartTimeTBD', 'homeTeam', 'homeConference', 'awayTeam', 'awayConference', 'mediaType', 'outlet'], - type: 'object', - additionalProperties: false -} as const; - -export const GameWeatherSchema = { - properties: { - id: { - type: 'integer', - format: 'int32' - }, - season: { - type: 'integer', - format: 'int32' - }, - week: { - type: 'integer', - format: 'int32' - }, - seasonType: { - '$ref': '#/components/schemas/SeasonType' - }, - startTime: { - type: 'string', - format: 'date-time' - }, - gameIndoors: { - type: 'boolean' - }, - homeTeam: { - type: 'string' - }, - homeConference: { - type: 'string', - nullable: true - }, - awayTeam: { - type: 'string' - }, - awayConference: { - type: 'string', - nullable: true - }, - venueId: { - type: 'integer', - format: 'int32' - }, - venue: { - type: 'string' - }, - temperature: { - type: 'number', - format: 'double', - nullable: true - }, - dewPoint: { - type: 'number', - format: 'double', - nullable: true - }, - humidity: { - type: 'number', - format: 'double', - nullable: true - }, - precipitation: { - type: 'number', - format: 'double', - nullable: true - }, - snowfall: { - type: 'number', - format: 'double', - nullable: true - }, - windDirection: { - type: 'number', - format: 'double', - nullable: true - }, - windSpeed: { - type: 'number', - format: 'double', - nullable: true - }, - pressure: { - type: 'number', - format: 'double', - nullable: true - }, - weatherConditionCode: { - type: 'number', - format: 'double', - nullable: true - }, - weatherCondition: { - type: 'string', - nullable: true - } - }, - required: ['id', 'season', 'week', 'seasonType', 'startTime', 'gameIndoors', 'homeTeam', 'homeConference', 'awayTeam', 'awayConference', 'venueId', 'venue', 'temperature', 'dewPoint', 'humidity', 'precipitation', 'snowfall', 'windDirection', 'windSpeed', 'pressure', 'weatherConditionCode', 'weatherCondition'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamRecordSchema = { - properties: { - games: { - type: 'integer', - format: 'int32' - }, - wins: { - type: 'integer', - format: 'int32' - }, - losses: { - type: 'integer', - format: 'int32' - }, - ties: { - type: 'integer', - format: 'int32' - } - }, - required: ['games', 'wins', 'losses', 'ties'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamRecordsSchema = { - properties: { - year: { - type: 'integer', - format: 'int32' - }, - teamId: { - type: 'integer', - format: 'int32' - }, - team: { - type: 'string' - }, - classification: { - allOf: [ - { - '$ref': '#/components/schemas/DivisionClassification' - } - ], - nullable: true - }, - conference: { - type: 'string' - }, - division: { - type: 'string' - }, - expectedWins: { - type: 'number', - format: 'double', - nullable: true - }, - total: { - '$ref': '#/components/schemas/TeamRecord' - }, - conferenceGames: { - '$ref': '#/components/schemas/TeamRecord' - }, - homeGames: { - '$ref': '#/components/schemas/TeamRecord' - }, - awayGames: { - '$ref': '#/components/schemas/TeamRecord' - }, - neutralSiteGames: { - '$ref': '#/components/schemas/TeamRecord' - } - }, - required: ['year', 'teamId', 'team', 'classification', 'conference', 'division', 'expectedWins', 'total', 'conferenceGames', 'homeGames', 'awayGames', 'neutralSiteGames'], - type: 'object', - additionalProperties: false -} as const; - -export const CalendarWeekSchema = { - properties: { - season: { - type: 'integer', - format: 'int32' - }, - week: { - type: 'integer', - format: 'int32' - }, - seasonType: { - '$ref': '#/components/schemas/SeasonType' - }, - startDate: { - type: 'string', - format: 'date-time' - }, - endDate: { - type: 'string', - format: 'date-time' - }, - firstGameStart: { - type: 'string', - format: 'date-time', - deprecated: true - }, - lastGameStart: { - type: 'string', - format: 'date-time', - deprecated: true - } - }, - required: ['season', 'week', 'seasonType', 'startDate', 'endDate', 'firstGameStart', 'lastGameStart'], - type: 'object', - additionalProperties: false -} as const; - -export const GameStatusSchema = { - enum: ['scheduled', 'in_progress', 'completed'], - type: 'string' -} as const; - -export const ScoreboardGameSchema = { - properties: { - id: { - type: 'integer', - format: 'int32' - }, - startDate: { - type: 'string', - format: 'date-time' - }, - startTimeTBD: { - type: 'boolean' - }, - tv: { - type: 'string', - nullable: true - }, - neutralSite: { - type: 'boolean' - }, - conferenceGame: { - type: 'boolean' - }, - status: { - '$ref': '#/components/schemas/GameStatus' - }, - period: { - type: 'integer', - format: 'int32', - nullable: true - }, - clock: { - type: 'string', - nullable: true - }, - situation: { - type: 'string', - nullable: true - }, - possession: { - type: 'string', - nullable: true - }, - lastPlay: { - type: 'string', - nullable: true - }, - venue: { - properties: { - state: { - type: 'string', - nullable: true - }, - city: { - type: 'string', - nullable: true - }, - name: { - type: 'string', - nullable: true - } - }, - required: ['state', 'city', 'name'], - type: 'object' - }, - homeTeam: { - properties: { - lineScores: { - items: { - type: 'integer', - format: 'int32' - }, - type: 'array', - nullable: true - }, - points: { - type: 'integer', - format: 'int32', - nullable: true - }, - classification: { - allOf: [ - { - '$ref': '#/components/schemas/DivisionClassification' - } - ], - nullable: true - }, - conference: { - type: 'string', - nullable: true - }, - name: { - type: 'string' - }, - id: { - type: 'integer', - format: 'int32' - } - }, - required: ['lineScores', 'points', 'classification', 'conference', 'name', 'id'], - type: 'object' - }, - awayTeam: { - properties: { - lineScores: { - items: { - type: 'integer', - format: 'int32' - }, - type: 'array', - nullable: true - }, - points: { - type: 'integer', - format: 'int32', - nullable: true - }, - classification: { - allOf: [ - { - '$ref': '#/components/schemas/DivisionClassification' - } - ], - nullable: true - }, - conference: { - type: 'string', - nullable: true - }, - name: { - type: 'string' - }, - id: { - type: 'integer', - format: 'int32' - } - }, - required: ['lineScores', 'points', 'classification', 'conference', 'name', 'id'], - type: 'object' - }, - weather: { - properties: { - windDirection: { - type: 'number', - format: 'double', - nullable: true - }, - windSpeed: { - type: 'number', - format: 'double', - nullable: true - }, - description: { - type: 'string', - nullable: true - }, - temperature: { - type: 'number', - format: 'double', - nullable: true - } - }, - required: ['windDirection', 'windSpeed', 'description', 'temperature'], - type: 'object' - }, - betting: { - properties: { - awayMoneyline: { - type: 'number', - format: 'double', - nullable: true - }, - homeMoneyline: { - type: 'number', - format: 'double', - nullable: true - }, - overUnder: { - type: 'number', - format: 'double', - nullable: true - }, - spread: { - type: 'number', - format: 'double', - nullable: true - } - }, - required: ['awayMoneyline', 'homeMoneyline', 'overUnder', 'spread'], - type: 'object' - } - }, - required: ['id', 'startDate', 'startTimeTBD', 'tv', 'neutralSite', 'conferenceGame', 'status', 'period', 'clock', 'situation', 'possession', 'lastPlay', 'venue', 'homeTeam', 'awayTeam', 'weather', 'betting'], - type: 'object', - additionalProperties: false -} as const; - -export const DriveSchema = { - properties: { - offense: { - type: 'string' - }, - offenseConference: { - type: 'string', - nullable: true - }, - defense: { - type: 'string' - }, - defenseConference: { - type: 'string', - nullable: true - }, - gameId: { - type: 'integer', - format: 'int32' - }, - id: { - type: 'string' - }, - driveNumber: { - type: 'integer', - format: 'int32', - nullable: true - }, - scoring: { - type: 'boolean' - }, - startPeriod: { - type: 'integer', - format: 'int32' - }, - startYardline: { - type: 'integer', - format: 'int32' - }, - startYardsToGoal: { - type: 'integer', - format: 'int32' - }, - startTime: { - properties: { - seconds: { - type: 'integer', - format: 'int32', - nullable: true - }, - minutes: { - type: 'integer', - format: 'int32', - nullable: true - } - }, - required: ['seconds', 'minutes'], - type: 'object' - }, - endPeriod: { - type: 'integer', - format: 'int32' - }, - endYardline: { - type: 'integer', - format: 'int32' - }, - endYardsToGoal: { - type: 'integer', - format: 'int32' - }, - endTime: { - properties: { - seconds: { - type: 'integer', - format: 'int32', - nullable: true - }, - minutes: { - type: 'integer', - format: 'int32', - nullable: true - } - }, - required: ['seconds', 'minutes'], - type: 'object' - }, - plays: { - type: 'integer', - format: 'int32' - }, - yards: { - type: 'integer', - format: 'int32' - }, - driveResult: { - type: 'string' - }, - isHomeOffense: { - type: 'boolean' - }, - startOffenseScore: { - type: 'integer', - format: 'int32' - }, - startDefenseScore: { - type: 'integer', - format: 'int32' - }, - endOffenseScore: { - type: 'integer', - format: 'int32' - }, - endDefenseScore: { - type: 'integer', - format: 'int32' - } - }, - required: ['offense', 'offenseConference', 'defense', 'defenseConference', 'gameId', 'id', 'driveNumber', 'scoring', 'startPeriod', 'startYardline', 'startYardsToGoal', 'startTime', 'endPeriod', 'endYardline', 'endYardsToGoal', 'endTime', 'plays', 'yards', 'driveResult', 'isHomeOffense', 'startOffenseScore', 'startDefenseScore', 'endOffenseScore', 'endDefenseScore'], - type: 'object', - additionalProperties: false -} as const; - -export const DraftTeamSchema = { - properties: { - location: { - type: 'string' - }, - nickname: { - type: 'string', - nullable: true - }, - displayName: { - type: 'string', - nullable: true - }, - logo: { - type: 'string', - nullable: true - } - }, - required: ['location', 'nickname', 'displayName', 'logo'], - type: 'object', - additionalProperties: false -} as const; - -export const DraftPositionSchema = { - properties: { - name: { - type: 'string' - }, - abbreviation: { - type: 'string' - } - }, - required: ['name', 'abbreviation'], - type: 'object', - additionalProperties: false -} as const; - -export const DraftPickSchema = { - properties: { - collegeAthleteId: { - type: 'integer', - format: 'int32', - nullable: true - }, - nflAthleteId: { - type: 'integer', - format: 'int32' - }, - collegeId: { - type: 'integer', - format: 'int32' - }, - collegeTeam: { - type: 'string' - }, - collegeConference: { - type: 'string', - nullable: true - }, - nflTeamId: { - type: 'integer', - format: 'int32' - }, - nflTeam: { - type: 'string' - }, - year: { - type: 'integer', - format: 'int32' - }, - overall: { - type: 'integer', - format: 'int32' - }, - round: { - type: 'integer', - format: 'int32' - }, - pick: { - type: 'integer', - format: 'int32' - }, - name: { - type: 'string' - }, - position: { - type: 'string' - }, - height: { - type: 'integer', - format: 'int32', - nullable: true - }, - weight: { - type: 'integer', - format: 'int32', - nullable: true - }, - preDraftRanking: { - type: 'integer', - format: 'int32', - nullable: true - }, - preDraftPositionRanking: { - type: 'integer', - format: 'int32', - nullable: true - }, - preDraftGrade: { - type: 'integer', - format: 'int32', - nullable: true - }, - hometownInfo: { - properties: { - countyFips: { - type: 'string', - nullable: true - }, - longitude: { - type: 'string', - nullable: true - }, - latitude: { - type: 'string', - nullable: true - }, - country: { - type: 'string', - nullable: true - }, - state: { - type: 'string', - nullable: true - }, - city: { - type: 'string', - nullable: true - } - }, - required: ['countyFips', 'longitude', 'latitude', 'country', 'state', 'city'], - type: 'object' - } - }, - required: ['collegeAthleteId', 'nflAthleteId', 'collegeId', 'collegeTeam', 'collegeConference', 'nflTeamId', 'nflTeam', 'year', 'overall', 'round', 'pick', 'name', 'position', 'height', 'weight', 'preDraftRanking', 'preDraftPositionRanking', 'preDraftGrade', 'hometownInfo'], - type: 'object', - additionalProperties: false -} as const; - -export const CoachSeasonSchema = { - properties: { - school: { - type: 'string' - }, - year: { - type: 'integer', - format: 'int32' - }, - games: { - type: 'integer', - format: 'int32' - }, - wins: { - type: 'integer', - format: 'int32' - }, - losses: { - type: 'integer', - format: 'int32' - }, - ties: { - type: 'integer', - format: 'int32' - }, - preseasonRank: { - type: 'integer', - format: 'int32', - nullable: true - }, - postseasonRank: { - type: 'integer', - format: 'int32', - nullable: true - }, - srs: { - type: 'number', - format: 'double', - nullable: true - }, - spOverall: { - type: 'number', - format: 'double', - nullable: true - }, - spOffense: { - type: 'number', - format: 'double', - nullable: true - }, - spDefense: { - type: 'number', - format: 'double', - nullable: true - } - }, - required: ['school', 'year', 'games', 'wins', 'losses', 'ties', 'preseasonRank', 'postseasonRank', 'srs', 'spOverall', 'spOffense', 'spDefense'], - type: 'object', - additionalProperties: false -} as const; - -export const CoachSchema = { - properties: { - firstName: { - type: 'string' - }, - lastName: { - type: 'string' - }, - hireDate: { - type: 'string', - format: 'date-time', - nullable: true - }, - seasons: { - items: { - '$ref': '#/components/schemas/CoachSeason' - }, - type: 'array' - } - }, - required: ['firstName', 'lastName', 'hireDate', 'seasons'], - type: 'object', - additionalProperties: false -} as const; - -export const StatsByQuarterSchema = { - properties: { - total: { - type: 'number', - format: 'double' - }, - quarter1: { - type: 'number', - format: 'double' - }, - quarter2: { - type: 'number', - format: 'double' - }, - quarter3: { - type: 'number', - format: 'double' - }, - quarter4: { - type: 'number', - format: 'double' - } - }, - required: ['total', 'quarter1', 'quarter2', 'quarter3', 'quarter4'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamPPASchema = { - properties: { - team: { - type: 'string' - }, - plays: { - type: 'integer', - format: 'int32' - }, - overall: { - '$ref': '#/components/schemas/StatsByQuarter' - }, - passing: { - '$ref': '#/components/schemas/StatsByQuarter' - }, - rushing: { - '$ref': '#/components/schemas/StatsByQuarter' - } - }, - required: ['team', 'plays', 'overall', 'passing', 'rushing'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamSuccessRatesSchema = { - properties: { - team: { - type: 'string' - }, - overall: { - '$ref': '#/components/schemas/StatsByQuarter' - }, - standardDowns: { - '$ref': '#/components/schemas/StatsByQuarter' - }, - passingDowns: { - '$ref': '#/components/schemas/StatsByQuarter' - } - }, - required: ['team', 'overall', 'standardDowns', 'passingDowns'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamExplosivenessSchema = { - properties: { - team: { - type: 'string' - }, - overall: { - '$ref': '#/components/schemas/StatsByQuarter' - } - }, - required: ['team', 'overall'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamRushingStatsSchema = { - properties: { - team: { - type: 'string' - }, - powerSuccess: { - type: 'number', - format: 'double' - }, - stuffRate: { - type: 'number', - format: 'double' - }, - lineYards: { - type: 'number', - format: 'double' - }, - lineYardsAverage: { - type: 'number', - format: 'double' - }, - secondLevelYards: { - type: 'number', - format: 'double' - }, - secondLevelYardsAverage: { - type: 'number', - format: 'double' - }, - openFieldYards: { - type: 'number', - format: 'double' - }, - openFieldYardsAverage: { - type: 'number', - format: 'double' - } - }, - required: ['team', 'powerSuccess', 'stuffRate', 'lineYards', 'lineYardsAverage', 'secondLevelYards', 'secondLevelYardsAverage', 'openFieldYards', 'openFieldYardsAverage'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamHavocSchema = { - properties: { - team: { - type: 'string' - }, - total: { - type: 'number', - format: 'double' - }, - frontSeven: { - type: 'number', - format: 'double' - }, - db: { - type: 'number', - format: 'double' - } - }, - required: ['team', 'total', 'frontSeven', 'db'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamScoringOpportunitiesSchema = { - properties: { - team: { - type: 'string' - }, - opportunities: { - type: 'integer', - format: 'int32' - }, - points: { - type: 'integer', - format: 'int32' - }, - pointsPerOpportunity: { - type: 'number', - format: 'double' - } - }, - required: ['team', 'opportunities', 'points', 'pointsPerOpportunity'], - type: 'object', - additionalProperties: false -} as const; - -export const TeamFieldPositionSchema = { - properties: { - team: { - type: 'string' - }, - averageStart: { - type: 'number', - format: 'double' - }, - averageStartingPredictedPoints: { - type: 'number', - format: 'double' - } - }, - required: ['team', 'averageStart', 'averageStartingPredictedPoints'], - type: 'object', - additionalProperties: false -} as const; - -export const PlayerGameUsageSchema = { - properties: { - total: { - type: 'number', - format: 'double' - }, - quarter1: { - type: 'number', - format: 'double' - }, - quarter2: { - type: 'number', - format: 'double' - }, - quarter3: { - type: 'number', - format: 'double' - }, - quarter4: { - type: 'number', - format: 'double' - }, - rushing: { - type: 'number', - format: 'double' - }, - passing: { - type: 'number', - format: 'double' - }, - player: { - type: 'string' - }, - team: { - type: 'string' - }, - position: { - type: 'string' - } - }, - required: ['total', 'quarter1', 'quarter2', 'quarter3', 'quarter4', 'rushing', 'passing', 'player', 'team', 'position'], - type: 'object', - additionalProperties: false -} as const; - -export const PlayerStatsByQuarterSchema = { - properties: { - total: { - type: 'number', - format: 'double' - }, - quarter1: { - type: 'number', - format: 'double' - }, - quarter2: { - type: 'number', - format: 'double' - }, - quarter3: { - type: 'number', - format: 'double' - }, - quarter4: { - type: 'number', - format: 'double' - }, - rushing: { - type: 'number', - format: 'double' - }, - passing: { - type: 'number', - format: 'double' - } - }, - required: ['total', 'quarter1', 'quarter2', 'quarter3', 'quarter4', 'rushing', 'passing'], - type: 'object', - additionalProperties: false -} as const; - -export const PlayerPPASchema = { - properties: { - player: { - type: 'string' - }, - team: { - type: 'string' - }, - position: { - type: 'string' - }, - average: { - '$ref': '#/components/schemas/PlayerStatsByQuarter' - }, - cumulative: { - '$ref': '#/components/schemas/PlayerStatsByQuarter' - } - }, - required: ['player', 'team', 'position', 'average', 'cumulative'], - type: 'object', - additionalProperties: false -} as const; - -export const AdvancedBoxScoreSchema = { - properties: { - gameInfo: { - properties: { - excitement: { - type: 'number', - format: 'double' - }, - homeWinner: { - type: 'boolean' - }, - awayWinProb: { - type: 'number', - format: 'double' - }, - awayPoints: { - type: 'integer', - format: 'int32' - }, - awayTeam: { - type: 'string' - }, - homeWinProb: { - type: 'number', - format: 'double' - }, - homePoints: { - type: 'integer', - format: 'int32' - }, - homeTeam: { - type: 'string' - } - }, - required: ['excitement', 'homeWinner', 'awayWinProb', 'awayPoints', 'awayTeam', 'homeWinProb', 'homePoints', 'homeTeam'], - type: 'object' - }, - teams: { - properties: { - fieldPosition: { - items: { - '$ref': '#/components/schemas/TeamFieldPosition' - }, - type: 'array' - }, - scoringOpportunities: { - items: { - '$ref': '#/components/schemas/TeamScoringOpportunities' - }, - type: 'array' - }, - havoc: { - items: { - '$ref': '#/components/schemas/TeamHavoc' - }, - type: 'array' - }, - rushing: { - items: { - '$ref': '#/components/schemas/TeamRushingStats' - }, - type: 'array' - }, - explosiveness: { - items: { - '$ref': '#/components/schemas/TeamExplosiveness' - }, - type: 'array' - }, - successRates: { - items: { - '$ref': '#/components/schemas/TeamSuccessRates' - }, - type: 'array' - }, - cumulativePpa: { - items: { - '$ref': '#/components/schemas/TeamPPA' - }, - type: 'array' - }, - ppa: { - items: { - '$ref': '#/components/schemas/TeamPPA' - }, - type: 'array' - } - }, - required: ['fieldPosition', 'scoringOpportunities', 'havoc', 'rushing', 'explosiveness', 'successRates', 'cumulativePpa', 'ppa'], - type: 'object' - }, - players: { - properties: { - ppa: { - items: { - '$ref': '#/components/schemas/PlayerPPA' - }, - type: 'array' - }, - usage: { - items: { - '$ref': '#/components/schemas/PlayerGameUsage' - }, - type: 'array' - } - }, - required: ['ppa', 'usage'], - type: 'object' - } - }, - required: ['gameInfo', 'teams', 'players'], - type: 'object', - additionalProperties: false -} as const; \ No newline at end of file diff --git a/src/sdk.gen.ts b/src/sdk.gen.ts new file mode 100644 index 0000000..c28fb98 --- /dev/null +++ b/src/sdk.gen.ts @@ -0,0 +1,576 @@ +// This file is auto-generated by @hey-api/openapi-ts + +import { createClient, createConfig, type OptionsLegacyParser } from '@hey-api/client-fetch'; +import type { GetAdjustedTeamSeasonStatsData, GetAdjustedTeamSeasonStatsError, GetAdjustedTeamSeasonStatsResponse, GetAdjustedPlayerPassingStatsData, GetAdjustedPlayerPassingStatsError, GetAdjustedPlayerPassingStatsResponse, GetAdjustedPlayerRushingStatsData, GetAdjustedPlayerRushingStatsError, GetAdjustedPlayerRushingStatsResponse, GetKickerPaarData, GetKickerPaarError, GetKickerPaarResponse, GetTeamsData, GetTeamsError, GetTeamsResponse, GetFbsTeamsData, GetFbsTeamsError, GetFbsTeamsResponse, GetMatchupData, GetMatchupError, GetMatchupResponse, GetRosterData, GetRosterError, GetRosterResponse, GetConferencesError, GetConferencesResponse, GetTalentData, GetTalentError, GetTalentResponse, GetVenuesError, GetVenuesResponse, GetPlayerSeasonStatsData, GetPlayerSeasonStatsError, GetPlayerSeasonStatsResponse, GetTeamStatsData, GetTeamStatsError, GetTeamStatsResponse, GetCategoriesError, GetCategoriesResponse, GetAdvancedSeasonStatsData, GetAdvancedSeasonStatsError, GetAdvancedSeasonStatsResponse, GetAdvancedGameStatsData, GetAdvancedGameStatsError, GetAdvancedGameStatsResponse, GetRecruitsData, GetRecruitsError, GetRecruitsResponse, GetTeamRecruitingRankingsData, GetTeamRecruitingRankingsError, GetTeamRecruitingRankingsResponse, GetAggregatedTeamRecruitingRatingsData, GetAggregatedTeamRecruitingRatingsError, GetAggregatedTeamRecruitingRatingsResponse, GetSpData, GetSpError, GetSpResponse, GetConferenceSpData, GetConferenceSpError, GetConferenceSpResponse, GetSrsData, GetSrsError, GetSrsResponse, GetEloData, GetEloError, GetEloResponse, GetFpiData, GetFpiError, GetFpiResponse, GetRankingsData, GetRankingsError, GetRankingsResponse, GetPlaysData, GetPlaysError, GetPlaysResponse, GetPlayTypesError, GetPlayTypesResponse, GetPlayStatsData, GetPlayStatsError, GetPlayStatsResponse, GetPlayStatTypesError, GetPlayStatTypesResponse, SearchPlayersData, SearchPlayersError, SearchPlayersResponse, GetPlayerUsageData, GetPlayerUsageError, GetPlayerUsageResponse, GetReturningProductionData, GetReturningProductionError, GetReturningProductionResponse, GetTransferPortalData, GetTransferPortalError, GetTransferPortalResponse, GetPredictedPointsData, GetPredictedPointsError, GetPredictedPointsResponse, GetPredictedPointsAddedByTeamData, GetPredictedPointsAddedByTeamError, GetPredictedPointsAddedByTeamResponse, GetPredictedPointsAddedByGameData, GetPredictedPointsAddedByGameError, GetPredictedPointsAddedByGameResponse, GetPredictedPointsAddedByPlayerGameData, GetPredictedPointsAddedByPlayerGameError, GetPredictedPointsAddedByPlayerGameResponse, GetPredictedPointsAddedByPlayerSeasonData, GetPredictedPointsAddedByPlayerSeasonError, GetPredictedPointsAddedByPlayerSeasonResponse, GetWinProbabilityData, GetWinProbabilityError, GetWinProbabilityResponse, GetPregameWinProbabilitiesData, GetPregameWinProbabilitiesError, GetPregameWinProbabilitiesResponse, GetFieldGoalExpectedPointsError, GetFieldGoalExpectedPointsResponse, GetLivePlaysData, GetLivePlaysError, GetLivePlaysResponse, GetLinesData, GetLinesError, GetLinesResponse, GetGamesData, GetGamesError, GetGamesResponse, GetGameTeamStatsData, GetGameTeamStatsError, GetGameTeamStatsResponse, GetGamePlayerStatsData, GetGamePlayerStatsError, GetGamePlayerStatsResponse, GetMediaData, GetMediaError, GetMediaResponse, GetWeatherData, GetWeatherError, GetWeatherResponse, GetRecordsData, GetRecordsError, GetRecordsResponse, GetCalendarData, GetCalendarError, GetCalendarResponse, GetScoreboardData, GetScoreboardError, GetScoreboardResponse, GetDrivesData, GetDrivesError, GetDrivesResponse, GetDraftTeamsError, GetDraftTeamsResponse, GetDraftPositionsError, GetDraftPositionsResponse, GetDraftPicksData, GetDraftPicksError, GetDraftPicksResponse, GetCoachesData, GetCoachesError, GetCoachesResponse, GetAdvancedBoxScoreData, GetAdvancedBoxScoreError, GetAdvancedBoxScoreResponse } from './types.gen'; + +export const client = createClient(createConfig({ baseUrl: 'https://apinext.collegefootballdata.com' })); + +/** + * Retrieve opponent-adjusted team season statistics + */ +export const getAdjustedTeamSeasonStats = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/wepa/team/season' + }); +}; + +/** + * Retrieve opponent-adjusted player passing statistics + */ +export const getAdjustedPlayerPassingStats = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/wepa/players/passing' + }); +}; + +/** + * Retrieve opponent-adjusted player rushing statistics + */ +export const getAdjustedPlayerRushingStats = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/wepa/players/rushing' + }); +}; + +/** + * Retrieve Points Added Above Replacement (PAAR) ratings for kickers + */ +export const getKickerPaar = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/wepa/players/kicking' + }); +}; + +/** + * Retrieves team information + */ +export const getTeams = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/teams' + }); +}; + +/** + * Retrieves information on teams playing in the highest division of CFB + */ +export const getFbsTeams = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/teams/fbs' + }); +}; + +/** + * Retrieves historical matchup details for two given teams + */ +export const getMatchup = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/teams/matchup' + }); +}; + +/** + * Retrieves historical roster data + */ +export const getRoster = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/roster' + }); +}; + +/** + * Retrieves list of conferences + */ +export const getConferences = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/conferences' + }); +}; + +/** + * Retrieve 247 Team Talent Composite for a given year + */ +export const getTalent = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/talent' + }); +}; + +/** + * Retrieve list of venues + */ +export const getVenues = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/venues' + }); +}; + +/** + * Retrieves aggregated player statistics for a given season + */ +export const getPlayerSeasonStats = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/stats/player/season' + }); +}; + +/** + * Retrieves aggregated team season statistics + */ +export const getTeamStats = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/stats/season' + }); +}; + +/** + * Gets team statistical categories + */ +export const getCategories = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/stats/categories' + }); +}; + +/** + * Retrieves advanced season statistics for teams + */ +export const getAdvancedSeasonStats = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/stats/season/advanced' + }); +}; + +/** + * Retrieves advanced statistics aggregated by game + */ +export const getAdvancedGameStats = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/stats/game/advanced' + }); +}; + +/** + * Retrieves player recruiting rankings + */ +export const getRecruits = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/recruiting/players' + }); +}; + +/** + * Retrieves team recruiting rankings + */ +export const getTeamRecruitingRankings = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/recruiting/teams' + }); +}; + +/** + * Retrieves aggregated recruiting statistics by team and position grouping + */ +export const getAggregatedTeamRecruitingRatings = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/recruiting/groups' + }); +}; + +/** + * Retrieves SP+ ratings for a given year or school + */ +export const getSp = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/ratings/sp' + }); +}; + +/** + * Retrieves aggregated historical conference SP+ data + */ +export const getConferenceSp = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/ratings/sp/conferences' + }); +}; + +/** + * Retrieves historical SRS for a year or team + */ +export const getSrs = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/ratings/srs' + }); +}; + +/** + * Retrieves historical Elo ratings + */ +export const getElo = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/ratings/elo' + }); +}; + +/** + * Retrieves historical Football Power Index (FPI) ratings + */ +export const getFpi = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/ratings/fpi' + }); +}; + +/** + * Retrieves historical poll data + */ +export const getRankings = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/rankings' + }); +}; + +/** + * Retrieves historical play data + */ +export const getPlays = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/plays' + }); +}; + +/** + * Retrieves available play types + */ +export const getPlayTypes = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/plays/types' + }); +}; + +/** + * Retrieve player-play associations (limit 2000) + */ +export const getPlayStats = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/plays/stats' + }); +}; + +/** + * Retrieves available play stat types + */ +export const getPlayStatTypes = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/plays/stats/types' + }); +}; + +/** + * Search for players (lists top 100 results) + */ +export const searchPlayers = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/player/search' + }); +}; + +/** + * Retrieves player usage data for a given season + */ +export const getPlayerUsage = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/player/usage' + }); +}; + +/** + * Retrieves returning production data. Either a year or team filter must be specified. + */ +export const getReturningProduction = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/player/returning' + }); +}; + +/** + * Retrieves transfer portal data for a given year + */ +export const getTransferPortal = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/player/portal' + }); +}; + +/** + * Query Predicted Points values by down and distance + */ +export const getPredictedPoints = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/ppa/predicted' + }); +}; + +/** + * Retrieves historical team PPA metrics by season + */ +export const getPredictedPointsAddedByTeam = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/ppa/teams' + }); +}; + +/** + * Retrieves historical team PPA metrics by game + */ +export const getPredictedPointsAddedByGame = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/ppa/games' + }); +}; + +/** + * Queries player PPA statistics by game + */ +export const getPredictedPointsAddedByPlayerGame = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/ppa/players/games' + }); +}; + +/** + * Queries player PPA statistics by season + */ +export const getPredictedPointsAddedByPlayerSeason = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/ppa/players/season' + }); +}; + +/** + * Query play win probabilities by game + */ +export const getWinProbability = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/metrics/wp' + }); +}; + +/** + * Queries pregame win probabilities + */ +export const getPregameWinProbabilities = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/metrics/wp/pregame' + }); +}; + +/** + * Queries field goal expected points values + */ +export const getFieldGoalExpectedPoints = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/metrics/fg/ep' + }); +}; + +/** + * Queries live play-by-play data and advanced stats + */ +export const getLivePlays = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/live/plays' + }); +}; + +/** + * Retrieves historical betting data + */ +export const getLines = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/lines' + }); +}; + +/** + * Retrieves historical game data + */ +export const getGames = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/games' + }); +}; + +/** + * Retrieves team box score statistics + */ +export const getGameTeamStats = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/games/teams' + }); +}; + +/** + * Retrieves player box score statistics + */ +export const getGamePlayerStats = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/games/players' + }); +}; + +/** + * Retrieves media information for games + */ +export const getMedia = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/games/media' + }); +}; + +/** + * Retrieve historical and future weather data (Patreon only) + */ +export const getWeather = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/games/weather' + }); +}; + +/** + * Retrieves historical team records + */ +export const getRecords = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/records' + }); +}; + +/** + * Retrieves calendar information + */ +export const getCalendar = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/calendar' + }); +}; + +/** + * Retrieves live scoreboard data + */ +export const getScoreboard = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/scoreboard' + }); +}; + +/** + * Retrieves historical drive data + */ +export const getDrives = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/drives' + }); +}; + +/** + * Retrieves list of NFL teams + */ +export const getDraftTeams = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/draft/teams' + }); +}; + +/** + * Retrieves list of player position categories for the NFL Draft + */ +export const getDraftPositions = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/draft/positions' + }); +}; + +/** + * Retrieve historical NFL draft data + */ +export const getDraftPicks = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/draft/picks' + }); +}; + +/** + * Retrieves historical head coach information and records + */ +export const getCoaches = (options?: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/coaches' + }); +}; + +/** + * Retrieves an advanced box score for a game + */ +export const getAdvancedBoxScore = (options: OptionsLegacyParser) => { + return (options?.client ?? client).get({ + ...options, + url: '/game/box/advanced' + }); +}; \ No newline at end of file diff --git a/src/services.gen.ts b/src/services.gen.ts deleted file mode 100644 index 10166e3..0000000 --- a/src/services.gen.ts +++ /dev/null @@ -1,462 +0,0 @@ -// This file is auto-generated by @hey-api/openapi-ts - -import { createClient, createConfig, type Options } from '@hey-api/client-fetch'; -import type { GetAdjustedTeamSeasonStatsData, GetAdjustedTeamSeasonStatsError, GetAdjustedTeamSeasonStatsResponse, GetAdjustedPlayerPassingStatsData, GetAdjustedPlayerPassingStatsError, GetAdjustedPlayerPassingStatsResponse, GetAdjustedPlayerRushingStatsData, GetAdjustedPlayerRushingStatsError, GetAdjustedPlayerRushingStatsResponse, GetKickerPaarData, GetKickerPaarError, GetKickerPaarResponse, GetTeamsData, GetTeamsError, GetTeamsResponse, GetFbsTeamsData, GetFbsTeamsError, GetFbsTeamsResponse, GetMatchupData, GetMatchupError, GetMatchupResponse, GetRosterData, GetRosterError, GetRosterResponse, GetConferencesError, GetConferencesResponse, GetTalentData, GetTalentError, GetTalentResponse, GetVenuesError, GetVenuesResponse, GetPlayerSeasonStatsData, GetPlayerSeasonStatsError, GetPlayerSeasonStatsResponse, GetTeamStatsData, GetTeamStatsError, GetTeamStatsResponse, GetCategoriesError, GetCategoriesResponse, GetAdvancedSeasonStatsData, GetAdvancedSeasonStatsError, GetAdvancedSeasonStatsResponse, GetAdvancedGameStatsData, GetAdvancedGameStatsError, GetAdvancedGameStatsResponse, GetRecruitsData, GetRecruitsError, GetRecruitsResponse, GetTeamRecruitingRankingsData, GetTeamRecruitingRankingsError, GetTeamRecruitingRankingsResponse, GetAggregatedTeamRecruitingRatingsData, GetAggregatedTeamRecruitingRatingsError, GetAggregatedTeamRecruitingRatingsResponse, GetSpData, GetSpError, GetSpResponse, GetConferenceSpData, GetConferenceSpError, GetConferenceSpResponse, GetSrsData, GetSrsError, GetSrsResponse, GetEloData, GetEloError, GetEloResponse, GetFpiData, GetFpiError, GetFpiResponse, GetRankingsData, GetRankingsError, GetRankingsResponse, GetPlaysData, GetPlaysError, GetPlaysResponse, GetPlayTypesError, GetPlayTypesResponse, GetPlayStatsData, GetPlayStatsError, GetPlayStatsResponse, GetPlayStatTypesError, GetPlayStatTypesResponse, SearchPlayersData, SearchPlayersError, SearchPlayersResponse, GetPlayerUsageData, GetPlayerUsageError, GetPlayerUsageResponse, GetReturningProductionData, GetReturningProductionError, GetReturningProductionResponse, GetTransferPortalData, GetTransferPortalError, GetTransferPortalResponse, GetPredictedPointsData, GetPredictedPointsError, GetPredictedPointsResponse, GetPredictedPointsAddedByTeamData, GetPredictedPointsAddedByTeamError, GetPredictedPointsAddedByTeamResponse, GetPredictedPointsAddedByGameData, GetPredictedPointsAddedByGameError, GetPredictedPointsAddedByGameResponse, GetPredictedPointsAddedByPlayerGameData, GetPredictedPointsAddedByPlayerGameError, GetPredictedPointsAddedByPlayerGameResponse, GetPredictedPointsAddedByPlayerSeasonData, GetPredictedPointsAddedByPlayerSeasonError, GetPredictedPointsAddedByPlayerSeasonResponse, GetWinProbabilityData, GetWinProbabilityError, GetWinProbabilityResponse, GetPregameWinProbabilitiesData, GetPregameWinProbabilitiesError, GetPregameWinProbabilitiesResponse, GetFieldGoalExpectedPointsError, GetFieldGoalExpectedPointsResponse, GetLivePlaysData, GetLivePlaysError, GetLivePlaysResponse, GetLinesData, GetLinesError, GetLinesResponse, GetGamesData, GetGamesError, GetGamesResponse, GetGameTeamStatsData, GetGameTeamStatsError, GetGameTeamStatsResponse, GetGamePlayerStatsData, GetGamePlayerStatsError, GetGamePlayerStatsResponse, GetMediaData, GetMediaError, GetMediaResponse, GetWeatherData, GetWeatherError, GetWeatherResponse, GetRecordsData, GetRecordsError, GetRecordsResponse, GetCalendarData, GetCalendarError, GetCalendarResponse, GetScoreboardData, GetScoreboardError, GetScoreboardResponse, GetDrivesData, GetDrivesError, GetDrivesResponse, GetDraftTeamsError, GetDraftTeamsResponse, GetDraftPositionsError, GetDraftPositionsResponse, GetDraftPicksData, GetDraftPicksError, GetDraftPicksResponse, GetCoachesData, GetCoachesError, GetCoachesResponse, GetAdvancedBoxScoreData, GetAdvancedBoxScoreError, GetAdvancedBoxScoreResponse } from './types.gen'; - -export const client = createClient(createConfig({ baseUrl: 'https://apinext.collegefootballdata.com' })); - -/** - * Retrieve opponent-adjusted team season statistics - */ -export const getAdjustedTeamSeasonStats = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/wepa/team/season' -}); }; - -/** - * Retrieve opponent-adjusted player passing statistics - */ -export const getAdjustedPlayerPassingStats = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/wepa/players/passing' -}); }; - -/** - * Retrieve opponent-adjusted player rushing statistics - */ -export const getAdjustedPlayerRushingStats = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/wepa/players/rushing' -}); }; - -/** - * Retrieve Points Added Above Replacement (PAAR) ratings for kickers - */ -export const getKickerPaar = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/wepa/players/kicking' -}); }; - -/** - * Retrieves team information - */ -export const getTeams = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/teams' -}); }; - -/** - * Retrieves information on teams playing in the highest division of CFB - */ -export const getFbsTeams = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/teams/fbs' -}); }; - -/** - * Retrieves historical matchup details for two given teams - */ -export const getMatchup = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/teams/matchup' -}); }; - -/** - * Retrieves historical roster data - */ -export const getRoster = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/roster' -}); }; - -/** - * Retrieves list of conferences - */ -export const getConferences = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/conferences' -}); }; - -/** - * Retrieve 247 Team Talent Composite for a given year - */ -export const getTalent = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/talent' -}); }; - -/** - * Retrieve list of venues - */ -export const getVenues = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/venues' -}); }; - -/** - * Retrieves aggregated player statistics for a given season - */ -export const getPlayerSeasonStats = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/stats/player/season' -}); }; - -/** - * Retrieves aggregated team season statistics - */ -export const getTeamStats = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/stats/season' -}); }; - -/** - * Gets team statistical categories - */ -export const getCategories = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/stats/categories' -}); }; - -/** - * Retrieves advanced season statistics for teams - */ -export const getAdvancedSeasonStats = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/stats/season/advanced' -}); }; - -/** - * Retrieves advanced statistics aggregated by game - */ -export const getAdvancedGameStats = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/stats/game/advanced' -}); }; - -/** - * Retrieves player recruiting rankings - */ -export const getRecruits = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/recruiting/players' -}); }; - -/** - * Retrieves team recruiting rankings - */ -export const getTeamRecruitingRankings = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/recruiting/teams' -}); }; - -/** - * Retrieves aggregated recruiting statistics by team and position grouping - */ -export const getAggregatedTeamRecruitingRatings = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/recruiting/groups' -}); }; - -/** - * Retrieves SP+ ratings for a given year or school - */ -export const getSp = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/ratings/sp' -}); }; - -/** - * Retrieves aggregated historical conference SP+ data - */ -export const getConferenceSp = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/ratings/sp/conferences' -}); }; - -/** - * Retrieves historical SRS for a year or team - */ -export const getSrs = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/ratings/srs' -}); }; - -/** - * Retrieves historical Elo ratings - */ -export const getElo = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/ratings/elo' -}); }; - -/** - * Retrieves historical Football Power Index (FPI) ratings - */ -export const getFpi = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/ratings/fpi' -}); }; - -/** - * Retrieves historical poll data - */ -export const getRankings = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/rankings' -}); }; - -/** - * Retrieves historical play data - */ -export const getPlays = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/plays' -}); }; - -/** - * Retrieves available play types - */ -export const getPlayTypes = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/plays/types' -}); }; - -/** - * Retrieve player-play associations (limit 2000) - */ -export const getPlayStats = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/plays/stats' -}); }; - -/** - * Retrieves available play stat types - */ -export const getPlayStatTypes = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/plays/stats/types' -}); }; - -/** - * Search for players (lists top 100 results) - */ -export const searchPlayers = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/player/search' -}); }; - -/** - * Retrieves player usage data for a given season - */ -export const getPlayerUsage = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/player/usage' -}); }; - -/** - * Retrieves returning production data. Either a year or team filter must be specified. - */ -export const getReturningProduction = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/player/returning' -}); }; - -/** - * Retrieves transfer portal data for a given year - */ -export const getTransferPortal = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/player/portal' -}); }; - -/** - * Query Predicted Points values by down and distance - */ -export const getPredictedPoints = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/ppa/predicted' -}); }; - -/** - * Retrieves historical team PPA metrics by season - */ -export const getPredictedPointsAddedByTeam = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/ppa/teams' -}); }; - -/** - * Retrieves historical team PPA metrics by game - */ -export const getPredictedPointsAddedByGame = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/ppa/games' -}); }; - -/** - * Queries player PPA statistics by game - */ -export const getPredictedPointsAddedByPlayerGame = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/ppa/players/games' -}); }; - -/** - * Queries player PPA statistics by season - */ -export const getPredictedPointsAddedByPlayerSeason = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/ppa/players/season' -}); }; - -/** - * Query play win probabilities by game - */ -export const getWinProbability = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/metrics/wp' -}); }; - -/** - * Queries pregame win probabilities - */ -export const getPregameWinProbabilities = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/metrics/wp/pregame' -}); }; - -/** - * Queries field goal expected points values - */ -export const getFieldGoalExpectedPoints = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/metrics/fg/ep' -}); }; - -/** - * Queries live play-by-play data and advanced stats - */ -export const getLivePlays = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/live/plays' -}); }; - -/** - * Retrieves historical betting data - */ -export const getLines = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/lines' -}); }; - -/** - * Retrieves historical game data - */ -export const getGames = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/games' -}); }; - -/** - * Retrieves team box score statistics - */ -export const getGameTeamStats = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/games/teams' -}); }; - -/** - * Retrieves player box score statistics - */ -export const getGamePlayerStats = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/games/players' -}); }; - -/** - * Retrieves media information for games - */ -export const getMedia = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/games/media' -}); }; - -/** - * Retrieve historical and future weather data (Patreon only) - */ -export const getWeather = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/games/weather' -}); }; - -/** - * Retrieves historical team records - */ -export const getRecords = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/records' -}); }; - -/** - * Retrieves calendar information - */ -export const getCalendar = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/calendar' -}); }; - -/** - * Retrieves live scoreboard data - */ -export const getScoreboard = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/scoreboard' -}); }; - -/** - * Retrieves historical drive data - */ -export const getDrives = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/drives' -}); }; - -/** - * Retrieves list of NFL teams - */ -export const getDraftTeams = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/draft/teams' -}); }; - -/** - * Retrieves list of player position categories for the NFL Draft - */ -export const getDraftPositions = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/draft/positions' -}); }; - -/** - * Retrieve historical NFL draft data - */ -export const getDraftPicks = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/draft/picks' -}); }; - -/** - * Retrieves historical head coach information and records - */ -export const getCoaches = (options?: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/coaches' -}); }; - -/** - * Retrieves an advanced box score for a game - */ -export const getAdvancedBoxScore = (options: Options) => { return (options?.client ?? client).get({ - ...options, - url: '/game/box/advanced' -}); }; \ No newline at end of file diff --git a/src/types.gen.ts b/src/types.gen.ts index 2f76c04..76f7f93 100644 --- a/src/types.gen.ts +++ b/src/types.gen.ts @@ -41,183 +41,62 @@ export type AdjustedTeamMetrics = { explosivenessAllowed: number; }; -export type PlayerWeightedEPA = { - year: number; - athleteId: string; - athleteName: string; - position: string; - team: string; - conference: string; - wepa: number; - plays: number; -}; - -export type KickerPAAR = { - year: number; - athleteId: string; - athleteName: string; - team: string; - conference: string; - paar: number; - attempts: number; -}; - -export type Venue = { - id: (number) | null; - name: (string) | null; - city: (string) | null; - state: (string) | null; - zip: (string) | null; - countryCode: (string) | null; - timezone: (string) | null; - latitude: (number) | null; - longitude: (number) | null; - elevation: (string) | null; - capacity: (number) | null; - constructionYear: (number) | null; - grass?: (boolean) | null; - dome?: (boolean) | null; -}; - -export type Team = { - id: number; - school: string; - mascot: (string) | null; - abbreviation: (string) | null; - alternateNames: Array<(string)> | null; - conference: (string) | null; - division: (string) | null; - classification: (string) | null; - color: (string) | null; - alternateColor: (string) | null; - logos: Array<(string)> | null; - twitter: (string) | null; - location: ((Venue) | null); +export type AdvancedBoxScore = { + gameInfo: { + excitement: number; + homeWinner: boolean; + awayWinProb: number; + awayPoints: number; + awayTeam: string; + homeWinProb: number; + homePoints: number; + homeTeam: string; + }; + teams: { + fieldPosition: Array; + scoringOpportunities: Array; + havoc: Array; + rushing: Array; + explosiveness: Array; + successRates: Array; + cumulativePpa: Array; + ppa: Array; + }; + players: { + ppa: Array; + usage: Array; + }; }; -export type MatchupGame = { +export type AdvancedGameStat = { + gameId: number; season: number; week: number; - seasonType: string; - date: string; - neutralSite: boolean; - venue: string; - homeTeam: string; - homeScore: number; - awayTeam: string; - awayScore: number; - winner: (string) | null; -}; - -export type Matchup = { - team1: string; - team2: string; - startYear?: number; - endYear?: number; - team1Wins: number; - team2Wins: number; - ties: number; - games: Array; -}; - -export type RosterPlayer = { - id: string; - firstName: string; - lastName: string; - team: string; - height: (number) | null; - weight: (number) | null; - jersey: (number) | null; - year: number; - position: (string) | null; - homeCity: (string) | null; - homeState: (string) | null; - homeCountry: (string) | null; - homeLatitude: (number) | null; - homeLongitude: (number) | null; - homeCountyFIPS: (string) | null; - recruitIds: Array<(string)> | null; -}; - -export type DivisionClassification = 'fbs' | 'fcs' | 'ii' | 'iii'; - -export type Conference = { - id: number; - name: string; - shortName: (string) | null; - abbreviation: (string) | null; - classification: ((DivisionClassification) | null); -}; - -export type TeamTalent = { - year: number; - team: string; - talent: number; -}; - -export type PlayerStat = { - season: number; - playerId: string; - player: string; - team: string; - conference: string; - category: string; - statType: string; - stat: number; -}; - -export type SeasonType = 'regular' | 'postseason' | 'both' | 'allstar' | 'spring_regular' | 'spring_postseason'; - -export type TeamStat = { - season: number; - team: string; - conference: string; - statName: string; - statValue: (string | number); -}; - -export type AdvancedSeasonStat = { - season: number; team: string; - conference: string; + opponent: string; offense: { passingPlays: { explosiveness: number; successRate: number; totalPPA: number; ppa: number; - rate: number; }; rushingPlays: { explosiveness: number; successRate: number; totalPPA: number; ppa: number; - rate: number; }; passingDowns: { explosiveness: number; successRate: number; ppa: number; - rate: number; }; standardDowns: { explosiveness: number; successRate: number; ppa: number; - rate: number; - }; - havoc: { - db: (number) | null; - frontSeven: (number) | null; - total: (number) | null; - }; - fieldPosition: { - averagePredictedPoints: (number) | null; - averageStart: (number) | null; }; - pointsPerOpportunity: number; - totalOpportunies: number; openFieldYardsTotal: number; openFieldYards: number; secondLevelYardsTotal: number; @@ -239,39 +118,23 @@ export type AdvancedSeasonStat = { successRate: number; totalPPA: number; ppa: number; - rate: number; }; rushingPlays: { explosiveness: number; successRate: number; totalPPA: number; ppa: number; - rate: number; }; passingDowns: { explosiveness: number; successRate: number; - totalPPA: number; ppa: number; - rate: number; }; standardDowns: { explosiveness: number; successRate: number; ppa: number; - rate: number; - }; - havoc: { - db: (number) | null; - frontSeven: (number) | null; - total: (number) | null; - }; - fieldPosition: { - averagePredictedPoints: (number) | null; - averageStart: (number) | null; }; - pointsPerOpportunity: number; - totalOpportunies: number; openFieldYardsTotal: number; openFieldYards: number; secondLevelYardsTotal: number; @@ -289,35 +152,48 @@ export type AdvancedSeasonStat = { }; }; -export type AdvancedGameStat = { - gameId: number; +export type AdvancedSeasonStat = { season: number; - week: number; team: string; - opponent: string; + conference: string; offense: { passingPlays: { explosiveness: number; successRate: number; totalPPA: number; ppa: number; + rate: number; }; rushingPlays: { explosiveness: number; successRate: number; totalPPA: number; ppa: number; + rate: number; }; passingDowns: { explosiveness: number; successRate: number; ppa: number; + rate: number; }; standardDowns: { explosiveness: number; successRate: number; ppa: number; + rate: number; + }; + havoc: { + db: (number) | null; + frontSeven: (number) | null; + total: (number) | null; }; + fieldPosition: { + averagePredictedPoints: (number) | null; + averageStart: (number) | null; + }; + pointsPerOpportunity: number; + totalOpportunies: number; openFieldYardsTotal: number; openFieldYards: number; secondLevelYardsTotal: number; @@ -339,23 +215,39 @@ export type AdvancedGameStat = { successRate: number; totalPPA: number; ppa: number; + rate: number; }; rushingPlays: { explosiveness: number; successRate: number; totalPPA: number; ppa: number; + rate: number; }; passingDowns: { explosiveness: number; successRate: number; + totalPPA: number; ppa: number; + rate: number; }; standardDowns: { explosiveness: number; successRate: number; ppa: number; + rate: number; + }; + havoc: { + db: (number) | null; + frontSeven: (number) | null; + total: (number) | null; }; + fieldPosition: { + averagePredictedPoints: (number) | null; + averageStart: (number) | null; + }; + pointsPerOpportunity: number; + totalOpportunies: number; openFieldYardsTotal: number; openFieldYards: number; secondLevelYardsTotal: number; @@ -373,87 +265,77 @@ export type AdvancedGameStat = { }; }; -export type RecruitClassification = 'JUCO' | 'PrepSchool' | 'HighSchool'; +export type AggregatedTeamRecruiting = { + team: string; + conference: string; + positionGroup: (string) | null; + averageRating: number; + totalRating: number; + commits: number; + averageStars: number; +}; -export type Recruit = { - id: string; - athleteId: (string) | null; - recruitType: RecruitClassification; - year: number; - ranking: (number) | null; - name: string; - school: (string) | null; - committedTo: (string) | null; - position: (string) | null; - height: (number) | null; - weight: (number) | null; - stars: number; - rating: number; - city: (string) | null; - stateProvince: (string) | null; - country: (string) | null; - hometownInfo: { - fipsCode: (string) | null; - longitude: (number) | null; - latitude: (number) | null; - }; +export type BettingGame = { + id: number; + season: number; + seasonType: SeasonType; + week: number; + startDate: string; + homeTeam: string; + homeConference: (string) | null; + homeClassification: ((DivisionClassification) | null); + homeScore: (number) | null; + awayTeam: string; + awayConference: (string) | null; + awayClassification: ((DivisionClassification) | null); + awayScore: (number) | null; + lines: Array; }; -export type TeamRecruitingRanking = { - year: number; - rank: number; - team: string; - points: number; +export type CalendarWeek = { + season: number; + week: number; + seasonType: SeasonType; + startDate: string; + endDate: string; + /** + * @deprecated + */ + firstGameStart: string; + /** + * @deprecated + */ + lastGameStart: string; }; -export type AggregatedTeamRecruiting = { - team: string; - conference: string; - positionGroup: (string) | null; - averageRating: number; - totalRating: number; - commits: number; - averageStars: number; +export type Coach = { + firstName: string; + lastName: string; + hireDate: (string) | null; + seasons: Array; }; -export type TeamSP = { +export type CoachSeason = { + school: string; year: number; - team: string; - conference: string; - rating: number; - ranking: number; - secondOrderWins: (number) | null; - sos: (number) | null; - offense: { - pace: (number) | null; - runRate: (number) | null; - passingDowns: (number) | null; - standardDowns: (number) | null; - passing: (number) | null; - rushing: (number) | null; - explosiveness: (number) | null; - success: (number) | null; - rating: number; - ranking: number; - }; - defense: { - havoc: { - db: (number) | null; - frontSeven: (number) | null; - total: (number) | null; - }; - passingDowns: (number) | null; - standardDowns: (number) | null; - passing: (number) | null; - rushing: (number) | null; - explosiveness: (number) | null; - success: (number) | null; - rating: number; - ranking: number; - }; - specialTeams: { - rating: (number) | null; - }; + games: number; + wins: number; + losses: number; + ties: number; + preseasonRank: (number) | null; + postseasonRank: (number) | null; + srs: (number) | null; + spOverall: (number) | null; + spOffense: (number) | null; + spDefense: (number) | null; +}; + +export type Conference = { + id: number; + name: string; + shortName: (string) | null; + abbreviation: (string) | null; + classification: ((DivisionClassification) | null); }; export type ConferenceSP = { @@ -492,347 +374,297 @@ export type ConferenceSP = { }; }; -export type TeamSRS = { - year: number; - team: string; - conference: (string) | null; - division: (string) | null; - rating: number; - ranking: number; -}; - -export type TeamElo = { - year: number; - team: string; - conference: string; - elo: (number) | null; -}; +export type DivisionClassification = 'fbs' | 'fcs' | 'ii' | 'iii'; -export type TeamFPI = { +export type DraftPick = { + collegeAthleteId: (number) | null; + nflAthleteId: number; + collegeId: number; + collegeTeam: string; + collegeConference: (string) | null; + nflTeamId: number; + nflTeam: string; year: number; - team: string; - conference: (string) | null; - fpi: (number) | null; - resumeRanks: { - gameControl: (number) | null; - remainingStrengthOfSchedule: (number) | null; - strengthOfSchedule: (number) | null; - averageWinProbability: (number) | null; - fpi: (number) | null; - strengthOfRecord: (number) | null; - }; - efficiencies: { - specialTeams: (number) | null; - defense: (number) | null; - offense: (number) | null; - overall: (number) | null; + overall: number; + round: number; + pick: number; + name: string; + position: string; + height: (number) | null; + weight: (number) | null; + preDraftRanking: (number) | null; + preDraftPositionRanking: (number) | null; + preDraftGrade: (number) | null; + hometownInfo: { + countyFips: (string) | null; + longitude: (string) | null; + latitude: (string) | null; + country: (string) | null; + state: (string) | null; + city: (string) | null; }; }; -export type PollRank = { - rank: (number) | null; - school: string; - conference: (string) | null; - firstPlaceVotes: (number) | null; - points: (number) | null; -}; - -export type Poll = { - poll: string; - ranks: Array; +export type DraftPosition = { + name: string; + abbreviation: string; }; -export type PollWeek = { - season: number; - seasonType: SeasonType; - week: number; - polls: Array; +export type DraftTeam = { + location: string; + nickname: (string) | null; + displayName: (string) | null; + logo: (string) | null; }; -export type Play = { - id: string; - driveId: string; - gameId: number; - driveNumber: (number) | null; - playNumber: (number) | null; +export type Drive = { offense: string; offenseConference: (string) | null; - offenseScore: number; defense: string; - home: string; - away: string; defenseConference: (string) | null; - defenseScore: number; - period: number; - clock: { + gameId: number; + id: string; + driveNumber: (number) | null; + scoring: boolean; + startPeriod: number; + startYardline: number; + startYardsToGoal: number; + startTime: { seconds: (number) | null; minutes: (number) | null; }; - offenseTimeouts: (number) | null; - defenseTimeouts: (number) | null; - yardline: number; + endPeriod: number; + endYardline: number; + endYardsToGoal: number; + endTime: { + seconds: (number) | null; + minutes: (number) | null; + }; + plays: number; + yards: number; + driveResult: string; + isHomeOffense: boolean; + startOffenseScore: number; + startDefenseScore: number; + endOffenseScore: number; + endDefenseScore: number; +}; + +export type FieldGoalEP = { yardsToGoal: number; - down: number; distance: number; - yardsGained: number; - scoring: boolean; - playType: string; - playText: (string) | null; - ppa: (number) | null; - wallclock: (string) | null; + expectedPoints: number; }; -export type PlayType = { +export type Game = { id: number; - text: string; - abbreviation: (string) | null; -}; - -export type PlayStat = { - gameId: number; season: number; week: number; - team: string; - conference: string; - opponent: string; - teamScore: number; - opponentScore: number; - driveId: string; - playId: string; - period: number; - clock: { - seconds: (number) | null; - minutes: (number) | null; - }; - yardsToGoal: number; - down: number; - distance: number; - athleteId: string; - athleteName: string; - statType: string; - stat: number; + seasonType: SeasonType; + startDate: string; + startTimeTBD: boolean; + completed: boolean; + neutralSite: boolean; + conferenceGame: boolean; + attendance: (number) | null; + venueId: (number) | null; + venue: (string) | null; + homeId: number; + homeTeam: string; + homeConference: (string) | null; + homeClassification: ((DivisionClassification) | null); + homePoints: (number) | null; + homeLineScores: Array<(number)> | null; + homePostgameWinProbability: (number) | null; + homePregameElo: (number) | null; + homePostgameElo: (number) | null; + awayId: number; + awayTeam: string; + awayConference: (string) | null; + awayClassification: ((DivisionClassification) | null); + awayPoints: (number) | null; + awayLineScores: Array<(number)> | null; + awayPostgameWinProbability: (number) | null; + awayPregameElo: (number) | null; + awayPostgameElo: (number) | null; + excitementIndex: (number) | null; + highlights: (string) | null; + notes: (string) | null; }; -export type PlayStatType = { - id: number; - name: string; +export type GameLine = { + provider: string; + spread: (number) | null; + formattedSpread: string; + spreadOpen: (number) | null; + overUnder: (number) | null; + overUnderOpen: (number) | null; + homeMoneyline: (number) | null; + awayMoneyline: (number) | null; }; -export type PlayerSearchResult = { - id: string; - team: string; - name: string; - firstName: (string) | null; - lastName: (string) | null; - weight: (number) | null; - height: (number) | null; - jersey: (number) | null; - position: string; - hometown: string; - teamColor: string; - teamColorSecondary: string; +export type GameMedia = { + id: number; + season: number; + week: number; + seasonType: SeasonType; + startTime: string; + isStartTimeTBD: boolean; + homeTeam: string; + homeConference: (string) | null; + awayTeam: string; + awayConference: (string) | null; + mediaType: MediaType; + outlet: string; }; -export type PlayerPPAChartItem = { - playNumber: number; - avgPPA: number; +export type GamePlayerStatCategories = { + name: string; + types: Array; }; -export type PlayerUsage = { - season: number; +export type GamePlayerStatPlayer = { id: string; name: string; - position: string; - team: string; - conference: string; - usage: { - passingDowns: number; - standardDowns: number; - thirdDown: number; - secondDown: number; - firstDown: number; - rush: number; - pass: number; - overall: number; - }; + stat: string; }; -export type ReturningProduction = { - season: number; +export type GamePlayerStats = { + id: number; + teams: Array; +}; + +export type GamePlayerStatsTeam = { team: string; - conference: string; - totalPPA: number; - totalPassingPPA: number; - totalReceivingPPA: number; - totalRushingPPA: number; - percentPPA: number; - percentPassingPPA: number; - percentReceivingPPA: number; - percentRushingPPA: number; - usage: number; - passingUsage: number; - receivingUsage: number; - rushingUsage: number; + conference: (string) | null; + homeAway: 'home' | 'away'; + points: (number) | null; + categories: Array; }; -export type TransferEligibility = 'Withdrawn' | 'TBD' | 'PendingAppeal' | 'SittingOne' | 'Immediate'; +export type homeAway = 'home' | 'away'; -export type PlayerTransfer = { - season: number; - firstName: string; - lastName: string; - position: string; - origin: string; - destination: (string) | null; - transferDate: (string) | null; - rating: (number) | null; - stars: (number) | null; - eligibility: ((TransferEligibility) | null); +export type GamePlayerStatTypes = { + name: string; + athletes: Array; }; -export type PredictedPointsValue = { - yardLine: number; - predictedPoints: number; +export type GameStatus = 'scheduled' | 'in_progress' | 'completed'; + +export type GameTeamStats = { + id: number; + teams: Array; }; -export type TeamSeasonPredictedPointsAdded = { - season: number; - conference: string; +export type GameTeamStatsTeam = { + teamId: number; team: string; - offense: { - cumulative: { - rushing: number; - passing: number; - total: number; - }; - thirdDown: number; - secondDown: number; - firstDown: number; - rushing: number; - passing: number; - overall: number; - }; - defense: { - cumulative: { - rushing: number; - passing: number; - total: number; - }; - thirdDown: number; - secondDown: number; - firstDown: number; - rushing: number; - passing: number; - overall: number; - }; + conference: (string) | null; + homeAway: 'home' | 'away'; + points: (number) | null; + stats: Array; }; -export type TeamGamePredictedPointsAdded = { - gameId: number; - season: number; - week: number; - seasonType: SeasonType; - team: string; - conference: string; - opponent: string; - offense: { - thirdDown: number; - secondDown: number; - firstDown: number; - rushing: number; - passing: number; - overall: number; - }; - defense: { - thirdDown: number; - secondDown: number; - firstDown: number; - rushing: number; - passing: number; - overall: number; - }; +export type GameTeamStatsTeamStat = { + category: string; + stat: string; }; -export type PlayerGamePredictedPointsAdded = { +export type GameWeather = { + id: number; season: number; week: number; seasonType: SeasonType; - id: string; - name: string; - position: string; - team: string; - opponent: string; - averagePPA: { - rush?: number; - pass?: number; - all: number; - }; + startTime: string; + gameIndoors: boolean; + homeTeam: string; + homeConference: (string) | null; + awayTeam: string; + awayConference: (string) | null; + venueId: number; + venue: string; + temperature: (number) | null; + dewPoint: (number) | null; + humidity: (number) | null; + precipitation: (number) | null; + snowfall: (number) | null; + windDirection: (number) | null; + windSpeed: (number) | null; + pressure: (number) | null; + weatherConditionCode: (number) | null; + weatherCondition: (string) | null; }; -export type PlayerSeasonPredictedPointsAdded = { - season: number; - id: string; - name: string; - position: string; +export type KickerPAAR = { + year: number; + athleteId: string; + athleteName: string; team: string; conference: string; - averagePPA: { - passingDowns?: number; - standardDowns?: number; - thirdDown?: number; - secondDown?: number; - firstDown?: number; - rush?: number; - pass?: number; - all: number; - }; - totalPPA: { - passingDowns?: number; - standardDowns?: number; - thirdDown?: number; - secondDown?: number; - firstDown?: number; - rush?: number; - pass?: number; - all: number; - }; + paar: number; + attempts: number; }; -export type PlayWinProbability = { - gameId: number; - playId: string; - playText: string; - homeId: number; - home: string; - awayId: number; - away: string; - spread: number; - homeBall: boolean; +export type LiveGame = { + id: number; + status: string; + period: (number) | null; + clock: string; + possession: string; + down: (number) | null; + distance: (number) | null; + yardsToGoal: (number) | null; + teams: Array; + drives: Array; +}; + +export type LiveGameDrive = { + id: string; + offenseId: number; + offense: string; + defenseId: number; + defense: string; + playCount: number; + yards: number; + startPeriod: number; + startClock: (string) | null; + startYardsToGoal: number; + endPeriod: (number) | null; + endClock: (string) | null; + endYardsToGoal: (number) | null; + duration: (string) | null; + scoringOpportunity: boolean; + result: string; + pointsGained: number; + plays: Array; +}; + +export type LiveGamePlay = { + id: string; homeScore: number; awayScore: number; - yardLine: number; + period: number; + clock: string; + wallClock: string; + teamId: number; + team: string; down: number; distance: number; - homeWinProbability: number; - playNumber: number; + yardsToGoal: number; + yardsGained: number; + playTypeId: number; + playType: string; + epa: (number) | null; + garbageTime: boolean; + success: boolean; + rushPash: 'rush' | 'pass' | 'other'; + downType: 'passing' | 'standard'; + playText: string; }; -export type PregameWinProbability = { - season: number; - seasonType: SeasonType; - week: number; - gameId: number; - homeTeam: string; - awayTeam: string; - spread: number; - homeWinProbability: number; -}; +export type rushPash = 'rush' | 'pass' | 'other'; -export type FieldGoalEP = { - yardsToGoal: number; - distance: number; - expectedPoints: number; -}; +export type downType = 'passing' | 'standard'; export type LiveGameTeam = { teamId: number; @@ -862,263 +694,370 @@ export type LiveGameTeam = { explosiveness: number; }; -export type homeAway = 'home' | 'away'; +export type Matchup = { + team1: string; + team2: string; + startYear?: number; + endYear?: number; + team1Wins: number; + team2Wins: number; + ties: number; + games: Array; +}; -export type LiveGamePlay = { - id: string; +export type MatchupGame = { + season: number; + week: number; + seasonType: string; + date: string; + neutralSite: boolean; + venue: string; + homeTeam: string; homeScore: number; + awayTeam: string; awayScore: number; + winner: (string) | null; +}; + +export type MediaType = 'tv' | 'radio' | 'web' | 'ppv' | 'mobile'; + +export type Play = { + id: string; + driveId: string; + gameId: number; + driveNumber: (number) | null; + playNumber: (number) | null; + offense: string; + offenseConference: (string) | null; + offenseScore: number; + defense: string; + home: string; + away: string; + defenseConference: (string) | null; + defenseScore: number; period: number; - clock: string; - wallClock: string; - teamId: number; - team: string; + clock: { + seconds: (number) | null; + minutes: (number) | null; + }; + offenseTimeouts: (number) | null; + defenseTimeouts: (number) | null; + yardline: number; + yardsToGoal: number; down: number; distance: number; - yardsToGoal: number; yardsGained: number; - playTypeId: number; + scoring: boolean; playType: string; - epa: (number) | null; - garbageTime: boolean; - success: boolean; - rushPash: 'rush' | 'pass' | 'other'; - downType: 'passing' | 'standard'; - playText: string; + playText: (string) | null; + ppa: (number) | null; + wallclock: (string) | null; }; -export type rushPash = 'rush' | 'pass' | 'other'; +export type PlayerGamePredictedPointsAdded = { + season: number; + week: number; + seasonType: SeasonType; + id: string; + name: string; + position: string; + team: string; + opponent: string; + averagePPA: { + rush?: number; + pass?: number; + all: number; + }; +}; -export type downType = 'passing' | 'standard'; +export type PlayerGameUsage = { + total: number; + quarter1: number; + quarter2: number; + quarter3: number; + quarter4: number; + rushing: number; + passing: number; + player: string; + team: string; + position: string; +}; -export type LiveGameDrive = { +export type PlayerPPA = { + player: string; + team: string; + position: string; + average: PlayerStatsByQuarter; + cumulative: PlayerStatsByQuarter; +}; + +export type PlayerPPAChartItem = { + playNumber: number; + avgPPA: number; +}; + +export type PlayerSearchResult = { id: string; - offenseId: number; - offense: string; - defenseId: number; - defense: string; - playCount: number; - yards: number; - startPeriod: number; - startClock: (string) | null; - startYardsToGoal: number; - endPeriod: (number) | null; - endClock: (string) | null; - endYardsToGoal: (number) | null; - duration: (string) | null; - scoringOpportunity: boolean; - result: string; - pointsGained: number; - plays: Array; + team: string; + name: string; + firstName: (string) | null; + lastName: (string) | null; + weight: (number) | null; + height: (number) | null; + jersey: (number) | null; + position: string; + hometown: string; + teamColor: string; + teamColorSecondary: string; }; -export type LiveGame = { - id: number; - status: string; - period: (number) | null; - clock: string; - possession: string; - down: (number) | null; - distance: (number) | null; - yardsToGoal: (number) | null; - teams: Array; - drives: Array; +export type PlayerSeasonPredictedPointsAdded = { + season: number; + id: string; + name: string; + position: string; + team: string; + conference: string; + averagePPA: { + passingDowns?: number; + standardDowns?: number; + thirdDown?: number; + secondDown?: number; + firstDown?: number; + rush?: number; + pass?: number; + all: number; + }; + totalPPA: { + passingDowns?: number; + standardDowns?: number; + thirdDown?: number; + secondDown?: number; + firstDown?: number; + rush?: number; + pass?: number; + all: number; + }; }; -export type GameLine = { - provider: string; - spread: (number) | null; - formattedSpread: string; - spreadOpen: (number) | null; - overUnder: (number) | null; - overUnderOpen: (number) | null; - homeMoneyline: (number) | null; - awayMoneyline: (number) | null; +export type PlayerStat = { + season: number; + playerId: string; + player: string; + team: string; + conference: string; + category: string; + statType: string; + stat: number; }; -export type BettingGame = { - id: number; +export type PlayerStatsByQuarter = { + total: number; + quarter1: number; + quarter2: number; + quarter3: number; + quarter4: number; + rushing: number; + passing: number; +}; + +export type PlayerTransfer = { season: number; - seasonType: SeasonType; - week: number; - startDate: string; - homeTeam: string; - homeConference: (string) | null; - homeClassification: ((DivisionClassification) | null); - homeScore: (number) | null; - awayTeam: string; - awayConference: (string) | null; - awayClassification: ((DivisionClassification) | null); - awayScore: (number) | null; - lines: Array; + firstName: string; + lastName: string; + position: string; + origin: string; + destination: (string) | null; + transferDate: (string) | null; + rating: (number) | null; + stars: (number) | null; + eligibility: ((TransferEligibility) | null); }; -export type Game = { - id: number; +export type PlayerUsage = { season: number; - week: number; - seasonType: SeasonType; - startDate: string; - startTimeTBD: boolean; - completed: boolean; - neutralSite: boolean; - conferenceGame: boolean; - attendance: (number) | null; - venueId: (number) | null; - venue: (string) | null; - homeId: number; - homeTeam: string; - homeConference: (string) | null; - homeClassification: ((DivisionClassification) | null); - homePoints: (number) | null; - homeLineScores: Array<(number)> | null; - homePostgameWinProbability: (number) | null; - homePregameElo: (number) | null; - homePostgameElo: (number) | null; - awayId: number; - awayTeam: string; - awayConference: (string) | null; - awayClassification: ((DivisionClassification) | null); - awayPoints: (number) | null; - awayLineScores: Array<(number)> | null; - awayPostgameWinProbability: (number) | null; - awayPregameElo: (number) | null; - awayPostgameElo: (number) | null; - excitementIndex: (number) | null; - highlights: (string) | null; - notes: (string) | null; + id: string; + name: string; + position: string; + team: string; + conference: string; + usage: { + passingDowns: number; + standardDowns: number; + thirdDown: number; + secondDown: number; + firstDown: number; + rush: number; + pass: number; + overall: number; + }; }; -export type GameTeamStatsTeamStat = { - category: string; - stat: string; +export type PlayerWeightedEPA = { + year: number; + athleteId: string; + athleteName: string; + position: string; + team: string; + conference: string; + wepa: number; + plays: number; }; -export type GameTeamStatsTeam = { - teamId: number; +export type PlayStat = { + gameId: number; + season: number; + week: number; team: string; - conference: (string) | null; - homeAway: 'home' | 'away'; - points: (number) | null; - stats: Array; + conference: string; + opponent: string; + teamScore: number; + opponentScore: number; + driveId: string; + playId: string; + period: number; + clock: { + seconds: (number) | null; + minutes: (number) | null; + }; + yardsToGoal: number; + down: number; + distance: number; + athleteId: string; + athleteName: string; + statType: string; + stat: number; }; -export type GameTeamStats = { +export type PlayStatType = { id: number; - teams: Array; + name: string; }; -export type GamePlayerStatPlayer = { - id: string; - name: string; - stat: string; +export type PlayType = { + id: number; + text: string; + abbreviation: (string) | null; }; -export type GamePlayerStatTypes = { - name: string; - athletes: Array; +export type PlayWinProbability = { + gameId: number; + playId: string; + playText: string; + homeId: number; + home: string; + awayId: number; + away: string; + spread: number; + homeBall: boolean; + homeScore: number; + awayScore: number; + yardLine: number; + down: number; + distance: number; + homeWinProbability: number; + playNumber: number; }; -export type GamePlayerStatCategories = { - name: string; - types: Array; +export type Poll = { + poll: string; + ranks: Array; }; -export type GamePlayerStatsTeam = { - team: string; +export type PollRank = { + rank: (number) | null; + school: string; conference: (string) | null; - homeAway: 'home' | 'away'; + firstPlaceVotes: (number) | null; points: (number) | null; - categories: Array; }; -export type GamePlayerStats = { - id: number; - teams: Array; -}; - -export type MediaType = 'tv' | 'radio' | 'web' | 'ppv' | 'mobile'; - -export type GameMedia = { - id: number; +export type PollWeek = { season: number; - week: number; seasonType: SeasonType; - startTime: string; - isStartTimeTBD: boolean; - homeTeam: string; - homeConference: (string) | null; - awayTeam: string; - awayConference: (string) | null; - mediaType: MediaType; - outlet: string; + week: number; + polls: Array; }; -export type GameWeather = { - id: number; +export type PredictedPointsValue = { + yardLine: number; + predictedPoints: number; +}; + +export type PregameWinProbability = { season: number; - week: number; seasonType: SeasonType; - startTime: string; - gameIndoors: boolean; + week: number; + gameId: number; homeTeam: string; - homeConference: (string) | null; awayTeam: string; - awayConference: (string) | null; - venueId: number; - venue: string; - temperature: (number) | null; - dewPoint: (number) | null; - humidity: (number) | null; - precipitation: (number) | null; - snowfall: (number) | null; - windDirection: (number) | null; - windSpeed: (number) | null; - pressure: (number) | null; - weatherConditionCode: (number) | null; - weatherCondition: (string) | null; + spread: number; + homeWinProbability: number; }; -export type TeamRecord = { - games: number; - wins: number; - losses: number; - ties: number; +export type Recruit = { + id: string; + athleteId: (string) | null; + recruitType: RecruitClassification; + year: number; + ranking: (number) | null; + name: string; + school: (string) | null; + committedTo: (string) | null; + position: (string) | null; + height: (number) | null; + weight: (number) | null; + stars: number; + rating: number; + city: (string) | null; + stateProvince: (string) | null; + country: (string) | null; + hometownInfo: { + fipsCode: (string) | null; + longitude: (number) | null; + latitude: (number) | null; + }; }; -export type TeamRecords = { - year: number; - teamId: number; +export type RecruitClassification = 'JUCO' | 'PrepSchool' | 'HighSchool'; + +export type ReturningProduction = { + season: number; team: string; - classification: ((DivisionClassification) | null); conference: string; - division: string; - expectedWins: (number) | null; - total: TeamRecord; - conferenceGames: TeamRecord; - homeGames: TeamRecord; - awayGames: TeamRecord; - neutralSiteGames: TeamRecord; + totalPPA: number; + totalPassingPPA: number; + totalReceivingPPA: number; + totalRushingPPA: number; + percentPPA: number; + percentPassingPPA: number; + percentReceivingPPA: number; + percentRushingPPA: number; + usage: number; + passingUsage: number; + receivingUsage: number; + rushingUsage: number; }; -export type CalendarWeek = { - season: number; - week: number; - seasonType: SeasonType; - startDate: string; - endDate: string; - /** - * @deprecated - */ - firstGameStart: string; - /** - * @deprecated - */ - lastGameStart: string; +export type RosterPlayer = { + id: string; + firstName: string; + lastName: string; + team: string; + height: (number) | null; + weight: (number) | null; + jersey: (number) | null; + year: number; + position: (string) | null; + homeCity: (string) | null; + homeState: (string) | null; + homeCountry: (string) | null; + homeLatitude: (number) | null; + homeLongitude: (number) | null; + homeCountyFIPS: (string) | null; + recruitIds: Array<(string)> | null; }; -export type GameStatus = 'scheduled' | 'in_progress' | 'completed'; - export type ScoreboardGame = { id: number; startDate: string; @@ -1167,108 +1106,102 @@ export type ScoreboardGame = { }; }; -export type Drive = { - offense: string; - offenseConference: (string) | null; - defense: string; - defenseConference: (string) | null; - gameId: number; - id: string; - driveNumber: (number) | null; - scoring: boolean; - startPeriod: number; - startYardline: number; - startYardsToGoal: number; - startTime: { - seconds: (number) | null; - minutes: (number) | null; - }; - endPeriod: number; - endYardline: number; - endYardsToGoal: number; - endTime: { - seconds: (number) | null; - minutes: (number) | null; - }; - plays: number; - yards: number; - driveResult: string; - isHomeOffense: boolean; - startOffenseScore: number; - startDefenseScore: number; - endOffenseScore: number; - endDefenseScore: number; +export type SeasonType = 'regular' | 'postseason' | 'both' | 'allstar' | 'spring_regular' | 'spring_postseason'; + +export type StatsByQuarter = { + total: number; + quarter1: number; + quarter2: number; + quarter3: number; + quarter4: number; }; -export type DraftTeam = { - location: string; - nickname: (string) | null; - displayName: (string) | null; - logo: (string) | null; +export type Team = { + id: number; + school: string; + mascot: (string) | null; + abbreviation: (string) | null; + alternateNames: Array<(string)> | null; + conference: (string) | null; + division: (string) | null; + classification: (string) | null; + color: (string) | null; + alternateColor: (string) | null; + logos: Array<(string)> | null; + twitter: (string) | null; + location: ((Venue) | null); }; -export type DraftPosition = { - name: string; - abbreviation: string; +export type TeamElo = { + year: number; + team: string; + conference: string; + elo: (number) | null; }; -export type DraftPick = { - collegeAthleteId: (number) | null; - nflAthleteId: number; - collegeId: number; - collegeTeam: string; - collegeConference: (string) | null; - nflTeamId: number; - nflTeam: string; +export type TeamExplosiveness = { + team: string; + overall: StatsByQuarter; +}; + +export type TeamFieldPosition = { + team: string; + averageStart: number; + averageStartingPredictedPoints: number; +}; + +export type TeamFPI = { year: number; - overall: number; - round: number; - pick: number; - name: string; - position: string; - height: (number) | null; - weight: (number) | null; - preDraftRanking: (number) | null; - preDraftPositionRanking: (number) | null; - preDraftGrade: (number) | null; - hometownInfo: { - countyFips: (string) | null; - longitude: (string) | null; - latitude: (string) | null; - country: (string) | null; - state: (string) | null; - city: (string) | null; + team: string; + conference: (string) | null; + fpi: (number) | null; + resumeRanks: { + gameControl: (number) | null; + remainingStrengthOfSchedule: (number) | null; + strengthOfSchedule: (number) | null; + averageWinProbability: (number) | null; + fpi: (number) | null; + strengthOfRecord: (number) | null; + }; + efficiencies: { + specialTeams: (number) | null; + defense: (number) | null; + offense: (number) | null; + overall: (number) | null; }; }; -export type CoachSeason = { - school: string; - year: number; - games: number; - wins: number; - losses: number; - ties: number; - preseasonRank: (number) | null; - postseasonRank: (number) | null; - srs: (number) | null; - spOverall: (number) | null; - spOffense: (number) | null; - spDefense: (number) | null; -}; - -export type Coach = { - firstName: string; - lastName: string; - hireDate: (string) | null; - seasons: Array; +export type TeamGamePredictedPointsAdded = { + gameId: number; + season: number; + week: number; + seasonType: SeasonType; + team: string; + conference: string; + opponent: string; + offense: { + thirdDown: number; + secondDown: number; + firstDown: number; + rushing: number; + passing: number; + overall: number; + }; + defense: { + thirdDown: number; + secondDown: number; + firstDown: number; + rushing: number; + passing: number; + overall: number; + }; }; -export type StatsByQuarter = { +export type TeamHavoc = { + team: string; total: number; - quarter1: number; - quarter2: number; - quarter3: number; - quarter4: number; + frontSeven: number; + db: number; }; export type TeamPPA = { @@ -1279,16 +1212,35 @@ export type TeamPPA = { rushing: StatsByQuarter; }; -export type TeamSuccessRates = { +export type TeamRecord = { + games: number; + wins: number; + losses: number; + ties: number; +}; + +export type TeamRecords = { + year: number; + teamId: number; team: string; - overall: StatsByQuarter; - standardDowns: StatsByQuarter; - passingDowns: StatsByQuarter; + classification: ((DivisionClassification) | null); + conference: string; + division: string; + expectedWins: (number) | null; + total: TeamRecord; + conferenceGames: TeamRecord; + homeGames: TeamRecord; + awayGames: TeamRecord; + neutralSiteGames: TeamRecord; + regularSeason: TeamRecord; + postseason: TeamRecord; }; -export type TeamExplosiveness = { +export type TeamRecruitingRanking = { + year: number; + rank: number; team: string; - overall: StatsByQuarter; + points: number; }; export type TeamRushingStats = { @@ -1303,13 +1255,6 @@ export type TeamRushingStats = { openFieldYardsAverage: number; }; -export type TeamHavoc = { - team: string; - total: number; - frontSeven: number; - db: number; -}; - export type TeamScoringOpportunities = { team: string; opportunities: number; @@ -1317,68 +1262,125 @@ export type TeamScoringOpportunities = { pointsPerOpportunity: number; }; -export type TeamFieldPosition = { +export type TeamSeasonPredictedPointsAdded = { + season: number; + conference: string; team: string; - averageStart: number; - averageStartingPredictedPoints: number; + offense: { + cumulative: { + rushing: number; + passing: number; + total: number; + }; + thirdDown: number; + secondDown: number; + firstDown: number; + rushing: number; + passing: number; + overall: number; + }; + defense: { + cumulative: { + rushing: number; + passing: number; + total: number; + }; + thirdDown: number; + secondDown: number; + firstDown: number; + rushing: number; + passing: number; + overall: number; + }; }; -export type PlayerGameUsage = { - total: number; - quarter1: number; - quarter2: number; - quarter3: number; - quarter4: number; - rushing: number; - passing: number; - player: string; +export type TeamSP = { + year: number; team: string; - position: string; + conference: string; + rating: number; + ranking: number; + secondOrderWins: (number) | null; + sos: (number) | null; + offense: { + pace: (number) | null; + runRate: (number) | null; + passingDowns: (number) | null; + standardDowns: (number) | null; + passing: (number) | null; + rushing: (number) | null; + explosiveness: (number) | null; + success: (number) | null; + rating: number; + ranking: number; + }; + defense: { + havoc: { + db: (number) | null; + frontSeven: (number) | null; + total: (number) | null; + }; + passingDowns: (number) | null; + standardDowns: (number) | null; + passing: (number) | null; + rushing: (number) | null; + explosiveness: (number) | null; + success: (number) | null; + rating: number; + ranking: number; + }; + specialTeams: { + rating: (number) | null; + }; }; -export type PlayerStatsByQuarter = { - total: number; - quarter1: number; - quarter2: number; - quarter3: number; - quarter4: number; - rushing: number; - passing: number; +export type TeamSRS = { + year: number; + team: string; + conference: (string) | null; + division: (string) | null; + rating: number; + ranking: number; }; -export type PlayerPPA = { - player: string; +export type TeamStat = { + season: number; team: string; - position: string; - average: PlayerStatsByQuarter; - cumulative: PlayerStatsByQuarter; + conference: string; + statName: string; + statValue: (string | number); }; -export type AdvancedBoxScore = { - gameInfo: { - excitement: number; - homeWinner: boolean; - awayWinProb: number; - awayPoints: number; - awayTeam: string; - homeWinProb: number; - homePoints: number; - homeTeam: string; - }; - teams: { - fieldPosition: Array; - scoringOpportunities: Array; - havoc: Array; - rushing: Array; - explosiveness: Array; - successRates: Array; - cumulativePpa: Array; - ppa: Array; - }; - players: { - ppa: Array; - usage: Array; - }; +export type TeamSuccessRates = { + team: string; + overall: StatsByQuarter; + standardDowns: StatsByQuarter; + passingDowns: StatsByQuarter; +}; + +export type TeamTalent = { + year: number; + team: string; + talent: number; +}; + +export type TransferEligibility = 'Withdrawn' | 'TBD' | 'PendingAppeal' | 'SittingOne' | 'Immediate'; + +export type Venue = { + id: (number) | null; + name: (string) | null; + city: (string) | null; + state: (string) | null; + zip: (string) | null; + countryCode: (string) | null; + timezone: (string) | null; + latitude: (number) | null; + longitude: (number) | null; + elevation: (string) | null; + capacity: (number) | null; + constructionYear: (number) | null; + grass?: (boolean) | null; + dome?: (boolean) | null; }; export type GetAdjustedTeamSeasonStatsData = {