2023-03-01 09:39:41 -06:00
|
|
|
/**
|
|
|
|
|
* 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
|
|
|
|
2020-08-28 17:34:14 -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
|
|
|
},
|
|
|
|
|
}),
|
2020-08-28 17:34:14 -04:00
|
|
|
});
|