open-consul/ui/packages/consul-ui/app/routes/dc/kv/index.js

34 lines
832 B
JavaScript

import Route from 'consul-ui/routing/route';
import { action } from '@ember/object';
import isFolder from 'consul-ui/utils/isFolder';
export default class IndexRoute extends Route {
queryParams = {
sortBy: 'sort',
kind: 'kind',
search: {
as: 'filter',
replace: true,
},
};
beforeModel() {
// we are index or folder, so if the key doesn't have a trailing slash
// add one to force a fake findBySlug
const params = this.paramsFor(this.routeName);
const key = params.key || '/';
if (!isFolder(key)) {
return this.replaceWith(this.routeName, key + '/');
}
}
@action
error(e) {
if (e.errors && e.errors[0] && e.errors[0].status == '404') {
return this.transitionTo('dc.kv.index');
}
// let the route above handle the error
return true;
}
}