3a11faf0b6
refs https://github.com/TryGhost/Team/issues/1596 This commit updates admin to align with the changes in the backend in https://github.com/TryGhost/Ghost/pull/14798 - `post.email_recipient_filter` option and property is renamed to `email_segment` - `newsletter_id` option is renamed to `newsletter` (and now uses slug instead of id) - Sending a post via email, means you need to set the `newsletter` option. The `email_segment` option is optional now and defaults to `all`. Not setting `newsletter` means not sending an email, setting `email_segment` is ignored if `newsletter` is missing. - We can no longer use `email_recipient_filter` (now renamed to `email_segment`) to know whether a post is published/scheduled to be sent as an email. We need to rely on the newsletter relation now. The `email_segment` `none` value has been dropped and will be `all` even if no email will be sent (newsletter will be null). - `sendEmailWhenPublished` option is no longer supported in the backend.
33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
import ApplicationAdapter from 'ghost-admin/adapters/application';
|
|
|
|
export default class Post extends ApplicationAdapter {
|
|
// posts and pages now include everything by default
|
|
buildIncludeURL(store, modelName, id, snapshot, requestType, query) {
|
|
const url = this.buildURL(modelName, id, snapshot, requestType, query);
|
|
const parsedUrl = new URL(url);
|
|
|
|
if (snapshot?.adapterOptions?.newsletter) {
|
|
const newsletter = snapshot.adapterOptions.newsletter;
|
|
parsedUrl.searchParams.append('newsletter', newsletter);
|
|
|
|
// TODO: cleanup sendEmailWhenPublished when removing publishingFlow flag
|
|
let emailSegment = snapshot?.adapterOptions?.emailSegment
|
|
|| snapshot?.adapterOptions?.sendEmailWhenPublished;
|
|
|
|
if (emailSegment) {
|
|
if (emailSegment === 'status:free,status:-free') {
|
|
emailSegment = 'all';
|
|
}
|
|
|
|
parsedUrl.searchParams.append('email_segment', emailSegment);
|
|
}
|
|
}
|
|
|
|
return parsedUrl.toString();
|
|
}
|
|
|
|
buildQuery(store, modelName, options) {
|
|
return options;
|
|
}
|
|
}
|