From 9beb496bd1325d9e623cf23224b749a59f997f01 Mon Sep 17 00:00:00 2001 From: Fabien O'Carroll Date: Wed, 25 Sep 2019 10:15:31 +0700 Subject: [PATCH] Passed in metadata getter/setter to stripe no-issue This will be used to store information such as customer id --- ghost/members-api/index.js | 12 +++++++++++- ghost/members-api/lib/stripe/index.js | 3 ++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/ghost/members-api/index.js b/ghost/members-api/index.js index aa6c57cd31..dc08ca9cb3 100644 --- a/ghost/members-api/index.js +++ b/ghost/members-api/index.js @@ -20,6 +20,8 @@ module.exports = function MembersApi({ mail: { transporter }, + setMemberMetadata, + getMemberMetadata, createMember, getMember, updateMember, @@ -28,7 +30,15 @@ module.exports = function MembersApi({ }) { const {encodeIdentityToken, decodeToken} = Tokens({privateKey, publicKey, issuer}); - const stripe = paymentConfig.stripe ? new StripePaymentProcessor(paymentConfig.stripe) : null; + const stripeStorage = { + async get(member) { + return getMemberMetadata(member, 'stripe'); + }, + async set(member, metadata) { + return setMemberMetadata(member, 'stripe', metadata); + } + }; + const stripe = paymentConfig.stripe ? new StripePaymentProcessor(paymentConfig.stripe, stripeStorage) : null; async function ensureStripe(_req, res, next) { if (!stripe) { diff --git a/ghost/members-api/lib/stripe/index.js b/ghost/members-api/lib/stripe/index.js index 5d5150bb64..2e45ff31f7 100644 --- a/ghost/members-api/lib/stripe/index.js +++ b/ghost/members-api/lib/stripe/index.js @@ -2,7 +2,8 @@ const {retrieve, create} = require('./api/stripeRequests'); const api = require('./api'); module.exports = class StripePaymentProcessor { - constructor(config) { + constructor(config, storage) { + this.storage = storage; this._ready = new Promise((resolve, reject) => { this._resolveReady = resolve; this._rejectReady = reject;