github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/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 = 16 !hash.Namespace || hash.Namespace === 'default' 17 ? undefined 18 : hash.Namespace; 19 20 const [jobURL] = this.store 21 .adapterFor('job') 22 .buildURL('job', JSON.stringify([hash.JobID]), hash, 'findRecord') 23 .split('?'); 24 25 return assign(super.extractRelationships(...arguments), { 26 job: { 27 links: { 28 related: buildURL(jobURL, { namespace }), 29 }, 30 }, 31 }); 32 } 33 } 34 35 function buildURL(path, queryParams) { 36 const qpString = queryString.stringify(queryParams); 37 if (qpString) { 38 return `${path}?${qpString}`; 39 } 40 return path; 41 }