This reverts commit b5d33948dc.
This commit is contained in:
1 parent
9204c63b17
commit
f1ffb80b80
107 files changed
+435
-542
No files matched your search
@@ -16,7 +16,7 @@ class InvalidRolePrincipalTypeError extends Error {
|
||||
export default class RoleAbility extends ModelAbility {
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =permissions
|
||||
|
||||
@@ -64,6 +64,6 @@ export default class RoleAbility extends ModelAbility {
|
||||
`Expected a role principal of type 'user', 'group', or 'managed-group'. Got '${type}'.`,
|
||||
);
|
||||
}
|
||||
return this.abilities.can(`read ${type}`, this.model);
|
||||
return this.can.can(`read ${type}`, this.model);
|
||||
}
|
||||
}
|
||||
@@ -33,7 +33,7 @@
|
||||
"broccoli-plugin": "^4.0.7",
|
||||
"broccoli-source": "^3.0.1",
|
||||
"ember-auto-import": "^2.10.0",
|
||||
"ember-can": "^8.0.0",
|
||||
"ember-can": "^4.2.0",
|
||||
"ember-cli-babel": "^8.2.0",
|
||||
"ember-cli-htmlbars": "^6.3.0",
|
||||
"ember-cli-mirage": "^3.0.3",
|
||||
|
||||
@@ -7,12 +7,11 @@ import Application from '@ember/application';
|
||||
import Resolver from 'ember-resolver';
|
||||
import loadInitializers from 'ember-load-initializers';
|
||||
import config from 'dummy/config/environment';
|
||||
import { extendResolver } from 'ember-can';
|
||||
|
||||
export default class App extends Application {
|
||||
modulePrefix = config.modulePrefix;
|
||||
podModulePrefix = config.podModulePrefix;
|
||||
Resolver = extendResolver(Resolver);
|
||||
Resolver = Resolver;
|
||||
}
|
||||
|
||||
loadInitializers(App, config.modulePrefix);
|
||||
@@ -14,11 +14,11 @@ import {
|
||||
module('Unit | Abilities | Account', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
let abilitiesService;
|
||||
let canService;
|
||||
let store;
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
abilitiesService = this.owner.lookup('service:abilities');
|
||||
canService = this.owner.lookup('service:can');
|
||||
store = this.owner.lookup('service:store');
|
||||
});
|
||||
|
||||
@@ -26,9 +26,9 @@ module('Unit | Abilities | Account', function (hooks) {
|
||||
const account = store.createRecord('auth-method', {
|
||||
authorized_actions: ['set-password'],
|
||||
});
|
||||
assert.true(abilitiesService.can('setPassword account', account));
|
||||
assert.true(canService.can('setPassword account', account));
|
||||
account.authorized_actions = [];
|
||||
assert.false(abilitiesService.can('setPassword account', account));
|
||||
assert.false(canService.can('setPassword account', account));
|
||||
});
|
||||
|
||||
test('can read known account types when authorized', function (assert) {
|
||||
@@ -36,13 +36,13 @@ module('Unit | Abilities | Account', function (hooks) {
|
||||
authorized_actions: ['read'],
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
});
|
||||
assert.true(abilitiesService.can('read account', account));
|
||||
assert.true(canService.can('read account', account));
|
||||
account.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.true(abilitiesService.can('read account', account));
|
||||
assert.true(canService.can('read account', account));
|
||||
account.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.true(abilitiesService.can('read account', account));
|
||||
assert.true(canService.can('read account', account));
|
||||
account.type = 'no-such-type';
|
||||
assert.false(abilitiesService.can('read account', account));
|
||||
assert.false(canService.can('read account', account));
|
||||
});
|
||||
|
||||
test('cannot read accounts when unauthorized', function (assert) {
|
||||
@@ -50,13 +50,13 @@ module('Unit | Abilities | Account', function (hooks) {
|
||||
authorized_actions: [],
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
});
|
||||
assert.false(abilitiesService.can('read account', account));
|
||||
assert.false(canService.can('read account', account));
|
||||
account.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.false(abilitiesService.can('read account', account));
|
||||
assert.false(canService.can('read account', account));
|
||||
account.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.false(abilitiesService.can('read account', account));
|
||||
assert.false(canService.can('read account', account));
|
||||
account.type = 'no-such-type';
|
||||
assert.false(abilitiesService.can('read account', account));
|
||||
assert.false(canService.can('read account', account));
|
||||
});
|
||||
|
||||
test('can delete known account types when authorized', function (assert) {
|
||||
@@ -64,13 +64,13 @@ module('Unit | Abilities | Account', function (hooks) {
|
||||
authorized_actions: ['delete'],
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
});
|
||||
assert.true(abilitiesService.can('delete account', account));
|
||||
assert.true(canService.can('delete account', account));
|
||||
account.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.true(abilitiesService.can('delete account', account));
|
||||
assert.true(canService.can('delete account', account));
|
||||
account.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.true(abilitiesService.can('delete account', account));
|
||||
assert.true(canService.can('delete account', account));
|
||||
account.type = 'no-such-type';
|
||||
assert.false(abilitiesService.can('delete account', account));
|
||||
assert.false(canService.can('delete account', account));
|
||||
});
|
||||
|
||||
test('cannot delete accounts when unauthorized', function (assert) {
|
||||
@@ -78,13 +78,13 @@ module('Unit | Abilities | Account', function (hooks) {
|
||||
authorized_actions: ['delete'],
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
});
|
||||
assert.true(abilitiesService.can('delete account', account));
|
||||
assert.true(canService.can('delete account', account));
|
||||
account.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.true(abilitiesService.can('delete account', account));
|
||||
assert.true(canService.can('delete account', account));
|
||||
account.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.true(abilitiesService.can('delete account', account));
|
||||
assert.true(canService.can('delete account', account));
|
||||
account.type = 'no-such-type';
|
||||
assert.false(abilitiesService.can('delete account', account));
|
||||
assert.false(canService.can('delete account', account));
|
||||
});
|
||||
|
||||
test('can update known account types when authorized', function (assert) {
|
||||
@@ -92,13 +92,13 @@ module('Unit | Abilities | Account', function (hooks) {
|
||||
authorized_actions: ['update'],
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
});
|
||||
assert.true(abilitiesService.can('update account', account));
|
||||
assert.true(canService.can('update account', account));
|
||||
account.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.true(abilitiesService.can('update account', account));
|
||||
assert.true(canService.can('update account', account));
|
||||
account.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.true(abilitiesService.can('update account', account));
|
||||
assert.true(canService.can('update account', account));
|
||||
account.type = 'no-such-type';
|
||||
assert.false(abilitiesService.can('update account', account));
|
||||
assert.false(canService.can('update account', account));
|
||||
});
|
||||
|
||||
test('cannot update accounts when unauthorized', function (assert) {
|
||||
@@ -106,12 +106,12 @@ module('Unit | Abilities | Account', function (hooks) {
|
||||
authorized_actions: [],
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
});
|
||||
assert.false(abilitiesService.can('update account', account));
|
||||
assert.false(canService.can('update account', account));
|
||||
account.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.false(abilitiesService.can('update account', account));
|
||||
assert.false(canService.can('update account', account));
|
||||
account.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.false(abilitiesService.can('update account', account));
|
||||
assert.false(canService.can('update account', account));
|
||||
account.type = 'no-such-type';
|
||||
assert.false(abilitiesService.can('update account', account));
|
||||
assert.false(canService.can('update account', account));
|
||||
});
|
||||
});
|
||||
@@ -14,11 +14,11 @@ import {
|
||||
module('Unit | Abilities | Auth Method', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
let abilitiesService;
|
||||
let canService;
|
||||
let store;
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
abilitiesService = this.owner.lookup('service:abilities');
|
||||
canService = this.owner.lookup('service:can');
|
||||
store = this.owner.lookup('service:store');
|
||||
});
|
||||
|
||||
@@ -27,13 +27,13 @@ module('Unit | Abilities | Auth Method', function (hooks) {
|
||||
authorized_actions: ['read'],
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
});
|
||||
assert.true(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.true(canService.can('read auth-method', authMethod));
|
||||
authMethod.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.true(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.true(canService.can('read auth-method', authMethod));
|
||||
authMethod.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.true(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.true(canService.can('read auth-method', authMethod));
|
||||
authMethod.type = 'no-such-type';
|
||||
assert.false(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.false(canService.can('read auth-method', authMethod));
|
||||
});
|
||||
|
||||
test('cannot read auth methods when unauthorized', function (assert) {
|
||||
@@ -41,13 +41,13 @@ module('Unit | Abilities | Auth Method', function (hooks) {
|
||||
authorized_actions: [],
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
});
|
||||
assert.false(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.false(canService.can('read auth-method', authMethod));
|
||||
authMethod.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.false(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.false(canService.can('read auth-method', authMethod));
|
||||
authMethod.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.false(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.false(canService.can('read auth-method', authMethod));
|
||||
authMethod.type = 'no-such-type';
|
||||
assert.false(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.false(canService.can('read auth-method', authMethod));
|
||||
});
|
||||
|
||||
test('can delete known auth method types when authorized', function (assert) {
|
||||
@@ -55,13 +55,13 @@ module('Unit | Abilities | Auth Method', function (hooks) {
|
||||
authorized_actions: ['delete'],
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
});
|
||||
assert.true(abilitiesService.can('delete auth-method', authMethod));
|
||||
assert.true(canService.can('delete auth-method', authMethod));
|
||||
authMethod.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.true(abilitiesService.can('delete auth-method', authMethod));
|
||||
assert.true(canService.can('delete auth-method', authMethod));
|
||||
authMethod.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.true(abilitiesService.can('delete auth-method', authMethod));
|
||||
assert.true(canService.can('delete auth-method', authMethod));
|
||||
authMethod.type = 'no-such-type';
|
||||
assert.false(abilitiesService.can('delete auth-method', authMethod));
|
||||
assert.false(canService.can('delete auth-method', authMethod));
|
||||
});
|
||||
|
||||
test('cannot delete auth methods when unauthorized', function (assert) {
|
||||
@@ -69,13 +69,13 @@ module('Unit | Abilities | Auth Method', function (hooks) {
|
||||
authorized_actions: ['delete'],
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
});
|
||||
assert.true(abilitiesService.can('delete auth-method', authMethod));
|
||||
assert.true(canService.can('delete auth-method', authMethod));
|
||||
authMethod.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.true(abilitiesService.can('delete auth-method', authMethod));
|
||||
assert.true(canService.can('delete auth-method', authMethod));
|
||||
authMethod.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.true(abilitiesService.can('delete auth-method', authMethod));
|
||||
assert.true(canService.can('delete auth-method', authMethod));
|
||||
authMethod.type = 'no-such-type';
|
||||
assert.false(abilitiesService.can('delete auth-method', authMethod));
|
||||
assert.false(canService.can('delete auth-method', authMethod));
|
||||
});
|
||||
|
||||
test('can update known auth method types when authorized', function (assert) {
|
||||
@@ -83,13 +83,13 @@ module('Unit | Abilities | Auth Method', function (hooks) {
|
||||
authorized_actions: ['update'],
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
});
|
||||
assert.true(abilitiesService.can('update auth-method', authMethod));
|
||||
assert.true(canService.can('update auth-method', authMethod));
|
||||
authMethod.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.true(abilitiesService.can('update auth-method', authMethod));
|
||||
assert.true(canService.can('update auth-method', authMethod));
|
||||
authMethod.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.true(abilitiesService.can('update auth-method', authMethod));
|
||||
assert.true(canService.can('update auth-method', authMethod));
|
||||
authMethod.type = 'no-such-type';
|
||||
assert.false(abilitiesService.can('update auth-method', authMethod));
|
||||
assert.false(canService.can('update auth-method', authMethod));
|
||||
});
|
||||
|
||||
test('cannot update auth methods when unauthorized', function (assert) {
|
||||
@@ -97,12 +97,12 @@ module('Unit | Abilities | Auth Method', function (hooks) {
|
||||
authorized_actions: [],
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
});
|
||||
assert.false(abilitiesService.can('update auth-method', authMethod));
|
||||
assert.false(canService.can('update auth-method', authMethod));
|
||||
authMethod.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.false(abilitiesService.can('update auth-method', authMethod));
|
||||
assert.false(canService.can('update auth-method', authMethod));
|
||||
authMethod.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.false(abilitiesService.can('update auth-method', authMethod));
|
||||
assert.false(canService.can('update auth-method', authMethod));
|
||||
authMethod.type = 'no-such-type';
|
||||
assert.false(abilitiesService.can('update auth-method', authMethod));
|
||||
assert.false(canService.can('update auth-method', authMethod));
|
||||
});
|
||||
});
|
||||
@@ -11,11 +11,11 @@ import { TYPE_SESSION_RECORDING_SSH } from 'api/models/session-recording';
|
||||
module('Unit | Ability | channel-recording', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
let abilitiesService;
|
||||
let canService;
|
||||
let store;
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
abilitiesService = this.owner.lookup('service:abilities');
|
||||
canService = this.owner.lookup('service:can');
|
||||
store = this.owner.lookup('service:store');
|
||||
});
|
||||
|
||||
@@ -41,10 +41,7 @@ module('Unit | Ability | channel-recording', function (hooks) {
|
||||
});
|
||||
|
||||
assert.true(
|
||||
abilitiesService.can(
|
||||
'getAsciicast channel-recording',
|
||||
channelRecordingModel,
|
||||
),
|
||||
canService.can('getAsciicast channel-recording', channelRecordingModel),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -65,10 +62,7 @@ module('Unit | Ability | channel-recording', function (hooks) {
|
||||
});
|
||||
|
||||
assert.false(
|
||||
abilitiesService.can(
|
||||
'getAsciicast channel-recording',
|
||||
channelRecordingModel,
|
||||
),
|
||||
canService.can('getAsciicast channel-recording', channelRecordingModel),
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -10,7 +10,7 @@ module('Unit | Abilities | Group', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
test('it reflects when a given group resource may add members based on authorized_actions', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const model = {
|
||||
authorized_actions: ['add-members'],
|
||||
};
|
||||
@@ -20,7 +20,7 @@ module('Unit | Abilities | Group', function (hooks) {
|
||||
});
|
||||
|
||||
test('it reflects when a given group resource may remove members based on authorized_actions', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const model = {
|
||||
authorized_actions: ['remove-members'],
|
||||
};
|
||||
|
||||
@@ -10,7 +10,7 @@ module('Unit | Abilities | Host Set', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
test('it reflects when a given host set resource may add hosts based on authorized_actions', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const model = {
|
||||
authorized_actions: ['add-hosts'],
|
||||
};
|
||||
@@ -20,7 +20,7 @@ module('Unit | Abilities | Host Set', function (hooks) {
|
||||
});
|
||||
|
||||
test('it reflects when a given hostSet resource may remove hosts based on authorized_actions', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const model = {
|
||||
authorized_actions: ['remove-hosts'],
|
||||
};
|
||||
|
||||
@@ -10,7 +10,7 @@ module('Unit | Abilities | Model', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
test('it reflects when a given model may be read based on authorized_actions', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const model = {
|
||||
authorized_actions: ['read'],
|
||||
};
|
||||
@@ -20,7 +20,7 @@ module('Unit | Abilities | Model', function (hooks) {
|
||||
});
|
||||
|
||||
test('it reflects when a given model may be updated based on authorized_actions', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const model = {
|
||||
authorized_actions: ['update'],
|
||||
};
|
||||
@@ -30,7 +30,7 @@ module('Unit | Abilities | Model', function (hooks) {
|
||||
});
|
||||
|
||||
test('it reflects when a given model may be saved based on isNew and authorized_actions', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
let model = {
|
||||
isNew: false,
|
||||
authorized_actions: ['update'],
|
||||
@@ -58,7 +58,7 @@ module('Unit | Abilities | Model', function (hooks) {
|
||||
});
|
||||
|
||||
test('it reflects when a given model may be deleted based on authorized_actions', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const model = {
|
||||
authorized_actions: ['delete'],
|
||||
};
|
||||
@@ -70,7 +70,7 @@ module('Unit | Abilities | Model', function (hooks) {
|
||||
// =collections
|
||||
|
||||
test('it reflects when a resource may be listed based on authorized_collection_actions', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const model = {
|
||||
authorized_collection_actions: {
|
||||
foobars: ['list'],
|
||||
@@ -82,7 +82,7 @@ module('Unit | Abilities | Model', function (hooks) {
|
||||
});
|
||||
|
||||
test('it reflects when a resource may be created based on authorized_collection_actions', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const model = {
|
||||
authorized_collection_actions: {
|
||||
foobars: ['create'],
|
||||
|
||||
@@ -10,7 +10,7 @@ module('Unit | Abilities | Role', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
test('it reflects when a given role may set grants based on authorized_actions', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const model = {
|
||||
authorized_actions: ['set-grants'],
|
||||
};
|
||||
@@ -20,7 +20,7 @@ module('Unit | Abilities | Role', function (hooks) {
|
||||
});
|
||||
|
||||
test('it reflects when a given role may add principals based on authorized_actions', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const model = {
|
||||
authorized_actions: ['add-principals'],
|
||||
};
|
||||
@@ -30,7 +30,7 @@ module('Unit | Abilities | Role', function (hooks) {
|
||||
});
|
||||
|
||||
test('it reflects when a given role may remove principals based on authorized_actions', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const model = {
|
||||
authorized_actions: ['remove-principals'],
|
||||
};
|
||||
@@ -40,7 +40,7 @@ module('Unit | Abilities | Role', function (hooks) {
|
||||
});
|
||||
|
||||
test('it proxies role principal read ability to the appropriate ability type', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const user = {
|
||||
constructor: { modelName: 'user' },
|
||||
authorized_actions: [],
|
||||
@@ -65,7 +65,7 @@ module('Unit | Abilities | Role', function (hooks) {
|
||||
});
|
||||
|
||||
test('it throws an error for unknown principal types on principal read check', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const account = {
|
||||
constructor: { modelName: 'account' },
|
||||
authorized_actions: ['read'],
|
||||
@@ -77,7 +77,7 @@ module('Unit | Abilities | Role', function (hooks) {
|
||||
});
|
||||
|
||||
test('can set grant scopes based on authorized_actions', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const model = {
|
||||
authorized_actions: ['set-grant-scopes'],
|
||||
};
|
||||
|
||||
@@ -9,10 +9,10 @@ import { setupTest } from 'ember-qunit';
|
||||
module('Unit | Abilities | Scope', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
let abilitiesService;
|
||||
let canService;
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
abilitiesService = this.owner.lookup('service:abilities');
|
||||
canService = this.owner.lookup('service:can');
|
||||
});
|
||||
test('it exists', function (assert) {
|
||||
const ability = this.owner.lookup('ability:scope');
|
||||
@@ -23,9 +23,9 @@ module('Unit | Abilities | Scope', function (hooks) {
|
||||
const model = {
|
||||
authorized_actions: ['attach-storage-policy'],
|
||||
};
|
||||
assert.true(abilitiesService.can('attachStoragePolicy scope', model));
|
||||
assert.true(canService.can('attachStoragePolicy scope', model));
|
||||
model.authorized_actions = [];
|
||||
assert.false(abilitiesService.can('attachStoragePolicy scope', model));
|
||||
assert.false(canService.can('attachStoragePolicy scope', model));
|
||||
});
|
||||
|
||||
test('it reflects when a given scope may remove a policy in org scope', function (assert) {
|
||||
@@ -33,8 +33,8 @@ module('Unit | Abilities | Scope', function (hooks) {
|
||||
authorized_actions: ['detach-storage-policy'],
|
||||
};
|
||||
|
||||
assert.true(abilitiesService.can('detachStoragePolicy scope', model));
|
||||
assert.true(canService.can('detachStoragePolicy scope', model));
|
||||
model.authorized_actions = [];
|
||||
assert.false(abilitiesService.can('detachStoragePolicy scope', model));
|
||||
assert.false(canService.can('detachStoragePolicy scope', model));
|
||||
});
|
||||
});
|
||||
@@ -14,11 +14,11 @@ import {
|
||||
module('Unit | Ability | session-recording', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
let abilitiesService;
|
||||
let canService;
|
||||
let store;
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
abilitiesService = this.owner.lookup('service:abilities');
|
||||
canService = this.owner.lookup('service:can');
|
||||
store = this.owner.lookup('service:store');
|
||||
});
|
||||
|
||||
@@ -42,13 +42,13 @@ module('Unit | Ability | session-recording', function (hooks) {
|
||||
);
|
||||
|
||||
assert.true(
|
||||
abilitiesService.can(
|
||||
canService.can(
|
||||
'download session-recording',
|
||||
recordingWithAuthorizedAction,
|
||||
),
|
||||
);
|
||||
assert.false(
|
||||
abilitiesService.can(
|
||||
canService.can(
|
||||
'download session-recording',
|
||||
recordingWithoutAuthorizedAction,
|
||||
),
|
||||
@@ -70,16 +70,10 @@ module('Unit | Ability | session-recording', function (hooks) {
|
||||
state: STATE_SESSION_RECORDING_AVAILABLE,
|
||||
});
|
||||
assert.false(
|
||||
abilitiesService.can(
|
||||
'delete session-recording',
|
||||
recordingNotinAvaialableState,
|
||||
),
|
||||
canService.can('delete session-recording', recordingNotinAvaialableState),
|
||||
);
|
||||
assert.true(
|
||||
abilitiesService.can(
|
||||
'delete session-recording',
|
||||
recordingInAvailableState,
|
||||
),
|
||||
canService.can('delete session-recording', recordingInAvailableState),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -89,7 +83,7 @@ module('Unit | Ability | session-recording', function (hooks) {
|
||||
});
|
||||
|
||||
assert.true(
|
||||
abilitiesService.can('reapplyStoragePolicy session-recording', recording),
|
||||
canService.can('reapplyStoragePolicy session-recording', recording),
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -15,11 +15,11 @@ import {
|
||||
module('Unit | Ability | session', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
let abilitiesService;
|
||||
let canService;
|
||||
let store;
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
abilitiesService = this.owner.lookup('service:abilities');
|
||||
canService = this.owner.lookup('service:can');
|
||||
store = this.owner.lookup('service:store');
|
||||
});
|
||||
|
||||
@@ -34,7 +34,7 @@ module('Unit | Ability | session', function (hooks) {
|
||||
status: STATUS_SESSION_ACTIVE,
|
||||
});
|
||||
|
||||
assert.true(abilitiesService.can('read session', session));
|
||||
assert.true(canService.can('read session', session));
|
||||
});
|
||||
|
||||
test('can read a session that is pending', function (assert) {
|
||||
@@ -43,7 +43,7 @@ module('Unit | Ability | session', function (hooks) {
|
||||
status: STATUS_SESSION_PENDING,
|
||||
});
|
||||
|
||||
assert.true(abilitiesService.can('read session', session));
|
||||
assert.true(canService.can('read session', session));
|
||||
});
|
||||
|
||||
test('cannot read a session that is not authorized', function (assert) {
|
||||
@@ -64,10 +64,10 @@ module('Unit | Ability | session', function (hooks) {
|
||||
status: STATUS_SESSION_TERMINATED,
|
||||
});
|
||||
|
||||
assert.false(abilitiesService.can('read session', activeSession));
|
||||
assert.false(abilitiesService.can('read session', pendingSession));
|
||||
assert.false(abilitiesService.can('read session', cancelingSession));
|
||||
assert.false(abilitiesService.can('read session', terminatedSession));
|
||||
assert.false(canService.can('read session', activeSession));
|
||||
assert.false(canService.can('read session', pendingSession));
|
||||
assert.false(canService.can('read session', cancelingSession));
|
||||
assert.false(canService.can('read session', terminatedSession));
|
||||
});
|
||||
|
||||
test('cannot read a session that is canceling', function (assert) {
|
||||
@@ -76,7 +76,7 @@ module('Unit | Ability | session', function (hooks) {
|
||||
status: STATUS_SESSION_CANCELING,
|
||||
});
|
||||
|
||||
assert.false(abilitiesService.can('read session', session));
|
||||
assert.false(canService.can('read session', session));
|
||||
});
|
||||
|
||||
test('cannot read a session that is terminated', function (assert) {
|
||||
@@ -85,7 +85,7 @@ module('Unit | Ability | session', function (hooks) {
|
||||
status: STATUS_SESSION_TERMINATED,
|
||||
});
|
||||
|
||||
assert.false(abilitiesService.can('read session', session));
|
||||
assert.false(canService.can('read session', session));
|
||||
});
|
||||
|
||||
test('can read a session that has read:self', function (assert) {
|
||||
@@ -94,7 +94,7 @@ module('Unit | Ability | session', function (hooks) {
|
||||
status: STATUS_SESSION_ACTIVE,
|
||||
});
|
||||
|
||||
assert.true(abilitiesService.can('read session', session));
|
||||
assert.true(canService.can('read session', session));
|
||||
});
|
||||
|
||||
test('can cancel a session that is active', function (assert) {
|
||||
@@ -103,7 +103,7 @@ module('Unit | Ability | session', function (hooks) {
|
||||
status: STATUS_SESSION_ACTIVE,
|
||||
});
|
||||
|
||||
assert.true(abilitiesService.can('cancel session', session));
|
||||
assert.true(canService.can('cancel session', session));
|
||||
});
|
||||
|
||||
test('can cancel a session that has cancel:self', function (assert) {
|
||||
@@ -112,7 +112,7 @@ module('Unit | Ability | session', function (hooks) {
|
||||
status: STATUS_SESSION_ACTIVE,
|
||||
});
|
||||
|
||||
assert.true(abilitiesService.can('cancel session', session));
|
||||
assert.true(canService.can('cancel session', session));
|
||||
});
|
||||
|
||||
test('can cancel a session that is pending', function (assert) {
|
||||
@@ -121,7 +121,7 @@ module('Unit | Ability | session', function (hooks) {
|
||||
status: STATUS_SESSION_PENDING,
|
||||
});
|
||||
|
||||
assert.true(abilitiesService.can('cancel session', session));
|
||||
assert.true(canService.can('cancel session', session));
|
||||
});
|
||||
|
||||
test('cannot cancel a session that is canceling', function (assert) {
|
||||
@@ -130,7 +130,7 @@ module('Unit | Ability | session', function (hooks) {
|
||||
status: STATUS_SESSION_CANCELING,
|
||||
});
|
||||
|
||||
assert.false(abilitiesService.can('cancel session', session));
|
||||
assert.false(canService.can('cancel session', session));
|
||||
});
|
||||
|
||||
test('cannot cancel a session that is terminated', function (assert) {
|
||||
@@ -139,7 +139,7 @@ module('Unit | Ability | session', function (hooks) {
|
||||
status: STATUS_SESSION_TERMINATED,
|
||||
});
|
||||
|
||||
assert.false(abilitiesService.can('cancel session', session));
|
||||
assert.false(canService.can('cancel session', session));
|
||||
});
|
||||
|
||||
test('cannot cancel a session that is not authorized', function (assert) {
|
||||
@@ -160,9 +160,9 @@ module('Unit | Ability | session', function (hooks) {
|
||||
status: STATUS_SESSION_TERMINATED,
|
||||
});
|
||||
|
||||
assert.false(abilitiesService.can('cancel session', activeSession));
|
||||
assert.false(abilitiesService.can('cancel session', pendingSession));
|
||||
assert.false(abilitiesService.can('cancel session', cancelingSession));
|
||||
assert.false(abilitiesService.can('cancel session', terminatedSession));
|
||||
assert.false(canService.can('cancel session', activeSession));
|
||||
assert.false(canService.can('cancel session', pendingSession));
|
||||
assert.false(canService.can('cancel session', cancelingSession));
|
||||
assert.false(canService.can('cancel session', terminatedSession));
|
||||
});
|
||||
});
|
||||
@@ -9,59 +9,55 @@ import { setupTest } from 'ember-qunit';
|
||||
module('Unit | Abilities | Target', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
let abilitiesService;
|
||||
let canService;
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
abilitiesService = this.owner.lookup('service:abilities');
|
||||
canService = this.owner.lookup('service:can');
|
||||
});
|
||||
|
||||
test('it reflects when a given target may connect based on authorized_actions', function (assert) {
|
||||
const model = {
|
||||
authorized_actions: ['authorize-session'],
|
||||
};
|
||||
assert.true(abilitiesService.can('connect target', model));
|
||||
assert.true(canService.can('connect target', model));
|
||||
model.authorized_actions = [];
|
||||
assert.false(abilitiesService.can('connect target', model));
|
||||
assert.false(canService.can('connect target', model));
|
||||
});
|
||||
|
||||
test('it reflects when a given target may add host sources', function (assert) {
|
||||
const model = {
|
||||
authorized_actions: ['add-host-sources'],
|
||||
};
|
||||
assert.true(abilitiesService.can('addHostSources target', model));
|
||||
assert.true(canService.can('addHostSources target', model));
|
||||
model.authorized_actions = [];
|
||||
assert.false(abilitiesService.can('addHostSources target', model));
|
||||
assert.false(canService.can('addHostSources target', model));
|
||||
});
|
||||
|
||||
test('it reflects when a given target may remove host sources', function (assert) {
|
||||
const model = {
|
||||
authorized_actions: ['remove-host-sources'],
|
||||
};
|
||||
assert.true(abilitiesService.can('removeHostSources target', model));
|
||||
assert.true(canService.can('removeHostSources target', model));
|
||||
model.authorized_actions = [];
|
||||
assert.false(abilitiesService.can('removeHostSources target', model));
|
||||
assert.false(canService.can('removeHostSources target', model));
|
||||
});
|
||||
|
||||
test('it reflects when a given target may add brokered credential sources', function (assert) {
|
||||
const model = {
|
||||
authorized_actions: ['add-credential-sources'],
|
||||
};
|
||||
assert.true(
|
||||
abilitiesService.can('addBrokeredCredentialSources target', model),
|
||||
);
|
||||
assert.true(canService.can('addBrokeredCredentialSources target', model));
|
||||
model.authorized_actions = [];
|
||||
assert.false(
|
||||
abilitiesService.can('addBrokeredCredentialSources target', model),
|
||||
);
|
||||
assert.false(canService.can('addBrokeredCredentialSources target', model));
|
||||
});
|
||||
|
||||
test('it reflects when a given target may remove credential sources', function (assert) {
|
||||
const model = {
|
||||
authorized_actions: ['remove-credential-sources'],
|
||||
};
|
||||
assert.true(abilitiesService.can('removeCredentialSources target', model));
|
||||
assert.true(canService.can('removeCredentialSources target', model));
|
||||
model.authorized_actions = [];
|
||||
assert.false(abilitiesService.can('removeCredentialSources target', model));
|
||||
assert.false(canService.can('removeCredentialSources target', model));
|
||||
});
|
||||
|
||||
test('it reflects when a given ssh target may add injected application credential sources', function (assert) {
|
||||
@@ -78,19 +74,16 @@ module('Unit | Abilities | Target', function (hooks) {
|
||||
};
|
||||
|
||||
assert.true(
|
||||
abilitiesService.can(
|
||||
'addInjectedApplicationCredentialSources target',
|
||||
model,
|
||||
),
|
||||
canService.can('addInjectedApplicationCredentialSources target', model),
|
||||
);
|
||||
assert.false(
|
||||
abilitiesService.can(
|
||||
canService.can(
|
||||
'addInjectedApplicationCredentialSources target',
|
||||
modelWithoutAuthorizedActions,
|
||||
),
|
||||
);
|
||||
assert.false(
|
||||
abilitiesService.can(
|
||||
canService.can(
|
||||
'addInjectedApplicationCredentialSources target',
|
||||
modelWithoutSSHType,
|
||||
),
|
||||
|
||||
@@ -14,7 +14,7 @@ import {
|
||||
module('Unit | Abilities | User', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
let abilitiesService;
|
||||
let canService;
|
||||
let store;
|
||||
|
||||
const instances = {
|
||||
@@ -23,7 +23,7 @@ module('Unit | Abilities | User', function (hooks) {
|
||||
};
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
abilitiesService = this.owner.lookup('service:abilities');
|
||||
canService = this.owner.lookup('service:can');
|
||||
store = this.owner.lookup('service:store');
|
||||
instances.user = store.createRecord('user');
|
||||
instances.account = store.createRecord('account');
|
||||
@@ -31,28 +31,28 @@ module('Unit | Abilities | User', function (hooks) {
|
||||
|
||||
test('can add accounts to user when authorized and given a known account type', function (assert) {
|
||||
instances.user.authorized_actions = ['add-accounts'];
|
||||
assert.true(abilitiesService.can('addAccounts user', instances.user));
|
||||
assert.true(canService.can('addAccounts user', instances.user));
|
||||
instances.account.type = TYPE_AUTH_METHOD_OIDC;
|
||||
assert.true(
|
||||
abilitiesService.can('addAccount user', instances.user, {
|
||||
canService.can('addAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
instances.account.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.true(
|
||||
abilitiesService.can('addAccount user', instances.user, {
|
||||
canService.can('addAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
instances.account.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.true(
|
||||
abilitiesService.can('addAccount user', instances.user, {
|
||||
canService.can('addAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
instances.account.type = 'no-such-type';
|
||||
assert.false(
|
||||
abilitiesService.can('addAccount user', instances.user, {
|
||||
canService.can('addAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
@@ -60,28 +60,28 @@ module('Unit | Abilities | User', function (hooks) {
|
||||
|
||||
test('cannot add accounts to user when unauthorized', function (assert) {
|
||||
instances.user.authorized_actions = [];
|
||||
assert.false(abilitiesService.can('addAccounts user', instances.user));
|
||||
assert.false(canService.can('addAccounts user', instances.user));
|
||||
instances.account.type = TYPE_AUTH_METHOD_OIDC;
|
||||
assert.false(
|
||||
abilitiesService.can('addAccount user', instances.user, {
|
||||
canService.can('addAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
instances.account.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.false(
|
||||
abilitiesService.can('addAccount user', instances.user, {
|
||||
canService.can('addAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
instances.account.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.false(
|
||||
abilitiesService.can('addAccount user', instances.user, {
|
||||
canService.can('addAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
instances.account.type = 'no-such-type';
|
||||
assert.false(
|
||||
abilitiesService.can('addAccount user', instances.user, {
|
||||
canService.can('addAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
@@ -89,28 +89,28 @@ module('Unit | Abilities | User', function (hooks) {
|
||||
|
||||
test('can remove accounts from user when authorized and given a known account type', function (assert) {
|
||||
instances.user.authorized_actions = ['remove-accounts'];
|
||||
assert.true(abilitiesService.can('removeAccounts user', instances.user));
|
||||
assert.true(canService.can('removeAccounts user', instances.user));
|
||||
instances.account.type = TYPE_AUTH_METHOD_OIDC;
|
||||
assert.true(
|
||||
abilitiesService.can('removeAccount user', instances.user, {
|
||||
canService.can('removeAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
instances.account.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.true(
|
||||
abilitiesService.can('removeAccount user', instances.user, {
|
||||
canService.can('removeAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
instances.account.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.true(
|
||||
abilitiesService.can('removeAccount user', instances.user, {
|
||||
canService.can('removeAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
instances.account.type = 'no-such-type';
|
||||
assert.false(
|
||||
abilitiesService.can('removeAccount user', instances.user, {
|
||||
canService.can('removeAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
@@ -118,28 +118,28 @@ module('Unit | Abilities | User', function (hooks) {
|
||||
|
||||
test('cannot remove accounts from user when unauthorized', function (assert) {
|
||||
instances.user.authorized_actions = [];
|
||||
assert.false(abilitiesService.can('removeAccounts user', instances.user));
|
||||
assert.false(canService.can('removeAccounts user', instances.user));
|
||||
instances.account.type = TYPE_AUTH_METHOD_OIDC;
|
||||
assert.false(
|
||||
abilitiesService.can('addAccount user', instances.user, {
|
||||
canService.can('addAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
instances.account.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.false(
|
||||
abilitiesService.can('removeAccount user', instances.user, {
|
||||
canService.can('removeAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
instances.account.type = TYPE_AUTH_METHOD_LDAP;
|
||||
assert.false(
|
||||
abilitiesService.can('removeAccount user', instances.user, {
|
||||
canService.can('removeAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
instances.account.type = 'no-such-type';
|
||||
assert.false(
|
||||
abilitiesService.can('removeAccount user', instances.user, {
|
||||
canService.can('removeAccount user', instances.user, {
|
||||
account: instances.account,
|
||||
}),
|
||||
);
|
||||
|
||||
@@ -9,7 +9,7 @@ import { setupTest } from 'ember-qunit';
|
||||
module('Unit | Abilities | Worker', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
let abilitiesService;
|
||||
let canService;
|
||||
let store;
|
||||
|
||||
const instances = {
|
||||
@@ -17,7 +17,7 @@ module('Unit | Abilities | Worker', function (hooks) {
|
||||
};
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
abilitiesService = this.owner.lookup('service:abilities');
|
||||
canService = this.owner.lookup('service:can');
|
||||
store = this.owner.lookup('service:store');
|
||||
instances.worker = store.createRecord('worker');
|
||||
});
|
||||
@@ -27,7 +27,7 @@ module('Unit | Abilities | Worker', function (hooks) {
|
||||
authorized_collection_actions: { workers: ['create:worker-led'] },
|
||||
};
|
||||
assert.true(
|
||||
abilitiesService.can('createWorkerLed worker', model, {
|
||||
canService.can('createWorkerLed worker', model, {
|
||||
collection: 'workers',
|
||||
}),
|
||||
);
|
||||
@@ -38,7 +38,7 @@ module('Unit | Abilities | Worker', function (hooks) {
|
||||
authorized_collection_actions: { workers: [] },
|
||||
};
|
||||
assert.true(
|
||||
abilitiesService.cannot('createWorkerLed worker', model, {
|
||||
canService.cannot('createWorkerLed worker', model, {
|
||||
collection: 'workers',
|
||||
}),
|
||||
);
|
||||
@@ -46,13 +46,11 @@ module('Unit | Abilities | Worker', function (hooks) {
|
||||
|
||||
test('can set worker tags', function (assert) {
|
||||
instances.worker.authorized_actions = ['set-worker-tags'];
|
||||
assert.true(abilitiesService.can('setWorkerTags worker', instances.worker));
|
||||
assert.true(canService.can('setWorkerTags worker', instances.worker));
|
||||
});
|
||||
|
||||
test('cannot set worker tags', function (assert) {
|
||||
instances.worker.authorized_actions = [];
|
||||
assert.true(
|
||||
abilitiesService.cannot('setWorkerTags worker', instances.worker),
|
||||
);
|
||||
assert.true(canService.cannot('setWorkerTags worker', instances.worker));
|
||||
});
|
||||
});
|
||||
Generated
+9
-16
@@ -77,8 +77,8 @@ importers:
|
||||
specifier: ^2.10.0
|
||||
version: 2.10.0(@glint/template@1.5.2)(webpack@5.99.8(esbuild@0.25.9))
|
||||
ember-can:
|
||||
specifier: ^8.0.0
|
||||
version: 8.0.0(@babel/core@7.27.1)(@ember/string@4.0.1)(ember-inflector@4.0.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8(esbuild@0.25.9))))(ember-resolver@12.0.1(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8(esbuild@0.25.9))))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8(esbuild@0.25.9)))
|
||||
specifier: ^4.2.0
|
||||
version: 4.2.0(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8(esbuild@0.25.9)))
|
||||
ember-cli-babel:
|
||||
specifier: ^8.2.0
|
||||
version: 8.2.0(@babel/core@7.27.1)
|
||||
@@ -4642,13 +4642,9 @@ packages:
|
||||
ember-browser-services@4.0.4:
|
||||
resolution: {integrity: sha512-ZjQPD7wlqMhHIq+uuesW+SWYCN+TsQtyY2Fy7QpluxEQff/j2JHiQAk3K0GUtEwef1gJ8/dRsBqSnaG2/Fxhmg==}
|
||||
|
||||
ember-can@8.0.0:
|
||||
resolution: {integrity: sha512-JsS7tJ7sg52p8jPY2ND9uqHdEpAB+RpJLN8+lo7t5j65JgBX5gWXCCJ8seJ28AE278Im2ok0OoQBv5VXWqkvOw==}
|
||||
peerDependencies:
|
||||
'@ember/string': '>= 3.0.1'
|
||||
ember-inflector: '>= 5.0.1'
|
||||
ember-resolver: '>= 10.0.0'
|
||||
ember-source: '>= 4.12.0'
|
||||
ember-can@4.2.0:
|
||||
resolution: {integrity: sha512-hiaWZspmI4zWeWmmFWgyw1+yEStSo6edGRHHUXCUPR+vBoqlT/hEfmndlfDGso2GFP8IV59DORMVY0KReMcO+w==}
|
||||
engines: {node: 12.* || 14.* || >= 16}
|
||||
|
||||
ember-cli-babel-plugin-helpers@1.1.1:
|
||||
resolution: {integrity: sha512-sKvOiPNHr5F/60NLd7SFzMpYPte/nnGkq/tMIfXejfKHIhaiIkYFqX8Z9UFTKWLLn+V7NOaby6niNPZUdvKCRw==}
|
||||
@@ -13619,16 +13615,13 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
ember-can@8.0.0(@babel/core@7.27.1)(@ember/string@4.0.1)(ember-inflector@4.0.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8(esbuild@0.25.9))))(ember-resolver@12.0.1(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8(esbuild@0.25.9))))(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8(esbuild@0.25.9))):
|
||||
ember-can@4.2.0(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8(esbuild@0.25.9))):
|
||||
dependencies:
|
||||
'@ember/string': 4.0.1
|
||||
'@embroider/addon-shim': 1.10.0
|
||||
decorator-transforms: 2.3.0(@babel/core@7.27.1)
|
||||
ember-cli-babel: 7.26.11
|
||||
ember-cli-htmlbars: 6.3.0
|
||||
ember-inflector: 4.0.3(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8(esbuild@0.25.9)))
|
||||
ember-resolver: 12.0.1(ember-source@5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8(esbuild@0.25.9)))
|
||||
ember-source: 5.12.0(@glimmer/component@2.0.0)(@glint/template@1.5.2)(rsvp@4.8.5)(webpack@5.99.8(esbuild@0.25.9))
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
- ember-source
|
||||
- supports-color
|
||||
|
||||
ember-cli-babel-plugin-helpers@1.1.1: {}
|
||||
|
||||
+1
-2
@@ -7,12 +7,11 @@ import Application from '@ember/application';
|
||||
import Resolver from 'ember-resolver';
|
||||
import loadInitializers from 'ember-load-initializers';
|
||||
import config from 'admin/config/environment';
|
||||
import { extendResolver } from 'ember-can';
|
||||
|
||||
export default class App extends Application {
|
||||
modulePrefix = config.modulePrefix;
|
||||
podModulePrefix = config.podModulePrefix;
|
||||
Resolver = extendResolver(Resolver);
|
||||
Resolver = Resolver;
|
||||
}
|
||||
|
||||
loadInitializers(App, config.modulePrefix);
|
||||
@@ -10,7 +10,7 @@ import { service } from '@ember/service';
|
||||
|
||||
export default class FormUserAddAccountsComponent extends Component {
|
||||
// =properties
|
||||
@service abilities;
|
||||
@service can;
|
||||
/**
|
||||
* Array of selected account IDs.
|
||||
* @type {EmberArray}
|
||||
@@ -36,7 +36,7 @@ export default class FormUserAddAccountsComponent extends Component {
|
||||
const notAddedAccounts = this.args.accounts.filter(
|
||||
(account) =>
|
||||
!alreadyAddedAccountIDs.includes(account.id) &&
|
||||
this.abilities.can('addAccount user', this.args.model, { account }),
|
||||
this.can.can('addAccount user', this.args.model, { account }),
|
||||
);
|
||||
return notAddedAccounts;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ import { confirm } from 'core/decorators/confirm';
|
||||
export default class ScopesScopeAliasesIndexController extends Controller {
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
@service router;
|
||||
|
||||
@@ -41,10 +41,10 @@ export default class ScopesScopeAliasesIndexController extends Controller {
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list model', this.scope, {
|
||||
const canList = this.can.can('list model', this.scope, {
|
||||
collection: 'aliases',
|
||||
});
|
||||
const canCreate = this.abilities.can('create model', this.scope, {
|
||||
const canCreate = this.can.can('create model', this.scope, {
|
||||
collection: 'aliases',
|
||||
});
|
||||
const resource = this.intl.t('resources.alias.title_plural');
|
||||
@@ -84,7 +84,7 @@ export default class ScopesScopeAliasesIndexController extends Controller {
|
||||
)
|
||||
async save(alias) {
|
||||
await alias.save();
|
||||
if (this.abilities.can('read model', alias)) {
|
||||
if (this.can.can('read model', alias)) {
|
||||
await this.router.transitionTo('scopes.scope.aliases.alias', alias);
|
||||
} else {
|
||||
this.router.transitionTo('scopes.scope.aliases');
|
||||
|
||||
@@ -15,7 +15,7 @@ export default class ScopesScopeAuthMethodsAuthMethodAccountsIndexController ext
|
||||
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
@service router;
|
||||
|
||||
@@ -28,10 +28,10 @@ export default class ScopesScopeAuthMethodsAuthMethodAccountsIndexController ext
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list model', this.authMethod, {
|
||||
const canList = this.can.can('list model', this.authMethod, {
|
||||
collection: 'accounts',
|
||||
});
|
||||
const canCreate = this.abilities.can('create model', this.authMethod, {
|
||||
const canCreate = this.can.can('create model', this.authMethod, {
|
||||
collection: 'accounts',
|
||||
});
|
||||
const resource = this.intl.t('resources.account.title_plural');
|
||||
@@ -80,7 +80,7 @@ export default class ScopesScopeAuthMethodsAuthMethodAccountsIndexController ext
|
||||
adapterOptions.password = password;
|
||||
}
|
||||
await account.save({ adapterOptions });
|
||||
if (this.abilities.can('read model', account)) {
|
||||
if (this.can.can('read model', account)) {
|
||||
await this.router.transitionTo(
|
||||
'scopes.scope.auth-methods.auth-method.accounts.account',
|
||||
account,
|
||||
|
||||
+4
-4
@@ -15,7 +15,7 @@ export default class ScopesScopeAuthMethodsAuthMethodManagedGroupsIndexControlle
|
||||
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
@service router;
|
||||
|
||||
@@ -28,10 +28,10 @@ export default class ScopesScopeAuthMethodsAuthMethodManagedGroupsIndexControlle
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list model', this.authMethod, {
|
||||
const canList = this.can.can('list model', this.authMethod, {
|
||||
collection: 'managed-groups',
|
||||
});
|
||||
const canCreate = this.abilities.can('create model', this.authMethod, {
|
||||
const canCreate = this.can.can('create model', this.authMethod, {
|
||||
collection: 'managed-groups',
|
||||
});
|
||||
const resource = this.intl.t('resources.managed-group.title_plural');
|
||||
@@ -75,7 +75,7 @@ export default class ScopesScopeAuthMethodsAuthMethodManagedGroupsIndexControlle
|
||||
)
|
||||
async save(managedGroup) {
|
||||
await managedGroup.save();
|
||||
if (this.abilities.can('read model', managedGroup)) {
|
||||
if (this.can.can('read model', managedGroup)) {
|
||||
await this.router.transitionTo(
|
||||
'scopes.scope.auth-methods.auth-method.managed-groups.managed-group',
|
||||
managedGroup,
|
||||
|
||||
@@ -16,7 +16,7 @@ export default class ScopesScopeAuthMethodsIndexController extends Controller {
|
||||
// =services
|
||||
|
||||
@service router;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
@service store;
|
||||
|
||||
@@ -82,10 +82,10 @@ export default class ScopesScopeAuthMethodsIndexController extends Controller {
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list model', this.scopeModel, {
|
||||
const canList = this.can.can('list model', this.scopeModel, {
|
||||
collection: 'auth-methods',
|
||||
});
|
||||
const canCreate = this.abilities.can('create model', this.scopeModel, {
|
||||
const canCreate = this.can.can('create model', this.scopeModel, {
|
||||
collection: 'auth-methods',
|
||||
});
|
||||
const resource = this.intl.t('resources.auth-method.title_plural');
|
||||
@@ -148,7 +148,7 @@ export default class ScopesScopeAuthMethodsIndexController extends Controller {
|
||||
)
|
||||
async save(authMethod) {
|
||||
await authMethod.save();
|
||||
if (this.abilities.can('read model', authMethod)) {
|
||||
if (this.can.can('read model', authMethod)) {
|
||||
await this.router.transitionTo(
|
||||
'scopes.scope.auth-methods.auth-method',
|
||||
authMethod,
|
||||
|
||||
+4
-4
@@ -15,7 +15,7 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialLibrari
|
||||
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
@service router;
|
||||
|
||||
@@ -28,10 +28,10 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialLibrari
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list model', this.credentialStore, {
|
||||
const canList = this.can.can('list model', this.credentialStore, {
|
||||
collection: 'credential-libraries',
|
||||
});
|
||||
const canCreate = this.abilities.can('create model', this.credentialStore, {
|
||||
const canCreate = this.can.can('create model', this.credentialStore, {
|
||||
collection: 'credential-libraries',
|
||||
});
|
||||
const resource = this.intl.t('resources.credential-library.title_plural');
|
||||
@@ -75,7 +75,7 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialLibrari
|
||||
)
|
||||
async save(credentialLibrary) {
|
||||
await credentialLibrary.save();
|
||||
if (this.abilities.can('read model', credentialLibrary)) {
|
||||
if (this.can.can('read model', credentialLibrary)) {
|
||||
await this.router.transitionTo(
|
||||
'scopes.scope.credential-stores.credential-store.credential-libraries.credential-library',
|
||||
credentialLibrary,
|
||||
|
||||
+4
-4
@@ -15,7 +15,7 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialsIndexC
|
||||
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
@service router;
|
||||
|
||||
@@ -28,10 +28,10 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialsIndexC
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list model', this.credentialStore, {
|
||||
const canList = this.can.can('list model', this.credentialStore, {
|
||||
collection: 'credentials',
|
||||
});
|
||||
const canCreate = this.abilities.can('create model', this.credentialStore, {
|
||||
const canCreate = this.can.can('create model', this.credentialStore, {
|
||||
collection: 'credentials',
|
||||
});
|
||||
const resource = this.intl.t('resources.credential.title_plural');
|
||||
@@ -75,7 +75,7 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialsIndexC
|
||||
)
|
||||
async save(credential) {
|
||||
await credential.save();
|
||||
if (this.abilities.can('read credential', credential)) {
|
||||
if (this.can.can('read credential', credential)) {
|
||||
await this.router.transitionTo(
|
||||
'scopes.scope.credential-stores.credential-store.credentials.credential',
|
||||
credential,
|
||||
|
||||
@@ -15,7 +15,7 @@ import { TYPES_CREDENTIAL_STORE } from 'api/models/credential-store';
|
||||
export default class ScopesScopeCredentialStoresIndexController extends Controller {
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
@service intl;
|
||||
|
||||
@@ -58,10 +58,10 @@ export default class ScopesScopeCredentialStoresIndexController extends Controll
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list model', this.scope, {
|
||||
const canList = this.can.can('list model', this.scope, {
|
||||
collection: 'credential-stores',
|
||||
});
|
||||
const canCreate = this.abilities.can('create model', this.scope, {
|
||||
const canCreate = this.can.can('create model', this.scope, {
|
||||
collection: 'credential-stores',
|
||||
});
|
||||
const resource = this.intl.t('resources.credential-store.title_plural');
|
||||
@@ -88,7 +88,7 @@ export default class ScopesScopeCredentialStoresIndexController extends Controll
|
||||
@notifySuccess('notifications.save-success')
|
||||
async save(credentialStore) {
|
||||
await credentialStore.save();
|
||||
if (this.abilities.can('read model', credentialStore)) {
|
||||
if (this.can.can('read model', credentialStore)) {
|
||||
await this.router.transitionTo(
|
||||
'scopes.scope.credential-stores.credential-store',
|
||||
credentialStore,
|
||||
|
||||
@@ -14,7 +14,7 @@ import { notifySuccess, notifyError } from 'core/decorators/notify';
|
||||
export default class ScopesScopeGroupsIndexController extends Controller {
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
@service router;
|
||||
|
||||
@@ -41,10 +41,10 @@ export default class ScopesScopeGroupsIndexController extends Controller {
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list model', this.scope, {
|
||||
const canList = this.can.can('list model', this.scope, {
|
||||
collection: 'groups',
|
||||
});
|
||||
const canCreate = this.abilities.can('create model', this.scope, {
|
||||
const canCreate = this.can.can('create model', this.scope, {
|
||||
collection: 'groups',
|
||||
});
|
||||
const resource = this.intl.t('resources.group.title_plural');
|
||||
@@ -84,7 +84,7 @@ export default class ScopesScopeGroupsIndexController extends Controller {
|
||||
)
|
||||
async save(group) {
|
||||
await group.save();
|
||||
if (this.abilities.can('read model', group)) {
|
||||
if (this.can.can('read model', group)) {
|
||||
await this.router.transitionTo('scopes.scope.groups.group', group);
|
||||
} else {
|
||||
this.router.transitionTo('scopes.scope.groups');
|
||||
|
||||
@@ -15,7 +15,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostSetsIndexController e
|
||||
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
@service router;
|
||||
@service store;
|
||||
@@ -29,10 +29,10 @@ export default class ScopesScopeHostCatalogsHostCatalogHostSetsIndexController e
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list model', this.hostCatalog, {
|
||||
const canList = this.can.can('list model', this.hostCatalog, {
|
||||
collection: 'host-sets',
|
||||
});
|
||||
const canCreate = this.abilities.can('create model', this.hostCatalog, {
|
||||
const canCreate = this.can.can('create model', this.hostCatalog, {
|
||||
collection: 'host-sets',
|
||||
});
|
||||
const resource = this.intl.t('resources.host-set.title_plural');
|
||||
@@ -79,7 +79,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostSetsIndexController e
|
||||
// Fetch newest host set as updates to host set attributes cause an async db update which
|
||||
// updates the version again and can cause a version mismatch if the host set is updated
|
||||
// again and we haven't fetched the newest version.
|
||||
if (this.abilities.can('read host-set', hostSet)) {
|
||||
if (this.can.can('read host-set', hostSet)) {
|
||||
const newestHostSet = await this.store.findRecord(
|
||||
'host-set',
|
||||
hostSet.id,
|
||||
@@ -93,7 +93,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostSetsIndexController e
|
||||
|
||||
await hostSet.save();
|
||||
|
||||
if (this.abilities.can('read host-set', hostSet)) {
|
||||
if (this.can.can('read host-set', hostSet)) {
|
||||
await this.router.transitionTo(
|
||||
'scopes.scope.host-catalogs.host-catalog.host-sets.host-set',
|
||||
hostSet,
|
||||
|
||||
@@ -15,7 +15,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostsIndexController exte
|
||||
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
@service router;
|
||||
|
||||
@@ -28,10 +28,10 @@ export default class ScopesScopeHostCatalogsHostCatalogHostsIndexController exte
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list model', this.hostCatalog, {
|
||||
const canList = this.can.can('list model', this.hostCatalog, {
|
||||
collection: 'hosts',
|
||||
});
|
||||
const canCreate = this.abilities.can('create model', this.hostCatalog, {
|
||||
const canCreate = this.can.can('create model', this.hostCatalog, {
|
||||
collection: 'hosts',
|
||||
});
|
||||
const resource = this.intl.t('resources.host.title_plural');
|
||||
@@ -74,7 +74,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostsIndexController exte
|
||||
)
|
||||
async save(host) {
|
||||
await host.save();
|
||||
if (this.abilities.can('read model', host)) {
|
||||
if (this.can.can('read model', host)) {
|
||||
await this.router.transitionTo(
|
||||
'scopes.scope.host-catalogs.host-catalog.hosts.host',
|
||||
host,
|
||||
|
||||
@@ -15,7 +15,7 @@ import { TYPE_CREDENTIAL_STATIC } from 'api/models/host-catalog';
|
||||
export default class ScopesScopeHostCatalogsIndexController extends Controller {
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
@service router;
|
||||
|
||||
@@ -42,10 +42,10 @@ export default class ScopesScopeHostCatalogsIndexController extends Controller {
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list model', this.scope, {
|
||||
const canList = this.can.can('list model', this.scope, {
|
||||
collection: 'host-catalogs',
|
||||
});
|
||||
const canCreate = this.abilities.can('create model', this.scope, {
|
||||
const canCreate = this.can.can('create model', this.scope, {
|
||||
collection: 'host-catalogs',
|
||||
});
|
||||
const resource = this.intl.t('resources.host-catalog.title_plural');
|
||||
@@ -101,7 +101,7 @@ export default class ScopesScopeHostCatalogsIndexController extends Controller {
|
||||
hostCatalog.credentialType = TYPE_CREDENTIAL_STATIC;
|
||||
}
|
||||
await hostCatalog.save();
|
||||
if (this.abilities.can('read host-catalog', hostCatalog)) {
|
||||
if (this.can.can('read host-catalog', hostCatalog)) {
|
||||
await this.router.transitionTo(
|
||||
'scopes.scope.host-catalogs.host-catalog',
|
||||
hostCatalog,
|
||||
|
||||
@@ -13,7 +13,7 @@ import { notifySuccess, notifyError } from 'core/decorators/notify';
|
||||
export default class ScopesScopePoliciesIndexController extends Controller {
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
@service router;
|
||||
|
||||
@@ -26,10 +26,10 @@ export default class ScopesScopePoliciesIndexController extends Controller {
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list model', this.scope, {
|
||||
const canList = this.can.can('list model', this.scope, {
|
||||
collection: 'policies',
|
||||
});
|
||||
const canCreate = this.abilities.can('create model', this.scope, {
|
||||
const canCreate = this.can.can('create model', this.scope, {
|
||||
collection: 'policies',
|
||||
});
|
||||
const resource = this.intl.t('resources.policy.title_plural');
|
||||
@@ -67,7 +67,7 @@ export default class ScopesScopePoliciesIndexController extends Controller {
|
||||
@notifySuccess('notifications.save-success')
|
||||
async save(policy) {
|
||||
await policy.save();
|
||||
if (this.abilities.can('read model', policy)) {
|
||||
if (this.can.can('read model', policy)) {
|
||||
await this.router.transitionTo('scopes.scope.policies.policy', policy);
|
||||
} else {
|
||||
await this.router.transitionTo('scopes.scope.policies');
|
||||
|
||||
@@ -15,7 +15,7 @@ import { GRANT_SCOPE_THIS } from 'api/models/role';
|
||||
export default class ScopesScopeRolesIndexController extends Controller {
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
@service router;
|
||||
|
||||
@@ -44,10 +44,10 @@ export default class ScopesScopeRolesIndexController extends Controller {
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list model', this.scope, {
|
||||
const canList = this.can.can('list model', this.scope, {
|
||||
collection: 'roles',
|
||||
});
|
||||
const canCreate = this.abilities.can('create model', this.scope, {
|
||||
const canCreate = this.can.can('create model', this.scope, {
|
||||
collection: 'roles',
|
||||
});
|
||||
const resource = this.intl.t('resources.role.title_plural');
|
||||
@@ -98,7 +98,7 @@ export default class ScopesScopeRolesIndexController extends Controller {
|
||||
)
|
||||
async save(role) {
|
||||
await role.save();
|
||||
if (this.abilities.can('read model', role)) {
|
||||
if (this.can.can('read model', role)) {
|
||||
await this.router.transitionTo('scopes.scope.roles.role', role);
|
||||
} else {
|
||||
this.router.transitionTo('scopes.scope.roles');
|
||||
|
||||
@@ -14,7 +14,7 @@ import { TYPE_CREDENTIAL_STATIC } from 'api/models/storage-bucket';
|
||||
export default class ScopesScopeStorageBucketsIndexController extends Controller {
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
@service router;
|
||||
|
||||
@@ -27,10 +27,10 @@ export default class ScopesScopeStorageBucketsIndexController extends Controller
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list scope', this.scope, {
|
||||
const canList = this.can.can('list scope', this.scope, {
|
||||
collection: 'storage-buckets',
|
||||
});
|
||||
const canCreate = this.abilities.can('create scope', this.scope, {
|
||||
const canCreate = this.can.can('create scope', this.scope, {
|
||||
collection: 'storage-buckets',
|
||||
});
|
||||
const resource = this.intl.t('resources.storage-bucket.title_plural');
|
||||
|
||||
@@ -20,7 +20,7 @@ export default class ScopesScopeTargetsIndexController extends Controller {
|
||||
// =services
|
||||
|
||||
@service intl;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
@service confirm;
|
||||
@service features;
|
||||
@@ -80,10 +80,10 @@ export default class ScopesScopeTargetsIndexController extends Controller {
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list model', this.scope, {
|
||||
const canList = this.can.can('list model', this.scope, {
|
||||
collection: 'targets',
|
||||
});
|
||||
const canCreate = this.abilities.can('create model', this.scope, {
|
||||
const canCreate = this.can.can('create model', this.scope, {
|
||||
collection: 'targets',
|
||||
});
|
||||
const resource = this.intl.t('resources.target.title_plural');
|
||||
@@ -187,7 +187,7 @@ export default class ScopesScopeTargetsIndexController extends Controller {
|
||||
)
|
||||
async save(target) {
|
||||
await target.save();
|
||||
if (this.abilities.can('read model', target)) {
|
||||
if (this.can.can('read model', target)) {
|
||||
await this.router.transitionTo('scopes.scope.targets.target', target);
|
||||
} else {
|
||||
this.router.transitionTo('scopes.scope.targets');
|
||||
|
||||
@@ -13,7 +13,7 @@ export default class ScopesScopeTargetsTargetIndexController extends Controller
|
||||
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =attributes
|
||||
|
||||
@@ -14,7 +14,7 @@ import { notifySuccess, notifyError } from 'core/decorators/notify';
|
||||
export default class ScopesScopeUsersIndexController extends Controller {
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
@service router;
|
||||
@tracked sortAttribute;
|
||||
@@ -41,10 +41,10 @@ export default class ScopesScopeUsersIndexController extends Controller {
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list model', this.scope, {
|
||||
const canList = this.can.can('list model', this.scope, {
|
||||
collection: 'users',
|
||||
});
|
||||
const canCreate = this.abilities.can('create model', this.scope, {
|
||||
const canCreate = this.can.can('create model', this.scope, {
|
||||
collection: 'users',
|
||||
});
|
||||
const resource = this.intl.t('resources.user.title_plural');
|
||||
@@ -98,7 +98,7 @@ export default class ScopesScopeUsersIndexController extends Controller {
|
||||
)
|
||||
async save(user) {
|
||||
await user.save();
|
||||
if (this.abilities.can('read model', user)) {
|
||||
if (this.can.can('read model', user)) {
|
||||
await this.router.transitionTo('scopes.scope.users.user', user);
|
||||
} else {
|
||||
this.router.transitionTo('scopes.scope.users');
|
||||
|
||||
@@ -14,7 +14,7 @@ import { notifySuccess, notifyError } from 'core/decorators/notify';
|
||||
export default class ScopesScopeWorkersIndexController extends Controller {
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
@service router;
|
||||
|
||||
@@ -79,16 +79,12 @@ export default class ScopesScopeWorkersIndexController extends Controller {
|
||||
* @type {string}
|
||||
*/
|
||||
get messageDescription() {
|
||||
const canList = this.abilities.can('list worker', this.scope, {
|
||||
const canList = this.can.can('list worker', this.scope, {
|
||||
collection: 'workers',
|
||||
});
|
||||
const canCreate = this.can.can('create worker led worker', this.scope, {
|
||||
collection: 'workers',
|
||||
});
|
||||
const canCreate = this.abilities.can(
|
||||
'create worker led worker',
|
||||
this.scope,
|
||||
{
|
||||
collection: 'workers',
|
||||
},
|
||||
);
|
||||
const resource = this.intl.t('titles.workers');
|
||||
let description = 'descriptions.neither-list-nor-create';
|
||||
|
||||
@@ -163,7 +159,7 @@ export default class ScopesScopeWorkersIndexController extends Controller {
|
||||
)
|
||||
async save(worker) {
|
||||
await worker.save();
|
||||
if (this.abilities.can('read model', worker)) {
|
||||
if (this.can.can('read model', worker)) {
|
||||
await this.router.transitionTo('scopes.scope.workers.worker', worker);
|
||||
} else {
|
||||
this.router.transitionTo('scopes.scope.workers');
|
||||
|
||||
@@ -11,7 +11,7 @@ export default class ScopesScopeAliasesIndexRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =attributes
|
||||
|
||||
@@ -69,7 +69,7 @@ export default class ScopesScopeAliasesIndexRoute extends Route {
|
||||
let totalItems = 0;
|
||||
|
||||
if (
|
||||
this.abilities.can('list model', scope, {
|
||||
this.can.can('list model', scope, {
|
||||
collection: 'aliases',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -11,7 +11,7 @@ export default class ScopesScopeAliasesNewRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
@@ -22,9 +22,7 @@ export default class ScopesScopeAliasesNewRoute extends Route {
|
||||
beforeModel() {
|
||||
const scopeModel = this.modelFor('scopes.scope');
|
||||
if (
|
||||
this.abilities.cannot('create model', scopeModel, {
|
||||
collection: 'aliases',
|
||||
})
|
||||
this.can.cannot('create model', scopeModel, { collection: 'aliases' })
|
||||
) {
|
||||
this.router.replaceWith('scopes.scope.aliases');
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ export default class ScopesScopeAuthMethodsAuthMethodRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeAuthMethodsAuthMethodAccountsRoute extends Route
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -24,7 +24,7 @@ export default class ScopesScopeAuthMethodsAuthMethodAccountsRoute extends Route
|
||||
let accounts;
|
||||
|
||||
if (
|
||||
this.abilities.can('list model', authMethod, {
|
||||
this.can.can('list model', authMethod, {
|
||||
collection: 'accounts',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeAuthMethodsAuthMethodAccountsAccountRoute extend
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeAuthMethodsAuthMethodAccountsNewRoute extends Ro
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
@@ -21,9 +21,7 @@ export default class ScopesScopeAuthMethodsAuthMethodAccountsNewRoute extends Ro
|
||||
beforeModel() {
|
||||
const authMethod = this.modelFor('scopes.scope.auth-methods.auth-method');
|
||||
if (
|
||||
this.abilities.cannot('create model', authMethod, {
|
||||
collection: 'accounts',
|
||||
})
|
||||
this.can.cannot('create model', authMethod, { collection: 'accounts' })
|
||||
) {
|
||||
this.router.replaceWith('scopes.scope.auth-methods.auth-method.accounts');
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeAuthMethodsAuthMethodManagedGroupsRoute extends
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
//=methods
|
||||
|
||||
@@ -21,7 +21,7 @@ export default class ScopesScopeAuthMethodsAuthMethodManagedGroupsRoute extends
|
||||
async model() {
|
||||
const authMethod = this.modelFor('scopes.scope.auth-methods.auth-method');
|
||||
const { id: auth_method_id } = authMethod;
|
||||
const canListManagedGroups = this.abilities.can('list model', authMethod, {
|
||||
const canListManagedGroups = this.can.can('list model', authMethod, {
|
||||
collection: 'managed-groups',
|
||||
});
|
||||
let managedGroups;
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeAuthMethodsAuthMethodManagedGroupsNewRoute exten
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
@@ -21,7 +21,7 @@ export default class ScopesScopeAuthMethodsAuthMethodManagedGroupsNewRoute exten
|
||||
beforeModel() {
|
||||
const authMethod = this.modelFor('scopes.scope.auth-methods.auth-method');
|
||||
if (
|
||||
this.abilities.cannot('create model', authMethod, {
|
||||
this.can.cannot('create model', authMethod, {
|
||||
collection: 'managed-groups',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -11,7 +11,7 @@ export default class ScopesScopeAuthMethodsIndexRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =attributes
|
||||
@@ -101,9 +101,7 @@ export default class ScopesScopeAuthMethodsIndexRoute extends Route {
|
||||
let authMethods;
|
||||
let totalItems = 0;
|
||||
let doAuthMethodsExist = false;
|
||||
if (
|
||||
this.abilities.can('list model', scope, { collection: 'auth-methods' })
|
||||
) {
|
||||
if (this.can.can('list model', scope, { collection: 'auth-methods' })) {
|
||||
// TODO: Remove storeToken option as this is a temporary fix for auth-methods.
|
||||
const options = { storeToken: false };
|
||||
authMethods = await this.store.query(
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeAuthMethodsNewRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =attributes
|
||||
@@ -29,7 +29,7 @@ export default class ScopesScopeAuthMethodsNewRoute extends Route {
|
||||
beforeModel() {
|
||||
const scopeModel = this.modelFor('scopes.scope');
|
||||
if (
|
||||
this.abilities.cannot('create model', scopeModel, {
|
||||
this.can.cannot('create model', scopeModel, {
|
||||
collection: 'auth-methods',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -11,7 +11,7 @@ export default class ScopesScopeCredentialStoresCredentialStoreRoute extends Rou
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
/**
|
||||
|
||||
+2
-2
@@ -10,7 +10,7 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialLibrari
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -24,7 +24,7 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialLibrari
|
||||
);
|
||||
const { id: credential_store_id } = credentialStore;
|
||||
if (
|
||||
this.abilities.can('list model', credentialStore, {
|
||||
this.can.can('list model', credentialStore, {
|
||||
collection: 'credential-libraries',
|
||||
})
|
||||
) {
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialLibrari
|
||||
@service store;
|
||||
@service router;
|
||||
@service features;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =attributes
|
||||
|
||||
@@ -36,7 +36,7 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialLibrari
|
||||
'scopes.scope.credential-stores.credential-store',
|
||||
);
|
||||
if (
|
||||
this.abilities.cannot('create model', credentialStore, {
|
||||
this.can.cannot('create model', credentialStore, {
|
||||
collection: 'credential-libraries',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialsRoute
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -24,7 +24,7 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialsRoute
|
||||
);
|
||||
const { id: credential_store_id } = credentialStore;
|
||||
if (
|
||||
this.abilities.can('list model', credentialStore, {
|
||||
this.can.can('list model', credentialStore, {
|
||||
collection: 'credentials',
|
||||
})
|
||||
) {
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialsCreden
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
|
||||
+2
-2
@@ -11,7 +11,7 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialsNewRou
|
||||
|
||||
@service store;
|
||||
@service router;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =attributes
|
||||
|
||||
@@ -31,7 +31,7 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialsNewRou
|
||||
'scopes.scope.credential-stores.credential-store',
|
||||
);
|
||||
if (
|
||||
this.abilities.cannot('create model', credentialStore, {
|
||||
this.can.cannot('create model', credentialStore, {
|
||||
collection: 'credentials',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -11,7 +11,7 @@ export default class ScopesScopeCredentialStoresIndexRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =attributes
|
||||
|
||||
@@ -90,7 +90,7 @@ export default class ScopesScopeCredentialStoresIndexRoute extends Route {
|
||||
let totalItems = 0;
|
||||
let doCredentialStoresExist = false;
|
||||
if (
|
||||
this.abilities.can('list model', scope, {
|
||||
this.can.can('list model', scope, {
|
||||
collection: 'credential-stores',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -12,7 +12,7 @@ export default class ScopesScopeCredentialStoresNewRoute extends Route {
|
||||
@service store;
|
||||
@service router;
|
||||
@service features;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =attributes
|
||||
|
||||
@@ -30,7 +30,7 @@ export default class ScopesScopeCredentialStoresNewRoute extends Route {
|
||||
beforeModel() {
|
||||
const scopeModel = this.modelFor('scopes.scope');
|
||||
if (
|
||||
this.abilities.cannot('create model', scopeModel, {
|
||||
this.can.cannot('create model', scopeModel, {
|
||||
collection: 'credential-stores',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeGroupsGroupRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -11,7 +11,7 @@ export default class ScopesScopeGroupsIndexRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =attributes
|
||||
|
||||
@@ -77,7 +77,7 @@ export default class ScopesScopeGroupsIndexRoute extends Route {
|
||||
let groups = [];
|
||||
let totalItems = 0;
|
||||
let doGroupsExist = false;
|
||||
if (this.abilities.can('list model', scope, { collection: 'groups' })) {
|
||||
if (this.can.can('list model', scope, { collection: 'groups' })) {
|
||||
groups = await this.store.query('group', {
|
||||
scope_id,
|
||||
query: { filters, search, sort },
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeGroupsNewRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
@@ -20,11 +20,7 @@ export default class ScopesScopeGroupsNewRoute extends Route {
|
||||
*/
|
||||
beforeModel() {
|
||||
const scopeModel = this.modelFor('scopes.scope');
|
||||
if (
|
||||
this.abilities.cannot('create model', scopeModel, {
|
||||
collection: 'groups',
|
||||
})
|
||||
) {
|
||||
if (this.can.cannot('create model', scopeModel, { collection: 'groups' })) {
|
||||
this.router.replaceWith('scopes.scope.groups');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ export default class ScopesScopeHostCatalogsHostCatalogRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostSetsRoute extends Rou
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -26,7 +26,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostSetsRoute extends Rou
|
||||
let hostSets;
|
||||
|
||||
if (
|
||||
this.abilities.can('list model', hostCatalog, {
|
||||
this.can.can('list model', hostCatalog, {
|
||||
collection: 'host-sets',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -11,7 +11,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostSetsHostSetRoute exte
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
|
||||
+2
-6
@@ -11,7 +11,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostSetsHostSetCreateAndA
|
||||
|
||||
@service store;
|
||||
@service router;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -22,11 +22,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostSetsHostSetCreateAndA
|
||||
const hostCatalog = this.modelFor(
|
||||
'scopes.scope.host-catalogs.host-catalog',
|
||||
);
|
||||
if (
|
||||
this.abilities.cannot('create model', hostCatalog, {
|
||||
collection: 'hosts',
|
||||
})
|
||||
) {
|
||||
if (this.can.cannot('create model', hostCatalog, { collection: 'hosts' })) {
|
||||
this.router.replaceWith(
|
||||
'scopes.scope.host-catalogs.host-catalog.host-sets.host-set.hosts',
|
||||
);
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostSetsHostSetHostsHostR
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -11,7 +11,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostSetsNewRoute extends
|
||||
|
||||
@service store;
|
||||
@service router;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -23,9 +23,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostSetsNewRoute extends
|
||||
'scopes.scope.host-catalogs.host-catalog',
|
||||
);
|
||||
if (
|
||||
this.abilities.cannot('create model', hostCatalog, {
|
||||
collection: 'host-sets',
|
||||
})
|
||||
this.can.cannot('create model', hostCatalog, { collection: 'host-sets' })
|
||||
) {
|
||||
this.router.replaceWith(
|
||||
'scopes.scope.host-catalogs.host-catalog.host-sets',
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostsRoute extends Route
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -26,7 +26,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostsRoute extends Route
|
||||
let hosts;
|
||||
|
||||
if (
|
||||
this.abilities.can('list model', hostCatalog, {
|
||||
this.can.can('list model', hostCatalog, {
|
||||
collection: 'hosts',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostsHostRoute extends Ro
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostsNewRoute extends Rou
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
@@ -22,11 +22,7 @@ export default class ScopesScopeHostCatalogsHostCatalogHostsNewRoute extends Rou
|
||||
const hostCatalog = this.modelFor(
|
||||
'scopes.scope.host-catalogs.host-catalog',
|
||||
);
|
||||
if (
|
||||
this.abilities.cannot('create model', hostCatalog, {
|
||||
collection: 'hosts',
|
||||
})
|
||||
) {
|
||||
if (this.can.cannot('create model', hostCatalog, { collection: 'hosts' })) {
|
||||
this.router.replaceWith('scopes.scope.host-catalogs.host-catalog.hosts');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ export default class ScopesScopeHostCatalogsIndexRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =attributes
|
||||
|
||||
@@ -82,9 +82,7 @@ export default class ScopesScopeHostCatalogsIndexRoute extends Route {
|
||||
let hostCatalogs;
|
||||
let totalItems = 0;
|
||||
let doHostCatalogsExist = false;
|
||||
if (
|
||||
this.abilities.can('list model', scope, { collection: 'host-catalogs' })
|
||||
) {
|
||||
if (this.can.can('list model', scope, { collection: 'host-catalogs' })) {
|
||||
hostCatalogs = await this.store.query('host-catalog', {
|
||||
scope_id,
|
||||
query: { search, filters, sort },
|
||||
|
||||
@@ -11,7 +11,7 @@ export default class ScopesScopeHostCatalogsNewRoute extends Route {
|
||||
|
||||
@service store;
|
||||
@service router;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =attributes
|
||||
|
||||
@@ -29,7 +29,7 @@ export default class ScopesScopeHostCatalogsNewRoute extends Route {
|
||||
beforeModel() {
|
||||
const scopeModel = this.modelFor('scopes.scope');
|
||||
if (
|
||||
this.abilities.cannot('create model', scopeModel, {
|
||||
this.can.cannot('create model', scopeModel, {
|
||||
collection: 'host-catalogs',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -11,7 +11,7 @@ export default class ScopesScopePoliciesRoute extends Route {
|
||||
|
||||
@service store;
|
||||
@service session;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
@@ -32,7 +32,7 @@ export default class ScopesScopePoliciesRoute extends Route {
|
||||
const { id: scope_id } = scope;
|
||||
|
||||
if (
|
||||
this.abilities.can('list model', scope, {
|
||||
this.can.can('list model', scope, {
|
||||
collection: 'policies',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopePoliciesNewRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
@@ -21,9 +21,7 @@ export default class ScopesScopePoliciesNewRoute extends Route {
|
||||
beforeModel() {
|
||||
const scopeModel = this.modelFor('scopes.scope');
|
||||
if (
|
||||
this.abilities.cannot('create model', scopeModel, {
|
||||
collection: 'policies',
|
||||
})
|
||||
this.can.cannot('create model', scopeModel, { collection: 'policies' })
|
||||
) {
|
||||
this.router.replaceWith('scopes.scope.policies');
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import { service } from '@ember/service';
|
||||
|
||||
export default class ScopesScopePoliciesPolicyRoute extends Route {
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =methods
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ export default class ScopesScopeRolesIndexRoute extends Route {
|
||||
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service store;
|
||||
|
||||
// =methods
|
||||
@@ -79,7 +79,7 @@ export default class ScopesScopeRolesIndexRoute extends Route {
|
||||
let roles;
|
||||
let totalItems = 0;
|
||||
let doRolesExist = false;
|
||||
if (this.abilities.can('list model', scope, { collection: 'roles' })) {
|
||||
if (this.can.can('list model', scope, { collection: 'roles' })) {
|
||||
roles = await this.store.query('role', {
|
||||
scope_id,
|
||||
query: { search, filters, sort },
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeRolesNewRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
@@ -20,9 +20,7 @@ export default class ScopesScopeRolesNewRoute extends Route {
|
||||
*/
|
||||
beforeModel() {
|
||||
const scopeModel = this.modelFor('scopes.scope');
|
||||
if (
|
||||
this.abilities.cannot('create model', scopeModel, { collection: 'roles' })
|
||||
) {
|
||||
if (this.can.cannot('create model', scopeModel, { collection: 'roles' })) {
|
||||
this.router.replaceWith('scopes.scope.roles');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ export default class ScopesScopeRolesRoleRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -33,7 +33,7 @@ export default class ScopesScopeScopesIndexRoute extends Route {
|
||||
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service store;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -16,7 +16,7 @@ export default class ScopesScopeSessionRecordingsIndexRoute extends Route {
|
||||
// =services
|
||||
@service store;
|
||||
@service router;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service intl;
|
||||
|
||||
// =attributes
|
||||
@@ -124,7 +124,7 @@ export default class ScopesScopeSessionRecordingsIndexRoute extends Route {
|
||||
: { attributes: [sortAttribute], direction: sortDirection };
|
||||
|
||||
if (
|
||||
this.abilities.can('list scope', scope, {
|
||||
this.can.can('list scope', scope, {
|
||||
collection: 'session-recordings',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -12,7 +12,7 @@ export default class ScopesScopeSessionRecordingsSessionRecordingRoute extends R
|
||||
@service store;
|
||||
@service session;
|
||||
@service router;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =methods
|
||||
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import { service } from '@ember/service';
|
||||
export default class ScopesScopeSessionRecordingsSessionRecordingChannelsByConnectionChannelRoute extends Route {
|
||||
// =services
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
@service flashMessages;
|
||||
@service intl;
|
||||
|
||||
+2
-4
@@ -8,7 +8,7 @@ import { service } from '@ember/service';
|
||||
|
||||
export default class ScopesScopeSessionRecordingsSessionRecordingChannelsByConnectionChannelIndexRoute extends Route {
|
||||
// =services
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service flashMessages;
|
||||
@service intl;
|
||||
|
||||
@@ -22,9 +22,7 @@ export default class ScopesScopeSessionRecordingsSessionRecordingChannelsByConne
|
||||
'scopes.scope.session-recordings.session-recording.channels-by-connection.channel',
|
||||
);
|
||||
|
||||
if (
|
||||
this.abilities.can('getAsciicast channel-recording', channelRecording)
|
||||
) {
|
||||
if (this.can.can('getAsciicast channel-recording', channelRecording)) {
|
||||
try {
|
||||
asciicast = await channelRecording.getAsciicast();
|
||||
} catch (e) {
|
||||
|
||||
@@ -10,7 +10,7 @@ import { restartableTask, timeout } from 'ember-concurrency';
|
||||
export default class ScopesScopeSessionsIndexRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service store;
|
||||
|
||||
// =attributes
|
||||
@@ -134,7 +134,7 @@ export default class ScopesScopeSessionsIndexRoute extends Route {
|
||||
|
||||
// Preload the associated targets and users into the cache
|
||||
let refreshUsersPromise, refreshTargetsPromise;
|
||||
const canListTargets = this.abilities.can('list model', scope, {
|
||||
const canListTargets = this.can.can('list model', scope, {
|
||||
collection: 'targets',
|
||||
});
|
||||
if (canListTargets) {
|
||||
@@ -152,10 +152,8 @@ export default class ScopesScopeSessionsIndexRoute extends Route {
|
||||
const orgScope = await this.store.findRecord('scope', scope.scope.id);
|
||||
const globalScope = await this.store.findRecord('scope', 'global');
|
||||
const canListUsers =
|
||||
this.abilities.can('list model', globalScope, {
|
||||
collection: 'users',
|
||||
}) ||
|
||||
this.abilities.can('list model', orgScope, { collection: 'users' });
|
||||
this.can.can('list model', globalScope, { collection: 'users' }) ||
|
||||
this.can.can('list model', orgScope, { collection: 'users' });
|
||||
|
||||
if (canListUsers) {
|
||||
refreshUsersPromise = this.store.query(
|
||||
|
||||
@@ -11,7 +11,7 @@ export default class ScopesScopeStorageBucketsRoute extends Route {
|
||||
|
||||
@service store;
|
||||
@service session;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
@@ -31,7 +31,7 @@ export default class ScopesScopeStorageBucketsRoute extends Route {
|
||||
const scope = this.modelFor('scopes.scope');
|
||||
const { id: scope_id } = scope;
|
||||
if (
|
||||
this.abilities.can('list scope', scope, {
|
||||
this.can.can('list scope', scope, {
|
||||
collection: 'storage-buckets',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -14,7 +14,7 @@ export default class ScopesScopeStorageBucketsNewRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =attributes
|
||||
@@ -32,7 +32,7 @@ export default class ScopesScopeStorageBucketsNewRoute extends Route {
|
||||
beforeModel() {
|
||||
const scopeModel = this.modelFor('scopes.scope');
|
||||
if (
|
||||
this.abilities.cannot('create scope', scopeModel, {
|
||||
this.can.cannot('create scope', scopeModel, {
|
||||
collection: 'storage-buckets',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeStorageBucketsStorageBucketRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -17,7 +17,7 @@ import { TYPE_TARGET_SSH, TYPE_TARGET_TCP } from 'api/models/target';
|
||||
export default class ScopesScopeTargetsIndexRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service store;
|
||||
@service session;
|
||||
@service intl;
|
||||
@@ -93,7 +93,7 @@ export default class ScopesScopeTargetsIndexRoute extends Route {
|
||||
filters.type.push({ equals: type });
|
||||
});
|
||||
|
||||
if (this.abilities.can('list model', scope, { collection: 'sessions' })) {
|
||||
if (this.can.can('list model', scope, { collection: 'sessions' })) {
|
||||
await this.store.query(
|
||||
'session',
|
||||
{
|
||||
@@ -133,7 +133,7 @@ export default class ScopesScopeTargetsIndexRoute extends Route {
|
||||
let targets;
|
||||
let totalItems = 0;
|
||||
let doTargetsExist = false;
|
||||
if (this.abilities.can('list model', scope, { collection: 'targets' })) {
|
||||
if (this.can.can('list model', scope, { collection: 'targets' })) {
|
||||
targets = await this.store.query('target', {
|
||||
scope_id,
|
||||
query: { search, filters, sort },
|
||||
|
||||
@@ -13,7 +13,7 @@ export default class ScopesScopeTargetsNewRoute extends Route {
|
||||
@service store;
|
||||
@service router;
|
||||
@service features;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =attributes
|
||||
queryParams = {
|
||||
@@ -30,9 +30,7 @@ export default class ScopesScopeTargetsNewRoute extends Route {
|
||||
beforeModel() {
|
||||
const scopeModel = this.modelFor('scopes.scope');
|
||||
if (
|
||||
this.abilities.cannot('create model', scopeModel, {
|
||||
collection: 'targets',
|
||||
})
|
||||
this.can.cannot('create model', scopeModel, { collection: 'targets' })
|
||||
) {
|
||||
this.router.replaceWith('scopes.scope.targets');
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeTargetsTargetRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -34,7 +34,7 @@ export default class ScopesScopeUsersIndexRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -80,7 +80,7 @@ export default class ScopesScopeUsersIndexRoute extends Route {
|
||||
let users;
|
||||
let totalItems = 0;
|
||||
let doUsersExist = false;
|
||||
if (this.abilities.can('list model', scope, { collection: 'users' })) {
|
||||
if (this.can.can('list model', scope, { collection: 'users' })) {
|
||||
users = await this.store.query('user', {
|
||||
scope_id,
|
||||
query: { search, filters, sort },
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeUsersNewRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
@@ -20,9 +20,7 @@ export default class ScopesScopeUsersNewRoute extends Route {
|
||||
*/
|
||||
beforeModel() {
|
||||
const scopeModel = this.modelFor('scopes.scope');
|
||||
if (
|
||||
this.abilities.cannot('create model', scopeModel, { collection: 'users' })
|
||||
) {
|
||||
if (this.can.cannot('create model', scopeModel, { collection: 'users' })) {
|
||||
this.router.replaceWith('scopes.scope.users');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeUsersUserRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeWorkersRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service session;
|
||||
@service router;
|
||||
|
||||
@@ -30,7 +30,7 @@ export default class ScopesScopeWorkersRoute extends Route {
|
||||
model() {
|
||||
const scope = this.modelFor('scopes.scope');
|
||||
const { id: scope_id } = scope;
|
||||
if (this.abilities.can('list worker', scope, { collection: 'workers' })) {
|
||||
if (this.can.can('list worker', scope, { collection: 'workers' })) {
|
||||
return this.store.query('worker', { scope_id });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeWorkersNewRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
@@ -21,7 +21,7 @@ export default class ScopesScopeWorkersNewRoute extends Route {
|
||||
beforeModel() {
|
||||
const scopeModel = this.modelFor('scopes.scope');
|
||||
if (
|
||||
this.abilities.cannot('create worker led worker', scopeModel, {
|
||||
this.can.cannot('create worker led worker', scopeModel, {
|
||||
collection: 'workers',
|
||||
})
|
||||
) {
|
||||
|
||||
@@ -10,7 +10,7 @@ export default class ScopesScopeWorkersWorkerRoute extends Route {
|
||||
// =services
|
||||
|
||||
@service store;
|
||||
@service abilities;
|
||||
@service can;
|
||||
@service router;
|
||||
|
||||
// =methods
|
||||
|
||||
@@ -14,12 +14,12 @@ import {
|
||||
module('Unit | Abilities | auth-method', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
let abilitiesService;
|
||||
let canService;
|
||||
let store;
|
||||
let features;
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
abilitiesService = this.owner.lookup('service:abilities');
|
||||
canService = this.owner.lookup('service:can');
|
||||
store = this.owner.lookup('service:store');
|
||||
features = this.owner.lookup('service:features');
|
||||
});
|
||||
@@ -30,9 +30,9 @@ module('Unit | Abilities | auth-method', function (hooks) {
|
||||
authorized_actions: ['read'],
|
||||
type: TYPE_AUTH_METHOD_LDAP,
|
||||
});
|
||||
assert.true(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.true(canService.can('read auth-method', authMethod));
|
||||
authMethod.authorized_actions = [];
|
||||
assert.false(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.false(canService.can('read auth-method', authMethod));
|
||||
});
|
||||
|
||||
test('cannot read LDAP auth-method when authorized and feature flag disabled', function (assert) {
|
||||
@@ -40,9 +40,9 @@ module('Unit | Abilities | auth-method', function (hooks) {
|
||||
authorized_actions: ['read'],
|
||||
type: TYPE_AUTH_METHOD_LDAP,
|
||||
});
|
||||
assert.false(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.false(canService.can('read auth-method', authMethod));
|
||||
authMethod.authorized_actions = [];
|
||||
assert.false(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.false(canService.can('read auth-method', authMethod));
|
||||
});
|
||||
|
||||
test('can read non-LDAP auth-method when authorized', function (assert) {
|
||||
@@ -50,9 +50,9 @@ module('Unit | Abilities | auth-method', function (hooks) {
|
||||
authorized_actions: ['read'],
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
});
|
||||
assert.true(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.true(canService.can('read auth-method', authMethod));
|
||||
authMethod.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.true(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.true(canService.can('read auth-method', authMethod));
|
||||
});
|
||||
|
||||
test('cannot read non-LDAP auth-method when unauthorized', function (assert) {
|
||||
@@ -60,16 +60,16 @@ module('Unit | Abilities | auth-method', function (hooks) {
|
||||
authorized_actions: [],
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
});
|
||||
assert.false(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.false(canService.can('read auth-method', authMethod));
|
||||
authMethod.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.false(abilitiesService.can('read auth-method', authMethod));
|
||||
assert.false(canService.can('read auth-method', authMethod));
|
||||
});
|
||||
|
||||
test('cannot make LDAP auth-method primary when feature flag disabled', function (assert) {
|
||||
const authMethod = store.createRecord('auth-method', {
|
||||
type: TYPE_AUTH_METHOD_LDAP,
|
||||
});
|
||||
assert.false(abilitiesService.can('makePrimary auth-method', authMethod));
|
||||
assert.false(canService.can('makePrimary auth-method', authMethod));
|
||||
});
|
||||
|
||||
test('can make LDAP auth-method primary when feature flag enabled', function (assert) {
|
||||
@@ -77,15 +77,15 @@ module('Unit | Abilities | auth-method', function (hooks) {
|
||||
const authMethod = store.createRecord('auth-method', {
|
||||
type: TYPE_AUTH_METHOD_LDAP,
|
||||
});
|
||||
assert.true(abilitiesService.can('makePrimary auth-method', authMethod));
|
||||
assert.true(canService.can('makePrimary auth-method', authMethod));
|
||||
});
|
||||
|
||||
test('can make non-LDAP auth-method primary', function (assert) {
|
||||
const authMethod = store.createRecord('auth-method', {
|
||||
type: TYPE_AUTH_METHOD_OIDC,
|
||||
});
|
||||
assert.true(abilitiesService.can('makePrimary auth-method', authMethod));
|
||||
assert.true(canService.can('makePrimary auth-method', authMethod));
|
||||
authMethod.type = TYPE_AUTH_METHOD_PASSWORD;
|
||||
assert.true(abilitiesService.can('makePrimary auth-method', authMethod));
|
||||
assert.true(canService.can('makePrimary auth-method', authMethod));
|
||||
});
|
||||
});
|
||||
@@ -11,7 +11,7 @@ import { MIME_TYPE_ASCIICAST } from 'api/models/channel-recording';
|
||||
module('Unit | Abilities | channel-recording', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
let abilitiesService;
|
||||
let canService;
|
||||
let store;
|
||||
let sessionRecording;
|
||||
let connectionRecording;
|
||||
@@ -19,7 +19,7 @@ module('Unit | Abilities | channel-recording', function (hooks) {
|
||||
let noneAsciicastChannel;
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
abilitiesService = this.owner.lookup('service:abilities');
|
||||
canService = this.owner.lookup('service:can');
|
||||
store = this.owner.lookup('service:store');
|
||||
|
||||
sessionRecording = store.createRecord('session-recording', {
|
||||
@@ -39,20 +39,18 @@ module('Unit | Abilities | channel-recording', function (hooks) {
|
||||
});
|
||||
|
||||
test('returns true if session recording complete and channel mime type is asciicast', function (assert) {
|
||||
assert.true(
|
||||
abilitiesService.can('play channel-recording', asciicastChannel),
|
||||
);
|
||||
assert.true(canService.can('play channel-recording', asciicastChannel));
|
||||
assert.false(
|
||||
abilitiesService.can('play channel-recording', noneAsciicastChannel),
|
||||
canService.can('play channel-recording', noneAsciicastChannel),
|
||||
);
|
||||
});
|
||||
|
||||
test('returns false if session recording complete and channel mime type is not asciicast', function (assert) {
|
||||
assert.true(
|
||||
abilitiesService.can('viewOnly channel-recording', noneAsciicastChannel),
|
||||
canService.can('viewOnly channel-recording', noneAsciicastChannel),
|
||||
);
|
||||
assert.false(
|
||||
abilitiesService.can('viewOnly channel-recording', asciicastChannel),
|
||||
canService.can('viewOnly channel-recording', asciicastChannel),
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -10,7 +10,7 @@ module('Unit | Abilities | model', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
test('it reflects when a resource may be navigated to based on list and create actions', function (assert) {
|
||||
const service = this.owner.lookup('service:abilities');
|
||||
const service = this.owner.lookup('service:can');
|
||||
const model = {
|
||||
authorized_collection_actions: { foobars: [] },
|
||||
};
|
||||
|
||||
@@ -21,40 +21,32 @@ module('Unit | Abilities | credential-library', function (hooks) {
|
||||
|
||||
test('can read credential library type when authorized and feature is enabled', function (assert) {
|
||||
features.enable('ssh-target');
|
||||
const abilitiesService = this.owner.lookup('service:abilities');
|
||||
const canService = this.owner.lookup('service:can');
|
||||
const store = this.owner.lookup('service:store');
|
||||
const credentialLibrary = store.createRecord('credential-library', {
|
||||
authorized_actions: ['read'],
|
||||
type: TYPE_CREDENTIAL_LIBRARY_VAULT_SSH_CERTIFICATE,
|
||||
});
|
||||
assert.true(
|
||||
abilitiesService.can('read credential-library', credentialLibrary),
|
||||
);
|
||||
assert.true(canService.can('read credential-library', credentialLibrary));
|
||||
credentialLibrary.type = TYPE_CREDENTIAL_LIBRARY_VAULT_GENERIC;
|
||||
assert.true(
|
||||
abilitiesService.can('read credential-library', credentialLibrary),
|
||||
);
|
||||
assert.true(canService.can('read credential-library', credentialLibrary));
|
||||
});
|
||||
|
||||
test('cannot read credential library type when unauthorized and feature is enabled', function (assert) {
|
||||
features.enable('ssh-target');
|
||||
const abilitiesService = this.owner.lookup('service:abilities');
|
||||
const canService = this.owner.lookup('service:can');
|
||||
const store = this.owner.lookup('service:store');
|
||||
const credentialLibrary = store.createRecord('credential-library', {
|
||||
authorized_actions: [],
|
||||
type: TYPE_CREDENTIAL_LIBRARY_VAULT_SSH_CERTIFICATE,
|
||||
});
|
||||
assert.false(
|
||||
abilitiesService.can('read credential-library', credentialLibrary),
|
||||
);
|
||||
assert.false(canService.can('read credential-library', credentialLibrary));
|
||||
credentialLibrary.type = TYPE_CREDENTIAL_LIBRARY_VAULT_GENERIC;
|
||||
assert.false(
|
||||
abilitiesService.can('read credential-library', credentialLibrary),
|
||||
);
|
||||
assert.false(canService.can('read credential-library', credentialLibrary));
|
||||
});
|
||||
|
||||
test('cannot read credential library type when unauthorized and feature is disabled', function (assert) {
|
||||
const abilitiesService = this.owner.lookup('service:abilities');
|
||||
const canService = this.owner.lookup('service:can');
|
||||
const store = this.owner.lookup('service:store');
|
||||
const featuresService = this.owner.lookup('service:features');
|
||||
const credentialLibrary = store.createRecord('credential-library', {
|
||||
@@ -62,17 +54,13 @@ module('Unit | Abilities | credential-library', function (hooks) {
|
||||
type: TYPE_CREDENTIAL_LIBRARY_VAULT_SSH_CERTIFICATE,
|
||||
});
|
||||
assert.false(featuresService.isEnabled('ssh-target'));
|
||||
assert.false(
|
||||
abilitiesService.can('read credential-library', credentialLibrary),
|
||||
);
|
||||
assert.false(canService.can('read credential-library', credentialLibrary));
|
||||
credentialLibrary.type = TYPE_CREDENTIAL_LIBRARY_VAULT_GENERIC;
|
||||
assert.false(
|
||||
abilitiesService.can('read credential-library', credentialLibrary),
|
||||
);
|
||||
assert.false(canService.can('read credential-library', credentialLibrary));
|
||||
});
|
||||
|
||||
test('can read vault-generic but not vault-ssh-certificate when authorized and feature is disabled', function (assert) {
|
||||
const abilitiesService = this.owner.lookup('service:abilities');
|
||||
const canService = this.owner.lookup('service:can');
|
||||
const store = this.owner.lookup('service:store');
|
||||
const featuresService = this.owner.lookup('service:features');
|
||||
const credentialLibrary = store.createRecord('credential-library', {
|
||||
@@ -80,12 +68,8 @@ module('Unit | Abilities | credential-library', function (hooks) {
|
||||
type: TYPE_CREDENTIAL_LIBRARY_VAULT_SSH_CERTIFICATE,
|
||||
});
|
||||
assert.false(featuresService.isEnabled('ssh-target'));
|
||||
assert.false(
|
||||
abilitiesService.can('read credential-library', credentialLibrary),
|
||||
);
|
||||
assert.false(canService.can('read credential-library', credentialLibrary));
|
||||
credentialLibrary.type = TYPE_CREDENTIAL_LIBRARY_VAULT_GENERIC;
|
||||
assert.true(
|
||||
abilitiesService.can('read credential-library', credentialLibrary),
|
||||
);
|
||||
assert.true(canService.can('read credential-library', credentialLibrary));
|
||||
});
|
||||
});
|
||||
@@ -9,11 +9,11 @@ import { setupTest } from 'ember-qunit';
|
||||
module('Unit | Abilities | role', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
let abilitiesService;
|
||||
let canService;
|
||||
let store;
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
abilitiesService = this.owner.lookup('service:abilities');
|
||||
canService = this.owner.lookup('service:can');
|
||||
store = this.owner.lookup('service:store');
|
||||
});
|
||||
|
||||
@@ -23,9 +23,9 @@ module('Unit | Abilities | role', function (hooks) {
|
||||
authorized_actions: ['set-grant-scopes'],
|
||||
scope: globalScope,
|
||||
});
|
||||
assert.true(abilitiesService.can('setGrantScopes role', role));
|
||||
assert.true(canService.can('setGrantScopes role', role));
|
||||
role.authorized_actions = [];
|
||||
assert.false(abilitiesService.can('setGrantScopes role', role));
|
||||
assert.false(canService.can('setGrantScopes role', role));
|
||||
});
|
||||
|
||||
test('can setGrantScopes on role when authorized and scope is org type', function (assert) {
|
||||
@@ -38,9 +38,9 @@ module('Unit | Abilities | role', function (hooks) {
|
||||
authorized_actions: ['set-grant-scopes'],
|
||||
scope: orgScope,
|
||||
});
|
||||
assert.true(abilitiesService.can('setGrantScopes role', role));
|
||||
assert.true(canService.can('setGrantScopes role', role));
|
||||
role.authorized_actions = [];
|
||||
assert.false(abilitiesService.can('setGrantScopes role', role));
|
||||
assert.false(canService.can('setGrantScopes role', role));
|
||||
});
|
||||
|
||||
test('cannot setGrantScopes on role when authorized and scope is project type', function (assert) {
|
||||
@@ -57,8 +57,8 @@ module('Unit | Abilities | role', function (hooks) {
|
||||
authorized_actions: ['set-grant-scopes'],
|
||||
scope: projectScope,
|
||||
});
|
||||
assert.false(abilitiesService.can('setGrantScopes role', role));
|
||||
assert.false(canService.can('setGrantScopes role', role));
|
||||
role.authorized_actions = [];
|
||||
assert.false(abilitiesService.can('setGrantScopes role', role));
|
||||
assert.false(canService.can('setGrantScopes role', role));
|
||||
});
|
||||
});
|
||||
@@ -10,12 +10,12 @@ module('Unit | Abilities | Scope', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
let features;
|
||||
let abilitiesService;
|
||||
let canService;
|
||||
let store;
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
store = this.owner.lookup('service:store');
|
||||
abilitiesService = this.owner.lookup('service:abilities');
|
||||
canService = this.owner.lookup('service:can');
|
||||
features = this.owner.lookup('service:features');
|
||||
});
|
||||
|
||||
@@ -25,7 +25,7 @@ module('Unit | Abilities | Scope', function (hooks) {
|
||||
const scopeModel = store.createRecord('scope', {
|
||||
authorized_actions: ['attach-storage-policy'],
|
||||
});
|
||||
assert.true(abilitiesService.can('attachStoragePolicy scope', scopeModel));
|
||||
assert.true(canService.can('attachStoragePolicy scope', scopeModel));
|
||||
});
|
||||
|
||||
test('cannot attach storage policy when unauthorized', function (assert) {
|
||||
@@ -35,7 +35,7 @@ module('Unit | Abilities | Scope', function (hooks) {
|
||||
authorized_actions: [],
|
||||
});
|
||||
|
||||
assert.false(abilitiesService.can('attachStoragePolicy scope', scopeModel));
|
||||
assert.false(canService.can('attachStoragePolicy scope', scopeModel));
|
||||
});
|
||||
|
||||
test('can detach storage policy when authorized', function (assert) {
|
||||
@@ -44,6 +44,6 @@ module('Unit | Abilities | Scope', function (hooks) {
|
||||
const scopeModel = store.createRecord('scope', {
|
||||
authorized_actions: ['detach-storage-policy'],
|
||||
});
|
||||
assert.true(abilitiesService.can('detachStoragePolicy scope', scopeModel));
|
||||
assert.true(canService.can('detachStoragePolicy scope', scopeModel));
|
||||
});
|
||||
});
|
||||
@@ -15,12 +15,12 @@ module('Unit | Abilities | session-recording', function (hooks) {
|
||||
setupTest(hooks);
|
||||
|
||||
let features;
|
||||
let abilitiesService;
|
||||
let canService;
|
||||
let store;
|
||||
|
||||
hooks.beforeEach(function () {
|
||||
features = this.owner.lookup('service:features');
|
||||
abilitiesService = this.owner.lookup('service:abilities');
|
||||
canService = this.owner.lookup('service:can');
|
||||
store = this.owner.lookup('service:store');
|
||||
});
|
||||
|
||||
@@ -43,13 +43,10 @@ module('Unit | Abilities | session-recording', function (hooks) {
|
||||
);
|
||||
|
||||
assert.true(
|
||||
abilitiesService.can(
|
||||
'read session-recording',
|
||||
recordingWithAuthorizedAction,
|
||||
),
|
||||
canService.can('read session-recording', recordingWithAuthorizedAction),
|
||||
);
|
||||
assert.false(
|
||||
abilitiesService.can(
|
||||
canService.can(
|
||||
'read session-recording',
|
||||
recordingWithoutAuthorizedAction,
|
||||
),
|
||||
@@ -73,13 +70,10 @@ module('Unit | Abilities | session-recording', function (hooks) {
|
||||
);
|
||||
|
||||
assert.false(
|
||||
abilitiesService.can(
|
||||
'read session-recording',
|
||||
recordingWithAuthorizedAction,
|
||||
),
|
||||
canService.can('read session-recording', recordingWithAuthorizedAction),
|
||||
);
|
||||
assert.false(
|
||||
abilitiesService.can(
|
||||
canService.can(
|
||||
'read session-recording',
|
||||
recordingWithoutAuthorizedAction,
|
||||
),
|
||||
@@ -101,12 +95,12 @@ module('Unit | Abilities | session-recording', function (hooks) {
|
||||
});
|
||||
|
||||
assert.true(
|
||||
abilitiesService.can('list scope', scopeModelWithAuthorizedAction, {
|
||||
canService.can('list scope', scopeModelWithAuthorizedAction, {
|
||||
collection: 'session-recordings',
|
||||
}),
|
||||
);
|
||||
assert.false(
|
||||
abilitiesService.can('list scope', scopeModelWithoutAuthorizedAction, {
|
||||
canService.can('list scope', scopeModelWithoutAuthorizedAction, {
|
||||
collection: 'session-recordings',
|
||||
}),
|
||||
);
|
||||
@@ -127,12 +121,12 @@ module('Unit | Abilities | session-recording', function (hooks) {
|
||||
});
|
||||
|
||||
assert.true(
|
||||
abilitiesService.can('list scope', scopeModelWithAuthorizedAction, {
|
||||
canService.can('list scope', scopeModelWithAuthorizedAction, {
|
||||
collection: 'session-recordings',
|
||||
}),
|
||||
);
|
||||
assert.false(
|
||||
abilitiesService.can('list scope', scopeModelWithoutAuthorizedAction, {
|
||||
canService.can('list scope', scopeModelWithoutAuthorizedAction, {
|
||||
collection: 'session-recordings',
|
||||
}),
|
||||
);
|
||||
@@ -153,18 +147,14 @@ module('Unit | Abilities | session-recording', function (hooks) {
|
||||
});
|
||||
|
||||
assert.true(
|
||||
abilitiesService.can('navigate scope', scopeModelWithAuthorizedAction, {
|
||||
canService.can('navigate scope', scopeModelWithAuthorizedAction, {
|
||||
collection: 'session-recordings',
|
||||
}),
|
||||
);
|
||||
assert.false(
|
||||
abilitiesService.can(
|
||||
'navigate scope',
|
||||
scopeModelWithoutAuthorizedAction,
|
||||
{
|
||||
collection: 'session-recordings',
|
||||
},
|
||||
),
|
||||
canService.can('navigate scope', scopeModelWithoutAuthorizedAction, {
|
||||
collection: 'session-recordings',
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -181,18 +171,14 @@ module('Unit | Abilities | session-recording', function (hooks) {
|
||||
});
|
||||
|
||||
assert.false(
|
||||
abilitiesService.can('navigate scope', scopeModelWithAuthorizedAction, {
|
||||
canService.can('navigate scope', scopeModelWithAuthorizedAction, {
|
||||
collection: 'session-recordings',
|
||||
}),
|
||||
);
|
||||
assert.false(
|
||||
abilitiesService.can(
|
||||
'navigate scope',
|
||||
scopeModelWithoutAuthorizedAction,
|
||||
{
|
||||
collection: 'session-recordings',
|
||||
},
|
||||
),
|
||||
canService.can('navigate scope', scopeModelWithoutAuthorizedAction, {
|
||||
collection: 'session-recordings',
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -218,13 +204,10 @@ module('Unit | Abilities | session-recording', function (hooks) {
|
||||
);
|
||||
|
||||
assert.true(
|
||||
abilitiesService.can(
|
||||
'delete session-recording',
|
||||
recordingWithAuthorizedAction,
|
||||
),
|
||||
canService.can('delete session-recording', recordingWithAuthorizedAction),
|
||||
);
|
||||
assert.false(
|
||||
abilitiesService.can(
|
||||
canService.can(
|
||||
'delete session-recording',
|
||||
recordingWithoutAuthorizedAction,
|
||||
),
|
||||
@@ -253,13 +236,10 @@ module('Unit | Abilities | session-recording', function (hooks) {
|
||||
);
|
||||
|
||||
assert.false(
|
||||
abilitiesService.can(
|
||||
'delete session-recording',
|
||||
recordingWithAuthorizedAction,
|
||||
),
|
||||
canService.can('delete session-recording', recordingWithAuthorizedAction),
|
||||
);
|
||||
assert.false(
|
||||
abilitiesService.can(
|
||||
canService.can(
|
||||
'delete session-recording',
|
||||
recordingWithoutAuthorizedAction,
|
||||
),
|
||||
|
||||
Loaded 100 of 107 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user