open-nomad/ui/app/serializers/agent.js
Buck Doyle 9b2fb14e51
UI: Update Ember to 3.12 LTS (#6419)
This is mostly deprecation fixes and blueprint changes. There
are some dependency updates too; the changes to Ember
Basic Dropdown necessitated changing it to angle bracket
component invocation. The conversion of the rest of the
templates will happen separately.
2019-10-15 13:32:58 -05:00

38 lines
1.1 KiB
JavaScript

import ApplicationSerializer from './application';
import AdapterError from '@ember-data/adapter/error';
export default ApplicationSerializer.extend({
attrs: {
datacenter: 'dc',
address: 'Addr',
serfPort: 'Port',
},
normalize(typeHash, hash) {
if (!hash) {
// It's unusual to throw an adapter error from a serializer,
// but there is no single server end point so the serializer
// acts like the API in this case.
const error = new AdapterError([{ status: '404' }]);
error.message = 'Requested Agent was not found in set of available Agents';
throw error;
}
hash.ID = hash.Name;
hash.Datacenter = hash.Tags && hash.Tags.dc;
hash.Region = hash.Tags && hash.Tags.region;
hash.RpcPort = hash.Tags && hash.Tags.port;
return this._super(typeHash, hash);
},
normalizeResponse(store, typeClass, hash, ...args) {
return this._super(store, typeClass, hash.Members || [], ...args);
},
normalizeSingleResponse(store, typeClass, hash, id, ...args) {
return this._super(store, typeClass, hash.findBy('Name', id), id, ...args);
},
});