synapse-react-client 4.0.46 → 4.0.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/aridhia-queries/useSubmitAridhiaDar.js +2 -2
  3. package/dist/aridhia-queries/useSubmitAridhiaDar.js.map +1 -1
  4. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js +1 -1
  5. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
  6. package/dist/components/AccountLevelBadges/AccountLevelBadges.js +1 -1
  7. package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
  8. package/dist/components/AclEditor/AclEditor.test-utils.js +3 -5
  9. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  10. package/dist/components/Aridhia/AridhiaAccessStatus.d.ts.map +1 -1
  11. package/dist/components/Aridhia/AridhiaAccessStatus.js +43 -30
  12. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  13. package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts +6 -2
  14. package/dist/components/Aridhia/AridhiaDarStatusPopover.d.ts.map +1 -1
  15. package/dist/components/Aridhia/AridhiaDarStatusPopover.js +101 -31
  16. package/dist/components/Aridhia/AridhiaDarStatusPopover.js.map +1 -1
  17. package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts +11 -9
  18. package/dist/components/Aridhia/aridhiaAccessStatusUtils.d.ts.map +1 -1
  19. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js +24 -13
  20. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
  21. package/dist/components/Authentication/LastLoginInfo.js +2 -2
  22. package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
  23. package/dist/components/Authentication/RecoveryCodeForm.js +1 -1
  24. package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
  25. package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
  26. package/dist/components/Authentication/TOTPForm.d.ts.map +1 -1
  27. package/dist/components/Authentication/TOTPForm.js +3 -3
  28. package/dist/components/Authentication/TOTPForm.js.map +1 -1
  29. package/dist/components/Authentication/index.d.ts +6 -6
  30. package/dist/components/Authentication/index.d.ts.map +1 -1
  31. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js +1 -1
  32. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
  33. package/dist/components/CardContainer/CardContainer.js +7 -7
  34. package/dist/components/CardContainer/CardContainer.js.map +1 -1
  35. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js +1 -1
  36. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
  37. package/dist/components/ChallengeSubmission/ChallengeSubmission.d.ts.map +1 -1
  38. package/dist/components/ChallengeSubmission/ChallengeSubmission.js +1 -1
  39. package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
  40. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js +1 -1
  41. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
  42. package/dist/components/CitationPopover/CitationPopoverUtils.js +2 -2
  43. package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
  44. package/dist/components/CohortBuilder/CohortBuilder.css +1 -0
  45. package/dist/components/CohortBuilder/CohortBuilder.d.ts +35 -0
  46. package/dist/components/CohortBuilder/CohortBuilder.d.ts.map +1 -0
  47. package/dist/components/CohortBuilder/CohortBuilder.js +108 -0
  48. package/dist/components/CohortBuilder/CohortBuilder.js.map +1 -0
  49. package/dist/components/CohortBuilder/CohortBuilder.module.js +10 -0
  50. package/dist/components/CohortBuilder/CohortBuilder.module.js.map +1 -0
  51. package/dist/components/CohortBuilder/CohortBuilder.module.scss +20 -0
  52. package/dist/components/CohortBuilder/CohortFilesPanel.d.ts +16 -0
  53. package/dist/components/CohortBuilder/CohortFilesPanel.d.ts.map +1 -0
  54. package/dist/components/CohortBuilder/CohortFilesPanel.js +124 -0
  55. package/dist/components/CohortBuilder/CohortFilesPanel.js.map +1 -0
  56. package/dist/components/CohortBuilder/cohortHandOff.d.ts +25 -0
  57. package/dist/components/CohortBuilder/cohortHandOff.d.ts.map +1 -0
  58. package/dist/components/CohortBuilder/cohortHandOff.js +26 -0
  59. package/dist/components/CohortBuilder/cohortHandOff.js.map +1 -0
  60. package/dist/components/ColumnFilter/ColumnFilter.d.ts.map +1 -1
  61. package/dist/components/ColumnFilter/ColumnFilter.js +14 -13
  62. package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
  63. package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -1
  64. package/dist/components/DataExplorer/DataExplorer.js.map +1 -1
  65. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts +11 -2
  66. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
  67. package/dist/components/DataGrid/columns/AutocompleteColumn.js +115 -109
  68. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  69. package/dist/components/DataGrid/columns/NumberColumn.js +1 -1
  70. package/dist/components/DataGrid/columns/NumberColumn.js.map +1 -1
  71. package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts +20 -0
  72. package/dist/components/DataGrid/columns/NumberOrEnumColumn.d.ts.map +1 -0
  73. package/dist/components/DataGrid/columns/NumberOrEnumColumn.js +18 -0
  74. package/dist/components/DataGrid/columns/NumberOrEnumColumn.js.map +1 -0
  75. package/dist/components/DataGrid/components/contextMenu.js +3 -3
  76. package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
  77. package/dist/components/DataGrid/hooks/useGridUndoRedo.d.ts.map +1 -1
  78. package/dist/components/DataGrid/hooks/useGridUndoRedo.js +9 -7
  79. package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
  80. package/dist/components/DataGrid/hooks/useStack.d.ts +1 -1
  81. package/dist/components/DataGrid/hooks/useStack.js +2 -2
  82. package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
  83. package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
  84. package/dist/components/DataGrid/utils/columnFactory.js +47 -42
  85. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  86. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js +7 -7
  87. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
  88. package/dist/components/DataGrid/utils/json-rx/JsonRx.js +2 -2
  89. package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
  90. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +1 -1
  91. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  92. package/dist/components/DownloadCart/MeetAccessRequirementCard.js +1 -1
  93. package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
  94. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js +5 -5
  95. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
  96. package/dist/components/EntityFinder/details/view/DetailsView.d.ts.map +1 -1
  97. package/dist/components/EntityFinder/details/view/DetailsView.js +4 -4
  98. package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
  99. package/dist/components/EntityHeaderTable/EntityHeaderTable.js +4 -4
  100. package/dist/components/EntityHeaderTable/Filter.d.ts.map +1 -1
  101. package/dist/components/EntityHeaderTable/Filter.js +1 -1
  102. package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
  103. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  104. package/dist/components/FeaturedDataTabs/FacetPlotsCard.d.ts.map +1 -1
  105. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +80 -84
  106. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  107. package/dist/components/FormTemplateEditor/FormStructurePanel.js +7 -7
  108. package/dist/components/FormTemplateEditor/StepCard.js +9 -9
  109. package/dist/components/FormTemplateEditor/schemaFieldUtils.js +2 -2
  110. package/dist/components/FormTemplateEditor/schemaFieldUtils.js.map +1 -1
  111. package/dist/components/FullTextSearch/FullTextSearch.js +8 -8
  112. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  113. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js +1 -1
  114. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js.map +1 -1
  115. package/dist/components/GenericCard/DuoTermTags/duoTerms.js +1 -1
  116. package/dist/components/GenericCard/DuoTermTags/duoTerms.js.map +1 -1
  117. package/dist/components/GenericCard/TableRowGenericCard.js +37 -37
  118. package/dist/components/GoalsV3/GoalsV3.js +1 -1
  119. package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
  120. package/dist/components/HexGrid/HexGrid.d.ts +3 -1
  121. package/dist/components/HexGrid/HexGrid.d.ts.map +1 -1
  122. package/dist/components/HexGrid/HexGrid.js +14 -13
  123. package/dist/components/HexGrid/HexGrid.js.map +1 -1
  124. package/dist/components/IconSvg/index.d.ts +1 -1
  125. package/dist/components/IconSvg/index.d.ts.map +1 -1
  126. package/dist/components/IconSvg/index.js.map +1 -1
  127. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.d.ts.map +1 -1
  128. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js +3 -3
  129. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
  130. package/dist/components/Markdown/MarkdownEditor.js +1 -1
  131. package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
  132. package/dist/components/Markdown/widget/index.d.ts +1 -1
  133. package/dist/components/Markdown/widget/index.d.ts.map +1 -1
  134. package/dist/components/ModalDownload/ModalDownload.d.ts.map +1 -1
  135. package/dist/components/ModalDownload/ModalDownload.js +2 -1
  136. package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
  137. package/dist/components/Plot/BarPlot.js +1 -1
  138. package/dist/components/Plot/BarPlot.js.map +1 -1
  139. package/dist/components/Plot/PlotPanelHeader.d.ts +3 -2
  140. package/dist/components/Plot/PlotPanelHeader.d.ts.map +1 -1
  141. package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
  142. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js +1 -1
  143. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
  144. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js +1 -1
  145. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
  146. package/dist/components/ProvenanceGraph/ProvenanceGraph.d.ts.map +1 -1
  147. package/dist/components/ProvenanceGraph/ProvenanceGraph.js +3 -3
  148. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  149. package/dist/components/QueryBuilder/FilterConditionRow.d.ts.map +1 -1
  150. package/dist/components/QueryBuilder/FilterConditionRow.js +28 -27
  151. package/dist/components/QueryBuilder/FilterConditionRow.js.map +1 -1
  152. package/dist/components/QueryBuilder/FilterGroupNode.d.ts.map +1 -1
  153. package/dist/components/QueryBuilder/FilterGroupNode.js +91 -75
  154. package/dist/components/QueryBuilder/FilterGroupNode.js.map +1 -1
  155. package/dist/components/QueryBuilder/QueryBuilderControls.css +1 -1
  156. package/dist/components/QueryBuilder/QueryBuilderControls.d.ts.map +1 -1
  157. package/dist/components/QueryBuilder/QueryBuilderControls.js +91 -79
  158. package/dist/components/QueryBuilder/QueryBuilderControls.js.map +1 -1
  159. package/dist/components/QueryBuilder/QueryBuilderControls.module.js +11 -11
  160. package/dist/components/QueryBuilder/QueryBuilderControls.module.js.map +1 -1
  161. package/dist/components/QueryBuilder/QueryBuilderControls.module.scss +2 -0
  162. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts +2 -0
  163. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts.map +1 -1
  164. package/dist/components/QueryBuilder/QueryBuilderInternalContext.js.map +1 -1
  165. package/dist/components/QueryBuilder/queryBuilderLimits.d.ts +18 -0
  166. package/dist/components/QueryBuilder/queryBuilderLimits.d.ts.map +1 -0
  167. package/dist/components/QueryBuilder/queryBuilderLimits.js +38 -0
  168. package/dist/components/QueryBuilder/queryBuilderLimits.js.map +1 -0
  169. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts +0 -8
  170. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts.map +1 -1
  171. package/dist/components/QueryBuilder/queryBuilderMetadata.js +6 -9
  172. package/dist/components/QueryBuilder/queryBuilderMetadata.js.map +1 -1
  173. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts +5 -4
  174. package/dist/components/QueryBuilder/queryBuilderTranslation.d.ts.map +1 -1
  175. package/dist/components/QueryBuilder/queryBuilderTranslation.js +58 -33
  176. package/dist/components/QueryBuilder/queryBuilderTranslation.js.map +1 -1
  177. package/dist/components/QueryBuilder/useQBCombinedSql.d.ts.map +1 -1
  178. package/dist/components/QueryBuilder/useQBCombinedSql.js +4 -4
  179. package/dist/components/QueryBuilder/useQBCombinedSql.js.map +1 -1
  180. package/dist/components/QueryBuilder/useQBValueDisplayName.d.ts.map +1 -1
  181. package/dist/components/QueryBuilder/useQBValueDisplayName.js +5 -5
  182. package/dist/components/QueryBuilder/useQBValueDisplayName.js.map +1 -1
  183. package/dist/components/QuerySortSelector.js +5 -5
  184. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +21 -21
  185. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  186. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts +20 -0
  187. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.d.ts.map +1 -0
  188. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js +50 -0
  189. package/dist/components/QueryWrapper/AggregateQueryErrorNotice.js.map +1 -0
  190. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts +5 -3
  191. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.d.ts.map +1 -1
  192. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js +7 -3
  193. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
  194. package/dist/components/QueryWrapper/downloadListFiles.d.ts +25 -0
  195. package/dist/components/QueryWrapper/downloadListFiles.d.ts.map +1 -0
  196. package/dist/components/QueryWrapper/downloadListFiles.js +39 -0
  197. package/dist/components/QueryWrapper/downloadListFiles.js.map +1 -0
  198. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts +16 -0
  199. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.d.ts.map +1 -0
  200. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js +50 -0
  201. package/dist/components/QueryWrapper/useAddSelectedRowsToDownloadList.js.map +1 -0
  202. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts +4 -1
  203. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.d.ts.map +1 -1
  204. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js +15 -28
  205. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
  206. package/dist/components/QueryWrapper/useOnQueryDataChange.d.ts.map +1 -1
  207. package/dist/components/QueryWrapper/useOnQueryDataChange.js +7 -6
  208. package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
  209. package/dist/components/QueryWrapperErrorBoundary.d.ts +3 -1
  210. package/dist/components/QueryWrapperErrorBoundary.d.ts.map +1 -1
  211. package/dist/components/QueryWrapperErrorBoundary.js +26 -21
  212. package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
  213. package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js +7 -7
  214. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +2 -2
  215. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  216. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +34 -32
  217. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  218. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js +7 -7
  219. package/dist/components/QueryWrapperPlotNav/UseRowSet.d.ts.map +1 -1
  220. package/dist/components/QueryWrapperPlotNav/UseRowSet.js +12 -12
  221. package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
  222. package/dist/components/RowDataTable/CategorizedRowDataTable.css +1 -0
  223. package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts +33 -0
  224. package/dist/components/RowDataTable/CategorizedRowDataTable.d.ts.map +1 -0
  225. package/dist/components/RowDataTable/CategorizedRowDataTable.js +64 -0
  226. package/dist/components/RowDataTable/CategorizedRowDataTable.js.map +1 -0
  227. package/dist/components/RowDataTable/CategorizedRowDataTable.module.js +8 -0
  228. package/dist/components/RowDataTable/CategorizedRowDataTable.module.js.map +1 -0
  229. package/dist/components/RowDataTable/CategorizedRowDataTable.module.scss +18 -0
  230. package/dist/components/RowDataTable/RowDataTable.d.ts +13 -0
  231. package/dist/components/RowDataTable/RowDataTable.d.ts.map +1 -1
  232. package/dist/components/RowDataTable/RowDataTable.js +25 -8
  233. package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
  234. package/dist/components/RssFeedCards/RssFeedCards.js +1 -1
  235. package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
  236. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.d.ts.map +1 -1
  237. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js +2 -2
  238. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
  239. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js +1 -1
  240. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
  241. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +17 -9
  242. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
  243. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +39 -30
  244. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  245. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js +24 -24
  246. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
  247. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js +8 -8
  248. package/dist/components/SynapseChat/SynapseChatMessage.js +1 -1
  249. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  250. package/dist/components/SynapseForm/NavButtons.js.map +1 -1
  251. package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
  252. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js +1 -1
  253. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
  254. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.d.ts.map +1 -1
  255. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js +3 -3
  256. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
  257. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.d.ts.map +1 -1
  258. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +38 -44
  259. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  260. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js +4 -4
  261. package/dist/components/SynapseTable/SqlEditor.js +7 -7
  262. package/dist/components/SynapseTable/SynapseTable.js +8 -8
  263. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  264. package/dist/components/SynapseTable/SynapseTableRenderers.d.ts.map +1 -1
  265. package/dist/components/SynapseTable/SynapseTableRenderers.js +73 -72
  266. package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
  267. package/dist/components/SynapseTable/SynapseTableUtils.js +1 -1
  268. package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
  269. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.d.ts.map +1 -1
  270. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js +44 -45
  271. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
  272. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js +1 -1
  273. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
  274. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.d.ts.map +1 -1
  275. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +142 -142
  276. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
  277. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +4 -4
  278. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js +12 -12
  279. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
  280. package/dist/components/SynapseTable/table-top/ColumnSelection.js +6 -6
  281. package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts +0 -1
  282. package/dist/components/SynapseTable/table-top/DownloadOptions.d.ts.map +1 -1
  283. package/dist/components/SynapseTable/table-top/DownloadOptions.js +64 -57
  284. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  285. package/dist/components/SynapseTable/usePrefetchTableData.d.ts.map +1 -1
  286. package/dist/components/SynapseTable/usePrefetchTableData.js +3 -3
  287. package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
  288. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +1 -1
  289. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
  290. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js +1 -1
  291. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
  292. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js +2 -2
  293. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
  294. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +60 -60
  295. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
  296. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js +1 -1
  297. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
  298. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js +1 -1
  299. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
  300. package/dist/components/TanStackTable/StyledTanStackTable.d.ts.map +1 -1
  301. package/dist/components/TanStackTable/StyledTanStackTable.js +1 -4
  302. package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
  303. package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
  304. package/dist/components/TotalQueryResults.js +14 -14
  305. package/dist/components/Webhook/WebhookDashboard.d.ts.map +1 -1
  306. package/dist/components/Webhook/WebhookDashboard.js +2 -2
  307. package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
  308. package/dist/components/download_list/DownloadConfirmationUtils.d.ts +5 -1
  309. package/dist/components/download_list/DownloadConfirmationUtils.d.ts.map +1 -1
  310. package/dist/components/download_list/DownloadConfirmationUtils.js +2 -2
  311. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  312. package/dist/components/error/ErrorBanner.d.ts.map +1 -1
  313. package/dist/components/error/ErrorBanner.js +49 -46
  314. package/dist/components/error/ErrorBanner.js.map +1 -1
  315. package/dist/components/file/upload/MultiFileUploadProgress.js +5 -5
  316. package/dist/components/row_renderers/Dataset.d.ts.map +1 -1
  317. package/dist/components/row_renderers/Dataset.js +6 -6
  318. package/dist/components/row_renderers/Dataset.js.map +1 -1
  319. package/dist/components/row_renderers/Funder.js +1 -1
  320. package/dist/components/row_renderers/Funder.js.map +1 -1
  321. package/dist/components/widgets/ElementWithTooltip.d.ts +6 -1
  322. package/dist/components/widgets/ElementWithTooltip.d.ts.map +1 -1
  323. package/dist/components/widgets/ElementWithTooltip.js +22 -14
  324. package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
  325. package/dist/components/widgets/RangeSlider/RangeSlider.d.ts.map +1 -1
  326. package/dist/components/widgets/RangeSlider/RangeSlider.js +1 -1
  327. package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
  328. package/dist/components/widgets/SynapseImage.js +1 -1
  329. package/dist/components/widgets/SynapseImage.js.map +1 -1
  330. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts +16 -5
  331. package/dist/components/widgets/facet-nav/FacetNavPanel.d.ts.map +1 -1
  332. package/dist/components/widgets/facet-nav/FacetNavPanel.js +115 -102
  333. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  334. package/dist/components/widgets/facet-nav/FacetPlotLegendList.d.ts.map +1 -1
  335. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js +4 -2
  336. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
  337. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js +1 -1
  338. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
  339. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts +2 -0
  340. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.d.ts.map +1 -1
  341. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
  342. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts +7 -0
  343. package/dist/components/widgets/facet-nav/PlotsContainer.d.ts.map +1 -1
  344. package/dist/components/widgets/facet-nav/PlotsContainer.js +47 -45
  345. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  346. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js +4 -4
  347. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts +3 -2
  348. package/dist/components/widgets/facet-nav/useFacetPlots.d.ts.map +1 -1
  349. package/dist/components/widgets/facet-nav/useFacetPlots.js +16 -15
  350. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  351. package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js +4 -4
  352. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts +2 -2
  353. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts.map +1 -1
  354. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js +62 -60
  355. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
  356. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts +2 -0
  357. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts.map +1 -1
  358. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js +10 -10
  359. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
  360. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts +1 -0
  361. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts.map +1 -1
  362. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js +2 -1
  363. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
  364. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts +3 -2
  365. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.d.ts.map +1 -1
  366. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
  367. package/dist/components/widgets/query-filter/FacetFilterControls.d.ts +3 -2
  368. package/dist/components/widgets/query-filter/FacetFilterControls.d.ts.map +1 -1
  369. package/dist/components/widgets/query-filter/FacetFilterControls.js +63 -62
  370. package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
  371. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.d.ts.map +1 -1
  372. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js +30 -29
  373. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
  374. package/dist/components/widgets/query-filter/RangeFacetFilter.js +5 -5
  375. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.d.ts +53 -0
  376. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.d.ts.map +1 -0
  377. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js +391 -0
  378. package/dist/mocks/cohortBuilder/cohortBuilderMockProfiles.js.map +1 -0
  379. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts +41 -0
  380. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.d.ts.map +1 -0
  381. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js +379 -0
  382. package/dist/mocks/cohortBuilder/cohortBuilderMockQueryEngine.js.map +1 -0
  383. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts +26 -0
  384. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.d.ts.map +1 -0
  385. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js +112 -0
  386. package/dist/mocks/cohortBuilder/cohortBuilderSyntheticData.js.map +1 -0
  387. package/dist/mocks/mockAnnotationColumns.d.ts.map +1 -1
  388. package/dist/mocks/mockAnnotationColumns.js +1 -1
  389. package/dist/mocks/mockAnnotationColumns.js.map +1 -1
  390. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts +9 -0
  391. package/dist/mocks/msw/handlers/aridhiaHandlers.d.ts.map +1 -1
  392. package/dist/mocks/msw/handlers/aridhiaHandlers.js +24 -15
  393. package/dist/mocks/msw/handlers/aridhiaHandlers.js.map +1 -1
  394. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts +21 -2
  395. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts.map +1 -1
  396. package/dist/mocks/msw/handlers/asyncJobHandlers.js +30 -22
  397. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  398. package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts +27 -0
  399. package/dist/mocks/msw/handlers/cohortBuilderHandlers.d.ts.map +1 -0
  400. package/dist/mocks/msw/handlers/cohortBuilderHandlers.js +158 -0
  401. package/dist/mocks/msw/handlers/cohortBuilderHandlers.js.map +1 -0
  402. package/dist/mocks/msw/handlers/subscriptionHandlers.js +1 -1
  403. package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
  404. package/dist/mocks/msw/handlers/userProfileHandlers.d.ts.map +1 -1
  405. package/dist/mocks/msw/handlers/userProfileHandlers.js +2 -2
  406. package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
  407. package/dist/mocks/query/mockColumnCategoryTable.d.ts +19 -0
  408. package/dist/mocks/query/mockColumnCategoryTable.d.ts.map +1 -0
  409. package/dist/mocks/query/mockColumnCategoryTable.js +188 -0
  410. package/dist/mocks/query/mockColumnCategoryTable.js.map +1 -0
  411. package/dist/stories/ColorPaletteInspector.d.ts.map +1 -1
  412. package/dist/stories/ColorPaletteInspector.js +2 -2
  413. package/dist/stories/ColorPaletteInspector.js.map +1 -1
  414. package/dist/style/components/facet_nav/_facet-nav-panel.scss +8 -0
  415. package/dist/style/main.css +1 -1
  416. package/dist/synapse-queries/auth/useOIDC.js +2 -2
  417. package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
  418. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js +2 -2
  419. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js.map +1 -1
  420. package/dist/synapse-queries/challenge/useChallenge.js +2 -2
  421. package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
  422. package/dist/synapse-queries/chat/useChat.js +8 -8
  423. package/dist/synapse-queries/chat/useChat.js.map +1 -1
  424. package/dist/synapse-queries/curation/task/useCurationTask.js +10 -10
  425. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  426. package/dist/synapse-queries/dataaccess/useAccessRequirements.js +24 -24
  427. package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
  428. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js +4 -4
  429. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
  430. package/dist/synapse-queries/dataaccess/useEDuc.js +6 -6
  431. package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
  432. package/dist/synapse-queries/dataaccess/useFormTemplate.js +4 -4
  433. package/dist/synapse-queries/dataaccess/useFormTemplate.js.map +1 -1
  434. package/dist/synapse-queries/download/index.js +2 -2
  435. package/dist/synapse-queries/download/useDownloadList.d.ts +5 -0
  436. package/dist/synapse-queries/download/useDownloadList.d.ts.map +1 -1
  437. package/dist/synapse-queries/download/useDownloadList.js +14 -13
  438. package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
  439. package/dist/synapse-queries/entity/useEntity.d.ts.map +1 -1
  440. package/dist/synapse-queries/entity/useEntity.js +20 -20
  441. package/dist/synapse-queries/entity/useEntity.js.map +1 -1
  442. package/dist/synapse-queries/entity/useExportToADWorkbench.d.ts.map +1 -1
  443. package/dist/synapse-queries/entity/useExportToADWorkbench.js +2 -1
  444. package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
  445. package/dist/synapse-queries/entity/useExportToCavatica.d.ts.map +1 -1
  446. package/dist/synapse-queries/entity/useExportToCavatica.js +3 -2
  447. package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
  448. package/dist/synapse-queries/entity/useExportToPluto.d.ts.map +1 -1
  449. package/dist/synapse-queries/entity/useExportToPluto.js +2 -1
  450. package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
  451. package/dist/synapse-queries/entity/useGetQueryResultBundle.d.ts.map +1 -1
  452. package/dist/synapse-queries/entity/useGetQueryResultBundle.js +4 -7
  453. package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
  454. package/dist/synapse-queries/forum/useReply.js +6 -6
  455. package/dist/synapse-queries/forum/useReply.js.map +1 -1
  456. package/dist/synapse-queries/forum/useThread.js +14 -14
  457. package/dist/synapse-queries/forum/useThread.js.map +1 -1
  458. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js +1 -1
  459. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  460. package/dist/synapse-queries/grid/useGridSession.js +4 -4
  461. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  462. package/dist/synapse-queries/index.js +177 -176
  463. package/dist/synapse-queries/oauth/useOAuthClient.js +9 -9
  464. package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
  465. package/dist/synapse-queries/portal/usePortal.js +7 -7
  466. package/dist/synapse-queries/portal/usePortal.js.map +1 -1
  467. package/dist/synapse-queries/subscription/useSubscription.js +4 -4
  468. package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
  469. package/dist/synapse-queries/table/useTableUpdateTransaction.js +2 -2
  470. package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
  471. package/dist/synapse-queries/team/useTeam.js +2 -2
  472. package/dist/synapse-queries/team/useTeam.js.map +1 -1
  473. package/dist/synapse-queries/team/useTeamList.d.ts.map +1 -1
  474. package/dist/synapse-queries/team/useTeamList.js +3 -3
  475. package/dist/synapse-queries/team/useTeamList.js.map +1 -1
  476. package/dist/synapse-queries/team/useTeamMembers.js +8 -8
  477. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  478. package/dist/synapse-queries/termsOfService/useTermsOfService.js +2 -2
  479. package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
  480. package/dist/synapse-queries/trash/useTrashCan.js +4 -4
  481. package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
  482. package/dist/synapse-queries/user/useCertificationQuiz.js +2 -2
  483. package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
  484. package/dist/synapse-queries/user/useFavorites.js +4 -4
  485. package/dist/synapse-queries/user/useFavorites.js.map +1 -1
  486. package/dist/synapse-queries/user/useRevokeCertification.js +2 -2
  487. package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
  488. package/dist/synapse-queries/wiki/useWiki.js +10 -10
  489. package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
  490. package/dist/tsconfig.build.tsbuildinfo +1 -1
  491. package/dist/utils/ContentTypeUtils.js +4 -4
  492. package/dist/utils/ContentTypeUtils.js.map +1 -1
  493. package/dist/utils/PermissionLevelToAccessType.js +1 -1
  494. package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
  495. package/dist/utils/analytics/useGoogleAnalytics.js +1 -1
  496. package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
  497. package/dist/utils/context/DocumentMetadataContext.js +1 -1
  498. package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
  499. package/dist/utils/functions/AccessControlListUtils.d.ts.map +1 -1
  500. package/dist/utils/functions/AccessControlListUtils.js +3 -3
  501. package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
  502. package/dist/utils/functions/ArrayUtils.js +2 -2
  503. package/dist/utils/functions/ArrayUtils.js.map +1 -1
  504. package/dist/utils/functions/FileHandleUtils.js +1 -1
  505. package/dist/utils/functions/FileHandleUtils.js.map +1 -1
  506. package/dist/utils/functions/RegularExpressions.js +1 -1
  507. package/dist/utils/functions/RegularExpressions.js.map +1 -1
  508. package/dist/utils/functions/StringUtils.d.ts.map +1 -1
  509. package/dist/utils/functions/StringUtils.js +1 -2
  510. package/dist/utils/functions/StringUtils.js.map +1 -1
  511. package/dist/utils/functions/deepLinkingUtils.js +2 -2
  512. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  513. package/dist/utils/functions/enumerationFacet.d.ts +26 -0
  514. package/dist/utils/functions/enumerationFacet.d.ts.map +1 -0
  515. package/dist/utils/functions/enumerationFacet.js +27 -0
  516. package/dist/utils/functions/enumerationFacet.js.map +1 -0
  517. package/dist/utils/functions/facetCountUtils.d.ts +12 -0
  518. package/dist/utils/functions/facetCountUtils.d.ts.map +1 -0
  519. package/dist/utils/functions/facetCountUtils.js +9 -0
  520. package/dist/utils/functions/facetCountUtils.js.map +1 -0
  521. package/dist/utils/functions/getEndpoint.js.map +1 -1
  522. package/dist/utils/functions/getUserData.js +1 -1
  523. package/dist/utils/functions/getUserData.js.map +1 -1
  524. package/dist/utils/functions/queryUtils.d.ts +1 -1
  525. package/dist/utils/functions/queryUtils.d.ts.map +1 -1
  526. package/dist/utils/functions/queryUtils.js +26 -22
  527. package/dist/utils/functions/queryUtils.js.map +1 -1
  528. package/dist/utils/functions/testDownloadSpeed.d.ts.map +1 -1
  529. package/dist/utils/functions/testDownloadSpeed.js +17 -26
  530. package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
  531. package/dist/utils/functions/unCamelCase.js +1 -1
  532. package/dist/utils/functions/unCamelCase.js.map +1 -1
  533. package/dist/utils/hooks/useGetInfoFromIds.js +5 -5
  534. package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
  535. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js +1 -1
  536. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
  537. package/dist/utils/hooks/useLogin.d.ts.map +1 -1
  538. package/dist/utils/hooks/useLogin.js +5 -5
  539. package/dist/utils/hooks/useLogin.js.map +1 -1
  540. package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
  541. package/dist/utils/jsonschema/collectTopLevelProperties.d.ts +6 -0
  542. package/dist/utils/jsonschema/collectTopLevelProperties.d.ts.map +1 -1
  543. package/dist/utils/jsonschema/collectTopLevelProperties.js +1 -1
  544. package/dist/utils/jsonschema/collectTopLevelProperties.js.map +1 -1
  545. package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts +22 -0
  546. package/dist/utils/jsonschema/getNumberOrEnumInfo.d.ts.map +1 -0
  547. package/dist/utils/jsonschema/getNumberOrEnumInfo.js +39 -0
  548. package/dist/utils/jsonschema/getNumberOrEnumInfo.js.map +1 -0
  549. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts +1 -0
  550. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.d.ts.map +1 -1
  551. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js +1 -1
  552. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
  553. package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts +5 -0
  554. package/dist/utils/jsonschema/getSchemaPropertyInfo.d.ts.map +1 -1
  555. package/dist/utils/jsonschema/getSchemaPropertyInfo.js +30 -15
  556. package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
  557. package/dist/utils/jsonschema/submissionContext.js +2 -2
  558. package/dist/utils/jsonschema/submissionContext.js.map +1 -1
  559. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"useEDuc.js","names":[],"sources":["../../../src/synapse-queries/dataaccess/useEDuc.ts"],"sourcesContent":["import { getAllOfNextPageTokenPaginatedService } from '@/synapse-client/SynapseClient'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n AccessRequestList,\n AccessRequestListRequest,\n AccessRequestSummary,\n EDucFileHandleId,\n EDucSignatureQuota,\n EDucSignatureStatus,\n EDucTemplateListRequest,\n EDucTemplatePage,\n EDucTemplateValidationResult,\n} from '@sage-bionetworks/synapse-client'\nimport { SynapseClient } from '@sage-bionetworks/synapse-client/SynapseClient'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n InfiniteData,\n QueryKey,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useMutation,\n UseMutationOptions,\n useQuery,\n useQueryClient,\n UseQueryOptions,\n} from '@tanstack/react-query'\n\n/**\n * List the eDUC templates registered in DocuSign (all pages).\n * @see POST /repo/v1/eDuc/template\n */\nexport function useListEDucTemplates<TData = InfiniteData<EDucTemplatePage>>(\n request: Omit<EDucTemplateListRequest, 'nextPageToken'> = {},\n options?: Partial<\n UseInfiniteQueryOptions<\n EDucTemplatePage,\n SynapseClientError,\n TData,\n QueryKey,\n EDucTemplatePage['nextPageToken']\n >\n >,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useInfiniteQuery<\n EDucTemplatePage,\n SynapseClientError,\n TData,\n QueryKey,\n EDucTemplatePage['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.listEDucTemplatesQueryKey(request),\n queryFn: context =>\n synapseClient.dataAccessServicesClient.postRepoV1EDucTemplate({\n eDucTemplateListRequest: {\n ...request,\n nextPageToken: context.pageParam,\n },\n }),\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\n/**\n * Validate a single eDUC template by ID (ACT-only).\n * @see GET /repo/v1/eDuc/template/{templateId}/validation\n */\nexport function useGetEDucTemplateValidation(\n templateId: string,\n options?: Partial<\n UseQueryOptions<EDucTemplateValidationResult, SynapseClientError>\n >,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getEDucTemplateValidationQueryKey(templateId),\n queryFn: () =>\n synapseClient.dataAccessServicesClient.getRepoV1EDucTemplateTemplateIdValidation(\n { templateId },\n ),\n })\n}\n\n/**\n * List the data access requests that the calling user created or participates in.\n * @see POST /repo/v1/dataAccessRequest/list\n */\nexport function useListUserDataAccessRequests(\n request: AccessRequestListRequest = {},\n options?: Partial<UseQueryOptions<AccessRequestList, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.listDataAccessRequestsQueryKey(request),\n queryFn: () =>\n synapseClient.dataAccessServicesClient.postRepoV1DataAccessRequestList({\n accessRequestListRequest: request,\n }),\n })\n}\n\n/**\n * List _all_ data access requests that the calling user created or participates in, walking every\n * page of `POST /repo/v1/dataAccessRequest/list` via `nextPageToken` inside the queryFn. Returns\n * the flattened list of {@link AccessRequestSummary}.\n *\n * Prefer this hook over {@link useListUserDataAccessRequests} when the caller needs the complete\n * list (for example, to filter results client-side). This avoids the render-per-page cascade of\n * `useInfiniteQuery` at the cost of a slightly longer initial load.\n *\n * @see POST /repo/v1/dataAccessRequest/list\n */\nexport function useListAllUserDataAccessRequests(\n request: Omit<AccessRequestListRequest, 'nextPageToken'> = {},\n options?: Partial<\n UseQueryOptions<AccessRequestSummary[], SynapseClientError>\n >,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.listAllDataAccessRequestsQueryKey(request),\n queryFn: () =>\n getAllOfNextPageTokenPaginatedService<AccessRequestSummary>(\n async nextPageToken => {\n const response =\n await synapseClient.dataAccessServicesClient.postRepoV1DataAccessRequestList(\n {\n accessRequestListRequest: {\n ...request,\n nextPageToken: nextPageToken ?? undefined,\n },\n },\n )\n return {\n results: response.results ?? [],\n nextPageToken: response.nextPageToken,\n }\n },\n ),\n })\n}\n\n/**\n * Retrieve the pre-signing preview of the eDUC for a data access request. The document is rendered\n * from the request as it stands, via an envelope the service discards once the PDF exists, so\n * reading it neither routes anything for signature nor alters the request.\n *\n * @see GET /repo/v1/dataAccessRequest/{requestId}/preview\n */\nexport function useGetDataAccessRequestPreview(\n requestId: string,\n options?: Partial<UseQueryOptions<EDucFileHandleId, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getDataAccessRequestPreviewQueryKey(requestId),\n queryFn: () =>\n synapseClient.dataAccessServicesClient.getRepoV1DataAccessRequestRequestIdPreview(\n { requestId },\n ),\n })\n}\n\n/**\n * Retrieve the current signature status of a data access request's routed eDUC.\n * @see GET /repo/v1/dataAccessRequest/{requestId}/signature/status\n */\nexport function useGetDataAccessRequestSignatureStatus(\n requestId: string,\n options?: Partial<UseQueryOptions<EDucSignatureStatus, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getDataAccessRequestSignatureStatusQueryKey(requestId),\n queryFn: () =>\n synapseClient.dataAccessServicesClient.getRepoV1DataAccessRequestRequestIdSignatureStatus(\n { requestId },\n ),\n })\n}\n\n/**\n * Retrieve the file handle ID of the signed eDUC document for a data access request.\n * @see GET /repo/v1/dataAccessRequest/{requestId}/signature/filehandleId\n */\nexport function useGetDataAccessRequestSignedFileHandleId(\n requestId: string,\n options?: Partial<UseQueryOptions<EDucFileHandleId, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey:\n keyFactory.getDataAccessRequestSignatureFileHandleIdQueryKey(requestId),\n queryFn: () =>\n synapseClient.dataAccessServicesClient.getRepoV1DataAccessRequestRequestIdSignatureFilehandleId(\n { requestId },\n ),\n })\n}\n\n/**\n * Retrieve the current eDUC signature quota (total allowed and remaining) for a data access\n * request. Used to preflight the \"send for signature\" action so it can be disabled when the\n * user is at or over quota.\n * @see GET /repo/v1/dataAccessRequest/{requestId}/signature/quota\n */\nexport function useGetDataAccessRequestSignatureQuota(\n requestId: string,\n options?: Partial<UseQueryOptions<EDucSignatureQuota, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getDataAccessRequestSignatureQuotaQueryKey(requestId),\n queryFn: () =>\n synapseClient.dataAccessServicesClient.getRepoV1DataAccessRequestRequestIdSignatureQuota(\n { requestId },\n ),\n })\n}\n\n/**\n * Identifies the data access request a signature mutation acts on. The access requirement is\n * carried alongside the request id because these mutations all change `eDucSignatureEnvelopeId`\n * on the request itself, and the cache entry holding that field is keyed by access requirement\n * rather than by request.\n */\nexport type DataAccessRequestSignatureVariables = {\n requestId: string\n accessRequirementId: string\n}\n\n/**\n * Invalidates everything a change to the eDUC envelope makes obsolete.\n *\n * The preview is deliberately absent: it renders the request's own content, which routing does\n * not touch, and regenerating it costs a server-side PDF render.\n */\nfunction useInvalidateOnSignatureChange() {\n const { keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n\n return ({\n requestId,\n accessRequirementId,\n }: DataAccessRequestSignatureVariables) =>\n Promise.all([\n queryClient.invalidateQueries({\n queryKey: keyFactory.getDataAccessRequestSignatureQueryKey(requestId),\n }),\n // The listings report envelope status, so they move with every routing change.\n queryClient.invalidateQueries({\n queryKey: keyFactory.getDataAccessRequestListQueryKey(),\n }),\n // `eDucSignatureEnvelopeId` is how callers tell a first send from a re-send, so the request\n // must not stay cached from before the routing changed.\n queryClient.invalidateQueries({\n queryKey:\n keyFactory.getDataAccessRequestForUpdateQueryKey(accessRequirementId),\n }),\n ])\n}\n\n/**\n * Initiate the DocuSign routing for a data access request's eDUC, creating the envelope and\n * sending it to the signers.\n * @see POST /repo/v1/dataAccessRequest/{requestId}/signature\n */\nexport function useInitiateDataAccessRequestSignature(\n options?: UseMutationOptions<\n EDucSignatureQuota,\n SynapseClientError,\n DataAccessRequestSignatureVariables\n >,\n) {\n const { synapseClient } = useSynapseContext()\n const invalidateOnSignatureChange = useInvalidateOnSignatureChange()\n\n return useMutation<\n EDucSignatureQuota,\n SynapseClientError,\n DataAccessRequestSignatureVariables\n >({\n ...options,\n mutationFn: ({ requestId }) =>\n synapseClient.dataAccessServicesClient.postRepoV1DataAccessRequestRequestIdSignature(\n { requestId },\n ),\n onSuccess: async (data, variables, ctx) => {\n await invalidateOnSignatureChange(variables)\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx)\n }\n return\n },\n })\n}\n\n/**\n * Reads the precheck's answer out of whichever shape it arrives in. The generated client types this\n * endpoint as a bare `boolean` because that is what the OpenAPI spec declares, but neither the\n * declared type nor the runtime value can be trusted directly: the deployed service answers with a\n * `{ result }` wrapper, and the client falls back to handing back the raw response text whenever\n * the content type isn't JSON. Every shape is therefore compared explicitly -- a truthiness check\n * would read both the object `{ result: false }` and the string `\"false\"` as `true`.\n *\n * The spec is what is wrong here, not this endpoint: it declares a bare `boolean` for every\n * BooleanResult-returning service (`GET /entity/{id}/access` and `GET /evaluation/{evalId}/access`\n * are the others), so the generated types misdescribe all of them. Tracked by PLFM-10007 --\n * delete this shim and read the generated type directly once the spec is corrected.\n */\nfunction parseSignaturePrecheckResponse(response: unknown): boolean {\n const answer =\n typeof response === 'object' && response !== null && 'result' in response\n ? (response as { result: unknown }).result\n : response\n return answer === true || answer === 'true'\n}\n\n/**\n * Ask the server whether the data access request's pending changes can be applied to the envelope\n * that is already in flight. The service owns every reason an envelope might be uncorrectable --\n * completed, voided, cancelled, declined -- so the answer is never inferred from its status here.\n *\n * @see GET /repo/v1/dataAccessRequest/{requestId}/signature/precheck\n */\nasync function fetchSignaturePrecheck(\n synapseClient: SynapseClient,\n requestId: string,\n): Promise<boolean> {\n const response: unknown =\n await synapseClient.dataAccessServicesClient.getRepoV1DataAccessRequestRequestIdSignaturePrecheck(\n { requestId },\n )\n return parseSignaturePrecheckResponse(response)\n}\n\n/**\n * {@link fetchSignaturePrecheck} as a mutation, for the moment a user commits to sending. Modeled\n * as a mutation despite being a GET because the answer decides which irreversible call follows, so\n * it must never be served from cache.\n */\nexport function useCheckDataAccessRequestSignatureUpdatable(\n options?: UseMutationOptions<boolean, SynapseClientError, string>,\n) {\n const { synapseClient } = useSynapseContext()\n\n return useMutation<boolean, SynapseClientError, string>({\n ...options,\n mutationFn: (requestId: string) =>\n fetchSignaturePrecheck(synapseClient, requestId),\n })\n}\n\n/**\n * {@link fetchSignaturePrecheck} as a query, for screens that describe what sending *would* do\n * rather than acting on it. Use {@link useCheckDataAccessRequestSignatureUpdatable} at the point\n * of action, where a cached answer would be unsafe.\n */\nexport function useGetDataAccessRequestSignatureUpdatable(\n requestId: string,\n options?: Partial<UseQueryOptions<boolean, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey:\n keyFactory.getDataAccessRequestSignaturePrecheckQueryKey(requestId),\n queryFn: () => fetchSignaturePrecheck(synapseClient, requestId),\n })\n}\n\n/**\n * Apply the data access request's pending changes to its in-flight eDUC envelope, preserving the\n * signatures that have already been collected.\n * @see PUT /repo/v1/dataAccessRequest/{requestId}/signature\n */\nexport function useUpdateDataAccessRequestSignature(\n options?: UseMutationOptions<\n EDucSignatureStatus,\n SynapseClientError,\n DataAccessRequestSignatureVariables\n >,\n) {\n const { synapseClient } = useSynapseContext()\n const invalidateOnSignatureChange = useInvalidateOnSignatureChange()\n\n return useMutation<\n EDucSignatureStatus,\n SynapseClientError,\n DataAccessRequestSignatureVariables\n >({\n ...options,\n mutationFn: ({ requestId }) =>\n synapseClient.dataAccessServicesClient.putRepoV1DataAccessRequestRequestIdSignature(\n { requestId },\n ),\n onSuccess: async (data, variables, ctx) => {\n await invalidateOnSignatureChange(variables)\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx)\n }\n return\n },\n })\n}\n\n/**\n * Void the eDUC routing for a data access request, reverting the DAR to trad-DUC mode.\n * @see DELETE /repo/v1/dataAccessRequest/{requestId}/signature\n */\nexport function useVoidDataAccessRequestSignature(\n options?: UseMutationOptions<\n void,\n SynapseClientError,\n DataAccessRequestSignatureVariables\n >,\n) {\n const { synapseClient } = useSynapseContext()\n const invalidateOnSignatureChange = useInvalidateOnSignatureChange()\n\n return useMutation<\n void,\n SynapseClientError,\n DataAccessRequestSignatureVariables\n >({\n ...options,\n mutationFn: ({ requestId }) =>\n synapseClient.dataAccessServicesClient.deleteRepoV1DataAccessRequestRequestIdSignature(\n { requestId },\n ),\n onSuccess: async (data, variables, ctx) => {\n await invalidateOnSignatureChange(variables)\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx)\n }\n return\n },\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useEDuc.js","names":[],"sources":["../../../src/synapse-queries/dataaccess/useEDuc.ts"],"sourcesContent":["import { getAllOfNextPageTokenPaginatedService } from '@/synapse-client/SynapseClient'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n AccessRequestList,\n AccessRequestListRequest,\n AccessRequestSummary,\n EDucFileHandleId,\n EDucSignatureQuota,\n EDucSignatureStatus,\n EDucTemplateListRequest,\n EDucTemplatePage,\n EDucTemplateValidationResult,\n} from '@sage-bionetworks/synapse-client'\nimport { SynapseClient } from '@sage-bionetworks/synapse-client/SynapseClient'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n InfiniteData,\n QueryKey,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useMutation,\n UseMutationOptions,\n useQuery,\n useQueryClient,\n UseQueryOptions,\n} from '@tanstack/react-query'\n\n/**\n * List the eDUC templates registered in DocuSign (all pages).\n * @see POST /repo/v1/eDuc/template\n */\nexport function useListEDucTemplates<TData = InfiniteData<EDucTemplatePage>>(\n request: Omit<EDucTemplateListRequest, 'nextPageToken'> = {},\n options?: Partial<\n UseInfiniteQueryOptions<\n EDucTemplatePage,\n SynapseClientError,\n TData,\n QueryKey,\n EDucTemplatePage['nextPageToken']\n >\n >,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useInfiniteQuery<\n EDucTemplatePage,\n SynapseClientError,\n TData,\n QueryKey,\n EDucTemplatePage['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.listEDucTemplatesQueryKey(request),\n queryFn: context =>\n synapseClient.dataAccessServicesClient.postRepoV1EDucTemplate({\n eDucTemplateListRequest: {\n ...request,\n nextPageToken: context.pageParam,\n },\n }),\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\n/**\n * Validate a single eDUC template by ID (ACT-only).\n * @see GET /repo/v1/eDuc/template/{templateId}/validation\n */\nexport function useGetEDucTemplateValidation(\n templateId: string,\n options?: Partial<\n UseQueryOptions<EDucTemplateValidationResult, SynapseClientError>\n >,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getEDucTemplateValidationQueryKey(templateId),\n queryFn: () =>\n synapseClient.dataAccessServicesClient.getRepoV1EDucTemplateTemplateIdValidation(\n { templateId },\n ),\n })\n}\n\n/**\n * List the data access requests that the calling user created or participates in.\n * @see POST /repo/v1/dataAccessRequest/list\n */\nexport function useListUserDataAccessRequests(\n request: AccessRequestListRequest = {},\n options?: Partial<UseQueryOptions<AccessRequestList, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.listDataAccessRequestsQueryKey(request),\n queryFn: () =>\n synapseClient.dataAccessServicesClient.postRepoV1DataAccessRequestList({\n accessRequestListRequest: request,\n }),\n })\n}\n\n/**\n * List _all_ data access requests that the calling user created or participates in, walking every\n * page of `POST /repo/v1/dataAccessRequest/list` via `nextPageToken` inside the queryFn. Returns\n * the flattened list of {@link AccessRequestSummary}.\n *\n * Prefer this hook over {@link useListUserDataAccessRequests} when the caller needs the complete\n * list (for example, to filter results client-side). This avoids the render-per-page cascade of\n * `useInfiniteQuery` at the cost of a slightly longer initial load.\n *\n * @see POST /repo/v1/dataAccessRequest/list\n */\nexport function useListAllUserDataAccessRequests(\n request: Omit<AccessRequestListRequest, 'nextPageToken'> = {},\n options?: Partial<\n UseQueryOptions<AccessRequestSummary[], SynapseClientError>\n >,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.listAllDataAccessRequestsQueryKey(request),\n queryFn: () =>\n getAllOfNextPageTokenPaginatedService<AccessRequestSummary>(\n async nextPageToken => {\n const response =\n await synapseClient.dataAccessServicesClient.postRepoV1DataAccessRequestList(\n {\n accessRequestListRequest: {\n ...request,\n nextPageToken: nextPageToken ?? undefined,\n },\n },\n )\n return {\n results: response.results ?? [],\n nextPageToken: response.nextPageToken,\n }\n },\n ),\n })\n}\n\n/**\n * Retrieve the pre-signing preview of the eDUC for a data access request. The document is rendered\n * from the request as it stands, via an envelope the service discards once the PDF exists, so\n * reading it neither routes anything for signature nor alters the request.\n *\n * @see GET /repo/v1/dataAccessRequest/{requestId}/preview\n */\nexport function useGetDataAccessRequestPreview(\n requestId: string,\n options?: Partial<UseQueryOptions<EDucFileHandleId, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getDataAccessRequestPreviewQueryKey(requestId),\n queryFn: () =>\n synapseClient.dataAccessServicesClient.getRepoV1DataAccessRequestRequestIdPreview(\n { requestId },\n ),\n })\n}\n\n/**\n * Retrieve the current signature status of a data access request's routed eDUC.\n * @see GET /repo/v1/dataAccessRequest/{requestId}/signature/status\n */\nexport function useGetDataAccessRequestSignatureStatus(\n requestId: string,\n options?: Partial<UseQueryOptions<EDucSignatureStatus, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getDataAccessRequestSignatureStatusQueryKey(requestId),\n queryFn: () =>\n synapseClient.dataAccessServicesClient.getRepoV1DataAccessRequestRequestIdSignatureStatus(\n { requestId },\n ),\n })\n}\n\n/**\n * Retrieve the file handle ID of the signed eDUC document for a data access request.\n * @see GET /repo/v1/dataAccessRequest/{requestId}/signature/filehandleId\n */\nexport function useGetDataAccessRequestSignedFileHandleId(\n requestId: string,\n options?: Partial<UseQueryOptions<EDucFileHandleId, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey:\n keyFactory.getDataAccessRequestSignatureFileHandleIdQueryKey(requestId),\n queryFn: () =>\n synapseClient.dataAccessServicesClient.getRepoV1DataAccessRequestRequestIdSignatureFilehandleId(\n { requestId },\n ),\n })\n}\n\n/**\n * Retrieve the current eDUC signature quota (total allowed and remaining) for a data access\n * request. Used to preflight the \"send for signature\" action so it can be disabled when the\n * user is at or over quota.\n * @see GET /repo/v1/dataAccessRequest/{requestId}/signature/quota\n */\nexport function useGetDataAccessRequestSignatureQuota(\n requestId: string,\n options?: Partial<UseQueryOptions<EDucSignatureQuota, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getDataAccessRequestSignatureQuotaQueryKey(requestId),\n queryFn: () =>\n synapseClient.dataAccessServicesClient.getRepoV1DataAccessRequestRequestIdSignatureQuota(\n { requestId },\n ),\n })\n}\n\n/**\n * Identifies the data access request a signature mutation acts on. The access requirement is\n * carried alongside the request id because these mutations all change `eDucSignatureEnvelopeId`\n * on the request itself, and the cache entry holding that field is keyed by access requirement\n * rather than by request.\n */\nexport type DataAccessRequestSignatureVariables = {\n requestId: string\n accessRequirementId: string\n}\n\n/**\n * Invalidates everything a change to the eDUC envelope makes obsolete.\n *\n * The preview is deliberately absent: it renders the request's own content, which routing does\n * not touch, and regenerating it costs a server-side PDF render.\n */\nfunction useInvalidateOnSignatureChange() {\n const { keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n\n return ({\n requestId,\n accessRequirementId,\n }: DataAccessRequestSignatureVariables) =>\n Promise.all([\n queryClient.invalidateQueries({\n queryKey: keyFactory.getDataAccessRequestSignatureQueryKey(requestId),\n }),\n // The listings report envelope status, so they move with every routing change.\n queryClient.invalidateQueries({\n queryKey: keyFactory.getDataAccessRequestListQueryKey(),\n }),\n // `eDucSignatureEnvelopeId` is how callers tell a first send from a re-send, so the request\n // must not stay cached from before the routing changed.\n queryClient.invalidateQueries({\n queryKey:\n keyFactory.getDataAccessRequestForUpdateQueryKey(accessRequirementId),\n }),\n ])\n}\n\n/**\n * Initiate the DocuSign routing for a data access request's eDUC, creating the envelope and\n * sending it to the signers.\n * @see POST /repo/v1/dataAccessRequest/{requestId}/signature\n */\nexport function useInitiateDataAccessRequestSignature(\n options?: UseMutationOptions<\n EDucSignatureQuota,\n SynapseClientError,\n DataAccessRequestSignatureVariables\n >,\n) {\n const { synapseClient } = useSynapseContext()\n const invalidateOnSignatureChange = useInvalidateOnSignatureChange()\n\n return useMutation<\n EDucSignatureQuota,\n SynapseClientError,\n DataAccessRequestSignatureVariables\n >({\n ...options,\n mutationFn: ({ requestId }) =>\n synapseClient.dataAccessServicesClient.postRepoV1DataAccessRequestRequestIdSignature(\n { requestId },\n ),\n onSuccess: async (data, variables, ctx, ...rest) => {\n await invalidateOnSignatureChange(variables)\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx, ...rest)\n }\n return\n },\n })\n}\n\n/**\n * Reads the precheck's answer out of whichever shape it arrives in. The generated client types this\n * endpoint as a bare `boolean` because that is what the OpenAPI spec declares, but neither the\n * declared type nor the runtime value can be trusted directly: the deployed service answers with a\n * `{ result }` wrapper, and the client falls back to handing back the raw response text whenever\n * the content type isn't JSON. Every shape is therefore compared explicitly -- a truthiness check\n * would read both the object `{ result: false }` and the string `\"false\"` as `true`.\n *\n * The spec is what is wrong here, not this endpoint: it declares a bare `boolean` for every\n * BooleanResult-returning service (`GET /entity/{id}/access` and `GET /evaluation/{evalId}/access`\n * are the others), so the generated types misdescribe all of them. Tracked by PLFM-10007 --\n * delete this shim and read the generated type directly once the spec is corrected.\n */\nfunction parseSignaturePrecheckResponse(response: unknown): boolean {\n const answer =\n typeof response === 'object' && response !== null && 'result' in response\n ? (response as { result: unknown }).result\n : response\n return answer === true || answer === 'true'\n}\n\n/**\n * Ask the server whether the data access request's pending changes can be applied to the envelope\n * that is already in flight. The service owns every reason an envelope might be uncorrectable --\n * completed, voided, cancelled, declined -- so the answer is never inferred from its status here.\n *\n * @see GET /repo/v1/dataAccessRequest/{requestId}/signature/precheck\n */\nasync function fetchSignaturePrecheck(\n synapseClient: SynapseClient,\n requestId: string,\n): Promise<boolean> {\n const response: unknown =\n await synapseClient.dataAccessServicesClient.getRepoV1DataAccessRequestRequestIdSignaturePrecheck(\n { requestId },\n )\n return parseSignaturePrecheckResponse(response)\n}\n\n/**\n * {@link fetchSignaturePrecheck} as a mutation, for the moment a user commits to sending. Modeled\n * as a mutation despite being a GET because the answer decides which irreversible call follows, so\n * it must never be served from cache.\n */\nexport function useCheckDataAccessRequestSignatureUpdatable(\n options?: UseMutationOptions<boolean, SynapseClientError, string>,\n) {\n const { synapseClient } = useSynapseContext()\n\n return useMutation<boolean, SynapseClientError, string>({\n ...options,\n mutationFn: (requestId: string) =>\n fetchSignaturePrecheck(synapseClient, requestId),\n })\n}\n\n/**\n * {@link fetchSignaturePrecheck} as a query, for screens that describe what sending *would* do\n * rather than acting on it. Use {@link useCheckDataAccessRequestSignatureUpdatable} at the point\n * of action, where a cached answer would be unsafe.\n */\nexport function useGetDataAccessRequestSignatureUpdatable(\n requestId: string,\n options?: Partial<UseQueryOptions<boolean, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey:\n keyFactory.getDataAccessRequestSignaturePrecheckQueryKey(requestId),\n queryFn: () => fetchSignaturePrecheck(synapseClient, requestId),\n })\n}\n\n/**\n * Apply the data access request's pending changes to its in-flight eDUC envelope, preserving the\n * signatures that have already been collected.\n * @see PUT /repo/v1/dataAccessRequest/{requestId}/signature\n */\nexport function useUpdateDataAccessRequestSignature(\n options?: UseMutationOptions<\n EDucSignatureStatus,\n SynapseClientError,\n DataAccessRequestSignatureVariables\n >,\n) {\n const { synapseClient } = useSynapseContext()\n const invalidateOnSignatureChange = useInvalidateOnSignatureChange()\n\n return useMutation<\n EDucSignatureStatus,\n SynapseClientError,\n DataAccessRequestSignatureVariables\n >({\n ...options,\n mutationFn: ({ requestId }) =>\n synapseClient.dataAccessServicesClient.putRepoV1DataAccessRequestRequestIdSignature(\n { requestId },\n ),\n onSuccess: async (data, variables, ctx, ...rest) => {\n await invalidateOnSignatureChange(variables)\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx, ...rest)\n }\n return\n },\n })\n}\n\n/**\n * Void the eDUC routing for a data access request, reverting the DAR to trad-DUC mode.\n * @see DELETE /repo/v1/dataAccessRequest/{requestId}/signature\n */\nexport function useVoidDataAccessRequestSignature(\n options?: UseMutationOptions<\n void,\n SynapseClientError,\n DataAccessRequestSignatureVariables\n >,\n) {\n const { synapseClient } = useSynapseContext()\n const invalidateOnSignatureChange = useInvalidateOnSignatureChange()\n\n return useMutation<\n void,\n SynapseClientError,\n DataAccessRequestSignatureVariables\n >({\n ...options,\n mutationFn: ({ requestId }) =>\n synapseClient.dataAccessServicesClient.deleteRepoV1DataAccessRequestRequestIdSignature(\n { requestId },\n ),\n onSuccess: async (data, variables, ctx, ...rest) => {\n await invalidateOnSignatureChange(variables)\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx, ...rest)\n }\n return\n },\n })\n}\n"],"mappings":"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"}
