/** * Player Types * * Types related to players and player management */ /** * Public player profile * * Player information that can be publicly viewed by other users */ export interface PublicPlayerProps { /** Unique player identifier */ player_id: string; /** Player's unique username */ username: string; /** Player's email address */ email: string; /** Optional date of birth (YYYY-MM-DD format) */ dob?: string; /** Player's first name */ first_name: string; /** Player's phone number */ phone: number; /** Optional premium subscription tier ID */ premium_tier_id?: string; /** Optional ZIP/postal code */ zip?: string; /** Player's last name */ last_name: string; /** Account type (premium/freemium) */ type: string; /** User role in the system */ role: 'admin' | 'player' | 'company' | 'support' | 'guest'; /** Timestamp when account was created */ create_datetime: any; /** Whether email is verified */ verified: boolean; /** Player's home location/region */ home_location: string; /** Whether this is an anonymous account */ anonymous?: boolean; /** Whether this account was auto-generated */ auto_generated?: boolean; /** Whether account has no password (OAuth only) */ no_password?: boolean; /** Display name shown to other users */ show_name: string; /** Optional URL to profile picture */ profile_pic?: string; /** Vouched identity verification ID */ vouched_id?: string; /** Whether phone number is verified */ phone_verified: boolean; /** Optional player bio/description */ bio?: string; /** Identity verification status */ vouched_status: 'unverified' | 'failed' | 'verified' | 'reverify'; } /** * Discord player statistics * * Aggregated statistics about Discord-connected players */ export interface DiscordPlayerStatsProps { /** Status filter for the statistics */ status: string; /** Array of player IDs matching the criteria */ player_ids: string[]; /** Total count of players */ count: number; } /** * Discord player connection * * Represents a player's Discord account connection and OAuth tokens */ export interface DiscordPlayerProps { /** Unique Discord player connection ID */ discord_player_id: string; /** Associated player ID */ player_id: string; /** Discord user ID */ discord_id?: string; /** Discord OAuth access token */ token?: string; /** Discord username */ username?: string; /** Discord avatar/profile image */ image?: { url: string; }; /** Discord OAuth refresh token */ refresh_token?: string; /** Connection status */ status: 'active' | 'inactive' | 'requested' | 'pending'; /** OAuth authorization code */ auth_code?: string; /** When the OAuth token expires */ expire_time?: any; /** Timestamp when connection was created */ create_datetime: any; /** Timestamp of last update */ last_update_datetime: any; } /** * Authenticated player profile * * Complete player profile data for the authenticated user */ export interface MyPlayerProps { /** Unique player identifier */ player_id: string; /** URL to profile picture */ profile_pic: string; /** Player's unique username */ username: string; /** Player's first name */ first_name: string; /** Player's last name */ last_name: string; /** Optional flag to guide new users through app features */ guide_me?: boolean; /** Player's email address */ email: string; /** Account subscription level */ type: 'premium' | 'freemium'; /** Whether this is an anonymous account */ anonymous: boolean; /** User role in the system */ role: 'player' | 'admin'; /** Optional date of birth (YYYY-MM-DD format) */ dob?: string; /** Whether account was auto-generated by the system */ auto_generated: boolean; /** Optional company ID for white-label users */ company_id?: string; /** Whether account has no password (OAuth only) */ no_password: boolean; /** Whether player accepts head-to-head challenges */ open_to_challenges: boolean; /** Whether email is verified */ verified: boolean; /** Player's phone number */ phone: string; /** Whether phone number is verified */ phone_verified: boolean; /** Identity verification status */ vouched_status: 'verified' | 'unverified' | 'failed' | 'reverify'; /** Optional player bio/description */ bio?: string; /** Timestamp when terms were agreed to */ terms_agreed_on?: any; /** Timestamp when account was created */ create_datetime: any; /** Timestamp of last profile update */ last_update_datetime: any; } /** * Player balance information * * Current balance details for a player across different balance types */ export interface PlayerBalanceProps { /** Unique player balance record ID */ player_balance_id: string; /** Associated player ID */ player_id: string; /** Real USD balance (withdrawable, for real money trading) */ balance: number; /** Promotional balance (not withdrawable, winnings convert to USD balance) */ promo_balance: number; /** Edge Coins balance (practice only, NOT real money, cannot withdraw or use for FOR_MONEY trading) */ free_market_balance: number; /** Timestamp when balance record was created */ create_datetime: any; /** Timestamp of last balance update */ last_udpate_datetime: any; } /** * Promotional balance request * * Request for promotional balance or bonus funds */ export interface PromoRequestProps { /** Unique promo request ID */ promo_request_id: string; /** ID of user who made the request (admin/support) */ requestor_id: string; /** ID of player receiving the promo */ player_id: string; /** Amount of promotional funds */ amount: number; /** Type of amount (FOR_MONEY, FREE, PROMO) */ amount_type: string; /** Current status of the request */ status: string; /** Reason for the promotional request */ reason: string; /** Timestamp when request was created */ create_datetime: any; /** Timestamp of last status update */ last_update_datetime: any; } /** * Player favorite * * Represents a player's favorited item (team, athlete, event, etc.) */ export interface PlayerFavoriteProps { /** Unique player favorite record ID */ player_favorite_id: string; /** Associated player ID */ player_id: string; /** ID of the favorited item */ favorite_id: string; /** Type of favorited item (team, athlete, tournament, etc.) */ favorite_type: string; /** Whether the favorite is active */ status: 'active' | 'inactive'; /** Timestamp when favorite was added */ create_datetime: any; /** Timestamp of last update */ last_update_datetime: any; } /** * Player authentication token * * Represents a JWT token or verification token for a player */ export interface PlayerTokenProps { /** Unique token record ID */ player_token_id: string; /** Associated player ID */ player_id: string | number; /** The actual token string (JWT or verification code) */ token: string; /** Type/purpose of the token */ token_type: 'refresh' | 'phone_verify' | 'email_verify' | 'username_verify' | 'password_verify' | 'short'; /** Device identifier this token is associated with */ device_id: string; /** Current token status - rotated means replaced by a new token */ status: 'active' | 'inactive' | 'rotated'; /** Timestamp when token was created */ create_datetime: any; /** Timestamp of last update */ last_update_datetime: any; /** When the token expires */ expire_datetime: any; } //# sourceMappingURL=player.types.d.ts.map