league-wrapper
Version:
REST API Wrapper for the League of Legends API
88 lines (77 loc) • 2.62 kB
JavaScript
;
const TeamDto = require('../dto/team/team-dto.js');
const Service = require('../service.js');
/**
* @class
* @alias module:LeagueWrapper/service~TeamService
* @extends Service
*/
class TeamService extends Service {
constructor(api) {
super(api);
}
/**
* @callback module:LeagueWrapper/service~TeamService~getAllBySummonerIds
* @param {?Error} error
* @param {Object.<Array.<module:LeagueWrapper/dto/team~TeamDto>>} [data]
*/
/**
* @todo example
* @param {number[]|number} summonerIds
* @param {Object} [query]
* @param {number} [query.beginTime]
* @param {?module:LeagueWrapper/options~RequestOptions} [options]
* @param {module:LeagueWrapper/service~TeamService~getAllBySummonerIds} [callback]
*
* @return {Promise.<Object.<Array.<module:LeagueWrapper/dto/team~TeamDto>>>}
*/
getAllBySummonerIds(summonerIds, query, options, callback) {
if (typeof summonerIds === 'number') {
summonerIds = [summonerIds];
}
if (summonerIds.length > 10) {
return super._fail(new Error('Maximum allowed summoner IDs at once is 10'), callback);
}
options = Object.assign({
path: '/api/lol/${region}/v2.4/team/by-summoner/${summonerIds}',
params: {
summonerIds: summonerIds.join(',')
},
returnType: [String, [TeamDto]]
}, options);
return super.request(options).execute(callback);
}
/**
* @callback module:LeagueWrapper/service~TeamService~getAllByTeamIds
* @param {?Error} error
* @param {Object.<module:LeagueWrapper/dto/team~TeamDto>} [data]
*/
/**
* @todo example
* @param {number[]|number} teamIds
* @param {Object} [query]
* @param {number} [query.beginTime]
* @param {?module:LeagueWrapper/options~RequestOptions} [options]
* @param {module:LeagueWrapper/service~TeamService~getAllByTeamIds} [callback]
*
* @return {Promise.<Object.<module:LeagueWrapper/dto/team~TeamDto>>}
*/
getAllByTeamIds(teamIds, query, options, callback) {
if (typeof teamIds === 'number') {
teamIds = [teamIds];
}
if (teamIds.length > 10) {
return super._fail(new Error('Maximum allowed team IDs at once is 10'), callback);
}
options = Object.assign({
path: '/api/lol/${region}/v2.4/team/${teamIds}',
params: {
teamIds: teamIds.join(',')
},
query: query,
returnType: [String, TeamDto]
}, options);
return super.request(options).execute(callback);
}
}
exports = module.exports = TeamService;