-
- const getGroupsFromForm = invitations.invitedPeople.filter((invitation) => extractUuidKind(invitation.uuid) === ResourceKind.GROUP);
- const getUsersFromForm = invitations.invitedPeople.filter((invitation) => extractUuidKind(invitation.uuid) === ResourceKind.USER);
-
- const invitationDataUsers = getUsersFromForm
- .map(person => ({
- ownerUuid: user.uuid,
- headUuid: dialog.data.resourceUuid,
- tailUuid: person.uuid,
- name: invitations.permissions
- }));
-
- const invitationsDataGroups = getGroupsFromForm.map(
- group => ({
- ownerUuid: user.uuid,
- headUuid: dialog.data.resourceUuid,
- tailUuid: group.uuid,
- name: invitations.permissions
- })
- );
-
- const data = invitationDataUsers.concat(invitationsDataGroups);
-
- for (const invitation of data) {
- await permissionService.create(invitation);
- }
+ const data = invitations.invitedPeople.map(invitee => ({
+ ownerUuid: user.uuid,
+ headUuid: dialog.data.resourceUuid,
+ tailUuid: invitee.uuid,
+ name: invitations.permissions
+ }));
+ const changes = data.map( invitation => permissionService.create(invitation));
+ await Promise.all(changes);