From 9f6cfe4edb4ac20346292e28ebcb96b484b6be49 Mon Sep 17 00:00:00 2001 From: Randall Morey Date: Thu, 12 Aug 2021 16:24:16 -0400 Subject: [PATCH 1/5] =?UTF-8?q?chore:=20=F0=9F=A4=96=20abilities=20should?= =?UTF-8?q?=20check=20the=20capabilities=20feature=20flag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/admin/app/abilities/model.js | 19 +++++++++++++++++++ ui/admin/config/environment.js | 4 ++-- ui/desktop/app/abilities/model.js | 19 +++++++++++++++++++ ui/desktop/config/environment.js | 5 ++++- 4 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 ui/admin/app/abilities/model.js create mode 100644 ui/desktop/app/abilities/model.js diff --git a/ui/admin/app/abilities/model.js b/ui/admin/app/abilities/model.js new file mode 100644 index 000000000..0081f7d57 --- /dev/null +++ b/ui/admin/app/abilities/model.js @@ -0,0 +1,19 @@ +import ModelAbility from 'api/abilities/model'; +import { inject as service } from '@ember/service'; + +export default class OverrideModelAbility extends ModelAbility { + // =services + + @service features; + + // =methods + + /** + * If the capabilities feature flag is disabled, actions are always + * authorized. This mimics pre-capabilities behavior. + */ + hasAuthorizedAction() { + if (!this.features.isEnabled('capabilities')) return true; + return super.hasAuthorizedAction(...arguments); + } +} diff --git a/ui/admin/config/environment.js b/ui/admin/config/environment.js index d20097dff..5e363c78a 100644 --- a/ui/admin/config/environment.js +++ b/ui/admin/config/environment.js @@ -131,7 +131,7 @@ module.exports = function (environment) { if (API_HOST) ENV.contentSecurityPolicy['connect-src'].push(API_HOST); // Enable features in development - // ENV.featureFlags['credential-store'] = true; + ENV.featureFlags['capabilities'] = true; } if (environment === 'test') { @@ -156,7 +156,7 @@ module.exports = function (environment) { ENV.enableConfirmService = false; // Enable tests for development features - // ENV.featureFlags['credential-store'] = true; + ENV.featureFlags['capabilities'] = true; } if (environment === 'production') { diff --git a/ui/desktop/app/abilities/model.js b/ui/desktop/app/abilities/model.js new file mode 100644 index 000000000..0081f7d57 --- /dev/null +++ b/ui/desktop/app/abilities/model.js @@ -0,0 +1,19 @@ +import ModelAbility from 'api/abilities/model'; +import { inject as service } from '@ember/service'; + +export default class OverrideModelAbility extends ModelAbility { + // =services + + @service features; + + // =methods + + /** + * If the capabilities feature flag is disabled, actions are always + * authorized. This mimics pre-capabilities behavior. + */ + hasAuthorizedAction() { + if (!this.features.isEnabled('capabilities')) return true; + return super.hasAuthorizedAction(...arguments); + } +} diff --git a/ui/desktop/config/environment.js b/ui/desktop/config/environment.js index 3895fea79..986e50b0a 100644 --- a/ui/desktop/config/environment.js +++ b/ui/desktop/config/environment.js @@ -80,7 +80,7 @@ module.exports = function (environment) { ENV.autoOrigin = true; // Enable features in development - ENV.featureFlags['oidc'] = true; + ENV.featureFlags['capabilities'] = true; } if (environment === 'test') { @@ -103,6 +103,9 @@ module.exports = function (environment) { ENV.storage = { memory: true, }; + + // Enable tests for development features + ENV.featureFlags['capabilities'] = true; } if (environment === 'production') { From b7bd40c688f4f94332d547ee52dbde6ee80c9aeb Mon Sep 17 00:00:00 2001 From: Carlos Alcaide Date: Mon, 16 Aug 2021 14:29:30 -0700 Subject: [PATCH 2/5] =?UTF-8?q?chore:=20=F0=9F=A4=96=20Update=20tar=20reso?= =?UTF-8?q?lutions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- yarn.lock | 84 +++++++++------------------------------------------- 2 files changed, 15 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index 45dd17502..303f2c21f 100755 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "minimist": "^1.2.3", "normalize-url": "^4.5.1", "glob-parent": "^5.1.2", - "tar": "^3.2.3 - ^4.4.15 - ^5.0.7 - ^6.1.2", + "tar": "^6.1.2", "xmldom": "github:xmldom/xmldom#0.7.0" }, "config": { diff --git a/yarn.lock b/yarn.lock index e32eb765e..d398e26ee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7682,7 +7682,7 @@ debug@^3.0.0, debug@^3.0.1, debug@^3.1.0, debug@^3.1.1, debug@^3.2.6: dependencies: ms "^2.1.1" -debuglog@*, debuglog@^1.0.1: +debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= @@ -11026,14 +11026,7 @@ fs-merger@^3.0.1, fs-merger@^3.2.1: fs-tree-diff "^2.0.1" walk-sync "^2.2.0" -fs-minipass@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - -fs-minipass@^2.0.0, fs-minipass@^2.1.0: +fs-minipass@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== @@ -12399,7 +12392,7 @@ import-lazy@^4.0.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== -imurmurhash@*, imurmurhash@^0.1.4: +imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= @@ -14091,11 +14084,6 @@ lodash._baseflatten@^3.0.0: lodash.isarguments "^3.0.0" lodash.isarray "^3.0.0" -lodash._baseindexof@*: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c" - integrity sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw= - lodash._baseuniq@~4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" @@ -14104,16 +14092,11 @@ lodash._baseuniq@~4.6.0: lodash._createset "~4.0.0" lodash._root "~3.0.0" -lodash._bindcallback@*, lodash._bindcallback@^3.0.0: +lodash._bindcallback@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4= -lodash._cacheindexof@*: - version "3.0.2" - resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92" - integrity sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI= - lodash._createassigner@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11" @@ -14123,19 +14106,12 @@ lodash._createassigner@^3.0.0: lodash._isiterateecall "^3.0.0" lodash.restparam "^3.0.0" -lodash._createcache@*: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093" - integrity sha1-VtagZAF2JeeevKa4AY4XRAvc8JM= - dependencies: - lodash._getnative "^3.0.0" - lodash._createset@~4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY= -lodash._getnative@*, lodash._getnative@^3.0.0: +lodash._getnative@^3.0.0: version "3.9.1" resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= @@ -14353,7 +14329,7 @@ lodash.pick@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= -lodash.restparam@*, lodash.restparam@^3.0.0: +lodash.restparam@^3.0.0: version "3.6.1" resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU= @@ -15156,7 +15132,7 @@ minipass-sized@^1.0.3: dependencies: minipass "^3.0.0" -minipass@^2.2.0, minipass@^2.3.5, minipass@^2.6.0, minipass@^2.9.0: +minipass@^2.2.0, minipass@^2.3.5: version "2.9.0" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== @@ -15171,14 +15147,7 @@ minipass@^3.0.0, minipass@^3.0.1, minipass@^3.1.0, minipass@^3.1.1, minipass@^3. dependencies: yallist "^4.0.0" -minizlib@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - -minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2: +minizlib@^2.0.0, minizlib@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== @@ -18691,7 +18660,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -20046,35 +20015,10 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tar@^4, tar@^4.4.10, tar@^4.4.12, tar@^4.4.15: - version "4.4.16" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.16.tgz#4a48b3c025e77d9d0c788f038a09b91c594d326d" - integrity sha512-gOVUT/KWPkGFZQmCRDVFNUWBl7niIo/PRR7lzrIqtZpit+st54lGROuVjc6zEQM9FhH+dJfQIl+9F0k8GNXg5g== - dependencies: - chownr "^1.1.4" - fs-minipass "^1.2.7" - minipass "^2.9.0" - minizlib "^1.3.3" - mkdirp "^0.5.5" - safe-buffer "^5.2.1" - yallist "^3.1.1" - -tar@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/tar/-/tar-5.0.8.tgz#8cbddead599d7335aa2be551bfb18521dea488a2" - integrity sha512-v71KDHvYI+EJ8+o6W44fzuiTDcfHrlVjtvn4ITF1ClH5GbU6H9InNX1XNG07YwZSkloNQQxAJabkjEdHyqjn1g== - dependencies: - chownr "^1.1.4" - fs-minipass "^2.1.0" - minipass "^3.1.3" - minizlib "^2.1.2" - mkdirp "^0.5.5" - yallist "^4.0.0" - -tar@^6.0.2, tar@^6.0.5, tar@^6.1.0: - version "6.1.7" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.7.tgz#c566d1107d38b09e92983a68db5534fc7f6cab42" - integrity sha512-PBoRkOJU0X3lejJ8GaRCsobjXTgFofRDSPdSUhRSdlwJfifRlQBwGXitDItdGFu0/h0XDMCkig0RN1iT7DBxhA== +tar@^4, tar@^4.4.10, tar@^4.4.12, tar@^4.4.15, tar@^5.0.5, tar@^6.0.2, tar@^6.0.5, tar@^6.1.0, tar@^6.1.2: + version "6.1.8" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.8.tgz#4fc50cfe56511c538ce15b71e05eebe66530cbd4" + integrity sha512-sb9b0cp855NbkMJcskdSYA7b11Q8JsX4qe4pyUAfHp+Y6jBjJeek2ZVlwEfWayshEIwlIzXx0Fain3QG9JPm2A== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" @@ -21793,7 +21737,7 @@ yallist@^2.1.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: +yallist@^3.0.0, yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== From a39752d1c9e60f02c3a57b7f4ce403f8bec15997 Mon Sep 17 00:00:00 2001 From: Dharini Jeeva Date: Mon, 16 Aug 2021 17:08:07 -0700 Subject: [PATCH 3/5] Update delete-test.js --- ui/admin/tests/acceptance/users/delete-test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/admin/tests/acceptance/users/delete-test.js b/ui/admin/tests/acceptance/users/delete-test.js index 45933206a..14b5371fc 100644 --- a/ui/admin/tests/acceptance/users/delete-test.js +++ b/ui/admin/tests/acceptance/users/delete-test.js @@ -10,7 +10,7 @@ import { //invalidateSession, } from 'ember-simple-auth/test-support'; -module('Acceptance | users', function (hooks) { +module('Acceptance | users | delete', function (hooks) { setupApplicationTest(hooks); setupMirage(hooks); From 5284514a05158de64eaaac467f6aa1ad9e40df60 Mon Sep 17 00:00:00 2001 From: Dharini Jeeva Date: Mon, 16 Aug 2021 17:08:19 -0700 Subject: [PATCH 4/5] Update read-test.js --- ui/admin/tests/acceptance/users/read-test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/admin/tests/acceptance/users/read-test.js b/ui/admin/tests/acceptance/users/read-test.js index 551cf96f6..93304220e 100644 --- a/ui/admin/tests/acceptance/users/read-test.js +++ b/ui/admin/tests/acceptance/users/read-test.js @@ -10,7 +10,7 @@ import { //invalidateSession, } from 'ember-simple-auth/test-support'; -module('Acceptance | users', function (hooks) { +module('Acceptance | users | read', function (hooks) { setupApplicationTest(hooks); setupMirage(hooks); From 14d96a4a8aa3b9cb96738e8171e399d6c00943ec Mon Sep 17 00:00:00 2001 From: Dharini Jeeva Date: Mon, 16 Aug 2021 17:08:31 -0700 Subject: [PATCH 5/5] Update update-test.js --- ui/admin/tests/acceptance/users/update-test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/admin/tests/acceptance/users/update-test.js b/ui/admin/tests/acceptance/users/update-test.js index eade03c6b..3e0a4b18b 100644 --- a/ui/admin/tests/acceptance/users/update-test.js +++ b/ui/admin/tests/acceptance/users/update-test.js @@ -10,7 +10,7 @@ import { //invalidateSession, } from 'ember-simple-auth/test-support'; -module('Acceptance | users', function (hooks) { +module('Acceptance | users | update', function (hooks) { setupApplicationTest(hooks); setupMirage(hooks);