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:
Zhihe Li authored and GitHub committed 2022-08-01 16:04:41 -04:00
1 parent bc6f849270
commit 96b0ae3b06
24 files changed
+277 -9

No files matched your search

+15
View File
@@ -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');
}
}
+1
View File
@@ -0,0 +1 @@
export { default } from 'api/abilities/worker';
+9 -2
View File
@@ -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 -1
View File
@@ -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 }),
});
+3
View File
@@ -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 });
}