UNPKG

channelape-sdk

Version:
58 lines 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Q = require("q"); const Resource_1 = require("../../model/Resource"); const Version_1 = require("../../model/Version"); class SubscriptionsService { constructor(client) { this.client = client; } get(businessId) { const deferred = Q.defer(); const requestUrl = `/${Version_1.default.V1}${Resource_1.default.SUBSCRIPTIONS}/${businessId}`; this.client.get(requestUrl, {}, (error, response, body) => { if (error) { deferred.reject(error); } else if (response.status === 200) { deferred.resolve(this.formatSubscription(body)); } else { const channelApeApiErrorResponse = body; channelApeApiErrorResponse.statusCode = response.status; deferred.reject(channelApeApiErrorResponse); } }); return deferred.promise; } formatSubscription(subscriptionResponse) { const subscription = { errors: subscriptionResponse.errors }; subscription.active = subscriptionResponse.active; subscription.businessId = subscriptionResponse.businessId; subscription.subscriptionId = subscriptionResponse.subscriptionId; subscription.subscriptionProductHandle = subscriptionResponse.subscriptionProductHandle; subscription.apiRateLimitPerSecond = subscriptionResponse.apiRateLimitPerSecond; subscription.userRateLimitPerSecond = subscriptionResponse.userRateLimitPerSecond; if (subscriptionResponse.createdAt) { subscription.createdAt = new Date(subscriptionResponse.createdAt); } if (subscriptionResponse.lastCompletedTaskUsageRecordingTime) { subscription.lastCompletedTaskUsageRecordingTime = new Date(subscriptionResponse.lastCompletedTaskUsageRecordingTime); } if (subscriptionResponse.periodEndsAt) { subscription.periodEndsAt = new Date(subscriptionResponse.periodEndsAt); } if (subscriptionResponse.periodStartedAt) { subscription.periodStartedAt = new Date(subscriptionResponse.periodStartedAt); } if (subscriptionResponse.updatedAt) { subscription.updatedAt = new Date(subscriptionResponse.updatedAt); } return subscription; } } exports.default = SubscriptionsService; //# sourceMappingURL=SubscriptionsService.js.map