channelape-sdk
Version:
A client for interacting with ChannelApe's API
50 lines • 1.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const request = require("request");
const SessionsService_1 = require("./sessions/service/SessionsService");
const ActionsService_1 = require("./actions/service/ActionsService");
const _1 = require(".");
const ChannelsService_1 = require("./channels/service/ChannelsService");
const INVALID_CONFIGURATION_ERROR_MESSAGE = 'Invalid configuration. sessionId is required.';
class ChannelApeClient {
constructor(clientConfiguration) {
if (clientConfiguration.sessionId.length === 0) {
throw new Error(INVALID_CONFIGURATION_ERROR_MESSAGE);
}
this.sessionId = clientConfiguration.sessionId;
this.endpoint = (clientConfiguration.endpoint == null) ? _1.Environment.PRODUCTION : clientConfiguration.endpoint;
this.timeout = (clientConfiguration.timeout == null || clientConfiguration.timeout < 2000)
? 180000 : clientConfiguration.timeout;
const client = request.defaults({
baseUrl: this.endpoint,
timeout: this.timeout,
json: true,
headers: {
'X-Channel-Ape-Authorization-Token': this.sessionId
}
});
this.sessionsService = new SessionsService_1.default(client, this.sessionId);
this.actionsService = new ActionsService_1.default(client);
this.channelsService = new ChannelsService_1.default(client);
}
get SessionId() {
return this.sessionId;
}
get Timeout() {
return this.timeout;
}
get Endpoint() {
return this.endpoint;
}
sessions() {
return this.sessionsService;
}
actions() {
return this.actionsService;
}
channels() {
return this.channelsService;
}
}
exports.default = ChannelApeClient;
//# sourceMappingURL=ChannelApeClient.js.map