github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/ui/app/serializers/recommendation.js (about) 1 import { assign } from '@ember/polyfills'; 2 import ApplicationSerializer from './application'; 3 import classic from 'ember-classic-decorator'; 4 import queryString from 'query-string'; 5 6 @classic 7 export default class RecommendationSerializer extends ApplicationSerializer { 8 attrs = { 9 taskName: 'Task', 10 }; 11 12 separateNanos = ['SubmitTime']; 13 14 extractRelationships(modelClass, hash) { 15 const namespace = !hash.Namespace || hash.Namespace === 'default' ? undefined : hash.Namespace; 16 17 const [jobURL] = this.store 18 .adapterFor('job') 19 .buildURL('job', JSON.stringify([hash.JobID]), hash, 'findRecord') 20 .split('?'); 21 22 return assign(super.extractRelationships(...arguments), { 23 job: { 24 links: { 25 related: buildURL(jobURL, { namespace }), 26 }, 27 }, 28 }); 29 } 30 } 31 32 function buildURL(path, queryParams) { 33 const qpString = queryString.stringify(queryParams); 34 if (qpString) { 35 return `${path}?${qpString}`; 36 } 37 return path; 38 }