open-nomad/ui/mirage/serializers/application.js

30 lines
690 B
JavaScript
Raw Normal View History

2017-09-19 14:47:10 +00:00
import { RestSerializer } from 'ember-cli-mirage';
const keyCase = str =>
str === 'id'
? 'ID'
: str
.camelize()
.capitalize()
.replace(/Id/g, 'ID');
2017-09-19 14:47:10 +00:00
export default RestSerializer.extend({
serialize() {
const json = RestSerializer.prototype.serialize.apply(this, arguments);
const keys = Object.keys(json);
if (keys.length === 1) {
return json[keys[0]];
} else {
return json;
}
},
keyForModel: keyCase,
keyForForeignKey: str => `${keyCase(str)}ID`,
2018-03-13 21:41:54 +00:00
keyForCollection: keyCase,
2017-09-19 14:47:10 +00:00
keyForAttribute: keyCase,
keyForRelationship: keyCase,
2018-03-13 21:41:54 +00:00
keyForRelationshipIds: keyCase,
2017-09-19 14:47:10 +00:00
keyForEmbeddedRelationship: keyCase,
});