Skip to content

Commit

Permalink
feat(market): added support for multiple items requests
Browse files Browse the repository at this point in the history
  • Loading branch information
Supamiu committed Jun 21, 2019
1 parent f5fffcb commit d8ac8a0
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions src/xivapi.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,37 @@ export class XivapiService {
return this.request<{ [index: string]: MarketboardItem }>(`/market/item/${itemId}`, options);
}

/**
* Gets marketboard informations for a given item on multiple servers.
*
* @param servers
* @param itemIds The items you want informations on.
* @param options Options of the request.
*/
public getMarketBoardItemsForServers(servers: string[],
itemIds: number[],
options: XivapiOptions = {}): Observable<{ [index: string]: MarketboardItem[] }[]> {
options.servers = servers;
options.extraQueryParams = options.extraQueryParams || {};
options.extraQueryParams['ids'] = itemIds.join(',');
return this.request<{ [index: string]: MarketboardItem[] }[]>(`/market/items`, options);
}

/**
* Gets marketboard informations for a given set of items.
*
* @param datacenter The datacenter to use for marketboard informations.
* @param itemIds The items you want informations on.
* @param options Options of the request.
*/
public getMarketBoardItemsCrossServer(datacenter: string, itemIds: number[],
options: XivapiOptions = {}): Observable<{ [index: string]: MarketboardItem }[]> {
options.extraQueryParams = options.extraQueryParams || {};
options.extraQueryParams['dc'] = datacenter;
options.extraQueryParams['ids'] = itemIds.join(',');
return this.request<{ [index: string]: MarketboardItem }[]>(`/market/items`, options);
}

protected request<T>(endpoint: string, params?: XivapiOptions): Observable<T> {
let queryParams: HttpParams = this.prepareQueryString(params);
let baseUrl: string;
Expand Down

0 comments on commit d8ac8a0

Please sign in to comment.