UNPKG

@cfwest/api-client

Version:

Unofficial CrossFire West ApiClient implementation.

60 lines (59 loc) 2.2 kB
"use strict"; 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;