Ghost/ghost/admin/mirage/scenarios/default.js
Kevin Ansfield e398557a75 Added sender email verification flow for newsletters
refs https://github.com/TryGhost/Team/issues/584
refs https://github.com/TryGhost/Team/issues/1498

- updated newsletter save routine in `edit-newsletter` modal to open an email confirmation modal if the API indicates one was sent
  - modal indicates that the previously set or default email will continue to be used until verified
  - response from API when saving looks like `{newsletters: [{...}], meta: {sent_email_verification: ['sender_name]}}`
  - added custom newsletter serializer and updated model so that the `meta` property returned in the response when saving posts is exposed
    - Ember Data only exposes meta on array-response find/query methods
    - https://github.com/emberjs/data/issues/2905
- added `/settings/members-email-labs/?verifyEmail=xyz` query param handling
  - opens email verification modal if param is set and instantly clears the query param to avoid problems with sticky params
  - when the modal opens it makes a `PUT /newsletters/verify-email/` request with the token in the body params, on the API side this works the same as a newsletter update request returning the fully updated newsletter record which is then pushed into the store
- removed unused from/reply address code from `<Settings::MembersEmailLabs>` component and controller
  - setting the values now handled per-newsletter in the edit-newsletter modal
  - verifying email change is handled in the members-email-labs controller
- fixed mirage not outputting pluralized root for "singular" endpoints such as POST/PUT requests to better match our API behaviour
2022-04-13 19:34:58 +01:00

39 lines
1.0 KiB
JavaScript

export default function (server) {
// Seed your development database using your factories. This
// data will not be loaded in your tests.
// server.createList('contact', 10);
server.createList('tag', 100);
server.create('integration', {name: 'Demo'});
server.createList('member', 125);
// sites always have a default newsletter
server.create('newsletter', {
name: 'Site title',
slug: 'site-title',
description: 'Default newsletter created during setup',
senderName: 'Site title',
senderEmail: null,
senderReplyTo: 'newsletter',
status: 'active',
recipientFilter: null,
subscribeOnSignup: true,
sortOrder: 0,
headerImage: null,
showHeaderIcon: true,
showHeaderTitle: true,
titleFontCategory: 'sans_serif',
titleAlignment: 'center',
showFeatureImage: true,
bodyFontCategory: 'sans_serif',
footerContent: null,
showBadge: true
});
}