rating-chgk-info-0.3.6.3: Client for rating.chgk.info API and CSV tables (documentation in Russian)

Copyright(c) Mansur Ziiatdinov 2018-2019
LicenseBSD-3
Maintainerchgk@pm.me
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

RatingChgkInfo.Api

Contents

Description

Функции здесь повторяют те запросы, которые доступны в API сайта рейтинга. Те функции, которые недоступны через API, реализованы в NoApi.

Кроме того, есть вспомогательная функция getAllItems для удобства.

Synopsis

Работа с API

type RatingClient = ClientM Source #

Синоним типа для реэкспорта. Монада, в которой возможно выполнять запросы к REST API сайта рейтинга

runRatingApi Source #

Arguments

:: RatingClient a

Набор команд, работающих с API сайта рейтинга

-> IO (Either ServantError a)

Результат работы, либо ошибка

Запуск клиента API сайта рейтинга

Все запросы внутри RatingClient используют один и тот же менеджер соединений

Информация об игроках

players Source #

Arguments

:: Maybe Int

Номер страницы в результате

-> RatingClient (Items Player)

Список игроков, по 1000 элементов

Список всех игроков

player Source #

Arguments

:: PlayerId

Идентификатор игрока

-> RatingClient [Player]

Информация об игроке, список из единственного элемента

Информация об игроке

API NOTE. Результат должен быть Player, а не список игроков из одного элемента

О командах игроков

playerTeams Source #

Arguments

:: PlayerId

Идентификатор игрока

-> RatingClient [PlayerTeam]

Список команд игрока

Команды, в базовых составах которых играл игрок

playerLastTeam Source #

Arguments

:: PlayerId

Идентификатор игрока

-> RatingClient [PlayerTeam]

Список команд игрока

Команды, в базовый состав которых игрок входит в текущем сезоне

playerTeam Source #

Arguments

:: PlayerId

Идентификатор игрока

-> Int

Идентификатор сезона

-> RatingClient [PlayerTeam]

Список команд игрока

Команды, в базовый состав которых игрок входил в указанном сезоне

О турнирах игроков

playerTournaments Source #

Arguments

:: PlayerId

Идентификатор игрока

-> RatingClient (SeasonMap PlayerSeason)

Турниры игрока по сезонам

Турниры, которые отыграл игрок, по сезонам

playerLastTournament Source #

Arguments

:: PlayerId

Идентификатор игрока

-> RatingClient PlayerSeason 

Турниры, которые игрок отыграл в текущем сезоне

playerTournament Source #

Arguments

:: PlayerId

Идентификатор игрока

-> Int

Идентификатор сезона

-> RatingClient PlayerSeason 

Турниры, которые игрок отыграл в указанном сезоне

О рейтингах игроков

playerRatings Source #

Arguments

:: PlayerId

Идентификатор игрока

-> RatingClient [PlayerRating]

Список рейтингов игрока, порядок не определён

Рейтинги игрока

playerLastRating Source #

Arguments

:: PlayerId

Идентификатор игрока

-> RatingClient PlayerRating 

Рейтинг игрока в последнем релизе

API NOTE. Работает не всегда: например, для 54345 в декабре 2018 ничего не возвращало (off-by-one error?)

playerRating Source #

Arguments

:: PlayerId

Идентификатор игрока

-> Int

Идентификатор релиза

-> RatingClient PlayerRating 

Рейтинг игрока в указанном релизе

Информация о командах

teams Source #

Arguments

:: Maybe Int

Номер страницы в результате

-> RatingClient (Items Team)

Команды по 1000 элементов

Список всех команд

team Source #

Arguments

:: TeamId

Идентификатор команды

-> RatingClient [Team]

Команда, список из единственного элемента

Информация о команде

API NOTE: должна быть команда, а не список из команд

Базовые составы

teamBaseRecaps Source #

Arguments

:: TeamId

Идентификатор команды

-> RatingClient (SeasonMap TeamBaseRecap)

Базовые составы по сезонам

Базовые составы команды

teamLastBaseRecap Source #

Arguments

:: TeamId

Идентификатор команды

-> RatingClient TeamBaseRecap 

Базовый состав команды в последнем сезоне

teamBaseRecap Source #

Arguments

:: TeamId

Идентификатор команды

-> Int

Идентификатор сезона

-> RatingClient TeamBaseRecap 

Базовый состав команды в указанном сезоне

Отыгранные турниры

teamTournaments Source #

Arguments

:: TeamId

Идентификатор команды

-> RatingClient (SeasonMap TeamTournament)

Турниры команды по сезонам

Турниры, отыгранные командой

teamLastTournament Source #

Arguments

