0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-01-20 22:42:53 -05:00

Added support for version missmatch handling

refs https://github.com/TryGhost/Toolbox/issues/280

- Email notification handling logic needs to be added to Ghost. Ideally there should be as little code landing in the core as possible - mostly data fetching and hooking modules together.
- The primary email handling logic for the `Accept-Version`/`Conent-Version` header missmatch is done in `api-version-compatibility-service` module, and the `mw-api-version-mismatch` allows to intercept request with the missmatch and call the api version compatibility service to do it's job. The mw-error-handler gives each case of client BEHIND or AHEAD of the Ghost version a unique error code, so that the versioning compatibility service has data to distinguish different cases
This commit is contained in:
Naz 2022-04-22 10:20:10 +08:00 committed by naz
parent 2ab78bcdc9
commit b7189a99e4
2 changed files with 27 additions and 6 deletions

View file

@ -58,6 +58,7 @@
"@sentry/node": "6.19.6", "@sentry/node": "6.19.6",
"@tryghost/adapter-manager": "0.2.28", "@tryghost/adapter-manager": "0.2.28",
"@tryghost/admin-api-schema": "2.14.0", "@tryghost/admin-api-schema": "2.14.0",
"@tryghost/api-version-compatibility-service": "0.1.0",
"@tryghost/bookshelf-plugins": "0.3.18", "@tryghost/bookshelf-plugins": "0.3.18",
"@tryghost/bootstrap-socket": "0.2.17", "@tryghost/bootstrap-socket": "0.2.17",
"@tryghost/color-utils": "0.1.12", "@tryghost/color-utils": "0.1.12",
@ -91,7 +92,8 @@
"@tryghost/members-stripe-service": "0.10.0", "@tryghost/members-stripe-service": "0.10.0",
"@tryghost/metrics": "1.0.8", "@tryghost/metrics": "1.0.8",
"@tryghost/minifier": "0.1.12", "@tryghost/minifier": "0.1.12",
"@tryghost/mw-error-handler": "0.2.0", "@tryghost/mw-api-version-mismatch": "0.1.0",
"@tryghost/mw-error-handler": "0.2.1",
"@tryghost/mw-session-from-token": "0.1.28", "@tryghost/mw-session-from-token": "0.1.28",
"@tryghost/nodemailer": "0.3.20", "@tryghost/nodemailer": "0.3.20",
"@tryghost/nql": "0.9.1", "@tryghost/nql": "0.9.1",

View file

@ -1605,6 +1605,11 @@
"@tryghost/errors" "^1.0.0" "@tryghost/errors" "^1.0.0"
lodash "^4.17.11" lodash "^4.17.11"
"@tryghost/api-version-compatibility-service@0.1.0":
version "0.1.0"
resolved "https://registry.yarnpkg.com/@tryghost/api-version-compatibility-service/-/api-version-compatibility-service-0.1.0.tgz#1c51db4a9ad0995019430714440d14bb7a2ab532"
integrity sha512-2nsd0i+izrRLlbMKZnFFt9Yo2rGP/5vITDfwPmwJ8gaP62LFCjvPbu+xY0epx+XHlYgBTv302BLqwAHlq2OqvA==
"@tryghost/bookshelf-collision@^0.1.20": "@tryghost/bookshelf-collision@^0.1.20":
version "0.1.20" version "0.1.20"
resolved "https://registry.yarnpkg.com/@tryghost/bookshelf-collision/-/bookshelf-collision-0.1.20.tgz#4384ace6d35c3e53039c60a324e12422504fc7aa" resolved "https://registry.yarnpkg.com/@tryghost/bookshelf-collision/-/bookshelf-collision-0.1.20.tgz#4384ace6d35c3e53039c60a324e12422504fc7aa"
@ -1817,6 +1822,15 @@
utils-copy-error "^1.0.1" utils-copy-error "^1.0.1"
uuid "^8.3.2" uuid "^8.3.2"
"@tryghost/errors@1.2.11":
version "1.2.11"
resolved "https://registry.yarnpkg.com/@tryghost/errors/-/errors-1.2.11.tgz#3b3725f5ae8c35d4f264386e1e8fe39009713900"
integrity sha512-C7zFxqP9QjGBOHd7nRMzsAU9OlK71dhYkqPInYgLFLyIT7j4fFKgn8Z4ZQ6ucs7v7qG3UKoo0U7vnMGJAOFuag==
dependencies:
lodash "^4.17.21"
utils-copy-error "^1.0.1"
uuid "^8.3.2"
"@tryghost/express-dynamic-redirects@0.2.8": "@tryghost/express-dynamic-redirects@0.2.8":
version "0.2.8" version "0.2.8"
resolved "https://registry.yarnpkg.com/@tryghost/express-dynamic-redirects/-/express-dynamic-redirects-0.2.8.tgz#67b4f19c6210734e0226e6c8f18c0ad7ce2a75a2" resolved "https://registry.yarnpkg.com/@tryghost/express-dynamic-redirects/-/express-dynamic-redirects-0.2.8.tgz#67b4f19c6210734e0226e6c8f18c0ad7ce2a75a2"
@ -2157,13 +2171,18 @@
dependencies: dependencies:
lodash "^4.17.11" lodash "^4.17.11"
"@tryghost/mw-error-handler@0.2.0": "@tryghost/mw-api-version-mismatch@0.1.0":
version "0.2.0" version "0.1.0"
resolved "https://registry.yarnpkg.com/@tryghost/mw-error-handler/-/mw-error-handler-0.2.0.tgz#236c207a0c5b62953445623c105bca00f730f45f" resolved "https://registry.yarnpkg.com/@tryghost/mw-api-version-mismatch/-/mw-api-version-mismatch-0.1.0.tgz#69dce2ce48052f1a2766ad8bc7e4cb77c7827cde"
integrity sha512-b+PcBqzTK/ekJ9SeKlMSq874FLjPrWiF4jw73gFilITmTSMDVcaEconaJj54dJ7/zOMQLDuNqDTLJV/WODPywQ== integrity sha512-OvQM1RsAj8UArbAo6A+W4CzQC9BuppEolyfYy2aXZ16RYgodHR23l7MAiMqIuYeZVLv3357EbdUHnLcC4arhNw==
"@tryghost/mw-error-handler@0.2.1":
version "0.2.1"
resolved "https://registry.yarnpkg.com/@tryghost/mw-error-handler/-/mw-error-handler-0.2.1.tgz#6ce970a6b7f1ec8732ef083e674ee48604c8b4ba"
integrity sha512-lQq25Lw9RK6UoIOW1g/A/Vg7hGKXMthbBdc0+fPV0nM0KPqs3a1AXRaOpZA857KO+eDPY6tgY0jmLaKsPDRNcQ==
dependencies: dependencies:
"@tryghost/debug" "^0.1.9" "@tryghost/debug" "^0.1.9"
"@tryghost/errors" "1.2.10" "@tryghost/errors" "1.2.11"
"@tryghost/tpl" "^0.1.8" "@tryghost/tpl" "^0.1.8"
lodash "^4.17.21" lodash "^4.17.21"
semver "^7.3.6" semver "^7.3.6"