mirror of https://github.com/hashicorp/consul
36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
*/
|
|
|
|
import { inject as service } from '@ember/service';
|
|
import Route from 'consul-ui/routing/route';
|
|
|
|
// TODO: We should potentially move all these nspace related things
|
|
// up a level to application.js
|
|
|
|
export default class DcRoute extends Route {
|
|
@service('repository/permission') permissionsRepo;
|
|
|
|
async model(params) {
|
|
// When disabled nspaces is [], so nspace is undefined
|
|
const permissions = await this.permissionsRepo.findAll({
|
|
dc: params.dc,
|
|
ns: this.optionalParams().nspace,
|
|
partition: this.optionalParams().partition,
|
|
});
|
|
// the model here is actually required for the entire application
|
|
// but we need to wait until we are in this route so we know what the dc
|
|
// and or nspace is if the below changes please revisit the comments
|
|
// in routes/application:model
|
|
// We do this here instead of in setupController to prevent timing issues
|
|
// in lower routes
|
|
this.controllerFor('application').setProperties({
|
|
permissions,
|
|
});
|
|
return {
|
|
permissions,
|
|
};
|
|
}
|
|
}
|