Files
threshold-ui/addons/api/mirage/factories/group.js
T

35 lines
817 B
JavaScript
Raw Normal View History

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
2020-06-24 17:07:32 -04:00
import factory from '../generated/factories/group';
2023-01-09 08:48:49 -08:00
import { trait } from 'miragejs';
2021-08-11 16:38:20 -07:00
import permissions from '../helpers/permissions';
2022-06-01 14:02:18 -04:00
import generateId from '../helpers/id';
2020-06-24 17:07:32 -04:00
export default factory.extend({
2021-08-11 16:38:20 -07:00
authorized_actions: () =>
2021-08-12 11:22:20 -07:00
permissions.authorizedActionsFor('group') || [
2021-08-11 16:38:20 -07:00
'no-op',
'read',
'update',
'delete',
2021-10-01 17:00:36 -04:00
'add-members',
'remove-members',
2021-08-11 16:38:20 -07:00
],
2022-06-01 14:02:18 -04:00
id: () => generateId('g_'),
2020-09-01 12:03:36 -04:00
/**
* Generates some users for the same scope and assigns them to the group
* as members.
*/
withMembers: trait({
afterCreate(group, server) {
const scope = group.scope;
2020-09-01 12:03:53 -04:00
const members = server.createList('user', 2, { scope });
2020-09-01 12:03:36 -04:00
group.update({ members });
2021-03-04 15:47:38 -05:00
},
}),
});