0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-02-10 23:36:14 -05:00

Fixed error when firing Members webhooks (#14645)

refs https://github.com/TryGhost/Team/issues/1577

The last seen at was being updated via the model rather than the
respository, which mean that the default relations were not being
loaded.

This fix updates the repository to load the newseletters relation,
updates the last seen at updated to use the repository and updates the
output serializer to handle missing newsletter relation.

We also update all packages relying on the domain-events package to
ensure that they're all using the same version.

Co-authored-by: Fabien 'egg' O'Carroll <fabien@allou.is>
This commit is contained in:
Simon Backx 2022-05-04 12:42:27 +02:00 committed by GitHub
parent c627779948
commit ad1ebe6a47
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 82 additions and 68 deletions

View file

@ -142,7 +142,7 @@ function serializeMember(member, options) {
} }
// override the `subscribed` param to mean "subscribed to any active newsletter" // override the `subscribed` param to mean "subscribed to any active newsletter"
serialized.subscribed = false; serialized.subscribed = false;
if (serialized.newsletters.length > 0) { if (Array.isArray(serialized.newsletters) && serialized.newsletters.length > 0) {
serialized.subscribed = true; serialized.subscribed = true;
} }
} }

View file

@ -157,12 +157,12 @@ module.exports = {
}); });
new LastSeenAtUpdater({ new LastSeenAtUpdater({
models: {
Member: models.Member
},
services: { services: {
domainEvents: DomainEvents, domainEvents: DomainEvents,
settingsCache settingsCache
},
async getMembersApi() {
return membersApi;
} }
}); });

View file

@ -67,7 +67,7 @@
"@tryghost/custom-theme-settings-service": "0.3.2", "@tryghost/custom-theme-settings-service": "0.3.2",
"@tryghost/database-info": "0.3.3", "@tryghost/database-info": "0.3.3",
"@tryghost/debug": "0.1.16", "@tryghost/debug": "0.1.16",
"@tryghost/domain-events": "0.1.10", "@tryghost/domain-events": "0.1.11",
"@tryghost/email-analytics-provider-mailgun": "1.0.8", "@tryghost/email-analytics-provider-mailgun": "1.0.8",
"@tryghost/email-analytics-service": "1.0.6", "@tryghost/email-analytics-service": "1.0.6",
"@tryghost/email-content-generator": "0.1.0", "@tryghost/email-content-generator": "0.1.0",
@ -85,12 +85,12 @@
"@tryghost/logging": "2.1.8", "@tryghost/logging": "2.1.8",
"@tryghost/magic-link": "1.0.22", "@tryghost/magic-link": "1.0.22",
"@tryghost/member-events": "0.4.2", "@tryghost/member-events": "0.4.2",
"@tryghost/members-api": "6.2.3", "@tryghost/members-api": "6.3.0",
"@tryghost/members-events-service": "0.3.4", "@tryghost/members-events-service": "0.4.0",
"@tryghost/members-importer": "0.5.10", "@tryghost/members-importer": "0.5.10",
"@tryghost/members-offers": "0.11.2", "@tryghost/members-offers": "0.11.3",
"@tryghost/members-ssr": "1.0.24", "@tryghost/members-ssr": "1.0.24",
"@tryghost/members-stripe-service": "0.10.1", "@tryghost/members-stripe-service": "0.10.2",
"@tryghost/metrics": "1.0.11", "@tryghost/metrics": "1.0.11",
"@tryghost/minifier": "0.1.13", "@tryghost/minifier": "0.1.13",
"@tryghost/mw-api-version-mismatch": "0.1.1", "@tryghost/mw-api-version-mismatch": "0.1.1",
@ -112,7 +112,7 @@
"@tryghost/update-check-service": "0.3.2", "@tryghost/update-check-service": "0.3.2",
"@tryghost/url-utils": "2.1.0", "@tryghost/url-utils": "2.1.0",
"@tryghost/validator": "0.1.24", "@tryghost/validator": "0.1.24",
"@tryghost/verification-trigger": "0.2.1", "@tryghost/verification-trigger": "0.2.2",
"@tryghost/version": "0.1.14", "@tryghost/version": "0.1.14",
"@tryghost/version-notifications-data-service": "0.1.0", "@tryghost/version-notifications-data-service": "0.1.0",
"@tryghost/vhost-middleware": "1.0.24", "@tryghost/vhost-middleware": "1.0.24",

130
yarn.lock
View file

