Revert "chore: 🤖 bump ember-can (#3093)" (#3107)

This reverts commit b5d33948dc.
This commit is contained in:
hashicc authored and GitHub committed 2025-12-08 18:20:55 -05:00
1 parent 9204c63b17
commit f1ffb80b80
107 files changed
+435 -542

No files matched your search

+1 -2
View File
@@ -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,
@@ -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,
@@ -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,
@@ -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;
/**
@@ -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',
})
) {
@@ -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',
})
) {
@@ -10,7 +10,7 @@ export default class ScopesScopeCredentialStoresCredentialStoreCredentialsCreden
// =services
@service store;
@service abilities;
@service can;
@service router;
// =methods
@@ -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
@@ -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',
);
@@ -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',
})
) {
+2 -2
View File
@@ -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
@@ -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;
@@ -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
+2 -2
View File
@@ -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));
});
});
+8 -8
View File
@@ -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));
});
});
+5 -5
View File
@@ -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,
),
@@ -14,12 +14,12 @@ module('Unit | Abilities | storage-bucket', 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');
});
@@ -32,7 +32,7 @@ module('Unit | Abilities | storage-bucket', function (hooks) {
compositeType: TYPE_STORAGE_BUCKET_PLUGIN_AWS_S3,
});
assert.true(abilitiesService.can('read storage-bucket', storageBucket));
assert.true(canService.can('read storage-bucket', storageBucket));
});
test('cannot read storage bucket when unauthorized and feature is enabled', function (assert) {
@@ -44,7 +44,7 @@ module('Unit | Abilities | storage-bucket', function (hooks) {
compositeType: TYPE_STORAGE_BUCKET_PLUGIN_AWS_S3,
});
assert.false(abilitiesService.can('read storage-bucket', storageBucket));
assert.false(canService.can('read storage-bucket', storageBucket));
});
test('cannot read storage bucket when authorized and feature is disabled', function (assert) {
@@ -54,7 +54,7 @@ module('Unit | Abilities | storage-bucket', function (hooks) {
compositeType: TYPE_STORAGE_BUCKET_PLUGIN_AWS_S3,
});
assert.false(abilitiesService.can('read storage-bucket', storageBucket));
assert.false(canService.can('read storage-bucket', storageBucket));
});
test('cannot read storage bucket when unauthorized and feature is disabled', function (assert) {
@@ -64,7 +64,7 @@ module('Unit | Abilities | storage-bucket', function (hooks) {
compositeType: TYPE_STORAGE_BUCKET_PLUGIN_AWS_S3,
});
assert.false(abilitiesService.can('read storage-bucket', storageBucket));
assert.false(canService.can('read storage-bucket', storageBucket));
});
test('can list storage bucket when authorized and in global scope', function (assert) {
@@ -77,7 +77,7 @@ module('Unit | Abilities | storage-bucket', function (hooks) {
});
assert.true(
abilitiesService.can('list scope', scopeModel, {
canService.can('list scope', scopeModel, {
collection: 'storage-buckets',
}),
);
@@ -93,7 +93,7 @@ module('Unit | Abilities | storage-bucket', function (hooks) {
});
assert.false(
abilitiesService.can('list scope', scopeModel, {
canService.can('list scope', scopeModel, {
collection: 'storage-buckets',
}),
);
@@ -109,7 +109,7 @@ module('Unit | Abilities | storage-bucket', function (hooks) {
});
assert.true(
abilitiesService.can('list scope', scopeModel, {
canService.can('list scope', scopeModel, {
collection: 'storage-buckets',
}),
);
@@ -125,7 +125,7 @@ module('Unit | Abilities | storage-bucket', function (hooks) {
});
assert.true(
abilitiesService.can('create scope', scopeModel, {
canService.can('create scope', scopeModel, {
collection: 'storage-buckets',
}),
);
@@ -141,7 +141,7 @@ module('Unit | Abilities | storage-bucket', function (hooks) {
});
assert.true(
abilitiesService.can('create scope', scopeModel, {
canService.can('create scope', scopeModel, {
collection: 'storage-buckets',
}),
);
@@ -157,7 +157,7 @@ module('Unit | Abilities | storage-bucket', function (hooks) {
});
assert.true(
abilitiesService.can('create scope', scopeModel, {
canService.can('create scope', scopeModel, {
collection: 'storage-buckets',
}),
);
@@ -173,7 +173,7 @@ module('Unit | Abilities | storage-bucket', function (hooks) {
});
assert.false(
abilitiesService.can('create scope', scopeModel, {
canService.can('create scope', scopeModel, {
collection: 'storage-buckets',
}),
);
@@ -189,7 +189,7 @@ module('Unit | Abilities | storage-bucket', function (hooks) {
});
assert.true(
abilitiesService.can('navigate scope', scopeModel, {
canService.can('navigate scope', scopeModel, {
collection: 'storage-buckets',
}),
);
@@ -203,7 +203,7 @@ module('Unit | Abilities | storage-bucket', function (hooks) {
});
assert.false(
abilitiesService.can('navigate scope', scopeModel, {
canService.can('navigate scope', scopeModel, {
collection: 'storage-buckets',
}),
);
+10 -10
View File
@@ -14,7 +14,7 @@ import {
module('Unit | Abilities | user', function (hooks) {
setupTest(hooks);
let abilitiesService;
let canService;
let store;
let features;
@@ -24,7 +24,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');
features = this.owner.lookup('service:features');
instances.user = store.createRecord('user', {
@@ -37,7 +37,7 @@ module('Unit | Abilities | user', function (hooks) {
features.enable('ldap-auth-methods');
instances.account.type = TYPE_AUTH_METHOD_LDAP;
assert.true(
abilitiesService.can('addAccount user', instances.user, {
canService.can('addAccount user', instances.user, {
account: instances.account,
}),
);
@@ -46,13 +46,13 @@ module('Unit | Abilities | user', function (hooks) {
test('can add non-ldap account to user', function (assert) {
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,
}),
);
@@ -61,7 +61,7 @@ module('Unit | Abilities | user', function (hooks) {
test('cannot add ldap account to user when feature flag disabled', function (assert) {
instances.account.type = TYPE_AUTH_METHOD_LDAP;
assert.false(
abilitiesService.can('addAccount user', instances.user, {
canService.can('addAccount user', instances.user, {
account: instances.account,
}),
);
@@ -71,7 +71,7 @@ module('Unit | Abilities | user', function (hooks) {
features.enable('ldap-auth-methods');
instances.account.type = TYPE_AUTH_METHOD_LDAP;
assert.true(
abilitiesService.can('removeAccount user', instances.user, {
canService.can('removeAccount user', instances.user, {
account: instances.account,
}),
);
@@ -80,7 +80,7 @@ module('Unit | Abilities | user', function (hooks) {
test('cannot remove ldap account from user when feature flag disabled', function (assert) {
instances.account.type = TYPE_AUTH_METHOD_LDAP;
assert.false(
abilitiesService.can('removeAccount user', instances.user, {
canService.can('removeAccount user', instances.user, {
account: instances.account,
}),
);
@@ -89,13 +89,13 @@ module('Unit | Abilities | user', function (hooks) {
test('can remove non-ldap account from user', function (assert) {
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,
}),
);