Ghost/ghost/admin/app/serializers/label.js
Gabriel Csapo d51f2bcf23 [chore] migrate to eslint@8 and run --fix (#2256)
closes https://github.com/TryGhost/Admin/pull/2107

- updated related babel dependencies
- bumped eslint
- ran `yarn lint:js --fix`
- added eslint ignore comments for some required non-camel-case properties
2022-02-10 10:41:36 +00:00

35 lines
1.1 KiB
JavaScript

/* eslint-disable camelcase */
import ApplicationSerializer from './application';
import {pluralize} from 'ember-inflector';
export default class LabelSerializer extends ApplicationSerializer {
attrs = {
createdAtUTC: {key: 'created_at'},
updatedAtUTC: {key: 'updated_at'}
};
serialize(/*snapshot, options*/) {
let json = super.serialize(...arguments);
// Properties that exist on the model but we don't want sent in the payload
delete json.count;
return json;
}
// if we use `queryRecord` ensure we grab the first record to avoid
// DS.SERIALIZER.REST.QUERYRECORD-ARRAY-RESPONSE deprecations
normalizeResponse(store, primaryModelClass, payload, id, requestType) {
if (requestType === 'queryRecord') {
let singular = primaryModelClass.modelName;
let plural = pluralize(singular);
if (payload[plural]) {
payload[singular] = payload[plural][0];
delete payload[plural];
}
}
return super.normalizeResponse(...arguments);
}
}