@ -1892,10 +1892,10 @@
"@tryghost/root-utils" "^0.3.14" "@tryghost/root-utils" "^0.3.14"
debug "^4.3.1" debug "^4.3.1"
"@tryghost/domain-events@0.1.10", "@tryghost/domain-events@^0.1.10": "@tryghost/domain-events@0.1.11", "@tryghost/domain-events@^0.1.11":
version "0.1.10" version "0.1.11"
resolved "https://registry.yarnpkg.com/@tryghost/domain-events/-/domain-events-0.1.10.tgz#1a657c7964b928ac63e7ada87902d6fa5d4f5a7a" resolved "https://registry.yarnpkg.com/@tryghost/domain-events/-/domain-events-0.1.11.tgz#947c27c2ed9ef7c7daaecf038a30d1bd61dd8ce4"
integrity sha512-C6xqg8VC5KgfgZ0X4zMUcoRBEDk7DS8xSepbIfZx61UZHbJRUMfbZ+AklGdnNQmQFxBc3eUCLAOByF6k1HXvTQ== integrity sha512-MaJyZprT1+yqk71Q+nkuIMGjUZDFPRztgOiRkmlFMmaZpAReMoF8xXnUCJwcD9KSpUmt7Ca04+zQQNtQGplTtQ==
"@tryghost/elasticsearch-bunyan@0.1.1": "@tryghost/elasticsearch-bunyan@0.1.1":
version "0.1.1" version "0.1.1"
@ -2115,7 +2115,7 @@
json-stringify-safe "^5.0.1" json-stringify-safe "^5.0.1"
lodash "^4.17.21" lodash "^4.17.21"
"@tryghost/magic-link@1.0.22", "@tryghost/magic-link@^1.0.22": "@tryghost/magic-link@1.0.22":
version "1.0.22" version "1.0.22"
resolved "https://registry.yarnpkg.com/@tryghost/magic-link/-/magic-link-1.0.22.tgz#1bfa1fa93efb0d493f242ed400e8b663fc0c7e60" resolved "https://registry.yarnpkg.com/@tryghost/magic-link/-/magic-link-1.0.22.tgz#1bfa1fa93efb0d493f242ed400e8b663fc0c7e60"
integrity sha512-d+uut21jb3iW6x7yqMvNcd7nBT5Y2VMTu4pFVA+eXkFQSQxFY+AD3qSeJxkSXp5KxFpKOZRRJycrG2Ppsh8TaA== integrity sha512-d+uut21jb3iW6x7yqMvNcd7nBT5Y2VMTu4pFVA+eXkFQSQxFY+AD3qSeJxkSXp5KxFpKOZRRJycrG2Ppsh8TaA==
@ -2124,46 +2124,60 @@
jsonwebtoken "^8.5.1" jsonwebtoken "^8.5.1"
lodash "^4.17.15" lodash "^4.17.15"
"@tryghost/member-analytics-service@^0.1.12": "@tryghost/magic-link@^1.0.23":
version "0.1.12" version "1.0.23"
resolved "https://registry.yarnpkg.com/@tryghost/member-analytics-service/-/member-analytics-service-0.1.12.tgz#dbf3ef1ee7e7732ca9e162a0b10608207ebf9032" resolved "https://registry.yarnpkg.com/@tryghost/magic-link/-/magic-link-1.0.23.tgz#2784fe62e3a0d00c03a1e348ed351596af79fea2"
integrity sha512-Mat32Q1rIo1N5WvjzJsyterBzVhEkSkAbsCa8nXOPsmCk/rRmOY9aO/KD6B6wQB84whMgK0Y2+QpYQk2lLmVtQ== integrity sha512-y/12pAhxy+RbUg5tgHtU6fCZ1ajzMvJsdJOATsfMVjUPXAzBxZzof+ZCd9mPMZWM6/8NVCUiSiMI8/RScAComQ==
dependencies: dependencies:
"@tryghost/domain-events" "^0.1.10" bluebird "^3.5.5"
jsonwebtoken "^8.5.1"
lodash "^4.17.15"
"@tryghost/member-analytics-service@^0.1.13":
version "0.1.13"
resolved "https://registry.yarnpkg.com/@tryghost/member-analytics-service/-/member-analytics-service-0.1.13.tgz#c70541eb93986a7e1ad8b642a82ab39f7f62be47"
integrity sha512-1dB/vVcG0FTiAj5SzkkRr7dkKlT5tXqFAsjNtG4mTu+B7J+WodAuoOESkUQfmr9JK16TR4dRuvVIGR6E+c8Xqw==
dependencies:
"@tryghost/domain-events" "^0.1.11"
"@tryghost/errors" "^1.0.0" "@tryghost/errors" "^1.0.0"
"@tryghost/member-events" "^0.4.2" "@tryghost/member-events" "^0.4.3"
"@tryghost/tpl" "^0.1.4" "@tryghost/tpl" "^0.1.4"
bson-objectid "^2.0.1" bson-objectid "^2.0.1"
"@tryghost/member-events@0.4.2", "@tryghost/member-events@^0.4.2": "@tryghost/member-events@0.4.2":
version "0.4.2" version "0.4.2"
resolved "https://registry.yarnpkg.com/@tryghost/member-events/-/member-events-0.4.2.tgz#d1266abad38aa0b8f9b9f3395b083971e85221bf" resolved "https://registry.yarnpkg.com/@tryghost/member-events/-/member-events-0.4.2.tgz#d1266abad38aa0b8f9b9f3395b083971e85221bf"
integrity sha512-4VlGlB9uq3xxgeW3OXx9//Yb1kiRm7HbVVGiBJ9LMMjeoKZnpUQA9zHyY5FUK4Aolvz/wyxjb4Ci7JNjvoMrJg== integrity sha512-4VlGlB9uq3xxgeW3OXx9//Yb1kiRm7HbVVGiBJ9LMMjeoKZnpUQA9zHyY5FUK4Aolvz/wyxjb4Ci7JNjvoMrJg==
"@tryghost/members-analytics-ingress@^0.1.13": "@tryghost/member-events@^0.4.3":
version "0.1.13" version "0.4.3"
resolved "https://registry.yarnpkg.com/@tryghost/members-analytics-ingress/-/members-analytics-ingress-0.1.13.tgz#6ab72155aea2defe44b88c79520d645f6dd54c78" resolved "https://registry.yarnpkg.com/@tryghost/member-events/-/member-events-0.4.3.tgz#e60c3387a1cecab84f5432a49895b2dbc4724d54"
integrity sha512-XaEll3ea0yXJofdiP1a2I6GWnc+kPcoMe8lWZ3r8qOVtfD7Yynkd3sL7JBC9I3RRihCQYxmKka7+AOTh69V+XA== integrity sha512-4opQfxsV1Blf0qMpCdpvskZ74Sdt7OnUykVNMG82x/R3tm9IH0TPj9c9SqSeJzg8NBTkIHTv+jeOmV8A75CxbQ==
dependencies:
"@tryghost/domain-events" "^0.1.10"
"@tryghost/member-events" "^0.4.2"
"@tryghost/members-api@6.2.3": "@tryghost/members-analytics-ingress@^0.1.14":
version "6.2.3" version "0.1.14"
resolved "https://registry.yarnpkg.com/@tryghost/members-api/-/members-api-6.2.3.tgz#739bd24ce05062362abeb58a6952f86e0550beae" resolved "https://registry.yarnpkg.com/@tryghost/members-analytics-ingress/-/members-analytics-ingress-0.1.14.tgz#ef03607271be9c8f647e84d2c7c4c22557c34aaa"
integrity sha512-qcncr5REGc3dl7oQMDwjpucKzOBtbkiBHT5RLMZUUGMstM7S+sGxTRZEa0Ebt1HQy6sTdt6pElyshK95m4T2XQ== integrity sha512-694WsLIu9iG/intnHWDqbOf8zLS855N5DJgUkyc3Onl0KC9LQYXQc1tZqdWCfeMORQVUnuh82oHXVaxRa3WaPQ==
dependencies:
"@tryghost/domain-events" "^0.1.11"
"@tryghost/member-events" "^0.4.3"
"@tryghost/members-api@6.3.0":
version "6.3.0"
resolved "https://registry.yarnpkg.com/@tryghost/members-api/-/members-api-6.3.0.tgz#9fdf396f23fb4f9f1499ad2dca8816088a9cc54d"
integrity sha512-gC6bN0rwra9cm+E2KodNqySzPjHOqVhRWFYE7k2N7ULqAdWhqlkjOLpXcyx6wpuhC1eSShkDb2+8mQdnEhRMrw==
dependencies: dependencies:
"@nexes/nql" "^0.6.0" "@nexes/nql" "^0.6.0"
"@tryghost/debug" "^0.1.2" "@tryghost/debug" "^0.1.2"
"@tryghost/domain-events" "^0.1.10" "@tryghost/domain-events" "^0.1.11"
"@tryghost/errors" "^1.1.1" "@tryghost/errors" "^1.1.1"
"@tryghost/logging" "^2.0.0" "@tryghost/logging" "^2.0.0"
"@tryghost/magic-link" "^1.0.22" "@tryghost/magic-link" "^1.0.23"
"@tryghost/member-analytics-service" "^0.1.12" "@tryghost/member-analytics-service" "^0.1.13"
"@tryghost/member-events" "^0.4.2" "@tryghost/member-events" "^0.4.3"
"@tryghost/members-analytics-ingress" "^0.1.13" "@tryghost/members-analytics-ingress" "^0.1.14"
"@tryghost/members-payments" "^0.3.2" "@tryghost/members-payments" "^0.3.3"
"@tryghost/members-stripe-service" "^0.10.1" "@tryghost/members-stripe-service" "^0.10.2"
"@tryghost/tpl" "^0.1.2" "@tryghost/tpl" "^0.1.2"
"@types/jsonwebtoken" "^8.5.1" "@types/jsonwebtoken" "^8.5.1"
bluebird "^3.5.4" bluebird "^3.5.4"
@ -2187,13 +2201,13 @@
papaparse "^5.3.2" papaparse "^5.3.2"
pump "^3.0.0" pump "^3.0.0"
"@tryghost/members-events-service@0.3.4": "@tryghost/members-events-service@0.4.0":
version "0.3.4" version "0.4.0"
resolved "https://registry.yarnpkg.com/@tryghost/members-events-service/-/members-events-service-0.3.4.tgz#c22e3d6acb498f06605140465d1c869a91eea0cb" resolved "https://registry.yarnpkg.com/@tryghost/members-events-service/-/members-events-service-0.4.0.tgz#7c16f3e337df6df32dd72638d4162179834d3095"
integrity sha512-p69fo4KlP9eUT64wYjjRAGRVq2zyPYuSgTO20VT3qjy2maq/kgc589v6djhJ1Q5I9xGBBYgpRJC/CHm+T/yFVg== integrity sha512-Qg8kePVbnTKFnTEQDPnt5RD5ppjIFmdtK2abZ9uPlGsrAdM/89P4sAIrsM1A7eAAbMaVeJNmvnPw63hpnHTlDQ==
dependencies: dependencies:
"@tryghost/domain-events" "^0.1.10" "@tryghost/domain-events" "^0.1.11"
"@tryghost/member-events" "^0.4.2" "@tryghost/member-events" "^0.4.3"
moment-timezone "^0.5.34" moment-timezone "^0.5.34"
"@tryghost/members-importer@0.5.10": "@tryghost/members-importer@0.5.10":
@ -2206,21 +2220,21 @@
"@tryghost/tpl" "^0.1.3" "@tryghost/tpl" "^0.1.3"
moment-timezone "^0.5.23" moment-timezone "^0.5.23"
"@tryghost/members-offers@0.11.2", "@tryghost/members-offers@^0.11.2": "@tryghost/members-offers@0.11.3", "@tryghost/members-offers@^0.11.3":
version "0.11.2" version "0.11.3"
resolved "https://registry.yarnpkg.com/@tryghost/members-offers/-/members-offers-0.11.2.tgz#8c53344055fbd8dbec203f166ce74a12e0085aec" resolved "https://registry.yarnpkg.com/@tryghost/members-offers/-/members-offers-0.11.3.tgz#ac4b554c223be058100149d1cdabbac5b9d3d344"
integrity sha512-sAhrHm3ShFtf+5Tz8MfALriDPgdgKISRFXZ9j4bldu5uZrjwSJMWJwH3z/wtwdWix9yL1mNxH9EE+hjPMZzAzg== integrity sha512-A2uSNjqNm5zpAE/qYRfzac4lG7gDkEXeDVwJMztAoE9DO8cRtbRPJwHU3XlXJjvw6+PL1eR58iMaP6tTwxbX+g==
dependencies: dependencies:
"@nexes/mongo-utils" "^0.3.1" "@nexes/mongo-utils" "^0.3.1"
"@tryghost/string" "^0.1.20" "@tryghost/string" "^0.1.20"
"@tryghost/members-payments@^0.3.2": "@tryghost/members-payments@^0.3.3":
version "0.3.2" version "0.3.3"
resolved "https://registry.yarnpkg.com/@tryghost/members-payments/-/members-payments-0.3.2.tgz#f48e5a61a726d3a0f233925ecc1eb0643172e539" resolved "https://registry.yarnpkg.com/@tryghost/members-payments/-/members-payments-0.3.3.tgz#6bc49138f259f259ba0a88e31a7e8574dba6350b"
integrity sha512-qbxw9oix49+iFzHHtO5M2dUcde9AApc3FWR0SFCIZdi08cQnQnqyEzg2T6QtQHH+k8/5WMZBewHzHd2tXlGfBA== integrity sha512-rTWmIRhA8XuFkNg55+eRtlXjpodGLDrD3obOZ4aYMGxLw7MVio7NTthTUFbtkHrQXdfGwPnhRTsRpKbjluQdfA==
dependencies: dependencies:
"@tryghost/domain-events" "^0.1.10" "@tryghost/domain-events" "^0.1.11"
"@tryghost/members-offers" "^0.11.2" "@tryghost/members-offers" "^0.11.3"
"@tryghost/members-ssr@1.0.24": "@tryghost/members-ssr@1.0.24":
version "1.0.24" version "1.0.24"
@ -2235,16 +2249,16 @@
jsonwebtoken "^8.5.1" jsonwebtoken "^8.5.1"
lodash "^4.17.11" lodash "^4.17.11"
"@tryghost/members-stripe-service@0.10.1", "@tryghost/members-stripe-service@^0.10.1": "@tryghost/members-stripe-service@0.10.2", "@tryghost/members-stripe-service@^0.10.2":
version "0.10.1" version "0.10.2"
resolved "https://registry.yarnpkg.com/@tryghost/members-stripe-service/-/members-stripe-service-0.10.1.tgz#2877ccb7f2a318f0fcc24a4e6a4d30d5116de5ce" resolved "https://registry.yarnpkg.com/@tryghost/members-stripe-service/-/members-stripe-service-0.10.2.tgz#1cd24b0dac0a28bafede26c4e70f21972a7a7786"
integrity sha512-bbtyLAMDivwFA10KkuxsTwBzCSboyu1f/vqbmolSpaHxSDg8qxIr8fAeJFZWByVrJKfUD0e3IgMRYJl1jW0Ogw== integrity sha512-rj6WGOsjPwoKbR2/BpwfR7rp7z1AVb5+gJ6l65rQdo8MD+Xjj5HTzFl1o6IiiD6JrWv0euqy8KL8pcKZReJEig==
dependencies: dependencies:
"@tryghost/debug" "^0.1.4" "@tryghost/debug" "^0.1.4"
"@tryghost/domain-events" "^0.1.10" "@tryghost/domain-events" "^0.1.11"
"@tryghost/errors" "^1.2.5" "@tryghost/errors" "^1.2.5"
"@tryghost/logging" "^2.0.5" "@tryghost/logging" "^2.0.5"
"@tryghost/member-events" "^0.4.2" "@tryghost/member-events" "^0.4.3"
leaky-bucket "^2.2.0" leaky-bucket "^2.2.0"
lodash "^4.17.21" lodash "^4.17.21"
stripe "^8.174.0" stripe "^8.174.0"
@ -2502,13 +2516,13 @@
moment-timezone "^0.5.23" moment-timezone "^0.5.23"
validator "7.2.0" validator "7.2.0"
"@tryghost/verification-trigger@0.2.1": "@tryghost/verification-trigger@0.2.2":
version "0.2.1" version "0.2.2"
resolved "https://registry.yarnpkg.com/@tryghost/verification-trigger/-/verification-trigger-0.2.1.tgz#8b371fee47dec57bfeb8ab61a4698aaae4d17974" resolved "https://registry.yarnpkg.com/@tryghost/verification-trigger/-/verification-trigger-0.2.2.tgz#da2063c79a6023064ffdac9e615714649ee459a7"
integrity sha512-ox47qz+aiUC70dy2oOqpuZ1AGHLawFB1DDE76US4vWVAEV0K8Ny+k/vR8Qtt5r8lVN+G8tFpsf8NtELFE2npdw== integrity sha512-cBC7vU5HfzYuHVW3/VM0AQjXMTqCXkS+gmdpPo5ezmH3rwX3PjlxErOENvagp6Gc5Y2oS+IH8uWxY3vLOXb3iQ==
dependencies: dependencies:
"@tryghost/domain-events" "^0.1.10" "@tryghost/domain-events" "^0.1.11"
"@tryghost/member-events" "^0.4.2" "@tryghost/member-events" "^0.4.3"
"@tryghost/version-notifications-data-service@0.1.0": "@tryghost/version-notifications-data-service@0.1.0":
version "0.1.0" version "0.1.0"