synapse-react-client 4.0.46 → 4.0.48

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 +4 -4
@@ -32,8 +32,8 @@ function c(e) {
32
32
  return n({
33
33
  ...e,
34
34
  mutationFn: (e) => r.openIDConnectServicesClient.postAuthV1Oauth2Consent({ oIDCAuthorizationRequest: e }),
35
- onSuccess: async (t, n, r) => {
36
- await o.invalidateQueries({ queryKey: a.getHasCurrentUserAuthorizedOAuthClientQueryKey(n) }), e?.onSuccess && e.onSuccess(t, n, r);
35
+ onSuccess: async (t, n, r, ...i) => {
36
+ await o.invalidateQueries({ queryKey: a.getHasCurrentUserAuthorizedOAuthClientQueryKey(n) }), e?.onSuccess && e.onSuccess(t, n, r, ...i);
37
37
  }
38
38
  });
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useOIDC.js","names":[],"sources":["../../../src/synapse-queries/auth/useOIDC.ts"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { SynapseClientError, useSynapseContext } from '@/utils'\nimport {\n type OAuthAuthorizationResponse,\n OAuthConsentGrantedResponse,\n OIDCAuthorizationRequest,\n OIDCAuthorizationRequestDescription,\n} from '@sage-bionetworks/synapse-client'\nimport { OAuthClientPublic } from '@sage-bionetworks/synapse-types'\nimport {\n useMutation,\n UseMutationOptions,\n useQuery,\n useQueryClient,\n UseQueryOptions,\n} from '@tanstack/react-query'\n\nexport function useGetOAuth2RequestDescription(\n request: OIDCAuthorizationRequest,\n options?: Partial<\n UseQueryOptions<OIDCAuthorizationRequestDescription, SynapseClientError>\n >,\n) {\n const { synapseClient } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: ['useGetOAuth2RequestDescription', request],\n queryFn: () =>\n synapseClient.openIDConnectServicesClient.postAuthV1Oauth2Description({\n oIDCAuthorizationRequest: request,\n }),\n })\n}\n\nexport function useGetOAuth2Client(\n clientId: string,\n options?: Partial<UseQueryOptions<OAuthClientPublic, SynapseClientError>>,\n) {\n const { keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getOAuthClientQueryKey(clientId),\n queryFn: () => SynapseClient.getOAuth2Client(clientId),\n })\n}\n\nexport function useGetHasUserAuthorizedOAuthClient(\n request: OIDCAuthorizationRequest,\n options?: Partial<\n UseQueryOptions<OAuthConsentGrantedResponse, SynapseClientError>\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey:\n keyFactory.getHasCurrentUserAuthorizedOAuthClientQueryKey(request),\n queryFn: () =>\n synapseClient.openIDConnectServicesClient.postAuthV1Oauth2Consentcheck({\n oIDCAuthorizationRequest: request,\n }),\n })\n}\n\nexport function useConsentToOAuth2Request(\n options?: Partial<\n UseMutationOptions<\n OAuthAuthorizationResponse,\n SynapseClientError,\n OIDCAuthorizationRequest\n >\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation<\n OAuthAuthorizationResponse,\n SynapseClientError,\n OIDCAuthorizationRequest\n >({\n ...options,\n mutationFn: request =>\n synapseClient.openIDConnectServicesClient.postAuthV1Oauth2Consent({\n oIDCAuthorizationRequest: request,\n }),\n onSuccess: async (data, request, ctx) => {\n await queryClient.invalidateQueries({\n queryKey:\n keyFactory.getHasCurrentUserAuthorizedOAuthClientQueryKey(request),\n })\n if (options?.onSuccess) {\n options.onSuccess(data, request, ctx)\n }\n },\n })\n}\n"],"mappings":";;;;;AAiBA,SAAgB,EACd,GACA,GAGA;CACA,IAAM,EAAE,qBAAkB,EAAkB;CAC5C,OAAO,EAAS;EACd,GAAG;EACH,UAAU,CAAC,kCAAkC,CAAO;EACpD,eACE,EAAc,4BAA4B,4BAA4B,EACpE,0BAA0B,EAC5B,CAAC;CACL,CAAC;AACH;AAEA,SAAgB,EACd,GACA,GACA;CACA,IAAM,EAAE,kBAAe,EAAkB;CACzC,OAAO,EAAS;EACd,GAAG;EACH,UAAU,EAAW,uBAAuB,CAAQ;EACpD,eAAe,EAAc,gBAAgB,CAAQ;CACvD,CAAC;AACH;AAEA,SAAgB,EACd,GACA,GAGA;CACA,IAAM,EAAE,kBAAe,kBAAe,EAAkB;CACxD,OAAO,EAAS;EACd,GAAG;EACH,UACE,EAAW,+CAA+C,CAAO;EACnE,eACE,EAAc,4BAA4B,6BAA6B,EACrE,0BAA0B,EAC5B,CAAC;CACL,CAAC;AACH;AAEA,SAAgB,EACd,GAOA;CACA,IAAM,EAAE,kBAAe,kBAAe,EAAkB,GAClD,IAAc,EAAe;CACnC,OAAO,EAIL;EACA,GAAG;EACH,aAAY,MACV,EAAc,4BAA4B,wBAAwB,EAChE,0BAA0B,EAC5B,CAAC;EACH,WAAW,OAAO,GAAM,GAAS,MAAQ;GAKvC,AAJA,MAAM,EAAY,kBAAkB,EAClC,UACE,EAAW,+CAA+C,CAAO,EACrE,CAAC,GACG,GAAS,aACX,EAAQ,UAAU,GAAM,GAAS,CAAG;EAExC;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"useOIDC.js","names":[],"sources":["../../../src/synapse-queries/auth/useOIDC.ts"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { SynapseClientError, useSynapseContext } from '@/utils'\nimport {\n type OAuthAuthorizationResponse,\n OAuthConsentGrantedResponse,\n OIDCAuthorizationRequest,\n OIDCAuthorizationRequestDescription,\n} from '@sage-bionetworks/synapse-client'\nimport { OAuthClientPublic } from '@sage-bionetworks/synapse-types'\nimport {\n useMutation,\n UseMutationOptions,\n useQuery,\n useQueryClient,\n UseQueryOptions,\n} from '@tanstack/react-query'\n\nexport function useGetOAuth2RequestDescription(\n request: OIDCAuthorizationRequest,\n options?: Partial<\n UseQueryOptions<OIDCAuthorizationRequestDescription, SynapseClientError>\n >,\n) {\n const { synapseClient } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: ['useGetOAuth2RequestDescription', request],\n queryFn: () =>\n synapseClient.openIDConnectServicesClient.postAuthV1Oauth2Description({\n oIDCAuthorizationRequest: request,\n }),\n })\n}\n\nexport function useGetOAuth2Client(\n clientId: string,\n options?: Partial<UseQueryOptions<OAuthClientPublic, SynapseClientError>>,\n) {\n const { keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getOAuthClientQueryKey(clientId),\n queryFn: () => SynapseClient.getOAuth2Client(clientId),\n })\n}\n\nexport function useGetHasUserAuthorizedOAuthClient(\n request: OIDCAuthorizationRequest,\n options?: Partial<\n UseQueryOptions<OAuthConsentGrantedResponse, SynapseClientError>\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey:\n keyFactory.getHasCurrentUserAuthorizedOAuthClientQueryKey(request),\n queryFn: () =>\n synapseClient.openIDConnectServicesClient.postAuthV1Oauth2Consentcheck({\n oIDCAuthorizationRequest: request,\n }),\n })\n}\n\nexport function useConsentToOAuth2Request(\n options?: Partial<\n UseMutationOptions<\n OAuthAuthorizationResponse,\n SynapseClientError,\n OIDCAuthorizationRequest\n >\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation<\n OAuthAuthorizationResponse,\n SynapseClientError,\n OIDCAuthorizationRequest\n >({\n ...options,\n mutationFn: request =>\n synapseClient.openIDConnectServicesClient.postAuthV1Oauth2Consent({\n oIDCAuthorizationRequest: request,\n }),\n onSuccess: async (data, request, ctx, ...rest) => {\n await queryClient.invalidateQueries({\n queryKey:\n keyFactory.getHasCurrentUserAuthorizedOAuthClientQueryKey(request),\n })\n if (options?.onSuccess) {\n options.onSuccess(data, request, ctx, ...rest)\n }\n },\n })\n}\n"],"mappings":";;;;;AAiBA,SAAgB,EACd,GACA,GAGA;CACA,IAAM,EAAE,qBAAkB,EAAkB;CAC5C,OAAO,EAAS;EACd,GAAG;EACH,UAAU,CAAC,kCAAkC,CAAO;EACpD,eACE,EAAc,4BAA4B,4BAA4B,EACpE,0BAA0B,EAC5B,CAAC;CACL,CAAC;AACH;AAEA,SAAgB,EACd,GACA,GACA;CACA,IAAM,EAAE,kBAAe,EAAkB;CACzC,OAAO,EAAS;EACd,GAAG;EACH,UAAU,EAAW,uBAAuB,CAAQ;EACpD,eAAe,EAAc,gBAAgB,CAAQ;CACvD,CAAC;AACH;AAEA,SAAgB,EACd,GACA,GAGA;CACA,IAAM,EAAE,kBAAe,kBAAe,EAAkB;CACxD,OAAO,EAAS;EACd,GAAG;EACH,UACE,EAAW,+CAA+C,CAAO;EACnE,eACE,EAAc,4BAA4B,6BAA6B,EACrE,0BAA0B,EAC5B,CAAC;CACL,CAAC;AACH;AAEA,SAAgB,EACd,GAOA;CACA,IAAM,EAAE,kBAAe,kBAAe,EAAkB,GAClD,IAAc,EAAe;CACnC,OAAO,EAIL;EACA,GAAG;EACH,aAAY,MACV,EAAc,4BAA4B,wBAAwB,EAChE,0BAA0B,EAC5B,CAAC;EACH,WAAW,OAAO,GAAM,GAAS,GAAK,GAAG,MAAS;GAKhD,AAJA,MAAM,EAAY,kBAAkB,EAClC,UACE,EAAW,+CAA+C,CAAO,EACrE,CAAC,GACG,GAAS,aACX,EAAQ,UAAU,GAAM,GAAS,GAAK,GAAG,CAAI;EAEjD;CACF,CAAC;AACH"}
@@ -8,8 +8,8 @@ function i(i) {
8
8
  return n({
9
9
  ...i,
10
10
  mutationFn: (e) => a.authenticationServicesClient.deleteAuthV1Oauth2Identity({ provider: e }),
11
- onSuccess: async (t, n, r) => {
12
- await s.invalidateQueries({ queryKey: o.getAllUserBundleQueryKey(e) }), i?.onSuccess && await i.onSuccess(t, n, r);
11
+ onSuccess: async (t, n, r, ...a) => {
12
+ await s.invalidateQueries({ queryKey: o.getAllUserBundleQueryKey(e) }), i?.onSuccess && await i.onSuccess(t, n, r, ...a);
13
13
  }
14
14
  });
15
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useUnbindOAuthProviderIdentity.js","names":[],"sources":["../../../src/synapse-queries/auth/useUnbindOAuthProviderIdentity.ts"],"sourcesContent":["import { SynapseClientError, useSynapseContext } from '@/utils'\nimport { OAuthProvider } from '@sage-bionetworks/synapse-client'\nimport {\n useMutation,\n UseMutationOptions,\n useQueryClient,\n} from '@tanstack/react-query'\nimport { CURRENT_USER_ID } from '../KeyFactory'\n\n/**\n * Removes the link between the current user's account and an OAuth identity provider.\n *\n * Unlike unbinding by alias, this does not require knowing the user's alias with the provider, so\n * it can be used for providers whose alias is not exposed in the user bundle (e.g. NIH RAS).\n */\nexport function useUnbindOAuthProviderIdentity(\n options?: Partial<\n UseMutationOptions<void, SynapseClientError, OAuthProvider>\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n\n return useMutation<void, SynapseClientError, OAuthProvider>({\n ...options,\n mutationFn: provider =>\n synapseClient.authenticationServicesClient.deleteAuthV1Oauth2Identity({\n provider,\n }),\n onSuccess: async (data, provider, ctx) => {\n // The bundle reports which providers are linked, so every mask of it is now stale\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getAllUserBundleQueryKey(CURRENT_USER_ID),\n })\n\n if (options?.onSuccess) {\n await options.onSuccess(data, provider, ctx)\n }\n },\n })\n}\n"],"mappings":";;;;;AAeA,SAAgB,EACd,GAGA;CACA,IAAM,EAAE,kBAAe,kBAAe,EAAkB,GAClD,IAAc,EAAe;CAEnC,OAAO,EAAqD;EAC1D,GAAG;EACH,aAAY,MACV,EAAc,6BAA6B,2BAA2B,EACpE,YACF,CAAC;EACH,WAAW,OAAO,GAAM,GAAU,MAAQ;GAMxC,AAJA,MAAM,EAAY,kBAAkB,EAClC,UAAU,EAAW,yBAAyB,CAAe,EAC/D,CAAC,GAEG,GAAS,aACX,MAAM,EAAQ,UAAU,GAAM,GAAU,CAAG;EAE/C;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"useUnbindOAuthProviderIdentity.js","names":[],"sources":["../../../src/synapse-queries/auth/useUnbindOAuthProviderIdentity.ts"],"sourcesContent":["import { SynapseClientError, useSynapseContext } from '@/utils'\nimport { OAuthProvider } from '@sage-bionetworks/synapse-client'\nimport {\n useMutation,\n UseMutationOptions,\n useQueryClient,\n} from '@tanstack/react-query'\nimport { CURRENT_USER_ID } from '../KeyFactory'\n\n/**\n * Removes the link between the current user's account and an OAuth identity provider.\n *\n * Unlike unbinding by alias, this does not require knowing the user's alias with the provider, so\n * it can be used for providers whose alias is not exposed in the user bundle (e.g. NIH RAS).\n */\nexport function useUnbindOAuthProviderIdentity(\n options?: Partial<\n UseMutationOptions<void, SynapseClientError, OAuthProvider>\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n\n return useMutation<void, SynapseClientError, OAuthProvider>({\n ...options,\n mutationFn: provider =>\n synapseClient.authenticationServicesClient.deleteAuthV1Oauth2Identity({\n provider,\n }),\n onSuccess: async (data, provider, ctx, ...rest) => {\n // The bundle reports which providers are linked, so every mask of it is now stale\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getAllUserBundleQueryKey(CURRENT_USER_ID),\n })\n\n if (options?.onSuccess) {\n await options.onSuccess(data, provider, ctx, ...rest)\n }\n },\n })\n}\n"],"mappings":";;;;;AAeA,SAAgB,EACd,GAGA;CACA,IAAM,EAAE,kBAAe,kBAAe,EAAkB,GAClD,IAAc,EAAe;CAEnC,OAAO,EAAqD;EAC1D,GAAG;EACH,aAAY,MACV,EAAc,6BAA6B,2BAA2B,EACpE,YACF,CAAC;EACH,WAAW,OAAO,GAAM,GAAU,GAAK,GAAG,MAAS;GAMjD,AAJA,MAAM,EAAY,kBAAkB,EAClC,UAAU,EAAW,yBAAyB,CAAe,EAC/D,CAAC,GAEG,GAAS,aACX,MAAM,EAAQ,UAAU,GAAM,GAAU,GAAK,GAAG,CAAI;EAExD;CACF,CAAC;AACH"}
@@ -8,8 +8,8 @@ function i(i) {
8
8
  return n({
9
9
  ...i,
10
10
  mutationFn: (t) => e.registerChallengeTeam(t, a),
11
- onSuccess: async (e, t, n) => {
12
- if (i?.onSuccess) return i.onSuccess(e, t, n);
11
+ onSuccess: async (e, t, n, ...r) => {
12
+ if (i?.onSuccess) return i.onSuccess(e, t, n, ...r);
13
13
  await s.invalidateQueries({ queryKey: o.getChallengeTeamListQueryKey(t.challengeId) });
14
14
  }
15
15
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useChallenge.js","names":[],"sources":["../../../src/synapse-queries/challenge/useChallenge.ts"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { SynapseClientError, useSynapseContext } from '@/utils'\nimport {\n ChallengeTeam,\n CreateChallengeTeamRequest,\n} from '@sage-bionetworks/synapse-types'\nimport {\n useMutation,\n UseMutationOptions,\n useQueryClient,\n} from '@tanstack/react-query'\n\nexport function useRegisterTeamForChallenge(\n options?: Partial<\n UseMutationOptions<\n ChallengeTeam,\n SynapseClientError,\n CreateChallengeTeamRequest\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n\n return useMutation<\n ChallengeTeam,\n SynapseClientError,\n CreateChallengeTeamRequest\n >({\n ...options,\n mutationFn: request =>\n SynapseClient.registerChallengeTeam(request, accessToken),\n onSuccess: async (data, request, context) => {\n if (options?.onSuccess) {\n return options.onSuccess(data, request, context)\n }\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getChallengeTeamListQueryKey(request.challengeId),\n })\n return\n },\n })\n}\n"],"mappings":";;;;;AAYA,SAAgB,EACd,GAOA;CACA,IAAM,EAAE,gBAAa,kBAAe,EAAkB,GAChD,IAAc,EAAe;CAEnC,OAAO,EAIL;EACA,GAAG;EACH,aAAY,MACV,EAAc,sBAAsB,GAAS,CAAW;EAC1D,WAAW,OAAO,GAAM,GAAS,MAAY;GAC3C,IAAI,GAAS,WACX,OAAO,EAAQ,UAAU,GAAM,GAAS,CAAO;GAEjD,MAAM,EAAY,kBAAkB,EAClC,UAAU,EAAW,6BAA6B,EAAQ,WAAW,EACvE,CAAC;EAEH;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"useChallenge.js","names":[],"sources":["../../../src/synapse-queries/challenge/useChallenge.ts"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { SynapseClientError, useSynapseContext } from '@/utils'\nimport {\n ChallengeTeam,\n CreateChallengeTeamRequest,\n} from '@sage-bionetworks/synapse-types'\nimport {\n useMutation,\n UseMutationOptions,\n useQueryClient,\n} from '@tanstack/react-query'\n\nexport function useRegisterTeamForChallenge(\n options?: Partial<\n UseMutationOptions<\n ChallengeTeam,\n SynapseClientError,\n CreateChallengeTeamRequest\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n\n return useMutation<\n ChallengeTeam,\n SynapseClientError,\n CreateChallengeTeamRequest\n >({\n ...options,\n mutationFn: request =>\n SynapseClient.registerChallengeTeam(request, accessToken),\n onSuccess: async (data, request, context, ...rest) => {\n if (options?.onSuccess) {\n return options.onSuccess(data, request, context, ...rest)\n }\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getChallengeTeamListQueryKey(request.challengeId),\n })\n return\n },\n })\n}\n"],"mappings":";;;;;AAYA,SAAgB,EACd,GAOA;CACA,IAAM,EAAE,gBAAa,kBAAe,EAAkB,GAChD,IAAc,EAAe;CAEnC,OAAO,EAIL;EACA,GAAG;EACH,aAAY,MACV,EAAc,sBAAsB,GAAS,CAAW;EAC1D,WAAW,OAAO,GAAM,GAAS,GAAS,GAAG,MAAS;GACpD,IAAI,GAAS,WACX,OAAO,EAAQ,UAAU,GAAM,GAAS,GAAS,GAAG,CAAI;GAE1D,MAAM,EAAY,kBAAkB,EAClC,UAAU,EAAW,6BAA6B,EAAQ,WAAW,EACvE,CAAC;EAEH;CACF,CAAC;AACH"}
@@ -14,11 +14,11 @@ function o(n) {
14
14
  let { accessToken: i } = t();
15
15
  return r({
16
16
  mutationFn: (t) => e.updateAgentSession(t, i),
17
- onSuccess: async (e, t, r) => {
18
- n?.onSuccess && await n.onSuccess(e, t, r);
17
+ onSuccess: async (e, t, r, ...i) => {
18
+ n?.onSuccess && await n.onSuccess(e, t, r, ...i);
19
19
  },
20
- onError: async (e, t, r) => {
21
- n?.onError && await n.onError(e, t, r);
20
+ onError: async (e, t, r, ...i) => {
21
+ n?.onError && await n.onError(e, t, r, ...i);
22
22
  }
23
23
  });
24
24
  }
@@ -27,11 +27,11 @@ function s(n, i) {
27
27
  return r({
28
28
  ...n,
29
29
  mutationFn: (t) => e.getAgentChatAsyncJobResults(t, a, i),
30
- onSuccess: (e, t, r) => {
31
- n?.onSuccess && e.responseBody && n.onSuccess(e, t, r);
30
+ onSuccess: (e, t, r, ...i) => {
31
+ n?.onSuccess && e.responseBody && n.onSuccess(e, t, r, ...i);
32
32
  },
33
- onError: (e, t, r) => {
34
- n?.onError && n.onError(e, t, r);
33
+ onError: (e, t, r, ...i) => {
34
+ n?.onError && n.onError(e, t, r, ...i);
35
35
  }
36
36
  });
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useChat.js","names":[],"sources":["../../../src/synapse-queries/chat/useChat.ts"],"sourcesContent":["/*\n * Hooks to access Chat Services in Synapse\n */\nimport SynapseClient from '@/synapse-client'\nimport { SynapseClientError, useSynapseContext } from '@/utils'\nimport {\n AgentChatRequest,\n AgentChatResponse,\n CreateAgentSessionRequest,\n AgentSession,\n} from '@sage-bionetworks/synapse-client'\nimport {\n AsynchronousJobStatus,\n SessionHistoryRequest,\n SessionHistoryResponse,\n TraceEventsRequest,\n TraceEventsResponse,\n UpdateAgentSessionRequest,\n} from '@sage-bionetworks/synapse-types'\nimport {\n InfiniteData,\n QueryKey,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useMutation,\n UseMutationOptions,\n useQuery,\n UseQueryOptions,\n} from '@tanstack/react-query'\n\nexport function useCreateAgentSession(\n options?: UseMutationOptions<\n AgentSession,\n SynapseClientError,\n CreateAgentSessionRequest\n >,\n) {\n const { synapseClient } = useSynapseContext()\n\n return useMutation<\n AgentSession,\n SynapseClientError,\n CreateAgentSessionRequest\n >({\n ...options,\n mutationFn: (request: CreateAgentSessionRequest) =>\n synapseClient.agentChatServicesClient.postRepoV1AgentSession({\n createAgentSessionRequest: request,\n }),\n })\n}\n\nexport function useUpdateAgentSession(\n options?: UseMutationOptions<\n AgentSession,\n SynapseClientError,\n UpdateAgentSessionRequest\n >,\n) {\n const { accessToken } = useSynapseContext()\n\n return useMutation<\n AgentSession,\n SynapseClientError,\n UpdateAgentSessionRequest\n >({\n mutationFn: (request: UpdateAgentSessionRequest) =>\n SynapseClient.updateAgentSession(request, accessToken),\n onSuccess: async (session, variables, ctx) => {\n if (options?.onSuccess) {\n await options.onSuccess(session, variables, ctx)\n }\n },\n onError: async (err, variables, ctx) => {\n if (options?.onError) {\n await options.onError(err, variables, ctx)\n }\n },\n })\n}\n\nexport function useSendChatMessageToAgent(\n options?: UseMutationOptions<\n AsynchronousJobStatus<AgentChatRequest, AgentChatResponse>,\n SynapseClientError,\n AgentChatRequest\n >,\n setCurrentAsyncStatus?: (\n status: AsynchronousJobStatus<AgentChatRequest, AgentChatResponse>,\n ) => void,\n) {\n const { accessToken } = useSynapseContext()\n return useMutation<\n AsynchronousJobStatus<AgentChatRequest, AgentChatResponse>,\n SynapseClientError,\n AgentChatRequest\n >({\n ...options,\n mutationFn: (request: AgentChatRequest) => {\n return SynapseClient.getAgentChatAsyncJobResults(\n request,\n accessToken,\n setCurrentAsyncStatus,\n )\n },\n onSuccess: (data, variables, ctx) => {\n if (options?.onSuccess && data.responseBody) {\n options.onSuccess(data, variables, ctx)\n }\n },\n onError: (err, variables, ctx) => {\n if (options?.onError) {\n options.onError(err, variables, ctx)\n }\n },\n })\n}\n\nexport function useGetAgentChatSessionHistoryInfinite<\n TData = InfiniteData<SessionHistoryResponse>,\n>(\n params: SessionHistoryRequest,\n options?: Partial<\n UseInfiniteQueryOptions<\n SessionHistoryResponse,\n SynapseClientError,\n TData,\n QueryKey,\n SessionHistoryResponse['nextPageToken']\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useInfiniteQuery<\n SessionHistoryResponse,\n SynapseClientError,\n TData,\n QueryKey,\n SessionHistoryResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.chatAgentSessionHistoryQueryKey(params),\n queryFn: context =>\n SynapseClient.getSessionHistory({ ...params }, accessToken),\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\nexport function useGetChatAgentTraceEvents(\n request: TraceEventsRequest,\n options?: Partial<UseQueryOptions<TraceEventsResponse, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getChatAgentTraceKey(request),\n\n queryFn: () => SynapseClient.getChatAgentTraceEvents(request, accessToken),\n })\n}\n"],"mappings":";;;;;AA8BA,SAAgB,EACd,GAKA;CACA,IAAM,EAAE,qBAAkB,EAAkB;CAE5C,OAAO,EAIL;EACA,GAAG;EACH,aAAa,MACX,EAAc,wBAAwB,uBAAuB,EAC3D,2BAA2B,EAC7B,CAAC;CACL,CAAC;AACH;AAEA,SAAgB,EACd,GAKA;CACA,IAAM,EAAE,mBAAgB,EAAkB;CAE1C,OAAO,EAIL;EACA,aAAa,MACX,EAAc,mBAAmB,GAAS,CAAW;EACvD,WAAW,OAAO,GAAS,GAAW,MAAQ;GAC5C,AAAI,GAAS,aACX,MAAM,EAAQ,UAAU,GAAS,GAAW,CAAG;EAEnD;EACA,SAAS,OAAO,GAAK,GAAW,MAAQ;GACtC,AAAI,GAAS,WACX,MAAM,EAAQ,QAAQ,GAAK,GAAW,CAAG;EAE7C;CACF,CAAC;AACH;AAEA,SAAgB,EACd,GAKA,GAGA;CACA,IAAM,EAAE,mBAAgB,EAAkB;CAC1C,OAAO,EAIL;EACA,GAAG;EACH,aAAa,MACJ,EAAc,4BACnB,GACA,GACA,CACF;EAEF,YAAY,GAAM,GAAW,MAAQ;GACnC,AAAI,GAAS,aAAa,EAAK,gBAC7B,EAAQ,UAAU,GAAM,GAAW,CAAG;EAE1C;EACA,UAAU,GAAK,GAAW,MAAQ;GAChC,AAAI,GAAS,WACX,EAAQ,QAAQ,GAAK,GAAW,CAAG;EAEvC;CACF,CAAC;AACH;AAEA,SAAgB,EAGd,GACA,GASA;CACA,IAAM,EAAE,gBAAa,kBAAe,EAAkB;CACtD,OAAO,EAML;EACA,GAAG;EACH,UAAU,EAAW,gCAAgC,CAAM;EAC3D,UAAS,MACP,EAAc,kBAAkB,EAAE,GAAG,EAAO,GAAG,CAAW;EAC5D,kBAAkB,KAAA;EAClB,mBAAkB,MAAQ,EAAK;CACjC,CAAC;AACH;AAEA,SAAgB,EACd,GACA,GACA;CACA,IAAM,EAAE,gBAAa,kBAAe,EAAkB;CACtD,OAAO,EAAS;EACd,GAAG;EACH,UAAU,EAAW,qBAAqB,CAAO;EAEjD,eAAe,EAAc,wBAAwB,GAAS,CAAW;CAC3E,CAAC;AACH"}
1
+ {"version":3,"file":"useChat.js","names":[],"sources":["../../../src/synapse-queries/chat/useChat.ts"],"sourcesContent":["/*\n * Hooks to access Chat Services in Synapse\n */\nimport SynapseClient from '@/synapse-client'\nimport { SynapseClientError, useSynapseContext } from '@/utils'\nimport {\n AgentChatRequest,\n AgentChatResponse,\n CreateAgentSessionRequest,\n AgentSession,\n} from '@sage-bionetworks/synapse-client'\nimport {\n AsynchronousJobStatus,\n SessionHistoryRequest,\n SessionHistoryResponse,\n TraceEventsRequest,\n TraceEventsResponse,\n UpdateAgentSessionRequest,\n} from '@sage-bionetworks/synapse-types'\nimport {\n InfiniteData,\n QueryKey,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useMutation,\n UseMutationOptions,\n useQuery,\n UseQueryOptions,\n} from '@tanstack/react-query'\n\nexport function useCreateAgentSession(\n options?: UseMutationOptions<\n AgentSession,\n SynapseClientError,\n CreateAgentSessionRequest\n >,\n) {\n const { synapseClient } = useSynapseContext()\n\n return useMutation<\n AgentSession,\n SynapseClientError,\n CreateAgentSessionRequest\n >({\n ...options,\n mutationFn: (request: CreateAgentSessionRequest) =>\n synapseClient.agentChatServicesClient.postRepoV1AgentSession({\n createAgentSessionRequest: request,\n }),\n })\n}\n\nexport function useUpdateAgentSession(\n options?: UseMutationOptions<\n AgentSession,\n SynapseClientError,\n UpdateAgentSessionRequest\n >,\n) {\n const { accessToken } = useSynapseContext()\n\n return useMutation<\n AgentSession,\n SynapseClientError,\n UpdateAgentSessionRequest\n >({\n mutationFn: (request: UpdateAgentSessionRequest) =>\n SynapseClient.updateAgentSession(request, accessToken),\n onSuccess: async (session, variables, ctx, ...rest) => {\n if (options?.onSuccess) {\n await options.onSuccess(session, variables, ctx, ...rest)\n }\n },\n onError: async (err, variables, ctx, ...rest) => {\n if (options?.onError) {\n await options.onError(err, variables, ctx, ...rest)\n }\n },\n })\n}\n\nexport function useSendChatMessageToAgent(\n options?: UseMutationOptions<\n AsynchronousJobStatus<AgentChatRequest, AgentChatResponse>,\n SynapseClientError,\n AgentChatRequest\n >,\n setCurrentAsyncStatus?: (\n status: AsynchronousJobStatus<AgentChatRequest, AgentChatResponse>,\n ) => void,\n) {\n const { accessToken } = useSynapseContext()\n return useMutation<\n AsynchronousJobStatus<AgentChatRequest, AgentChatResponse>,\n SynapseClientError,\n AgentChatRequest\n >({\n ...options,\n mutationFn: (request: AgentChatRequest) => {\n return SynapseClient.getAgentChatAsyncJobResults(\n request,\n accessToken,\n setCurrentAsyncStatus,\n )\n },\n onSuccess: (data, variables, ctx, ...rest) => {\n if (options?.onSuccess && data.responseBody) {\n options.onSuccess(data, variables, ctx, ...rest)\n }\n },\n onError: (err, variables, ctx, ...rest) => {\n if (options?.onError) {\n options.onError(err, variables, ctx, ...rest)\n }\n },\n })\n}\n\nexport function useGetAgentChatSessionHistoryInfinite<\n TData = InfiniteData<SessionHistoryResponse>,\n>(\n params: SessionHistoryRequest,\n options?: Partial<\n UseInfiniteQueryOptions<\n SessionHistoryResponse,\n SynapseClientError,\n TData,\n QueryKey,\n SessionHistoryResponse['nextPageToken']\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useInfiniteQuery<\n SessionHistoryResponse,\n SynapseClientError,\n TData,\n QueryKey,\n SessionHistoryResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.chatAgentSessionHistoryQueryKey(params),\n queryFn: context =>\n SynapseClient.getSessionHistory({ ...params }, accessToken),\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\nexport function useGetChatAgentTraceEvents(\n request: TraceEventsRequest,\n options?: Partial<UseQueryOptions<TraceEventsResponse, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getChatAgentTraceKey(request),\n\n queryFn: () => SynapseClient.getChatAgentTraceEvents(request, accessToken),\n })\n}\n"],"mappings":";;;;;AA8BA,SAAgB,EACd,GAKA;CACA,IAAM,EAAE,qBAAkB,EAAkB;CAE5C,OAAO,EAIL;EACA,GAAG;EACH,aAAa,MACX,EAAc,wBAAwB,uBAAuB,EAC3D,2BAA2B,EAC7B,CAAC;CACL,CAAC;AACH;AAEA,SAAgB,EACd,GAKA;CACA,IAAM,EAAE,mBAAgB,EAAkB;CAE1C,OAAO,EAIL;EACA,aAAa,MACX,EAAc,mBAAmB,GAAS,CAAW;EACvD,WAAW,OAAO,GAAS,GAAW,GAAK,GAAG,MAAS;GACrD,AAAI,GAAS,aACX,MAAM,EAAQ,UAAU,GAAS,GAAW,GAAK,GAAG,CAAI;EAE5D;EACA,SAAS,OAAO,GAAK,GAAW,GAAK,GAAG,MAAS;GAC/C,AAAI,GAAS,WACX,MAAM,EAAQ,QAAQ,GAAK,GAAW,GAAK,GAAG,CAAI;EAEtD;CACF,CAAC;AACH;AAEA,SAAgB,EACd,GAKA,GAGA;CACA,IAAM,EAAE,mBAAgB,EAAkB;CAC1C,OAAO,EAIL;EACA,GAAG;EACH,aAAa,MACJ,EAAc,4BACnB,GACA,GACA,CACF;EAEF,YAAY,GAAM,GAAW,GAAK,GAAG,MAAS;GAC5C,AAAI,GAAS,aAAa,EAAK,gBAC7B,EAAQ,UAAU,GAAM,GAAW,GAAK,GAAG,CAAI;EAEnD;EACA,UAAU,GAAK,GAAW,GAAK,GAAG,MAAS;GACzC,AAAI,GAAS,WACX,EAAQ,QAAQ,GAAK,GAAW,GAAK,GAAG,CAAI;EAEhD;CACF,CAAC;AACH;AAEA,SAAgB,EAGd,GACA,GASA;CACA,IAAM,EAAE,gBAAa,kBAAe,EAAkB;CACtD,OAAO,EAML;EACA,GAAG;EACH,UAAU,EAAW,gCAAgC,CAAM;EAC3D,UAAS,MACP,EAAc,kBAAkB,EAAE,GAAG,EAAO,GAAG,CAAW;EAC5D,kBAAkB,KAAA;EAClB,mBAAkB,MAAQ,EAAK;CACjC,CAAC;AACH;AAEA,SAAgB,EACd,GACA,GACA;CACA,IAAM,EAAE,gBAAa,kBAAe,EAAkB;CACtD,OAAO,EAAS;EACd,GAAG;EACH,UAAU,EAAW,qBAAqB,CAAO;EAEjD,eAAe,EAAc,wBAAwB,GAAS,CAAW;CAC3E,CAAC;AACH"}
@@ -8,8 +8,8 @@ function o(t) {
8
8
  return r({
9
9
  ...t,
10
10
  mutationFn: (e) => n.curationTaskServicesClient.postRepoV1CurationTask({ curationTask: e }),
11
- onSuccess: (e, n, r) => {
12
- o.invalidateQueries({ queryKey: i.getAllCurationTaskListKey() }), t?.onSuccess && t.onSuccess(e, n, r);
11
+ onSuccess: (e, n, r, ...a) => {
12
+ o.invalidateQueries({ queryKey: i.getAllCurationTaskListKey() }), t?.onSuccess && t.onSuccess(e, n, r, ...a);
13
13
  }
14
14
  });
15
15
  }
@@ -37,8 +37,8 @@ function l(t) {
37
37
  taskId: e.taskId,
38
38
  curationTask: e
39
39
  }),
40
- onSuccess: (e, n, r) => {
41
- o.invalidateQueries({ queryKey: i.getCurationTaskIdKey(n.taskId) }), o.invalidateQueries({ queryKey: i.getAllCurationTaskListKey() }), t?.onSuccess && t.onSuccess(e, n, r);
40
+ onSuccess: (e, n, r, ...a) => {
41
+ o.invalidateQueries({ queryKey: i.getCurationTaskIdKey(n.taskId) }), o.invalidateQueries({ queryKey: i.getAllCurationTaskListKey() }), t?.onSuccess && t.onSuccess(e, n, r, ...a);
42
42
  }
43
43
  });
44
44
  }
@@ -50,8 +50,8 @@ function u(t) {
50
50
  taskId: e.taskId,
51
51
  taskStatus: e
52
52
  }),
53
- onSuccess: (e, n, r) => {
54
- o.invalidateQueries({ queryKey: i.getCurationTaskIdKey(n.taskId) }), o.invalidateQueries({ queryKey: i.getAllCurationTaskListKey() }), t?.onSuccess && t.onSuccess(e, n, r);
53
+ onSuccess: (e, n, r, ...a) => {
54
+ o.invalidateQueries({ queryKey: i.getCurationTaskIdKey(n.taskId) }), o.invalidateQueries({ queryKey: i.getAllCurationTaskListKey() }), t?.onSuccess && t.onSuccess(e, n, r, ...a);
55
55
  }
56
56
  });
57
57
  }
@@ -60,8 +60,8 @@ function d(t) {
60
60
  return r({
61
61
  ...t,
62
62
  mutationFn: (e) => n.curationTaskServicesClient.deleteRepoV1CurationTaskTaskId({ taskId: e }),
63
- onSuccess: (e, n, r) => {
64
- o.invalidateQueries({ queryKey: i.getCurationTaskIdKey(n) }), o.invalidateQueries({ queryKey: i.getAllCurationTaskListKey() }), t?.onSuccess && t.onSuccess(e, n, r);
63
+ onSuccess: (e, n, r, ...a) => {
64
+ o.invalidateQueries({ queryKey: i.getCurationTaskIdKey(n) }), o.invalidateQueries({ queryKey: i.getAllCurationTaskListKey() }), t?.onSuccess && t.onSuccess(e, n, r, ...a);
65
65
  }
66
66
  });
67
67
  }
@@ -73,8 +73,8 @@ function f(n) {
73
73
  let n = await i.curationTaskServicesClient.postRepoV1CurationTaskTaskIdExecuteAsyncStart({ taskId: e });
74
74
  return (await t(() => i.asynchronousJobServicesClient.getRepoV1AsynchronousJobJobId({ jobId: n.token }))).responseBody;
75
75
  },
76
- onSuccess: (e, t, r) => {
77
- s.invalidateQueries({ queryKey: o.getCurationTaskIdKey(t) }), s.invalidateQueries({ queryKey: o.getAllCurationTaskListKey() }), n?.onSuccess && n.onSuccess(e, t, r);
76
+ onSuccess: (e, t, r, ...i) => {
77
+ s.invalidateQueries({ queryKey: o.getCurationTaskIdKey(t) }), s.invalidateQueries({ queryKey: o.getAllCurationTaskListKey() }), n?.onSuccess && n.onSuccess(e, t, r, ...i);
78
78
  }
79
79
  });
80
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useCurationTask.js","names":[],"sources":["../../../../src/synapse-queries/curation/task/useCurationTask.ts"],"sourcesContent":["import { useSynapseContext } from '@/utils/index'\nimport {\n ComputeTaskExecutionResponse,\n CurationTask,\n ListCurationTaskRequest,\n ListCurationTaskResponse,\n SynapseClientError,\n TaskStatus,\n waitForAsyncResult,\n} from '@sage-bionetworks/synapse-client'\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 useCreateCurationTask(\n options?: Partial<\n UseMutationOptions<CurationTask, SynapseClientError, CurationTask>\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: curationTask =>\n synapseClient.curationTaskServicesClient.postRepoV1CurationTask({\n curationTask,\n }),\n onSuccess: (data, variables, context) => {\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAllCurationTaskListKey(),\n })\n if (options?.onSuccess) {\n options.onSuccess(data, variables, context)\n }\n },\n })\n}\n\nexport function useGetCurationTask<TData = CurationTask>(\n taskId: number,\n options?: Partial<UseQueryOptions<CurationTask, SynapseClientError, TData>>,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getCurationTaskIdTaskKey(taskId),\n queryFn: async () => {\n return synapseClient.curationTaskServicesClient.getRepoV1CurationTaskTaskId(\n { taskId },\n )\n },\n })\n}\n\nexport function useGetCurationTaskStatus<TData = TaskStatus>(\n taskId: number,\n options?: Partial<UseQueryOptions<TaskStatus, SynapseClientError, TData>>,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getCurationTaskIdStatusKey(taskId),\n queryFn: () =>\n synapseClient.curationTaskServicesClient.getRepoV1CurationTaskTaskIdStatus(\n { taskId },\n ),\n })\n}\n\nexport function useUpdateCurationTask(\n options?: Partial<\n UseMutationOptions<CurationTask, SynapseClientError, CurationTask>\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: curationTask =>\n synapseClient.curationTaskServicesClient.putRepoV1CurationTaskTaskId({\n taskId: curationTask.taskId!,\n curationTask,\n }),\n onSuccess: (data, variables, context) => {\n // Invalidate both the status query and the task query using the ID key\n queryClient.invalidateQueries({\n queryKey: keyFactory.getCurationTaskIdKey(variables.taskId!),\n })\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAllCurationTaskListKey(),\n })\n if (options?.onSuccess) {\n options.onSuccess(data, variables, context)\n }\n },\n })\n}\n\nexport function useUpdateCurationTaskStatus(\n options?: Partial<\n UseMutationOptions<TaskStatus, SynapseClientError, TaskStatus>\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: taskStatus =>\n synapseClient.curationTaskServicesClient.putRepoV1CurationTaskTaskIdStatus(\n { taskId: taskStatus.taskId!, taskStatus },\n ),\n onSuccess: (data, variables, context) => {\n queryClient.invalidateQueries({\n queryKey: keyFactory.getCurationTaskIdKey(variables.taskId!),\n })\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAllCurationTaskListKey(),\n })\n\n if (options?.onSuccess) {\n options.onSuccess(data, variables, context)\n }\n },\n })\n}\n\nexport function useDeleteCurationTask(\n options?: Partial<UseMutationOptions<void, SynapseClientError, number>>,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: (taskId: number) =>\n synapseClient.curationTaskServicesClient.deleteRepoV1CurationTaskTaskId({\n taskId,\n }),\n onSuccess: (data, taskId, context) => {\n queryClient.invalidateQueries({\n queryKey: keyFactory.getCurationTaskIdKey(taskId),\n })\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAllCurationTaskListKey(),\n })\n if (options?.onSuccess) {\n options.onSuccess(data, taskId, context)\n }\n },\n })\n}\n\n/**\n * Starts an executable curation task (e.g. sample sheet or record set generation) and awaits its\n * completion. Polls the generic asynchronous job endpoint so that in-progress and failed states are\n * surfaced. On success, invalidates the task's queries and the task list so the dashboard reflects\n * the new status.\n */\nexport function useExecuteCurationTask(\n options?: Partial<\n UseMutationOptions<ComputeTaskExecutionResponse, SynapseClientError, number>\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: async (taskId: number) => {\n const asyncJobId =\n await synapseClient.curationTaskServicesClient.postRepoV1CurationTaskTaskIdExecuteAsyncStart(\n { taskId },\n )\n const asyncJobResponse = await waitForAsyncResult(() =>\n synapseClient.asynchronousJobServicesClient.getRepoV1AsynchronousJobJobId(\n { jobId: asyncJobId.token! },\n ),\n )\n return asyncJobResponse.responseBody as ComputeTaskExecutionResponse\n },\n onSuccess: (data, taskId, context) => {\n queryClient.invalidateQueries({\n queryKey: keyFactory.getCurationTaskIdKey(taskId),\n })\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAllCurationTaskListKey(),\n })\n if (options?.onSuccess) {\n options.onSuccess(data, taskId, context)\n }\n },\n })\n}\n\nexport function useGetCurationTasksInfinite<\n TData = InfiniteData<ListCurationTaskResponse>,\n>(\n request: ListCurationTaskRequest,\n options?: Partial<\n UseInfiniteQueryOptions<\n ListCurationTaskResponse,\n SynapseClientError,\n TData,\n QueryKey,\n ListCurationTaskResponse['nextPageToken']\n >\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n\n return useInfiniteQuery<\n ListCurationTaskResponse,\n SynapseClientError,\n TData,\n QueryKey,\n ListCurationTaskResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.getCurationTaskListKey(request),\n queryFn: context =>\n synapseClient.curationTaskServicesClient.postRepoV1CurationTaskList({\n listCurationTaskRequest: {\n ...request,\n nextPageToken: context.pageParam,\n },\n }),\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useCurationTask.js","names":[],"sources":["../../../../src/synapse-queries/curation/task/useCurationTask.ts"],"sourcesContent":["import { useSynapseContext } from '@/utils/index'\nimport {\n ComputeTaskExecutionResponse,\n CurationTask,\n ListCurationTaskRequest,\n ListCurationTaskResponse,\n SynapseClientError,\n TaskStatus,\n waitForAsyncResult,\n} from '@sage-bionetworks/synapse-client'\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 useCreateCurationTask(\n options?: Partial<\n UseMutationOptions<CurationTask, SynapseClientError, CurationTask>\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: curationTask =>\n synapseClient.curationTaskServicesClient.postRepoV1CurationTask({\n curationTask,\n }),\n onSuccess: (data, variables, context, ...rest) => {\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAllCurationTaskListKey(),\n })\n if (options?.onSuccess) {\n options.onSuccess(data, variables, context, ...rest)\n }\n },\n })\n}\n\nexport function useGetCurationTask<TData = CurationTask>(\n taskId: number,\n options?: Partial<UseQueryOptions<CurationTask, SynapseClientError, TData>>,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getCurationTaskIdTaskKey(taskId),\n queryFn: async () => {\n return synapseClient.curationTaskServicesClient.getRepoV1CurationTaskTaskId(\n { taskId },\n )\n },\n })\n}\n\nexport function useGetCurationTaskStatus<TData = TaskStatus>(\n taskId: number,\n options?: Partial<UseQueryOptions<TaskStatus, SynapseClientError, TData>>,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getCurationTaskIdStatusKey(taskId),\n queryFn: () =>\n synapseClient.curationTaskServicesClient.getRepoV1CurationTaskTaskIdStatus(\n { taskId },\n ),\n })\n}\n\nexport function useUpdateCurationTask(\n options?: Partial<\n UseMutationOptions<CurationTask, SynapseClientError, CurationTask>\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: curationTask =>\n synapseClient.curationTaskServicesClient.putRepoV1CurationTaskTaskId({\n taskId: curationTask.taskId!,\n curationTask,\n }),\n onSuccess: (data, variables, context, ...rest) => {\n // Invalidate both the status query and the task query using the ID key\n queryClient.invalidateQueries({\n queryKey: keyFactory.getCurationTaskIdKey(variables.taskId!),\n })\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAllCurationTaskListKey(),\n })\n if (options?.onSuccess) {\n options.onSuccess(data, variables, context, ...rest)\n }\n },\n })\n}\n\nexport function useUpdateCurationTaskStatus(\n options?: Partial<\n UseMutationOptions<TaskStatus, SynapseClientError, TaskStatus>\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: taskStatus =>\n synapseClient.curationTaskServicesClient.putRepoV1CurationTaskTaskIdStatus(\n { taskId: taskStatus.taskId!, taskStatus },\n ),\n onSuccess: (data, variables, context, ...rest) => {\n queryClient.invalidateQueries({\n queryKey: keyFactory.getCurationTaskIdKey(variables.taskId!),\n })\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAllCurationTaskListKey(),\n })\n\n if (options?.onSuccess) {\n options.onSuccess(data, variables, context, ...rest)\n }\n },\n })\n}\n\nexport function useDeleteCurationTask(\n options?: Partial<UseMutationOptions<void, SynapseClientError, number>>,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: (taskId: number) =>\n synapseClient.curationTaskServicesClient.deleteRepoV1CurationTaskTaskId({\n taskId,\n }),\n onSuccess: (data, taskId, context, ...rest) => {\n queryClient.invalidateQueries({\n queryKey: keyFactory.getCurationTaskIdKey(taskId),\n })\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAllCurationTaskListKey(),\n })\n if (options?.onSuccess) {\n options.onSuccess(data, taskId, context, ...rest)\n }\n },\n })\n}\n\n/**\n * Starts an executable curation task (e.g. sample sheet or record set generation) and awaits its\n * completion. Polls the generic asynchronous job endpoint so that in-progress and failed states are\n * surfaced. On success, invalidates the task's queries and the task list so the dashboard reflects\n * the new status.\n */\nexport function useExecuteCurationTask(\n options?: Partial<\n UseMutationOptions<ComputeTaskExecutionResponse, SynapseClientError, number>\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: async (taskId: number) => {\n const asyncJobId =\n await synapseClient.curationTaskServicesClient.postRepoV1CurationTaskTaskIdExecuteAsyncStart(\n { taskId },\n )\n const asyncJobResponse = await waitForAsyncResult(() =>\n synapseClient.asynchronousJobServicesClient.getRepoV1AsynchronousJobJobId(\n { jobId: asyncJobId.token! },\n ),\n )\n return asyncJobResponse.responseBody as ComputeTaskExecutionResponse\n },\n onSuccess: (data, taskId, context, ...rest) => {\n queryClient.invalidateQueries({\n queryKey: keyFactory.getCurationTaskIdKey(taskId),\n })\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAllCurationTaskListKey(),\n })\n if (options?.onSuccess) {\n options.onSuccess(data, taskId, context, ...rest)\n }\n },\n })\n}\n\nexport function useGetCurationTasksInfinite<\n TData = InfiniteData<ListCurationTaskResponse>,\n>(\n request: ListCurationTaskRequest,\n options?: Partial<\n UseInfiniteQueryOptions<\n ListCurationTaskResponse,\n SynapseClientError,\n TData,\n QueryKey,\n ListCurationTaskResponse['nextPageToken']\n >\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n\n return useInfiniteQuery<\n ListCurationTaskResponse,\n SynapseClientError,\n TData,\n QueryKey,\n ListCurationTaskResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.getCurationTaskListKey(request),\n queryFn: context =>\n synapseClient.curationTaskServicesClient.postRepoV1CurationTaskList({\n listCurationTaskRequest: {\n ...request,\n nextPageToken: context.pageParam,\n },\n }),\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n"],"mappings":"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"}
@@ -43,9 +43,9 @@ function v(t) {
43
43
  return u({
44
44
  ...t,
45
45
  mutationFn: (t) => e(r, t),
46
- onSuccess: async (e, r, a) => {
47
- let o = i.getAccessRequirementQueryKey(e.id.toString());
48
- if (n.setQueryData(o, e), t?.onSuccess) return await t.onSuccess(e, r, a);
46
+ onSuccess: async (e, r, a, ...o) => {
47
+ let s = i.getAccessRequirementQueryKey(e.id.toString());
48
+ if (n.setQueryData(s, e), t?.onSuccess) return await t.onSuccess(e, r, a, ...o);
49
49
  }
50
50
  });
51
51
  }
@@ -54,9 +54,9 @@ function y(e) {
54
54
  return u({
55
55
  ...e,
56
56
  mutationFn: (e) => r(n, e),
57
- onSuccess: async (n, r, a) => {
58
- let o = i.getAccessRequirementQueryKey(n.id.toString());
59
- if (t.setQueryData(o, n), e?.onSuccess) return await e.onSuccess(n, r, a);
57
+ onSuccess: async (n, r, a, ...o) => {
58
+ let s = i.getAccessRequirementQueryKey(n.id.toString());
59
+ if (t.setQueryData(s, n), e?.onSuccess) return await e.onSuccess(n, r, a, ...o);
60
60
  }
61
61
  });
62
62
  }
@@ -73,8 +73,8 @@ function x(e) {
73
73
  return u({
74
74
  ...e,
75
75
  mutationFn: (e) => n(r, e),
76
- onSuccess: async (n, r, a) => {
77
- await t.invalidateQueries({ queryKey: i.getAccessRequirementAclQueryKey(r) }), e?.onSuccess && await e.onSuccess(n, r, a);
76
+ onSuccess: async (n, r, a, ...o) => {
77
+ await t.invalidateQueries({ queryKey: i.getAccessRequirementAclQueryKey(r) }), e?.onSuccess && await e.onSuccess(n, r, a, ...o);
78
78
  }
79
79
  });
80
80
  }
@@ -83,9 +83,9 @@ function S(e) {
83
83
  return u({
84
84
  ...e,
85
85
  mutationFn: (e) => t(r, e),
86
- onSuccess: async (t, r, a) => {
87
- let o = i.getAccessRequirementAclQueryKey(t.id);
88
- if (n.setQueryData(o, t), e?.onSuccess) return await e.onSuccess(t, r, a);
86
+ onSuccess: async (t, r, a, ...o) => {
87
+ let s = i.getAccessRequirementAclQueryKey(t.id);
88
+ if (n.setQueryData(s, t), e?.onSuccess) return await e.onSuccess(t, r, a, ...o);
89
89
  }
90
90
  });
91
91
  }
@@ -94,9 +94,9 @@ function C(e) {
94
94
  return u({
95
95
  ...e,
96
96
  mutationFn: (e) => i(n, e),
97
- onSuccess: async (n, i, a) => {
98
- let o = r.getAccessRequirementAclQueryKey(n.id);
99
- if (t.setQueryData(o, n), e?.onSuccess) return await e.onSuccess(n, i, a);
97
+ onSuccess: async (n, i, a, ...o) => {
98
+ let s = r.getAccessRequirementAclQueryKey(n.id);
99
+ if (t.setQueryData(s, n), e?.onSuccess) return await e.onSuccess(n, i, a, ...o);
100
100
  }
101
101
  });
102
102
  }
@@ -119,12 +119,12 @@ function T(e) {
119
119
  ...e,
120
120
  mutationFn: (e) => a.createLockAccessRequirement(e, t),
121
121
  mutationKey: ["createLockAccessRequirement"],
122
- onSuccess: async (t, i, a) => {
122
+ onSuccess: async (t, i, a, ...o) => {
123
123
  if (await Promise.all([
124
124
  n.invalidateQueries({ queryKey: r.getAccessRequirementQueryKey() }),
125
125
  n.invalidateQueries({ queryKey: r.getAllEntityDataQueryKey() }),
126
126
  ...s(r).map((e) => n.invalidateQueries(e))
127
- ]), e?.onSuccess) return e.onSuccess(t, i, a);
127
+ ]), e?.onSuccess) return e.onSuccess(t, i, a, ...o);
128
128
  }
129
129
  });
130
130
  }
@@ -166,8 +166,8 @@ function j(e) {
166
166
  return u({
167
167
  ...e,
168
168
  mutationFn: (e) => a.updateResearchProject(e, t),
169
- onSuccess: async (t, i, a) => {
170
- if (await n.invalidateQueries({ queryKey: r.getAccessRequirementResearchProjectQueryKey(t.accessRequirementId) }), e?.onSuccess) return e.onSuccess(t, i, a);
169
+ onSuccess: async (t, i, a, ...o) => {
170
+ if (await n.invalidateQueries({ queryKey: r.getAccessRequirementResearchProjectQueryKey(t.accessRequirementId) }), e?.onSuccess) return e.onSuccess(t, i, a, ...o);
171
171
  }
172
172
  });
173
173
  }
@@ -184,11 +184,11 @@ function N(e) {
184
184
  return u({
185
185
  ...e,
186
186
  mutationFn: (e) => a.updateDataAccessRequest(e, t),
187
- onSuccess: async (t, i, a) => {
187
+ onSuccess: async (t, i, a, ...o) => {
188
188
  if (await Promise.all([n.invalidateQueries({ queryKey: r.getDataAccessRequestForUpdateQueryKey(t.accessRequirementId) }), n.invalidateQueries({
189
189
  queryKey: r.getDataAccessRequestPreviewQueryKey(t.id),
190
190
  refetchType: "none"
191
- })]), e?.onSuccess) return e.onSuccess(t, i, a);
191
+ })]), e?.onSuccess) return e.onSuccess(t, i, a, ...o);
192
192
  }
193
193
  });
194
194
  }
