e8f0794861ad2d168b04b5cbc634ba76e9d745a7
[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 import { SharingManagementForm } from '../../views-components/sharing-dialog/sharing-management-form';
7
8 export const SHARING_DIALOG_NAME = 'SHARING_DIALOG_NAME';
9 export const SHARING_PUBLIC_ACCESS_FORM_NAME = 'SHARING_PUBLIC_ACCESS_FORM_NAME';
10 export const SHARING_MANAGEMENT_FORM_NAME = 'SHARING_MANAGEMENT_FORM_NAME';
11 export const SHARING_INVITATION_FORM_NAME = 'SHARING_INVITATION_FORM_NAME';
12
13 export interface SharingPublicAccessFormData {
14     enabled: boolean;
15     permission: PermissionLevel;
16 }
17
18 export interface SharingManagementFormData {
19     permissions: SharingManagementFormDataRow[];
20 }
21
22 export interface SharingManagementFormDataRow {
23     email: string;
24     permission: PermissionLevel;
25 }
26
27 export interface SharingInvitationFormData {
28     permissions: PermissionLevel;
29     invitedPeople: SharingInvitationFormPersonData[];
30 }
31
32 export interface SharingInvitationFormPersonData {
33     email: string;
34     name: string;
35     uuid: string;
36 }