From 87e8298ca74f1183de033c4c2d5725fc966f0f41 Mon Sep 17 00:00:00 2001 From: Rish Date: Fri, 21 Aug 2020 15:14:37 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fixed=20unable=20to=20delete=20m?= =?UTF-8?q?ember=20when=20stripe=20is=20connected?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes https://github.com/TryGhost/Ghost/issues/12150 - The `destroy` method on members-api method was called incorrectly with not enough params - It expects both `data` and `options` passed down [here](https://github.com/TryGhost/Members/blob/master/packages/members-api/lib/users.js#L14) - Missing `options` in method call throws error as we read `cancelStripeSubscriptions` property on options if stripe is connected - Fix passes both data and options to the destroy method --- core/server/api/canary/members.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/core/server/api/canary/members.js b/core/server/api/canary/members.js index 020492d6f8..cc17e4006e 100644 --- a/core/server/api/canary/members.js +++ b/core/server/api/canary/members.js @@ -385,14 +385,15 @@ module.exports = { frame.options.require = true; frame.options.cancelStripeSubscriptions = frame.options.cancel; - await Promise.resolve(membersService.api.members.destroy(frame.options)) - .catch(models.Member.NotFoundError, () => { - throw new errors.NotFoundError({ - message: i18n.t('errors.api.resource.resourceNotFound', { - resource: 'Member' - }) - }); + await Promise.resolve(membersService.api.members.destroy({ + id: frame.options.id + }, frame.options)).catch(models.Member.NotFoundError, () => { + throw new errors.NotFoundError({ + message: i18n.t('errors.api.resource.resourceNotFound', { + resource: 'Member' + }) }); + }); return null; }