Icu 5245 add workers tab to navigation and initial overview (#1229)
* feat: 🎸 Add initial workers UI navigation page ✅ Closes: ICU-5245
This commit is contained in:
1 parent
bc6f849270
commit
96b0ae3b06
24 files changed
+277
-9
No files matched your search
@@ -0,0 +1,15 @@
|
||||
import ModelAbility from './model';
|
||||
|
||||
/**
|
||||
* Provides abilities for workers.
|
||||
*/
|
||||
export default class WorkerAbility extends ModelAbility {
|
||||
// =permissions
|
||||
|
||||
/**
|
||||
* @type {boolean}
|
||||
*/
|
||||
get canCreateWorkerLed() {
|
||||
return this.hasAuthorizedCollectionAction('create:worker-led');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export { default } from 'api/abilities/worker';
|
||||
@@ -14,8 +14,8 @@ export default factory.extend({
|
||||
'delete',
|
||||
],
|
||||
|
||||
authorized_collection_actions: () => {
|
||||
return {
|
||||
authorized_collection_actions() {
|
||||
const collectionActions = {
|
||||
scopes: ['create', 'list'],
|
||||
users: ['create', 'list'],
|
||||
sessions: ['list'],
|
||||
@@ -26,6 +26,13 @@ export default factory.extend({
|
||||
'auth-methods': ['create', 'list'],
|
||||
'host-catalogs': ['create', 'list'],
|
||||
};
|
||||
|
||||
// Worker permissions only available on the global scope
|
||||
if (this.type === 'global') {
|
||||
collectionActions.workers = ['create:worker-led', 'list'];
|
||||
}
|
||||
|
||||
return collectionActions;
|
||||
},
|
||||
|
||||
id: () => generateId('s_'),
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import factory from '../generated/factories/user';
|
||||
import factory from '../generated/factories/worker';
|
||||
import permissions from '../helpers/permissions';
|
||||
import generateId from '../helpers/id';
|
||||
import { faker } from '@faker-js/faker';
|
||||
|
||||
@@ -2,8 +2,8 @@ import { Factory } from 'ember-cli-mirage';
|
||||
import { faker } from '@faker-js/faker';
|
||||
|
||||
/**
|
||||
* GeneratedUserModelFactory
|
||||
* User contains all fields related to a User resource
|
||||
* GeneratedWorkerModelFactory
|
||||
* User contains all fields related to a Worker resource
|
||||
*/
|
||||
export default Factory.extend({
|
||||
name: () => faker.random.words(),
|
||||
@@ -11,7 +11,7 @@ export default Factory.extend({
|
||||
created_time: () => faker.date.recent(),
|
||||
updated_time: () => faker.date.recent(),
|
||||
version: () => faker.datatype.number(),
|
||||
address: () => `${faker.internet.ipv6()}${faker.internet.port()}`,
|
||||
address: () => `${faker.internet.ipv4()}:${faker.internet.port()}`,
|
||||
last_status_time: () => faker.date.recent(),
|
||||
active_connection_count: () => faker.datatype.number(),
|
||||
active_connection_count: () => faker.datatype.number({ max: 10 }),
|
||||
});
|
||||
@@ -65,4 +65,7 @@ export default function (server) {
|
||||
server.createList('group', 3, { scope });
|
||||
server.createList('role', 3, { scope });
|
||||
});
|
||||
|
||||
// Workers
|
||||
server.createList('worker', 3, { scope: globalScope });
|
||||
}
|
||||
Reference in new issue
Block a user