2
1
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2023-12-13 21:00:40 +01: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"
serialized.subscribed = false;
if (serialized.newsletters.length > 0) {
if (Array.isArray(serialized.newsletters) && serialized.newsletters.length > 0) {
serialized.subscribed = true;
}
}

View file

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

View file

@ -67,7 +67,7 @@
"@tryghost/custom-theme-settings-service": "0.3.2",
"@tryghost/database-info": "0.3.3",
"@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-service": "1.0.6",
"@tryghost/email-content-generator": "0.1.0",
@ -85,12 +85,12 @@
"@tryghost/logging": "2.1.8",
"@tryghost/magic-link": "1.0.22",
"@tryghost/member-events": "0.4.2",
"@tryghost/members-api": "6.2.3",
"@tryghost/members-events-service": "0.3.4",
"@tryghost/members-api": "6.3.0",
"@tryghost/members-events-service": "0.4.0",
"@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-stripe-service": "0.10.1",
"@tryghost/members-stripe-service": "0.10.2",
"@tryghost/metrics": "1.0.11",
"@tryghost/minifier": "0.1.13",
"@tryghost/mw-api-version-mismatch": "0.1.1",
@ -112,7 +112,7 @@
"@tryghost/update-check-service": "0.3.2",
"@tryghost/url-utils": "2.1.0",
"@tryghost/validator": "0.1.24",
"@tryghost/verification-trigger": "0.2.1",
"@tryghost/verification-trigger": "0.2.2",
"@tryghost/version": "0.1.14",
"@tryghost/version-notifications-data-service": "0.1.0",
"@tryghost/vhost-middleware": "1.0.24",

130
yarn.lock
View file

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