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

23 lines
667 B
JavaScript

import ApplicationSerializer from './application';
import { arrToObj } from '../utils';
export default ApplicationSerializer.extend({
embed: true,
include: ['task_states', 'task_resources'],
serialize() {
var json = ApplicationSerializer.prototype.serialize.apply(this, arguments);
if (json instanceof Array) {
json.forEach(serializeAllocation);
} else {
serializeAllocation(json);
}
return json;
},
});
function serializeAllocation(allocation) {
allocation.TaskStates = allocation.TaskStates.reduce(arrToObj('Name'), {});
allocation.TaskResources = allocation.TaskResources.reduce(arrToObj('Name', 'Resources'), {});
}