github.com/manicqin/nomad@v0.9.5/ui/app/serializers/node.js (about) 1 import { assign } from '@ember/polyfills'; 2 import { inject as service } from '@ember/service'; 3 import ApplicationSerializer from './application'; 4 5 export default ApplicationSerializer.extend({ 6 config: service(), 7 8 attrs: { 9 isDraining: 'Drain', 10 httpAddr: 'HTTPAddr', 11 }, 12 13 normalize(modelClass, hash) { 14 // Transform the map-based Drivers object into an array-based NodeDriver fragment list 15 const drivers = hash.Drivers || {}; 16 hash.Drivers = Object.keys(drivers).map(key => { 17 return assign({}, drivers[key], { Name: key }); 18 }); 19 20 return this._super(modelClass, hash); 21 }, 22 23 extractRelationships(modelClass, hash) { 24 const { modelName } = modelClass; 25 const nodeURL = this.store 26 .adapterFor(modelName) 27 .buildURL(modelName, this.extractId(modelClass, hash), hash, 'findRecord'); 28 29 return { 30 allocations: { 31 links: { 32 related: `${nodeURL}/allocations`, 33 }, 34 }, 35 }; 36 }, 37 });