import { BaseApiClient } from '../base/BaseApiClient'; import type { LeagueAdminProtestsDTO, ApplyPenaltyCommandDTO, RequestProtestDefenseCommandDTO, } from '../../types'; /** * Protests API Client * * Handles all protest-related API operations. */ export class ProtestsApiClient extends BaseApiClient { /** Get protests for a league */ getLeagueProtests(leagueId: string): Promise { return this.get(`/leagues/${leagueId}/protests`); } /** Get a specific protest for a league */ getLeagueProtest(leagueId: string, protestId: string): Promise { return this.get(`/leagues/${leagueId}/protests/${protestId}`); } /** Apply a penalty */ applyPenalty(input: ApplyPenaltyCommandDTO): Promise { return this.post('/races/penalties/apply', input); } /** Request protest defense */ requestDefense(input: RequestProtestDefenseCommandDTO): Promise { return this.post('/races/protests/defense/request', input); } }