/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ export interface paths { "/api/auth/config": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Auth Config */ get: operations["auth_config_api_auth_config_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/telegram": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Telegram Login * @description Вход/регистрация через Telegram. * * Возвращающийся пользователь (личность уже есть) — просто входит. Первый вход — * регистрация под тегом Telegram; если тег занят/некорректен, отдаём 409 * TELEGRAM_NICKNAME_REQUIRED, и фронт повторяет регистрацию через /telegram/register * с выбранным ником. */ post: operations["telegram_login_api_auth_telegram_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/telegram/register": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Telegram Register * @description Завершение регистрации через Telegram с выбранным ником. * * Подпись виджета проверяется заново (поле nickname в HMAC не входит), поэтому личность * доверенная — подделать чужой telegram_id нельзя. Если пользователь уже успел * зарегистрироваться (гонка) — просто входим. */ post: operations["telegram_register_api_auth_telegram_register_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/logout": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Logout */ post: operations["logout_api_auth_logout_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/users/me": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Me */ get: operations["get_me_api_users_me_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; /** Update Me */ patch: operations["update_me_api_users_me_patch"]; trace?: never; }; "/api/users/me/profile": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete?: never; options?: never; head?: never; /** Update My Profile */ patch: operations["update_my_profile_api_users_me_profile_patch"]; trace?: never; }; "/api/users/me/avatar": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; /** Upload My Avatar */ put: operations["upload_my_avatar_api_users_me_avatar_put"]; post?: never; /** Delete My Avatar */ delete: operations["delete_my_avatar_api_users_me_avatar_delete"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/users/{user_id}/avatar": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get User Avatar */ get: operations["get_user_avatar_api_users__user_id__avatar_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/users/{user_id}/profile": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get User Profile */ get: operations["get_user_profile_api_users__user_id__profile_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/users/{user_id}/matches": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * User Matches * @description История партий игрока. Режим — витрина владельца профиля: её видят и гости. */ get: operations["user_matches_api_users__user_id__matches_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/users/me/stats": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** My Stats */ get: operations["my_stats_api_users_me_stats_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/users/me/active-group": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; /** Set Active Group */ put: operations["set_active_group_api_users_me_active_group_put"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/users/nickname-available": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Nickname Available */ get: operations["nickname_available_api_users_nickname_available_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/users/search": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Search Users * @description Автокомплит по нику. Пустой q — пустой список (не ошибка): удобнее при наборе. */ get: operations["search_users_api_users_search_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/groups": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** My Groups */ get: operations["my_groups_api_groups_get"]; put?: never; /** Create Group */ post: operations["create_group_api_groups_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/groups/{group_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Group */ get: operations["get_group_api_groups__group_id__get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; /** Rename Group */ patch: operations["rename_group_api_groups__group_id__patch"]; trace?: never; }; "/api/groups/{group_id}/expansions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; /** Set Expansions */ put: operations["set_expansions_api_groups__group_id__expansions_put"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/groups/{group_id}/factions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Group Factions */ get: operations["group_factions_api_groups__group_id__factions_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/groups/{group_id}/members": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List Members */ get: operations["list_members_api_groups__group_id__members_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/groups/{group_id}/invitations": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Invite Member */ post: operations["invite_member_api_groups__group_id__invitations_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/groups/{group_id}/members/{user_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** Remove Member */ delete: operations["remove_member_api_groups__group_id__members__user_id__delete"]; options?: never; head?: never; /** Change Member Role */ patch: operations["change_member_role_api_groups__group_id__members__user_id__patch"]; trace?: never; }; "/api/groups/{group_id}/matches": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Group Matches */ get: operations["group_matches_api_groups__group_id__matches_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/groups/{group_id}/stats": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Group Stats */ get: operations["group_stats_api_groups__group_id__stats_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/invitations": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** My Invitations */ get: operations["my_invitations_api_invitations_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/invitations/{invitation_id}/accept": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Accept Invitation */ post: operations["accept_invitation_api_invitations__invitation_id__accept_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/invitations/{invitation_id}/decline": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Decline Invitation */ post: operations["decline_invitation_api_invitations__invitation_id__decline_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/matches/randomize-faction": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Randomize Faction */ post: operations["randomize_faction_api_matches_randomize_faction_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/matches": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Start Match * @description Этап 1: старт партии (выбор игроков и фракций). */ post: operations["start_match_api_matches_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/matches/{match_id}/finish": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Finish Match * @description Этап 2: завершение партии (места, причина победы, длительность). */ post: operations["finish_match_api_matches__match_id__finish_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/matches/{match_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Match */ get: operations["get_match_api_matches__match_id__get"]; put?: never; post?: never; /** Delete Match */ delete: operations["delete_match_api_matches__match_id__delete"]; options?: never; head?: never; /** Update Match */ patch: operations["update_match_api_matches__match_id__patch"]; trace?: never; }; "/api/matches/{match_id}/attachments": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Add Attachment */ post: operations["add_attachment_api_matches__match_id__attachments_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/matches/{match_id}/attachments/{attachment_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Attachment */ get: operations["get_attachment_api_matches__match_id__attachments__attachment_id__get"]; put?: never; post?: never; /** Delete Attachment */ delete: operations["delete_attachment_api_matches__match_id__attachments__attachment_id__delete"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/expansions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List Expansions */ get: operations["list_expansions_api_expansions_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/factions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List Factions */ get: operations["list_factions_api_factions_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/stats/leaderboard": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Overall Leaderboard */ get: operations["overall_leaderboard_api_stats_leaderboard_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/home": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Home */ get: operations["home_api_home_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/achievements": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List Achievements */ get: operations["list_achievements_api_achievements_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/achievements/{slug}/icon": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Icon */ get: operations["get_icon_api_achievements__slug__icon_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/events": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Events */ get: operations["events_api_events_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/notifications": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** My Notifications */ get: operations["my_notifications_api_notifications_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/notifications/read": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Mark Read */ post: operations["mark_read_api_notifications_read_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/auth/login": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Admin Login */ post: operations["admin_login_api_admin_auth_login_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/auth/logout": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Admin Logout */ post: operations["admin_logout_api_admin_auth_logout_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/me": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Admin Me */ get: operations["admin_me_api_admin_me_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/users": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List Users */ get: operations["list_users_api_admin_users_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/users/{user_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete?: never; options?: never; head?: never; /** Update User */ patch: operations["update_user_api_admin_users__user_id__patch"]; trace?: never; }; "/api/admin/groups": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List Groups */ get: operations["list_groups_api_admin_groups_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/groups/{group_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** Delete Group */ delete: operations["delete_group_api_admin_groups__group_id__delete"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/matches": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List Matches */ get: operations["list_matches_api_admin_matches_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/matches/{match_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Match */ get: operations["get_match_api_admin_matches__match_id__get"]; put?: never; post?: never; /** Delete Match */ delete: operations["delete_match_api_admin_matches__match_id__delete"]; options?: never; head?: never; /** Update Match */ patch: operations["update_match_api_admin_matches__match_id__patch"]; trace?: never; }; "/api/admin/factions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List Factions */ get: operations["list_factions_api_admin_factions_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/factions/{faction_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete?: never; options?: never; head?: never; /** Rename Faction */ patch: operations["rename_faction_api_admin_factions__faction_id__patch"]; trace?: never; }; "/api/admin/matches/{match_id}/attachments": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Admin List Attachments */ get: operations["admin_list_attachments_api_admin_matches__match_id__attachments_get"]; put?: never; /** Admin Add Attachment */ post: operations["admin_add_attachment_api_admin_matches__match_id__attachments_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/matches/{match_id}/attachments/{attachment_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Admin Get Attachment */ get: operations["admin_get_attachment_api_admin_matches__match_id__attachments__attachment_id__get"]; put?: never; post?: never; /** Admin Delete Attachment */ delete: operations["admin_delete_attachment_api_admin_matches__match_id__attachments__attachment_id__delete"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/achievements": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** List Achievements */ get: operations["list_achievements_api_admin_achievements_get"]; put?: never; /** Create Achievement */ post: operations["create_achievement_api_admin_achievements_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/achievements/{slug}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** Delete Achievement */ delete: operations["delete_achievement_api_admin_achievements__slug__delete"]; options?: never; head?: never; /** Update Achievement */ patch: operations["update_achievement_api_admin_achievements__slug__patch"]; trace?: never; }; "/api/admin/achievements/{slug}/icon": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; /** Upload Achievement Icon */ put: operations["upload_achievement_icon_api_admin_achievements__slug__icon_put"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/audit-logs": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Audit Logs */ get: operations["audit_logs_api_admin_audit_logs_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/dev/login": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Dev Login */ post: operations["dev_login_api_auth_dev_login_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/dev/users": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Dev List Users */ get: operations["dev_list_users_api_auth_dev_users_get"]; put?: never; /** Dev Create User */ post: operations["dev_create_user_api_auth_dev_users_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/admin/dev/users/{user_id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** Delete User Hard */ delete: operations["delete_user_hard_api_admin_dev_users__user_id__delete"]; options?: never; head?: never; patch?: never; trace?: never; }; "/api/health": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Health */ get: operations["health_api_health_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; } export type webhooks = Record; export interface components { schemas: { /** AchievementCreate */ AchievementCreate: { /** Name */ name: string; /** Description */ description?: string | null; /** Condition */ condition?: string | null; }; /** AchievementRead */ AchievementRead: { /** Slug */ slug: string; /** Name */ name: string; /** * Description * @default */ description: string; /** * Condition * @default */ condition: string; /** * Has Condition * @default false */ has_condition: boolean; /** Icon Url */ icon_url?: string | null; }; /** AchievementUpdate */ AchievementUpdate: { /** Name */ name?: string | null; /** Description */ description?: string | null; /** Condition */ condition?: string | null; }; /** ActiveGroupUpdate */ ActiveGroupUpdate: { /** Group Id */ group_id?: number | null; }; /** AdminGroupRead */ AdminGroupRead: { /** Id */ id: number; /** Name */ name: string; /** Owner Id */ owner_id: number; /** Created At */ created_at: string; }; /** AdminLogin */ AdminLogin: { /** Username */ username: string; /** Password */ password: string; }; /** AdminMatchRead */ AdminMatchRead: { /** Id */ id: number; /** Group Id */ group_id: number; /** Group Name */ group_name?: string | null; /** Status */ status: string; /** Played At */ played_at: string; /** Duration Minutes */ duration_minutes?: number | null; /** Win Reason */ win_reason?: ("objectives" | "worlds" | "plastic" | "resources") | null; /** Player Count */ player_count: number; /** Created By */ created_by: number; /** Created At */ created_at: string; }; /** AdminMe */ AdminMe: { /** Id */ id: number; /** Nickname */ nickname: string; /** Role */ role: string; }; /** AdminUserRead */ AdminUserRead: { /** Id */ id: number; /** Nickname */ nickname: string; /** Role */ role: string; /** Is Active */ is_active: boolean; /** Auth Provider */ auth_provider: string; /** Telegram Id */ telegram_id?: number | null; /** Created At */ created_at: string; }; /** AdminUserUpdate */ AdminUserUpdate: { /** Nickname */ nickname?: string | null; /** Is Active */ is_active?: boolean | null; }; /** AttachmentRead */ AttachmentRead: { /** Id */ id: number; /** Kind */ kind: string; /** Url */ url: string; /** Mime Type */ mime_type: string; /** Size Bytes */ size_bytes: number; /** Created At */ created_at: string; }; /** AuditLogItem */ AuditLogItem: { /** Id */ id: number; /** Actor Id */ actor_id?: number | null; /** Action */ action: string; /** Entity Type */ entity_type: string; /** Entity Id */ entity_id?: number | null; /** Payload */ payload?: { [key: string]: unknown; } | null; /** Ip */ ip?: string | null; /** User Agent */ user_agent?: string | null; /** Created At */ created_at: string; }; /** AuditLogList */ AuditLogList: { /** * Items * @default [] */ items: components["schemas"]["AuditLogItem"][]; /** Limit */ limit: number; /** Offset */ offset: number; }; /** AuthConfig */ AuthConfig: { /** * Methods * @default [] */ methods: string[]; /** Telegram Bot Username */ telegram_bot_username?: string | null; }; /** Body_add_attachment_api_matches__match_id__attachments_post */ Body_add_attachment_api_matches__match_id__attachments_post: { /** File */ file: string; }; /** Body_admin_add_attachment_api_admin_matches__match_id__attachments_post */ Body_admin_add_attachment_api_admin_matches__match_id__attachments_post: { /** File */ file: string; }; /** Body_upload_achievement_icon_api_admin_achievements__slug__icon_put */ Body_upload_achievement_icon_api_admin_achievements__slug__icon_put: { /** File */ file: string; }; /** Body_upload_my_avatar_api_users_me_avatar_put */ Body_upload_my_avatar_api_users_me_avatar_put: { /** File */ file: string; }; /** DevLogin */ DevLogin: { /** Nickname */ nickname: string; }; /** DevUserCreate */ DevUserCreate: { /** Nickname */ nickname: string; }; /** DevUserRead */ DevUserRead: { /** Id */ id: number; /** Nickname */ nickname: string; /** * Is Active * @default true */ is_active: boolean; }; /** ExpansionRead */ ExpansionRead: { /** Id */ id: number; /** Code */ code: string; /** Name Ru */ name_ru: string; /** Is Base */ is_base: boolean; }; /** FactionMeta */ FactionMeta: { /** Faction Id */ faction_id: number; /** Code */ code: string; /** Name Ru */ name_ru: string; /** Games */ games: number; /** Wins */ wins: number; /** Available */ available: boolean; }; /** FactionRead */ FactionRead: { /** Id */ id: number; /** Code */ code: string; /** Name Ru */ name_ru: string; /** Expansion Id */ expansion_id: number; }; /** FactionRename */ FactionRename: { /** Name Ru */ name_ru: string; }; /** FactionStat */ FactionStat: { /** Faction Id */ faction_id: number; /** Code */ code: string; /** Name Ru */ name_ru: string; /** Name Ru Prepositional */ name_ru_prepositional: string; /** Expansion Code */ expansion_code: string; /** Games */ games: number; /** Wins */ wins: number; /** Win Rate */ win_rate: number; /** Avg Place */ avg_place?: number | null; /** Score */ score?: number | null; }; /** GroupBrief */ GroupBrief: { /** Id */ id: number; /** Name */ name: string; /** Role */ role: string; }; /** GroupBriefStats */ GroupBriefStats: { /** Games */ games: number; /** Wins */ wins: number; /** Win Rate */ win_rate: number; /** Avg Place */ avg_place?: number | null; /** Score */ score?: number | null; /** Id */ id: number; /** Name */ name: string; }; /** GroupCreate */ GroupCreate: { /** Name */ name: string; /** * Expansion Ids * @default [] */ expansion_ids: number[]; }; /** GroupDetail */ GroupDetail: { /** Id */ id: number; /** Name */ name: string; /** Owner Id */ owner_id: number; /** My Role */ my_role: string; /** * Expansion Ids * @default [] */ expansion_ids: number[]; }; /** GroupExpansionsUpdate */ GroupExpansionsUpdate: { /** * Expansion Ids * @default [] */ expansion_ids: number[]; }; /** GroupRename */ GroupRename: { /** Name */ name: string; }; /** GroupStats */ GroupStats: { /** Group Id */ group_id: number; /** Total Matches */ total_matches: number; /** Last Match At */ last_match_at?: string | null; /** * Leaderboard * @default [] */ leaderboard: components["schemas"]["LeaderboardEntry"][]; /** * Provisional * @default [] */ provisional: components["schemas"]["LeaderboardEntry"][]; /** * Inactive * @default [] */ inactive: components["schemas"]["LeaderboardEntry"][]; /** * Faction Meta * @default [] */ faction_meta: components["schemas"]["FactionMeta"][]; /** Min Games */ min_games: number; }; /** HTTPValidationError */ HTTPValidationError: { /** Detail */ detail?: components["schemas"]["ValidationError"][]; }; /** HomeInProgressMatch */ HomeInProgressMatch: { /** Id */ id: number; /** Group Id */ group_id: number; /** Group Name */ group_name: string; /** Started At */ started_at?: string | null; /** Player Count */ player_count: number; /** * Participants * @default [] */ participants: components["schemas"]["MatchListParticipant"][]; }; /** HomeResponse */ HomeResponse: { /** * Leaderboard * @default [] */ leaderboard: components["schemas"]["LeaderboardEntry"][]; /** * Provisional * @default [] */ provisional: components["schemas"]["LeaderboardEntry"][]; profile: components["schemas"]["ProfileStats"]; active_group?: components["schemas"]["GroupBriefStats"] | null; /** * In Progress * @default [] */ in_progress: components["schemas"]["HomeInProgressMatch"][]; /** Min Games */ min_games: number; }; /** InvitationRead */ InvitationRead: { /** Id */ id: number; /** Group Id */ group_id: number; /** Group Name */ group_name: string; /** Invited By Nickname */ invited_by_nickname?: string | null; /** Created At */ created_at: string; }; /** Leaderboard */ Leaderboard: { /** * Entries * @default [] */ entries: components["schemas"]["LeaderboardEntry"][]; /** * Provisional * @default [] */ provisional: components["schemas"]["LeaderboardEntry"][]; /** Min Games */ min_games: number; }; /** LeaderboardEntry */ LeaderboardEntry: { /** Games */ games: number; /** Wins */ wins: number; /** Win Rate */ win_rate: number; /** Avg Place */ avg_place?: number | null; /** Score */ score?: number | null; /** User Id */ user_id: number; /** Nickname */ nickname: string; /** Rank */ rank?: number | null; /** Avatar Url */ avatar_url?: string | null; }; /** MatchCreate */ MatchCreate: { /** Group Id */ group_id: number; /** Participants */ participants: components["schemas"]["RosterParticipant"][]; }; /** MatchFinish */ MatchFinish: { /** Participants */ participants: components["schemas"]["MatchFinishParticipant"][]; /** * Win Reason * @enum {string} */ win_reason: "objectives" | "worlds" | "plastic" | "resources"; /** Overall Comment */ overall_comment?: string | null; /** Expected Version */ expected_version?: string | null; }; /** MatchFinishParticipant */ MatchFinishParticipant: { /** User Id */ user_id: number; /** Place */ place?: number | null; /** * Eliminated * @default false */ eliminated: boolean; /** Comment */ comment?: string | null; /** Faction Id */ faction_id?: number | null; }; /** * MatchHistory * @description История партий игрока плюс настройки витрины его профиля. * * Настройки едут вместе со списком, чтобы гость отрисовал историю ровно так, * как выбрал её владелец, не делая второго запроса за профилем. */ MatchHistory: { /** * Items * @default [] */ items: components["schemas"]["MatchListItem"][]; /** Total */ total: number; /** Limit */ limit: number; /** Offset */ offset: number; /** Mode */ mode: string; /** Detail */ detail: string; }; /** MatchList */ MatchList: { /** * Items * @default [] */ items: components["schemas"]["MatchListItem"][]; /** Total */ total: number; /** Limit */ limit: number; /** Offset */ offset: number; }; /** MatchListItem */ MatchListItem: { /** Id */ id: number; /** Status */ status: string; /** Played At */ played_at: string; /** Started At */ started_at?: string | null; /** Finished At */ finished_at?: string | null; /** Duration Minutes */ duration_minutes?: number | null; /** Win Reason */ win_reason?: ("objectives" | "worlds" | "plastic" | "resources") | null; /** Player Count */ player_count: number; /** Overall Comment */ overall_comment?: string | null; /** Created By */ created_by: number; /** * Participants * @default [] */ participants: components["schemas"]["MatchListParticipant"][]; }; /** MatchListParticipant */ MatchListParticipant: { /** User Id */ user_id: number; /** Nickname */ nickname: string; /** Faction Id */ faction_id: number; /** Faction Name */ faction_name: string; /** Place */ place?: number | null; /** * Eliminated * @default false */ eliminated: boolean; /** Was Random */ was_random: boolean; /** Comment */ comment?: string | null; }; /** MatchParticipantRead */ MatchParticipantRead: { /** User Id */ user_id: number; /** Nickname */ nickname: string; /** Faction Id */ faction_id: number; /** Faction Name */ faction_name: string; /** Place */ place?: number | null; /** * Eliminated * @default false */ eliminated: boolean; /** Was Random */ was_random: boolean; /** Comment */ comment?: string | null; /** Avatar Url */ avatar_url?: string | null; }; /** MatchRead */ MatchRead: { /** Id */ id: number; /** Group Id */ group_id: number; /** Status */ status: string; /** * Played At * Format: date */ played_at: string; /** Started At */ started_at?: string | null; /** Finished At */ finished_at?: string | null; /** Duration Minutes */ duration_minutes?: number | null; /** Win Reason */ win_reason?: ("objectives" | "worlds" | "plastic" | "resources") | null; /** Player Count */ player_count: number; /** Overall Comment */ overall_comment?: string | null; /** Created By */ created_by: number; /** * Can Modify * @default false */ can_modify: boolean; /** Version */ version: string; /** * Participants * @default [] */ participants: components["schemas"]["MatchParticipantRead"][]; /** * Attachments * @default [] */ attachments: components["schemas"]["AttachmentRead"][]; }; /** MatchUpdate */ MatchUpdate: { /** Played At */ played_at?: string | null; /** Overall Comment */ overall_comment?: string | null; /** Win Reason */ win_reason?: ("objectives" | "worlds" | "plastic" | "resources") | null; /** Participants */ participants?: components["schemas"]["ParticipantInput"][] | null; /** Expected Version */ expected_version?: string | null; }; /** MeRead */ MeRead: { /** Id */ id: number; /** Nickname */ nickname: string; /** Role */ role: string; /** Auth Provider */ auth_provider: string; /** Telegram Id */ telegram_id?: number | null; /** Active Group Id */ active_group_id?: number | null; /** Bio */ bio?: string | null; /** Avatar Url */ avatar_url?: string | null; /** Favorite Faction Id */ favorite_faction_id?: number | null; /** * History Mode * @default all */ history_mode: string; /** * History Detail * @default compact */ history_detail: string; /** * Groups * @default [] */ groups: components["schemas"]["GroupBrief"][]; }; /** MemberAdd */ MemberAdd: { /** Nickname */ nickname: string; }; /** MemberRead */ MemberRead: { /** User Id */ user_id: number; /** Nickname */ nickname: string; /** Role */ role: string; /** Avatar Url */ avatar_url?: string | null; }; /** MemberRoleUpdate */ MemberRoleUpdate: { /** Role */ role: string; }; /** NicknameAvailable */ NicknameAvailable: { /** Available */ available: boolean; }; /** NicknameUpdate */ NicknameUpdate: { /** Nickname */ nickname: string; }; /** NotificationList */ NotificationList: { /** Items */ items: components["schemas"]["NotificationRead"][]; /** Unread Count */ unread_count: number; }; /** NotificationMarkRead */ NotificationMarkRead: { /** Ids */ ids?: number[] | null; }; /** NotificationRead */ NotificationRead: { /** Id */ id: number; /** Type */ type: string; /** Title */ title: string; /** Body */ body?: string | null; /** Link */ link?: string | null; /** Read At */ read_at?: string | null; /** Created At */ created_at: string; }; /** OkResponse */ OkResponse: { /** * Ok * @default true */ ok: boolean; }; /** OverallStats */ OverallStats: { /** Games */ games: number; /** Wins */ wins: number; /** Win Rate */ win_rate: number; /** Avg Place */ avg_place?: number | null; /** Score */ score?: number | null; }; /** ParticipantInput */ ParticipantInput: { /** User Id */ user_id: number; /** Faction Id */ faction_id: number; /** Place */ place?: number | null; /** * Eliminated * @default false */ eliminated: boolean; /** * Was Random * @default false */ was_random: boolean; /** Comment */ comment?: string | null; }; /** ProfileStats */ ProfileStats: { /** User Id */ user_id: number; overall: components["schemas"]["OverallStats"]; /** * Factions * @default [] */ factions: components["schemas"]["FactionStat"][]; best_faction?: components["schemas"]["FactionStat"] | null; worst_faction?: components["schemas"]["FactionStat"] | null; favorite_faction?: components["schemas"]["FactionRead"] | null; main_faction?: components["schemas"]["FactionStat"] | null; /** * Recent Form * @default [] */ recent_form: components["schemas"]["RecentFormItem"][]; /** * Min Games * @default 0 */ min_games: number; }; /** ProfileUpdate */ ProfileUpdate: { /** Bio */ bio?: string | null; /** Favorite Faction Id */ favorite_faction_id?: number | null; /** History Mode */ history_mode?: string | null; /** History Detail */ history_detail?: string | null; }; /** PublicProfile */ PublicProfile: { /** User Id */ user_id: number; /** Nickname */ nickname: string; /** Bio */ bio?: string | null; /** Avatar Url */ avatar_url?: string | null; stats: components["schemas"]["ProfileStats"]; }; /** RandomizeRequest */ RandomizeRequest: { /** Group Id */ group_id: number; /** * Exclude Faction Ids * @default [] */ exclude_faction_ids: number[]; }; /** RandomizeResponse */ RandomizeResponse: { faction: components["schemas"]["FactionRead"]; }; /** RecentFormItem */ RecentFormItem: { /** Place */ place: number; /** Player Count */ player_count: number; /** Played At */ played_at: string; }; /** RosterParticipant */ RosterParticipant: { /** User Id */ user_id: number; /** Faction Id */ faction_id: number; /** * Was Random * @default false */ was_random: boolean; }; /** TelegramAuthPayload */ TelegramAuthPayload: { /** Id */ id: number; /** Auth Date */ auth_date: number; /** Hash */ hash: string; /** First Name */ first_name?: string | null; /** Last Name */ last_name?: string | null; /** Username */ username?: string | null; /** Photo Url */ photo_url?: string | null; } & { [key: string]: unknown; }; /** TelegramRegister */ TelegramRegister: { /** Id */ id: number; /** Auth Date */ auth_date: number; /** Hash */ hash: string; /** First Name */ first_name?: string | null; /** Last Name */ last_name?: string | null; /** Username */ username?: string | null; /** Photo Url */ photo_url?: string | null; /** Nickname */ nickname: string; } & { [key: string]: unknown; }; /** UserRead */ UserRead: { /** Id */ id: number; /** Nickname */ nickname: string; /** Role */ role: string; /** Auth Provider */ auth_provider: string; /** Telegram Id */ telegram_id?: number | null; /** Active Group Id */ active_group_id?: number | null; /** Bio */ bio?: string | null; /** Avatar Url */ avatar_url?: string | null; /** Favorite Faction Id */ favorite_faction_id?: number | null; /** * History Mode * @default all */ history_mode: string; /** * History Detail * @default compact */ history_detail: string; }; /** * UserSuggestion * @description Подсказка автокомплита по нику (приглашение в группу и т.п.). */ UserSuggestion: { /** User Id */ user_id: number; /** Nickname */ nickname: string; /** Avatar Url */ avatar_url?: string | null; }; /** ValidationError */ ValidationError: { /** Location */ loc: (string | number)[]; /** Message */ msg: string; /** Error Type */ type: string; /** Input */ input?: unknown; /** Context */ ctx?: Record; }; }; responses: never; parameters: never; requestBodies: never; headers: never; pathItems: never; } export type $defs = Record; export interface operations { auth_config_api_auth_config_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AuthConfig"]; }; }; }; }; telegram_login_api_auth_telegram_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["TelegramAuthPayload"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MeRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; telegram_register_api_auth_telegram_register_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["TelegramRegister"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MeRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; logout_api_auth_logout_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; }; }; get_me_api_users_me_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MeRead"]; }; }; }; }; update_me_api_users_me_patch: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["NicknameUpdate"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; update_my_profile_api_users_me_profile_patch: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ProfileUpdate"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MeRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; upload_my_avatar_api_users_me_avatar_put: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "multipart/form-data": components["schemas"]["Body_upload_my_avatar_api_users_me_avatar_put"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MeRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; delete_my_avatar_api_users_me_avatar_delete: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MeRead"]; }; }; }; }; get_user_avatar_api_users__user_id__avatar_get: { parameters: { query?: never; header?: never; path: { user_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_user_profile_api_users__user_id__profile_get: { parameters: { query?: never; header?: never; path: { user_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PublicProfile"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; user_matches_api_users__user_id__matches_get: { parameters: { query?: { limit?: number; offset?: number; }; header?: never; path: { user_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MatchHistory"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; my_stats_api_users_me_stats_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProfileStats"]; }; }; }; }; set_active_group_api_users_me_active_group_put: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ActiveGroupUpdate"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MeRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; nickname_available_api_users_nickname_available_get: { parameters: { query: { value: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["NicknameAvailable"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; search_users_api_users_search_get: { parameters: { query?: { q?: string; limit?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserSuggestion"][]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; my_groups_api_groups_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["GroupBrief"][]; }; }; }; }; create_group_api_groups_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["GroupCreate"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["GroupDetail"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_group_api_groups__group_id__get: { parameters: { query?: never; header?: never; path: { group_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["GroupDetail"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; rename_group_api_groups__group_id__patch: { parameters: { query?: never; header?: never; path: { group_id: number; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["GroupRename"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["GroupDetail"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; set_expansions_api_groups__group_id__expansions_put: { parameters: { query?: never; header?: never; path: { group_id: number; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["GroupExpansionsUpdate"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["GroupDetail"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; group_factions_api_groups__group_id__factions_get: { parameters: { query?: never; header?: never; path: { group_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["FactionRead"][]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; list_members_api_groups__group_id__members_get: { parameters: { query?: never; header?: never; path: { group_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MemberRead"][]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; invite_member_api_groups__group_id__invitations_post: { parameters: { query?: never; header?: never; path: { group_id: number; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["MemberAdd"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["InvitationRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; remove_member_api_groups__group_id__members__user_id__delete: { parameters: { query?: never; header?: never; path: { group_id: number; user_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; change_member_role_api_groups__group_id__members__user_id__patch: { parameters: { query?: never; header?: never; path: { group_id: number; user_id: number; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["MemberRoleUpdate"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MemberRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; group_matches_api_groups__group_id__matches_get: { parameters: { query?: { limit?: number; offset?: number; }; header?: never; path: { group_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MatchList"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; group_stats_api_groups__group_id__stats_get: { parameters: { query?: never; header?: never; path: { group_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["GroupStats"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; my_invitations_api_invitations_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["InvitationRead"][]; }; }; }; }; accept_invitation_api_invitations__invitation_id__accept_post: { parameters: { query?: never; header?: never; path: { invitation_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; decline_invitation_api_invitations__invitation_id__decline_post: { parameters: { query?: never; header?: never; path: { invitation_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; randomize_faction_api_matches_randomize_faction_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["RandomizeRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["RandomizeResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; start_match_api_matches_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["MatchCreate"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MatchRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; finish_match_api_matches__match_id__finish_post: { parameters: { query?: never; header?: never; path: { match_id: number; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["MatchFinish"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MatchRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_match_api_matches__match_id__get: { parameters: { query?: never; header?: never; path: { match_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MatchRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; delete_match_api_matches__match_id__delete: { parameters: { query?: { expected_version?: string | null; }; header?: never; path: { match_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; update_match_api_matches__match_id__patch: { parameters: { query?: never; header?: never; path: { match_id: number; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["MatchUpdate"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MatchRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; add_attachment_api_matches__match_id__attachments_post: { parameters: { query?: never; header?: never; path: { match_id: number; }; cookie?: never; }; requestBody: { content: { "multipart/form-data": components["schemas"]["Body_add_attachment_api_matches__match_id__attachments_post"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AttachmentRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_attachment_api_matches__match_id__attachments__attachment_id__get: { parameters: { query?: never; header?: never; path: { match_id: number; attachment_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; delete_attachment_api_matches__match_id__attachments__attachment_id__delete: { parameters: { query?: never; header?: never; path: { match_id: number; attachment_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; list_expansions_api_expansions_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ExpansionRead"][]; }; }; }; }; list_factions_api_factions_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["FactionRead"][]; }; }; }; }; overall_leaderboard_api_stats_leaderboard_get: { parameters: { query?: { limit?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Leaderboard"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; home_api_home_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HomeResponse"]; }; }; }; }; list_achievements_api_achievements_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AchievementRead"][]; }; }; }; }; get_icon_api_achievements__slug__icon_get: { parameters: { query?: never; header?: never; path: { slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; events_api_events_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; }; }; my_notifications_api_notifications_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["NotificationList"]; }; }; }; }; mark_read_api_notifications_read_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["NotificationMarkRead"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; admin_login_api_admin_auth_login_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["AdminLogin"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AdminMe"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; admin_logout_api_admin_auth_logout_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; }; }; admin_me_api_admin_me_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AdminMe"]; }; }; }; }; list_users_api_admin_users_get: { parameters: { query?: { query?: string | null; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AdminUserRead"][]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; update_user_api_admin_users__user_id__patch: { parameters: { query?: never; header?: never; path: { user_id: number; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["AdminUserUpdate"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AdminUserRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; list_groups_api_admin_groups_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AdminGroupRead"][]; }; }; }; }; delete_group_api_admin_groups__group_id__delete: { parameters: { query?: never; header?: never; path: { group_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; list_matches_api_admin_matches_get: { parameters: { query?: { group_id?: number | null; user_id?: number | null; faction_id?: number | null; limit?: number; offset?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AdminMatchRead"][]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_match_api_admin_matches__match_id__get: { parameters: { query?: never; header?: never; path: { match_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MatchRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; delete_match_api_admin_matches__match_id__delete: { parameters: { query?: never; header?: never; path: { match_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; update_match_api_admin_matches__match_id__patch: { parameters: { query?: never; header?: never; path: { match_id: number; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["MatchUpdate"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MatchRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; list_factions_api_admin_factions_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["FactionRead"][]; }; }; }; }; rename_faction_api_admin_factions__faction_id__patch: { parameters: { query?: never; header?: never; path: { faction_id: number; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["FactionRename"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["FactionRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; admin_list_attachments_api_admin_matches__match_id__attachments_get: { parameters: { query?: never; header?: never; path: { match_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AttachmentRead"][]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; admin_add_attachment_api_admin_matches__match_id__attachments_post: { parameters: { query?: never; header?: never; path: { match_id: number; }; cookie?: never; }; requestBody: { content: { "multipart/form-data": components["schemas"]["Body_admin_add_attachment_api_admin_matches__match_id__attachments_post"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AttachmentRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; admin_get_attachment_api_admin_matches__match_id__attachments__attachment_id__get: { parameters: { query?: never; header?: never; path: { match_id: number; attachment_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; admin_delete_attachment_api_admin_matches__match_id__attachments__attachment_id__delete: { parameters: { query?: never; header?: never; path: { match_id: number; attachment_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; list_achievements_api_admin_achievements_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AchievementRead"][]; }; }; }; }; create_achievement_api_admin_achievements_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["AchievementCreate"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AchievementRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; delete_achievement_api_admin_achievements__slug__delete: { parameters: { query?: never; header?: never; path: { slug: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; update_achievement_api_admin_achievements__slug__patch: { parameters: { query?: never; header?: never; path: { slug: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["AchievementUpdate"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AchievementRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; upload_achievement_icon_api_admin_achievements__slug__icon_put: { parameters: { query?: never; header?: never; path: { slug: string; }; cookie?: never; }; requestBody: { content: { "multipart/form-data": components["schemas"]["Body_upload_achievement_icon_api_admin_achievements__slug__icon_put"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AchievementRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; audit_logs_api_admin_audit_logs_get: { parameters: { query?: { action?: string | null; entity_type?: string | null; limit?: number; offset?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["AuditLogList"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; dev_login_api_auth_dev_login_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["DevLogin"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["MeRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; dev_list_users_api_auth_dev_users_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["DevUserRead"][]; }; }; }; }; dev_create_user_api_auth_dev_users_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["DevUserCreate"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["DevUserRead"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; delete_user_hard_api_admin_dev_users__user_id__delete: { parameters: { query?: never; header?: never; path: { user_id: number; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["OkResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; health_api_health_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { [key: string]: unknown; }; }; }; }; }; }