Ghost/core/server/models/newsletter.js
Thibaut Patel 7a55e1a60a
Added the newsletter_id query string to the post edit API route (#14449)
refs https://github.com/TryGhost/Team/issues/1502

- Support the `newsletter_id` only when sending a newsletter
- Default to the default newsletter when `newsletter_id` isn't specified
- Ignore the `newsletter_id` parameter when passed in the post body
2022-04-13 15:27:43 +02:00

51 lines
1.3 KiB
JavaScript

const ghostBookshelf = require('./base');
const Newsletter = ghostBookshelf.Model.extend({
tableName: 'newsletters',
defaults: {
sender_reply_to: 'newsletter',
status: 'active',
visibility: 'members',
subscribe_on_signup: true,
sort_order: 0,
title_font_category: 'sans_serif',
title_alignment: 'center',
show_feature_image: true,
body_font_category: 'sans_serif',
show_badge: true,
show_header_icon: true,
show_header_title: true
},
async onSaving(model, _attr, options) {
ghostBookshelf.Model.prototype.onSaving.apply(this, arguments);
if (model.get('name')) {
model.set('name', model.get('name').trim());
}
if (model.hasChanged('slug') || !model.get('slug')) {
const slug = model.get('slug') || model.get('name');
if (slug) {
const cleanSlug = await ghostBookshelf.Model.generateSlug(Newsletter, slug, {
transacting: options.transacting
});
model.set({slug: cleanSlug});
}
}
}
}, {
orderDefaultOptions: function orderDefaultOptions() {
return {
sort_order: 'ASC'
};
}
});
module.exports = {
Newsletter: ghostBookshelf.model('Newsletter', Newsletter)
};