UNPKG

forest-express

Version:

Official package for all Forest Express Lianas

29 lines (28 loc) 1.15 kB
"use strict"; var P = require('bluebird'); function SubscriptionGetter(Implementation, params, opts, integrationInfo) { var stripe = opts.integrations.stripe.stripe(opts.integrations.stripe.apiKey); function getSubscription(subscriptionId) { return new P(function (resolve, reject) { stripe.subscriptions.retrieve(subscriptionId, function (error, subscription) { if (error) { return reject(error); } return resolve(subscription); }); }); } this.perform = function () { var collectionModel = integrationInfo.collection, collectionFieldName = integrationInfo.field, embeddedPath = integrationInfo.embeddedPath; var fieldName = embeddedPath ? "".concat(collectionFieldName, ".").concat(embeddedPath) : collectionFieldName; return getSubscription(params.subscriptionId).then(function (subscription) { return Implementation.Stripe.getCustomerByUserField(collectionModel, fieldName, subscription.customer).then(function (customer) { subscription.customer = customer; return subscription; }); }); }; } module.exports = SubscriptionGetter;