import { ENV } from '../../types'; import { Request } from '@interfaces/request'; export interface FindCompetitionsArguments { limit: number; page: number; env?: ENV; } export interface ScoreInput { pointsFirstPlayer: number; pointsSecondPlayer: number; } export interface ResultInput { winnerId: string; score: ScoreInput; } export interface CompetitionUpdateModelInput { type?: string; requirements?: any; startDate?: number; endDate?: number; prizeInM2?: string; prizeInOs?: string; firstPlayerState?: any; secondPlayerState?: any; result?: ResultInput; } export interface CompetitionUpdateInput extends Request { id: string; competitionModel: CompetitionUpdateModelInput; token: string; env?: ENV; } export interface CompetitionPlayerInput { accountId: string; teamId: string; joined: boolean; joinedDate: number; } export interface CompetitionModelInput extends Request { appId: string; type: string; requirements: any; startDate: number; endDate: number; firstPlayer: CompetitionPlayerInput; secondPlayer: CompetitionPlayerInput; prizeInM2: string; prizeInOs: string; token: string; env?: ENV; } export interface Competition { id: string; appId: string; type: string; requirements: any; result: any; currentTurn: string; status: string; startDate: number; endDate: number; firstPlayerState: any; secondPlayerState: any; firstPlayer: any; secondPlayer: any; moves: any; prizeInM2: string; prizeInOs: string; } export interface ReadCompetitionArguments extends Request { competitionId: string; token: string; env?: ENV; } export interface JoinCompetitionArguments extends Request { competitionId: string; player: Player; token: string; env?: ENV; } export interface Player { accountId: string; teamId: string; joined: boolean; joinedDate: number; } export interface MakeMoveCompetitionArguments extends Request { competitionId: string; move: Move; token: string; } export interface Move { playerId: string; details: any; } export interface EndTurnArguments { competitionId: string; env?: ENV; token: string; } export interface GetPlayersRankingArguments { appId: string; env?: ENV; } export interface SurrenderArguments { competitionId: string; token: string; env?: ENV; }