synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
111 lines (110 loc) • 3.39 kB
JavaScript
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