+const initializePublicAccessForm = (permissionLinks: PermissionResource[]) =>
+ (dispatch: Dispatch, getState: () => RootState,) => {
+
+ const state = getState();
+
+ const [publicPermission] = permissionLinks
+ .filter(item => item.tailUuid === getPublicGroupUuid(state));
+
+ const [allUsersPermission] = permissionLinks
+ .filter(item => item.tailUuid === getAllUsersGroupUuid(state));
+
+ let publicAccessFormData: SharingPublicAccessFormData;
+
+ if (publicPermission) {
+ publicAccessFormData = {
+ visibility: VisibilityLevel.PUBLIC,
+ initialVisibility: VisibilityLevel.PUBLIC,
+ permissionUuid: publicPermission.uuid
+ };
+ } else if (allUsersPermission) {
+ publicAccessFormData = {
+ visibility: VisibilityLevel.ALL_USERS,
+ initialVisibility: VisibilityLevel.ALL_USERS,
+ permissionUuid: allUsersPermission.uuid
+ };
+ } else if (permissionLinks.length > 0) {
+ publicAccessFormData = {
+ visibility: VisibilityLevel.SHARED,
+ initialVisibility: VisibilityLevel.SHARED,
+ permissionUuid: ''
+ };