From 76311484df672396c77f875e73548cf2576f6d69 Mon Sep 17 00:00:00 2001 From: Fabien O'Carroll Date: Wed, 25 Aug 2021 14:54:38 +0200 Subject: [PATCH] Added dummy subscription to comped members refs https://github.com/TryGhost/Team/issues/873 This includes the update to @tryghost/members-api which includes the new MemberBREADService which is used to handle the logic for controller methods outside of the controller. With it, we've introduced the concept of a dummy subscription for comped members. This gives API consumers a way to get the created_at date for a comped members access to a product. --- core/server/api/canary/members.js | 18 +++--------------- package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 8 insertions(+), 20 deletions(-) diff --git a/core/server/api/canary/members.js b/core/server/api/canary/members.js index 63c245a3a7..42982e5265 100644 --- a/core/server/api/canary/members.js +++ b/core/server/api/canary/members.js @@ -66,27 +66,15 @@ module.exports = { }, permissions: true, async query(frame) { - const defaultWithRelated = ['labels', 'stripeSubscriptions', 'stripeSubscriptions.customer', 'stripeSubscriptions.stripePrice', 'stripeSubscriptions.stripePrice.stripeProduct']; + let member = await membersService.api.memberBREADService.read(frame.data, frame.options); - if (!frame.options.withRelated) { - frame.options.withRelated = defaultWithRelated; - } else { - frame.options.withRelated = frame.options.withRelated.concat(defaultWithRelated); - } - - if (frame.options.withRelated.includes('email_recipients')) { - frame.options.withRelated.push('email_recipients.email'); - } - - let model = await membersService.api.members.get(frame.data, frame.options); - - if (!model) { + if (!member) { throw new errors.NotFoundError({ message: i18n.t('errors.api.members.memberNotFound') }); } - return model; + return member; } }, diff --git a/package.json b/package.json index 5e0409192d..c402db2b0c 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "@tryghost/limit-service": "0.6.1", "@tryghost/logging": "0.1.5", "@tryghost/magic-link": "1.0.10", - "@tryghost/members-api": "1.26.0", + "@tryghost/members-api": "1.27.2", "@tryghost/members-csv": "1.1.5", "@tryghost/members-importer": "0.3.1", "@tryghost/members-ssr": "1.0.11", diff --git a/yarn.lock b/yarn.lock index 489c267977..e18d47cf07 100644 --- a/yarn.lock +++ b/yarn.lock @@ -908,10 +908,10 @@ jsonwebtoken "^8.5.1" lodash "^4.17.15" -"@tryghost/members-api@1.26.0": - version "1.26.0" - resolved "https://registry.yarnpkg.com/@tryghost/members-api/-/members-api-1.26.0.tgz#ad4d02df3718d3a7956f72bf8ba98a40e7b999bd" - integrity sha512-/WqACOSfeZVZYjQRttEh18HsAUw6O3GVXxl+fRu9WkQHoii9RE3Q/nnT06h9jLMA33Fz5dzMUjz7Kwr9Y0XB9w== +"@tryghost/members-api@1.27.2": + version "1.27.2" + resolved "https://registry.yarnpkg.com/@tryghost/members-api/-/members-api-1.27.2.tgz#2c3731d63a3ea01ed50a9ce78e0e8aaac46c7b55" + integrity sha512-mzNRmLKOzyKXooNL5Z6S91zpLozdlJDAsY7SJHz13ETeksRy6om3jhDz696WCNmiIKS3yArRMi9dzEwS2KbGzQ== dependencies: "@tryghost/debug" "^0.1.2" "@tryghost/errors" "^0.2.9"