@@ -61,8 +61,8 @@ function f(t) {
61
61
  return i({
62
62
  ...t,
63
63
  mutationFn: (e) => a.accessRequirementServicesClient.postRepoV1AccessRequirementFormTemplate({ formTemplate: e }),
64
- onSuccess: async (e, i, a) => {
65
- n.setQueryData(r.getFormTemplateByIdQueryKey(e.id), e), await n.invalidateQueries({ queryKey: r.getFormTemplateQueryKey() }), t?.onSuccess && await t.onSuccess(e, i, a);
64
+ onSuccess: async (e, i, a, ...o) => {
65
+ n.setQueryData(r.getFormTemplateByIdQueryKey(e.id), e), await n.invalidateQueries({ queryKey: r.getFormTemplateQueryKey() }), t?.onSuccess && await t.onSuccess(e, i, a, ...o);
66
66
  }
67
67
  });
68
68
  }
@@ -74,8 +74,8 @@ function p(t) {
74
74
  templateId: e,
75
75
  formTemplate: t
76
76
  }),
77
- onSuccess: async (e, i, a) => {
78
- n.setQueryData(r.getFormTemplateByIdQueryKey(i.templateId), e), await n.invalidateQueries({ queryKey: r.getFormTemplateQueryKey() }), t?.onSuccess && await t.onSuccess(e, i, a);
77
+ onSuccess: async (e, i, a, ...o) => {
78
+ n.setQueryData(r.getFormTemplateByIdQueryKey(i.templateId), e), await n.invalidateQueries({ queryKey: r.getFormTemplateQueryKey() }), t?.onSuccess && await t.onSuccess(e, i, a, ...o);
79
79
  }
80
80
  });
