mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-19 13:41:10 +02:00
* add capabilities service to replication engine * fix capabilities paths in route file * pass updated capabilities using getters * add changelog * fix logic so default is based on undefined capabilities (not no mode)
32 lines
942 B
JavaScript
32 lines
942 B
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
import ReplicationModeBaseController from './replication-mode';
|
|
import { tracked } from '@glimmer/tracking';
|
|
|
|
export default class ReplicationIndexController extends ReplicationModeBaseController {
|
|
@tracked modeSelection = 'dr';
|
|
|
|
getPerm(type) {
|
|
if (this.modeSelection === 'dr') {
|
|
// returns canEnablePrimaryDr or canEnableSecondaryDr
|
|
return `canEnable${type}Dr`;
|
|
}
|
|
if (this.modeSelection === 'performance') {
|
|
// returns canEnablePrimaryPerformance or canEnableSecondaryPerformance
|
|
return `canEnable${type}Performance`;
|
|
}
|
|
}
|
|
|
|
// if there's a problem checking capabilities, default to true
|
|
// since the backend will gate as a fallback
|
|
get canEnablePrimary() {
|
|
return this.model[this.getPerm('Primary')] ?? true;
|
|
}
|
|
get canEnableSecondary() {
|
|
return this.model[this.getPerm('Secondary')] ?? true;
|
|
}
|
|
}
|