@@ -197,8 +197,8 @@ function P(e) {
197
197
  return u({
198
198
  ...e,
199
199
  mutationFn: (e) => a.createAccessApproval(t, e),
200
- onSuccess: async (t, i, a) => {
201
- if (await Promise.all([n.invalidateQueries({ queryKey: r.getAccessRequirementStatusQueryKey(String(i.requirementId)) }), ...s(r).map((e) => n.invalidateQueries(e))]), e?.onSuccess) return e.onSuccess(t, i, a);
200
+ onSuccess: async (t, i, a, ...o) => {
201
+ if (await Promise.all([n.invalidateQueries({ queryKey: r.getAccessRequirementStatusQueryKey(String(i.requirementId)) }), ...s(r).map((e) => n.invalidateQueries(e))]), e?.onSuccess) return e.onSuccess(t, i, a, ...o);
202
202
  }
203
203
  });
204
204
  }
@@ -207,8 +207,8 @@ function F(e) {
207
207
  return u({
208
208
  ...e,
209
209
  mutationFn: (e) => a.cancelDataAccessRequest(e.submissionId, t),
210
- onSuccess: async (t, i, a) => {
211
- if (await Promise.all([n.invalidateQueries({ queryKey: r.getDataAccessSubmissionQueryKey() }), n.invalidateQueries({ queryKey: r.getAccessRequirementStatusQueryKey(String(i.accessRequirementId)) })]), e?.onSuccess) return e.onSuccess(t, i, a);
210
+ onSuccess: async (t, i, a, ...o) => {
211
+ if (await Promise.all([n.invalidateQueries({ queryKey: r.getDataAccessSubmissionQueryKey() }), n.invalidateQueries({ queryKey: r.getAccessRequirementStatusQueryKey(String(i.accessRequirementId)) })]), e?.onSuccess) return e.onSuccess(t, i, a, ...o);
212
212
  }
213
213
  });
214
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useAccessRequirements.js","names":[],"sources":["../../../src/synapse-queries/dataaccess/useAccessRequirements.ts"],"sourcesContent":["import { sortAccessRequirementsByCompletion } from '@/components/AccessRequirementList/AccessRequirementListUtils'\nimport SynapseClient, {\n createAccessRequirement,\n createAccessRequirementAcl,\n deleteAccessRequirementAcl,\n updateAccessRequirement,\n updateAccessRequirementAcl,\n} from '@/synapse-client'\nimport { SynapseClientError, useSynapseContext } from '@/utils'\nimport {\n AccessApproval,\n AccessControlList,\n AccessRequirement,\n AccessRequirementSearchRequest,\n AccessRequirementSearchResponse,\n AccessRequirementStatus,\n ACTSubmissionStatus,\n CreateAccessApprovalRequest,\n ManagedACTAccessRequirementStatus,\n Renewal,\n Request,\n ResearchProject,\n WikiPageKey,\n} from '@sage-bionetworks/synapse-types'\nimport {\n InfiniteData,\n QueryKey,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useMutation,\n UseMutationOptions,\n useQueries,\n useQuery,\n useQueryClient,\n UseQueryOptions,\n} from '@tanstack/react-query'\nimport { KeyFactory } from '../KeyFactory'\nimport { getAllActionsRequiredQueryFilters } from '../QueryFilterUtils'\n\nexport function useGetAccessRequirements<T extends AccessRequirement>(\n accessRequirementId: string | number,\n options?: Partial<UseQueryOptions<T, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getAccessRequirementQueryKey(\n String(accessRequirementId),\n ),\n queryFn: () =>\n SynapseClient.getAccessRequirementById<T>(\n accessToken,\n accessRequirementId,\n ),\n })\n}\n\nexport function useGetAccessRequirementsForEntity(\n entityId: string,\n options?: Partial<UseQueryOptions<AccessRequirement[], SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getEntityAccessRequirementsQueryKey(entityId),\n queryFn: () =>\n SynapseClient.getAllAccessRequirements(accessToken, entityId),\n })\n}\n\nexport function useGetAccessRequirementsForTeam(\n teamId: string,\n options?: Partial<UseQueryOptions<AccessRequirement[], SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getTeamAccessRequirementsQueryKey(teamId),\n queryFn: () => SynapseClient.getTeamAccessRequirements(accessToken, teamId),\n })\n}\n\nexport function useGetAccessRequirementWikiPageKey(\n accessRequirementId: string,\n options?: Partial<UseQueryOptions<WikiPageKey, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getAccessRequirementWikiPageKey(accessRequirementId),\n\n queryFn: () =>\n SynapseClient.getWikiPageKeyForAccessRequirement(\n accessToken,\n accessRequirementId,\n ),\n })\n}\n\nexport function useCreateAccessRequirement<T extends AccessRequirement>(\n options?: UseMutationOptions<T, SynapseClientError, Partial<T>>,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<T, SynapseClientError, Partial<T>>({\n ...options,\n mutationFn: ar => createAccessRequirement<T>(accessToken, ar),\n onSuccess: async (newAr, ar, ctx) => {\n const accessRequirementQueryKey = keyFactory.getAccessRequirementQueryKey(\n newAr.id.toString(),\n )\n queryClient.setQueryData(accessRequirementQueryKey, newAr)\n\n if (options?.onSuccess) {\n return await options.onSuccess(newAr, ar, ctx)\n }\n return\n },\n })\n}\n\nexport function useUpdateAccessRequirement<T extends AccessRequirement>(\n options?: UseMutationOptions<T, SynapseClientError, T>,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n return useMutation<T, SynapseClientError, T>({\n ...options,\n mutationFn: ar => updateAccessRequirement<T>(accessToken, ar),\n onSuccess: async (newAr, ar, ctx) => {\n const accessRequirementQueryKey = keyFactory.getAccessRequirementQueryKey(\n newAr.id.toString(),\n )\n queryClient.setQueryData(accessRequirementQueryKey, newAr)\n\n if (options?.onSuccess) {\n return await options.onSuccess(newAr, ar, ctx)\n }\n return\n },\n })\n}\n\nexport function useGetAccessRequirementACL(\n accessRequirementId: string,\n options?: Partial<\n UseQueryOptions<AccessControlList | null, SynapseClientError>\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getAccessRequirementAclQueryKey(accessRequirementId),\n\n queryFn: () =>\n SynapseClient.getAccessRequirementAcl(accessToken, accessRequirementId),\n })\n}\n\nexport function useDeleteAccessRequirementACL(\n options?: 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: accessRequirementId =>\n deleteAccessRequirementAcl(accessToken, accessRequirementId),\n onSuccess: async (data, accessRequirementId, ctx) => {\n await queryClient.invalidateQueries({\n queryKey:\n keyFactory.getAccessRequirementAclQueryKey(accessRequirementId),\n })\n if (options?.onSuccess) {\n await options.onSuccess(data, accessRequirementId, ctx)\n }\n },\n })\n}\n\nexport function useCreateAccessRequirementACL(\n options?: UseMutationOptions<\n AccessControlList,\n SynapseClientError,\n AccessControlList\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<AccessControlList, SynapseClientError, AccessControlList>({\n ...options,\n mutationFn: acl => createAccessRequirementAcl(accessToken, acl),\n onSuccess: async (newAcl, acl, ctx) => {\n const accessRequirementAclQueryKey =\n keyFactory.getAccessRequirementAclQueryKey(newAcl.id)\n queryClient.setQueryData(accessRequirementAclQueryKey, newAcl)\n\n if (options?.onSuccess) {\n return await options.onSuccess(newAcl, acl, ctx)\n }\n return\n },\n })\n}\n\nexport function useUpdateAccessRequirementACL(\n options?: UseMutationOptions<\n AccessControlList,\n SynapseClientError,\n AccessControlList\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<AccessControlList, SynapseClientError, AccessControlList>({\n ...options,\n mutationFn: acl => updateAccessRequirementAcl(accessToken, acl),\n onSuccess: async (newAcl, acl, ctx) => {\n const accessRequirementAclQueryKey =\n keyFactory.getAccessRequirementAclQueryKey(newAcl.id)\n queryClient.setQueryData(accessRequirementAclQueryKey, newAcl)\n\n if (options?.onSuccess) {\n return await options.onSuccess(newAcl, acl, ctx)\n }\n return\n },\n })\n}\n\nexport function useSearchAccessRequirementsInfinite<\n TData = InfiniteData<AccessRequirementSearchResponse>,\n>(\n params: Omit<AccessRequirementSearchRequest, 'nextPageToken'>,\n options?: UseInfiniteQueryOptions<\n AccessRequirementSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n AccessRequirementSearchResponse['nextPageToken']\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useInfiniteQuery<\n AccessRequirementSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n AccessRequirementSearchResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.searchAccessRequirementsQueryKey(params),\n queryFn: async context => {\n return await SynapseClient.searchAccessRequirements(accessToken, {\n ...params,\n nextPageToken: context.pageParam,\n })\n },\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\nexport function useCreateLockAccessRequirement(\n options?: Partial<\n UseMutationOptions<AccessRequirement, SynapseClientError, string>\n >,\n) {\n const { accessToken } = useSynapseContext()\n const queryClient = useQueryClient()\n const { keyFactory } = useSynapseContext()\n\n return useMutation<AccessRequirement, SynapseClientError, string>({\n ...options,\n mutationFn: (entityId: string) =>\n SynapseClient.createLockAccessRequirement(entityId, accessToken),\n mutationKey: ['createLockAccessRequirement'],\n onSuccess: async (data, variables, ctx) => {\n await Promise.all([\n // Invalidate all access requirement queries\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAccessRequirementQueryKey(),\n }),\n // Invalidate all entity queries (not just the current entity because the new AR may apply to this entity's children)\n // this also invalidates entity actions required\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAllEntityDataQueryKey(),\n }),\n ...getAllActionsRequiredQueryFilters(keyFactory).map(filter =>\n queryClient.invalidateQueries(filter),\n ),\n ])\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx)\n }\n return\n },\n })\n}\n\nfunction getAccessRequirementStatusQueryOptions<\n T extends AccessRequirementStatus | ManagedACTAccessRequirementStatus =\n AccessRequirementStatus,\n>(\n keyFactory: KeyFactory,\n accessToken: string,\n accessRequirementId: string,\n): UseQueryOptions<T, SynapseClientError> {\n return {\n queryKey:\n keyFactory.getAccessRequirementStatusQueryKey(accessRequirementId),\n queryFn: () =>\n SynapseClient.getAccessRequirementStatus<T>(\n accessToken,\n accessRequirementId,\n ),\n }\n}\n\nexport function useGetAccessRequirementStatus<\n T extends AccessRequirementStatus | ManagedACTAccessRequirementStatus =\n AccessRequirementStatus,\n>(\n accessRequirementId: string,\n options?: Partial<UseQueryOptions<T, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useQuery({\n ...options,\n ...getAccessRequirementStatusQueryOptions<T>(\n keyFactory,\n accessToken!,\n accessRequirementId,\n ),\n })\n}\n\nexport function useGetAccessRequirementStatuses<\n T extends AccessRequirementStatus | ManagedACTAccessRequirementStatus =\n AccessRequirementStatus,\n>(accessRequirementIds: string[]) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useQueries({\n queries: accessRequirementIds.map(id =>\n getAccessRequirementStatusQueryOptions<T>(keyFactory, accessToken!, id),\n ),\n })\n}\n\nexport function useSortAccessRequirementIdsByCompletion(\n accessRequirementIds: string[],\n options?: Partial<UseQueryOptions<string[], SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey:\n keyFactory.getSortedAccessRequirementsAndStatusQueryKey(\n accessRequirementIds,\n ),\n\n queryFn: () =>\n sortAccessRequirementsByCompletion(accessToken, accessRequirementIds),\n })\n}\n\nexport function useGetResearchProject(\n accessRequirementId: string,\n options?: Partial<UseQueryOptions<ResearchProject, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey:\n keyFactory.getAccessRequirementResearchProjectQueryKey(\n accessRequirementId,\n ),\n queryFn: () =>\n SynapseClient.getResearchProject(accessRequirementId, accessToken!),\n })\n}\n\nexport function useUpdateResearchProject(\n options?: Partial<\n UseMutationOptions<ResearchProject, SynapseClientError, ResearchProject>\n >,\n) {\n const { accessToken } = useSynapseContext()\n const queryClient = useQueryClient()\n const { keyFactory } = useSynapseContext()\n\n return useMutation<ResearchProject, SynapseClientError, ResearchProject>({\n ...options,\n mutationFn: (researchProject: ResearchProject) =>\n SynapseClient.updateResearchProject(researchProject, accessToken!),\n onSuccess: async (data, variables, ctx) => {\n // Invalidate the research project query\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getAccessRequirementResearchProjectQueryKey(\n data.accessRequirementId,\n ),\n })\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx)\n }\n return\n },\n })\n}\n\nexport function useGetDataAccessRequestForUpdate(\n accessRequirementId: string,\n options?: Partial<UseQueryOptions<Request | Renewal, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey:\n keyFactory.getDataAccessRequestForUpdateQueryKey(accessRequirementId),\n\n queryFn: () =>\n SynapseClient.getDataAccessRequestForUpdate(\n accessRequirementId,\n accessToken!,\n ),\n })\n}\n\nexport function useUpdateDataAccessRequest(\n options?: UseMutationOptions<\n Request | Renewal,\n SynapseClientError,\n Request | Renewal\n >,\n) {\n const { accessToken } = useSynapseContext()\n const queryClient = useQueryClient()\n const { keyFactory } = useSynapseContext()\n\n return useMutation<Request | Renewal, SynapseClientError, Request | Renewal>({\n ...options,\n mutationFn: (requestInterface: Request | Renewal) =>\n SynapseClient.updateDataAccessRequest(requestInterface, accessToken!),\n onSuccess: async (data, variables, ctx) => {\n await Promise.all([\n // Invalidate the data access request query\n queryClient.invalidateQueries({\n queryKey: keyFactory.getDataAccessRequestForUpdateQueryKey(\n data.accessRequirementId,\n ),\n }),\n // The eDUC preview renders this request's content, so any edit makes the cached document\n // obsolete. Marked stale rather than refetched: regenerating it costs a server-side PDF\n // render, and callers await this mutation for a fresh etag before submitting.\n queryClient.invalidateQueries({\n queryKey: keyFactory.getDataAccessRequestPreviewQueryKey(data.id),\n refetchType: 'none',\n }),\n ])\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx)\n }\n return\n },\n })\n}\n\nexport function useCreateAccessApproval(\n options?: UseMutationOptions<\n AccessApproval,\n SynapseClientError,\n CreateAccessApprovalRequest\n >,\n) {\n const { accessToken } = useSynapseContext()\n const queryClient = useQueryClient()\n const { keyFactory } = useSynapseContext()\n\n return useMutation<\n AccessApproval,\n SynapseClientError,\n CreateAccessApprovalRequest\n >({\n ...options,\n mutationFn: request =>\n SynapseClient.createAccessApproval(accessToken, request),\n onSuccess: async (data, variables, ctx) => {\n await Promise.all([\n // Invalidate query for AR status\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAccessRequirementStatusQueryKey(\n String(variables.requirementId),\n ),\n }),\n // changes to access requirement eligibility may impact entity actions required\n ...getAllActionsRequiredQueryFilters(keyFactory).map(filter =>\n queryClient.invalidateQueries(filter),\n ),\n ])\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx)\n }\n return\n },\n })\n}\n\nexport function useCancelDataAccessRequest(\n options?: UseMutationOptions<\n ACTSubmissionStatus,\n SynapseClientError,\n { submissionId: string; accessRequirementId: string }\n >,\n) {\n const { accessToken } = useSynapseContext()\n const queryClient = useQueryClient()\n const { keyFactory } = useSynapseContext()\n\n return useMutation<\n ACTSubmissionStatus,\n SynapseClientError,\n { submissionId: string; accessRequirementId: string }\n >({\n ...options,\n mutationFn: request =>\n SynapseClient.cancelDataAccessRequest(request.submissionId, accessToken!),\n onSuccess: async (data, variables, ctx) => {\n await Promise.all([\n // Invalidate data access submission queries\n queryClient.invalidateQueries({\n queryKey: keyFactory.getDataAccessSubmissionQueryKey(),\n }),\n // Invalidate query for AR status\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAccessRequirementStatusQueryKey(\n String(variables.accessRequirementId),\n ),\n }),\n ])\n\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":"useAccessRequirements.js","names":[],"sources":["../../../src/synapse-queries/dataaccess/useAccessRequirements.ts"],"sourcesContent":["import { sortAccessRequirementsByCompletion } from '@/components/AccessRequirementList/AccessRequirementListUtils'\nimport SynapseClient, {\n createAccessRequirement,\n createAccessRequirementAcl,\n deleteAccessRequirementAcl,\n updateAccessRequirement,\n updateAccessRequirementAcl,\n} from '@/synapse-client'\nimport { SynapseClientError, useSynapseContext } from '@/utils'\nimport {\n AccessApproval,\n AccessControlList,\n AccessRequirement,\n AccessRequirementSearchRequest,\n AccessRequirementSearchResponse,\n AccessRequirementStatus,\n ACTSubmissionStatus,\n CreateAccessApprovalRequest,\n ManagedACTAccessRequirementStatus,\n Renewal,\n Request,\n ResearchProject,\n WikiPageKey,\n} from '@sage-bionetworks/synapse-types'\nimport {\n InfiniteData,\n QueryKey,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useMutation,\n UseMutationOptions,\n useQueries,\n useQuery,\n useQueryClient,\n UseQueryOptions,\n} from '@tanstack/react-query'\nimport { KeyFactory } from '../KeyFactory'\nimport { getAllActionsRequiredQueryFilters } from '../QueryFilterUtils'\n\nexport function useGetAccessRequirements<T extends AccessRequirement>(\n accessRequirementId: string | number,\n options?: Partial<UseQueryOptions<T, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getAccessRequirementQueryKey(\n String(accessRequirementId),\n ),\n queryFn: () =>\n SynapseClient.getAccessRequirementById<T>(\n accessToken,\n accessRequirementId,\n ),\n })\n}\n\nexport function useGetAccessRequirementsForEntity(\n entityId: string,\n options?: Partial<UseQueryOptions<AccessRequirement[], SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getEntityAccessRequirementsQueryKey(entityId),\n queryFn: () =>\n SynapseClient.getAllAccessRequirements(accessToken, entityId),\n })\n}\n\nexport function useGetAccessRequirementsForTeam(\n teamId: string,\n options?: Partial<UseQueryOptions<AccessRequirement[], SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getTeamAccessRequirementsQueryKey(teamId),\n queryFn: () => SynapseClient.getTeamAccessRequirements(accessToken, teamId),\n })\n}\n\nexport function useGetAccessRequirementWikiPageKey(\n accessRequirementId: string,\n options?: Partial<UseQueryOptions<WikiPageKey, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getAccessRequirementWikiPageKey(accessRequirementId),\n\n queryFn: () =>\n SynapseClient.getWikiPageKeyForAccessRequirement(\n accessToken,\n accessRequirementId,\n ),\n })\n}\n\nexport function useCreateAccessRequirement<T extends AccessRequirement>(\n options?: UseMutationOptions<T, SynapseClientError, Partial<T>>,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<T, SynapseClientError, Partial<T>>({\n ...options,\n mutationFn: ar => createAccessRequirement<T>(accessToken, ar),\n onSuccess: async (newAr, ar, ctx, ...rest) => {\n const accessRequirementQueryKey = keyFactory.getAccessRequirementQueryKey(\n newAr.id.toString(),\n )\n queryClient.setQueryData(accessRequirementQueryKey, newAr)\n\n if (options?.onSuccess) {\n return await options.onSuccess(newAr, ar, ctx, ...rest)\n }\n return\n },\n })\n}\n\nexport function useUpdateAccessRequirement<T extends AccessRequirement>(\n options?: UseMutationOptions<T, SynapseClientError, T>,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n return useMutation<T, SynapseClientError, T>({\n ...options,\n mutationFn: ar => updateAccessRequirement<T>(accessToken, ar),\n onSuccess: async (newAr, ar, ctx, ...rest) => {\n const accessRequirementQueryKey = keyFactory.getAccessRequirementQueryKey(\n newAr.id.toString(),\n )\n queryClient.setQueryData(accessRequirementQueryKey, newAr)\n\n if (options?.onSuccess) {\n return await options.onSuccess(newAr, ar, ctx, ...rest)\n }\n return\n },\n })\n}\n\nexport function useGetAccessRequirementACL(\n accessRequirementId: string,\n options?: Partial<\n UseQueryOptions<AccessControlList | null, SynapseClientError>\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getAccessRequirementAclQueryKey(accessRequirementId),\n\n queryFn: () =>\n SynapseClient.getAccessRequirementAcl(accessToken, accessRequirementId),\n })\n}\n\nexport function useDeleteAccessRequirementACL(\n options?: 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: accessRequirementId =>\n deleteAccessRequirementAcl(accessToken, accessRequirementId),\n onSuccess: async (data, accessRequirementId, ctx, ...rest) => {\n await queryClient.invalidateQueries({\n queryKey:\n keyFactory.getAccessRequirementAclQueryKey(accessRequirementId),\n })\n if (options?.onSuccess) {\n await options.onSuccess(data, accessRequirementId, ctx, ...rest)\n }\n },\n })\n}\n\nexport function useCreateAccessRequirementACL(\n options?: UseMutationOptions<\n AccessControlList,\n SynapseClientError,\n AccessControlList\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<AccessControlList, SynapseClientError, AccessControlList>({\n ...options,\n mutationFn: acl => createAccessRequirementAcl(accessToken, acl),\n onSuccess: async (newAcl, acl, ctx, ...rest) => {\n const accessRequirementAclQueryKey =\n keyFactory.getAccessRequirementAclQueryKey(newAcl.id)\n queryClient.setQueryData(accessRequirementAclQueryKey, newAcl)\n\n if (options?.onSuccess) {\n return await options.onSuccess(newAcl, acl, ctx, ...rest)\n }\n return\n },\n })\n}\n\nexport function useUpdateAccessRequirementACL(\n options?: UseMutationOptions<\n AccessControlList,\n SynapseClientError,\n AccessControlList\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<AccessControlList, SynapseClientError, AccessControlList>({\n ...options,\n mutationFn: acl => updateAccessRequirementAcl(accessToken, acl),\n onSuccess: async (newAcl, acl, ctx, ...rest) => {\n const accessRequirementAclQueryKey =\n keyFactory.getAccessRequirementAclQueryKey(newAcl.id)\n queryClient.setQueryData(accessRequirementAclQueryKey, newAcl)\n\n if (options?.onSuccess) {\n return await options.onSuccess(newAcl, acl, ctx, ...rest)\n }\n return\n },\n })\n}\n\nexport function useSearchAccessRequirementsInfinite<\n TData = InfiniteData<AccessRequirementSearchResponse>,\n>(\n params: Omit<AccessRequirementSearchRequest, 'nextPageToken'>,\n options?: UseInfiniteQueryOptions<\n AccessRequirementSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n AccessRequirementSearchResponse['nextPageToken']\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useInfiniteQuery<\n AccessRequirementSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n AccessRequirementSearchResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.searchAccessRequirementsQueryKey(params),\n queryFn: async context => {\n return await SynapseClient.searchAccessRequirements(accessToken, {\n ...params,\n nextPageToken: context.pageParam,\n })\n },\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\nexport function useCreateLockAccessRequirement(\n options?: Partial<\n UseMutationOptions<AccessRequirement, SynapseClientError, string>\n >,\n) {\n const { accessToken } = useSynapseContext()\n const queryClient = useQueryClient()\n const { keyFactory } = useSynapseContext()\n\n return useMutation<AccessRequirement, SynapseClientError, string>({\n ...options,\n mutationFn: (entityId: string) =>\n SynapseClient.createLockAccessRequirement(entityId, accessToken),\n mutationKey: ['createLockAccessRequirement'],\n onSuccess: async (data, variables, ctx, ...rest) => {\n await Promise.all([\n // Invalidate all access requirement queries\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAccessRequirementQueryKey(),\n }),\n // Invalidate all entity queries (not just the current entity because the new AR may apply to this entity's children)\n // this also invalidates entity actions required\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAllEntityDataQueryKey(),\n }),\n ...getAllActionsRequiredQueryFilters(keyFactory).map(filter =>\n queryClient.invalidateQueries(filter),\n ),\n ])\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx, ...rest)\n }\n return\n },\n })\n}\n\nfunction getAccessRequirementStatusQueryOptions<\n T extends AccessRequirementStatus | ManagedACTAccessRequirementStatus =\n AccessRequirementStatus,\n>(\n keyFactory: KeyFactory,\n accessToken: string,\n accessRequirementId: string,\n): UseQueryOptions<T, SynapseClientError> {\n return {\n queryKey:\n keyFactory.getAccessRequirementStatusQueryKey(accessRequirementId),\n queryFn: () =>\n SynapseClient.getAccessRequirementStatus<T>(\n accessToken,\n accessRequirementId,\n ),\n }\n}\n\nexport function useGetAccessRequirementStatus<\n T extends AccessRequirementStatus | ManagedACTAccessRequirementStatus =\n AccessRequirementStatus,\n>(\n accessRequirementId: string,\n options?: Partial<UseQueryOptions<T, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useQuery({\n ...options,\n ...getAccessRequirementStatusQueryOptions<T>(\n keyFactory,\n accessToken!,\n accessRequirementId,\n ),\n })\n}\n\nexport function useGetAccessRequirementStatuses<\n T extends AccessRequirementStatus | ManagedACTAccessRequirementStatus =\n AccessRequirementStatus,\n>(accessRequirementIds: string[]) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useQueries({\n queries: accessRequirementIds.map(id =>\n getAccessRequirementStatusQueryOptions<T>(keyFactory, accessToken!, id),\n ),\n })\n}\n\nexport function useSortAccessRequirementIdsByCompletion(\n accessRequirementIds: string[],\n options?: Partial<UseQueryOptions<string[], SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey:\n keyFactory.getSortedAccessRequirementsAndStatusQueryKey(\n accessRequirementIds,\n ),\n\n queryFn: () =>\n sortAccessRequirementsByCompletion(accessToken, accessRequirementIds),\n })\n}\n\nexport function useGetResearchProject(\n accessRequirementId: string,\n options?: Partial<UseQueryOptions<ResearchProject, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey:\n keyFactory.getAccessRequirementResearchProjectQueryKey(\n accessRequirementId,\n ),\n queryFn: () =>\n SynapseClient.getResearchProject(accessRequirementId, accessToken!),\n })\n}\n\nexport function useUpdateResearchProject(\n options?: Partial<\n UseMutationOptions<ResearchProject, SynapseClientError, ResearchProject>\n >,\n) {\n const { accessToken } = useSynapseContext()\n const queryClient = useQueryClient()\n const { keyFactory } = useSynapseContext()\n\n return useMutation<ResearchProject, SynapseClientError, ResearchProject>({\n ...options,\n mutationFn: (researchProject: ResearchProject) =>\n SynapseClient.updateResearchProject(researchProject, accessToken!),\n onSuccess: async (data, variables, ctx, ...rest) => {\n // Invalidate the research project query\n await queryClient.invalidateQueries({\n queryKey: keyFactory.getAccessRequirementResearchProjectQueryKey(\n data.accessRequirementId,\n ),\n })\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx, ...rest)\n }\n return\n },\n })\n}\n\nexport function useGetDataAccessRequestForUpdate(\n accessRequirementId: string,\n options?: Partial<UseQueryOptions<Request | Renewal, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey:\n keyFactory.getDataAccessRequestForUpdateQueryKey(accessRequirementId),\n\n queryFn: () =>\n SynapseClient.getDataAccessRequestForUpdate(\n accessRequirementId,\n accessToken!,\n ),\n })\n}\n\nexport function useUpdateDataAccessRequest(\n options?: UseMutationOptions<\n Request | Renewal,\n SynapseClientError,\n Request | Renewal\n >,\n) {\n const { accessToken } = useSynapseContext()\n const queryClient = useQueryClient()\n const { keyFactory } = useSynapseContext()\n\n return useMutation<Request | Renewal, SynapseClientError, Request | Renewal>({\n ...options,\n mutationFn: (requestInterface: Request | Renewal) =>\n SynapseClient.updateDataAccessRequest(requestInterface, accessToken!),\n onSuccess: async (data, variables, ctx, ...rest) => {\n await Promise.all([\n // Invalidate the data access request query\n queryClient.invalidateQueries({\n queryKey: keyFactory.getDataAccessRequestForUpdateQueryKey(\n data.accessRequirementId,\n ),\n }),\n // The eDUC preview renders this request's content, so any edit makes the cached document\n // obsolete. Marked stale rather than refetched: regenerating it costs a server-side PDF\n // render, and callers await this mutation for a fresh etag before submitting.\n queryClient.invalidateQueries({\n queryKey: keyFactory.getDataAccessRequestPreviewQueryKey(data.id),\n refetchType: 'none',\n }),\n ])\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx, ...rest)\n }\n return\n },\n })\n}\n\nexport function useCreateAccessApproval(\n options?: UseMutationOptions<\n AccessApproval,\n SynapseClientError,\n CreateAccessApprovalRequest\n >,\n) {\n const { accessToken } = useSynapseContext()\n const queryClient = useQueryClient()\n const { keyFactory } = useSynapseContext()\n\n return useMutation<\n AccessApproval,\n SynapseClientError,\n CreateAccessApprovalRequest\n >({\n ...options,\n mutationFn: request =>\n SynapseClient.createAccessApproval(accessToken, request),\n onSuccess: async (data, variables, ctx, ...rest) => {\n await Promise.all([\n // Invalidate query for AR status\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAccessRequirementStatusQueryKey(\n String(variables.requirementId),\n ),\n }),\n // changes to access requirement eligibility may impact entity actions required\n ...getAllActionsRequiredQueryFilters(keyFactory).map(filter =>\n queryClient.invalidateQueries(filter),\n ),\n ])\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx, ...rest)\n }\n return\n },\n })\n}\n\nexport function useCancelDataAccessRequest(\n options?: UseMutationOptions<\n ACTSubmissionStatus,\n SynapseClientError,\n { submissionId: string; accessRequirementId: string }\n >,\n) {\n const { accessToken } = useSynapseContext()\n const queryClient = useQueryClient()\n const { keyFactory } = useSynapseContext()\n\n return useMutation<\n ACTSubmissionStatus,\n SynapseClientError,\n { submissionId: string; accessRequirementId: string }\n >({\n ...options,\n mutationFn: request =>\n SynapseClient.cancelDataAccessRequest(request.submissionId, accessToken!),\n onSuccess: async (data, variables, ctx, ...rest) => {\n await Promise.all([\n // Invalidate data access submission queries\n queryClient.invalidateQueries({\n queryKey: keyFactory.getDataAccessSubmissionQueryKey(),\n }),\n // Invalidate query for AR status\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAccessRequirementStatusQueryKey(\n String(variables.accessRequirementId),\n ),\n }),\n ])\n\n if (options?.onSuccess) {\n return options.onSuccess(data, variables, ctx, ...rest)\n }\n return\n },\n })\n}\n"],"mappings":"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"}
@@ -41,8 +41,8 @@ function l(n) {
41
41
  return r({
42
42
  ...n,
43
43
  mutationFn: (t) => e.updateSubmissionStatus(t, o),
44
- onSuccess: async (e, t, r) => {
45
- await i.invalidateQueries({ queryKey: s.searchDataAccessSubmissionQueryKey() }), i.setQueryData(s.getDataAccessSubmissionByIdQueryKey(t.submissionId), e), n?.onSuccess && await n.onSuccess(e, t, r);
44
+ onSuccess: async (e, t, r, ...a) => {
45
+ await i.invalidateQueries({ queryKey: s.searchDataAccessSubmissionQueryKey() }), i.setQueryData(s.getDataAccessSubmissionByIdQueryKey(t.submissionId), e), n?.onSuccess && await n.onSuccess(e, t, r, ...a);
46
46
  }
47
47
  });
48
48
  }
@@ -57,8 +57,8 @@ function u(n) {
57
57
  }
58
58
  return e.submitDataAccessRequest(t, o);
59
59
  },
60
- onSuccess: async (e, t, r) => {
61
- await Promise.all([i.invalidateQueries({ queryKey: s.getAccessRequirementStatusQueryKey(t.accessRequirementId) }), i.invalidateQueries({ queryKey: s.getDataAccessSubmissionQueryKey() })]), n?.onSuccess && await n.onSuccess(e, t, r);
60
+ onSuccess: async (e, t, r, ...a) => {
61
+ await Promise.all([i.invalidateQueries({ queryKey: s.getAccessRequirementStatusQueryKey(t.accessRequirementId) }), i.invalidateQueries({ queryKey: s.getDataAccessSubmissionQueryKey() })]), n?.onSuccess && await n.onSuccess(e, t, r, ...a);
62
62
  }
63
63
  });
64
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useDataAccessSubmission.js","names":[],"sources":["../../../src/synapse-queries/dataaccess/useDataAccessSubmission.ts"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport type {\n UserSubmissionSearchRequest,\n UserSubmissionSearchResponse,\n} from '@sage-bionetworks/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n ACTSubmissionStatus,\n CreateSubmissionRequest,\n Submission,\n SubmissionSearchRequest,\n SubmissionSearchResponse,\n SubmissionStateChangeRequest,\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 default function useGetDataAccessSubmission(\n submissionId: string | number,\n options?: Partial<UseQueryOptions<Submission, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getDataAccessSubmissionByIdQueryKey(\n String(submissionId.toString()),\n ),\n queryFn: () => SynapseClient.getSubmissionById(submissionId, accessToken),\n })\n}\n\n/**\n * Retrieve a list of submissions for a given access requirement ID, where the calling user is an accessor. Allows to\n * optionally filter by accessRequirement Ids, submission state and sort by the associated fields in the\n * SubmissionSearchSort.\n *\n * https://rest-docs.synapse.org/rest/POST/dataAccessSubmission/userRequests.html\n * @param params\n * @param options\n */\nexport function useSearchAccessSubmissionUserRequestsInfinite<\n TData = InfiniteData<UserSubmissionSearchResponse>,\n>(\n params?: UserSubmissionSearchRequest,\n options?: Partial<\n UseInfiniteQueryOptions<\n UserSubmissionSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n UserSubmissionSearchResponse['nextPageToken']\n >\n >,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useInfiniteQuery<\n UserSubmissionSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n UserSubmissionSearchResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.searchDataAccessSubmissionUserRequestsQueryKey(params),\n queryFn: context =>\n synapseClient.dataAccessServicesClient.postRepoV1DataAccessSubmissionUserRequests(\n {\n userSubmissionSearchRequest: {\n ...params,\n nextPageToken: context.pageParam,\n },\n },\n ),\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\nexport function useSearchAccessSubmissionsInfinite<\n TData = InfiniteData<SubmissionSearchResponse>,\n>(\n params: SubmissionSearchRequest,\n options?: Partial<\n UseInfiniteQueryOptions<\n SubmissionSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n SubmissionSearchResponse['nextPageToken']\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useInfiniteQuery<\n SubmissionSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n SubmissionSearchResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.searchDataAccessSubmissionQueryKey(params),\n queryFn: async context => {\n return await SynapseClient.searchAccessSubmission(\n {\n ...params,\n nextPageToken: context.pageParam,\n },\n accessToken,\n )\n },\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\nexport function useUpdateDataAccessSubmissionState(\n options?: UseMutationOptions<\n Submission,\n SynapseClientError,\n SubmissionStateChangeRequest\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<\n Submission,\n SynapseClientError,\n SubmissionStateChangeRequest\n >({\n ...options,\n mutationFn: (request: SubmissionStateChangeRequest): Promise<Submission> =>\n SynapseClient.updateSubmissionStatus(request, accessToken),\n onSuccess: async (updatedSubmission, variables, ctx) => {\n // Invalidate all searches, since updating the status will affect filtered search results\n await queryClient.invalidateQueries({\n queryKey: keyFactory.searchDataAccessSubmissionQueryKey(),\n })\n // Update the query data for the updated submission\n queryClient.setQueryData(\n keyFactory.getDataAccessSubmissionByIdQueryKey(variables.submissionId),\n updatedSubmission,\n )\n\n if (options?.onSuccess) {\n await options.onSuccess(updatedSubmission, variables, ctx)\n }\n },\n })\n}\n\nexport function useSubmitDataAccessRequest(\n options?: Partial<\n UseMutationOptions<\n ACTSubmissionStatus,\n SynapseClientError,\n { request: CreateSubmissionRequest; accessRequirementId: string }\n >\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<\n ACTSubmissionStatus,\n SynapseClientError,\n { request: CreateSubmissionRequest; accessRequirementId: string }\n >({\n ...options,\n mutationFn: async ({\n request,\n accessRequirementId,\n }): Promise<ACTSubmissionStatus> => {\n // The subjectId or subjectType may not be known, so pick an arbitrary one off of the AR (SWC-6490)\n if (request.subjectId == null || request.subjectType == null) {\n const { subjects } = await SynapseClient.getSubjects(\n accessToken,\n accessRequirementId,\n )\n request.subjectId = subjects[0].id\n request.subjectType = subjects[0].type\n }\n return SynapseClient.submitDataAccessRequest(request, accessToken!)\n },\n onSuccess: async (data, variables, ctx) => {\n await Promise.all([\n // Invalidate the status of the relevant AR\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAccessRequirementStatusQueryKey(\n variables.accessRequirementId,\n ),\n }),\n // Invalidate all searches for AR submissions\n queryClient.invalidateQueries({\n queryKey: keyFactory.getDataAccessSubmissionQueryKey(),\n }),\n ])\n\n if (options?.onSuccess) {\n await options.onSuccess(data, variables, ctx)\n }\n },\n })\n}\n"],"mappings":";;;;AA2BA,SAAwB,EACtB,GACA,GACA;CACA,IAAM,EAAE,gBAAa,kBAAe,EAAkB;CAEtD,OAAO,EAAS;EACd,GAAG;EACH,UAAU,EAAW,oCACnB,OAAO,EAAa,SAAS,CAAC,CAChC;EACA,eAAe,EAAc,kBAAkB,GAAc,CAAW;CAC1E,CAAC;AACH;AAWA,SAAgB,EAGd,GACA,GASA;CACA,IAAM,EAAE,eAAY,qBAAkB,EAAkB;CAExD,OAAO,EAML;EACA,GAAG;EACH,UAAU,EAAW,+CAA+C,CAAM;EAC1E,UAAS,MACP,EAAc,yBAAyB,2CACrC,EACE,6BAA6B;GAC3B,GAAG;GACH,eAAe,EAAQ;EACzB,EACF,CACF;EACF,kBAAkB,KAAA;EAClB,mBAAkB,MAAQ,EAAK;CACjC,CAAC;AACH;AAEA,SAAgB,EAGd,GACA,GASA;CACA,IAAM,EAAE,gBAAa,kBAAe,EAAkB;CAEtD,OAAO,EAML;EACA,GAAG;EACH,UAAU,EAAW,mCAAmC,CAAM;EAC9D,SAAS,OAAM,MACN,MAAM,EAAc,uBACzB;GACE,GAAG;GACH,eAAe,EAAQ;EACzB,GACA,CACF;EAEF,kBAAkB,KAAA;EAClB,mBAAkB,MAAQ,EAAK;CACjC,CAAC;AACH;AAEA,SAAgB,EACd,GAKA;CACA,IAAM,IAAc,EAAe,GAC7B,EAAE,gBAAa,kBAAe,EAAkB;CAEtD,OAAO,EAIL;EACA,GAAG;EACH,aAAa,MACX,EAAc,uBAAuB,GAAS,CAAW;EAC3D,WAAW,OAAO,GAAmB,GAAW,MAAQ;GAWtD,AATA,MAAM,EAAY,kBAAkB,EAClC,UAAU,EAAW,mCAAmC,EAC1D,CAAC,GAED,EAAY,aACV,EAAW,oCAAoC,EAAU,YAAY,GACrE,CACF,GAEI,GAAS,aACX,MAAM,EAAQ,UAAU,GAAmB,GAAW,CAAG;EAE7D;CACF,CAAC;AACH;AAEA,SAAgB,EACd,GAOA;CACA,IAAM,IAAc,EAAe,GAC7B,EAAE,gBAAa,kBAAe,EAAkB;CAEtD,OAAO,EAIL;EACA,GAAG;EACH,YAAY,OAAO,EACjB,YACA,6BACkC;GAElC,IAAI,EAAQ,aAAa,QAAQ,EAAQ,eAAe,MAAM;IAC5D,IAAM,EAAE,gBAAa,MAAM,EAAc,YACvC,GACA,CACF;IAEA,AADA,EAAQ,YAAY,EAAS,GAAG,IAChC,EAAQ,cAAc,EAAS,GAAG;GACpC;GACA,OAAO,EAAc,wBAAwB,GAAS,CAAY;EACpE;EACA,WAAW,OAAO,GAAM,GAAW,MAAQ;GAczC,AAbA,MAAM,QAAQ,IAAI,CAEhB,EAAY,kBAAkB,EAC5B,UAAU,EAAW,mCACnB,EAAU,mBACZ,EACF,CAAC,GAED,EAAY,kBAAkB,EAC5B,UAAU,EAAW,gCAAgC,EACvD,CAAC,CACH,CAAC,GAEG,GAAS,aACX,MAAM,EAAQ,UAAU,GAAM,GAAW,CAAG;EAEhD;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"useDataAccessSubmission.js","names":[],"sources":["../../../src/synapse-queries/dataaccess/useDataAccessSubmission.ts"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport type {\n UserSubmissionSearchRequest,\n UserSubmissionSearchResponse,\n} from '@sage-bionetworks/synapse-client'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n ACTSubmissionStatus,\n CreateSubmissionRequest,\n Submission,\n SubmissionSearchRequest,\n SubmissionSearchResponse,\n SubmissionStateChangeRequest,\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 default function useGetDataAccessSubmission(\n submissionId: string | number,\n options?: Partial<UseQueryOptions<Submission, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useQuery({\n ...options,\n queryKey: keyFactory.getDataAccessSubmissionByIdQueryKey(\n String(submissionId.toString()),\n ),\n queryFn: () => SynapseClient.getSubmissionById(submissionId, accessToken),\n })\n}\n\n/**\n * Retrieve a list of submissions for a given access requirement ID, where the calling user is an accessor. Allows to\n * optionally filter by accessRequirement Ids, submission state and sort by the associated fields in the\n * SubmissionSearchSort.\n *\n * https://rest-docs.synapse.org/rest/POST/dataAccessSubmission/userRequests.html\n * @param params\n * @param options\n */\nexport function useSearchAccessSubmissionUserRequestsInfinite<\n TData = InfiniteData<UserSubmissionSearchResponse>,\n>(\n params?: UserSubmissionSearchRequest,\n options?: Partial<\n UseInfiniteQueryOptions<\n UserSubmissionSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n UserSubmissionSearchResponse['nextPageToken']\n >\n >,\n) {\n const { keyFactory, synapseClient } = useSynapseContext()\n\n return useInfiniteQuery<\n UserSubmissionSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n UserSubmissionSearchResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.searchDataAccessSubmissionUserRequestsQueryKey(params),\n queryFn: context =>\n synapseClient.dataAccessServicesClient.postRepoV1DataAccessSubmissionUserRequests(\n {\n userSubmissionSearchRequest: {\n ...params,\n nextPageToken: context.pageParam,\n },\n },\n ),\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\nexport function useSearchAccessSubmissionsInfinite<\n TData = InfiniteData<SubmissionSearchResponse>,\n>(\n params: SubmissionSearchRequest,\n options?: Partial<\n UseInfiniteQueryOptions<\n SubmissionSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n SubmissionSearchResponse['nextPageToken']\n >\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useInfiniteQuery<\n SubmissionSearchResponse,\n SynapseClientError,\n TData,\n QueryKey,\n SubmissionSearchResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.searchDataAccessSubmissionQueryKey(params),\n queryFn: async context => {\n return await SynapseClient.searchAccessSubmission(\n {\n ...params,\n nextPageToken: context.pageParam,\n },\n accessToken,\n )\n },\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n\nexport function useUpdateDataAccessSubmissionState(\n options?: UseMutationOptions<\n Submission,\n SynapseClientError,\n SubmissionStateChangeRequest\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<\n Submission,\n SynapseClientError,\n SubmissionStateChangeRequest\n >({\n ...options,\n mutationFn: (request: SubmissionStateChangeRequest): Promise<Submission> =>\n SynapseClient.updateSubmissionStatus(request, accessToken),\n onSuccess: async (updatedSubmission, variables, ctx, ...rest) => {\n // Invalidate all searches, since updating the status will affect filtered search results\n await queryClient.invalidateQueries({\n queryKey: keyFactory.searchDataAccessSubmissionQueryKey(),\n })\n // Update the query data for the updated submission\n queryClient.setQueryData(\n keyFactory.getDataAccessSubmissionByIdQueryKey(variables.submissionId),\n updatedSubmission,\n )\n\n if (options?.onSuccess) {\n await options.onSuccess(updatedSubmission, variables, ctx, ...rest)\n }\n },\n })\n}\n\nexport function useSubmitDataAccessRequest(\n options?: Partial<\n UseMutationOptions<\n ACTSubmissionStatus,\n SynapseClientError,\n { request: CreateSubmissionRequest; accessRequirementId: string }\n >\n >,\n) {\n const queryClient = useQueryClient()\n const { accessToken, keyFactory } = useSynapseContext()\n\n return useMutation<\n ACTSubmissionStatus,\n SynapseClientError,\n { request: CreateSubmissionRequest; accessRequirementId: string }\n >({\n ...options,\n mutationFn: async ({\n request,\n accessRequirementId,\n }): Promise<ACTSubmissionStatus> => {\n // The subjectId or subjectType may not be known, so pick an arbitrary one off of the AR (SWC-6490)\n if (request.subjectId == null || request.subjectType == null) {\n const { subjects } = await SynapseClient.getSubjects(\n accessToken,\n accessRequirementId,\n )\n request.subjectId = subjects[0].id\n request.subjectType = subjects[0].type\n }\n return SynapseClient.submitDataAccessRequest(request, accessToken!)\n },\n onSuccess: async (data, variables, ctx, ...rest) => {\n await Promise.all([\n // Invalidate the status of the relevant AR\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAccessRequirementStatusQueryKey(\n variables.accessRequirementId,\n ),\n }),\n // Invalidate all searches for AR submissions\n queryClient.invalidateQueries({\n queryKey: keyFactory.getDataAccessSubmissionQueryKey(),\n }),\n ])\n\n if (options?.onSuccess) {\n await options.onSuccess(data, variables, ctx, ...rest)\n }\n },\n })\n}\n"],"mappings":";;;;AA2BA,SAAwB,EACtB,GACA,GACA;CACA,IAAM,EAAE,gBAAa,kBAAe,EAAkB;CAEtD,OAAO,EAAS;EACd,GAAG;EACH,UAAU,EAAW,oCACnB,OAAO,EAAa,SAAS,CAAC,CAChC;EACA,eAAe,EAAc,kBAAkB,GAAc,CAAW;CAC1E,CAAC;AACH;AAWA,SAAgB,EAGd,GACA,GASA;CACA,IAAM,EAAE,eAAY,qBAAkB,EAAkB;CAExD,OAAO,EAML;EACA,GAAG;EACH,UAAU,EAAW,+CAA+C,CAAM;EAC1E,UAAS,MACP,EAAc,yBAAyB,2CACrC,EACE,6BAA6B;GAC3B,GAAG;GACH,eAAe,EAAQ;EACzB,EACF,CACF;EACF,kBAAkB,KAAA;EAClB,mBAAkB,MAAQ,EAAK;CACjC,CAAC;AACH;AAEA,SAAgB,EAGd,GACA,GASA;CACA,IAAM,EAAE,gBAAa,kBAAe,EAAkB;CAEtD,OAAO,EAML;EACA,GAAG;EACH,UAAU,EAAW,mCAAmC,CAAM;EAC9D,SAAS,OAAM,MACN,MAAM,EAAc,uBACzB;GACE,GAAG;GACH,eAAe,EAAQ;EACzB,GACA,CACF;EAEF,kBAAkB,KAAA;EAClB,mBAAkB,MAAQ,EAAK;CACjC,CAAC;AACH;AAEA,SAAgB,EACd,GAKA;CACA,IAAM,IAAc,EAAe,GAC7B,EAAE,gBAAa,kBAAe,EAAkB;CAEtD,OAAO,EAIL;EACA,GAAG;EACH,aAAa,MACX,EAAc,uBAAuB,GAAS,CAAW;EAC3D,WAAW,OAAO,GAAmB,GAAW,GAAK,GAAG,MAAS;GAW/D,AATA,MAAM,EAAY,kBAAkB,EAClC,UAAU,EAAW,mCAAmC,EAC1D,CAAC,GAED,EAAY,aACV,EAAW,oCAAoC,EAAU,YAAY,GACrE,CACF,GAEI,GAAS,aACX,MAAM,EAAQ,UAAU,GAAmB,GAAW,GAAK,GAAG,CAAI;EAEtE;CACF,CAAC;AACH;AAEA,SAAgB,EACd,GAOA;CACA,IAAM,IAAc,EAAe,GAC7B,EAAE,gBAAa,kBAAe,EAAkB;CAEtD,OAAO,EAIL;EACA,GAAG;EACH,YAAY,OAAO,EACjB,YACA,6BACkC;GAElC,IAAI,EAAQ,aAAa,QAAQ,EAAQ,eAAe,MAAM;IAC5D,IAAM,EAAE,gBAAa,MAAM,EAAc,YACvC,GACA,CACF;IAEA,AADA,EAAQ,YAAY,EAAS,GAAG,IAChC,EAAQ,cAAc,EAAS,GAAG;GACpC;GACA,OAAO,EAAc,wBAAwB,GAAS,CAAY;EACpE;EACA,WAAW,OAAO,GAAM,GAAW,GAAK,GAAG,MAAS;GAclD,AAbA,MAAM,QAAQ,IAAI,CAEhB,EAAY,kBAAkB,EAC5B,UAAU,EAAW,mCACnB,EAAU,mBACZ,EACF,CAAC,GAED,EAAY,kBAAkB,EAC5B,UAAU,EAAW,gCAAgC,EACvD,CAAC,CACH,CAAC,GAEG,GAAS,aACX,MAAM,EAAQ,UAAU,GAAM,GAAW,GAAK,GAAG,CAAI;EAEzD;CACF,CAAC;AACH"}
@@ -93,8 +93,8 @@ function h(e) {
93
93
  return r({
94
94
  ...e,
95
95
  mutationFn: ({ requestId: e }) => n.dataAccessServicesClient.postRepoV1DataAccessRequestRequestIdSignature({ requestId: e }),
96
- onSuccess: async (t, n, r) => {
97
- if (await i(n), e?.onSuccess) return e.onSuccess(t, n, r);
96
+ onSuccess: async (t, n, r, ...a) => {
97
+ if (await i(n), e?.onSuccess) return e.onSuccess(t, n, r, ...a);
98
98
  }
99
99
  });
100
100
  }
@@ -125,8 +125,8 @@ function b(e) {
125
125
  return r({
126
126
  ...e,
127
127
  mutationFn: ({ requestId: e }) => n.dataAccessServicesClient.putRepoV1DataAccessRequestRequestIdSignature({ requestId: e }),
128
- onSuccess: async (t, n, r) => {
129
- if (await i(n), e?.onSuccess) return e.onSuccess(t, n, r);
128
+ onSuccess: async (t, n, r, ...a) => {
129
+ if (await i(n), e?.onSuccess) return e.onSuccess(t, n, r, ...a);
130
130
  }
131
131
  });
132
132
  }
@@ -135,8 +135,8 @@ function x(e) {
135
135
  return r({
136
136
  ...e,
137
137
  mutationFn: ({ requestId: e }) => n.dataAccessServicesClient.deleteRepoV1DataAccessRequestRequestIdSignature({ requestId: e }),
138
- onSuccess: async (t, n, r) => {
139
- if (await i(n), e?.onSuccess) return e.onSuccess(t, n, r);
138
+ onSuccess: async (t, n, r, ...a) => {
139
+ if (await i(n), e?.onSuccess) return e.onSuccess(t, n, r, ...a);
140
140
  }
141
141
  });
142
142
  }