1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { PermissionLevel } from '~/models/permission';
6 import { getFormValues } from 'redux-form';
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';
13 export enum VisibilityLevel {
19 export interface SharingPublicAccessFormData {
20 visibility: VisibilityLevel;
21 permissionUuid: string;
24 export interface SharingManagementFormData {
25 permissions: SharingManagementFormDataRow[];
26 initialPermissions: SharingManagementFormDataRow[];
29 export interface SharingManagementFormDataRow {
31 permissions: PermissionLevel;
32 permissionUuid: string;
35 export interface SharingInvitationFormData {
36 permissions: PermissionLevel;
37 invitedPeople: SharingInvitationFormPersonData[];
40 export interface SharingInvitationFormPersonData {
46 export const getSharingMangementFormData = (state: any) =>
47 getFormValues(SHARING_MANAGEMENT_FORM_NAME)(state) as SharingManagementFormData;
49 export const getSharingPublicAccessFormData = (state: any) =>
50 getFormValues(SHARING_PUBLIC_ACCESS_FORM_NAME)(state) as SharingPublicAccessFormData;