2019-04-16 18:02:43 +03:00
|
|
|
import MemberSubscription from 'ghost-admin/models/member-subscription';
|
|
|
|
import Transform from 'ember-data/transform';
|
|
|
|
import {A as emberA, isArray as isEmberArray} from '@ember/array';
|
|
|
|
|
|
|
|
export default Transform.extend({
|
|
|
|
deserialize(serialized) {
|
|
|
|
let subscriptions, subscriptionArray;
|
|
|
|
|
2019-10-03 20:40:42 +03:00
|
|
|
subscriptionArray = serialized.subscriptions || [];
|
2019-04-16 18:02:43 +03:00
|
|
|
|
|
|
|
subscriptions = subscriptionArray.map(itemDetails => MemberSubscription.create(itemDetails));
|
|
|
|
|
|
|
|
return emberA(subscriptions);
|
|
|
|
},
|
|
|
|
|
|
|
|
serialize(deserialized) {
|
|
|
|
let subscriptionArray;
|
|
|
|
|
|
|
|
if (isEmberArray(deserialized)) {
|
|
|
|
subscriptionArray = deserialized.map((item) => {
|
|
|
|
let adapter = item.get('adapter').trim();
|
|
|
|
let amount = item.get('amount');
|
|
|
|
let plan = item.get('plan').trim();
|
|
|
|
let status = item.get('status').trim();
|
|
|
|
let validUntil = item.get('validUntil');
|
|
|
|
|
|
|
|
return {adapter, amount, plan, status, validUntil};
|
|
|
|
}).compact();
|
|
|
|
} else {
|
|
|
|
subscriptionArray = [];
|
|
|
|
}
|
|
|
|
|
2019-10-03 20:40:42 +03:00
|
|
|
return {
|
|
|
|
subscriptions: subscriptionArray
|
|
|
|
};
|
2019-04-16 18:02:43 +03:00
|
|
|
}
|
|
|
|
});
|