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

179 lines (178 loc) 5.59 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 "../../utils/PermissionLevelToAccessType.js"; import { useCallback as T } from "react"; import { useSynapseContext as o } from "../../utils/context/SynapseContext.js"; import "use-deep-compare-effect"; import { useQuery as d, useQueryClient as c, useMutation as y } from "@tanstack/react-query"; import "@tanstack/query-core"; import "lodash-es/isEmpty"; import "lodash-es/isEqual"; import "lodash-es/xorWith"; import "@mui/material"; import "@sage-bionetworks/synapse-client"; import "../../utils/types/IsType.js"; import "react/jsx-runtime"; 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 "react-router"; function X(e) { const { data: r, isLoading: i } = l(e), { data: s, isLoading: t } = f( r, { enabled: !!r } ), { mutate: a } = g(), { mutate: n } = h(), m = T(() => { r && (r?.isPinned ? n(r) : a(r)); }, [n, a, r]); return { threadData: r, threadBody: s, togglePin: m, isLoading: t || i }; } function l(e, r) { const { accessToken: i, keyFactory: s } = o(); return d({ ...r, queryKey: s.getThreadQueryKey(e), queryFn: () => u.getThread(e, i) }); } function f(e, r) { const { accessToken: i, keyFactory: s } = o(), t = async () => { const a = await u.getThreadMessageUrl( e?.messageKey, i ); return (await fetch(a.messageUrl, { method: "GET", headers: { Accept: "*/*", "Access-Control-Request-Headers": "authorization", "Content-Type": "text/plain; charset=utf-8" } })).text(); }; return d({ ...r, queryKey: s.getThreadBodyQueryKey( e?.id, e?.messageKey ), queryFn: t }); } function Y(e) { const r = c(), { accessToken: i, keyFactory: s } = o(); return y({ ...e, mutationFn: (t) => u.putThreadTitle(i, t), onSuccess: async (t, a, n) => { await r.invalidateQueries({ queryKey: s.getAllForumThreadsQueryKey(t.forumId) }), await r.invalidateQueries({ queryKey: s.getThreadQueryKey(a.threadId) }), e?.onSuccess && await e.onSuccess(t, a, n); } }); } function Z(e) { const r = c(), { accessToken: i, keyFactory: s } = o(); return y({ ...e, mutationFn: (t) => u.putThreadMessage(i, t), onSuccess: async (t, a, n) => { await r.invalidateQueries({ queryKey: s.getThreadQueryKey(a.threadId) }), e?.onSuccess && await e.onSuccess(t, a, n); } }); } function _(e) { const r = c(), { accessToken: i, keyFactory: s } = o(); return y({ ...e, mutationFn: (t) => u.postThread(i, t), onSuccess: async (t, a, n) => { await r.invalidateQueries({ queryKey: s.getAllForumThreadsQueryKey(t.forumId) }), e?.onSuccess && await e.onSuccess(t, a, n); } }); } function $(e) { const r = c(), { accessToken: i, keyFactory: s } = o(); return y({ ...e, mutationFn: (t) => u.deleteThread(i, t.id), onSuccess: async (t, a, n) => { await r.invalidateQueries({ queryKey: s.getAllForumThreadsQueryKey(a.forumId) }), await r.invalidateQueries({ queryKey: s.getThreadQueryKey(a.id) }), e?.onSuccess && await e.onSuccess(t, a, n); } }); } function B(e) { const r = c(), { accessToken: i, keyFactory: s } = o(); return y({ ...e, mutationFn: (t) => u.restoreThread(i, t.id), onSuccess: async (t, a, n) => { await r.invalidateQueries({ queryKey: s.getAllForumThreadsQueryKey(a.forumId) }), await r.invalidateQueries({ queryKey: s.getThreadQueryKey(a.id) }), e?.onSuccess && await e.onSuccess(t, a, n); } }); } function g(e) { const r = c(), { accessToken: i, keyFactory: s } = o(); return y({ ...e, mutationFn: (t) => u.pinThread(i, t.id), onSuccess: async (t, a, n) => { await r.invalidateQueries({ queryKey: s.getAllForumThreadsQueryKey(a.forumId) }), await r.invalidateQueries({ queryKey: s.getThreadQueryKey(a.id) }), e?.onSuccess && await e.onSuccess(t, a, n); } }); } function h(e) { const r = c(), { accessToken: i, keyFactory: s } = o(); return y({ ...e, mutationFn: (t) => u.unPinThread(i, t.id), onSuccess: async (t, a, n) => { await r.invalidateQueries({ queryKey: s.getAllForumThreadsQueryKey(a.forumId) }), await r.invalidateQueries({ queryKey: s.getThreadQueryKey(a.id) }), e?.onSuccess && await e.onSuccess(t, a, n); } }); } export { _ as useCreateThread, $ as useDeleteThread, X as useGetThread, f as useGetThreadBody, l as useGetThreadBundle, g as usePinThread, B as useRestoreThread, h as useUnPinThread, Z as useUpdateThreadMessage, Y as useUpdateThreadTitle }; //# sourceMappingURL=useThread.js.map