/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. Лишняя строка конфига меняет выдачу у всех,
кто попадает в её диапазон, а не только у автора теста.