import uuid

from pydantic import BaseModel

from app.models import Mode


class QueueJoinRequest(BaseModel):
    callsign: str
    mode: Mode


class QueueJoinResponse(BaseModel):
    ticket_id: uuid.UUID
    status: str


class QueueStatusResponse(BaseModel):
    ticket_id: uuid.UUID
    status: str
    server_ip: str | None = None
    server_port: int | None = None
    team: int | None = None


class ServerRegisterRequest(BaseModel):
    ip: str
    port: int
    mode: Mode
    player_count: int = 0
    max_players: int = 50


class PlayerStatsResponse(BaseModel):
    callsign: str
    mmr: int
    wins: int
    losses: int
