claire bontempo 49b46ead82
UI: Fix enabling replication capabilities bug (#28371)
* 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)
2024-09-12 08:51:11 -05:00

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;
}
}