UNPKG

synapse-react-client

Version:

[![npm version](https://badge.fury.io/js/synapse-react-client.svg)](https://badge.fury.io/js/synapse-react-client) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettie

88 lines (87 loc) 2.91 kB
import "../../synapse-client/SynapseClient.js"; import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode"; import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse"; import "@sage-bionetworks/synapse-client/util/SynapseClientError"; import "@sage-bionetworks/synapse-types"; import "../../utils/functions/EntityTypeUtils.js"; import "../../utils/SynapseConstants.js"; import "lodash-es"; import "@sage-bionetworks/synapse-client/util/synapseClientFetch"; import "@tanstack/react-query"; import "../../utils/PermissionLevelToAccessType.js"; import { useMemo as a, useEffect as l } from "react"; import "../../utils/context/SynapseContext.js"; import "use-deep-compare-effect"; import "react/jsx-runtime"; import "@mui/material"; import "../../utils/hooks/useCookiePreferences.js"; import "../../utils/hooks/useSourceAppConfigs.js"; import "universal-cookie"; import "../../utils/AppUtils/session/ApplicationSessionContext.js"; import "../../utils/context/FullContextProvider.js"; import "../../utils/context/DocumentMetadataContext.js"; import '../../style/components/_spinner.css';/* empty css */ import "@tanstack/query-core"; import "lodash-es/isEmpty"; import "lodash-es/isEqual"; import "lodash-es/xorWith"; import "react-router"; import "@sage-bionetworks/synapse-client"; import "../../utils/types/IsType.js"; import { useGetUserGroupHeaders as f } from "../../synapse-queries/user/useUserGroupHeader.js"; import { useGetRealmPrincipals as G } from "../../synapse-queries/realm/useRealmPrincipals.js"; import { compareResourceAccessAndUserGroupHeader as H } from "./ResourceAccessAndUserGroupHeader.js"; function _(o) { const { data: c } = G(), u = c || {}, { authenticatedUsers: p, publicGroup: n } = u, m = a( () => o.map((e) => e.principalId), [o] ), { data: t, isLoading: d, error: i } = f(m.map(String), { enabled: m.length > 0 }); return l(() => { i && console.error("Error fetching user group headers: ", i); }, [i]), { sortedResourceAccessList: a(() => { if (!t) return null; const e = o.map( (r) => ({ resourceAccess: r, userGroupHeader: t.find( (s) => String(s.ownerId) === String(r.principalId) ) }) ); return e.every( (r) => !!r.userGroupHeader ) ? e.toSorted( (r, s) => H( r, s, p, n ) ).map((r) => r.resourceAccess) : (console.warn( "Some ACL entries do not have a corresponding UserGroupHeader. The ResourceAccess list will not be sorted. Missing entries: ", e.filter((r) => !r.userGroupHeader) ), null); }, [ o, t, p, n ]), isLoading: d }; } export { _ as default }; //# sourceMappingURL=useSortResourceAccessList.js.map