synapse-react-client 4.0.40 → 4.0.42

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 (438) hide show
  1. package/dist/SWC.index.d.ts +1 -0
  2. package/dist/SWC.index.d.ts.map +1 -1
  3. package/dist/SWC.index.js +2 -1
  4. package/dist/SWC.index.js.map +1 -1
  5. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.d.ts +1 -0
  6. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.d.ts.map +1 -1
  7. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js +12 -12
  8. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js.map +1 -1
  9. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.d.ts +7 -0
  10. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.d.ts.map +1 -0
  11. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js +30 -0
  12. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/AccessorRequirementHelpText.js.map +1 -0
  13. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.d.ts.map +1 -1
  14. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js +138 -244
  15. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
  16. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DucUploadSection.d.ts +13 -0
  17. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DucUploadSection.d.ts.map +1 -0
  18. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DucUploadSection.js +60 -0
  19. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DucUploadSection.js.map +1 -0
  20. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts +8 -2
  21. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.d.ts.map +1 -1
  22. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js +179 -63
  23. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/EDucPreviewStep/EDucPreviewStep.js.map +1 -1
  24. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.d.ts +2 -0
  25. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.d.ts.map +1 -1
  26. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js +13 -13
  27. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js.map +1 -1
  28. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.d.ts +3 -2
  29. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.d.ts.map +1 -1
  30. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.js.map +1 -1
  31. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts +3 -2
  32. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.d.ts.map +1 -1
  33. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManualUploadDucStep/ManualUploadDucStep.js.map +1 -1
  34. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/PrincipalInvestigatorFields.d.ts +12 -0
  35. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/PrincipalInvestigatorFields.d.ts.map +1 -0
  36. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/PrincipalInvestigatorFields.js +50 -0
  37. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/PrincipalInvestigatorFields.js.map +1 -0
  38. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.d.ts.map +1 -1
  39. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js +112 -143
  40. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
  41. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts +4 -2
  42. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.d.ts.map +1 -1
  43. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js +8 -7
  44. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ReviewDucStep/ReviewDucStep.js.map +1 -1
  45. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts +3 -2
  46. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.d.ts.map +1 -1
  47. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js +79 -47
  48. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SignatureStatusStep/SignatureStatusStep.js.map +1 -1
  49. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SigningOfficialFields.d.ts +12 -0
  50. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SigningOfficialFields.d.ts.map +1 -0
  51. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SigningOfficialFields.js +51 -0
  52. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/SigningOfficialFields.js.map +1 -0
  53. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/eDucSignatureUtils.d.ts +12 -0
  54. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/eDucSignatureUtils.d.ts.map +1 -0
  55. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/eDucSignatureUtils.js +24 -0
  56. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/eDucSignatureUtils.js.map +1 -0
  57. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts +11 -0
  58. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.d.ts.map +1 -0
  59. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/requestFlowTypes.js +0 -0
  60. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/useInitializeRequestAccessors.d.ts +22 -0
  61. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/useInitializeRequestAccessors.d.ts.map +1 -0
  62. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/useInitializeRequestAccessors.js +32 -0
  63. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/useInitializeRequestAccessors.js.map +1 -0
  64. package/dist/components/AclEditor/AclEditor.js +20 -20
  65. package/dist/components/Aridhia/AridhiaAccessStatus.d.ts.map +1 -1
  66. package/dist/components/Aridhia/AridhiaAccessStatus.js +51 -48
  67. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  68. package/dist/components/Authentication/Constants.d.ts +4 -0
  69. package/dist/components/Authentication/Constants.d.ts.map +1 -1
  70. package/dist/components/Authentication/Constants.js +5 -2
  71. package/dist/components/Authentication/Constants.js.map +1 -1
  72. package/dist/components/Authentication/RecoveryCodeGrid.d.ts.map +1 -1
  73. package/dist/components/Authentication/RecoveryCodeGrid.js +8 -1
  74. package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
  75. package/dist/components/Authentication/RegenerateBackupCodesWarning.js +4 -1
  76. package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
  77. package/dist/components/Authentication/TOTPForm.d.ts.map +1 -1
  78. package/dist/components/Authentication/TOTPForm.js +20 -18
  79. package/dist/components/Authentication/TOTPForm.js.map +1 -1
  80. package/dist/components/Authentication/TwoFactorBackupCodes.d.ts.map +1 -1
  81. package/dist/components/Authentication/TwoFactorBackupCodes.js +41 -12
  82. package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
  83. package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
  84. package/dist/components/Authentication/TwoFactorEnrollmentForm.js +90 -77
  85. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  86. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  87. package/dist/components/DataGrid/SynapseGrid.js +244 -246
  88. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  89. package/dist/components/DataGrid/components/GridLoadingState.d.ts +23 -0
  90. package/dist/components/DataGrid/components/GridLoadingState.d.ts.map +1 -0
  91. package/dist/components/DataGrid/components/GridLoadingState.js +64 -0
  92. package/dist/components/DataGrid/components/GridLoadingState.js.map +1 -0
  93. package/dist/components/DataGrid/components/ReorderColumnsDialog.d.ts.map +1 -1
  94. package/dist/components/DataGrid/components/ReorderColumnsDialog.js +52 -54
  95. package/dist/components/DataGrid/components/ReorderColumnsDialog.js.map +1 -1
  96. package/dist/components/DataGrid/useDataGridWebsocket.d.ts +60 -6
  97. package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
  98. package/dist/components/DataGrid/useDataGridWebsocket.js +71 -60
  99. package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
  100. package/dist/components/DataGrid/utils/getNamedColumnIndices.d.ts +11 -0
  101. package/dist/components/DataGrid/utils/getNamedColumnIndices.d.ts.map +1 -0
  102. package/dist/components/DataGrid/utils/getNamedColumnIndices.js +8 -0
  103. package/dist/components/DataGrid/utils/getNamedColumnIndices.js.map +1 -0
  104. package/dist/components/FilePreview/FileHandleContentRenderer.d.ts +6 -2
  105. package/dist/components/FilePreview/FileHandleContentRenderer.d.ts.map +1 -1
  106. package/dist/components/FilePreview/FileHandleContentRenderer.js +27 -14
  107. package/dist/components/FilePreview/FileHandleContentRenderer.js.map +1 -1
  108. package/dist/components/FilePreview/PdfPreview.d.ts +1 -1
  109. package/dist/components/FilePreview/PdfPreview.d.ts.map +1 -1
  110. package/dist/components/FilePreview/PdfPreview.js +15 -16
  111. package/dist/components/FilePreview/PdfPreview.js.map +1 -1
  112. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.d.ts +11 -0
  113. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.d.ts.map +1 -0
  114. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js +61 -0
  115. package/dist/components/FormTemplateEditor/ChoiceOptionsEditor.js.map +1 -0
  116. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.d.ts +33 -0
  117. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.d.ts.map +1 -0
  118. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js +190 -0
  119. package/dist/components/FormTemplateEditor/FieldDefinitionDrawer.js.map +1 -0
  120. package/dist/components/FormTemplateEditor/FieldLibrary.css +1 -0
  121. package/dist/components/FormTemplateEditor/FieldLibrary.d.ts +17 -0
  122. package/dist/components/FormTemplateEditor/FieldLibrary.d.ts.map +1 -0
  123. package/dist/components/FormTemplateEditor/FieldLibrary.js +88 -0
  124. package/dist/components/FormTemplateEditor/FieldLibrary.js.map +1 -0
  125. package/dist/components/FormTemplateEditor/FieldLibrary.module.js +5 -0
  126. package/dist/components/FormTemplateEditor/FieldLibrary.module.js.map +1 -0
  127. package/dist/components/FormTemplateEditor/FieldLibrary.module.scss +12 -0
  128. package/dist/components/FormTemplateEditor/FieldLibraryRow.d.ts +19 -0
  129. package/dist/components/FormTemplateEditor/FieldLibraryRow.d.ts.map +1 -0
  130. package/dist/components/FormTemplateEditor/FieldLibraryRow.js +115 -0
  131. package/dist/components/FormTemplateEditor/FieldLibraryRow.js.map +1 -0
  132. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.css +1 -0
  133. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.d.ts +9 -0
  134. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.d.ts.map +1 -0
  135. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.js +18 -0
  136. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.js.map +1 -0
  137. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.module.js +5 -0
  138. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.module.js.map +1 -0
  139. package/dist/components/FormTemplateEditor/FieldValidationErrorAlert.module.scss +4 -0
  140. package/dist/components/FormTemplateEditor/FormStructurePanel.d.ts +21 -0
  141. package/dist/components/FormTemplateEditor/FormStructurePanel.d.ts.map +1 -0
  142. package/dist/components/FormTemplateEditor/FormStructurePanel.js +108 -0
  143. package/dist/components/FormTemplateEditor/FormStructurePanel.js.map +1 -0
  144. package/dist/components/FormTemplateEditor/FormTemplateEditor.d.ts +10 -0
  145. package/dist/components/FormTemplateEditor/FormTemplateEditor.d.ts.map +1 -0
  146. package/dist/components/FormTemplateEditor/FormTemplateEditor.js +31 -0
  147. package/dist/components/FormTemplateEditor/FormTemplateEditor.js.map +1 -0
  148. package/dist/components/FormTemplateEditor/FormTemplateEditorForm.d.ts +15 -0
  149. package/dist/components/FormTemplateEditor/FormTemplateEditorForm.d.ts.map +1 -0
  150. package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js +234 -0
  151. package/dist/components/FormTemplateEditor/FormTemplateEditorForm.js.map +1 -0
  152. package/dist/components/FormTemplateEditor/FormTemplatePreview.d.ts +14 -0
  153. package/dist/components/FormTemplateEditor/FormTemplatePreview.d.ts.map +1 -0
  154. package/dist/components/FormTemplateEditor/FormTemplatePreview.js +72 -0
  155. package/dist/components/FormTemplateEditor/FormTemplatePreview.js.map +1 -0
  156. package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.d.ts +13 -0
  157. package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.d.ts.map +1 -0
  158. package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.js +33 -0
  159. package/dist/components/FormTemplateEditor/JsonSchemaBodyEditor.js.map +1 -0
  160. package/dist/components/FormTemplateEditor/StepCard.d.ts +25 -0
  161. package/dist/components/FormTemplateEditor/StepCard.d.ts.map +1 -0
  162. package/dist/components/FormTemplateEditor/StepCard.js +203 -0
  163. package/dist/components/FormTemplateEditor/StepCard.js.map +1 -0
  164. package/dist/components/FormTemplateEditor/StepFieldRow.d.ts +34 -0
  165. package/dist/components/FormTemplateEditor/StepFieldRow.d.ts.map +1 -0
  166. package/dist/components/FormTemplateEditor/StepFieldRow.js +128 -0
  167. package/dist/components/FormTemplateEditor/StepFieldRow.js.map +1 -0
  168. package/dist/components/FormTemplateEditor/TemplateFileHandleField.d.ts +19 -0
  169. package/dist/components/FormTemplateEditor/TemplateFileHandleField.d.ts.map +1 -0
  170. package/dist/components/FormTemplateEditor/TemplateFileHandleField.js +78 -0
  171. package/dist/components/FormTemplateEditor/TemplateFileHandleField.js.map +1 -0
  172. package/dist/components/FormTemplateEditor/dragHandle.css +1 -0
  173. package/dist/components/FormTemplateEditor/dragHandle.module.js +8 -0
  174. package/dist/components/FormTemplateEditor/dragHandle.module.js.map +1 -0
  175. package/dist/components/FormTemplateEditor/dragHandle.module.scss +22 -0
  176. package/dist/components/FormTemplateEditor/dropTarget.css +1 -0
  177. package/dist/components/FormTemplateEditor/dropTarget.module.js +5 -0
  178. package/dist/components/FormTemplateEditor/dropTarget.module.js.map +1 -0
  179. package/dist/components/FormTemplateEditor/dropTarget.module.scss +14 -0
  180. package/dist/components/FormTemplateEditor/formTemplateDraftState.d.ts +48 -0
  181. package/dist/components/FormTemplateEditor/formTemplateDraftState.d.ts.map +1 -0
  182. package/dist/components/FormTemplateEditor/formTemplateDraftState.js +126 -0
  183. package/dist/components/FormTemplateEditor/formTemplateDraftState.js.map +1 -0
  184. package/dist/components/FormTemplateEditor/formTemplateSchema.d.ts +35 -0
  185. package/dist/components/FormTemplateEditor/formTemplateSchema.d.ts.map +1 -0
  186. package/dist/components/FormTemplateEditor/formTemplateSchema.js +35 -0
  187. package/dist/components/FormTemplateEditor/formTemplateSchema.js.map +1 -0
  188. package/dist/components/FormTemplateEditor/formTemplateValidation.d.ts +32 -0
  189. package/dist/components/FormTemplateEditor/formTemplateValidation.d.ts.map +1 -0
  190. package/dist/components/FormTemplateEditor/formTemplateValidation.js +75 -0
  191. package/dist/components/FormTemplateEditor/formTemplateValidation.js.map +1 -0
  192. package/dist/components/FormTemplateEditor/schemaFieldUtils.d.ts +27 -0
  193. package/dist/components/FormTemplateEditor/schemaFieldUtils.d.ts.map +1 -0
  194. package/dist/components/FormTemplateEditor/schemaFieldUtils.js +84 -0
  195. package/dist/components/FormTemplateEditor/schemaFieldUtils.js.map +1 -0
  196. package/dist/components/FormTemplateEditor/sortableIds.d.ts +23 -0
  197. package/dist/components/FormTemplateEditor/sortableIds.d.ts.map +1 -0
  198. package/dist/components/FormTemplateEditor/sortableIds.js +24 -0
  199. package/dist/components/FormTemplateEditor/sortableIds.js.map +1 -0
  200. package/dist/components/FormTemplateEditor/useFormTemplateDraft.d.ts +33 -0
  201. package/dist/components/FormTemplateEditor/useFormTemplateDraft.d.ts.map +1 -0
  202. package/dist/components/FormTemplateEditor/useFormTemplateDraft.js +59 -0
  203. package/dist/components/FormTemplateEditor/useFormTemplateDraft.js.map +1 -0
  204. package/dist/components/FormTemplateEditor/useFormTemplateDrag.d.ts +9 -0
  205. package/dist/components/FormTemplateEditor/useFormTemplateDrag.d.ts.map +1 -0
  206. package/dist/components/FormTemplateEditor/useFormTemplateDrag.js +66 -0
  207. package/dist/components/FormTemplateEditor/useFormTemplateDrag.js.map +1 -0
  208. package/dist/components/FormTemplateEditor/useSaveFormTemplate.d.ts +28 -0
  209. package/dist/components/FormTemplateEditor/useSaveFormTemplate.d.ts.map +1 -0
  210. package/dist/components/FormTemplateEditor/useSaveFormTemplate.js +54 -0
  211. package/dist/components/FormTemplateEditor/useSaveFormTemplate.js.map +1 -0
  212. package/dist/components/FormTemplateEditor/utils.d.ts +21 -0
  213. package/dist/components/FormTemplateEditor/utils.d.ts.map +1 -0
  214. package/dist/components/FormTemplateEditor/utils.js +24 -0
  215. package/dist/components/FormTemplateEditor/utils.js.map +1 -0
  216. package/dist/components/JsonSchemaForm/CustomFormContext.d.ts +1 -1
  217. package/dist/components/JsonSchemaForm/CustomFormContext.d.ts.map +1 -1
  218. package/dist/components/JsonSchemaForm/JsonSchemaForm.css +1 -1
  219. package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js +1 -1
  220. package/dist/components/JsonSchemaForm/JsonSchemaForm.module.js.map +1 -1
  221. package/dist/components/JsonSchemaForm/JsonSchemaForm.module.scss +6 -1
  222. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.d.ts.map +1 -1
  223. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js +4 -0
  224. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
  225. package/dist/components/JsonSchemaForm/widgets/SelectWidget.d.ts +11 -0
  226. package/dist/components/JsonSchemaForm/widgets/SelectWidget.d.ts.map +1 -1
  227. package/dist/components/JsonSchemaForm/widgets/SelectWidget.js +28 -19
  228. package/dist/components/JsonSchemaForm/widgets/SelectWidget.js.map +1 -1
  229. package/dist/components/QueryBuilder/FilterConditionRow.css +1 -1
  230. package/dist/components/QueryBuilder/FilterConditionRow.d.ts +3 -0
  231. package/dist/components/QueryBuilder/FilterConditionRow.d.ts.map +1 -1
  232. package/dist/components/QueryBuilder/FilterConditionRow.js +123 -123
  233. package/dist/components/QueryBuilder/FilterConditionRow.js.map +1 -1
  234. package/dist/components/QueryBuilder/FilterConditionRow.module.js +10 -11
  235. package/dist/components/QueryBuilder/FilterConditionRow.module.js.map +1 -1
  236. package/dist/components/QueryBuilder/FilterConditionRow.module.scss +0 -5
  237. package/dist/components/QueryBuilder/FilterGroupNode.css +1 -1
  238. package/dist/components/QueryBuilder/FilterGroupNode.d.ts +4 -0
  239. package/dist/components/QueryBuilder/FilterGroupNode.d.ts.map +1 -1
  240. package/dist/components/QueryBuilder/FilterGroupNode.js +85 -51
  241. package/dist/components/QueryBuilder/FilterGroupNode.js.map +1 -1
  242. package/dist/components/QueryBuilder/FilterGroupNode.module.js +10 -9
  243. package/dist/components/QueryBuilder/FilterGroupNode.module.js.map +1 -1
  244. package/dist/components/QueryBuilder/FilterGroupNode.module.scss +9 -0
  245. package/dist/components/QueryBuilder/QBDragHandle.d.ts +10 -0
  246. package/dist/components/QueryBuilder/QBDragHandle.d.ts.map +1 -0
  247. package/dist/components/QueryBuilder/QBDragHandle.js +22 -0
  248. package/dist/components/QueryBuilder/QBDragHandle.js.map +1 -0
  249. package/dist/components/QueryBuilder/QueryBuilderControls.d.ts.map +1 -1
  250. package/dist/components/QueryBuilder/QueryBuilderControls.js +120 -108
  251. package/dist/components/QueryBuilder/QueryBuilderControls.js.map +1 -1
  252. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts +7 -0
  253. package/dist/components/QueryBuilder/QueryBuilderInternalContext.d.ts.map +1 -1
  254. package/dist/components/QueryBuilder/QueryBuilderInternalContext.js.map +1 -1
  255. package/dist/components/QueryBuilder/qbTreeToReadable.d.ts +2 -1
  256. package/dist/components/QueryBuilder/qbTreeToReadable.d.ts.map +1 -1
  257. package/dist/components/QueryBuilder/qbTreeToReadable.js +25 -21
  258. package/dist/components/QueryBuilder/qbTreeToReadable.js.map +1 -1
  259. package/dist/components/QueryBuilder/queryBuilderDnd.d.ts +27 -0
  260. package/dist/components/QueryBuilder/queryBuilderDnd.d.ts.map +1 -0
  261. package/dist/components/QueryBuilder/queryBuilderDnd.js +41 -0
  262. package/dist/components/QueryBuilder/queryBuilderDnd.js.map +1 -0
  263. package/dist/components/QueryBuilder/queryBuilderDrag.css +1 -0
  264. package/dist/components/QueryBuilder/queryBuilderDrag.module.js +8 -0
  265. package/dist/components/QueryBuilder/queryBuilderDrag.module.js.map +1 -0
  266. package/dist/components/QueryBuilder/queryBuilderDrag.module.scss +12 -0
  267. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts +16 -0
  268. package/dist/components/QueryBuilder/queryBuilderMetadata.d.ts.map +1 -1
  269. package/dist/components/QueryBuilder/queryBuilderMetadata.js +13 -5
  270. package/dist/components/QueryBuilder/queryBuilderMetadata.js.map +1 -1
  271. package/dist/components/QueryBuilder/queryBuilderOperations.d.ts +13 -0
  272. package/dist/components/QueryBuilder/queryBuilderOperations.d.ts.map +1 -1
  273. package/dist/components/QueryBuilder/queryBuilderOperations.js +39 -36
  274. package/dist/components/QueryBuilder/queryBuilderOperations.js.map +1 -1
  275. package/dist/components/QueryBuilder/useQBValueDisplayName.d.ts +18 -0
  276. package/dist/components/QueryBuilder/useQBValueDisplayName.d.ts.map +1 -0
  277. package/dist/components/QueryBuilder/useQBValueDisplayName.js +64 -0
  278. package/dist/components/QueryBuilder/useQBValueDisplayName.js.map +1 -0
  279. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  280. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +46 -47
  281. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  282. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +6 -6
  283. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.d.ts +1 -0
  284. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.d.ts.map +1 -1
  285. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js +13 -11
  286. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js.map +1 -1
  287. package/dist/components/SynapseTable/SearchV2.js +4 -4
  288. package/dist/components/ToastMessage/ToastMessage.d.ts.map +1 -1
  289. package/dist/components/ToastMessage/ToastMessage.js +25 -22
  290. package/dist/components/ToastMessage/ToastMessage.js.map +1 -1
  291. package/dist/components/dataaccess/FormTemplateEditorRoute.d.ts +7 -0
  292. package/dist/components/dataaccess/FormTemplateEditorRoute.d.ts.map +1 -0
  293. package/dist/components/dataaccess/FormTemplateEditorRoute.js +26 -0
  294. package/dist/components/dataaccess/FormTemplateEditorRoute.js.map +1 -0
  295. package/dist/components/dataaccess/FormTemplateTable.d.ts +10 -0
  296. package/dist/components/dataaccess/FormTemplateTable.d.ts.map +1 -0
  297. package/dist/components/dataaccess/FormTemplateTable.js +124 -0
  298. package/dist/components/dataaccess/FormTemplateTable.js.map +1 -0
  299. package/dist/components/dataaccess/ReviewerDashboard.d.ts.map +1 -1
  300. package/dist/components/dataaccess/ReviewerDashboard.js +80 -50
  301. package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
  302. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.d.ts.map +1 -1
  303. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js +2 -0
  304. package/dist/components/dataaccess/UserAccessRequestHistory/InFlightEDucSignaturesTable.js.map +1 -1
  305. package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts +0 -1
  306. package/dist/components/entity/page/title_bar/EntityPageTitleBar.d.ts.map +1 -1
  307. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js +35 -36
  308. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
  309. package/dist/components/styled/LeftRightPanel.d.ts.map +1 -1
  310. package/dist/components/styled/LeftRightPanel.js +19 -2
  311. package/dist/components/styled/LeftRightPanel.js.map +1 -1
  312. package/dist/components/widgets/FileHandleLink.d.ts +12 -2
  313. package/dist/components/widgets/FileHandleLink.d.ts.map +1 -1
  314. package/dist/components/widgets/FileHandleLink.js +25 -29
  315. package/dist/components/widgets/FileHandleLink.js.map +1 -1
  316. package/dist/mocks/accessRequirement/mockFormTemplates.d.ts +4 -2
  317. package/dist/mocks/accessRequirement/mockFormTemplates.d.ts.map +1 -1
  318. package/dist/mocks/accessRequirement/mockFormTemplates.js +13 -14
  319. package/dist/mocks/accessRequirement/mockFormTemplates.js.map +1 -1
  320. package/dist/mocks/accessRequirement/mockJsonSchemas.d.ts +4 -1
  321. package/dist/mocks/accessRequirement/mockJsonSchemas.d.ts.map +1 -1
  322. package/dist/mocks/accessRequirement/mockJsonSchemas.js +24 -17
  323. package/dist/mocks/accessRequirement/mockJsonSchemas.js.map +1 -1
  324. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts +41 -14
  325. package/dist/mocks/msw/handlers/asyncJobHandlers.d.ts.map +1 -1
  326. package/dist/mocks/msw/handlers/asyncJobHandlers.js +53 -44
  327. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  328. package/dist/mocks/msw/handlers/authHandlers.d.ts +1 -0
  329. package/dist/mocks/msw/handlers/authHandlers.d.ts.map +1 -1
  330. package/dist/mocks/msw/handlers/authHandlers.js +6 -2
  331. package/dist/mocks/msw/handlers/authHandlers.js.map +1 -1
  332. package/dist/mocks/msw/handlers/chatHandlers.d.ts.map +1 -1
  333. package/dist/mocks/msw/handlers/chatHandlers.js +19 -13
  334. package/dist/mocks/msw/handlers/chatHandlers.js.map +1 -1
  335. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts +2 -0
  336. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.d.ts.map +1 -1
  337. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js +52 -46
  338. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
  339. package/dist/mocks/msw/handlers/fileHandlers.d.ts.map +1 -1
  340. package/dist/mocks/msw/handlers/fileHandlers.js +25 -21
  341. package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
  342. package/dist/mocks/msw/handlers/formTemplateHandlers.d.ts +2 -1
  343. package/dist/mocks/msw/handlers/formTemplateHandlers.d.ts.map +1 -1
  344. package/dist/mocks/msw/handlers/formTemplateHandlers.js +18 -18
  345. package/dist/mocks/msw/handlers/formTemplateHandlers.js.map +1 -1
  346. package/dist/mocks/msw/handlers/schemaHandlers.d.ts +10 -1
  347. package/dist/mocks/msw/handlers/schemaHandlers.d.ts.map +1 -1
  348. package/dist/mocks/msw/handlers/schemaHandlers.js +30 -7
  349. package/dist/mocks/msw/handlers/schemaHandlers.js.map +1 -1
  350. package/dist/mocks/msw/handlers/searchQueryHandlers.d.ts.map +1 -1
  351. package/dist/mocks/msw/handlers/searchQueryHandlers.js +24 -18
  352. package/dist/mocks/msw/handlers/searchQueryHandlers.js.map +1 -1
  353. package/dist/mocks/msw/handlers/tableQueryHandlers.d.ts.map +1 -1
  354. package/dist/mocks/msw/handlers/tableQueryHandlers.js +35 -16
  355. package/dist/mocks/msw/handlers/tableQueryHandlers.js.map +1 -1
  356. package/dist/mocks/msw/handlers/twoFactorEnrollmentHandlers.d.ts +8 -0
  357. package/dist/mocks/msw/handlers/twoFactorEnrollmentHandlers.d.ts.map +1 -0
  358. package/dist/mocks/msw/handlers/twoFactorEnrollmentHandlers.js +19 -0
  359. package/dist/mocks/msw/handlers/twoFactorEnrollmentHandlers.js.map +1 -0
  360. package/dist/style/abstracts/_cssVariables.scss +13 -0
  361. package/dist/style/components/_toasts.scss +10 -1
  362. package/dist/style/main.css +1 -1
  363. package/dist/synapse-queries/KeyFactory.d.ts +9 -3
  364. package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
  365. package/dist/synapse-queries/KeyFactory.js +17 -7
  366. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  367. package/dist/synapse-queries/auth/index.d.ts +1 -0
  368. package/dist/synapse-queries/auth/index.d.ts.map +1 -1
  369. package/dist/synapse-queries/auth/index.js +2 -1
  370. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.d.ts +11 -0
  371. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.d.ts.map +1 -0
  372. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js +19 -0
  373. package/dist/synapse-queries/auth/useUnbindOAuthProviderIdentity.js.map +1 -0
  374. package/dist/synapse-queries/dataaccess/index.d.ts +0 -1
  375. package/dist/synapse-queries/dataaccess/index.d.ts.map +1 -1
  376. package/dist/synapse-queries/dataaccess/index.js +3 -4
  377. package/dist/synapse-queries/dataaccess/useEDuc.d.ts +18 -0
  378. package/dist/synapse-queries/dataaccess/useEDuc.d.ts.map +1 -1
  379. package/dist/synapse-queries/dataaccess/useEDuc.js +33 -1
  380. package/dist/synapse-queries/dataaccess/useEDuc.js.map +1 -1
  381. package/dist/synapse-queries/file/useDirectUploadToS3.js +6 -6
  382. package/dist/synapse-queries/file/useFileHandle.d.ts +8 -0
  383. package/dist/synapse-queries/file/useFileHandle.d.ts.map +1 -1
  384. package/dist/synapse-queries/file/useFileHandle.js +15 -6
  385. package/dist/synapse-queries/file/useFileHandle.js.map +1 -1
  386. package/dist/synapse-queries/index.js +260 -257
  387. package/dist/synapse-queries/jsonschema/index.js +2 -2
  388. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts +9 -0
  389. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.d.ts.map +1 -0
  390. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js +22 -0
  391. package/dist/synapse-queries/jsonschema/useCreateJsonSchema.js.map +1 -0
  392. package/dist/synapse-queries/jsonschema/useSchema.d.ts +5 -0
  393. package/dist/synapse-queries/jsonschema/useSchema.d.ts.map +1 -1
  394. package/dist/synapse-queries/jsonschema/useSchema.js +9 -1
  395. package/dist/synapse-queries/jsonschema/useSchema.js.map +1 -1
  396. package/dist/testutils/vitest.setup.js +18 -9
  397. package/dist/testutils/vitest.setup.js.map +1 -1
  398. package/dist/tsconfig.build.tsbuildinfo +1 -1
  399. package/dist/utils/APIConstants.d.ts +2 -0
  400. package/dist/utils/APIConstants.d.ts.map +1 -1
  401. package/dist/utils/APIConstants.js +2 -2
  402. package/dist/utils/APIConstants.js.map +1 -1
  403. package/dist/utils/appendFinalQueryParamKey.d.ts.map +1 -1
  404. package/dist/utils/appendFinalQueryParamKey.js +4 -1
  405. package/dist/utils/appendFinalQueryParamKey.js.map +1 -1
  406. package/dist/utils/featureflag/FeatureFlags.d.ts +2 -0
  407. package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
  408. package/dist/utils/featureflag/FeatureFlags.js +1 -1
  409. package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
  410. package/dist/utils/functions/ArrayUtils.d.ts +3 -0
  411. package/dist/utils/functions/ArrayUtils.d.ts.map +1 -1
  412. package/dist/utils/functions/ArrayUtils.js +7 -1
  413. package/dist/utils/functions/ArrayUtils.js.map +1 -1
  414. package/dist/utils/functions/toPascalCase.d.ts +6 -0
  415. package/dist/utils/functions/toPascalCase.d.ts.map +1 -0
  416. package/dist/utils/functions/toPascalCase.js +8 -0
  417. package/dist/utils/functions/toPascalCase.js.map +1 -0
  418. package/dist/utils/jsonschema/generateDataAccessSchema.d.ts +26 -0
  419. package/dist/utils/jsonschema/generateDataAccessSchema.d.ts.map +1 -0
  420. package/dist/utils/jsonschema/generateDataAccessSchema.js +28 -0
  421. package/dist/utils/jsonschema/generateDataAccessSchema.js.map +1 -0
  422. package/dist/utils/jsonschema/submissionContext.d.ts +91 -0
  423. package/dist/utils/jsonschema/submissionContext.d.ts.map +1 -0
  424. package/dist/utils/jsonschema/submissionContext.js +178 -0
  425. package/dist/utils/jsonschema/submissionContext.js.map +1 -0
  426. package/package.json +13 -10
  427. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.d.ts +0 -6
  428. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.d.ts.map +0 -1
  429. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js +0 -32
  430. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js.map +0 -1
  431. package/dist/components/entity/page/title_bar/TitleBarProperties.d.ts +0 -9
  432. package/dist/components/entity/page/title_bar/TitleBarProperties.d.ts.map +0 -1
  433. package/dist/components/entity/page/title_bar/TitleBarProperties.js +0 -24
  434. package/dist/components/entity/page/title_bar/TitleBarProperties.js.map +0 -1
  435. package/dist/synapse-queries/dataaccess/useGenerateDataAccessSchema.d.ts +0 -21
  436. package/dist/synapse-queries/dataaccess/useGenerateDataAccessSchema.d.ts.map +0 -1
  437. package/dist/synapse-queries/dataaccess/useGenerateDataAccessSchema.js +0 -34
  438. package/dist/synapse-queries/dataaccess/useGenerateDataAccessSchema.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fileHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/fileHandlers.ts"],"sourcesContent":["import { FILE, FILE_HANDLE_BATCH } from '@/utils/APIConstants'\nimport { ExternalFileHandleInterface } from '@sage-bionetworks/synapse-client'\nimport {\n BatchFileRequest,\n BatchFileResult,\n MultipartUploadStatus,\n} from '@sage-bionetworks/synapse-types'\nimport { uniqueId } from 'lodash-es'\nimport { http, HttpResponse } from 'msw'\nimport { mockFileHandles } from '../../mock_file_handle'\nimport { MOCK_USER_ID } from '../../user/mock_user_profile'\nimport { SynapseApiResponse } from '../handlers'\n\nexport function getFileHandlers(backendOrigin: string) {\n return [\n http.post<never, BatchFileRequest>(\n `${backendOrigin}${FILE_HANDLE_BATCH}`,\n async ({ request }) => {\n const requestBody: BatchFileRequest = await request.json()\n\n const response: BatchFileResult = {\n requestedFiles: [],\n }\n\n requestBody.requestedFiles.forEach(fileHandleAssociation => {\n const fileHandle = mockFileHandles.find(\n fh => fh.id === fileHandleAssociation.fileHandleId,\n )\n if (fileHandle) {\n response.requestedFiles.push({\n fileHandleId: fileHandle.id,\n fileHandle,\n })\n }\n })\n\n return HttpResponse.json(response, { status: 201 })\n },\n ),\n\n http.post(`${backendOrigin}${FILE}/file/multipart`, () => {\n // Each upload must get its own fileHandleId -- reusing MOCK_FILE_HANDLE_ID for every\n // call made multi-file uploads (e.g. in chat attachments) collide on the same id, so\n // removing one attachment would remove them all.\n const response: SynapseApiResponse<MultipartUploadStatus> = {\n state: 'COMPLETED',\n resultFileHandleId: uniqueId('mockFileHandleId'),\n uploadId: uniqueId('mockUploadId'),\n startedBy: String(MOCK_USER_ID),\n startedOn: new Date().toISOString(),\n updatedOn: new Date().toISOString(),\n partsState: '1',\n }\n\n return HttpResponse.json(response, { status: 201 })\n }),\n http.put(\n `${backendOrigin}${FILE}/file/multipart/:id/complete`,\n ({ params }) => {\n const response: SynapseApiResponse<MultipartUploadStatus> = {\n state: 'COMPLETED',\n resultFileHandleId: uniqueId('mockFileHandleId'),\n uploadId: String(params.id),\n startedBy: String(MOCK_USER_ID),\n startedOn: new Date().toISOString(),\n updatedOn: new Date().toISOString(),\n partsState: '1',\n }\n\n return HttpResponse.json(response, { status: 201 })\n },\n ),\n\n http.post<never, ExternalFileHandleInterface>(\n `${backendOrigin}${FILE}/externalFileHandle`,\n async ({ request }) => {\n const requestBody = await request.json()\n\n const response: SynapseApiResponse<ExternalFileHandleInterface> = {\n ...requestBody,\n id: uniqueId(),\n etag: 'fake-etag',\n createdBy: MOCK_USER_ID.toString(),\n createdOn: new Date().toISOString(),\n modifiedOn: new Date().toISOString(),\n }\n\n return HttpResponse.json(response, { status: 201 })\n },\n ),\n ]\n}\n"],"mappings":";;;;;;AAaA,SAAgB,EAAgB,GAAuB;CACrD,OAAO;EACL,EAAK,KACH,GAAG,IAAgB,KACnB,OAAO,EAAE,iBAAc;GACrB,IAAM,IAAgC,MAAM,EAAQ,KAAK,GAEnD,IAA4B,EAChC,gBAAgB,CAAC,EACnB;GAcA,OAZA,EAAY,eAAe,SAAQ,MAAyB;IAC1D,IAAM,IAAa,EAAgB,MACjC,MAAM,EAAG,OAAO,EAAsB,YACxC;IACA,AAAI,KACF,EAAS,eAAe,KAAK;KAC3B,cAAc,EAAW;KACzB;IACF,CAAC;GAEL,CAAC,GAEM,EAAa,KAAK,GAAU,EAAE,QAAQ,IAAI,CAAC;EACpD,CACF;EAEA,EAAK,KAAK,GAAG,IAAgB,EAAK,wBAAwB;GAIxD,IAAM,IAAsD;IAC1D,OAAO;IACP,oBAAoB,EAAS,kBAAkB;IAC/C,UAAU,EAAS,cAAc;IACjC,WAAW;IACX,4BAAW,IAAI,KAAK,GAAE,YAAY;IAClC,4BAAW,IAAI,KAAK,GAAE,YAAY;IAClC,YAAY;GACd;GAEA,OAAO,EAAa,KAAK,GAAU,EAAE,QAAQ,IAAI,CAAC;EACpD,CAAC;EACD,EAAK,IACH,GAAG,IAAgB,EAAK,gCACvB,EAAE,gBAAa;GACd,IAAM,IAAsD;IAC1D,OAAO;IACP,oBAAoB,EAAS,kBAAkB;IAC/C,UAAU,OAAO,EAAO,EAAE;IAC1B,WAAW;IACX,4BAAW,IAAI,KAAK,GAAE,YAAY;IAClC,4BAAW,IAAI,KAAK,GAAE,YAAY;IAClC,YAAY;GACd;GAEA,OAAO,EAAa,KAAK,GAAU,EAAE,QAAQ,IAAI,CAAC;EACpD,CACF;EAEA,EAAK,KACH,GAAG,IAAgB,EAAK,sBACxB,OAAO,EAAE,iBAAc;GAGrB,IAAM,IAA4D;IAChE,GAAG,MAHqB,EAAQ,KAAK;IAIrC,IAAI,EAAS;IACb,MAAM;IACN,WAAA;IACA,4BAAW,IAAI,KAAK,GAAE,YAAY;IAClC,6BAAY,IAAI,KAAK,GAAE,YAAY;GACrC;GAEA,OAAO,EAAa,KAAK,GAAU,EAAE,QAAQ,IAAI,CAAC;EACpD,CACF;CACF;AACF"}
1
+ {"version":3,"file":"fileHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/fileHandlers.ts"],"sourcesContent":["import { FILE, FILE_HANDLE, FILE_HANDLE_BATCH } from '@/utils/APIConstants'\nimport { ExternalFileHandleInterface } from '@sage-bionetworks/synapse-client'\nimport {\n BatchFileRequest,\n BatchFileResult,\n MultipartUploadStatus,\n} from '@sage-bionetworks/synapse-types'\nimport { uniqueId } from 'lodash-es'\nimport { http, HttpResponse } from 'msw'\nimport { mockFileHandles } from '../../mock_file_handle'\nimport { MOCK_USER_ID } from '../../user/mock_user_profile'\nimport { SynapseApiResponse } from '../handlers'\n\nexport function getFileHandlers(backendOrigin: string) {\n return [\n http.post<never, BatchFileRequest>(\n `${backendOrigin}${FILE_HANDLE_BATCH}`,\n async ({ request }) => {\n const requestBody: BatchFileRequest = await request.json()\n\n const response: BatchFileResult = {\n requestedFiles: [],\n }\n\n requestBody.requestedFiles.forEach(fileHandleAssociation => {\n const fileHandle = mockFileHandles.find(\n fh => fh.id === fileHandleAssociation.fileHandleId,\n )\n if (fileHandle) {\n response.requestedFiles.push({\n fileHandleId: fileHandle.id,\n fileHandle,\n })\n }\n })\n\n return HttpResponse.json(response, { status: 201 })\n },\n ),\n\n http.get<{ id: string }>(\n `${backendOrigin}${FILE_HANDLE}/:id`,\n ({ params }) => {\n const fileHandle = mockFileHandles.find(fh => fh.id === params.id)\n return fileHandle\n ? HttpResponse.json(fileHandle)\n : HttpResponse.json(\n { reason: `FileHandle not found: ${params.id}` },\n { status: 404 },\n )\n },\n ),\n\n http.post(`${backendOrigin}${FILE}/file/multipart`, () => {\n // Each upload must get its own fileHandleId -- reusing MOCK_FILE_HANDLE_ID for every\n // call made multi-file uploads (e.g. in chat attachments) collide on the same id, so\n // removing one attachment would remove them all.\n const response: SynapseApiResponse<MultipartUploadStatus> = {\n state: 'COMPLETED',\n resultFileHandleId: uniqueId('mockFileHandleId'),\n uploadId: uniqueId('mockUploadId'),\n startedBy: String(MOCK_USER_ID),\n startedOn: new Date().toISOString(),\n updatedOn: new Date().toISOString(),\n partsState: '1',\n }\n\n return HttpResponse.json(response, { status: 201 })\n }),\n http.put(\n `${backendOrigin}${FILE}/file/multipart/:id/complete`,\n ({ params }) => {\n const response: SynapseApiResponse<MultipartUploadStatus> = {\n state: 'COMPLETED',\n resultFileHandleId: uniqueId('mockFileHandleId'),\n uploadId: String(params.id),\n startedBy: String(MOCK_USER_ID),\n startedOn: new Date().toISOString(),\n updatedOn: new Date().toISOString(),\n partsState: '1',\n }\n\n return HttpResponse.json(response, { status: 201 })\n },\n ),\n\n http.post<never, ExternalFileHandleInterface>(\n `${backendOrigin}${FILE}/externalFileHandle`,\n async ({ request }) => {\n const requestBody = await request.json()\n\n const response: SynapseApiResponse<ExternalFileHandleInterface> = {\n ...requestBody,\n id: uniqueId(),\n etag: 'fake-etag',\n createdBy: MOCK_USER_ID.toString(),\n createdOn: new Date().toISOString(),\n modifiedOn: new Date().toISOString(),\n }\n\n return HttpResponse.json(response, { status: 201 })\n },\n ),\n ]\n}\n"],"mappings":";;;;;;AAaA,SAAgB,EAAgB,GAAuB;CACrD,OAAO;EACL,EAAK,KACH,GAAG,IAAgB,KACnB,OAAO,EAAE,iBAAc;GACrB,IAAM,IAAgC,MAAM,EAAQ,KAAK,GAEnD,IAA4B,EAChC,gBAAgB,CAAC,EACnB;GAcA,OAZA,EAAY,eAAe,SAAQ,MAAyB;IAC1D,IAAM,IAAa,EAAgB,MACjC,MAAM,EAAG,OAAO,EAAsB,YACxC;IACA,AAAI,KACF,EAAS,eAAe,KAAK;KAC3B,cAAc,EAAW;KACzB;IACF,CAAC;GAEL,CAAC,GAEM,EAAa,KAAK,GAAU,EAAE,QAAQ,IAAI,CAAC;EACpD,CACF;EAEA,EAAK,IACH,GAAG,IAAgB,EAAY,QAC9B,EAAE,gBAAa;GACd,IAAM,IAAa,EAAgB,MAAK,MAAM,EAAG,OAAO,EAAO,EAAE;GACjE,OAAO,IACH,EAAa,KAAK,CAAU,IAC5B,EAAa,KACX,EAAE,QAAQ,yBAAyB,EAAO,KAAK,GAC/C,EAAE,QAAQ,IAAI,CAChB;EACN,CACF;EAEA,EAAK,KAAK,GAAG,IAAgB,EAAK,wBAAwB;GAIxD,IAAM,IAAsD;IAC1D,OAAO;IACP,oBAAoB,EAAS,kBAAkB;IAC/C,UAAU,EAAS,cAAc;IACjC,WAAW;IACX,4BAAW,IAAI,KAAK,GAAE,YAAY;IAClC,4BAAW,IAAI,KAAK,GAAE,YAAY;IAClC,YAAY;GACd;GAEA,OAAO,EAAa,KAAK,GAAU,EAAE,QAAQ,IAAI,CAAC;EACpD,CAAC;EACD,EAAK,IACH,GAAG,IAAgB,EAAK,gCACvB,EAAE,gBAAa;GACd,IAAM,IAAsD;IAC1D,OAAO;IACP,oBAAoB,EAAS,kBAAkB;IAC/C,UAAU,OAAO,EAAO,EAAE;IAC1B,WAAW;IACX,4BAAW,IAAI,KAAK,GAAE,YAAY;IAClC,4BAAW,IAAI,KAAK,GAAE,YAAY;IAClC,YAAY;GACd;GAEA,OAAO,EAAa,KAAK,GAAU,EAAE,QAAQ,IAAI,CAAC;EACpD,CACF;EAEA,EAAK,KACH,GAAG,IAAgB,EAAK,sBACxB,OAAO,EAAE,iBAAc;GAGrB,IAAM,IAA4D;IAChE,GAAG,MAHqB,EAAQ,KAAK;IAIrC,IAAI,EAAS;IACb,MAAM;IACN,WAAA;IACA,4BAAW,IAAI,KAAK,GAAE,YAAY;IAClC,6BAAY,IAAI,KAAK,GAAE,YAAY;GACrC;GAEA,OAAO,EAAa,KAAK,GAAU,EAAE,QAAQ,IAAI,CAAC;EACpD,CACF;CACF;AACF"}
@@ -1,5 +1,6 @@
1
1
  import { FormTemplate } from '@sage-bionetworks/synapse-client';
2
2
  import BasicMockedCrudService from '../util/BasicMockedCrudService';
3
- export declare function getFormTemplateService(): BasicMockedCrudService<FormTemplate, "id">;
3
+ export declare const getFormTemplateSearchUrl: (backendOrigin: string) => string;
4
+ export declare function getFormTemplateService(initialData?: FormTemplate[]): BasicMockedCrudService<FormTemplate, "id">;
4
5
  export declare const getFormTemplateHandlers: (backendOrigin: string, service?: BasicMockedCrudService<FormTemplate, "id">) => import("msw").HttpHandler[];
5
6
  //# sourceMappingURL=formTemplateHandlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formTemplateHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/formTemplateHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,kCAAkC,CAAA;AAGzC,OAAO,sBAAsB,MAAM,gCAAgC,CAAA;AAInE,wBAAgB,sBAAsB,+CAMrC;AAED,eAAO,MAAM,uBAAuB,GAClC,eAAe,MAAM,EACrB,oDAAkC,gCA+FnC,CAAA"}
1
+ {"version":3,"file":"formTemplateHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/formTemplateHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,kCAAkC,CAAA;AAGzC,OAAO,sBAAsB,MAAM,gCAAgC,CAAA;AAInE,eAAO,MAAM,wBAAwB,GAAI,eAAe,MAAM,WACd,CAAA;AAEhD,wBAAgB,sBAAsB,CACpC,WAAW,GAAE,YAAY,EAAsB,8CAOhD;AAED,eAAO,MAAM,uBAAuB,GAClC,eAAe,MAAM,EACrB,oDAAkC,gCAyFnC,CAAA"}
@@ -2,15 +2,15 @@ import e from "../util/BasicMockedCrudService.js";
2
2
  import { mockFormTemplates as t } from "../../accessRequirement/mockFormTemplates.js";
3
3
  import { HttpResponse as n, http as r } from "msw";
4
4
  //#region src/mocks/msw/handlers/formTemplateHandlers.ts
5
- var i = "/repo/v1/accessRequirement/formTemplate";
6
- function a() {
5
+ var i = "/repo/v1/accessRequirement/formTemplate", a = (e) => `${e}${i}/search`;
6
+ function o(n = t) {
7
7
  return new e({
8
- initialData: t,
8
+ initialData: n,
9
9
  idField: "id",
10
10
  autoGenerateId: !0
11
11
  });
12
12
  }
13
- var o = (e, t = a()) => [
13
+ var s = (e, t = o()) => [
14
14
  r.post(`${e}${i}`, async ({ request: e }) => {
15
15
  let r = await e.json(), i = t.create({
16
16
  ...r,
@@ -20,6 +20,19 @@ var o = (e, t = a()) => [
20
20
  });
21
21
  return n.json(i, { status: 201 });
22
22
  }),
23
+ r.post(a(e), async ({ request: e }) => {
24
+ let r = await e.json(), i = t.getAll();
25
+ if (r.name) {
26
+ let e = r.name.toLowerCase();
27
+ i = i.filter((t) => t.name.toLowerCase().includes(e));
28
+ }
29
+ r.includeDeprecated || (i = i.filter((e) => !e.deprecated));
30
+ let a = {
31
+ results: i,
32
+ nextPageToken: void 0
33
+ };
34
+ return n.json(a);
35
+ }),
23
36
  r.post(`${e}${i}/:id`, async ({ request: e, params: r }) => {
24
37
  let i = await e.json(), a = t.update(r.id, {
25
38
  ...i,
@@ -44,22 +57,9 @@ var o = (e, t = a()) => [
44
57
  concreteType: "org.sagebionetworks.repo.model.ErrorResponse",
45
58
  reason: `FormTemplate not found: ${e.id}`
46
59
  }, { status: 404 });
47
- }),
48
- r.post(`${e}${i}/search`, async ({ request: e }) => {
49
- let r = await e.json(), i = t.getAll();
50
- if (r.name) {
51
- let e = r.name.toLowerCase();
52
- i = i.filter((t) => t.name.toLowerCase().includes(e));
53
- }
54
- r.includeDeprecated || (i = i.filter((e) => !e.deprecated));
55
- let a = {
56
- results: i,
57
- nextPageToken: void 0
58
- };
59
- return n.json(a);
60
60
  })
61
61
  ];
62
62
  //#endregion
63
- export { o as getFormTemplateHandlers, a as getFormTemplateService };
63
+ export { s as getFormTemplateHandlers, a as getFormTemplateSearchUrl, o as getFormTemplateService };
64
64
 
65
65
  //# sourceMappingURL=formTemplateHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formTemplateHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/formTemplateHandlers.ts"],"sourcesContent":["import {\n FormTemplate,\n FormTemplateSearchRequest,\n FormTemplateSearchResponse,\n} from '@sage-bionetworks/synapse-client'\nimport { http, HttpResponse } from 'msw'\nimport { mockFormTemplates } from '../../accessRequirement/mockFormTemplates'\nimport BasicMockedCrudService from '../util/BasicMockedCrudService'\n\nconst FORM_TEMPLATE_BASE = '/repo/v1/accessRequirement/formTemplate'\n\nexport function getFormTemplateService() {\n return new BasicMockedCrudService<FormTemplate, 'id'>({\n initialData: mockFormTemplates,\n idField: 'id',\n autoGenerateId: true,\n })\n}\n\nexport const getFormTemplateHandlers = (\n backendOrigin: string,\n service = getFormTemplateService(),\n) => [\n // Create a new form template\n http.post(`${backendOrigin}${FORM_TEMPLATE_BASE}`, async ({ request }) => {\n const body = (await request.json()) as FormTemplate\n const created = service.create({\n ...body,\n etag: crypto.randomUUID(),\n versionNumber: 1,\n deprecated: body.deprecated ?? false,\n })\n return HttpResponse.json(created, { status: 201 })\n }),\n\n // Update a form template by id (creates a new version)\n http.post(\n `${backendOrigin}${FORM_TEMPLATE_BASE}/:id`,\n async ({ request, params }) => {\n const body = (await request.json()) as FormTemplate\n const updated = service.update(params.id as string, {\n ...body,\n etag: crypto.randomUUID(),\n versionNumber: (body.versionNumber ?? 0) + 1,\n })\n if (!updated) {\n return HttpResponse.json(\n {\n concreteType: 'org.sagebionetworks.repo.model.ErrorResponse',\n reason: `FormTemplate not found: ${params.id}`,\n },\n { status: 404 },\n )\n }\n return HttpResponse.json(updated)\n },\n ),\n\n // Get a form template by id (latest version)\n http.get(`${backendOrigin}${FORM_TEMPLATE_BASE}/:id`, ({ params }) => {\n const template = service.getOneById(params.id as string)\n if (!template) {\n return HttpResponse.json(\n {\n concreteType: 'org.sagebionetworks.repo.model.ErrorResponse',\n reason: `FormTemplate not found: ${params.id}`,\n },\n { status: 404 },\n )\n }\n return HttpResponse.json(template)\n }),\n\n // Get a specific version of a form template\n http.get(\n `${backendOrigin}${FORM_TEMPLATE_BASE}/:id/version/:versionNumber`,\n ({ params }) => {\n const template = service.getOneById(params.id as string)\n if (!template) {\n return HttpResponse.json(\n {\n concreteType: 'org.sagebionetworks.repo.model.ErrorResponse',\n reason: `FormTemplate not found: ${params.id}`,\n },\n { status: 404 },\n )\n }\n return HttpResponse.json(template)\n },\n ),\n\n // Search form templates\n http.post(\n `${backendOrigin}${FORM_TEMPLATE_BASE}/search`,\n async ({ request }) => {\n const body = (await request.json()) as FormTemplateSearchRequest\n let results = service.getAll()\n\n if (body.name) {\n const searchLower = body.name.toLowerCase()\n results = results.filter(t =>\n t.name.toLowerCase().includes(searchLower),\n )\n }\n\n if (!body.includeDeprecated) {\n results = results.filter(t => !t.deprecated)\n }\n\n const response: FormTemplateSearchResponse = {\n results,\n nextPageToken: undefined,\n }\n return HttpResponse.json(response)\n },\n ),\n]\n"],"mappings":";;;;AASA,IAAM,IAAqB;AAE3B,SAAgB,IAAyB;CACvC,OAAO,IAAI,EAA2C;EACpD,aAAa;EACb,SAAS;EACT,gBAAgB;CAClB,CAAC;AACH;AAEA,IAAa,KACX,GACA,IAAU,EAAuB,MAC9B;CAEH,EAAK,KAAK,GAAG,IAAgB,KAAsB,OAAO,EAAE,iBAAc;EACxE,IAAM,IAAQ,MAAM,EAAQ,KAAK,GAC3B,IAAU,EAAQ,OAAO;GAC7B,GAAG;GACH,MAAM,OAAO,WAAW;GACxB,eAAe;GACf,YAAY,EAAK,cAAc;EACjC,CAAC;EACD,OAAO,EAAa,KAAK,GAAS,EAAE,QAAQ,IAAI,CAAC;CACnD,CAAC;CAGD,EAAK,KACH,GAAG,IAAgB,EAAmB,OACtC,OAAO,EAAE,YAAS,gBAAa;EAC7B,IAAM,IAAQ,MAAM,EAAQ,KAAK,GAC3B,IAAU,EAAQ,OAAO,EAAO,IAAc;GAClD,GAAG;GACH,MAAM,OAAO,WAAW;GACxB,gBAAgB,EAAK,iBAAiB,KAAK;EAC7C,CAAC;EAUD,OATK,IASE,EAAa,KAAK,CAAO,IARvB,EAAa,KAClB;GACE,cAAc;GACd,QAAQ,2BAA2B,EAAO;EAC5C,GACA,EAAE,QAAQ,IAAI,CAChB;CAGJ,CACF;CAGA,EAAK,IAAI,GAAG,IAAgB,EAAmB,QAAQ,EAAE,gBAAa;EACpE,IAAM,IAAW,EAAQ,WAAW,EAAO,EAAY;EAUvD,OATK,IASE,EAAa,KAAK,CAAQ,IARxB,EAAa,KAClB;GACE,cAAc;GACd,QAAQ,2BAA2B,EAAO;EAC5C,GACA,EAAE,QAAQ,IAAI,CAChB;CAGJ,CAAC;CAGD,EAAK,IACH,GAAG,IAAgB,EAAmB,+BACrC,EAAE,gBAAa;EACd,IAAM,IAAW,EAAQ,WAAW,EAAO,EAAY;EAUvD,OATK,IASE,EAAa,KAAK,CAAQ,IARxB,EAAa,KAClB;GACE,cAAc;GACd,QAAQ,2BAA2B,EAAO;EAC5C,GACA,EAAE,QAAQ,IAAI,CAChB;CAGJ,CACF;CAGA,EAAK,KACH,GAAG,IAAgB,EAAmB,UACtC,OAAO,EAAE,iBAAc;EACrB,IAAM,IAAQ,MAAM,EAAQ,KAAK,GAC7B,IAAU,EAAQ,OAAO;EAE7B,IAAI,EAAK,MAAM;GACb,IAAM,IAAc,EAAK,KAAK,YAAY;GAC1C,IAAU,EAAQ,QAAO,MACvB,EAAE,KAAK,YAAY,EAAE,SAAS,CAAW,CAC3C;EACF;EAEA,AAAK,EAAK,sBACR,IAAU,EAAQ,QAAO,MAAK,CAAC,EAAE,UAAU;EAG7C,IAAM,IAAuC;GAC3C;GACA,eAAe,KAAA;EACjB;EACA,OAAO,EAAa,KAAK,CAAQ;CACnC,CACF;AACF"}
1
+ {"version":3,"file":"formTemplateHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/formTemplateHandlers.ts"],"sourcesContent":["import {\n FormTemplate,\n FormTemplateSearchRequest,\n FormTemplateSearchResponse,\n} from '@sage-bionetworks/synapse-client'\nimport { http, HttpResponse } from 'msw'\nimport { mockFormTemplates } from '../../accessRequirement/mockFormTemplates'\nimport BasicMockedCrudService from '../util/BasicMockedCrudService'\n\nconst FORM_TEMPLATE_BASE = '/repo/v1/accessRequirement/formTemplate'\n\nexport const getFormTemplateSearchUrl = (backendOrigin: string) =>\n `${backendOrigin}${FORM_TEMPLATE_BASE}/search`\n\nexport function getFormTemplateService(\n initialData: FormTemplate[] = mockFormTemplates,\n) {\n return new BasicMockedCrudService<FormTemplate, 'id'>({\n initialData,\n idField: 'id',\n autoGenerateId: true,\n })\n}\n\nexport const getFormTemplateHandlers = (\n backendOrigin: string,\n service = getFormTemplateService(),\n) => [\n // Create a new form template\n http.post(`${backendOrigin}${FORM_TEMPLATE_BASE}`, async ({ request }) => {\n const body = (await request.json()) as FormTemplate\n const created = service.create({\n ...body,\n etag: crypto.randomUUID(),\n versionNumber: 1,\n deprecated: body.deprecated ?? false,\n })\n return HttpResponse.json(created, { status: 201 })\n }),\n\n // Search form templates\n http.post(getFormTemplateSearchUrl(backendOrigin), async ({ request }) => {\n const body = (await request.json()) as FormTemplateSearchRequest\n let results = service.getAll()\n\n if (body.name) {\n const searchLower = body.name.toLowerCase()\n results = results.filter(t => t.name.toLowerCase().includes(searchLower))\n }\n\n if (!body.includeDeprecated) {\n results = results.filter(t => !t.deprecated)\n }\n\n const response: FormTemplateSearchResponse = {\n results,\n nextPageToken: undefined,\n }\n return HttpResponse.json(response)\n }),\n // Update a form template by id (creates a new version)\n http.post(\n `${backendOrigin}${FORM_TEMPLATE_BASE}/:id`,\n async ({ request, params }) => {\n const body = (await request.json()) as FormTemplate\n const updated = service.update(params.id as string, {\n ...body,\n etag: crypto.randomUUID(),\n versionNumber: (body.versionNumber ?? 0) + 1,\n })\n if (!updated) {\n return HttpResponse.json(\n {\n concreteType: 'org.sagebionetworks.repo.model.ErrorResponse',\n reason: `FormTemplate not found: ${params.id}`,\n },\n { status: 404 },\n )\n }\n return HttpResponse.json(updated)\n },\n ),\n\n // Get a form template by id (latest version)\n http.get(`${backendOrigin}${FORM_TEMPLATE_BASE}/:id`, ({ params }) => {\n const template = service.getOneById(params.id as string)\n if (!template) {\n return HttpResponse.json(\n {\n concreteType: 'org.sagebionetworks.repo.model.ErrorResponse',\n reason: `FormTemplate not found: ${params.id}`,\n },\n { status: 404 },\n )\n }\n return HttpResponse.json(template)\n }),\n\n // Get a specific version of a form template\n http.get(\n `${backendOrigin}${FORM_TEMPLATE_BASE}/:id/version/:versionNumber`,\n ({ params }) => {\n const template = service.getOneById(params.id as string)\n if (!template) {\n return HttpResponse.json(\n {\n concreteType: 'org.sagebionetworks.repo.model.ErrorResponse',\n reason: `FormTemplate not found: ${params.id}`,\n },\n { status: 404 },\n )\n }\n return HttpResponse.json(template)\n },\n ),\n]\n"],"mappings":";;;;AASA,IAAM,IAAqB,2CAEd,KAA4B,MACvC,GAAG,IAAgB,EAAmB;AAExC,SAAgB,EACd,IAA8B,GAC9B;CACA,OAAO,IAAI,EAA2C;EACpD;EACA,SAAS;EACT,gBAAgB;CAClB,CAAC;AACH;AAEA,IAAa,KACX,GACA,IAAU,EAAuB,MAC9B;CAEH,EAAK,KAAK,GAAG,IAAgB,KAAsB,OAAO,EAAE,iBAAc;EACxE,IAAM,IAAQ,MAAM,EAAQ,KAAK,GAC3B,IAAU,EAAQ,OAAO;GAC7B,GAAG;GACH,MAAM,OAAO,WAAW;GACxB,eAAe;GACf,YAAY,EAAK,cAAc;EACjC,CAAC;EACD,OAAO,EAAa,KAAK,GAAS,EAAE,QAAQ,IAAI,CAAC;CACnD,CAAC;CAGD,EAAK,KAAK,EAAyB,CAAa,GAAG,OAAO,EAAE,iBAAc;EACxE,IAAM,IAAQ,MAAM,EAAQ,KAAK,GAC7B,IAAU,EAAQ,OAAO;EAE7B,IAAI,EAAK,MAAM;GACb,IAAM,IAAc,EAAK,KAAK,YAAY;GAC1C,IAAU,EAAQ,QAAO,MAAK,EAAE,KAAK,YAAY,EAAE,SAAS,CAAW,CAAC;EAC1E;EAEA,AAAK,EAAK,sBACR,IAAU,EAAQ,QAAO,MAAK,CAAC,EAAE,UAAU;EAG7C,IAAM,IAAuC;GAC3C;GACA,eAAe,KAAA;EACjB;EACA,OAAO,EAAa,KAAK,CAAQ;CACnC,CAAC;CAED,EAAK,KACH,GAAG,IAAgB,EAAmB,OACtC,OAAO,EAAE,YAAS,gBAAa;EAC7B,IAAM,IAAQ,MAAM,EAAQ,KAAK,GAC3B,IAAU,EAAQ,OAAO,EAAO,IAAc;GAClD,GAAG;GACH,MAAM,OAAO,WAAW;GACxB,gBAAgB,EAAK,iBAAiB,KAAK;EAC7C,CAAC;EAUD,OATK,IASE,EAAa,KAAK,CAAO,IARvB,EAAa,KAClB;GACE,cAAc;GACd,QAAQ,2BAA2B,EAAO;EAC5C,GACA,EAAE,QAAQ,IAAI,CAChB;CAGJ,CACF;CAGA,EAAK,IAAI,GAAG,IAAgB,EAAmB,QAAQ,EAAE,gBAAa;EACpE,IAAM,IAAW,EAAQ,WAAW,EAAO,EAAY;EAUvD,OATK,IASE,EAAa,KAAK,CAAQ,IARxB,EAAa,KAClB;GACE,cAAc;GACd,QAAQ,2BAA2B,EAAO;EAC5C,GACA,EAAE,QAAQ,IAAI,CAChB;CAGJ,CAAC;CAGD,EAAK,IACH,GAAG,IAAgB,EAAmB,+BACrC,EAAE,gBAAa;EACd,IAAM,IAAW,EAAQ,WAAW,EAAO,EAAY;EAUvD,OATK,IASE,EAAa,KAAK,CAAQ,IARxB,EAAa,KAClB;GACE,cAAc;GACd,QAAQ,2BAA2B,EAAO;EAC5C,GACA,EAAE,QAAQ,IAAI,CAChB;CAGJ,CACF;AACF"}
@@ -1,2 +1,11 @@
1
- export declare function getValidationSchemaHandlers(backendOrigin?: string): import("msw").HttpHandler[];
1
+ import { JSONSchema7 } from 'json-schema';
2
+ export declare function getValidationSchemaHandlers(backendOrigin?: string, schemas?: JSONSchema7[]): import("msw").HttpHandler[];
3
+ /** Serves each schema as registered, looked up by its exact `$id`. */
4
+ export declare function getRegisteredSchemaHandlers(backendOrigin: string, schemas: JSONSchema7[]): import("msw").HttpHandler[];
5
+ /**
6
+ * Mocks the `CreateSchemaRequest` async job on the generic asynchronous job endpoint. Registers
7
+ * each created schema under its requested `$id` by appending it to `registeredSchemas`; pass the
8
+ * same array to {@link getRegisteredSchemaHandlers} so newly created versions can be fetched.
9
+ */
10
+ export declare function getCreateSchemaHandlers(backendOrigin: string, registeredSchemas: JSONSchema7[]): import("msw").HttpHandler[];
2
11
  //# sourceMappingURL=schemaHandlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemaHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/schemaHandlers.ts"],"names":[],"mappings":"AAqBA,wBAAgB,2BAA2B,CAAC,aAAa,CAAC,EAAE,MAAM,+BA+BjE"}
1
+ {"version":3,"file":"schemaHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/schemaHandlers.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAUzC,wBAAgB,2BAA2B,CACzC,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,GAAE,WAAW,EAAsB,+BA8B3C;AAED,sEAAsE;AACtE,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,WAAW,EAAE,+BAgBvB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,WAAW,EAAE,+BAqBjC"}
@@ -1,24 +1,47 @@
1
1
  import { SCHEMA_VALIDATION_GET as e, SCHEMA_VALIDATION_START as t } from "../../../utils/APIConstants.js";
2
2
  import { mockConditionalOnConcreteTypeSchema as n, mockFileEntityValidationSchema as r, mockProjectValidationSchema as i, mockValidationSchema as a } from "../../mockSchema.js";
3
- import { generateAsyncJobHandlers as o } from "./asyncJobHandlers.js";
3
+ import { dispatchEntry as o, generateAsyncJobHandlers as s } from "./asyncJobHandlers.js";
4
+ import { HttpResponse as c, http as l } from "msw";
4
5
  //#region src/mocks/msw/handlers/schemaHandlers.ts
5
- var s = [
6
+ var u = [
6
7
  a,
7
8
  n,
8
9
  r,
9
10
  i
10
11
  ];
11
- function c(n) {
12
- return o(t, (t) => e(t), (e) => {
13
- let t = e.$id, n = s.find((e) => e.$id?.includes(t));
12
+ function d(n, r = u) {
13
+ return s(o("org.sagebionetworks.repo.model.schema.GetValidationSchemaRequest", (e) => {
14
+ let t = e.$id, n = t ? r.find((e) => e.$id?.includes(t)) : void 0;
14
15
  if (!n) throw Error(`Validation schema with id ${t} not found in mock data.`);
15
16
  return {
16
17
  concreteType: "org.sagebionetworks.repo.model.schema.GetValidationSchemaResponse",
17
18
  validationSchema: n
18
19
  };
19
- }, n);
20
+ }), {
21
+ asyncTypeServicePaths: {
22
+ requestPath: t,
23
+ responsePath: (t) => e(t)
24
+ },
25
+ backendOrigin: n
26
+ });
27
+ }
28
+ function f(e, t) {
29
+ return [l.get(`${e}/repo/v1/schema/type/registered/:id`, ({ params: e }) => {
30
+ let n = t.find((t) => t.$id === e.id);
31
+ return n ? c.json(n, { status: 200 }) : c.json({ reason: `Schema ${String(e.id)} not found in mock data.` }, { status: 404 });
32
+ })];
33
+ }
34
+ function p(e, t) {
35
+ return s(o("org.sagebionetworks.repo.model.schema.CreateSchemaRequest", (e) => {
36
+ let { schema: n } = e, r = n?.$id;
37
+ if (!n || !r) throw Error("CreateSchemaRequest schema must declare an $id.");
38
+ return t.push(n), {
39
+ concreteType: "org.sagebionetworks.repo.model.schema.CreateSchemaResponse",
40
+ newVersionInfo: { $id: r }
41
+ };
42
+ }), { backendOrigin: e });
20
43
  }
21
44
  //#endregion
22
- export { c as getValidationSchemaHandlers };
45
+ export { p as getCreateSchemaHandlers, f as getRegisteredSchemaHandlers, d as getValidationSchemaHandlers };
23
46
 
24
47
  //# sourceMappingURL=schemaHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemaHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/schemaHandlers.ts"],"sourcesContent":["// MSW handlers for JSON Schema services\nimport {\n mockConditionalOnConcreteTypeSchema,\n mockFileEntityValidationSchema,\n mockProjectValidationSchema,\n mockValidationSchema,\n} from '@/mocks/mockSchema'\nimport { generateAsyncJobHandlers } from '@/mocks/msw/handlers/asyncJobHandlers'\nimport {\n SCHEMA_VALIDATION_GET,\n SCHEMA_VALIDATION_START,\n} from '@/utils/APIConstants'\nimport { JSONSchema7 } from 'json-schema'\n\nconst validationSchemas: JSONSchema7[] = [\n mockValidationSchema,\n mockConditionalOnConcreteTypeSchema,\n mockFileEntityValidationSchema,\n mockProjectValidationSchema,\n]\n\nexport function getValidationSchemaHandlers(backendOrigin?: string) {\n return generateAsyncJobHandlers<\n {\n concreteType: 'org.sagebionetworks.repo.model.schema.GetValidationSchemaRequest'\n $id: string\n },\n {\n concreteType: 'org.sagebionetworks.repo.model.schema.GetValidationSchemaResponse'\n validationSchema: JSONSchema7\n }\n >(\n SCHEMA_VALIDATION_START,\n tokenParam => SCHEMA_VALIDATION_GET(tokenParam),\n req => {\n const requestedId = req.$id\n const validationSchema = validationSchemas.find(schema =>\n schema.$id?.includes(requestedId),\n )\n if (!validationSchema) {\n throw new Error(\n `Validation schema with id ${requestedId} not found in mock data.`,\n )\n }\n return {\n concreteType:\n 'org.sagebionetworks.repo.model.schema.GetValidationSchemaResponse',\n validationSchema: validationSchema,\n }\n },\n backendOrigin,\n )\n}\n"],"mappings":";;;;AAcA,IAAM,IAAmC;CACvC;CACA;CACA;CACA;AACF;AAEA,SAAgB,EAA4B,GAAwB;CAClE,OAAO,EAUL,IACA,MAAc,EAAsB,CAAU,IAC9C,MAAO;EACL,IAAM,IAAc,EAAI,KAClB,IAAmB,EAAkB,MAAK,MAC9C,EAAO,KAAK,SAAS,CAAW,CAClC;EACA,IAAI,CAAC,GACH,MAAU,MACR,6BAA6B,EAAY,yBAC3C;EAEF,OAAO;GACL,cACE;GACgB;EACpB;CACF,GACA,CACF;AACF"}
1
+ {"version":3,"file":"schemaHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/schemaHandlers.ts"],"sourcesContent":["// MSW handlers for JSON Schema services\nimport {\n mockConditionalOnConcreteTypeSchema,\n mockFileEntityValidationSchema,\n mockProjectValidationSchema,\n mockValidationSchema,\n} from '@/mocks/mockSchema'\nimport {\n dispatchEntry,\n generateAsyncJobHandlers,\n} from '@/mocks/msw/handlers/asyncJobHandlers'\nimport {\n SCHEMA_VALIDATION_GET,\n SCHEMA_VALIDATION_START,\n} from '@/utils/APIConstants'\nimport { JSONSchema7 } from 'json-schema'\nimport { http, HttpResponse } from 'msw'\n\nconst validationSchemas: JSONSchema7[] = [\n mockValidationSchema,\n mockConditionalOnConcreteTypeSchema,\n mockFileEntityValidationSchema,\n mockProjectValidationSchema,\n]\n\nexport function getValidationSchemaHandlers(\n backendOrigin?: string,\n schemas: JSONSchema7[] = validationSchemas,\n) {\n return generateAsyncJobHandlers(\n dispatchEntry(\n 'org.sagebionetworks.repo.model.schema.GetValidationSchemaRequest',\n request => {\n const requestedId = request.$id\n const validationSchema = requestedId\n ? schemas.find(schema => schema.$id?.includes(requestedId))\n : undefined\n if (!validationSchema) {\n throw new Error(\n `Validation schema with id ${requestedId} not found in mock data.`,\n )\n }\n return {\n concreteType:\n 'org.sagebionetworks.repo.model.schema.GetValidationSchemaResponse',\n validationSchema,\n }\n },\n ),\n {\n asyncTypeServicePaths: {\n requestPath: SCHEMA_VALIDATION_START,\n responsePath: tokenParam => SCHEMA_VALIDATION_GET(tokenParam),\n },\n backendOrigin,\n },\n )\n}\n\n/** Serves each schema as registered, looked up by its exact `$id`. */\nexport function getRegisteredSchemaHandlers(\n backendOrigin: string,\n schemas: JSONSchema7[],\n) {\n return [\n http.get(\n `${backendOrigin}/repo/v1/schema/type/registered/:id`,\n ({ params }) => {\n const schema = schemas.find(s => s.$id === params.id)\n return schema\n ? HttpResponse.json(schema, { status: 200 })\n : HttpResponse.json(\n { reason: `Schema ${String(params.id)} not found in mock data.` },\n { status: 404 },\n )\n },\n ),\n ]\n}\n\n/**\n * Mocks the `CreateSchemaRequest` async job on the generic asynchronous job endpoint. Registers\n * each created schema under its requested `$id` by appending it to `registeredSchemas`; pass the\n * same array to {@link getRegisteredSchemaHandlers} so newly created versions can be fetched.\n */\nexport function getCreateSchemaHandlers(\n backendOrigin: string,\n registeredSchemas: JSONSchema7[],\n) {\n return generateAsyncJobHandlers(\n dispatchEntry(\n 'org.sagebionetworks.repo.model.schema.CreateSchemaRequest',\n request => {\n const { schema } = request\n const $id = schema?.$id\n if (!schema || !$id) {\n throw new Error('CreateSchemaRequest schema must declare an $id.')\n }\n registeredSchemas.push(schema as JSONSchema7)\n return {\n concreteType:\n 'org.sagebionetworks.repo.model.schema.CreateSchemaResponse',\n newVersionInfo: { $id },\n }\n },\n ),\n { backendOrigin },\n )\n}\n"],"mappings":";;;;;AAkBA,IAAM,IAAmC;CACvC;CACA;CACA;CACA;AACF;AAEA,SAAgB,EACd,GACA,IAAyB,GACzB;CACA,OAAO,EACL,EACE,qEACA,MAAW;EACT,IAAM,IAAc,EAAQ,KACtB,IAAmB,IACrB,EAAQ,MAAK,MAAU,EAAO,KAAK,SAAS,CAAW,CAAC,IACxD,KAAA;EACJ,IAAI,CAAC,GACH,MAAU,MACR,6BAA6B,EAAY,yBAC3C;EAEF,OAAO;GACL,cACE;GACF;EACF;CACF,CACF,GACA;EACE,uBAAuB;GACrB,aAAa;GACb,eAAc,MAAc,EAAsB,CAAU;EAC9D;EACA;CACF,CACF;AACF;AAGA,SAAgB,EACd,GACA,GACA;CACA,OAAO,CACL,EAAK,IACH,GAAG,EAAc,uCAChB,EAAE,gBAAa;EACd,IAAM,IAAS,EAAQ,MAAK,MAAK,EAAE,QAAQ,EAAO,EAAE;EACpD,OAAO,IACH,EAAa,KAAK,GAAQ,EAAE,QAAQ,IAAI,CAAC,IACzC,EAAa,KACX,EAAE,QAAQ,UAAU,OAAO,EAAO,EAAE,EAAE,0BAA0B,GAChE,EAAE,QAAQ,IAAI,CAChB;CACN,CACF,CACF;AACF;AAOA,SAAgB,EACd,GACA,GACA;CACA,OAAO,EACL,EACE,8DACA,MAAW;EACT,IAAM,EAAE,cAAW,GACb,IAAM,GAAQ;EACpB,IAAI,CAAC,KAAU,CAAC,GACd,MAAU,MAAM,iDAAiD;EAGnE,OADA,EAAkB,KAAK,CAAqB,GACrC;GACL,cACE;GACF,gBAAgB,EAAE,OAAI;EACxB;CACF,CACF,GACA,EAAE,iBAAc,CAClB;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"searchQueryHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/searchQueryHandlers.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,iBAAiB,EAClB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,gBAAgB,EAEhB,iBAAiB,EAClB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,KAAK,CAAA;AAKjC;;;GAGG;AACH,KAAK,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,GAAG;IACjE,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;CACvD,CAAA;AAwCD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,iBAAiB,QAQ1B;AAmED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,SAAoD,GAChE,WAAW,EAAE,CAOf"}
1
+ {"version":3,"file":"searchQueryHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/searchQueryHandlers.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,iBAAiB,EAClB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,gBAAgB,EAEhB,iBAAiB,EAClB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,KAAK,CAAA;AAKjC;;;GAGG;AACH,KAAK,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,GAAG;IACjE,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;CACvD,CAAA;AAwCD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,mBAAmB,EAC7B,MAAM,EAAE,iBAAiB,QAQ1B;AAmED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,SAAoD,GAChE,WAAW,EAAE,CAcf"}
@@ -2,37 +2,37 @@ import { BackendDestinationEnum as e, getEndpoint as t } from "../../../utils/fu
2
2
  import { SEARCH_QUERY_ASYNC_GET as n, SEARCH_QUERY_ASYNC_START as r } from "../../../utils/APIConstants.js";
3
3
  import { mockSearchQueryResultBundle as i } from "../../mockSearchQueryData.js";
4
4
  import a from "../util/BasicMockedCrudService.js";
5
- import { generateAsyncJobHandlers as o } from "./asyncJobHandlers.js";
6
- import { cloneDeep as s } from "lodash-es";
5
+ import { dispatchEntry as o, generateAsyncJobHandlers as s } from "./asyncJobHandlers.js";
6
+ import { cloneDeep as c } from "lodash-es";
7
7
  //#region src/mocks/msw/handlers/searchQueryHandlers.ts
8
- var c = new a({
8
+ var l = new a({
9
9
  idField: "id",
10
10
  autoGenerateId: !0
11
11
  });
12
- function l(e, t = 25, n = 0) {
13
- let r = s(e);
12
+ function u(e, t = 25, n = 0) {
13
+ let r = c(e);
14
14
  return r.queryResult?.queryResults.rows && (r.queryResult.queryResults.rows = r.queryResult.queryResults.rows.slice(n, n + t)), r;
15
15
  }
16
- function u(e, t) {
17
- return l(t, e.searchQuery?.size, e.searchQuery?.from);
18
- }
19
16
  function d(e, t) {
20
- let n = c.getOneByField("queryKey", e);
21
- n ? c.update(n.id, {
17
+ return u(t, e.searchQuery?.size, e.searchQuery?.from);
18
+ }
19
+ function f(e, t) {
20
+ let n = l.getOneByField("queryKey", e);
21
+ n ? l.update(n.id, {
22
22
  ...n,
23
23
  result: t
24
- }) : c.create({
24
+ }) : l.create({
25
25
  queryKey: e,
26
26
  result: t
27
27
  });
28
28
  }
29
- function f(e) {
30
- let t = s(e);
29
+ function p(e) {
30
+ let t = c(e);
31
31
  t.searchQuery && (delete t.searchQuery.size, delete t.searchQuery.from);
32
32
  let n = t;
33
- return u(e, c.getOneByField("queryKey", n)?.result ?? i);
33
+ return d(e, l.getOneByField("queryKey", n)?.result ?? i);
34
34
  }
35
- function p(e) {
35
+ function m(e) {
36
36
  let t = e.queryResult?.queryResults.headers ?? [], n = (e.queryResult?.queryResults.rows ?? []).map((e) => ({
37
37
  rowId: e.rowId,
38
38
  rowVersion: e.versionNumber,
@@ -57,10 +57,16 @@ function p(e) {
57
57
  offset: e.queryResult?.queryResults.rows?.length ? 0 : void 0
58
58
  };
59
59
  }
60
- function m(i = t(e.REPO_ENDPOINT)) {
61
- return o(r, (e) => n(e), (e) => p(f(e)), i);
60
+ function h(i = t(e.REPO_ENDPOINT)) {
61
+ return s(o("org.sagebionetworks.repo.model.search.table.SearchIndexQuery", (e) => m(p(e))), {
62
+ asyncTypeServicePaths: {
63
+ requestPath: r,
64
+ responsePath: (e) => n(e)
65
+ },
66
+ backendOrigin: i
67
+ });
62
68
  }
63
69
  //#endregion
64
- export { m as getHandlersForSearchQuery, d as registerSearchQueryResult };
70
+ export { h as getHandlersForSearchQuery, f as registerSearchQueryResult };
65
71
 
66
72
  //# sourceMappingURL=searchQueryHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"searchQueryHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/searchQueryHandlers.ts"],"sourcesContent":["import {\n SEARCH_QUERY_ASYNC_GET,\n SEARCH_QUERY_ASYNC_START,\n} from '@/utils/APIConstants'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\nimport {\n FacetColumnResultValues,\n QueryResultBundle,\n} from '@sage-bionetworks/synapse-types'\nimport {\n SearchIndexQuery,\n SearchQueryResults,\n SearchSearchQuery,\n} from '@sage-bionetworks/synapse-client'\nimport { cloneDeep } from 'lodash-es'\nimport { HttpHandler } from 'msw'\nimport { generateAsyncJobHandlers } from './asyncJobHandlers'\nimport { mockSearchQueryResultBundle } from '@/mocks/mockSearchQueryData'\nimport BasicMockedCrudService from '../util/BasicMockedCrudService'\n\n/**\n * A key derived from a SearchIndexQuery, excluding pagination fields.\n * Used to match registered bindings against incoming requests.\n */\ntype SearchIndexQueryKey = Omit<SearchIndexQuery, 'searchQuery'> & {\n searchQuery?: Omit<SearchSearchQuery, 'size' | 'from'>\n}\n\ntype SearchQueryBinding = {\n id: string\n queryKey: SearchIndexQueryKey\n result: QueryResultBundle\n}\n\nconst mockSearchQueryService = new BasicMockedCrudService<\n SearchQueryBinding,\n 'id'\n>({\n idField: 'id',\n autoGenerateId: true,\n})\n\nfunction applyLimitOffset(\n bundle: QueryResultBundle,\n limit = 25,\n offset = 0,\n): QueryResultBundle {\n const result = cloneDeep(bundle)\n if (result.queryResult?.queryResults.rows) {\n result.queryResult.queryResults.rows =\n result.queryResult.queryResults.rows.slice(offset, offset + limit)\n }\n return result\n}\n\nfunction processSearchRequest(\n request: SearchIndexQuery,\n baseBundle: QueryResultBundle,\n): QueryResultBundle {\n return applyLimitOffset(\n baseBundle,\n request.searchQuery?.size,\n request.searchQuery?.from,\n )\n}\n\n/**\n * Register a specific query binding for the mock search service.\n * If a binding for the same query key (ignoring limit/offset) already exists, it is updated.\n */\nexport function registerSearchQueryResult(\n queryKey: SearchIndexQueryKey,\n result: QueryResultBundle,\n) {\n const existing = mockSearchQueryService.getOneByField('queryKey', queryKey)\n if (existing) {\n mockSearchQueryService.update(existing.id, { ...existing, result })\n } else {\n mockSearchQueryService.create({ queryKey, result })\n }\n}\n\nfunction getSearchQueryResult(request: SearchIndexQuery): QueryResultBundle {\n const requestCopy = cloneDeep(request)\n if (requestCopy.searchQuery) {\n delete requestCopy.searchQuery.size\n delete requestCopy.searchQuery.from\n }\n const queryKey = requestCopy as SearchIndexQueryKey\n\n const binding = mockSearchQueryService.getOneByField('queryKey', queryKey)\n const baseBundle = binding?.result ?? mockSearchQueryResultBundle\n\n return processSearchRequest(request, baseBundle)\n}\n\n/**\n * Adapts the QueryResultBundle mock result into the SearchQueryResults shape\n * that the real SearchQueryServicesApi returns.\n */\nfunction toSearchQueryResults(bundle: QueryResultBundle): SearchQueryResults {\n const headers = bundle.queryResult?.queryResults.headers ?? []\n\n const hits = (bundle.queryResult?.queryResults.rows ?? []).map(row => ({\n rowId: row.rowId,\n rowVersion: row.versionNumber,\n fields: headers.map((header, i) => ({\n name: header.name,\n value: row.values[i] ?? undefined,\n })),\n }))\n\n const selectColumns = headers.map(header => ({\n name: header.name,\n columnType: header.columnType,\n id: header.id,\n }))\n\n return {\n concreteType:\n 'org.sagebionetworks.repo.model.search.SearchQueryResults' as const,\n totalHits: bundle.queryCount,\n hits,\n selectColumns,\n // Convert FacetColumnResultValues[] → aggregationResults (OpenSearch terms agg shape)\n // so that searchQueryResultsToQueryResultBundle can parse facet data from mock responses.\n aggregationResults: Object.fromEntries(\n (bundle.facets ?? [])\n .filter(\n (f): f is FacetColumnResultValues =>\n f.concreteType ===\n 'org.sagebionetworks.repo.model.table.FacetColumnResultValues',\n )\n .map(f => [\n f.columnName,\n {\n buckets: (f.facetValues ?? []).map(fv => ({\n key: fv.value,\n doc_count: fv.count,\n })),\n },\n ]),\n ),\n offset: bundle.queryResult?.queryResults.rows?.length ? 0 : undefined,\n }\n}\n\n/**\n * Returns MSW handlers for the SearchQueryServicesApi endpoints.\n * Uses the default mock data from mockSearchQueryData.ts unless overridden via registerSearchQueryResult().\n */\nexport function getHandlersForSearchQuery(\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n): HttpHandler[] {\n return generateAsyncJobHandlers<SearchIndexQuery, SearchQueryResults>(\n SEARCH_QUERY_ASYNC_START,\n tokenParam => SEARCH_QUERY_ASYNC_GET(tokenParam),\n request => toSearchQueryResults(getSearchQueryResult(request)),\n backendOrigin,\n )\n}\n"],"mappings":";;;;;;;AAqCA,IAAM,IAAyB,IAAI,EAGjC;CACA,SAAS;CACT,gBAAgB;AAClB,CAAC;AAED,SAAS,EACP,GACA,IAAQ,IACR,IAAS,GACU;CACnB,IAAM,IAAS,EAAU,CAAM;CAK/B,OAJI,EAAO,aAAa,aAAa,SACnC,EAAO,YAAY,aAAa,OAC9B,EAAO,YAAY,aAAa,KAAK,MAAM,GAAQ,IAAS,CAAK,IAE9D;AACT;AAEA,SAAS,EACP,GACA,GACmB;CACnB,OAAO,EACL,GACA,EAAQ,aAAa,MACrB,EAAQ,aAAa,IACvB;AACF;AAMA,SAAgB,EACd,GACA,GACA;CACA,IAAM,IAAW,EAAuB,cAAc,YAAY,CAAQ;CAC1E,AAAI,IACF,EAAuB,OAAO,EAAS,IAAI;EAAE,GAAG;EAAU;CAAO,CAAC,IAElE,EAAuB,OAAO;EAAE;EAAU;CAAO,CAAC;AAEtD;AAEA,SAAS,EAAqB,GAA8C;CAC1E,IAAM,IAAc,EAAU,CAAO;CACrC,AAAI,EAAY,gBACd,OAAO,EAAY,YAAY,MAC/B,OAAO,EAAY,YAAY;CAEjC,IAAM,IAAW;CAKjB,OAAO,EAAqB,GAHZ,EAAuB,cAAc,YAAY,CAC9C,GAAS,UAAU,CAES;AACjD;AAMA,SAAS,EAAqB,GAA+C;CAC3E,IAAM,IAAU,EAAO,aAAa,aAAa,WAAW,CAAC,GAEvD,KAAQ,EAAO,aAAa,aAAa,QAAQ,CAAC,GAAG,KAAI,OAAQ;EACrE,OAAO,EAAI;EACX,YAAY,EAAI;EAChB,QAAQ,EAAQ,KAAK,GAAQ,OAAO;GAClC,MAAM,EAAO;GACb,OAAO,EAAI,OAAO,MAAM,KAAA;EAC1B,EAAE;CACJ,EAAE,GAEI,IAAgB,EAAQ,KAAI,OAAW;EAC3C,MAAM,EAAO;EACb,YAAY,EAAO;EACnB,IAAI,EAAO;CACb,EAAE;CAEF,OAAO;EACL,cACE;EACF,WAAW,EAAO;EAClB;EACA;EAGA,oBAAoB,OAAO,aACxB,EAAO,UAAU,CAAC,GAChB,QACE,MACC,EAAE,iBACF,8DACJ,EACC,KAAI,MAAK,CACR,EAAE,YACF,EACE,UAAU,EAAE,eAAe,CAAC,GAAG,KAAI,OAAO;GACxC,KAAK,EAAG;GACR,WAAW,EAAG;EAChB,EAAE,EACJ,CACF,CAAC,CACL;EACA,QAAQ,EAAO,aAAa,aAAa,MAAM,SAAS,IAAI,KAAA;CAC9D;AACF;AAMA,SAAgB,EACd,IAAgB,EAAY,EAAuB,aAAa,GACjD;CACf,OAAO,EACL,IACA,MAAc,EAAuB,CAAU,IAC/C,MAAW,EAAqB,EAAqB,CAAO,CAAC,GAC7D,CACF;AACF"}
1
+ {"version":3,"file":"searchQueryHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/searchQueryHandlers.ts"],"sourcesContent":["import {\n SEARCH_QUERY_ASYNC_GET,\n SEARCH_QUERY_ASYNC_START,\n} from '@/utils/APIConstants'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\nimport {\n FacetColumnResultValues,\n QueryResultBundle,\n} from '@sage-bionetworks/synapse-types'\nimport {\n SearchIndexQuery,\n SearchQueryResults,\n SearchSearchQuery,\n} from '@sage-bionetworks/synapse-client'\nimport { cloneDeep } from 'lodash-es'\nimport { HttpHandler } from 'msw'\nimport { dispatchEntry, generateAsyncJobHandlers } from './asyncJobHandlers'\nimport { mockSearchQueryResultBundle } from '@/mocks/mockSearchQueryData'\nimport BasicMockedCrudService from '../util/BasicMockedCrudService'\n\n/**\n * A key derived from a SearchIndexQuery, excluding pagination fields.\n * Used to match registered bindings against incoming requests.\n */\ntype SearchIndexQueryKey = Omit<SearchIndexQuery, 'searchQuery'> & {\n searchQuery?: Omit<SearchSearchQuery, 'size' | 'from'>\n}\n\ntype SearchQueryBinding = {\n id: string\n queryKey: SearchIndexQueryKey\n result: QueryResultBundle\n}\n\nconst mockSearchQueryService = new BasicMockedCrudService<\n SearchQueryBinding,\n 'id'\n>({\n idField: 'id',\n autoGenerateId: true,\n})\n\nfunction applyLimitOffset(\n bundle: QueryResultBundle,\n limit = 25,\n offset = 0,\n): QueryResultBundle {\n const result = cloneDeep(bundle)\n if (result.queryResult?.queryResults.rows) {\n result.queryResult.queryResults.rows =\n result.queryResult.queryResults.rows.slice(offset, offset + limit)\n }\n return result\n}\n\nfunction processSearchRequest(\n request: SearchIndexQuery,\n baseBundle: QueryResultBundle,\n): QueryResultBundle {\n return applyLimitOffset(\n baseBundle,\n request.searchQuery?.size,\n request.searchQuery?.from,\n )\n}\n\n/**\n * Register a specific query binding for the mock search service.\n * If a binding for the same query key (ignoring limit/offset) already exists, it is updated.\n */\nexport function registerSearchQueryResult(\n queryKey: SearchIndexQueryKey,\n result: QueryResultBundle,\n) {\n const existing = mockSearchQueryService.getOneByField('queryKey', queryKey)\n if (existing) {\n mockSearchQueryService.update(existing.id, { ...existing, result })\n } else {\n mockSearchQueryService.create({ queryKey, result })\n }\n}\n\nfunction getSearchQueryResult(request: SearchIndexQuery): QueryResultBundle {\n const requestCopy = cloneDeep(request)\n if (requestCopy.searchQuery) {\n delete requestCopy.searchQuery.size\n delete requestCopy.searchQuery.from\n }\n const queryKey = requestCopy as SearchIndexQueryKey\n\n const binding = mockSearchQueryService.getOneByField('queryKey', queryKey)\n const baseBundle = binding?.result ?? mockSearchQueryResultBundle\n\n return processSearchRequest(request, baseBundle)\n}\n\n/**\n * Adapts the QueryResultBundle mock result into the SearchQueryResults shape\n * that the real SearchQueryServicesApi returns.\n */\nfunction toSearchQueryResults(bundle: QueryResultBundle): SearchQueryResults {\n const headers = bundle.queryResult?.queryResults.headers ?? []\n\n const hits = (bundle.queryResult?.queryResults.rows ?? []).map(row => ({\n rowId: row.rowId,\n rowVersion: row.versionNumber,\n fields: headers.map((header, i) => ({\n name: header.name,\n value: row.values[i] ?? undefined,\n })),\n }))\n\n const selectColumns = headers.map(header => ({\n name: header.name,\n columnType: header.columnType,\n id: header.id,\n }))\n\n return {\n concreteType:\n 'org.sagebionetworks.repo.model.search.SearchQueryResults' as const,\n totalHits: bundle.queryCount,\n hits,\n selectColumns,\n // Convert FacetColumnResultValues[] → aggregationResults (OpenSearch terms agg shape)\n // so that searchQueryResultsToQueryResultBundle can parse facet data from mock responses.\n aggregationResults: Object.fromEntries(\n (bundle.facets ?? [])\n .filter(\n (f): f is FacetColumnResultValues =>\n f.concreteType ===\n 'org.sagebionetworks.repo.model.table.FacetColumnResultValues',\n )\n .map(f => [\n f.columnName,\n {\n buckets: (f.facetValues ?? []).map(fv => ({\n key: fv.value,\n doc_count: fv.count,\n })),\n },\n ]),\n ),\n offset: bundle.queryResult?.queryResults.rows?.length ? 0 : undefined,\n }\n}\n\n/**\n * Returns MSW handlers for the SearchQueryServicesApi endpoints.\n * Uses the default mock data from mockSearchQueryData.ts unless overridden via registerSearchQueryResult().\n */\nexport function getHandlersForSearchQuery(\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n): HttpHandler[] {\n return generateAsyncJobHandlers(\n dispatchEntry(\n 'org.sagebionetworks.repo.model.search.table.SearchIndexQuery',\n request => toSearchQueryResults(getSearchQueryResult(request)),\n ),\n {\n asyncTypeServicePaths: {\n requestPath: SEARCH_QUERY_ASYNC_START,\n responsePath: tokenParam => SEARCH_QUERY_ASYNC_GET(tokenParam),\n },\n backendOrigin,\n },\n )\n}\n"],"mappings":";;;;;;;AAqCA,IAAM,IAAyB,IAAI,EAGjC;CACA,SAAS;CACT,gBAAgB;AAClB,CAAC;AAED,SAAS,EACP,GACA,IAAQ,IACR,IAAS,GACU;CACnB,IAAM,IAAS,EAAU,CAAM;CAK/B,OAJI,EAAO,aAAa,aAAa,SACnC,EAAO,YAAY,aAAa,OAC9B,EAAO,YAAY,aAAa,KAAK,MAAM,GAAQ,IAAS,CAAK,IAE9D;AACT;AAEA,SAAS,EACP,GACA,GACmB;CACnB,OAAO,EACL,GACA,EAAQ,aAAa,MACrB,EAAQ,aAAa,IACvB;AACF;AAMA,SAAgB,EACd,GACA,GACA;CACA,IAAM,IAAW,EAAuB,cAAc,YAAY,CAAQ;CAC1E,AAAI,IACF,EAAuB,OAAO,EAAS,IAAI;EAAE,GAAG;EAAU;CAAO,CAAC,IAElE,EAAuB,OAAO;EAAE;EAAU;CAAO,CAAC;AAEtD;AAEA,SAAS,EAAqB,GAA8C;CAC1E,IAAM,IAAc,EAAU,CAAO;CACrC,AAAI,EAAY,gBACd,OAAO,EAAY,YAAY,MAC/B,OAAO,EAAY,YAAY;CAEjC,IAAM,IAAW;CAKjB,OAAO,EAAqB,GAHZ,EAAuB,cAAc,YAAY,CAC9C,GAAS,UAAU,CAES;AACjD;AAMA,SAAS,EAAqB,GAA+C;CAC3E,IAAM,IAAU,EAAO,aAAa,aAAa,WAAW,CAAC,GAEvD,KAAQ,EAAO,aAAa,aAAa,QAAQ,CAAC,GAAG,KAAI,OAAQ;EACrE,OAAO,EAAI;EACX,YAAY,EAAI;EAChB,QAAQ,EAAQ,KAAK,GAAQ,OAAO;GAClC,MAAM,EAAO;GACb,OAAO,EAAI,OAAO,MAAM,KAAA;EAC1B,EAAE;CACJ,EAAE,GAEI,IAAgB,EAAQ,KAAI,OAAW;EAC3C,MAAM,EAAO;EACb,YAAY,EAAO;EACnB,IAAI,EAAO;CACb,EAAE;CAEF,OAAO;EACL,cACE;EACF,WAAW,EAAO;EAClB;EACA;EAGA,oBAAoB,OAAO,aACxB,EAAO,UAAU,CAAC,GAChB,QACE,MACC,EAAE,iBACF,8DACJ,EACC,KAAI,MAAK,CACR,EAAE,YACF,EACE,UAAU,EAAE,eAAe,CAAC,GAAG,KAAI,OAAO;GACxC,KAAK,EAAG;GACR,WAAW,EAAG;EAChB,EAAE,EACJ,CACF,CAAC,CACL;EACA,QAAQ,EAAO,aAAa,aAAa,MAAM,SAAS,IAAI,KAAA;CAC9D;AACF;AAMA,SAAgB,EACd,IAAgB,EAAY,EAAuB,aAAa,GACjD;CACf,OAAO,EACL,EACE,iEACA,MAAW,EAAqB,EAAqB,CAAO,CAAC,CAC/D,GACA;EACE,uBAAuB;GACrB,aAAa;GACb,eAAc,MAAc,EAAuB,CAAU;EAC/D;EACA;CACF,CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"tableQueryHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/tableQueryHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AASzD,OAAO,EAKL,8BAA8B,EAE9B,uBAAuB,EACxB,MAAM,iCAAiC,CAAA;AAOxC;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,SAAoD,EACjE,QAAQ,SAAQ,+BASjB;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,uBAAuB,EACjC,aAAa,SAAoD,+BAWlE;AAED,wBAAgB,wBAAwB,CACtC,aAAa,SAAoD,+BAalE;AAED,wBAAgB,gCAAgC,CAC9C,aAAa,SAAoD,6BAoBlE;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,kBAAkB,CAAC,8BAA8B,CAAC,EAC5D,aAAa,SAAoD,EACjE,UAAU,CAAC,EAAE,MAAM,+BAapB"}
1
+ {"version":3,"file":"tableQueryHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/tableQueryHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AASzD,OAAO,EAGL,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,iCAAiC,CAAA;AAOxC;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,SAAoD,EACjE,QAAQ,SAAQ,+BAejB;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,uBAAuB,EACjC,aAAa,SAAoD,+BAgBlE;AAED,wBAAgB,wBAAwB,CACtC,aAAa,SAAoD,+BAalE;AAED,wBAAgB,gCAAgC,CAC9C,aAAa,SAAoD,6BAoBlE;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,kBAAkB,CAAC,8BAA8B,CAAC,EAC5D,aAAa,SAAoD,EACjE,UAAU,CAAC,EAAE,MAAM,+BAiBpB"}
@@ -2,37 +2,56 @@ import { BackendDestinationEnum as e, getEndpoint as t } from "../../../utils/fu
2
2
  import { TABLE_QUERY_ASYNC_GET as n, TABLE_QUERY_ASYNC_START as r } from "../../../utils/APIConstants.js";
3
3
  import i from "../../query/defaultFileViewColumnModels.js";
4
4
  import { getTableQueryResult as a } from "./tableQueryService.js";
5
- import { generateAsyncJobHandlers as o } from "./asyncJobHandlers.js";
6
- import { uniqueId as s } from "lodash-es";
7
- import { HttpResponse as c, http as l } from "msw";
5
+ import { dispatchEntry as o, generateAsyncJobHandlers as s } from "./asyncJobHandlers.js";
6
+ import { uniqueId as c } from "lodash-es";
7
+ import { HttpResponse as l, http as u } from "msw";
8
8
  //#region src/mocks/msw/handlers/tableQueryHandlers.ts
9
- function u(i = t(e.REPO_ENDPOINT), s = ":id") {
10
- return o(r(s), (e) => n(s, e), (e) => a(e), i);
9
+ function d(i = t(e.REPO_ENDPOINT), c = ":id") {
10
+ return s(o("org.sagebionetworks.repo.model.table.QueryBundleRequest", (e) => a(e)), {
11
+ asyncTypeServicePaths: {
12
+ requestPath: r(c),
13
+ responsePath: (e) => n(c, e)
14
+ },
15
+ backendOrigin: i
16
+ });
11
17
  }
12
- function d(n, r = t(e.REPO_ENDPOINT)) {
13
- return o("/repo/v1/column/view/scope/async/start", (e) => `/repo/v1/column/view/scope/async/get/${e}`, n, r);
18
+ function f(n, r = t(e.REPO_ENDPOINT)) {
19
+ return s({ "org.sagebionetworks.repo.model.table.ViewColumnModelRequest": () => n }, {
20
+ asyncTypeServicePaths: {
21
+ requestPath: "/repo/v1/column/view/scope/async/start",
22
+ responsePath: (e) => `/repo/v1/column/view/scope/async/get/${e}`
23
+ },
24
+ backendOrigin: r
25
+ });
14
26
  }
15
- function f(n = t(e.REPO_ENDPOINT)) {
16
- return [l.get(`${n}/repo/v1/column/tableview/defaults`, () => c.json({
27
+ function p(n = t(e.REPO_ENDPOINT)) {
28
+ return [u.get(`${n}/repo/v1/column/tableview/defaults`, () => l.json({
17
29
  concreteType: "org.sagebionetworks.repo.model.table.ColumnModel",
18
30
  list: i
19
31
  }, { status: 200 }))];
20
32
  }
21
- function p(n = t(e.REPO_ENDPOINT)) {
22
- return l.post(`${n}/repo/v1/column/batch`, async ({ request: e }) => {
33
+ function m(n = t(e.REPO_ENDPOINT)) {
34
+ return u.post(`${n}/repo/v1/column/batch`, async ({ request: e }) => {
23
35
  let { list: t } = await e.json();
24
36
  return t.forEach((e) => {
25
- e.id ||= s();
26
- }), c.json({
37
+ e.id ||= c();
38
+ }), l.json({
27
39
  concreteType: "org.sagebionetworks.repo.model.table.ColumnModel",
28
40
  list: t
29
41
  }, { status: 201 });
30
42
  });
31
43
  }
32
- function m(n, r = t(e.REPO_ENDPOINT), i) {
33
- return o("/repo/v1/entity/:entityId/table/transaction/async/start", (e) => `/repo/v1/entity/:entityId/table/transaction/async/get/${e}`, n, r, i);
44
+ function h(n, r = t(e.REPO_ENDPOINT), i) {
45
+ return s({ "org.sagebionetworks.repo.model.table.TableUpdateTransactionRequest": () => n }, {
46
+ asyncTypeServicePaths: {
47
+ requestPath: "/repo/v1/entity/:entityId/table/transaction/async/start",
48
+ responsePath: (e) => `/repo/v1/entity/:entityId/table/transaction/async/get/${e}`
49
+ },
50
+ backendOrigin: r,
51
+ serviceSpecificEndpointResponseStatus: i
52
+ });
34
53
  }
35
54
  //#endregion
36
- export { d as getAnnotationColumnHandlers, p as getCreateColumnModelBatchHandler, f as getDefaultColumnHandlers, u as getHandlersForTableQuery, m as getTableTransactionHandlers };
55
+ export { f as getAnnotationColumnHandlers, m as getCreateColumnModelBatchHandler, p as getDefaultColumnHandlers, d as getHandlersForTableQuery, h as getTableTransactionHandlers };
37
56
 
38
57
  //# sourceMappingURL=tableQueryHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tableQueryHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/tableQueryHandlers.ts"],"sourcesContent":["import { SynapseApiResponse } from '@/mocks/msw/handlers'\nimport {\n TABLE_QUERY_ASYNC_GET,\n TABLE_QUERY_ASYNC_START,\n} from '@/utils/APIConstants'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\nimport {\n ColumnModel,\n QueryBundleRequest,\n QueryResultBundle,\n TableUpdateTransactionRequest,\n TableUpdateTransactionResponse,\n ViewColumnModelRequest,\n ViewColumnModelResponse,\n} from '@sage-bionetworks/synapse-types'\nimport { uniqueId } from 'lodash-es'\nimport { http, HttpResponse } from 'msw'\nimport defaultFileViewColumnModels from '../../query/defaultFileViewColumnModels'\nimport { generateAsyncJobHandlers } from './asyncJobHandlers'\nimport { getTableQueryResult } from './tableQueryService'\n\n/**\n * Creates MSW handlers for basic table query operations.\n *\n * To register a specific table query result, see `./tableQueryService#registerTableQueryResult`.\n * @param backendOrigin\n * @param entityId\n */\nexport function getHandlersForTableQuery(\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n entityId = ':id',\n) {\n return generateAsyncJobHandlers<QueryBundleRequest, QueryResultBundle>(\n TABLE_QUERY_ASYNC_START(entityId),\n tokenParam => TABLE_QUERY_ASYNC_GET(entityId, tokenParam),\n // Get the table query result from the service\n request => getTableQueryResult(request),\n backendOrigin,\n )\n}\n\nexport function getAnnotationColumnHandlers(\n response: ViewColumnModelResponse,\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n) {\n return generateAsyncJobHandlers<\n ViewColumnModelRequest,\n ViewColumnModelResponse\n >(\n '/repo/v1/column/view/scope/async/start',\n tokenParam => `/repo/v1/column/view/scope/async/get/${tokenParam}`,\n response,\n backendOrigin,\n )\n}\n\nexport function getDefaultColumnHandlers(\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n) {\n return [\n http.get(`${backendOrigin}/repo/v1/column/tableview/defaults`, () => {\n return HttpResponse.json(\n {\n concreteType: 'org.sagebionetworks.repo.model.table.ColumnModel',\n list: defaultFileViewColumnModels,\n },\n { status: 200 },\n )\n }),\n ]\n}\n\nexport function getCreateColumnModelBatchHandler(\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n) {\n return http.post<never, { list: ColumnModel[] }>(\n `${backendOrigin}/repo/v1/column/batch`,\n async ({ request }) => {\n const { list: columnModels } = await request.json()\n columnModels.forEach(cm => {\n if (!cm.id) {\n cm.id = uniqueId()\n }\n })\n return HttpResponse.json(\n {\n concreteType: 'org.sagebionetworks.repo.model.table.ColumnModel',\n list: columnModels,\n },\n { status: 201 },\n )\n },\n )\n}\n\nexport function getTableTransactionHandlers(\n response: SynapseApiResponse<TableUpdateTransactionResponse>,\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n statusCode?: number,\n) {\n return generateAsyncJobHandlers<\n TableUpdateTransactionRequest,\n SynapseApiResponse<TableUpdateTransactionResponse>\n >(\n `/repo/v1/entity/:entityId/table/transaction/async/start`,\n tokenParam =>\n `/repo/v1/entity/:entityId/table/transaction/async/get/${tokenParam}`,\n response,\n backendOrigin,\n statusCode,\n )\n}\n"],"mappings":";;;;;;;;AA+BA,SAAgB,EACd,IAAgB,EAAY,EAAuB,aAAa,GAChE,IAAW,OACX;CACA,OAAO,EACL,EAAwB,CAAQ,IAChC,MAAc,EAAsB,GAAU,CAAU,IAExD,MAAW,EAAoB,CAAO,GACtC,CACF;AACF;AAEA,SAAgB,EACd,GACA,IAAgB,EAAY,EAAuB,aAAa,GAChE;CACA,OAAO,EAIL,2CACA,MAAc,wCAAwC,KACtD,GACA,CACF;AACF;AAEA,SAAgB,EACd,IAAgB,EAAY,EAAuB,aAAa,GAChE;CACA,OAAO,CACL,EAAK,IAAI,GAAG,EAAc,2CACjB,EAAa,KAClB;EACE,cAAc;EACd,MAAM;CACR,GACA,EAAE,QAAQ,IAAI,CAChB,CACD,CACH;AACF;AAEA,SAAgB,EACd,IAAgB,EAAY,EAAuB,aAAa,GAChE;CACA,OAAO,EAAK,KACV,GAAG,EAAc,wBACjB,OAAO,EAAE,iBAAc;EACrB,IAAM,EAAE,MAAM,MAAiB,MAAM,EAAQ,KAAK;EAMlD,OALA,EAAa,SAAQ,MAAM;GACzB,AACE,EAAG,OAAK,EAAS;EAErB,CAAC,GACM,EAAa,KAClB;GACE,cAAc;GACd,MAAM;EACR,GACA,EAAE,QAAQ,IAAI,CAChB;CACF,CACF;AACF;AAEA,SAAgB,EACd,GACA,IAAgB,EAAY,EAAuB,aAAa,GAChE,GACA;CACA,OAAO,EAIL,4DACA,MACE,yDAAyD,KAC3D,GACA,GACA,CACF;AACF"}
1
+ {"version":3,"file":"tableQueryHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/tableQueryHandlers.ts"],"sourcesContent":["import { SynapseApiResponse } from '@/mocks/msw/handlers'\nimport {\n TABLE_QUERY_ASYNC_GET,\n TABLE_QUERY_ASYNC_START,\n} from '@/utils/APIConstants'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\nimport {\n ColumnModel,\n QueryBundleRequest,\n TableUpdateTransactionResponse,\n ViewColumnModelResponse,\n} from '@sage-bionetworks/synapse-types'\nimport { uniqueId } from 'lodash-es'\nimport { http, HttpResponse } from 'msw'\nimport defaultFileViewColumnModels from '../../query/defaultFileViewColumnModels'\nimport { dispatchEntry, generateAsyncJobHandlers } from './asyncJobHandlers'\nimport { getTableQueryResult } from './tableQueryService'\n\n/**\n * Creates MSW handlers for basic table query operations.\n *\n * To register a specific table query result, see `./tableQueryService#registerTableQueryResult`.\n * @param backendOrigin\n * @param entityId\n */\nexport function getHandlersForTableQuery(\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n entityId = ':id',\n) {\n return generateAsyncJobHandlers(\n dispatchEntry(\n 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n request => getTableQueryResult(request as unknown as QueryBundleRequest),\n ),\n {\n asyncTypeServicePaths: {\n requestPath: TABLE_QUERY_ASYNC_START(entityId),\n responsePath: tokenParam => TABLE_QUERY_ASYNC_GET(entityId, tokenParam),\n },\n backendOrigin,\n },\n )\n}\n\nexport function getAnnotationColumnHandlers(\n response: ViewColumnModelResponse,\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n) {\n return generateAsyncJobHandlers(\n {\n ['org.sagebionetworks.repo.model.table.ViewColumnModelRequest']: () =>\n response,\n },\n {\n asyncTypeServicePaths: {\n requestPath: '/repo/v1/column/view/scope/async/start',\n responsePath: tokenParam =>\n `/repo/v1/column/view/scope/async/get/${tokenParam}`,\n },\n backendOrigin,\n },\n )\n}\n\nexport function getDefaultColumnHandlers(\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n) {\n return [\n http.get(`${backendOrigin}/repo/v1/column/tableview/defaults`, () => {\n return HttpResponse.json(\n {\n concreteType: 'org.sagebionetworks.repo.model.table.ColumnModel',\n list: defaultFileViewColumnModels,\n },\n { status: 200 },\n )\n }),\n ]\n}\n\nexport function getCreateColumnModelBatchHandler(\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n) {\n return http.post<never, { list: ColumnModel[] }>(\n `${backendOrigin}/repo/v1/column/batch`,\n async ({ request }) => {\n const { list: columnModels } = await request.json()\n columnModels.forEach(cm => {\n if (!cm.id) {\n cm.id = uniqueId()\n }\n })\n return HttpResponse.json(\n {\n concreteType: 'org.sagebionetworks.repo.model.table.ColumnModel',\n list: columnModels,\n },\n { status: 201 },\n )\n },\n )\n}\n\nexport function getTableTransactionHandlers(\n response: SynapseApiResponse<TableUpdateTransactionResponse>,\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n statusCode?: number,\n) {\n return generateAsyncJobHandlers(\n {\n ['org.sagebionetworks.repo.model.table.TableUpdateTransactionRequest']:\n () => response,\n },\n {\n asyncTypeServicePaths: {\n requestPath: `/repo/v1/entity/:entityId/table/transaction/async/start`,\n responsePath: tokenParam =>\n `/repo/v1/entity/:entityId/table/transaction/async/get/${tokenParam}`,\n },\n backendOrigin,\n serviceSpecificEndpointResponseStatus: statusCode,\n },\n )\n}\n"],"mappings":";;;;;;;;AA4BA,SAAgB,EACd,IAAgB,EAAY,EAAuB,aAAa,GAChE,IAAW,OACX;CACA,OAAO,EACL,EACE,4DACA,MAAW,EAAoB,CAAwC,CACzE,GACA;EACE,uBAAuB;GACrB,aAAa,EAAwB,CAAQ;GAC7C,eAAc,MAAc,EAAsB,GAAU,CAAU;EACxE;EACA;CACF,CACF;AACF;AAEA,SAAgB,EACd,GACA,IAAgB,EAAY,EAAuB,aAAa,GAChE;CACA,OAAO,EACL,EACG,qEACC,EACJ,GACA;EACE,uBAAuB;GACrB,aAAa;GACb,eAAc,MACZ,wCAAwC;EAC5C;EACA;CACF,CACF;AACF;AAEA,SAAgB,EACd,IAAgB,EAAY,EAAuB,aAAa,GAChE;CACA,OAAO,CACL,EAAK,IAAI,GAAG,EAAc,2CACjB,EAAa,KAClB;EACE,cAAc;EACd,MAAM;CACR,GACA,EAAE,QAAQ,IAAI,CAChB,CACD,CACH;AACF;AAEA,SAAgB,EACd,IAAgB,EAAY,EAAuB,aAAa,GAChE;CACA,OAAO,EAAK,KACV,GAAG,EAAc,wBACjB,OAAO,EAAE,iBAAc;EACrB,IAAM,EAAE,MAAM,MAAiB,MAAM,EAAQ,KAAK;EAMlD,OALA,EAAa,SAAQ,MAAM;GACzB,AACE,EAAG,OAAK,EAAS;EAErB,CAAC,GACM,EAAa,KAClB;GACE,cAAc;GACd,MAAM;EACR,GACA,EAAE,QAAQ,IAAI,CAChB;CACF,CACF;AACF;AAEA,SAAgB,EACd,GACA,IAAgB,EAAY,EAAuB,aAAa,GAChE,GACA;CACA,OAAO,EACL,EACG,4EACO,EACV,GACA;EACE,uBAAuB;GACrB,aAAa;GACb,eAAc,MACZ,yDAAyD;EAC7D;EACA;EACA,uCAAuC;CACzC,CACF;AACF"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Rejects the submitted verification code the way the service does when it doesn't match the bound
3
+ * secret. The reason text is what the UI matches on to present the failure on the code field.
4
+ */
5
+ export declare function getInvalidCodeTwoFactorEnrollmentHandler(backendOrigin: string): import("msw").HttpHandler;
6
+ /** Fails enrollment for a reason that no change to the submitted code could resolve */
7
+ export declare function getUnexpectedErrorTwoFactorEnrollmentHandler(backendOrigin: string, message: string): import("msw").HttpHandler;
8
+ //# sourceMappingURL=twoFactorEnrollmentHandlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twoFactorEnrollmentHandlers.d.ts","sourceRoot":"","sources":["../../../../src/mocks/msw/handlers/twoFactorEnrollmentHandlers.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,wCAAwC,CACtD,aAAa,EAAE,MAAM,6BAWtB;AAED,uFAAuF;AACvF,wBAAgB,4CAA4C,CAC1D,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,6BAWhB"}
@@ -0,0 +1,19 @@
1
+ import { HttpResponse as e, http as t } from "msw";
2
+ //#region src/mocks/msw/handlers/twoFactorEnrollmentHandlers.ts
3
+ var n = "/auth/v1/2fa";
4
+ function r(r) {
5
+ return t.post(r + n, () => e.json({
6
+ concreteType: "org.sagebionetworks.repo.model.ErrorResponse",
7
+ reason: "Invalid TOTP code"
8
+ }, { status: 400 }));
9
+ }
10
+ function i(r, i) {
11
+ return t.post(r + n, () => e.json({
12
+ concreteType: "org.sagebionetworks.repo.model.ErrorResponse",
13
+ reason: i
14
+ }, { status: 500 }));
15
+ }
16
+ //#endregion
17
+ export { r as getInvalidCodeTwoFactorEnrollmentHandler, i as getUnexpectedErrorTwoFactorEnrollmentHandler };
18
+
19
+ //# sourceMappingURL=twoFactorEnrollmentHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twoFactorEnrollmentHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/twoFactorEnrollmentHandlers.ts"],"sourcesContent":["import { http, HttpResponse } from 'msw'\n\nconst TWO_FACTOR_ENROLLMENT_PATH = '/auth/v1/2fa'\n\n/**\n * Rejects the submitted verification code the way the service does when it doesn't match the bound\n * secret. The reason text is what the UI matches on to present the failure on the code field.\n */\nexport function getInvalidCodeTwoFactorEnrollmentHandler(\n backendOrigin: string,\n) {\n return http.post(backendOrigin + TWO_FACTOR_ENROLLMENT_PATH, () => {\n return HttpResponse.json(\n {\n concreteType: 'org.sagebionetworks.repo.model.ErrorResponse',\n reason: 'Invalid TOTP code',\n },\n { status: 400 },\n )\n })\n}\n\n/** Fails enrollment for a reason that no change to the submitted code could resolve */\nexport function getUnexpectedErrorTwoFactorEnrollmentHandler(\n backendOrigin: string,\n message: string,\n) {\n return http.post(backendOrigin + TWO_FACTOR_ENROLLMENT_PATH, () => {\n return HttpResponse.json(\n {\n concreteType: 'org.sagebionetworks.repo.model.ErrorResponse',\n reason: message,\n },\n { status: 500 },\n )\n })\n}\n"],"mappings":";;AAEA,IAAM,IAA6B;AAMnC,SAAgB,EACd,GACA;CACA,OAAO,EAAK,KAAK,IAAgB,SACxB,EAAa,KAClB;EACE,cAAc;EACd,QAAQ;CACV,GACA,EAAE,QAAQ,IAAI,CAChB,CACD;AACH;AAGA,SAAgB,EACd,GACA,GACA;CACA,OAAO,EAAK,KAAK,IAAgB,SACxB,EAAa,KAClB;EACE,cAAc;EACd,QAAQ;CACV,GACA,EAAE,QAAQ,IAAI,CAChB,CACD;AACH"}
@@ -147,5 +147,18 @@
147
147
  --synapse-gray-regular: #515359; // this is fine, not changing,
148
148
  --synapse-gray-deemphasized: #ababac;
149
149
 
150
+ --synapse-drag-source-opacity: 0.4;
151
+
150
152
  --synapse-space-unit: 2.1rem;
153
+
154
+ --synapse-floating-row-selection-bar-height: 70px;
155
+ // Space occupied along the bottom edge of the viewport by app-level fixed UI
156
+ --synapse-bottom-viewport-inset: 0px;
157
+ }
158
+
159
+ // Let bottom-anchored UI (e.g. the Curie launcher) move clear of the floating row-selection bar
160
+ body:has(.SynapseFloatingRowSelectionBar) {
161
+ --synapse-bottom-viewport-inset: var(
162
+ --synapse-floating-row-selection-bar-height
163
+ );
151
164
  }
@@ -1,8 +1,17 @@
1
1
  .SynapseToastContainer {
2
2
  inset: unset !important;
3
- bottom: 20px !important;
4
3
  z-index: 2001 !important;
5
4
  width: 100%;
5
+
6
+ &.SynapseToastContainerBottom {
7
+ bottom: 20px !important;
8
+ }
9
+
10
+ // Flush to the top of the viewport, where a virtual keyboard can't cover it
11
+ &.SynapseToastContainerTop {
12
+ top: 0 !important;
13
+ }
14
+
6
15
  .SynapseToastMessage {
7
16
  display: unset;
8
17
  line-height: unset;