From fbaeebc7c7f9273590fb72a1608de3ab66ec8118 Mon Sep 17 00:00:00 2001 From: Peter Date: Wed, 16 Aug 2023 09:03:05 -0400 Subject: [PATCH] Add last 2 appearances for pitchers --- components.d.ts | 5 ----- src/services/apiResponseTypes.ts | 22 ++++++++++++++++---- src/services/decisionsService.ts | 35 ++++++++++++++++++++++++++++++++ src/views/PlayerView.vue | 23 ++++++++++++++++++++- 4 files changed, 75 insertions(+), 10 deletions(-) create mode 100644 src/services/decisionsService.ts diff --git a/components.d.ts b/components.d.ts index eff2d2e..860bd45 100644 --- a/components.d.ts +++ b/components.d.ts @@ -9,19 +9,14 @@ export {} declare module '@vue/runtime-core' { export interface GlobalComponents { - FrontPage: typeof import('./src/components/FrontPage.vue')['default'] IconCommunity: typeof import('./src/components/icons/IconCommunity.vue')['default'] IconDocumentation: typeof import('./src/components/icons/IconDocumentation.vue')['default'] IconEcosystem: typeof import('./src/components/icons/IconEcosystem.vue')['default'] IconSupport: typeof import('./src/components/icons/IconSupport.vue')['default'] IconTooling: typeof import('./src/components/icons/IconTooling.vue')['default'] NavBar: typeof import('./src/components/NavBar.vue')['default'] - NButton: typeof import('naive-ui')['NButton'] - NMenu: typeof import('naive-ui')['NMenu'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] StandingsTable: typeof import('./src/components/StandingsTable.vue')['default'] - TheWelcome: typeof import('./src/components/TheWelcome.vue')['default'] - WelcomeItem: typeof import('./src/components/WelcomeItem.vue')['default'] } } diff --git a/src/services/apiResponseTypes.ts b/src/services/apiResponseTypes.ts index fbf8dec..5bae5bb 100644 --- a/src/services/apiResponseTypes.ts +++ b/src/services/apiResponseTypes.ts @@ -29,10 +29,24 @@ export interface Manager { } export interface Division { - division_abbrev: 'W' | 'E' - division_name: 'West' | 'East' + division_abbrev: string + division_name: string id: number - league_abbrev: 'NL' | 'AL' - league_name: 'National League' | 'American League' + league_abbrev: string + league_name: string season: number +} + +export interface Game { + id: number, + season: number, + week: number, + game_num: number, + season_type: string, + away_team: Team + home_team: Team + away_score: number, + home_score: number, + away_manager: Manager + home_manager: Manager } \ No newline at end of file diff --git a/src/services/decisionsService.ts b/src/services/decisionsService.ts new file mode 100644 index 0000000..4f6ae09 --- /dev/null +++ b/src/services/decisionsService.ts @@ -0,0 +1,35 @@ +import type { Game } from './apiResponseTypes' +import type { Player } from './playersService' +import { SITE_URL } from './utilities' + +export interface Decision { + id: number, + game: Game, + season: number, + week: number, + game_num: number, + pitcher: Player, + win: number, + loss: number, + hold: number, + is_save: number, + b_save: number, + irunners: number, + irunners_scored: number, + rest_ip: number, + rest_required: number, + is_start: false +} + +export async function fetchLast2DecisionsByPlayerId(seasonNumber: number, playerId: number): Promise { + const response = await fetch(`${SITE_URL}/api/v3/decisions?season=${seasonNumber}&player_id=${playerId}&limit=2`) + + const decisionsResponse: { + count: number + decisions: Decision[] + } = await response.json() + + return decisionsResponse.decisions +} + + diff --git a/src/views/PlayerView.vue b/src/views/PlayerView.vue index 0b3ab32..ef01dbd 100644 --- a/src/views/PlayerView.vue +++ b/src/views/PlayerView.vue @@ -39,11 +39,15 @@ Inj + Last App + 2nd Last App {{ injuryRating }} + {{ lastAppearance }} + {{ secondLastAppearance }} @@ -55,13 +59,15 @@