From 30f758e297daaf8c4511d0ea0e27a54c60673d54 Mon Sep 17 00:00:00 2001 From: Nazar Gargol Date: Mon, 24 Aug 2020 18:29:03 +1200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fixed=20create=20and=20update=20?= =?UTF-8?q?user=20methods=20to=20account=20for=20created=5Fat=20and=20subs?= =?UTF-8?q?cribed=20fields?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit refs https://github.com/TryGhost/Ghost/issues/12156 - During the refactor - https://github.com/TryGhost/Members/commit/117309b4e86f4d6830af959cac2576d6aeeb6a39#diff-3daeef67d07a2a0f94c89a86cafcede9R44, `subscribed` and `created_at` fields have been overlooked. All fields accepted by Ghost's `POST /members` and `PUT /members/:id` should be supported --- ghost/members-api/lib/users.js | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/ghost/members-api/lib/users.js b/ghost/members-api/lib/users.js index 4c8f74e369..cdb8d3fc76 100644 --- a/ghost/members-api/lib/users.js +++ b/ghost/members-api/lib/users.js @@ -33,6 +33,7 @@ module.exports = function ({ 'email', 'name', 'note', + 'subscribed', 'labels', 'geolocation' ]), options); @@ -42,7 +43,9 @@ module.exports = function ({ return Member.findPage(options); } - async function create({email, name, note, labels, geolocation}, options) { + async function create(data, options) { + const {email, labels} = data; + debug(`create email:${email}`); /** Member.add model method expects label object array*/ @@ -54,13 +57,17 @@ module.exports = function ({ }); } - return Member.add({ - email, - name, - note, - labels, - geolocation - }, options); + return Member.add(Object.assign( + {}, + {labels}, + _.pick(data, [ + 'email', + 'name', + 'note', + 'subscribed', + 'geolocation', + 'created_at' + ])), options); } function safeStripe(methodName) {