public async Task <List <PlayerChest> > GetChestsAsync(string[] playerTags, PlayerChestFilter playerChestFilter)
        {
            Ensure.ArgumentNotNullOrEmptyEnumerable(playerTags, nameof(playerTags));

            var response = await GetChestsResponseAsync(playerTags, playerChestFilter);

            return(response.GetModel());
        }
        public async Task <PlayerChest> GetChestAsync(string playerTag, PlayerChestFilter playerChestFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyString(playerTag, nameof(playerTag));

            var response = await GetChestResponseAsync(playerTag, playerChestFilter);

            return(response.GetModel());
        }
        public async Task <ApiResponse <List <PlayerChest> > > GetChestsResponseAsync(string[] playerTags, PlayerChestFilter playerChestFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyEnumerable(playerTags, nameof(playerTags));

            var apiResponse = await _restApiClient.GetApiResponseAsync <List <PlayerChest> >(UrlPathBuilder.GetPlayerChestsUrl(playerTags), playerChestFilter?.ToQueryParams());

            return(apiResponse);
        }
        public async Task <ApiResponse <PlayerChest> > GetChestResponseAsync(string playerTag, PlayerChestFilter playerChestFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyString(playerTag, nameof(playerTag));

            var apiResponse = await _restApiClient.GetApiResponseAsync <PlayerChest>(UrlPathBuilder.GetPlayerChestsUrl(playerTag), playerChestFilter?.ToQueryParams());

            return(apiResponse);
        }