trade360-nodejs-sdk
Version:
LSports Trade360 SDK for Node.js
203 lines • 9.74 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PreMatchSnapshotApiClientImplementation = 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_EVENT_PREFIX_URL, GET_OUTRIGHT_FIXTURE_MARKETS_PREFIX_URL, GET_OUTRIGHT_FIXTURE_PREFIX_URL, GET_OUTRIGHT_LEAGUES_MARKETS_PREFIX_URL, GET_OUTRIGHT_LEAGUE_EVENTS_PREFIX_URL, GET_OUTRIGHT_LEAGUES_PREFIX_URL, GET_OUTRIGHT_SCORES_PREFIX_URL, } = enums_1.PrematchSnapshotApiClientPrefixUrl;
/**
* 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 PreMatchSnapshotApiClientImplementation 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.GetEventRequest);
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 events.
* @param requestDto The request DTO for getting outright events.
* @returns A promise that resolves to a
* GetOutrightEventsResultElement object containing the outright events information.
*/
async getOutrightEvents(requestDto) {
const request = this.mapper.map(requestDto, requests_1.GetOutrightEventRequest);
const eventsCollection = await this.postRequest({
route: GET_OUTRIGHT_EVENT_PREFIX_URL,
responseBodyType: responses_1.GetOutrightEventsResultElement,
requestBody: request,
});
return eventsCollection;
}
/**
* Sends a request to the snapshot API to get outright fixtures.
* @param requestDto The request DTO for getting outright fixtures.
* @returns A promise that resolves to a
* GetOutrightFixtureResultElement object containing the outright fixtures information.
*/
async getOutrightFixtures(requestDto) {
const request = this.mapper.map(requestDto, requests_1.GetOutrightFixtureRequest);
const fixturesCollection = await this.postRequest({
route: GET_OUTRIGHT_FIXTURE_PREFIX_URL,
responseBodyType: responses_1.GetOutrightFixtureResultElement,
requestBody: request,
});
return fixturesCollection;
}
/**
* Sends a request to the snapshot API to get outright scores.
* @param requestDto The request DTO for getting outright scores.
* @returns A promise that resolves to a
* GetOutrightScoresResultElement object containing the outright scores information.
*/
async getOutrightScores(requestDto) {
const request = this.mapper.map(requestDto, requests_1.GetOutrightLivescoreRequest);
const scoresCollection = await this.postRequest({
route: GET_OUTRIGHT_SCORES_PREFIX_URL,
responseBodyType: responses_1.GetOutrightScoresResultElement,
requestBody: request,
});
return scoresCollection;
}
/**
* Sends a request to the snapshot API to get outright fixture markets.
* @param requestDto The request DTO for getting outright fixture markets.
* @returns A promise that resolves to a
* GetOutrightFixtureMarketsResultElement object containing the outright fixture markets information.
*/
async getOutrightFixtureMarkets(requestDto) {
const request = this.mapper.map(requestDto, requests_1.GetOutrightMarketRequest);
const marketsCollection = await this.postRequest({
route: GET_OUTRIGHT_FIXTURE_MARKETS_PREFIX_URL,
responseBodyType: responses_1.GetOutrightFixtureMarketsResultElement,
requestBody: request,
});
return marketsCollection;
}
/**
* 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.PreMatchSnapshotApiClientImplementation = PreMatchSnapshotApiClientImplementation;
//# sourceMappingURL=prematch-snapshot.service.js.map