Ghost/core/server/models
Fabien 'egg' O'Carroll 4604ba1587
Fixed backward compatibility for send_email_when_published (#12357)
no-issue

* Handled send_email_when_published in Posts API

This restores backwards compatibility of the Posts API allowing existing
clients to continue to use the `send_email_when_published` flag. This
change uses two edits, which is unfortunate. The reason being is that
this is an API compatibility issue, not a model issue, so we shouldn't
introduce code to the model layer to handle it. The visibility property
of the model is used to determine how to fall back, and because it can
be left out of the API request, and relies on a default in the settings,
we require that the model decide on the `visibility` before we run our
fallback logic (or we duplicate the `visibility` default at the cost of
maintenance in the future)

* Dropped send_email_when_published column from posts

Since this column is not used any more, we can drop it from the table.
We include an extra migration to repopulate the column in the event of
a rollback

* Updated importer to handle send_email_when_published

Because we currently export this value from Ghost, we should correctly
import it. This follows the same logic as the migrations for this value.

* Included send_email_when_published in API response

As our v3 API documentation includes `send_email_when_published` we must
retain backward compatibility by calculating the property.

* Fixed fields filter with send_email_when_published

* Added safety checks to frame properties

Some parts of the code pass a manually created "frame" which is missing
lots of properties, so we check for the existence of all of them before
using them.

* Fixed 3.1 migration to include columnDefinition

We require that migrations have all the information they need contained
within them as they run in an unknown state of the codebase, which could
be from the commit they are introduced, to any future commit. In this
case the column definition is removed from the schema in 3.38 and the
migration would fail when run in this version or later.
2020-11-11 13:03:41 +00:00
..
base Fixed "no-shadow" linting error in server modules (#12287) 2020-10-20 12:02:56 +13:00
plugins 🐛 Fixed server error for repeated order query parameter 2020-11-03 00:15:24 +13:00
relations Extracted promise libs and history into @tryghost/promise 2020-08-11 18:44:21 +01:00
action.js Added model implementation for actions 2019-02-06 21:36:09 +01:00
api-key.js Fixed "no-shadow" linting error in server modules (#12287) 2020-10-20 12:02:56 +13:00
author.js Added plugin based author and public tag models in API v2 (#10284) 2019-01-03 20:30:35 +01:00
email-batch.js Fixed creation of EmailBatch and EmailRecipient collections 2020-10-14 15:11:45 +01:00
email-recipient.js Fixed creation of EmailBatch and EmailRecipient collections 2020-10-14 15:11:45 +01:00
email.js Added migration for emails.track_opens column (#12331) 2020-11-05 11:39:53 +00:00
index.js Added basic CRUD admin API for snippets 2020-10-16 18:02:58 +01:00
integration.js Ensured Admin API cannot fetch internal integrations (#10501) 2019-07-24 11:52:55 +02:00
invite.js Extracted core/server/lib/security to @tryghost/security package 2020-08-11 14:06:50 +01:00
label.js Refactored common lib import to use destructuring (#11835) 2020-05-22 19:22:20 +01:00
member-stripe-customer.js Added error handling for failed member imports 2020-08-26 17:11:35 +12:00
member.js 🐛 Added past_due and unpaid subscriptions for members (#12301) 2020-10-27 15:19:48 +05:30
mobiledoc-revision.js Added mobiledoc revisions functionality 2018-10-09 15:31:09 +02:00
permission.js Updated var declarations to const/let and no lists 2020-04-29 16:51:13 +01:00
post.js Fixed backward compatibility for send_email_when_published (#12357) 2020-11-11 13:03:41 +00:00
posts-meta.js Moved core/server/lib/url-utils to core/shared/url-utils (#11856) 2020-05-28 11:57:02 +01:00
role.js Refactored common lib import to use destructuring (#11835) 2020-05-22 19:22:20 +01:00
session.js Removed user_id constraint when upserting session (#10085) 2018-10-30 16:15:48 +07:00
settings.js Fixed "no-shadow" linting error in server modules (#12287) 2020-10-20 12:02:56 +13:00
single-use-token.js 🐛 Fixed special chars in single use token (#12290) 2020-10-20 11:49:20 +05:30
snippet.js Added basic CRUD admin API for snippets 2020-10-16 18:02:58 +01:00
stripe-customer-subscription.js Added error handling for failed member imports 2020-08-26 17:11:35 +12:00
tag-public.js Added plugin based author and public tag models in API v2 (#10284) 2019-01-03 20:30:35 +01:00
tag.js Refactored common lib import to use destructuring (#11835) 2020-05-22 19:22:20 +01:00
user.js Fixed "no-shadow" linting error in server modules (#12287) 2020-10-20 12:02:56 +13:00
webhook.js Updated var declarations to const/let and no lists 2020-04-29 16:51:13 +01:00