Create permission service, create public access and sharing management actions
[arvados-workbench2.git] / src / store / sharing-dialog / sharing-dialog-types.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { PermissionLevel } from '~/models/permission';
6
7 export const SHARING_DIALOG_NAME = 'SHARING_DIALOG_NAME';
8 export const SHARING_PUBLIC_ACCESS_FORM_NAME = 'SHARING_PUBLIC_ACCESS_FORM_NAME';
9 export const SHARING_MANAGEMENT_FORM_NAME = 'SHARING_MANAGEMENT_FORM_NAME';
10 export const SHARING_INVITATION_FORM_NAME = 'SHARING_INVITATION_FORM_NAME';
11
12 export interface SharingPublicAccessFormData {
13     enabled: boolean;
14     permissions: PermissionLevel;
15 }
16
17 export interface SharingManagementFormData {
18     permissions: SharingManagementFormDataRow[];
19 }
20
21 export interface SharingManagementFormDataRow {
22     email: string;
23     permissions: PermissionLevel;
24 }
25
26 export interface SharingInvitationFormData {
27     permissions: PermissionLevel;
28     invitedPeople: SharingInvitationFormPersonData[];
29 }
30
31 export interface SharingInvitationFormPersonData {
32     email: string;
33     name: string;
34     uuid: string;
35 }