From c6d12ef121400a8223369c47faa7b1edd131f4e6 Mon Sep 17 00:00:00 2001 From: Jai <41024828+ChaiWithJai@users.noreply.github.com> Date: Mon, 20 Jun 2022 16:43:01 -0400 Subject: [PATCH] dx: update `canCreate` logic and token generation for secure var dev environment (#13438) * ui: add logic for create permission computed property * ui: update token factory and variable ability to simulate create permissions for dev env --- ui/app/abilities/variable.js | 8 ++++++-- ui/mirage/factories/token.js | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ui/app/abilities/variable.js b/ui/app/abilities/variable.js index 507391e93..e42c8b361 100644 --- a/ui/app/abilities/variable.js +++ b/ui/app/abilities/variable.js @@ -24,8 +24,12 @@ export default class extends AbstractAbility { }); } - @computed('rulesForNamespace.@each.capabilities') + @computed('rulesForNamespace.@each.capabilities') // TODO: edit computed property to be SecureVariables.Path "DYNAMIC PATH" get policiesSupportVariableCreation() { - return true; // TODO: check SecureVariables..capabilities[] + return this.rulesForNamespace.some((rules) => { + const keyName = `SecureVariables.Path "*".Capabilities`; // TODO: add ability to edit path, however computed properties can't take parameters + const capabilities = get(rules, keyName) || []; + return capabilities.includes('create'); + }); } } diff --git a/ui/mirage/factories/token.js b/ui/mirage/factories/token.js index 28527b7fc..b9f8c25ba 100644 --- a/ui/mirage/factories/token.js +++ b/ui/mirage/factories/token.js @@ -56,7 +56,7 @@ node { Capabilities: ['list-jobs', 'alloc-exec', 'read-logs'], SecureVariables: { 'Path "*"': { - Capabilities: ['list'], + Capabilities: ['list', 'create'], }, }, },