9b2fb14e51
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.
38 lines
1.1 KiB
JavaScript
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);
|
|
},
|
|
});
|