:: TeamId

Идентификатор команды

-> RatingClient TeamTournament 

Турниры, отыгранные командой в последнем сезоне

teamTournament Source #

Arguments

:: TeamId

Идентификатор команды

-> Int

Идентификатор сезона

-> RatingClient TeamTournament 

Турниры, отыгранные командой в указанном сезоне

Рейтинги

teamRatings Source #

Arguments

:: TeamId

Идентификатор команды

-> RatingClient [TeamRating]

Список рейтингов команды, порядок не определён

Рейтинги команды

teamRatingA Source #

Arguments

:: TeamId

Идентификатор команды

-> RatingClient TeamRating 

Последний рейтинг команды по формуле A

API NOTE. Работает не всегда: для 1 ничего не возвращает (off-by-one error?)

teamRatingB Source #

Arguments

:: TeamId

Идентификатор команды

-> RatingClient TeamRating 

Последний рейтинг команды по формуле B

API NOTE. Работает не всегда: для 1 ничего не возвращает (off-by-one error?)

teamRating Source #

Arguments

:: TeamId

Идентификатор команды

-> Int

Идентификатор релиза

-> RatingClient TeamRating 

Рейтинг команды в указанном релизе

Информация о турнирах

tournaments Source #

Arguments

:: Maybe Int

Номер страницы в результате

-> RatingClient (Items TournamentShort)

Информация о турнирах по 1000 элементов

Список всех турниров

tournament Source #

Arguments

:: TournamentId

Идентификатор турнира

-> RatingClient [Tournament]

Единственный элемент списка - турнир

Информация о турнире

API NOTE: должен быть турнир, а не список турниров

Результаты турнира

tournamentResults Source #

Arguments

:: TournamentId

Идентификатор турнира

-> RatingClient [TournamentResult]

Результаты по командам, порядок не определён

Результаты турнира

tournamentResultsTown Source #

Arguments

:: TournamentId

Идентификатор турнира

-> Int

Идентификатор города

-> RatingClient [TournamentResult]

Результаты по командам, порядок не определён

Результаты турнира для команд города

tournamentResultsRegion Source #

Arguments

:: TournamentId

Идентификатор турнира

-> Int

Идентификатор региона

-> RatingClient [TournamentResult]

Результаты по командам, порядок не определён

Результаты турнира для команд региона

tournamentResultsCountry Source #

Arguments

:: TournamentId

Идентификатор турнира

-> Int

Идентификатор страны

-> RatingClient [TournamentResult]

Результаты по командам, порядок не определён

Результаты турнира для команд страны

tournamentTeamResult Source #

Arguments

:: TournamentId

Идентификатор турнира

-> TeamId

Идентификатор команды

-> RatingClient [TourResult]

Список результатов по турам

Результат указанной команды на турнире

Составы на турнире

tournamentRecap Source #

Arguments

:: TournamentId

Идентификатор турнира

-> TeamId

Идентификатор команды

-> RatingClient [RecapPlayer]

Список игроков с флагами К/Б/Л

Составы указанной команды на турнире

Спорные и апелляции

tournamentControversials Source #

Arguments

:: TournamentId

Идентификатор турнира

-> RatingClient [Controversial]

Спорные

Спорные на турнире

tournamentAppeals Source #

Arguments

:: TournamentId

Идентификатор турнира

-> RatingClient [Appeal]

Апелляции

Апелляции на турнире

Различные способы поиска

В функции поиска передаётся несколько значений типа 'Maybe a'. Если соответствующее значение установлено, по этому параметру производится поиск. Если установлено несколько значений, они объединяются при помощи логической связки И.

teamSearch Source #

Arguments

:: Maybe Text

Название (name)

-> Maybe Text

Город (town)

-> Maybe Text

Регион (region_name)

-> Maybe Text

Страна (country_name)

-> Bool

Играла в текущем сезоне (active_this_season)

-> Maybe Int

Номер страницы в результате

-> RatingClient (Items Team)

Список команд по 1000 элементов

Поиск по командам

playerSearch Source #

Arguments

:: Maybe Text

Фамилия

-> Maybe Text

Имя

-> Maybe Text

Отчество

-> Maybe Int

Номер страницы в результате

-> RatingClient (Items Player)

Список игроков по 1000 элементов

Поиск по игрокам

Вспомогательные функции

getAllItems Source #

Arguments

:: (Maybe Int -> RatingClient (Items a))

Запрос с разбиением на страницы

-> RatingClient [a]

Список всех элементов

Получение всех элементов из запроса с разбиением по страницам

В функции предполагается, что сайт рейтинга, как и указано в документации, разбивает ответ на куски по 1000 элементов