Ghost/ghost/admin/app/transforms/member-subscription.js
Rish 40fddac43c Updated member model to use new subscriptions structure
no issue

Members API was updated to have new subscription structure, this updates model and its transformation to match it.
2019-10-03 23:10:42 +05:30

38 lines
1.2 KiB
JavaScript

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;
subscriptionArray = serialized.subscriptions || [];
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 = [];
}
return {
subscriptions: subscriptionArray
};
}
});