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  }