Ghost-Admin/mirage/serializers/member-activity-event.js

43 lines
1.1 KiB
JavaScript

import BaseSerializer from './application';
export default BaseSerializer.extend({
embed: true,
keyForCollection() {
return 'events';
},
include() {
// these are always embedded but will be moved onto the `data` object in the serializer
return ['member', 'email'];
},
serialize() {
const serialized = BaseSerializer.prototype.serialize.call(this, ...arguments);
const events = serialized.events.map((serializedEvent) => {
const data = Object.assign({}, serializedEvent.data, {
id: serializedEvent.id,
created_at: serializedEvent.created_at
});
if (serializedEvent.member) {
data.member = serializedEvent.member;
data.member_id = serializedEvent.member_id;
}
if (serializedEvent.email) {
data.email = serializedEvent.email;
data.email_id = serializedEvent.email_id;
}
return {
type: serializedEvent.type,
data
};
});
return {events};
}
});