censis-obrand/dev-archive/censis/obrand/obrand-admin/app/serializers/useful.js
System Administrator 4df6d53584 ”2016-03-29”
2016-03-29 16:45:03 +01:00

38 lines
1.2 KiB
JavaScript

import DS from 'ember-data';
export default DS.JSONAPISerializer.extend({
serializeBelongsTo: function(record, json, relationship) {
var key = relationship.key,
belongsTo = Ember.get(record, key);
key = this.keyForRelationship ? this.keyForRelationship(key, "belongsTo") : key;
if (relationship.options.embedded === 'always') {
json[key] = belongsTo.serialize();
}
else {
return this._super(record, json, relationship);
}
},
serializeHasMany: function(record, json, relationship) {
var key = relationship.key,
hasMany = Ember.get(record, key),
relationshipType = DS.RelationshipChange.determineRelationshipType(record.constructor, relationship);
if (relationship.options.embedded === 'always') {
if (hasMany && relationshipType === 'manyToNone' || relationshipType === 'manyToMany' ||
relationshipType === 'manyToOne') {
json[key] = [];
hasMany.forEach(function(item, index){
json[key].push(item.serialize());
});
}
}
else {
return this._super(record, json, relationship);
}
}
});