Files
vault/ui/app/routes/vault.js
Chelsea Shaw cb217388d4 UI: handle reduced disclosure endpoints (#24262)
* Create app-footer component with tests

* glimmerize vault route + controller

* Add dev mode badge to new footer

* Fix version on dashboard

* update app-footer tests

* update version title component

* Handle case for chroot namespace fail on health check

* cleanup

* fix ent tests

* add missing headers

* extra version fetch on login success, clear version on logout and seal

* Add coverage for clearing version on seal

* rename isOSS to isCommunity

* remove is-version helper

* test version in footer on unseal flow

* fix enterprise test

* VAULT-21399 test coverage

* VAULT-21400 test coverage
2023-12-04 14:28:16 -06:00

50 lines
1.1 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import { later } from '@ember/runloop';
import { Promise } from 'rsvp';
import { inject as service } from '@ember/service';
import Route from '@ember/routing/route';
import Ember from 'ember';
const SPLASH_DELAY = 300;
export default class VaultRoute extends Route {
@service router;
@service store;
@service version;
beforeModel() {
// So we can know what type (Enterprise/Community) we're running
return this.version.fetchType();
}
model() {
const delay = Ember.testing ? 0 : SPLASH_DELAY;
// hardcode single cluster
const fixture = {
data: {
id: '1',
type: 'cluster',
attributes: {
name: 'vault',
},
},
};
this.store.push(fixture);
return new Promise((resolve) => {
later(() => {
resolve(this.store.peekAll('cluster'));
}, delay);
});
}
redirect(model, transition) {
if (model.get('length') === 1 && transition.targetName === 'vault.index') {
return this.router.transitionTo('vault.cluster', model.get('firstObject.name'));
}
}
}