540c50f331
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
31 lines
820 B
JavaScript
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;
|
|
}
|
|
});
|
|
|