/dev/arena/season-reward/seed

Завести строку листа сезонной награды в текущей версии конфига.

Адрес метода

/dev/arena/season-reward/seed

Требует сессию пользователя

Только не-прод или админ

Весь раздел /dev/arena доступен, если сервер не продовый либо у игрока стоит флаг админа.

Параметры

Параметр Обязательный Тип Описание
cid ДА string cid строки. Фиксированный в тесте: вход идемпотентен по нему
place_from ДА int нижняя граница диапазона мест, включительно
place_to ДА int верхняя граница, включительно
reward ДА string cid награды из общей таблицы reward
league_cid НЕТ string лига; пусто — лига закончившегося сезона игрока

Результат

{
    "response": {
        "success": 1,
        "cid": "pytest_season_reward_wide",
        "league_cid": "derevo",
        "place_from": 1, "place_to": 100000,
        "reward": "arena_rank_d_5",
        "version_id": 7
    }
}

Что важно знать

Зачем это существует. Лист arenaSeasonRewards заполняет геймдизайн, и до появления чисел таблица пуста, а выдача fail-closed. Проверять выплату было бы не на чем, и тест пришлось бы скипать — то есть весь механизм остался бы не выполненным ни разу. Та же категория, что /dev/arena/targets/inject: приведение состояния, которого чёрный ящик иначе не достигнет.

Проверки не обходятся. Выплата ищет диапазон и считает клеймы тем же кодом, что в проде.

Пишется через модель, а не запросом — иначе кэш версии конфига не сбросится и новая строка не будет видна до перезапуска.

Идемпотентно по cid: повторный вызов правит ту же строку, а не копит новые. Иначе стенд обрастал бы мусорными строками конфига, которых уже не удалить: удаление в проекте только мягкое.

Убирать за собой — /dev/arena/season-reward/clear. Лишняя строка конфига меняет выдачу у всех, кто попадает в её диапазон, а не только у автора теста.