github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/ui/app/serializers/agent.js (about)

     1  import ApplicationSerializer from './application';
     2  import AdapterError from '@ember-data/adapter/error';
     3  
     4  export default class AgentSerializer extends ApplicationSerializer {
     5    attrs = {
     6      datacenter: 'dc',
     7      address: 'Addr',
     8      serfPort: 'Port',
     9    };
    10  
    11    normalize(typeHash, hash) {
    12      if (!hash) {
    13        // It's unusual to throw an adapter error from a serializer,
    14        // but there is no single server end point so the serializer
    15        // acts like the API in this case.
    16        const error = new AdapterError([{ status: '404' }]);
    17  
    18        error.message = 'Requested Agent was not found in set of available Agents';
    19        throw error;
    20      }
    21  
    22      hash.ID = hash.Name;
    23      hash.Datacenter = hash.Tags && hash.Tags.dc;
    24      hash.Region = hash.Tags && hash.Tags.region;
    25      hash.RpcPort = hash.Tags && hash.Tags.port;
    26  
    27      return super.normalize(typeHash, hash);
    28    }
    29  
    30    normalizeResponse(store, typeClass, hash, ...args) {
    31      return super.normalizeResponse(store, typeClass, hash.Members || [], ...args);
    32    }
    33  
    34    normalizeSingleResponse(store, typeClass, hash, id, ...args) {
    35      return super.normalizeSingleResponse(store, typeClass, hash.findBy('Name', id), id, ...args);
    36    }
    37  }