synapse-react-client
Version:
[](https://badge.fury.io/js/synapse-react-client) [](https://github.com/prettier/prettie
54 lines (53 loc) • 2.16 kB
JavaScript
import { displayToast as f } from "../../components/ToastMessage/ToastMessage.js";
import * as w 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 { parseEntityIdFromSqlStatement as T } from "../../utils/functions/SqlFunctions.js";
import "../../utils/functions/EntityTypeUtils.js";
import "../../utils/SynapseConstants.js";
import "lodash-es";
import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
import { useSynapseContext as b } from "../../utils/context/SynapseContext.js";
function g(r, t, s, a, n, i = !1) {
const c = t?.filter((e) => e.name != "name").map((e) => i && e.name.includes(" ") ? `"${e.name}" as "${e.name.replace(/\s/g, "")}"` : `"${e.name}"`).join(",");
return `SELECT CONCAT('drs://repo-prod.prod.sagebase.org/syn', ${s}, '.', ${n}) AS drs_uri, ${a} as name, ${c} FROM ${r.slice(
r.toLowerCase().indexOf("from") + 4 + 1
)}`;
}
function h(r, t, s = "id", a = "name", n = "currentVersion") {
const { accessToken: i } = b(), c = ",", e = !0, m = !1, d = r.query.sql;
return async () => {
try {
const o = g(
d,
t,
s,
a,
n
), p = {
sql: o,
entityId: T(o),
selectedFacets: r.query.selectedFacets,
concreteType: "org.sagebionetworks.repo.model.table.DownloadFromTableRequest",
writeHeader: e,
includeRowIdAndRowVersion: m,
csvTableDescriptor: { separator: c },
additionalFilters: r.query.additionalFilters
}, l = await w.createTableCsvForDownload(
p,
i
), u = `https://cavatica.sbgenomics.com/import-redirect/drs/csv?DRS_URI=${encodeURIComponent(
`drs://repo-prod.prod.sagebase.org/fh${l.resultsFileHandleId}`
)}`;
window.open(u, "_blank");
} catch (o) {
f(o.reason, "danger");
}
};
}
export {
g as addDrsUriToSql,
h as useExportToCavatica
};
//# sourceMappingURL=useExportToCavatica.js.map