Ghost/ghost/admin/app/transforms/member-product.js
Fabien 'egg' O'Carroll 540c50f331 Wired up Member details screen to Custom Products
refs https://github.com/TryGhost/Team/issues/627

This is the reworked Member detail screen for Custom Products and adds
new functionality, or includes existing including:

- List Products for a Member, and the associated Subscriptions
- Allow cancelling/continuing said Subscriptions
- Adding a Product to a Member with a zero-amount Price
2021-04-26 17:28:39 +01:00

31 lines
820 B
JavaScript

import MemberProduct from 'ghost-admin/models/member-product';
import Transform from '@ember-data/serializer/transform';
import {A as emberA, isArray as isEmberArray} from '@ember/array';
export default Transform.extend({
deserialize(serialized) {
let subscriptions, subscriptionArray;
subscriptionArray = serialized || [];
subscriptions = subscriptionArray.map(itemDetails => MemberProduct.create(itemDetails));
return emberA(subscriptions);
},
serialize(deserialized) {
let subscriptionArray;
if (isEmberArray(deserialized)) {
subscriptionArray = deserialized.map((item) => {
return item;
}).compact();
} else {
subscriptionArray = [];
}
return subscriptionArray;
}
});