81
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useFormTemplate.js","names":[],"sources":["../../../src/synapse-queries/dataaccess/useFormTemplate.ts"],"sourcesContent":["/*\n * Hooks for authoring and retrieving FormTemplates, which define how a JSON Schema is rendered\n * to a requester as a multi-step form.\n */\nimport { useSynapseContext } from '@/utils'\nimport {\n FormTemplate,\n FormTemplateSearchRequest,\n FormTemplateSearchResponse,\n} from '@sage-bionetworks/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n InfiniteData,\n QueryKey,\n skipToken,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useMutation,\n UseMutationOptions,\n useQueries,\n useQuery,\n useQueryClient,\n UseQueryOptions,\n} from '@tanstack/react-query'\nimport { useMemo } from 'react'\n\n/**\n * Retrieve the latest version of a FormTemplate by its ID. Disabled while templateId is undefined.\n * @see GET /repo/v1/accessRequirement/formTemplate/{templateId}\n */\nexport function useGetFormTemplate(\n templateId: string | undefined,\n options?: Partial<UseQueryOptions<FormTemplate, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getFormTemplateByIdQueryKey(templateId ?? ''),\n queryFn: templateId\n ? () =>\n synapseClient.accessRequirementServicesClient.getRepoV1AccessRequirementFormTemplateTemplateId(\n { templateId },\n )\n : skipToken,\n })\n}\n\n/**\n * Retrieve a specific version of a FormTemplate. Disabled while templateId or versionNumber is\n * undefined.\n * @see GET /repo/v1/accessRequirement/formTemplate/{templateId}/version/{versionNumber}\n */\nexport function useGetFormTemplateVersion(\n templateId: string | undefined,\n versionNumber: number | undefined,\n options?: Partial<UseQueryOptions<FormTemplate, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getFormTemplateVersionQueryKey(\n templateId ?? '',\n versionNumber ?? 0,\n ),\n queryFn:\n templateId != null && versionNumber != null\n ? () =>\n synapseClient.accessRequirementServicesClient.getRepoV1AccessRequirementFormTemplateTemplateIdVersionVersionNumber(\n { templateId, versionNumber },\n )\n : skipToken,\n })\n}\n\n/**\n * Retrieve every version of a FormTemplate. The API has no endpoint to list versions (PLFM-10045),\n * so this fetches the latest version and then each earlier version number in turn. `versions` is\n * ordered newest first and omits any version that has not loaded; `latestVersion` is always the\n * template's actual latest version. Disabled while templateId is undefined.\n */\nexport function useGetFormTemplateVersions(templateId: string | undefined) {\n const { keyFactory, synapseClient } = useSynapseContext()\n const { data: latestVersion, error: latestVersionError } =\n useGetFormTemplate(templateId)\n\n const earlierVersionNumbers = useMemo(() => {\n const earlierVersionCount = Math.max(\n (latestVersion?.versionNumber ?? 0) - 1,\n 0,\n )\n return Array.from(\n { length: earlierVersionCount },\n (_, index) => earlierVersionCount - index,\n )\n }, [latestVersion?.versionNumber])\n\n return useQueries({\n queries: earlierVersionNumbers.map(versionNumber => ({\n queryKey: keyFactory.getFormTemplateVersionQueryKey(\n templateId ?? '',\n versionNumber,\n ),\n queryFn: () =>\n synapseClient.accessRequirementServicesClient.getRepoV1AccessRequirementFormTemplateTemplateIdVersionVersionNumber(\n { templateId: templateId!, versionNumber },\n ),\n })),\n combine: results => ({\n latestVersion,\n versions: [\n ...(latestVersion ? [latestVersion] : []),\n ...results.flatMap(result => (result.data ? [result.data] : [])),\n ],\n isLoading:\n templateId != null &&\n (latestVersion == null\n ? latestVersionError == null\n : results.some(result => result.isLoading)),\n error: latestVersionError ?? results.find(result => result.error)?.error,\n }),\n })\n}\n\n/**\n * Search FormTemplates by name (all pages, via useInfiniteQuery). Only the latest version of each\n * matching template is returned.\n * @see POST /repo/v1/accessRequirement/formTemplate/search\n */\nexport function useSearchFormTemplatesInfinite<\n TData = InfiniteData<FormTemplateSearchResponse>,\n>(\n request: Omit<FormTemplateSearchRequest, 'nextPageToken'> = {},\n options?: Partial<\n UseInfiniteQueryOptions<\n FormTemplateSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n FormTemplateSearchResponse['nextPageToken']\n >\n >,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useInfiniteQuery<\n FormTemplateSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n FormTemplateSearchResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.searchFormTemplatesQueryKey(request),\n queryFn: context =>\n synapseClient.accessRequirementServicesClient.postRepoV1AccessRequirementFormTemplateSearch(\n {\n formTemplateSearchRequest: {\n ...request,\n nextPageToken: context.pageParam,\n },\n },\n ),\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\n/**\n * Create a new FormTemplate. Creating a template issues its first version.\n * @see POST /repo/v1/accessRequirement/formTemplate\n */\nexport function useCreateFormTemplate(\n options?: Omit<\n UseMutationOptions<FormTemplate, SynapseClientError, FormTemplate>,\n 'mutationFn'\n >,\n) {\n const queryClient = useQueryClient()\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useMutation<FormTemplate, SynapseClientError, FormTemplate>({\n ...options,\n mutationFn: formTemplate =>\n synapseClient.accessRequirementServicesClient.postRepoV1AccessRequirementFormTemplate(\n { formTemplate },\n ),\n onSuccess: async (createdTemplate, variables, ctx) => {\n queryClient.setQueryData(\n keyFactory.getFormTemplateByIdQueryKey(createdTemplate.id!),\n createdTemplate,\n )\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getFormTemplateQueryKey(),\n })\n if (options?.onSuccess) {\n await options.onSuccess(createdTemplate, variables, ctx)\n }\n },\n })\n}\n\nexport type UpdateFormTemplateRequest = {\n templateId: string\n /**\n * The new version's content. Must carry the `etag` of the version this update was based on so\n * the server can reject the write if the template was concurrently modified.\n */\n formTemplate: FormTemplate\n}\n\n/**\n * Add a new version to an existing FormTemplate. The server uses the `etag` on `formTemplate` to\n * detect concurrent modification; if the template has since changed, the mutation's error will\n * reflect the conflict rather than silently overwriting the newer version.\n * @see POST /repo/v1/accessRequirement/formTemplate/{templateId}\n */\nexport function useUpdateFormTemplate(\n options?: Omit<\n UseMutationOptions<\n FormTemplate,\n SynapseClientError,\n UpdateFormTemplateRequest\n >,\n 'mutationFn'\n >,\n) {\n const queryClient = useQueryClient()\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useMutation<\n FormTemplate,\n SynapseClientError,\n UpdateFormTemplateRequest\n >({\n ...options,\n mutationFn: ({ templateId, formTemplate }) =>\n synapseClient.accessRequirementServicesClient.postRepoV1AccessRequirementFormTemplateTemplateId(\n { templateId, formTemplate },\n ),\n onSuccess: async (updatedTemplate, variables, ctx) => {\n queryClient.setQueryData(\n keyFactory.getFormTemplateByIdQueryKey(variables.templateId),\n updatedTemplate,\n )\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getFormTemplateQueryKey(),\n })\n if (options?.onSuccess) {\n await options.onSuccess(updatedTemplate, variables, ctx)\n }\n },\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useFormTemplate.js","names":[],"sources":["../../../src/synapse-queries/dataaccess/useFormTemplate.ts"],"sourcesContent":["/*\n * Hooks for authoring and retrieving FormTemplates, which define how a JSON Schema is rendered\n * to a requester as a multi-step form.\n */\nimport { useSynapseContext } from '@/utils'\nimport {\n FormTemplate,\n FormTemplateSearchRequest,\n FormTemplateSearchResponse,\n} from '@sage-bionetworks/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n InfiniteData,\n QueryKey,\n skipToken,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useMutation,\n UseMutationOptions,\n useQueries,\n useQuery,\n useQueryClient,\n UseQueryOptions,\n} from '@tanstack/react-query'\nimport { useMemo } from 'react'\n\n/**\n * Retrieve the latest version of a FormTemplate by its ID. Disabled while templateId is undefined.\n * @see GET /repo/v1/accessRequirement/formTemplate/{templateId}\n */\nexport function useGetFormTemplate(\n templateId: string | undefined,\n options?: Partial<UseQueryOptions<FormTemplate, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getFormTemplateByIdQueryKey(templateId ?? ''),\n queryFn: templateId\n ? () =>\n synapseClient.accessRequirementServicesClient.getRepoV1AccessRequirementFormTemplateTemplateId(\n { templateId },\n )\n : skipToken,\n })\n}\n\n/**\n * Retrieve a specific version of a FormTemplate. Disabled while templateId or versionNumber is\n * undefined.\n * @see GET /repo/v1/accessRequirement/formTemplate/{templateId}/version/{versionNumber}\n */\nexport function useGetFormTemplateVersion(\n templateId: string | undefined,\n versionNumber: number | undefined,\n options?: Partial<UseQueryOptions<FormTemplate, SynapseClientError>>,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getFormTemplateVersionQueryKey(\n templateId ?? '',\n versionNumber ?? 0,\n ),\n queryFn:\n templateId != null && versionNumber != null\n ? () =>\n synapseClient.accessRequirementServicesClient.getRepoV1AccessRequirementFormTemplateTemplateIdVersionVersionNumber(\n { templateId, versionNumber },\n )\n : skipToken,\n })\n}\n\n/**\n * Retrieve every version of a FormTemplate. The API has no endpoint to list versions (PLFM-10045),\n * so this fetches the latest version and then each earlier version number in turn. `versions` is\n * ordered newest first and omits any version that has not loaded; `latestVersion` is always the\n * template's actual latest version. Disabled while templateId is undefined.\n */\nexport function useGetFormTemplateVersions(templateId: string | undefined) {\n const { keyFactory, synapseClient } = useSynapseContext()\n const { data: latestVersion, error: latestVersionError } =\n useGetFormTemplate(templateId)\n\n const earlierVersionNumbers = useMemo(() => {\n const earlierVersionCount = Math.max(\n (latestVersion?.versionNumber ?? 0) - 1,\n 0,\n )\n return Array.from(\n { length: earlierVersionCount },\n (_, index) => earlierVersionCount - index,\n )\n }, [latestVersion?.versionNumber])\n\n return useQueries({\n queries: earlierVersionNumbers.map(versionNumber => ({\n queryKey: keyFactory.getFormTemplateVersionQueryKey(\n templateId ?? '',\n versionNumber,\n ),\n queryFn: () =>\n synapseClient.accessRequirementServicesClient.getRepoV1AccessRequirementFormTemplateTemplateIdVersionVersionNumber(\n { templateId: templateId!, versionNumber },\n ),\n })),\n combine: results => ({\n latestVersion,\n versions: [\n ...(latestVersion ? [latestVersion] : []),\n ...results.flatMap(result => (result.data ? [result.data] : [])),\n ],\n isLoading:\n templateId != null &&\n (latestVersion == null\n ? latestVersionError == null\n : results.some(result => result.isLoading)),\n error: latestVersionError ?? results.find(result => result.error)?.error,\n }),\n })\n}\n\n/**\n * Search FormTemplates by name (all pages, via useInfiniteQuery). Only the latest version of each\n * matching template is returned.\n * @see POST /repo/v1/accessRequirement/formTemplate/search\n */\nexport function useSearchFormTemplatesInfinite<\n TData = InfiniteData<FormTemplateSearchResponse>,\n>(\n request: Omit<FormTemplateSearchRequest, 'nextPageToken'> = {},\n options?: Partial<\n UseInfiniteQueryOptions<\n FormTemplateSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n FormTemplateSearchResponse['nextPageToken']\n >\n >,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useInfiniteQuery<\n FormTemplateSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n FormTemplateSearchResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.searchFormTemplatesQueryKey(request),\n queryFn: context =>\n synapseClient.accessRequirementServicesClient.postRepoV1AccessRequirementFormTemplateSearch(\n {\n formTemplateSearchRequest: {\n ...request,\n nextPageToken: context.pageParam,\n },\n },\n ),\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\n/**\n * Create a new FormTemplate. Creating a template issues its first version.\n * @see POST /repo/v1/accessRequirement/formTemplate\n */\nexport function useCreateFormTemplate(\n options?: Omit<\n UseMutationOptions<FormTemplate, SynapseClientError, FormTemplate>,\n 'mutationFn'\n >,\n) {\n const queryClient = useQueryClient()\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useMutation<FormTemplate, SynapseClientError, FormTemplate>({\n ...options,\n mutationFn: formTemplate =>\n synapseClient.accessRequirementServicesClient.postRepoV1AccessRequirementFormTemplate(\n { formTemplate },\n ),\n onSuccess: async (createdTemplate, variables, ctx, ...rest) => {\n queryClient.setQueryData(\n keyFactory.getFormTemplateByIdQueryKey(createdTemplate.id!),\n createdTemplate,\n )\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getFormTemplateQueryKey(),\n })\n if (options?.onSuccess) {\n await options.onSuccess(createdTemplate, variables, ctx, ...rest)\n }\n },\n })\n}\n\nexport type UpdateFormTemplateRequest = {\n templateId: string\n /**\n * The new version's content. Must carry the `etag` of the version this update was based on so\n * the server can reject the write if the template was concurrently modified.\n */\n formTemplate: FormTemplate\n}\n\n/**\n * Add a new version to an existing FormTemplate. The server uses the `etag` on `formTemplate` to\n * detect concurrent modification; if the template has since changed, the mutation's error will\n * reflect the conflict rather than silently overwriting the newer version.\n * @see POST /repo/v1/accessRequirement/formTemplate/{templateId}\n */\nexport function useUpdateFormTemplate(\n options?: Omit<\n UseMutationOptions<\n FormTemplate,\n SynapseClientError,\n UpdateFormTemplateRequest\n >,\n 'mutationFn'\n >,\n) {\n const queryClient = useQueryClient()\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useMutation<\n FormTemplate,\n SynapseClientError,\n UpdateFormTemplateRequest\n >({\n ...options,\n mutationFn: ({ templateId, formTemplate }) =>\n synapseClient.accessRequirementServicesClient.postRepoV1AccessRequirementFormTemplateTemplateId(\n { templateId, formTemplate },\n ),\n onSuccess: async (updatedTemplate, variables, ctx, ...rest) => {\n queryClient.setQueryData(\n keyFactory.getFormTemplateByIdQueryKey(variables.templateId),\n updatedTemplate,\n )\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getFormTemplateQueryKey(),\n })\n if (options?.onSuccess) {\n await options.onSuccess(updatedTemplate, variables, ctx, ...rest)\n }\n },\n })\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { useAddFileBatchToDownloadList as e, useAddFileToDownloadList as t, useAddToDownloadList as n, useGetAddToDownloadListStats as r, useGetAllDownloadListActionsRequired as i, useGetAvailableFilesToDownload as a, useGetAvailableFilesToDownloadInfinite as o, useGetDownloadListActionsRequiredInfinite as s, useGetDownloadListStatistics as c, useRemoveFilesFromDownloadList as l } from "./useDownloadList.js";
2
- export { e as useAddFileBatchToDownloadList, t as useAddFileToDownloadList, n as useAddToDownloadList, r as useGetAddToDownloadListStats, i as useGetAllDownloadListActionsRequired, a as useGetAvailableFilesToDownload, o as useGetAvailableFilesToDownloadInfinite, s as useGetDownloadListActionsRequiredInfinite, c as useGetDownloadListStatistics, l as useRemoveFilesFromDownloadList };
1
+ import { MAX_DOWNLOAD_LIST_BATCH_SIZE as e, useAddFileBatchToDownloadList as t, useAddFileToDownloadList as n, useAddToDownloadList as r, useGetAddToDownloadListStats as i, useGetAllDownloadListActionsRequired as a, useGetAvailableFilesToDownload as o, useGetAvailableFilesToDownloadInfinite as s, useGetDownloadListActionsRequiredInfinite as c, useGetDownloadListStatistics as l, useRemoveFilesFromDownloadList as u } from "./useDownloadList.js";
2
+ export { e as MAX_DOWNLOAD_LIST_BATCH_SIZE, t as useAddFileBatchToDownloadList, n as useAddFileToDownloadList, r as useAddToDownloadList, i as useGetAddToDownloadListStats, a as useGetAllDownloadListActionsRequired, o as useGetAvailableFilesToDownload, s as useGetAvailableFilesToDownloadInfinite, c as useGetDownloadListActionsRequiredInfinite, l as useGetDownloadListStatistics, u as useRemoveFilesFromDownloadList };
@@ -14,6 +14,11 @@ export declare function useAddFileToDownloadList(options?: Partial<UseMutationOp
14
14
  entityId: string;
15
15
  entityVersionNumber: number | undefined;
16
16
  }, unknown>;
