UNPKG

trade360-nodejs-sdk

Version:
143 lines 6.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.InPlaySnapshotApiClientImplementation = void 0; const enums_1 = require("../../snapshot-api/enums"); const _httpClient_1 = require("../../base-http-client"); const responses_1 = require("../../common/snapshot/responses"); const requests_1 = require("../../common/snapshot/requests"); const { GET_EVENTS_PREFIX_URL, GET_FIXTURE_MARKETS_PREFIX_URL, GET_FIXTURES_PREFIX_URL, GET_SCORES_PREFIX_URL, GET_OUTRIGHT_LEAGUES_PREFIX_URL, GET_OUTRIGHT_LEAGUES_MARKETS_PREFIX_URL, GET_OUTRIGHT_LEAGUE_EVENTS_PREFIX_URL, } = enums_1.InplaySnapshotApiClientPrefixUrl; /** * MetadataHttpClient class is responsible for sending requests * to the metadata API. It extends the BaseHttpClient class and * contains the logic for sending requests to the metadata API. * @param packageCredentials The package credentials for the API * @param snapshotApiBaseUrl The base URL of the snapshot API * @param logger The logger instance * @param mapper The mapper instance * @returns MetadataHttpClient instance that is responsible for * sending requests to the metadata API. * @extends BaseHttpClient class for sending requests to the * customers API. * @implements IMetadataHttpClient interface for sending * requests to the metadata API. * @see BaseHttpClient class for sending requests to the * customers API. * @see IMetadataHttpClient interface for sending requests to * the metadata API. * @see IHttpServiceConfig interface for the configuration of * the HTTP service. */ class InPlaySnapshotApiClientImplementation extends _httpClient_1.BaseHttpClient { constructor({ packageCredentials, restApiBaseUrl, logger }, mapper) { super({ restApiBaseUrl, packageCredentials, logger }); this.mapper = mapper; } /** * Sends a request to the snapshot API to get fixtures. * @param requestDto The request DTO for getting fixtures. * @returns A promise that resolves to a * GetFixturesResultElement object containing the fixtures information. */ async getFixtures(requestDto) { const request = this.mapper.map(requestDto, requests_1.GetFixtureRequest); const fixturesCollection = await this.postRequest({ route: GET_FIXTURES_PREFIX_URL, responseBodyType: responses_1.GetFixturesResultElement, requestBody: request, }); return fixturesCollection; } /** * Sends a request to the snapshot API to get livescores. * @param requestDto The request DTO for getting livescores. * @returns A promise that resolves to a * GetLivescoreResultElement object containing the livescores information. */ async getLivescores(requestDto) { const request = this.mapper.map(requestDto, requests_1.GetLivescoreRequest); const scoresCollection = await this.postRequest({ route: GET_SCORES_PREFIX_URL, responseBodyType: responses_1.GetLivescoreResultElement, requestBody: request, }); return scoresCollection; } /** * Sends a request to the snapshot API to get fixtures markets. * @param requestDto The request DTO for getting fixtures markets. * @returns A promise that resolves to a * GetFixtureMarketsResultElement object containing the fixtures * markets information. */ async getFixtureMarkets(requestDto) { const request = this.mapper.map(requestDto, requests_1.GetMarketRequest); const marketsCollection = await this.postRequest({ route: GET_FIXTURE_MARKETS_PREFIX_URL, responseBodyType: responses_1.GetFixtureMarketsResultElement, requestBody: request, }); return marketsCollection; } /** * Sends a request to the snapshot API to get events. * @param requestDto The request DTO for getting events. * @returns A promise that resolves to a * GetEventsResultElement object containing the events information. */ async getEvents(requestDto) { const request = this.mapper.map(requestDto, requests_1.GetInPlayEventRequest); const eventsCollection = await this.postRequest({ route: GET_EVENTS_PREFIX_URL, responseBodyType: responses_1.GetEventsResultElement, requestBody: request, }); return eventsCollection; } /** * Sends a request to the snapshot API to get outright leagues. * @param requestDto The request DTO for getting outright leagues. * @returns A promise that resolves to a * GetOutrightLeaguesResultElement object containing the outright leagues information. */ async getOutrightLeagues(requestDto) { const request = this.mapper.map(requestDto, requests_1.GetOutrightLeaguesRequest); const leaguesCollection = await this.postRequest({ route: GET_OUTRIGHT_LEAGUES_PREFIX_URL, responseBodyType: responses_1.GetOutrightLeaguesResultElement, requestBody: request, }); return leaguesCollection; } /** * Sends a request to the snapshot API to get outright league markets. * @param requestDto The request DTO for getting outright leagues markets. * @returns A promise that resolves to a * GetOutrightLeagueMarketsResultElement object containing the outright leagues markets information. */ async getOutrightLeagueMarkets(requestDto) { const request = this.mapper.map(requestDto, requests_1.GetOutrightLeagueMarketRequest); const leagueMarketsCollection = await this.postRequest({ route: GET_OUTRIGHT_LEAGUES_MARKETS_PREFIX_URL, responseBodyType: responses_1.GetOutrightLeagueMarketsResultElement, requestBody: request, }); return leagueMarketsCollection; } /** * Sends a request to the snapshot API to get outright league events. * @param requestDto The request DTO for getting outright league events. * @returns A promise that resolves to an array of * GetOutrightLeagueEventsResultElement objects containing the outright league events information. */ async getOutrightLeagueEvents(requestDto) { const request = this.mapper.map(requestDto, requests_1.GetOutrightLeagueEventsRequest); const leagueEventsCollection = await this.postRequest({ route: GET_OUTRIGHT_LEAGUE_EVENTS_PREFIX_URL, responseBodyType: responses_1.GetOutrightLeagueEventsResultElement, requestBody: request, }); return leagueEventsCollection; } } exports.InPlaySnapshotApiClientImplementation = InPlaySnapshotApiClientImplementation; //# sourceMappingURL=inplay-snapshot.service.js.map