/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ 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 { 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; } }