17
+ /**
18
+ * The most items that one request to add a batch to the Download List may carry. Each request is added all or nothing,
19
+ * so a larger set is not split across requests.
20
+ */
21
+ export declare const MAX_DOWNLOAD_LIST_BATCH_SIZE = 1000;
17
22
  export declare function useAddFileBatchToDownloadList(options?: Partial<UseMutationOptions<AddBatchOfFilesToDownloadListResponse, SynapseClientError, {
18
23
  fileEntityId: string;
19
24
  versionNumber?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"useDownloadList.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/download/useDownloadList.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,EAC7B,8BAA8B,EAE/B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EACL,mBAAmB,EAEnB,sBAAsB,EACtB,qCAAqC,EACrC,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,yCAAyC,EACzC,0CAA0C,EAC1C,IAAI,EACL,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,YAAY,EACZ,QAAQ,EAER,uBAAuB,EAEvB,kBAAkB,EAGlB,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAE9B,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,eAAe,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,8FAStE;AAED,wBAAgB,sCAAsC,CACpD,KAAK,GAAG,YAAY,CAAC,sBAAsB,CAAC,EAE5C,IAAI,CAAC,EAAE,IAAI,EACX,MAAM,CAAC,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,OAAO,CACf,uBAAuB,CACrB,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,EACL,QAAQ,EACR,sBAAsB,CAAC,eAAe,CAAC,CACxC,CACF,qFA+BF;AAED,wBAAgB,oCAAoC,CAClD,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,mBAAmB,EAAE,EAAE,kBAAkB,CAAC,CAAC,6FAc9E;AAED,wBAAgB,yCAAyC,CACvD,KAAK,GAAG,YAAY,CAAC,sBAAsB,CAAC,EAE5C,OAAO,CAAC,EAAE,OAAO,CACf,uBAAuB,CACrB,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,EACL,QAAQ,EACR,sBAAsB,CAAC,eAAe,CAAC,CACxC,CACF,qFAyBF;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,CAAC,EAAE,OAAO,CACf,eAAe,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,CAC7D,+FAQF;AAED,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,OAAO,CACf,kBAAkB,CAChB,qCAAqC,EACrC,kBAAkB,EAClB;IACE,QAAQ,EAAE,MAAM,CAAA;IAChB,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAA;CACxC,CACF,CACF;cAOa,MAAM;yBACK,MAAM,GAAG,SAAS;YAmB5C;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,CAAC,EAAE,OAAO,CACf,kBAAkB,CAChB,qCAAqC,EACrC,kBAAkB,EAClB;IACE,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,EAAE,CACJ,CACF;kBAJmB,MAAM;oBACJ,MAAM;cAuB7B;AAED,wBAAgB,oBAAoB,CAClC,OAAO,CAAC,EAAE,OAAO,CACf,kBAAkB,CAChB,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,CACzB,CACF,uIAoCF;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,CAAC,EAAE,OAAO,CACf,kBAAkB,CAChB,0CAA0C,EAC1C,kBAAkB,EAClB,yCAAyC,CAC1C,CACF,yKAmBF;AAED,wBAAgB,4BAA4B,CAC1C,6BAA6B,EAAE,6BAA6B,EAC5D,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yFAuBhC"}
1
+ {"version":3,"file":"useDownloadList.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/download/useDownloadList.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,EAC7B,8BAA8B,EAE/B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EACL,mBAAmB,EAEnB,sBAAsB,EACtB,qCAAqC,EACrC,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,uBAAuB,EACvB,yCAAyC,EACzC,0CAA0C,EAC1C,IAAI,EACL,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,YAAY,EACZ,QAAQ,EAER,uBAAuB,EAEvB,kBAAkB,EAGlB,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAE9B,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,eAAe,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,8FAStE;AAED,wBAAgB,sCAAsC,CACpD,KAAK,GAAG,YAAY,CAAC,sBAAsB,CAAC,EAE5C,IAAI,CAAC,EAAE,IAAI,EACX,MAAM,CAAC,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,OAAO,CACf,uBAAuB,CACrB,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,EACL,QAAQ,EACR,sBAAsB,CAAC,eAAe,CAAC,CACxC,CACF,qFA+BF;AAED,wBAAgB,oCAAoC,CAClD,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,mBAAmB,EAAE,EAAE,kBAAkB,CAAC,CAAC,6FAc9E;AAED,wBAAgB,yCAAyC,CACvD,KAAK,GAAG,YAAY,CAAC,sBAAsB,CAAC,EAE5C,OAAO,CAAC,EAAE,OAAO,CACf,uBAAuB,CACrB,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,EACL,QAAQ,EACR,sBAAsB,CAAC,eAAe,CAAC,CACxC,CACF,qFAyBF;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,CAAC,EAAE,OAAO,CACf,eAAe,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,CAC7D,+FAQF;AAED,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,OAAO,CACf,kBAAkB,CAChB,qCAAqC,EACrC,kBAAkB,EAClB;IACE,QAAQ,EAAE,MAAM,CAAA;IAChB,mBAAmB,EAAE,MAAM,GAAG,SAAS,CAAA;CACxC,CACF,CACF;cAOa,MAAM;yBACK,MAAM,GAAG,SAAS;YAmB5C;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,OAAO,CAAA;AAEhD,wBAAgB,6BAA6B,CAC3C,OAAO,CAAC,EAAE,OAAO,CACf,kBAAkB,CAChB,qCAAqC,EACrC,kBAAkB,EAClB;IACE,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,EAAE,CACJ,CACF;kBAJmB,MAAM;oBACJ,MAAM;cAuB7B;AAED,wBAAgB,oBAAoB,CAClC,OAAO,CAAC,EAAE,OAAO,CACf,kBAAkB,CAChB,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,CACzB,CACF,uIAoCF;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,CAAC,EAAE,OAAO,CACf,kBAAkB,CAChB,0CAA0C,EAC1C,kBAAkB,EAClB,yCAAyC,CAC1C,CACF,yKAmBF;AAED,wBAAgB,4BAA4B,CAC1C,6BAA6B,EAAE,6BAA6B,EAC5D,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yFAuBhC"}
@@ -59,23 +59,24 @@ function f(n) {
59
59
  ...n,
60
60
  mutationFn: (t) => e.addFileToDownloadListV2(t.entityId, t.entityVersionNumber, r),
61
61
  mutationKey: ["addFileToDownloadList"],
62
- onSuccess: async (e, t, r) => {
63
- if (await s.invalidateQueries({ queryKey: a.getDownloadListBaseQueryKey() }), n?.onSuccess) return n.onSuccess(e, t, r);
62
+ onSuccess: async (e, t, r, ...i) => {
63
+ if (await s.invalidateQueries({ queryKey: a.getDownloadListBaseQueryKey() }), n?.onSuccess) return n.onSuccess(e, t, r, ...i);
64
64
  }
65
65
  });
66
66
  }
