mirror of
https://github.com/status-im/consul.git
synced 2025-01-09 21:35:52 +00:00
6589cbbd0d
* ui: Add the most basic workspace root in /ui * We already have a LICENSE file in the repository root * Change directory path in build scripts ui-v2 -> ui * Make yarn install flags configurable from elsewhere * Minimal workspace root makefile * Call the new docker specific target * Update yarn in the docker build image * Reconfigure the netlify target and move to the higher makefile * Move ui-v2 -> ui/packages/consul-ui * Change repo root to refleect new folder structure * Temporarily don't hoist consul-api-double * Fixup CI configuration * Fixup lint errors * Fixup Netlify target
39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
import Serializer from './application';
|
|
import { inject as service } from '@ember/service';
|
|
|
|
import { PRIMARY_KEY, SLUG_KEY } from 'consul-ui/models/kv';
|
|
import { NSPACE_KEY } from 'consul-ui/models/nspace';
|
|
import { NSPACE_QUERY_PARAM as API_NSPACE_KEY } from 'consul-ui/adapters/application';
|
|
import removeNull from 'consul-ui/utils/remove-null';
|
|
|
|
export default Serializer.extend({
|
|
primaryKey: PRIMARY_KEY,
|
|
slugKey: SLUG_KEY,
|
|
decoder: service('atob'),
|
|
// TODO: Would undefined be better instead of null?
|
|
serialize: function(snapshot, options) {
|
|
const value = snapshot.attr('Value');
|
|
return typeof value === 'string' ? this.decoder.execute(value) : null;
|
|
},
|
|
respondForQueryRecord: function(respond, query) {
|
|
return this._super(cb => respond((headers, body) => cb(headers, removeNull(body[0]))), query);
|
|
},
|
|
respondForQuery: function(respond, query) {
|
|
return this._super(
|
|
cb =>
|
|
respond((headers, body) => {
|
|
return cb(
|
|
headers,
|
|
body.map(item => {
|
|
return {
|
|
[this.slugKey]: item,
|
|
[NSPACE_KEY]: query[API_NSPACE_KEY],
|
|
};
|
|
})
|
|
);
|
|
}),
|
|
query
|
|
);
|
|
},
|
|
});
|