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

111 lines (110 loc) 3.39 kB
import * as u from "../../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 { useSynapseContext as r } from "../../utils/context/SynapseContext.js"; import { useQueryClient as o, useMutation as y, useInfiniteQuery as m, useQuery as S } from "@tanstack/react-query"; function k(s, t) { const { accessToken: n, keyFactory: a } = r(); return S({ ...t, queryKey: a.getDataAccessSubmissionByIdQueryKey( String(s.toString()) ), queryFn: () => u.getSubmissionById(s, n) }); } function K(s, t) { const { keyFactory: n, synapseClient: a } = r(); return m({ ...t, queryKey: n.searchDataAccessSubmissionUserRequestsQueryKey(s), queryFn: (e) => a.dataAccessServicesClient.postRepoV1DataAccessSubmissionUserRequests( { userSubmissionSearchRequest: { ...s, nextPageToken: e.pageParam } } ), initialPageParam: void 0, getNextPageParam: (e) => e.nextPageToken }); } function D(s, t) { const { accessToken: n, keyFactory: a } = r(); return m({ ...t, queryKey: a.searchDataAccessSubmissionQueryKey(s), queryFn: async (e) => await u.searchAccessSubmission( { ...s, nextPageToken: e.pageParam }, n ), initialPageParam: void 0, getNextPageParam: (e) => e.nextPageToken }); } function F(s) { const t = o(), { accessToken: n, keyFactory: a } = r(); return y({ ...s, mutationFn: (e) => u.updateSubmissionStatus(e, n), onSuccess: async (e, c, i) => { await t.invalidateQueries({ queryKey: a.searchDataAccessSubmissionQueryKey() }), t.setQueryData( a.getDataAccessSubmissionByIdQueryKey(c.submissionId), e ), s?.onSuccess && await s.onSuccess(e, c, i); } }); } function T(s) { const t = o(), { accessToken: n, keyFactory: a } = r(); return y({ ...s, mutationFn: async ({ request: e, accessRequirementId: c }) => { if (e.subjectId == null || e.subjectType == null) { const { subjects: i } = await u.getSubjects( n, c ); e.subjectId = i[0].id, e.subjectType = i[0].type; } return u.submitDataAccessRequest(e, n); }, onSuccess: async (e, c, i) => { await Promise.all([ // Invalidate the status of the relevant AR t.invalidateQueries({ queryKey: a.getAccessRequirementStatusQueryKey( c.accessRequirementId ) }), // Invalidate all searches for AR submissions t.invalidateQueries({ queryKey: a.getDataAccessSubmissionQueryKey() }) ]), s?.onSuccess && await s.onSuccess(e, c, i); } }); } export { k as default, K as useSearchAccessSubmissionUserRequestsInfinite, D as useSearchAccessSubmissionsInfinite, T as useSubmitDataAccessRequest, F as useUpdateDataAccessSubmissionState }; //# sourceMappingURL=useDataAccessSubmission.js.map