@cfwest/api-client
Version:
Unofficial CrossFire West ApiClient implementation.
60 lines (59 loc) • 2.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.UserWeaponsApiModule = void 0;
const base_module_1 = require("./base-module");
class UserWeaponsApiModule extends base_module_1.BaseApiModule {
constructor(options) {
super(options);
this.weaponCategoryMapper = options.weaponCategoryMapper;
}
async getUserWeapons(playerUSN, category = 'assault', filter = 'permanent', start = 1, end = 500) {
const categoryIndex = this.weaponCategoryMapper.mapWeaponCategoryNameToIndex(category);
const response = await this.httpClient.get('userweapons.json', {
params: {
startrow: start,
endrow: end,
usn: playerUSN,
item_category3: categoryIndex,
term: filter
}
});
if (response && response.Weapons) {
return response.Weapons;
}
}
// TODO: think about proper name for this function
async getCollectionCollectors(collectionID, start = 1, end = 500) {
const responseObject = [];
const response = await this.httpClient.get('userweapons.json', {
params: {
startrow: start,
endrow: end,
perPage: end,
usn: -1,
collection_ID: collectionID,
term: 'collectionRanking'
}
});
if (response && response.Collection_Info && response.User_Info) {
responseObject[0] = response.Collection_Info;
responseObject[1] = response.User_Info;
return responseObject;
}
}
async getUserCollections(playerUSN) {
const response = await this.httpClient.get('userweapons.json', {
params: {
startrow: 1,
endrow: 500,
item_category3: 1,
term: 'collection',
usn: playerUSN
}
});
if (response && response.Weapons) {
return response.Weapons;
}
}
}
exports.UserWeaponsApiModule = UserWeaponsApiModule;