Ghost/ghost/admin/mirage/factories/member.js
Kevin Ansfield fa84808048 Dropped ember-cli-moment-shim dependency
no issue

Since `ember-moment@10.0` it's not been necessary to use the `ember-cli-moment-shim` package, with `moment` instead being usable directly via `ember-auto-import`. Getting rid of the shim package is necessary for compatibility with `embroider`, Ember's new build tooling.

- dropped `ember-cli-moment-shim` dependency
- added `moment-timezone` dependency and updated all imports to reflect the different package
- worked around `ember-power-calendar` having `ember-cli-moment-shim` as a sub-dependency
  - added empty in-repo-addon `ember-power-calendar-moment` to avoid `ember-power-calendar` complaining about a missing package
  - added `ember-power-calendar-utils` in-repo-addon that is a copy of `ember-power-calendar-moment` but without the build-time renaming of the tree for better compatibility with embroider
2022-09-24 13:28:23 +02:00

34 lines
917 B
JavaScript

import faker from 'faker';
import moment from 'moment-timezone';
import {Factory, trait} from 'miragejs';
let randomDate = function randomDate(start = moment().subtract(30, 'days').toDate(), end = new Date()) {
return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
};
export default Factory.extend({
name() { return `${faker.name.firstName()} ${faker.name.lastName()}`; },
email: faker.internet.email,
status: 'free',
createdAt() { return moment(randomDate()).format('YYYY-MM-DD HH:mm:ss'); },
free: trait({
status: 'free'
}),
paid: trait({
status: 'paid'
}),
comped: trait({
status: 'comped'
}),
afterCreate(member, server) {
const newslettersToSignup = server.schema.newsletters.where({subscribeOnSignup: true});
member.newsletters = newslettersToSignup;
member.save();
}
});