UNPKG

poker-server-api

Version:
346 lines (298 loc) 6.6 kB
// Interface interface GameHubServer { join(tableId: number); leave(tableId: number); subscribeLobby(); unsubscribeLobby(); subscribeTournamentLobby(); unsubscribeTournamentLobby(); subscribeTournament(tournamentId: number); unsubscribeTournament(tournamentId: number); } interface StatusResponse { Status: string; } interface ApiResult<T> { Status: string; Data: T; } /** * Response for the RegisterGuest API call. */ interface AuthenticateResponse extends StatusResponse { /** * Id of the authorized user, or 0 otherwise. */ Id: number; /** * A value indicating whether this user is guest or not. */ IsGuest: boolean; /** * First name of the user. */ FirstName: string; /** * Last name of the user. */ LastName: string; /** * Patronymic name of the user. */ PatronymicName: string; /** * Login of the user. */ Login: string; /** * Money which player has in different currencies. */ Money: number[]; /** * Email of the user. */ Email: string; /** * Country of the user. */ Country: string; /** * City of the user */ City: string; /** * Url of the image to display in the UI */ ImageUrl: string; /** * Gets or sets additional properties for the player. */ Properties: any; } /** * Response for the RegisterGuest API call. */ interface RegisterGuestResponse extends StatusResponse { UserId: number; Login: string; Password: string; } /** * Response for the VersionCheck API call */ interface VersionCheckResponse { /** * Current version of server API. */ ServerApiVersion: number; /** * Minimum compatible version of client API. */ MinimumClientApiVersion: number; } interface PlayerStatusInfo { PlayerId: number; PlayerName: string; PlayerUrl: string; Money: number; Seat: number; Cards: string; Bet: number; Status: number; Points: number; Stars: number; } interface UserRating { Id: number; Login: string; Points: number; Stars: number; } interface GameWinnerModel { PlayerId: number; Pot: number; CardsDescription: string; Amount: number; } interface PlayerDefinitionProperties { Language: string; Points: string; Stars: string; } interface PlayerDefinition { Email: string; FirstName: string; LastName: string; RealMoney: number; GameMoney: number; Points: number; Properties: PlayerDefinitionProperties; } interface PersonalAccountData { RealMoney: number; RealMoneyReserve: number; GameMoney: number; GameMoneyReserve: number; /** * Amount of points */ Points: number; LastIncomeDate: string; LastIncomeAmount: number; LastRequestNumber: number; } interface GameTableModel { TableId: number; TableName: string; SmallBlind: number; BigBlind: number; AveragePotSize: number; CurrencyId: number; HandsPerHour: number; IsAuthorized: boolean; JoinedPlayers: number; MaxPlayers: number; PotLimitType: number; TournamentId?: number; } interface BannerData { /** * Id of the banner */ Id: number; /** * Text representation of the banner */ Title: string; /** * URL which could be used to retrieve banner. */ Url: string; /** * URL which could be used to navigate when click on the banner. */ Link: string; } interface GamePlayerStartInformation { /** * Id of the player which participate in the game. */ PlayerId: number; /** * Money which player has on hand. */ Money: number; } interface GameActionStartInformation { /** * Id of the player which executed action in the game. */ PlayerId: number; /** * Type of executed action */ Type: number; /** * Amount of money which put in the pot */ Amount: number; } interface ChatHubServer { join(tableId: number); leave(tableId: number); } interface ChatHubClient { ChatConnected: (tableId: number, lastMessageId: number) => void; Message: (messageId: number, tableId: number, type: string, sender: string, message: string) => void; MessageChanged: (messageId: number, tableId: number, type: string, sender: string, message: string) => void; } interface TournamentPrizeStructure { MaxPlayer: number; PrizeLevel: number[]; } interface TournamentBetStructure { Level: number; SmallBlind: number; BigBlind: number; Ante: number; } /** * Table information in the lobby. */ interface LobbyTableItem { /** * Unique id of the table. */ TableId: number; /** * Name of the table */ TableName: string; /** * A value indicating whether player is authorized play games on this table. */ IsAuthorized: boolean; SmallBlind: number; BigBlind: number; JoinedPlayers: number; MaxPlayers: number; PotLimitType: number; AveragePotSize: number; HandsPerHour: number; CurrencyId: number; SeatMask: number; } /** * DTO for the tournament player information. */ interface TournamentTablePlayerDefinition { /** * Gets or sets Id of the player */ PlayerId: number; /** * Gets or sets name of the player. */ PlayerName: string; /** * Gets or sets amount of money which player currently has. */ PlayerMoney: number; } /** * DTO for the tournament table information. */ interface TournamentTableDefinition { /** * Gets or sets unique id of the table. */ TableId: number; /** * Gets or sets name of the table. */ TableName: string; /** * Gets or sets number of players which joins the game. */ JoinedPlayers: number; /** * Gets or sets a value indicating whether table is closed. */ IsClosed: boolean; /** * Gets or sets list of the players which is sitting on the table now. */ Players: TournamentTablePlayerDefinition[]; } interface BaseRequest<T> { Status: string; Data: T; } interface OperationData { Amount: number; OperationDate: string; Operation: number; Comments: number; BookingOffice: string; Status: string; }