1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/web/ synced 2025-03-23 00:00:02 +01:00
VILLASweb/app/serializers/application.js

79 lines
2 KiB
JavaScript
Raw Normal View History

import DS from 'ember-data';
export default DS.RESTSerializer.extend({
normalizeFindAllResponse: function(store, primaryModelClass, payload, id, requestType) {
var json = { data: [] };
// check if payload has context responses
if (payload.contextResponses) {
payload.contextResponses.forEach(function(item) {
// check if item has context element
if (item.contextElement) {
// create new entity object
var entity = {
type: 'entity',
id: item.contextElement.id,
attributes: {
type: item.contextElement.type,
properties: []
}
}
item.contextElement.attributes.forEach(function(attribute) {
var property = {
name: attribute.name,
value: attribute.value,
type: attribute.type
}
entity.attributes.properties.push(property);
});
// add entity to data
json.data.push(entity);
}
});
}
console.log(json);
return json;
},
normalizeFindRecordResponse: function(store, primaryModelClass, payload, id, requestType) {
var json = { data: {} };
// check if payload has context responses
if (payload.contextResponses) {
payload.contextResponses.forEach(function(item) {
// check if item has context element
if (item.contextElement) {
// create new entity object
json.data = {
type: 'entity',
id: item.contextElement.id,
attributes: {
type: item.contextElement.type,
properties: []
}
}
item.contextElement.attributes.forEach(function(attribute) {
var property = {
name: attribute.name,
value: attribute.value,
type: attribute.type
}
json.data.attributes.properties.push(property);
});
}
});
}
console.log(json);
return json;
}
});