mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-21 01:41:46 +03:00
322664a145
refs https://github.com/TryGhost/Team/issues/581 refs https://github.com/TryGhost/Team/issues/582 When publishing a post via the API it was possible to send it using `?email_recipient_filter=all/free/paid` which allowed you to send to members only based on their payment status which is quite limiting for some sites. This PR updates the `?email_recipient_filter` query param to support Ghost's `?filter` param syntax which enables more specific recipient lists, eg: `?email_recipient_filter=status:free` = free members only `?email_recipient_filter=status:paid` = paid members only `?email_recipient_filter=label:vip` = members that have the `vip` label attached `?email_recipient_filter=status:paid,label:vip` = paid members and members that have the `vip` label attached The older `free/paid` values are still supported by the API for backwards compatibility. - updates `Post` and `Email` models to transform legacy `free` and `paid` values to their NQL equivalents on read/write - lets us not worry about supporting legacy values elsewhere in the code - cleanup migration to transform all rows slated for 5.0 - removes schema and API `isIn` validations for recipient filters so allow free-form filters - updates posts API input serializers to transform `free` and `paid` values in the `?email_recipient_filter` param to their NQL equivalents for backwards compatibility - updates Post API controllers `edit` methods to run a query using the supplied filter to verify that it's valid - updates `mega` service to use the filter directly when selecting recipients |
||
---|---|---|
.. | ||
base | ||
plugins | ||
relations | ||
action.js | ||
api-key.js | ||
author.js | ||
email-batch.js | ||
email-recipient.js | ||
email.js | ||
index.js | ||
integration.js | ||
invite.js | ||
label.js | ||
member-email-change-event.js | ||
member-login-event.js | ||
member-paid-subscription-event.js | ||
member-payment-event.js | ||
member-status-event.js | ||
member-stripe-customer.js | ||
member-subscribe-event.js | ||
member.js | ||
mobiledoc-revision.js | ||
permission.js | ||
post.js | ||
posts-meta.js | ||
product.js | ||
role.js | ||
session.js | ||
settings.js | ||
single-use-token.js | ||
snippet.js | ||
stripe-customer-subscription.js | ||
stripe-price.js | ||
stripe-product.js | ||
tag-public.js | ||
tag.js | ||
user.js | ||
webhook.js |