67
- function p(n) {
67
+ var p = 1e3;
68
+ function m(n) {
68
69
  let { accessToken: r, keyFactory: a } = t(), s = o();
69
70
  return i({
70
71
  ...n,
71
72
  mutationFn: (t) => e.addFileBatchToDownloadListV2(t, r),
72
73
  mutationKey: ["addFileBatchToDownloadList"],
73
- onSuccess: async (e, t, r) => {
74
- if (await s.invalidateQueries({ queryKey: a.getDownloadListBaseQueryKey() }), n?.onSuccess) return n.onSuccess(e, t, r);
74
+ onSuccess: async (e, t, r, ...i) => {
75
+ if (await s.invalidateQueries({ queryKey: a.getDownloadListBaseQueryKey() }), n?.onSuccess) return n.onSuccess(e, t, r, ...i);
75
76
  }
76
77
  });
77
78
  }
78
- function m(e) {
79
+ function h(e) {
79
80
  let { synapseClient: r, keyFactory: a } = t(), s = o();
80
81
  return i({
81
82
  ...e,
@@ -84,22 +85,22 @@ function m(e) {
84
85
  return (await n(() => r.asynchronousJobServicesClient.getRepoV1AsynchronousJobJobId({ jobId: t }))).responseBody;
85
86
  },
86
87
  mutationKey: ["addQueryToDownloadList"],
87
- onSuccess: async (t, n, r) => {
88
- if (await s.invalidateQueries({ queryKey: a.getDownloadListBaseQueryKey() }), e?.onSuccess) return e.onSuccess(t, n, r);
88
+ onSuccess: async (t, n, r, ...i) => {
89
+ if (await s.invalidateQueries({ queryKey: a.getDownloadListBaseQueryKey() }), e?.onSuccess) return e.onSuccess(t, n, r, ...i);
89
90
  }
90
91
  });
91
92
  }
92
- function h(n) {
93
+ function g(n) {
93
94
  let { accessToken: r, keyFactory: a } = t(), s = o();
94
95
  return i({
95
96
  ...n,
96
97
  mutationFn: (t) => e.removeItemsFromDownloadListV2(t, r),
97
- onSuccess: async (e, t, r) => {
98
- if (await s.invalidateQueries({ queryKey: a.getDownloadListBaseQueryKey() }), n?.onSuccess) return n.onSuccess(e, t, r);
98
+ onSuccess: async (e, t, r, ...i) => {
99
+ if (await s.invalidateQueries({ queryKey: a.getDownloadListBaseQueryKey() }), n?.onSuccess) return n.onSuccess(e, t, r, ...i);
99
100
  }
100
101
  });
101
102
  }
102
- function g(e, r) {
103
+ function _(e, r) {
103
104
  let { synapseClient: i, keyFactory: o } = t();
104
105
  return a({
105
106
  queryKey: o.getAddToDownloadListStatsQueryKey(e),
@@ -111,6 +112,6 @@ function g(e, r) {
111
112
  });
112
113
  }
113
114
  //#endregion
114
- export { p as useAddFileBatchToDownloadList, f as useAddFileToDownloadList, m as useAddToDownloadList, g as useGetAddToDownloadListStats, l as useGetAllDownloadListActionsRequired, s as useGetAvailableFilesToDownload, c as useGetAvailableFilesToDownloadInfinite, u as useGetDownloadListActionsRequiredInfinite, d as useGetDownloadListStatistics, h as useRemoveFilesFromDownloadList };
115
+ export { p as MAX_DOWNLOAD_LIST_BATCH_SIZE, m as useAddFileBatchToDownloadList, f as useAddFileToDownloadList, h as useAddToDownloadList, _ as useGetAddToDownloadListStats, l as useGetAllDownloadListActionsRequired, s as useGetAvailableFilesToDownload, c as useGetAvailableFilesToDownloadInfinite, u as useGetDownloadListActionsRequiredInfinite, d as useGetDownloadListStatistics, g as useRemoveFilesFromDownloadList };
115
116
 
116
117
  //# sourceMappingURL=useDownloadList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDownloadList.js","names":[],"sources":["../../../src/synapse-queries/download/useDownloadList.ts"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n AddToDownloadListRequest,\n AddToDownloadListResponse,\n AddToDownloadListStatsRequest,\n AddToDownloadListStatsResponse,\n waitForAsyncResult,\n} from '@sage-bionetworks/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n ActionRequiredCount,\n ActionRequiredRequest,\n ActionRequiredResponse,\n AddBatchOfFilesToDownloadListResponse,\n AvailableFilesRequest,\n AvailableFilesResponse,\n AvailableFilter,\n FilesStatisticsResponse,\n RemoveBatchOfFilesFromDownloadListRequest,\n RemoveBatchOfFilesFromDownloadListResponse,\n Sort,\n} from '@sage-bionetworks/synapse-types'\nimport {\n InfiniteData,\n QueryKey,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useMutation,\n UseMutationOptions,\n useQuery,\n useQueryClient,\n UseQueryOptions,\n} from '@tanstack/react-query'\n\nexport function useGetAvailableFilesToDownload(\n request: AvailableFilesRequest,\n options?: UseQueryOptions<AvailableFilesResponse, SynapseClientError>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getDownloadListAvailableFilesQueryKey(request),\n queryFn: () =>\n SynapseClient.getAvailableFilesToDownload(request, accessToken),\n })\n}\n\nexport function useGetAvailableFilesToDownloadInfinite<\n TData = InfiniteData<AvailableFilesResponse>,\n>(\n sort?: Sort,\n filter?: AvailableFilter,\n options?: Partial<\n UseInfiniteQueryOptions<\n AvailableFilesResponse,\n SynapseClientError,\n TData,\n QueryKey,\n AvailableFilesResponse['nextPageToken']\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const request: AvailableFilesRequest = {\n concreteType:\n 'org.sagebionetworks.repo.model.download.AvailableFilesRequest',\n }\n if (sort) {\n request.sort = [sort]\n }\n if (filter) {\n request.filter = filter\n }\n return useInfiniteQuery<\n AvailableFilesResponse,\n SynapseClientError,\n TData,\n QueryKey,\n AvailableFilesResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.getDownloadListAvailableFilesInfiniteQueryKey(request),\n queryFn: async context => {\n return SynapseClient.getAvailableFilesToDownload(\n { ...request, nextPageToken: context.pageParam },\n accessToken,\n )\n },\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\nexport function useGetAllDownloadListActionsRequired(\n options?: Partial<UseQueryOptions<ActionRequiredCount[], SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const request: ActionRequiredRequest = {\n concreteType:\n 'org.sagebionetworks.repo.model.download.ActionRequiredRequest',\n }\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getDownloadListActionsRequiredQueryKey(),\n queryFn: () =>\n SynapseClient.getAllDownloadListActionsRequired(request, accessToken),\n })\n}\n\nexport function useGetDownloadListActionsRequiredInfinite<\n TData = InfiniteData<ActionRequiredResponse>,\n>(\n options?: Partial<\n UseInfiniteQueryOptions<\n ActionRequiredResponse,\n SynapseClientError,\n TData,\n QueryKey,\n ActionRequiredResponse['nextPageToken']\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const request: ActionRequiredRequest = {\n concreteType:\n 'org.sagebionetworks.repo.model.download.ActionRequiredRequest',\n }\n return useInfiniteQuery<\n ActionRequiredResponse,\n SynapseClientError,\n TData,\n QueryKey,\n ActionRequiredResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.getDownloadListActionsRequiredInfiniteQueryKey(),\n queryFn: async context => {\n return await SynapseClient.getDownloadListActionsRequired(\n { ...request, nextPageToken: context.pageParam },\n accessToken,\n )\n },\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\nexport function useGetDownloadListStatistics(\n options?: Partial<\n UseQueryOptions<FilesStatisticsResponse, SynapseClientError>\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getDownloadListStatisticsQueryKey(),\n queryFn: () => SynapseClient.getDownloadListStatistics(accessToken),\n })\n}\n\nexport function useAddFileToDownloadList(\n options?: Partial<\n UseMutationOptions<\n AddBatchOfFilesToDownloadListResponse,\n SynapseClientError,\n {\n entityId: string\n entityVersionNumber: number | undefined\n }\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: (vars: {\n entityId: string\n entityVersionNumber: number | undefined\n }) =>\n SynapseClient.addFileToDownloadListV2(\n vars.entityId,\n vars.entityVersionNumber,\n accessToken,\n ),\n mutationKey: ['addFileToDownloadList'],\n onSuccess: async (data, variables, ctx) => {\n // PORTALS-2222: Invalidate to load the accurate results\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getDownloadListBaseQueryKey(),\n })\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx)\n }\n return\n },\n })\n}\n\nexport function useAddFileBatchToDownloadList(\n options?: Partial<\n UseMutationOptions<\n AddBatchOfFilesToDownloadListResponse,\n SynapseClientError,\n {\n fileEntityId: string\n versionNumber?: number\n }[]\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: batchToAdd =>\n SynapseClient.addFileBatchToDownloadListV2(batchToAdd, accessToken),\n mutationKey: ['addFileBatchToDownloadList'],\n onSuccess: async (data, variables, ctx) => {\n // PORTALS-2222: Invalidate to load the accurate results\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getDownloadListBaseQueryKey(),\n })\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx)\n }\n return\n },\n })\n}\n\nexport function useAddToDownloadList(\n options?: Partial<\n UseMutationOptions<\n AddToDownloadListResponse,\n SynapseClientError,\n AddToDownloadListRequest\n >\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: async addToDownloadListRequest => {\n const jobId = (\n await synapseClient.downloadListServicesClient.postRepoV1DownloadListAddAsyncStart(\n {\n addToDownloadListRequest,\n },\n )\n ).token!\n\n const asyncJobResponse = await waitForAsyncResult(() =>\n synapseClient.asynchronousJobServicesClient.getRepoV1AsynchronousJobJobId(\n {\n jobId,\n },\n ),\n )\n return asyncJobResponse.responseBody as AddToDownloadListResponse\n },\n mutationKey: ['addQueryToDownloadList'],\n onSuccess: async (data, variables, ctx) => {\n // Invalidate all download list queries\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getDownloadListBaseQueryKey(),\n })\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx)\n }\n return\n },\n })\n}\n\nexport function useRemoveFilesFromDownloadList(\n options?: Partial<\n UseMutationOptions<\n RemoveBatchOfFilesFromDownloadListResponse,\n SynapseClientError,\n RemoveBatchOfFilesFromDownloadListRequest\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: request =>\n SynapseClient.removeItemsFromDownloadListV2(request, accessToken),\n onSuccess: async (data, variables, ctx) => {\n // PORTALS-2222: Invalidate to load the accurate results\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getDownloadListBaseQueryKey(),\n })\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx)\n }\n return\n },\n })\n}\n\nexport function useGetAddToDownloadListStats(\n addToDownloadListStatsRequest: AddToDownloadListStatsRequest,\n options?: { enabled?: boolean },\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n return useQuery({\n queryKey: keyFactory.getAddToDownloadListStatsQueryKey(\n addToDownloadListStatsRequest,\n ),\n queryFn: async () => {\n const jobId = (\n await synapseClient.downloadListServicesClient.postRepoV1DownloadListAddStatsAsyncStart(\n { addToDownloadListStatsRequest },\n )\n ).token!\n\n const asyncJobResponse = await waitForAsyncResult(() =>\n synapseClient.asynchronousJobServicesClient.getRepoV1AsynchronousJobJobId(\n { jobId },\n ),\n )\n return asyncJobResponse.responseBody as AddToDownloadListStatsResponse\n },\n enabled: options?.enabled,\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useDownloadList.js","names":[],"sources":["../../../src/synapse-queries/download/useDownloadList.ts"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n AddToDownloadListRequest,\n AddToDownloadListResponse,\n AddToDownloadListStatsRequest,\n AddToDownloadListStatsResponse,\n waitForAsyncResult,\n} from '@sage-bionetworks/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n ActionRequiredCount,\n ActionRequiredRequest,\n ActionRequiredResponse,\n AddBatchOfFilesToDownloadListResponse,\n AvailableFilesRequest,\n AvailableFilesResponse,\n AvailableFilter,\n FilesStatisticsResponse,\n RemoveBatchOfFilesFromDownloadListRequest,\n RemoveBatchOfFilesFromDownloadListResponse,\n Sort,\n} from '@sage-bionetworks/synapse-types'\nimport {\n InfiniteData,\n QueryKey,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useMutation,\n UseMutationOptions,\n useQuery,\n useQueryClient,\n UseQueryOptions,\n} from '@tanstack/react-query'\n\nexport function useGetAvailableFilesToDownload(\n request: AvailableFilesRequest,\n options?: UseQueryOptions<AvailableFilesResponse, SynapseClientError>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getDownloadListAvailableFilesQueryKey(request),\n queryFn: () =>\n SynapseClient.getAvailableFilesToDownload(request, accessToken),\n })\n}\n\nexport function useGetAvailableFilesToDownloadInfinite<\n TData = InfiniteData<AvailableFilesResponse>,\n>(\n sort?: Sort,\n filter?: AvailableFilter,\n options?: Partial<\n UseInfiniteQueryOptions<\n AvailableFilesResponse,\n SynapseClientError,\n TData,\n QueryKey,\n AvailableFilesResponse['nextPageToken']\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const request: AvailableFilesRequest = {\n concreteType:\n 'org.sagebionetworks.repo.model.download.AvailableFilesRequest',\n }\n if (sort) {\n request.sort = [sort]\n }\n if (filter) {\n request.filter = filter\n }\n return useInfiniteQuery<\n AvailableFilesResponse,\n SynapseClientError,\n TData,\n QueryKey,\n AvailableFilesResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.getDownloadListAvailableFilesInfiniteQueryKey(request),\n queryFn: async context => {\n return SynapseClient.getAvailableFilesToDownload(\n { ...request, nextPageToken: context.pageParam },\n accessToken,\n )\n },\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\nexport function useGetAllDownloadListActionsRequired(\n options?: Partial<UseQueryOptions<ActionRequiredCount[], SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const request: ActionRequiredRequest = {\n concreteType:\n 'org.sagebionetworks.repo.model.download.ActionRequiredRequest',\n }\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getDownloadListActionsRequiredQueryKey(),\n queryFn: () =>\n SynapseClient.getAllDownloadListActionsRequired(request, accessToken),\n })\n}\n\nexport function useGetDownloadListActionsRequiredInfinite<\n TData = InfiniteData<ActionRequiredResponse>,\n>(\n options?: Partial<\n UseInfiniteQueryOptions<\n ActionRequiredResponse,\n SynapseClientError,\n TData,\n QueryKey,\n ActionRequiredResponse['nextPageToken']\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const request: ActionRequiredRequest = {\n concreteType:\n 'org.sagebionetworks.repo.model.download.ActionRequiredRequest',\n }\n return useInfiniteQuery<\n ActionRequiredResponse,\n SynapseClientError,\n TData,\n QueryKey,\n ActionRequiredResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.getDownloadListActionsRequiredInfiniteQueryKey(),\n queryFn: async context => {\n return await SynapseClient.getDownloadListActionsRequired(\n { ...request, nextPageToken: context.pageParam },\n accessToken,\n )\n },\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\nexport function useGetDownloadListStatistics(\n options?: Partial<\n UseQueryOptions<FilesStatisticsResponse, SynapseClientError>\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getDownloadListStatisticsQueryKey(),\n queryFn: () => SynapseClient.getDownloadListStatistics(accessToken),\n })\n}\n\nexport function useAddFileToDownloadList(\n options?: Partial<\n UseMutationOptions<\n AddBatchOfFilesToDownloadListResponse,\n SynapseClientError,\n {\n entityId: string\n entityVersionNumber: number | undefined\n }\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: (vars: {\n entityId: string\n entityVersionNumber: number | undefined\n }) =>\n SynapseClient.addFileToDownloadListV2(\n vars.entityId,\n vars.entityVersionNumber,\n accessToken,\n ),\n mutationKey: ['addFileToDownloadList'],\n onSuccess: async (data, variables, ctx, ...rest) => {\n // PORTALS-2222: Invalidate to load the accurate results\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getDownloadListBaseQueryKey(),\n })\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx, ...rest)\n }\n return\n },\n })\n}\n\n/**\n * The most items that one request to add a batch to the Download List may carry. Each request is added all or nothing,\n * so a larger set is not split across requests.\n */\nexport const MAX_DOWNLOAD_LIST_BATCH_SIZE = 1000\n\nexport function useAddFileBatchToDownloadList(\n options?: Partial<\n UseMutationOptions<\n AddBatchOfFilesToDownloadListResponse,\n SynapseClientError,\n {\n fileEntityId: string\n versionNumber?: number\n }[]\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: batchToAdd =>\n SynapseClient.addFileBatchToDownloadListV2(batchToAdd, accessToken),\n mutationKey: ['addFileBatchToDownloadList'],\n onSuccess: async (data, variables, ctx, ...rest) => {\n // PORTALS-2222: Invalidate to load the accurate results\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getDownloadListBaseQueryKey(),\n })\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx, ...rest)\n }\n return\n },\n })\n}\n\nexport function useAddToDownloadList(\n options?: Partial<\n UseMutationOptions<\n AddToDownloadListResponse,\n SynapseClientError,\n AddToDownloadListRequest\n >\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: async addToDownloadListRequest => {\n const jobId = (\n await synapseClient.downloadListServicesClient.postRepoV1DownloadListAddAsyncStart(\n {\n addToDownloadListRequest,\n },\n )\n ).token!\n\n const asyncJobResponse = await waitForAsyncResult(() =>\n synapseClient.asynchronousJobServicesClient.getRepoV1AsynchronousJobJobId(\n {\n jobId,\n },\n ),\n )\n return asyncJobResponse.responseBody as AddToDownloadListResponse\n },\n mutationKey: ['addQueryToDownloadList'],\n onSuccess: async (data, variables, ctx, ...rest) => {\n // Invalidate all download list queries\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getDownloadListBaseQueryKey(),\n })\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx, ...rest)\n }\n return\n },\n })\n}\n\nexport function useRemoveFilesFromDownloadList(\n options?: Partial<\n UseMutationOptions<\n RemoveBatchOfFilesFromDownloadListResponse,\n SynapseClientError,\n RemoveBatchOfFilesFromDownloadListRequest\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: request =>\n SynapseClient.removeItemsFromDownloadListV2(request, accessToken),\n onSuccess: async (data, variables, ctx, ...rest) => {\n // PORTALS-2222: Invalidate to load the accurate results\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getDownloadListBaseQueryKey(),\n })\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx, ...rest)\n }\n return\n },\n })\n}\n\nexport function useGetAddToDownloadListStats(\n addToDownloadListStatsRequest: AddToDownloadListStatsRequest,\n options?: { enabled?: boolean },\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n return useQuery({\n queryKey: keyFactory.getAddToDownloadListStatsQueryKey(\n addToDownloadListStatsRequest,\n ),\n queryFn: async () => {\n const jobId = (\n await synapseClient.downloadListServicesClient.postRepoV1DownloadListAddStatsAsyncStart(\n { addToDownloadListStatsRequest },\n )\n ).token!\n\n const asyncJobResponse = await waitForAsyncResult(() =>\n synapseClient.asynchronousJobServicesClient.getRepoV1AsynchronousJobJobId(\n { jobId },\n ),\n )\n return asyncJobResponse.responseBody as AddToDownloadListStatsResponse\n },\n enabled: options?.enabled,\n })\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useEntity.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/entity/useEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useEntity.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/entity/useEntity.ts"],"names":[],"mappings":"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"}
@@ -41,12 +41,12 @@ function S(e) {
41
41
  let n = _(), { accessToken: r, keyFactory: o } = i();
42
42
  return m({
43
43
  mutationFn: (e) => t.createEntity(e, r),
44
- onSuccess: async (t, r, i) => {
45
- let s = o.getEntityQueryKey(t.id);
46
- n.setQueryData(s, t), n.setQueryData(o.getEntityLookupQueryKey({
44
+ onSuccess: async (t, r, i, ...s) => {
45
+ let c = o.getEntityQueryKey(t.id);
46
+ n.setQueryData(c, t), n.setQueryData(o.getEntityLookupQueryKey({
47
47
  parentId: t.parentId,
48
48
  entityName: t.name
49
- }), t.id), await a(n, o, t.id, s), e?.onSuccess && await e.onSuccess(t, r, i);
49
+ }), t.id), await a(n, o, t.id, c), e?.onSuccess && await e.onSuccess(t, r, i, ...s);
50
50
  }
51
51
  });
52
52
  }
@@ -55,9 +55,9 @@ function C(e) {
55
55
  return m({
56
56
  ...e,
57
57
  mutationFn: (e) => t.updateEntity(e, r),
58
- onSuccess: async (t, r, i) => {
59
- let s = o.getEntityQueryKey(t.id);
60
- n.setQueryData(s, t), await a(n, o, t.id, s), e?.onSuccess && await e.onSuccess(t, r, i);
58
+ onSuccess: async (t, r, i, ...s) => {
59
+ let c = o.getEntityQueryKey(t.id);
60
+ n.setQueryData(c, t), await a(n, o, t.id, c), e?.onSuccess && await e.onSuccess(t, r, i, ...s);
61
61
  }
62
62
  });
63
63
  }
@@ -69,8 +69,8 @@ function w(e) {
69
69
  let n = await t.getEntity(r, e);
70
70
  return await t.deleteEntity(r, e), n.parentId;
71
71
  },
72
- onSuccess: async (t, r, i) => {
73
- await a(n, o, r), t && await a(n, o, t), e?.onSuccess && await e.onSuccess(t, r, i);
72
+ onSuccess: async (t, r, i, ...s) => {
73
+ await a(n, o, r), t && await a(n, o, t), e?.onSuccess && await e.onSuccess(t, r, i, ...s);
74
74
  }
75
75
  });
76
76
  }
@@ -119,9 +119,9 @@ function A(e) {
119
119
  let n = e.id;
120
120
  return t.updateEntityJson(n, e, r);
121
121
  },
122
- onSuccess: async (t, r, i) => {
123
- let s = t.id, c = o.getEntityJsonQueryKey(s, void 0, !1);
124
- n.setQueryData(c, t), await a(n, o, s, c), e?.onSuccess && await e.onSuccess(t, r, i);
122
+ onSuccess: async (t, r, i, ...s) => {
123
+ let c = t.id, l = o.getEntityJsonQueryKey(c, void 0, !1);
124
+ n.setQueryData(l, t), await a(n, o, c, l), e?.onSuccess && await e.onSuccess(t, r, i, ...s);
125
125
  }
126
126
  });
127
127
  }
@@ -174,8 +174,8 @@ function L(e) {
174
174
  return m({
175
175
  ...e,
176
176
  mutationFn: (e) => t.createEntityACL(e, r),
177
- onSuccess: async (t, r, i) => {
178
- await I(t.id, t, n, a), e?.onSuccess && await e.onSuccess(t, r, i);
177
+ onSuccess: async (t, r, i, ...o) => {
178
+ await I(t.id, t, n, a), e?.onSuccess && await e.onSuccess(t, r, i, ...o);
179
179
  }
180
180
  });
181
181
  }
@@ -184,8 +184,8 @@ function R(e) {
184
184
  return m({
185
185
  ...e,
186
186
  mutationFn: (e) => t.updateEntityACL(e, r),
187
- onSuccess: async (t, r, i) => {
188
- await I(t.id, t, n, a), e?.onSuccess && await e.onSuccess(t, r, i);
187
+ onSuccess: async (t, r, i, ...o) => {
188
+ await I(t.id, t, n, a), e?.onSuccess && await e.onSuccess(t, r, i, ...o);
189
189
  }
190
190
  });
191
191
  }
@@ -194,8 +194,8 @@ function z(e) {
194
194
  return m({
195
195
  ...e,
196
196
  mutationFn: (e) => t.deleteEntityACL(e, r),
197
- onSuccess: async (t, r, i) => {
198
- await I(r, null, n, a), e?.onSuccess && await e.onSuccess(t, r, i);
197
+ onSuccess: async (t, r, i, ...o) => {
198
+ await I(r, null, n, a), e?.onSuccess && await e.onSuccess(t, r, i, ...o);
199
199
  }
200
200
  });
201
201
  }
@@ -217,8 +217,8 @@ function H(e) {
217
217
  let n = await r(o, e.entityId, e.originalColumnModels, e.newColumnModels);
218
218
  return t.updateTable(n, o);
219
219
  },
220
- onSuccess: async (t, r, i) => {
221
- await a(n, s, r.entityId), e?.onSuccess && await e.onSuccess(t, r, i);
220
+ onSuccess: async (t, r, i, ...o) => {
221
+ await a(n, s, r.entityId), e?.onSuccess && await e.onSuccess(t, r, i, ...o);
222
222
  }
223
223
  });
224
224
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useEntity.js","names":[],"sources":["../../../src/synapse-queries/entity/useEntity.ts"],"sourcesContent":["/*\n * Hooks to access Entity Services in Synapse\n */\n\nimport SynapseClient from '@/synapse-client'\nimport { allowNotFoundError } from '@/synapse-client/SynapseClientUtils'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { entityJsonKeys } from '@/utils/functions/EntityTypeUtils'\nimport { createTableUpdateTransactionRequest } from '@/utils/functions/TableColumnSchemaUtils'\nimport {\n EntityLookupRequest,\n SynapseClientError,\n} from '@sage-bionetworks/synapse-client'\nimport {\n AccessControlList,\n ColumnModel,\n Entity,\n EntityBundle,\n EntityHeader,\n EntityId,\n EntityJson,\n EntityPath,\n Evaluation,\n GetEvaluationParameters,\n PaginatedResults,\n UserEntityPermissions,\n VersionInfo,\n} from '@sage-bionetworks/synapse-types'\nimport {\n InfiniteData,\n QueryClient,\n QueryKey,\n queryOptions,\n skipToken,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useMutation,\n UseMutationOptions,\n useQueries,\n useQuery,\n useQueryClient,\n UseQueryOptions,\n useSuspenseQuery,\n UseSuspenseQueryOptions,\n} from '@tanstack/react-query'\nimport { omit, pick } from 'lodash-es'\nimport { useMemo } from 'react'\nimport { SetOptional } from 'type-fest'\nimport { getNextPageParamForPaginatedResults } from '../InfiniteQueryUtils'\nimport { KeyFactory } from '../KeyFactory'\nimport { invalidateAllQueriesForEntity } from '../QueryFilterUtils'\nimport { useGetEntityBundleSuspenseQueryOptions } from './useEntityBundle'\n\nexport function useGetEntityQueryOptions<T extends Entity>() {\n const { keyFactory, accessToken } = useSynapseContext()\n return (\n entityId?: string,\n versionNumber?: string | number,\n ): UseQueryOptions<T, SynapseClientError> =>\n queryOptions<T, SynapseClientError>({\n queryKey: keyFactory.getEntityVersionQueryKey(entityId, versionNumber),\n queryFn: entityId\n ? () =>\n SynapseClient.getEntity<T>(\n accessToken,\n entityId,\n versionNumber?.toString(),\n )\n : skipToken,\n })\n}\n\nexport function useGetEntity<T extends Entity>(\n entityId?: string,\n versionNumber?: string | number,\n options?: Partial<UseQueryOptions<T, SynapseClientError>>,\n) {\n const getEntityQueryOptions = useGetEntityQueryOptions<T>()\n return useQuery({\n ...options,\n ...getEntityQueryOptions(entityId, versionNumber),\n })\n}\n\nexport function useGetEntities(\n entityHeaders: Pick<EntityHeader, 'id' | 'versionNumber'>[],\n options?: Partial<UseQueryOptions<Entity[], SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const queries = useMemo(\n () => ({\n queries: entityHeaders.map(header => {\n return {\n queryKey: keyFactory.getEntityVersionQueryKey(\n header.id,\n header.versionNumber,\n ),\n queryFn: () =>\n SynapseClient.getEntity(\n accessToken,\n header.id,\n header.versionNumber,\n ),\n options,\n }\n }),\n }),\n [accessToken, entityHeaders, keyFactory, options],\n )\n return useQueries(queries)\n}\n\nexport function useCreateEntity(\n options?: UseMutationOptions<\n Entity,\n SynapseClientError,\n Pick<Entity, 'name' | 'description' | 'parentId' | 'concreteType'>\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<\n Entity,\n SynapseClientError,\n Pick<Entity, 'name' | 'description' | 'parentId' | 'concreteType'>\n >({\n mutationFn: (entity: Entity) =>\n SynapseClient.createEntity(entity, accessToken),\n onSuccess: async (newEntity, variables, ctx) => {\n const entityDataQueryKey = keyFactory.getEntityQueryKey(newEntity.id!)\n queryClient.setQueryData(entityDataQueryKey, newEntity)\n queryClient.setQueryData<EntityLookupQueryData>(\n keyFactory.getEntityLookupQueryKey({\n parentId: newEntity.parentId,\n entityName: newEntity.name,\n }),\n newEntity.id,\n )\n await invalidateAllQueriesForEntity(\n queryClient,\n keyFactory,\n newEntity.id!,\n entityDataQueryKey,\n )\n\n if (options?.onSuccess) {\n await options.onSuccess(newEntity, variables, ctx)\n }\n },\n })\n}\n\nexport function useUpdateEntity<T extends Entity>(\n options?: Partial<UseMutationOptions<T, SynapseClientError, T>>,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<T, SynapseClientError, T>({\n ...options,\n mutationFn: (entity: T) =>\n SynapseClient.updateEntity<T>(entity, accessToken),\n onSuccess: async (updatedEntity, variables, ctx) => {\n const entityDataQueryKey = keyFactory.getEntityQueryKey(updatedEntity.id!)\n queryClient.setQueryData(entityDataQueryKey, updatedEntity)\n await invalidateAllQueriesForEntity(\n queryClient,\n keyFactory,\n updatedEntity.id!,\n entityDataQueryKey,\n )\n\n if (options?.onSuccess) {\n await options.onSuccess(updatedEntity, variables, ctx)\n }\n },\n })\n}\n\nexport function useDeleteEntity(\n options?: Partial<\n UseMutationOptions<string | undefined, SynapseClientError, string>\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<string | undefined, SynapseClientError, string>({\n ...options,\n mutationFn: async (entityId: string) => {\n const entity = await SynapseClient.getEntity<Entity>(\n accessToken,\n entityId,\n )\n await SynapseClient.deleteEntity(accessToken, entityId)\n return entity.parentId\n },\n onSuccess: async (parentId, entityId, ctx) => {\n await invalidateAllQueriesForEntity(queryClient, keyFactory, entityId)\n if (parentId) {\n await invalidateAllQueriesForEntity(queryClient, keyFactory, parentId)\n }\n if (options?.onSuccess) {\n await options.onSuccess(parentId, entityId, ctx)\n }\n },\n })\n}\n\nexport function useGetVersions(\n entityId: string,\n offset: number = 0,\n limit: number = 200,\n options?: Partial<\n UseQueryOptions<PaginatedResults<VersionInfo>, SynapseClientError>\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getPaginatedEntityVersionsQueryKey(\n entityId,\n limit,\n offset,\n ),\n queryFn: () =>\n SynapseClient.getEntityVersions(entityId, accessToken, offset, limit),\n })\n}\n\nexport function useGetVersionsInfinite<\n TData = InfiniteData<PaginatedResults<VersionInfo>>,\n>(\n entityId: string,\n options: Partial<\n UseInfiniteQueryOptions<\n PaginatedResults<VersionInfo>,\n SynapseClientError,\n TData,\n QueryKey,\n number | undefined\n >\n >,\n) {\n const LIMIT = 200\n const { accessToken, keyFactory } = useSynapseContext()\n return useInfiniteQuery<\n PaginatedResults<VersionInfo>,\n SynapseClientError,\n TData,\n QueryKey,\n number | undefined\n >({\n ...options,\n queryKey: keyFactory.getEntityVersionsQueryKey(entityId),\n queryFn: async context => {\n return await SynapseClient.getEntityVersions(\n entityId,\n accessToken,\n context.pageParam,\n LIMIT,\n )\n },\n initialPageParam: undefined,\n getNextPageParam: getNextPageParamForPaginatedResults,\n })\n}\n\nexport function getStandardEntityFields(json: EntityJson): EntityJson {\n return pick(json, entityJsonKeys[json.concreteType]) as EntityJson\n}\n\nexport function removeStandardEntityFields(\n json: EntityJson,\n): Record<\n string,\n string | number | boolean | string[] | number[] | boolean[] | undefined\n> {\n return omit(json, entityJsonKeys[json.concreteType])\n}\n\n/**\n * This hook automatically transforms the data to include these objects:\n * - `entity`: the unmodified Entity data object\n * - `entityMetadata`: the standard entity fields contained in the JSON response\n * - `annotations`: the annotations contained in the JSON response\n *\n * The union of these objects would be equal in value to the `data` object.\n */\nexport function useGetJson(\n entityId: string,\n versionNumber: number | undefined,\n includeDerivedAnnotations: boolean,\n options?: Partial<UseQueryOptions<EntityJson, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getEntityJsonQueryKey(\n entityId,\n versionNumber,\n includeDerivedAnnotations,\n ),\n queryFn: () =>\n SynapseClient.getEntityJson(\n entityId,\n versionNumber,\n includeDerivedAnnotations,\n accessToken,\n ),\n\n select: data => {\n // Separate the standard fields and annotations.\n const entityMetadata = getStandardEntityFields(data)\n\n const annotations = removeStandardEntityFields(data)\n\n return {\n entity: data,\n entityMetadata,\n annotations,\n }\n },\n })\n}\n\nexport function useUpdateViaJson(\n options?: Partial<\n UseMutationOptions<EntityJson, SynapseClientError, EntityJson>\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n return useMutation<EntityJson, SynapseClientError, EntityJson>({\n ...options,\n mutationFn: (json: EntityJson) => {\n const entityId = json.id\n return SynapseClient.updateEntityJson(entityId, json, accessToken)\n },\n onSuccess: async (data, variables, ctx) => {\n const entityId = data.id\n // This annotation data will never include derived annotations, which are calculated by the backend asynchronously\n const entityJsonQueryKey = keyFactory.getEntityJsonQueryKey(\n entityId,\n undefined,\n false,\n )\n queryClient.setQueryData(entityJsonQueryKey, data)\n await invalidateAllQueriesForEntity(\n queryClient,\n keyFactory,\n entityId,\n entityJsonQueryKey,\n )\n\n if (options?.onSuccess) {\n await options.onSuccess(data, variables, ctx)\n }\n },\n })\n}\n\nexport function useGetEntityPath(\n entityId: string,\n options?: Partial<UseQueryOptions<EntityPath, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getEntityPathQueryKey(entityId),\n queryFn: () => SynapseClient.getEntityPath(entityId, accessToken),\n })\n}\n\nexport function useGetEntityACL(\n entityId: string,\n options?: Partial<UseQueryOptions<AccessControlList, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getEntityPathQueryKey(entityId),\n queryFn: () => SynapseClient.getEntityACL(entityId, accessToken),\n })\n}\n\nexport function useGetEntityAlias(\n alias: string,\n options?: Partial<UseQueryOptions<EntityId | null, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getEntityAliasQueryKey(alias),\n queryFn: () => SynapseClient.getEntityAlias(alias, accessToken),\n })\n}\n\nexport function useGetEntityEvaluations(\n entityId: string,\n params?: GetEvaluationParameters,\n options?: Partial<UseQueryOptions<Evaluation[] | null, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getEntityEvaluationsQueryKey(entityId),\n queryFn: () =>\n SynapseClient.getAllEntityEvaluations(entityId, params, accessToken),\n })\n}\n\nexport function useGetEntityPermissions(\n entityId: string,\n options?: Partial<\n UseQueryOptions<UserEntityPermissions | null, SynapseClientError>\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getEntityPermissionsQueryKey(entityId),\n queryFn: () => SynapseClient.getEntityPermissions(entityId, accessToken),\n })\n}\n\nconst onMutateEntityAclSuccess = async (\n entityId: string,\n updatedACL: AccessControlList | null,\n queryClient: QueryClient,\n keyFactory: KeyFactory,\n) => {\n const entityAclQueryKey = keyFactory.getEntityACLQueryKey(entityId)\n if (updatedACL) {\n queryClient.setQueryData(entityAclQueryKey, updatedACL)\n }\n await invalidateAllQueriesForEntity(\n queryClient,\n keyFactory,\n entityId,\n entityAclQueryKey,\n )\n}\n\nexport function useCreateEntityACL(\n options?: Partial<\n UseMutationOptions<AccessControlList, SynapseClientError, AccessControlList>\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<AccessControlList, SynapseClientError, AccessControlList>({\n ...options,\n mutationFn: (acl: AccessControlList) =>\n SynapseClient.createEntityACL(acl, accessToken),\n onSuccess: async (updatedACL: AccessControlList, variables, ctx) => {\n await onMutateEntityAclSuccess(\n updatedACL.id,\n updatedACL,\n queryClient,\n keyFactory,\n )\n\n if (options?.onSuccess) {\n await options.onSuccess(updatedACL, variables, ctx)\n }\n },\n })\n}\n\nexport function useUpdateEntityACL(\n options?: Partial<\n UseMutationOptions<AccessControlList, SynapseClientError, AccessControlList>\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<AccessControlList, SynapseClientError, AccessControlList>({\n ...options,\n mutationFn: (acl: AccessControlList) =>\n SynapseClient.updateEntityACL(acl, accessToken),\n onSuccess: async (updatedACL: AccessControlList, variables, ctx) => {\n await onMutateEntityAclSuccess(\n updatedACL.id,\n updatedACL,\n queryClient,\n keyFactory,\n )\n\n if (options?.onSuccess) {\n await options.onSuccess(updatedACL, variables, ctx)\n }\n },\n })\n}\n\nexport function useDeleteEntityACL(\n options?: Partial<UseMutationOptions<void, SynapseClientError, string>>,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<void, SynapseClientError, string>({\n ...options,\n mutationFn: (entityId: string) =>\n SynapseClient.deleteEntityACL(entityId, accessToken),\n onSuccess: async (result: void, entityId, ctx) => {\n await onMutateEntityAclSuccess(entityId, null, queryClient, keyFactory)\n\n if (options?.onSuccess) {\n await options.onSuccess(result, entityId, ctx)\n }\n },\n })\n}\n\nfunction useGetEntityBenefactorACLQueryOptions(\n entityId: string,\n): UseSuspenseQueryOptions<\n EntityBundle<{ includeBenefactorACL: true }>,\n SynapseClientError,\n AccessControlList\n> {\n const selectBenefactorACL = (\n data: EntityBundle<{ includeBenefactorACL: true }>,\n ): AccessControlList => data.benefactorAcl\n return useGetEntityBundleSuspenseQueryOptions<\n { includeBenefactorACL: true },\n AccessControlList\n >(\n entityId,\n undefined,\n {\n includeBenefactorACL: true,\n },\n selectBenefactorACL,\n )\n}\n\n/**\n * Retrieve the ACL of an entity. This call will succeed even for entities where the caller\n * does not have READ permission.\n * @param entityId\n * @param options\n */\nexport function useSuspenseGetEntityBenefactorACL(\n entityId: string,\n options?: Partial<\n UseSuspenseQueryOptions<\n EntityBundle<{ includeBenefactorACL: true }>,\n SynapseClientError,\n AccessControlList\n >\n >,\n) {\n const queryOptions = useGetEntityBenefactorACLQueryOptions(entityId)\n return useSuspenseQuery({\n ...options,\n ...queryOptions,\n })\n}\n\ntype UpdateTableMutationRequest = {\n entityId: string\n originalColumnModels: ColumnModel[]\n newColumnModels: SetOptional<ColumnModel, 'id'>[]\n}\n\nexport function useUpdateTableColumns(\n options?: Partial<\n UseMutationOptions<unknown, SynapseClientError, UpdateTableMutationRequest>\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<unknown, SynapseClientError, UpdateTableMutationRequest>({\n ...options,\n mutationFn: async (request: UpdateTableMutationRequest) => {\n // This call will create new column models as appropriate\n const transactionRequest = await createTableUpdateTransactionRequest(\n accessToken!,\n request.entityId,\n request.originalColumnModels,\n request.newColumnModels,\n )\n\n return SynapseClient.updateTable(transactionRequest, accessToken)\n },\n onSuccess: async (response, variables, ctx) => {\n await invalidateAllQueriesForEntity(\n queryClient,\n keyFactory,\n variables.entityId,\n )\n\n if (options?.onSuccess) {\n await options.onSuccess(response, variables, ctx)\n }\n },\n })\n}\n\ntype EntityLookupQueryData = string | null\nexport function useGetEntityLookupQueryOptions() {\n const { keyFactory, synapseClient } = useSynapseContext()\n return (\n entityLookupRequest: EntityLookupRequest,\n ): UseQueryOptions<EntityLookupQueryData, SynapseClientError> =>\n queryOptions<EntityLookupQueryData, SynapseClientError>({\n queryKey: keyFactory.getEntityLookupQueryKey(entityLookupRequest),\n queryFn: async () =>\n (\n await allowNotFoundError(() =>\n synapseClient.entityServicesClient.postRepoV1EntityChild({\n entityLookupRequest: entityLookupRequest,\n }),\n )\n )?.id ?? null,\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useEntity.js","names":[],"sources":["../../../src/synapse-queries/entity/useEntity.ts"],"sourcesContent":["/*\n * Hooks to access Entity Services in Synapse\n */\n\nimport SynapseClient from '@/synapse-client'\nimport { allowNotFoundError } from '@/synapse-client/SynapseClientUtils'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport { entityJsonKeys } from '@/utils/functions/EntityTypeUtils'\nimport { createTableUpdateTransactionRequest } from '@/utils/functions/TableColumnSchemaUtils'\nimport {\n EntityLookupRequest,\n SynapseClientError,\n} from '@sage-bionetworks/synapse-client'\nimport {\n AccessControlList,\n ColumnModel,\n Entity,\n EntityBundle,\n EntityHeader,\n EntityId,\n EntityJson,\n EntityPath,\n Evaluation,\n GetEvaluationParameters,\n PaginatedResults,\n UserEntityPermissions,\n VersionInfo,\n} from '@sage-bionetworks/synapse-types'\nimport {\n InfiniteData,\n QueryClient,\n QueryKey,\n queryOptions,\n skipToken,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useMutation,\n UseMutationOptions,\n useQueries,\n useQuery,\n useQueryClient,\n UseQueryOptions,\n useSuspenseQuery,\n UseSuspenseQueryOptions,\n} from '@tanstack/react-query'\nimport { omit, pick } from 'lodash-es'\nimport { useMemo } from 'react'\nimport { SetOptional } from 'type-fest'\nimport { getNextPageParamForPaginatedResults } from '../InfiniteQueryUtils'\nimport { KeyFactory } from '../KeyFactory'\nimport { invalidateAllQueriesForEntity } from '../QueryFilterUtils'\nimport { useGetEntityBundleSuspenseQueryOptions } from './useEntityBundle'\n\nexport function useGetEntityQueryOptions<T extends Entity>() {\n const { keyFactory, accessToken } = useSynapseContext()\n return (\n entityId?: string,\n versionNumber?: string | number,\n ): UseQueryOptions<T, SynapseClientError> =>\n queryOptions<T, SynapseClientError>({\n queryKey: keyFactory.getEntityVersionQueryKey(entityId, versionNumber),\n queryFn: entityId\n ? () =>\n SynapseClient.getEntity<T>(\n accessToken,\n entityId,\n versionNumber?.toString(),\n )\n : skipToken,\n })\n}\n\nexport function useGetEntity<T extends Entity>(\n entityId?: string,\n versionNumber?: string | number,\n options?: Partial<UseQueryOptions<T, SynapseClientError>>,\n) {\n const getEntityQueryOptions = useGetEntityQueryOptions<T>()\n return useQuery({\n ...options,\n ...getEntityQueryOptions(entityId, versionNumber),\n })\n}\n\nexport function useGetEntities(\n entityHeaders: Pick<EntityHeader, 'id' | 'versionNumber'>[],\n options?: Partial<UseQueryOptions<Entity[], SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const queries = useMemo(\n () => ({\n queries: entityHeaders.map(header => {\n return {\n queryKey: keyFactory.getEntityVersionQueryKey(\n header.id,\n header.versionNumber,\n ),\n queryFn: () =>\n SynapseClient.getEntity(\n accessToken,\n header.id,\n header.versionNumber,\n ),\n options,\n }\n }),\n }),\n [accessToken, entityHeaders, keyFactory, options],\n )\n return useQueries(queries)\n}\n\nexport function useCreateEntity(\n options?: UseMutationOptions<\n Entity,\n SynapseClientError,\n Pick<Entity, 'name' | 'description' | 'parentId' | 'concreteType'>\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<\n Entity,\n SynapseClientError,\n Pick<Entity, 'name' | 'description' | 'parentId' | 'concreteType'>\n >({\n mutationFn: (entity: Entity) =>\n SynapseClient.createEntity(entity, accessToken),\n onSuccess: async (newEntity, variables, ctx, ...rest) => {\n const entityDataQueryKey = keyFactory.getEntityQueryKey(newEntity.id!)\n queryClient.setQueryData(entityDataQueryKey, newEntity)\n queryClient.setQueryData<EntityLookupQueryData>(\n keyFactory.getEntityLookupQueryKey({\n parentId: newEntity.parentId,\n entityName: newEntity.name,\n }),\n newEntity.id,\n )\n await invalidateAllQueriesForEntity(\n queryClient,\n keyFactory,\n newEntity.id!,\n entityDataQueryKey,\n )\n\n if (options?.onSuccess) {\n await options.onSuccess(newEntity, variables, ctx, ...rest)\n }\n },\n })\n}\n\nexport function useUpdateEntity<T extends Entity>(\n options?: Partial<UseMutationOptions<T, SynapseClientError, T>>,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<T, SynapseClientError, T>({\n ...options,\n mutationFn: (entity: T) =>\n SynapseClient.updateEntity<T>(entity, accessToken),\n onSuccess: async (updatedEntity, variables, ctx, ...rest) => {\n const entityDataQueryKey = keyFactory.getEntityQueryKey(updatedEntity.id!)\n queryClient.setQueryData(entityDataQueryKey, updatedEntity)\n await invalidateAllQueriesForEntity(\n queryClient,\n keyFactory,\n updatedEntity.id!,\n entityDataQueryKey,\n )\n\n if (options?.onSuccess) {\n await options.onSuccess(updatedEntity, variables, ctx, ...rest)\n }\n },\n })\n}\n\nexport function useDeleteEntity(\n options?: Partial<\n UseMutationOptions<string | undefined, SynapseClientError, string>\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<string | undefined, SynapseClientError, string>({\n ...options,\n mutationFn: async (entityId: string) => {\n const entity = await SynapseClient.getEntity<Entity>(\n accessToken,\n entityId,\n )\n await SynapseClient.deleteEntity(accessToken, entityId)\n return entity.parentId\n },\n onSuccess: async (parentId, entityId, ctx, ...rest) => {\n await invalidateAllQueriesForEntity(queryClient, keyFactory, entityId)\n if (parentId) {\n await invalidateAllQueriesForEntity(queryClient, keyFactory, parentId)\n }\n if (options?.onSuccess) {\n await options.onSuccess(parentId, entityId, ctx, ...rest)\n }\n },\n })\n}\n\nexport function useGetVersions(\n entityId: string,\n offset: number = 0,\n limit: number = 200,\n options?: Partial<\n UseQueryOptions<PaginatedResults<VersionInfo>, SynapseClientError>\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getPaginatedEntityVersionsQueryKey(\n entityId,\n limit,\n offset,\n ),\n queryFn: () =>\n SynapseClient.getEntityVersions(entityId, accessToken, offset, limit),\n })\n}\n\nexport function useGetVersionsInfinite<\n TData = InfiniteData<PaginatedResults<VersionInfo>>,\n>(\n entityId: string,\n options: Partial<\n UseInfiniteQueryOptions<\n PaginatedResults<VersionInfo>,\n SynapseClientError,\n TData,\n QueryKey,\n number | undefined\n >\n >,\n) {\n const LIMIT = 200\n const { accessToken, keyFactory } = useSynapseContext()\n return useInfiniteQuery<\n PaginatedResults<VersionInfo>,\n SynapseClientError,\n TData,\n QueryKey,\n number | undefined\n >({\n ...options,\n queryKey: keyFactory.getEntityVersionsQueryKey(entityId),\n queryFn: async context => {\n return await SynapseClient.getEntityVersions(\n entityId,\n accessToken,\n context.pageParam,\n LIMIT,\n )\n },\n initialPageParam: undefined,\n getNextPageParam: getNextPageParamForPaginatedResults,\n })\n}\n\nexport function getStandardEntityFields(json: EntityJson): EntityJson {\n return pick(json, entityJsonKeys[json.concreteType]) as EntityJson\n}\n\nexport function removeStandardEntityFields(\n json: EntityJson,\n): Record<\n string,\n string | number | boolean | string[] | number[] | boolean[] | undefined\n> {\n return omit(json, entityJsonKeys[json.concreteType])\n}\n\n/**\n * This hook automatically transforms the data to include these objects:\n * - `entity`: the unmodified Entity data object\n * - `entityMetadata`: the standard entity fields contained in the JSON response\n * - `annotations`: the annotations contained in the JSON response\n *\n * The union of these objects would be equal in value to the `data` object.\n */\nexport function useGetJson(\n entityId: string,\n versionNumber: number | undefined,\n includeDerivedAnnotations: boolean,\n options?: Partial<UseQueryOptions<EntityJson, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getEntityJsonQueryKey(\n entityId,\n versionNumber,\n includeDerivedAnnotations,\n ),\n queryFn: () =>\n SynapseClient.getEntityJson(\n entityId,\n versionNumber,\n includeDerivedAnnotations,\n accessToken,\n ),\n\n select: data => {\n // Separate the standard fields and annotations.\n const entityMetadata = getStandardEntityFields(data)\n\n const annotations = removeStandardEntityFields(data)\n\n return {\n entity: data,\n entityMetadata,\n annotations,\n }\n },\n })\n}\n\nexport function useUpdateViaJson(\n options?: Partial<\n UseMutationOptions<EntityJson, SynapseClientError, EntityJson>\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n return useMutation<EntityJson, SynapseClientError, EntityJson>({\n ...options,\n mutationFn: (json: EntityJson) => {\n const entityId = json.id\n return SynapseClient.updateEntityJson(entityId, json, accessToken)\n },\n onSuccess: async (data, variables, ctx, ...rest) => {\n const entityId = data.id\n // This annotation data will never include derived annotations, which are calculated by the backend asynchronously\n const entityJsonQueryKey = keyFactory.getEntityJsonQueryKey(\n entityId,\n undefined,\n false,\n )\n queryClient.setQueryData(entityJsonQueryKey, data)\n await invalidateAllQueriesForEntity(\n queryClient,\n keyFactory,\n entityId,\n entityJsonQueryKey,\n )\n\n if (options?.onSuccess) {\n await options.onSuccess(data, variables, ctx, ...rest)\n }\n },\n })\n}\n\nexport function useGetEntityPath(\n entityId: string,\n options?: Partial<UseQueryOptions<EntityPath, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getEntityPathQueryKey(entityId),\n queryFn: () => SynapseClient.getEntityPath(entityId, accessToken),\n })\n}\n\nexport function useGetEntityACL(\n entityId: string,\n options?: Partial<UseQueryOptions<AccessControlList, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getEntityPathQueryKey(entityId),\n queryFn: () => SynapseClient.getEntityACL(entityId, accessToken),\n })\n}\n\nexport function useGetEntityAlias(\n alias: string,\n options?: Partial<UseQueryOptions<EntityId | null, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getEntityAliasQueryKey(alias),\n queryFn: () => SynapseClient.getEntityAlias(alias, accessToken),\n })\n}\n\nexport function useGetEntityEvaluations(\n entityId: string,\n params?: GetEvaluationParameters,\n options?: Partial<UseQueryOptions<Evaluation[] | null, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getEntityEvaluationsQueryKey(entityId),\n queryFn: () =>\n SynapseClient.getAllEntityEvaluations(entityId, params, accessToken),\n })\n}\n\nexport function useGetEntityPermissions(\n entityId: string,\n options?: Partial<\n UseQueryOptions<UserEntityPermissions | null, SynapseClientError>\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getEntityPermissionsQueryKey(entityId),\n queryFn: () => SynapseClient.getEntityPermissions(entityId, accessToken),\n })\n}\n\nconst onMutateEntityAclSuccess = async (\n entityId: string,\n updatedACL: AccessControlList | null,\n queryClient: QueryClient,\n keyFactory: KeyFactory,\n) => {\n const entityAclQueryKey = keyFactory.getEntityACLQueryKey(entityId)\n if (updatedACL) {\n queryClient.setQueryData(entityAclQueryKey, updatedACL)\n }\n await invalidateAllQueriesForEntity(\n queryClient,\n keyFactory,\n entityId,\n entityAclQueryKey,\n )\n}\n\nexport function useCreateEntityACL(\n options?: Partial<\n UseMutationOptions<AccessControlList, SynapseClientError, AccessControlList>\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<AccessControlList, SynapseClientError, AccessControlList>({\n ...options,\n mutationFn: (acl: AccessControlList) =>\n SynapseClient.createEntityACL(acl, accessToken),\n onSuccess: async (\n updatedACL: AccessControlList,\n variables,\n ctx,\n ...rest\n ) => {\n await onMutateEntityAclSuccess(\n updatedACL.id,\n updatedACL,\n queryClient,\n keyFactory,\n )\n\n if (options?.onSuccess) {\n await options.onSuccess(updatedACL, variables, ctx, ...rest)\n }\n },\n })\n}\n\nexport function useUpdateEntityACL(\n options?: Partial<\n UseMutationOptions<AccessControlList, SynapseClientError, AccessControlList>\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<AccessControlList, SynapseClientError, AccessControlList>({\n ...options,\n mutationFn: (acl: AccessControlList) =>\n SynapseClient.updateEntityACL(acl, accessToken),\n onSuccess: async (\n updatedACL: AccessControlList,\n variables,\n ctx,\n ...rest\n ) => {\n await onMutateEntityAclSuccess(\n updatedACL.id,\n updatedACL,\n queryClient,\n keyFactory,\n )\n\n if (options?.onSuccess) {\n await options.onSuccess(updatedACL, variables, ctx, ...rest)\n }\n },\n })\n}\n\nexport function useDeleteEntityACL(\n options?: Partial<UseMutationOptions<void, SynapseClientError, string>>,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<void, SynapseClientError, string>({\n ...options,\n mutationFn: (entityId: string) =>\n SynapseClient.deleteEntityACL(entityId, accessToken),\n onSuccess: async (result: void, entityId, ctx, ...rest) => {\n await onMutateEntityAclSuccess(entityId, null, queryClient, keyFactory)\n\n if (options?.onSuccess) {\n await options.onSuccess(result, entityId, ctx, ...rest)\n }\n },\n })\n}\n\nfunction useGetEntityBenefactorACLQueryOptions(\n entityId: string,\n): UseSuspenseQueryOptions<\n EntityBundle<{ includeBenefactorACL: true }>,\n SynapseClientError,\n AccessControlList\n> {\n const selectBenefactorACL = (\n data: EntityBundle<{ includeBenefactorACL: true }>,\n ): AccessControlList => data.benefactorAcl\n return useGetEntityBundleSuspenseQueryOptions<\n { includeBenefactorACL: true },\n AccessControlList\n >(\n entityId,\n undefined,\n {\n includeBenefactorACL: true,\n },\n selectBenefactorACL,\n )\n}\n\n/**\n * Retrieve the ACL of an entity. This call will succeed even for entities where the caller\n * does not have READ permission.\n * @param entityId\n * @param options\n */\nexport function useSuspenseGetEntityBenefactorACL(\n entityId: string,\n options?: Partial<\n UseSuspenseQueryOptions<\n EntityBundle<{ includeBenefactorACL: true }>,\n SynapseClientError,\n AccessControlList\n >\n >,\n) {\n const queryOptions = useGetEntityBenefactorACLQueryOptions(entityId)\n return useSuspenseQuery({\n ...options,\n ...queryOptions,\n })\n}\n\ntype UpdateTableMutationRequest = {\n entityId: string\n originalColumnModels: ColumnModel[]\n newColumnModels: SetOptional<ColumnModel, 'id'>[]\n}\n\nexport function useUpdateTableColumns(\n options?: Partial<\n UseMutationOptions<unknown, SynapseClientError, UpdateTableMutationRequest>\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<unknown, SynapseClientError, UpdateTableMutationRequest>({\n ...options,\n mutationFn: async (request: UpdateTableMutationRequest) => {\n // This call will create new column models as appropriate\n const transactionRequest = await createTableUpdateTransactionRequest(\n accessToken!,\n request.entityId,\n request.originalColumnModels,\n request.newColumnModels,\n )\n\n return SynapseClient.updateTable(transactionRequest, accessToken)\n },\n onSuccess: async (response, variables, ctx, ...rest) => {\n await invalidateAllQueriesForEntity(\n queryClient,\n keyFactory,\n variables.entityId,\n )\n\n if (options?.onSuccess) {\n await options.onSuccess(response, variables, ctx, ...rest)\n }\n },\n })\n}\n\ntype EntityLookupQueryData = string | null\nexport function useGetEntityLookupQueryOptions() {\n const { keyFactory, synapseClient } = useSynapseContext()\n return (\n entityLookupRequest: EntityLookupRequest,\n ): UseQueryOptions<EntityLookupQueryData, SynapseClientError> =>\n queryOptions<EntityLookupQueryData, SynapseClientError>({\n queryKey: keyFactory.getEntityLookupQueryKey(entityLookupRequest),\n queryFn: async () =>\n (\n await allowNotFoundError(() =>\n synapseClient.entityServicesClient.postRepoV1EntityChild({\n entityLookupRequest: entityLookupRequest,\n }),\n )\n )?.id ?? null,\n })\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useExportToADWorkbench.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/entity/useExportToADWorkbench.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,kBAAkB,EAClB,YAAY,EACb,MAAM,iCAAiC,CAAA;AAGxC,wBAAgB,sBAAsB,CACpC,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,YAAY,EAAE,EAC9B,gBAAgB,GAAE,MAAa,EAC/B,kBAAkB,GAAE,MAAe,EACnC,qBAAqB,GAAE,MAAyB,uBAyCjD"}
1
+ {"version":3,"file":"useExportToADWorkbench.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/entity/useExportToADWorkbench.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,kBAAkB,EAClB,YAAY,EACb,MAAM,iCAAiC,CAAA;AAGxC,wBAAgB,sBAAsB,CACpC,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,YAAY,EAAE,EAC9B,gBAAgB,GAAE,MAAa,EAC/B,kBAAkB,GAAE,MAAe,EACnC,qBAAqB,GAAE,MAAyB,uBA0CjD"}
@@ -16,7 +16,8 @@ function a(a, o, s = "id", c = "name", l = "currentVersion") {
16
16
  writeHeader: !0,
17
17
  includeRowIdAndRowVersion: !1,
18
18
  csvTableDescriptor: { separator: "," },
19
- additionalFilters: a.query.additionalFilters
19
+ additionalFilters: a.query.additionalFilters,
20
+ cohorts: a.query.cohorts
20
21
  }, f = await t.createTableCsvForDownload(r, u), p = `https://adwb-ws-transfer.discover.alzheimersdata.org/?DRS_URI=${encodeURIComponent(`drs://repo-prod.prod.sagebase.org/fh${f.resultsFileHandleId}`)}`;
21
22
  window.open(p, "_blank");
22
23
  } catch (t) {