synapse-react-client 4.0.9 → 4.0.11
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.
- package/dist/SWC.index.d.ts +1 -0
- package/dist/SWC.index.d.ts.map +1 -1
- package/dist/SWC.index.js +2 -1
- package/dist/SWC.index.js.map +1 -1
- package/dist/aridhia-queries/aridhiaTokenExchange.js.map +1 -1
- package/dist/aridhia-queries/useGetAridhiaRequests.js.map +1 -1
- package/dist/assets/icons/CloudWarning.d.ts +5 -0
- package/dist/assets/icons/CloudWarning.d.ts.map +1 -0
- package/dist/assets/icons/CloudWarning.js +47 -0
- package/dist/assets/icons/CloudWarning.js.map +1 -0
- package/dist/assets/icons/TasksIcon.d.ts.map +1 -1
- package/dist/assets/icons/TasksIcon.js +6 -10
- package/dist/assets/icons/TasksIcon.js.map +1 -1
- package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.d.ts.map +1 -1
- package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.js +69 -63
- package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
- package/dist/components/AccessRequirementList/AccessRequirementListUtils.js.map +1 -1
- package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
- package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js.map +1 -1
- package/dist/components/AccessRequirementRelatedProjectsList/AccessRequirementRelatedProjectsList.js.map +1 -1
- package/dist/components/AccessTokenPage/AccessTokenCard/AccessTokenCard.js.map +1 -1
- package/dist/components/AcknowledgementsPage/StudyAcknowledgements.js.map +1 -1
- package/dist/components/AclEditor/PermissionLevelMenu.js.map +1 -1
- package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js.map +1 -1
- package/dist/components/AclEditor/useSortResourceAccessList.js.map +1 -1
- package/dist/components/AclEditor/useUpdateAcl.js.map +1 -1
- package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
- package/dist/components/Authentication/AuthenticationMethodSelection.d.ts.map +1 -1
- package/dist/components/Authentication/AuthenticationMethodSelection.js +38 -37
- package/dist/components/Authentication/AuthenticationMethodSelection.js.map +1 -1
- package/dist/components/Authentication/Constants.d.ts +1 -0
- package/dist/components/Authentication/Constants.d.ts.map +1 -1
- package/dist/components/Authentication/Constants.js +2 -2
- package/dist/components/Authentication/Constants.js.map +1 -1
- package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
- package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
- package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
- package/dist/components/Authentication/Reset2FAWarning.js.map +1 -1
- package/dist/components/Authentication/StandaloneLoginForm.js +1 -1
- package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.js +2 -1
- package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
- package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
- package/dist/components/CardContainer/CardContainer.js.map +1 -1
- package/dist/components/CardDeck/CardDeck.Mobile.js.map +1 -1
- package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
- package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
- package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
- package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js.map +1 -1
- package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
- package/dist/components/ChallengeSubmission/EvaluationQueueList.js.map +1 -1
- package/dist/components/ChallengeSubmission/SubmissionDirectoryList.d.ts.map +1 -1
- package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js +143 -140
- package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js.map +1 -1
- package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
- package/dist/components/ChangePassword/ChangePassword.js.map +1 -1
- package/dist/components/ChangePassword/ChangePasswordWithToken.js.map +1 -1
- package/dist/components/ChangePassword/useChangePasswordFormState.js +1 -1
- package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
- package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
- package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
- package/dist/components/ComponentCollapse.js.map +1 -1
- package/dist/components/CookiesNotification/CookiesNotification.js.map +1 -1
- package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
- package/dist/components/CreateTableViewWizard/CreateTableViewWizardUtils.js.map +1 -1
- package/dist/components/DataGrid/DataGrid.d.ts +0 -1
- package/dist/components/DataGrid/DataGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/DataGrid.js +72 -72
- package/dist/components/DataGrid/DataGrid.js.map +1 -1
- package/dist/components/DataGrid/DataGridWebSocket.d.ts +4 -0
- package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
- package/dist/components/DataGrid/DataGridWebSocket.js +9 -8
- package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/SynapseGrid.js +326 -268
- package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts +2 -0
- package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteColumn.js +124 -67
- package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.d.ts +2 -1
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.d.ts.map +1 -1
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js +126 -122
- package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
- package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts +58 -0
- package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts.map +1 -0
- package/dist/components/DataGrid/columns/useGridAutocompleteState.js +52 -0
- package/dist/components/DataGrid/columns/useGridAutocompleteState.js.map +1 -0
- package/dist/components/DataGrid/components/ValidationAlert.d.ts +5 -2
- package/dist/components/DataGrid/components/ValidationAlert.d.ts.map +1 -1
- package/dist/components/DataGrid/components/ValidationAlert.js +429 -24
- package/dist/components/DataGrid/components/ValidationAlert.js.map +1 -1
- package/dist/components/DataGrid/hooks/useColumnResizeHandles.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js.map +1 -1
- package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
- package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
- package/dist/components/DataGrid/useCRDTModelView.js.map +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.d.ts +7 -0
- package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
- package/dist/components/DataGrid/useDataGridWebsocket.js +16 -2
- package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
- package/dist/components/DataGrid/useInitializeGridConnection.js.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
- package/dist/components/DataGrid/useMergeGridWithTable.js.map +1 -1
- package/dist/components/DataGrid/utils/DataGridUtils.js.map +1 -1
- package/dist/components/DataGrid/utils/applyModelChange.d.ts +1 -1
- package/dist/components/DataGrid/utils/applyModelChange.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/applyModelChange.js +27 -24
- package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.d.ts +8 -0
- package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/columnFactory.js +47 -44
- package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
- package/dist/components/DataGrid/utils/computeReplicaSelectionModel.js.map +1 -1
- package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
- package/dist/components/DataGrid/utils/getCellClassName.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/getCellClassName.js +8 -8
- package/dist/components/DataGrid/utils/getCellClassName.js.map +1 -1
- package/dist/components/DataGrid/utils/getEmptyValue.d.ts +2 -0
- package/dist/components/DataGrid/utils/getEmptyValue.d.ts.map +1 -0
- package/dist/components/DataGrid/utils/getEmptyValue.js +8 -0
- package/dist/components/DataGrid/utils/getEmptyValue.js.map +1 -0
- package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
- package/dist/components/DataGrid/utils/modelColsToGrid.d.ts.map +1 -1
- package/dist/components/DataGrid/utils/modelColsToGrid.js +2 -1
- package/dist/components/DataGrid/utils/modelColsToGrid.js.map +1 -1
- package/dist/components/DataGrid/utils/modelRowsToGrid.js.map +1 -1
- package/dist/components/DataGrid/utils/parseFreeTextUsingJsonSchemaType.js.map +1 -1
- package/dist/components/DataGrid/utils/schemaAwarePasteValue.d.ts +32 -0
- package/dist/components/DataGrid/utils/schemaAwarePasteValue.d.ts.map +1 -0
- package/dist/components/DataGrid/utils/schemaAwarePasteValue.js +22 -0
- package/dist/components/DataGrid/utils/schemaAwarePasteValue.js.map +1 -0
- package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
- package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
- package/dist/components/DirectDownloadButton.js.map +1 -1
- package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.css +1 -0
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.d.ts.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +199 -132
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.js +22 -0
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.js.map +1 -0
- package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.scss +170 -0
- package/dist/components/DownloadCart/DownloadListActionsRequired.js.map +1 -1
- package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
- package/dist/components/DownloadCart/fileNameUtils.js.map +1 -1
- package/dist/components/DraggableDialog/DraggableDialog.js.map +1 -1
- package/dist/components/DynamicForm/DynamicFormModal.js.map +1 -1
- package/dist/components/Ecosystem/TableQueryEcosystem.js.map +1 -1
- package/dist/components/EntityAclEditor/EntityAclEditor.d.ts.map +1 -1
- package/dist/components/EntityAclEditor/EntityAclEditor.js +103 -103
- package/dist/components/EntityAclEditor/EntityAclEditor.js.map +1 -1
- package/dist/components/EntityAclEditor/useNotifyNewACLUsers.js.map +1 -1
- package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
- package/dist/components/EntityCitation/EntityCitation.js.map +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.d.ts.map +1 -1
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js +1 -0
- package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
- package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.d.ts.map +1 -1
- package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js +36 -30
- package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
- package/dist/components/EntityFinder/EntityFinder.js.map +1 -1
- package/dist/components/EntityFinder/VersionSelectionType.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/EntityChildrenDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/FavoritesDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/configurations/ProjectListDetails.js.map +1 -1
- package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
- package/dist/components/EntityFinder/tree/EntityTree.js.map +1 -1
- package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
- package/dist/components/EntityFinder/useEntitySelection.js.map +1 -1
- package/dist/components/EntityForm/EntityForm.js.map +1 -1
- package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
- package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
- package/dist/components/EntityHeaderTable/useEntityHeaderTableState.js.map +1 -1
- package/dist/components/EntitySubjectsSelector/EntitySubjectsSelector.js.map +1 -1
- package/dist/components/EntityTreeTable/components/IdColumnHeader.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useEntityTreeState.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTableData.js.map +1 -1
- package/dist/components/EntityTreeTable/hooks/useTreeOperationsWithDirectFetch.js.map +1 -1
- package/dist/components/EntityUpload/EntityUpload.js.map +1 -1
- package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.d.ts.map +1 -1
- package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js +15 -14
- package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
- package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
- package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
- package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
- package/dist/components/FeaturedDataTabs/QueryPerFacetPlotsCard.js.map +1 -1
- package/dist/components/FeaturedDataTabs/SingleQueryFacetPlotsCards.js.map +1 -1
- package/dist/components/FeaturedResearch/FeaturedResearch.js.map +1 -1
- package/dist/components/FeaturedToolsList/FeaturedToolsList.js.map +1 -1
- package/dist/components/FilePreview/FileHandleContentRenderer.js.map +1 -1
- package/dist/components/FilePreview/HtmlPreview/HtmlPreview.js.map +1 -1
- package/dist/components/FilePreview/PreviewRendererType.js.map +1 -1
- package/dist/components/Forum/DiscussionReply.d.ts +1 -0
- package/dist/components/Forum/DiscussionReply.d.ts.map +1 -1
- package/dist/components/Forum/DiscussionReply.js +19 -19
- package/dist/components/Forum/DiscussionReply.js.map +1 -1
- package/dist/components/Forum/DiscussionSearchResult.js.map +1 -1
- package/dist/components/Forum/DiscussionThread.d.ts +1 -0
- package/dist/components/Forum/DiscussionThread.d.ts.map +1 -1
- package/dist/components/Forum/DiscussionThread.js +73 -72
- package/dist/components/Forum/DiscussionThread.js.map +1 -1
- package/dist/components/Forum/ForumTable.js.map +1 -1
- package/dist/components/Forum/ForumThreadEditor.js.map +1 -1
- package/dist/components/FullTextSearch/FullTextSearchUtils.js.map +1 -1
- package/dist/components/GenericCard/BioregistryRules.d.ts.map +1 -1
- package/dist/components/GenericCard/BioregistryRules.js +7 -3
- package/dist/components/GenericCard/BioregistryRules.js.map +1 -1
- package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
- package/dist/components/GenericCard/GenericCard.js +12 -7
- package/dist/components/GenericCard/GenericCard.js.map +1 -1
- package/dist/components/GenericCard/Linkify.js.map +1 -1
- package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
- package/dist/components/GenericCard/TableRowGenericCard.js +105 -105
- package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
- package/dist/components/Goals/Goals.Mobile.js.map +1 -1
- package/dist/components/Goals/Goals.js.map +1 -1
- package/dist/components/GoalsV2/GoalsV2.Mobile.js.map +1 -1
- package/dist/components/GoalsV2/GoalsV2.js.map +1 -1
- package/dist/components/GoalsV3/GoalsV3.Mobile.js.map +1 -1
- package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
- package/dist/components/GoogleMap/SynapseUserMarker.js.map +1 -1
- package/dist/components/HasAccess/AccessIcon.js.map +1 -1
- package/dist/components/HasAccess/useHasAccess.js.map +1 -1
- package/dist/components/HeaderCard/HeaderCardV2.js.map +1 -1
- package/dist/components/HeaderCard.d.ts +6 -1
- package/dist/components/HeaderCard.d.ts.map +1 -1
- package/dist/components/HeaderCard.js +107 -76
- package/dist/components/HeaderCard.js.map +1 -1
- package/dist/components/HexGrid/HexGrid.js.map +1 -1
- package/dist/components/IconList.js.map +1 -1
- package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
- package/dist/components/IconSvg/IconSvg.js +2 -1
- package/dist/components/IconSvg/IconSvg.js.map +1 -1
- package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js.map +1 -1
- package/dist/components/ImageFromSynapseTable.js.map +1 -1
- package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldDescriptionTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/ArrayFieldItemTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/FieldTemplate.js.map +1 -1
- package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
- package/dist/components/Markdown/MarkdownGithub.js.map +1 -1
- package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
- package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
- package/dist/components/Markdown/SynapseWikiContext.js.map +1 -1
- package/dist/components/Markdown/UserMentionModal.js.map +1 -1
- package/dist/components/Markdown/widget/MarkdownProvenanceGraph.js.map +1 -1
- package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
- package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
- package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.d.ts.map +1 -1
- package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js +45 -39
- package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js.map +1 -1
- package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
- package/dist/components/PageProgress/PageProgress.js.map +1 -1
- package/dist/components/Plot/DotPlot.js.map +1 -1
- package/dist/components/Plot/Plot.js.map +1 -1
- package/dist/components/Plot/SynapsePlot.js.map +1 -1
- package/dist/components/Plot/ThemesPlot.js.map +1 -1
- package/dist/components/Plot/UpsetPlot.js.map +1 -1
- package/dist/components/PortalAclEditor/PortalAclEditor.d.ts.map +1 -1
- package/dist/components/PortalAclEditor/PortalAclEditor.js +43 -41
- package/dist/components/PortalAclEditor/PortalAclEditor.js.map +1 -1
- package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js.map +1 -1
- package/dist/components/PortalList/CreatePortalModal.js.map +1 -1
- package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js.map +1 -1
- package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
- package/dist/components/Programs/Programs.Mobile.js.map +1 -1
- package/dist/components/Programs/Programs.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceGraphUtils.js.map +1 -1
- package/dist/components/ProvenanceGraph/ProvenanceUtils.js.map +1 -1
- package/dist/components/QueryCount/QueryCount.js.map +1 -1
- package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
- package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
- package/dist/components/QueryWrapper/QueryWrapper.js.map +1 -1
- package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
- package/dist/components/QueryWrapper/TableRowSelectionState.js.map +1 -1
- package/dist/components/QueryWrapper/generateEncodedPathAndQueryForSelectedFacetURL.js.map +1 -1
- package/dist/components/QueryWrapper/useGetQueryMetadata.js.map +1 -1
- package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
- package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
- package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js.map +1 -1
- package/dist/components/ReleaseCard/ReleaseCardUtils.js.map +1 -1
- package/dist/components/ResizableContainer/hooks/useResizable.js.map +1 -1
- package/dist/components/Resources/Resources.Mobile.js.map +1 -1
- package/dist/components/Resources/Resources.js.map +1 -1
- package/dist/components/RowDataTable/RowDataTableWithQuery.js.map +1 -1
- package/dist/components/SageResourcesPopover/SageResourcesPopover.js.map +1 -1
- package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js.map +1 -1
- package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
- package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
- package/dist/components/SmartLink/SmartButton.js.map +1 -1
- package/dist/components/SmartLink/SmartLink.js.map +1 -1
- package/dist/components/SourceAppImage.js.map +1 -1
- package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js.map +1 -1
- package/dist/components/StatisticsPlot.js.map +1 -1
- package/dist/components/StorybookComponentWrapper.js.map +1 -1
- package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js.map +1 -1
- package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
- package/dist/components/SynapseChat/GridAgentChat.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
- package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
- package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
- package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
- package/dist/components/SynapseForm/SummaryTable.js.map +1 -1
- package/dist/components/SynapseForm/SynapseForm.js +4 -2
- package/dist/components/SynapseForm/SynapseForm.js.map +1 -1
- package/dist/components/SynapseForm/SynapseFormWrapper.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseByTheNumbersItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseFeatureItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapsePlans.js.map +1 -1
- package/dist/components/SynapseHomepageV2/SynapseTrendingProjects.js.map +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.d.ts +8 -7
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.d.ts.map +1 -1
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +173 -164
- package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
- package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanel.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
- package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
- package/dist/components/SynapseTable/EntityIDColumnCopyIcon.js.map +1 -1
- package/dist/components/SynapseTable/NoContentPlaceholderType.js.map +1 -1
- package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
- package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
- package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
- package/dist/components/SynapseTable/table-top/ColumnSelection.js.map +1 -1
- package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
- package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/DefaultValueField.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js.map +1 -1
- package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
- package/dist/components/TanStackTable/ColumnHeader.d.ts +1 -0
- package/dist/components/TanStackTable/ColumnHeader.d.ts.map +1 -1
- package/dist/components/TanStackTable/ColumnHeader.js +8 -8
- package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
- package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
- package/dist/components/TanStackTable/TableBody.js.map +1 -1
- package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
- package/dist/components/TextField/TextField.js.map +1 -1
- package/dist/components/TimelinePlot/TimelinePhase.js.map +1 -1
- package/dist/components/TimelinePlot/TimelinePlot.js.map +1 -1
- package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js.map +1 -1
- package/dist/components/UserCard/Avatar.js.map +1 -1
- package/dist/components/UserCardList/UserCardList.js.map +1 -1
- package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Mobile.js.map +1 -1
- package/dist/components/UserCardList/UserCardListRotate.js.map +1 -1
- package/dist/components/UserOrTeamBadge/useUserOrTeam.js.map +1 -1
- package/dist/components/UserProfileLinks/UserProjects.js.map +1 -1
- package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -1
- package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
- package/dist/components/WikiMarkdownEditor/WikiMarkdownEditor.js.map +1 -1
- package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js.map +1 -1
- package/dist/components/dataaccess/AccessApprovalsTable.js.map +1 -1
- package/dist/components/dataaccess/AccessRequestSubmissionTable.js.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.d.ts.map +1 -1
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +157 -148
- package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
- package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
- package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js.map +1 -1
- package/dist/components/doi/CreateOrUpdateDoiModal.d.ts.map +1 -1
- package/dist/components/doi/CreateOrUpdateDoiModal.js +20 -19
- package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
- package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
- package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
- package/dist/components/entity/page/title_bar/useDataCiteUsage.js.map +1 -1
- package/dist/components/entity/page/title_bar/useGetMentions.js.map +1 -1
- package/dist/components/error/ErrorPage.js.map +1 -1
- package/dist/components/favorites/FavoritesPage.js.map +1 -1
- package/dist/components/file/upload/BasicFileHandleUpload.js.map +1 -1
- package/dist/components/layout/SWCHeader.d.ts +9 -0
- package/dist/components/layout/SWCHeader.d.ts.map +1 -0
- package/dist/components/layout/SWCHeader.js +19 -0
- package/dist/components/layout/SWCHeader.js.map +1 -0
- package/dist/components/layout/SWCPageLayout.d.ts +9 -0
- package/dist/components/layout/SWCPageLayout.d.ts.map +1 -0
- package/dist/components/layout/SWCPageLayout.js +14 -0
- package/dist/components/layout/SWCPageLayout.js.map +1 -0
- package/dist/components/menu/ComplexMenu.js.map +1 -1
- package/dist/components/row_renderers/utils/ChipContainer.js.map +1 -1
- package/dist/components/styled/StyledPopover.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreview.js +2 -1
- package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
- package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
- package/dist/components/trash/TrashCanList.js.map +1 -1
- package/dist/components/widgets/FileHandleLink.js.map +1 -1
- package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
- package/dist/components/widgets/SynapseVideo.js.map +1 -1
- package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
- package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
- package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js.map +1 -1
- package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
- package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
- package/dist/components/widgets/query-filter/RangeFacetFilter.js.map +1 -1
- package/dist/components/widgets/query-filter/RangeFacetFilterUI.js.map +1 -1
- package/dist/features/curator/GridPage/components/GridPageTitle.d.ts.map +1 -1
- package/dist/features/curator/GridPage/components/GridPageTitle.js +23 -30
- package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
- package/dist/features/curator/dashboard/CuratorDashboard.d.ts +2 -0
- package/dist/features/curator/dashboard/CuratorDashboard.d.ts.map +1 -0
- package/dist/features/curator/dashboard/CuratorDashboard.js +45 -0
- package/dist/features/curator/dashboard/CuratorDashboard.js.map +1 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.css +1 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.d.ts +9 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.d.ts.map +1 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.js +106 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.module.js +12 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.module.js.map +1 -0
- package/dist/features/curator/dashboard/components/CurationTaskCard.module.scss +52 -0
- package/dist/features/curator/dashboard/components/NextStepButton.css +1 -0
- package/dist/features/curator/dashboard/components/NextStepButton.d.ts +14 -0
- package/dist/features/curator/dashboard/components/NextStepButton.d.ts.map +1 -0
- package/dist/features/curator/dashboard/components/NextStepButton.js +35 -0
- package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -0
- package/dist/features/curator/dashboard/components/NextStepButton.module.js +11 -0
- package/dist/features/curator/dashboard/components/NextStepButton.module.js.map +1 -0
- package/dist/features/curator/dashboard/components/NextStepButton.module.scss +57 -0
- package/dist/features/curator/dashboard/components/UserOrTeamChip.css +1 -1
- package/dist/features/curator/dashboard/components/UserOrTeamChip.module.js +1 -1
- package/dist/features/curator/dashboard/components/UserOrTeamChip.module.js.map +1 -1
- package/dist/features/curator/dashboard/components/UserOrTeamChip.module.scss +5 -5
- package/dist/features/curator/dashboard/components/shared.css +1 -0
- package/dist/features/curator/dashboard/components/shared.module.js +5 -0
- package/dist/features/curator/dashboard/components/shared.module.js.map +1 -0
- package/dist/features/curator/dashboard/components/shared.module.scss +8 -0
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts +0 -2
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +16 -34
- package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.d.ts.map +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js +1 -1
- package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
- package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.d.ts +10 -0
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js +37 -0
- package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -0
- package/dist/features/entity/metadata-task/utils/constants.d.ts +5 -0
- package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -0
- package/dist/features/entity/metadata-task/utils/constants.js +6 -0
- package/dist/features/entity/metadata-task/utils/constants.js.map +1 -0
- package/dist/mocks/challenge/mockChallenge.js.map +1 -1
- package/dist/mocks/entity/mockDataset.js.map +1 -1
- package/dist/mocks/entity/mockDatasetCollection.js.map +1 -1
- package/dist/mocks/entity/mockFileEntity.js.map +1 -1
- package/dist/mocks/entity/mockFileView.js.map +1 -1
- package/dist/mocks/entity/mockGeneratedEntityData.js.map +1 -1
- package/dist/mocks/entity/mockProject.js.map +1 -1
- package/dist/mocks/entity/mockProjectView.js.map +1 -1
- package/dist/mocks/entity/mockRootEntity.js.map +1 -1
- package/dist/mocks/entity/mockTableEntity.js.map +1 -1
- package/dist/mocks/mockWiki.js.map +1 -1
- package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/challengeHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/changePasswordHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/personalAccessTokenHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/teamHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
- package/dist/mocks/msw/handlers/wikiHandlers.js.map +1 -1
- package/dist/mocks/provenance/mockActivity.js.map +1 -1
- package/dist/mocks/query/mockReleaseCardsTableQueryResultBundle.js.map +1 -1
- package/dist/ror-client/index.js.map +1 -1
- package/dist/style/components/_cards.scss +4 -0
- package/dist/style/components/_data-grid-extra.css +1 -1
- package/dist/style/components/_data-grid-extra.scss +2 -0
- package/dist/style/main.css +1 -1
- package/dist/synapse-client/HttpClient.js.map +1 -1
- package/dist/synapse-client/SynapseClient.js.map +1 -1
- package/dist/synapse-queries/KeyFactory.d.ts +1 -0
- package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
- package/dist/synapse-queries/KeyFactory.js +3 -0
- package/dist/synapse-queries/KeyFactory.js.map +1 -1
- package/dist/synapse-queries/QueryMatching.test-utils.js.map +1 -1
- package/dist/synapse-queries/auth/useTwoFactorEnrollment.js.map +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.d.ts +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.js +1 -1
- package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
- package/dist/synapse-queries/dataaccess/useRestrictionInformation.js.map +1 -1
- package/dist/synapse-queries/doi/useDOI.js.map +1 -1
- package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
- package/dist/synapse-queries/entity/useEntity.js.map +1 -1
- package/dist/synapse-queries/entity/useEntityBundle.js.map +1 -1
- package/dist/synapse-queries/entity/useExportTableQueryToAnalysisPlatform.js.map +1 -1
- package/dist/synapse-queries/entity/useExportToTerra.js.map +1 -1
- package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
- package/dist/synapse-queries/entity/useSchema.js.map +1 -1
- package/dist/synapse-queries/file/UploadToS3.js.map +1 -1
- package/dist/synapse-queries/file/useDirectUploadToS3.js.map +1 -1
- package/dist/synapse-queries/file/useFiles.js.map +1 -1
- package/dist/synapse-queries/forum/useReply.js.map +1 -1
- package/dist/synapse-queries/forum/useThread.d.ts +1 -0
- package/dist/synapse-queries/forum/useThread.d.ts.map +1 -1
- package/dist/synapse-queries/forum/useThread.js +19 -12
- package/dist/synapse-queries/forum/useThread.js.map +1 -1
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts +2 -0
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts.map +1 -1
- package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
- package/dist/synapse-queries/grid/useExportGrid.js.map +1 -1
- package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
- package/dist/synapse-queries/grid/useImportCsvIntoGrid.js.map +1 -1
- package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
- package/dist/synapse-queries/table/useGetCsvPreview.js.map +1 -1
- package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
- package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
- package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
- package/dist/synapse-queries/user/useUserBundle.js.map +1 -1
- package/dist/synapse-queries/user/useUserGroupHeader.js.map +1 -1
- package/dist/testutils/ReactQueryMockUtils.js.map +1 -1
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/APIConstants.d.ts +1 -0
- package/dist/utils/APIConstants.d.ts.map +1 -1
- package/dist/utils/APIConstants.js +2 -2
- package/dist/utils/APIConstants.js.map +1 -1
- package/dist/utils/AppUtils/session/ApplicationSessionManager.d.ts.map +1 -1
- package/dist/utils/AppUtils/session/ApplicationSessionManager.js +7 -4
- package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
- package/dist/utils/AppUtils/session/SynapseSessionManager.js.map +1 -1
- package/dist/utils/AppUtils/session/useSessionManager.js.map +1 -1
- package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
- package/dist/utils/challenge/evaluation/EvaluationUtils.js.map +1 -1
- package/dist/utils/context/SynapseContext.js.map +1 -1
- package/dist/utils/functions/AccessControlListUtils.d.ts +4 -0
- package/dist/utils/functions/AccessControlListUtils.d.ts.map +1 -1
- package/dist/utils/functions/AccessControlListUtils.js +12 -1
- package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
- package/dist/utils/functions/EntityTypeUtils.d.ts.map +1 -1
- package/dist/utils/functions/EntityTypeUtils.js +15 -4
- package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
- package/dist/utils/functions/GridApiUtils.js.map +1 -1
- package/dist/utils/functions/QueryFilterUtils.js.map +1 -1
- package/dist/utils/functions/RealmUtils.d.ts +4 -0
- package/dist/utils/functions/RealmUtils.d.ts.map +1 -1
- package/dist/utils/functions/RealmUtils.js +9 -3
- package/dist/utils/functions/RealmUtils.js.map +1 -1
- package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
- package/dist/utils/functions/SanitizeHtmlUtils.test-utils.js.map +1 -1
- package/dist/utils/functions/SqlFunctions.js.map +1 -1
- package/dist/utils/functions/StringUtils.js.map +1 -1
- package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
- package/dist/utils/functions/getDataFromFromStorage.js.map +1 -1
- package/dist/utils/functions/getEndpoint.js.map +1 -1
- package/dist/utils/functions/getUserData.js.map +1 -1
- package/dist/utils/functions/queryUtils.js.map +1 -1
- package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
- package/dist/utils/hooks/useConfirmItems.js.map +1 -1
- package/dist/utils/hooks/useCookiePreferences.js.map +1 -1
- package/dist/utils/hooks/useCreateShortUrl.js.map +1 -1
- package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
- package/dist/utils/hooks/useDirectDownloadHandler.js.map +1 -1
- package/dist/utils/hooks/useGetGoalData.js.map +1 -1
- package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
- package/dist/utils/hooks/useImageUrlUtils.js.map +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js.map +1 -1
- package/dist/utils/hooks/useImmutableTableQuery/useTableQueryReducer.js.map +1 -1
- package/dist/utils/hooks/useIsBot.js.map +1 -1
- package/dist/utils/hooks/useListState.js.map +1 -1
- package/dist/utils/hooks/useLogin.d.ts.map +1 -1
- package/dist/utils/hooks/useLogin.js +53 -52
- package/dist/utils/hooks/useLogin.js.map +1 -1
- package/dist/utils/hooks/useMutuallyExclusiveState.js.map +1 -1
- package/dist/utils/hooks/useOverlay.js.map +1 -1
- package/dist/utils/hooks/usePreFetchResource.js.map +1 -1
- package/dist/utils/hooks/useQuerySearchParam.js.map +1 -1
- package/dist/utils/hooks/useScrollFadeTransition.js.map +1 -1
- package/dist/utils/hooks/useSet.js.map +1 -1
- package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
- package/dist/utils/hooks/useTableImageUrl.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useCreatePathsAndGetParentId.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useLinkFileEntityToURL.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/usePrepareFileEntityUpload.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useTrackFileUploads.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useUploadFileEntities.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/useUploadFiles.js.map +1 -1
- package/dist/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.js.map +1 -1
- package/dist/utils/html/TargetEnum.js.map +1 -1
- package/dist/utils/jsonschema/SchemaAnnotationUtils.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataTasksTableAssigneeCell.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.tsx"],"sourcesContent":["import { ConfirmationDialog } from '@/components/ConfirmationDialog'\nimport UserOrTeamBadge from '@/components/UserOrTeamBadge/UserOrTeamBadge'\nimport UserSearchBox from '@/components/UserSearchBox/UserSearchBox'\nimport { displayToast } from '@/index'\nimport { useUpdateCurationTask } from '@/synapse-queries/curation/task/useCurationTask'\nimport { EditTwoTone } from '@mui/icons-material'\nimport { Alert, Box, IconButton, Stack, Typography } from '@mui/material'\nimport { TaskBundle } from '@sage-bionetworks/synapse-client'\nimport { TYPE_FILTER } from '@sage-bionetworks/synapse-types'\nimport { useCallback, useState } from 'react'\nimport taskHasAssignee from '../utils/taskHasAssignee'\n\nexport type MetadataTasksTableAssigneeCellProps = {\n taskBundle: TaskBundle\n canEdit: boolean\n}\n\nexport default function MetadataTasksTableAssigneeCell(\n props: MetadataTasksTableAssigneeCellProps,\n) {\n const { taskBundle, canEdit } = props\n const curationTask = taskBundle.task!\n const { assigneePrincipalId } = curationTask\n const [showUserPicker, setShowUserPicker] = useState(false)\n const [selectedPrincipalId, setSelectedPrincipalId] = useState<string | null>(\n assigneePrincipalId ?? null,\n )\n const [isHoveringOnCell, setIsHoveringOnCell] = useState(false)\n\n const { mutateAsync: updateCurationTask, isPending: updateTaskIsPending } =\n useUpdateCurationTask({\n onError: error => {\n displayToast('Error updating task assignee: ' + error.message, 'danger')\n },\n })\n\n let assigneeDisplay = (\n <Box\n component=\"span\"\n sx={{ flexGrow: 1, fontStyle: 'italic', color: 'grey.700' }}\n >\n Unassigned\n </Box>\n )\n\n const hasAssignee = taskHasAssignee(curationTask)\n if (hasAssignee) {\n assigneeDisplay = <UserOrTeamBadge principalId={assigneePrincipalId} />\n }\n\n const onConfirmUpdateAssignee = useCallback(\n async (assigneeId: string | undefined) => {\n await updateCurationTask({\n ...curationTask,\n assigneePrincipalId: assigneeId,\n })\n setShowUserPicker(false)\n },\n [curationTask, updateCurationTask],\n )\n\n const editDialog = (\n <ConfirmationDialog\n title=\"Set Assignee\"\n open={showUserPicker}\n content={\n <Stack gap={2}>\n <Typography variant=\"body1\" gutterBottom>\n
|
|
1
|
+
{"version":3,"file":"MetadataTasksTableAssigneeCell.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.tsx"],"sourcesContent":["import { ConfirmationDialog } from '@/components/ConfirmationDialog'\nimport UserOrTeamBadge from '@/components/UserOrTeamBadge/UserOrTeamBadge'\nimport UserSearchBox from '@/components/UserSearchBox/UserSearchBox'\nimport { displayToast } from '@/index'\nimport { useUpdateCurationTask } from '@/synapse-queries/curation/task/useCurationTask'\nimport { EditTwoTone } from '@mui/icons-material'\nimport { Alert, Box, IconButton, Stack, Typography } from '@mui/material'\nimport { TaskBundle } from '@sage-bionetworks/synapse-client'\nimport { TYPE_FILTER } from '@sage-bionetworks/synapse-types'\nimport { useCallback, useState } from 'react'\nimport taskHasAssignee from '../utils/taskHasAssignee'\n\nexport type MetadataTasksTableAssigneeCellProps = {\n taskBundle: TaskBundle\n canEdit: boolean\n}\n\nexport default function MetadataTasksTableAssigneeCell(\n props: MetadataTasksTableAssigneeCellProps,\n) {\n const { taskBundle, canEdit } = props\n const curationTask = taskBundle.task!\n const { assigneePrincipalId } = curationTask\n const [showUserPicker, setShowUserPicker] = useState(false)\n const [selectedPrincipalId, setSelectedPrincipalId] = useState<string | null>(\n assigneePrincipalId ?? null,\n )\n const [isHoveringOnCell, setIsHoveringOnCell] = useState(false)\n\n const { mutateAsync: updateCurationTask, isPending: updateTaskIsPending } =\n useUpdateCurationTask({\n onError: error => {\n displayToast('Error updating task assignee: ' + error.message, 'danger')\n },\n })\n\n let assigneeDisplay = (\n <Box\n component=\"span\"\n sx={{ flexGrow: 1, fontStyle: 'italic', color: 'grey.700' }}\n >\n Unassigned\n </Box>\n )\n\n const hasAssignee = taskHasAssignee(curationTask)\n if (hasAssignee) {\n assigneeDisplay = <UserOrTeamBadge principalId={assigneePrincipalId} />\n }\n\n const onConfirmUpdateAssignee = useCallback(\n async (assigneeId: string | undefined) => {\n await updateCurationTask({\n ...curationTask,\n assigneePrincipalId: assigneeId,\n })\n setShowUserPicker(false)\n },\n [curationTask, updateCurationTask],\n )\n\n const editDialog = (\n <ConfirmationDialog\n title=\"Set Assignee\"\n open={showUserPicker}\n content={\n <Stack gap={2}>\n <Typography variant=\"body1\" gutterBottom>\n Use the Assignee field to organize work by assigning a task to a\n specific person or team. This field is only for task organization\n and filtering. It does not control project access or permission\n levels.\n </Typography>\n <UserSearchBox\n key={showUserPicker.toString()}\n defaultValue={assigneePrincipalId}\n onChange={principalId => setSelectedPrincipalId(principalId)}\n typeFilter={TYPE_FILTER.ALL}\n />\n {taskBundle.status?.executionDetails?.activeSessionId && (\n <Alert severity=\"warning\">\n This task has an active Curator session. If you change the\n assignee, these effects could happen:\n <ul>\n <li>\n Current assignee(s) may lose access to the session, unsaved\n changes will be lost, and they may not be able to complete\n their work.\n </li>\n <li>\n New assignee(s) may not have permission to access the current\n session\n </li>\n </ul>\n To avoid these issues, a data manager should create a new task.\n </Alert>\n )}\n </Stack>\n }\n confirmButtonProps={{\n children: 'Save',\n loading: updateTaskIsPending,\n }}\n onConfirm={() => {\n onConfirmUpdateAssignee(selectedPrincipalId ?? undefined)\n }}\n onCancel={() => setShowUserPicker(false)}\n />\n )\n\n const editButton = (\n <div>\n <IconButton\n aria-label=\"Edit assignee\"\n size=\"small\"\n onClick={() => setShowUserPicker(true)}\n >\n <EditTwoTone fontSize=\"inherit\" />\n </IconButton>\n </div>\n )\n\n return (\n <Stack\n direction={'row'}\n alignItems={'center'}\n justifyContent={'space-between'}\n spacing={1}\n onMouseOver={() => {\n setIsHoveringOnCell(true)\n }}\n onMouseLeave={() => {\n setIsHoveringOnCell(false)\n }}\n >\n <span style={{ overflow: 'hidden' }}>{assigneeDisplay}</span>\n {isHoveringOnCell && canEdit && editButton}\n {editDialog}\n </Stack>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;AAiBA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,eAAY,eAAY,GAC1B,IAAe,EAAW,MAC1B,EAAE,2BAAwB,GAC1B,CAAC,GAAgB,KAAqB,EAAS,GAAM,EACrD,CAAC,GAAqB,KAA0B,EACpD,KAAuB,KACxB,EACK,CAAC,GAAkB,KAAuB,EAAS,GAAM,EAEzD,EAAE,aAAa,GAAoB,WAAW,MAClD,EAAsB,EACpB,UAAS,MAAS;AAChB,IAAa,mCAAmC,EAAM,SAAS,SAAS;IAE3E,CAAC,EAEA,IACF,kBAAC,GAAD;EACE,WAAU;EACV,IAAI;GAAE,UAAU;GAAG,WAAW;GAAU,OAAO;GAAY;YAC5D;EAEK,CAAA;AAIR,CADoB,EAAgB,EAChC,KACF,IAAkB,kBAAC,GAAD,EAAiB,aAAa,GAAuB,CAAA;CAGzE,IAAM,IAA0B,EAC9B,OAAO,MAAmC;AAKxC,EAJA,MAAM,EAAmB;GACvB,GAAG;GACH,qBAAqB;GACtB,CAAC,EACF,EAAkB,GAAM;IAE1B,CAAC,GAAc,EAAmB,CACnC,EAEK,IACJ,kBAAC,GAAD;EACE,OAAM;EACN,MAAM;EACN,SACE,kBAAC,GAAD;GAAO,KAAK;aAAZ;IACE,kBAAC,GAAD;KAAY,SAAQ;KAAQ,cAAA;eAAa;KAK5B,CAAA;IACb,kBAAC,GAAD;KAEE,cAAc;KACd,WAAU,MAAe,EAAuB,EAAY;KAC5D,YAAY,EAAY;KACxB,EAJK,EAAe,UAAU,CAI9B;IACD,EAAW,QAAQ,kBAAkB,mBACpC,kBAAC,GAAD;KAAO,UAAS;eAAhB;MAA0B;MAGxB,kBAAC,MAAD,EAAA,UAAA,CACE,kBAAC,MAAD,EAAA,UAAI,sIAIC,CAAA,EACL,kBAAC,MAAD,EAAA,UAAI,yEAGC,CAAA,CACF,EAAA,CAAA;;MAEC;;IAEJ;;EAEV,oBAAoB;GAClB,UAAU;GACV,SAAS;GACV;EACD,iBAAiB;AACf,KAAwB,KAAuB,KAAA,EAAU;;EAE3D,gBAAgB,EAAkB,GAAM;EACxC,CAAA;AAeJ,QACE,kBAAC,GAAD;EACE,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,SAAS;EACT,mBAAmB;AACjB,KAAoB,GAAK;;EAE3B,oBAAoB;AAClB,KAAoB,GAAM;;YAT9B;GAYE,kBAAC,QAAD;IAAM,OAAO,EAAE,UAAU,UAAU;cAAG;IAAuB,CAAA;GAC5D,KAAoB,KAzBvB,kBAAC,OAAD,EAAA,UACE,kBAAC,GAAD;IACE,cAAW;IACX,MAAK;IACL,eAAe,EAAkB,GAAK;cAEtC,kBAAC,GAAD,EAAa,UAAS,WAAY,CAAA;IACvB,CAAA,EACT,CAiB4B;GAC/B;GACK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetOrCreateGridSessionForSource.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.ts"],"sourcesContent":["import { getLatestGridSessionForSource } from '@/features/entity/metadata-task/utils/getLatestGridSessionForSource'\nimport { useCreateGridSession } from '@/synapse-queries/grid/useGridSession'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n CreateGridRequest,\n GridSession,\n SynapseClientError,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation, useQueryClient } from '@tanstack/react-query'\n\n/**\n * Given a source ID, retrieve the latest grid session owned by the user that uses that source. If no grid session\n * exists, a new one is created.\n * @deprecated Functionality to retrieve grid sessions has been replaced by tasks. This hook only remains to enable a legacy\n * scenario that will be removed in the future.\n */\nexport default function useGetOrCreateGridSessionForSource_legacy() {\n const queryClient = useQueryClient()\n const synapseContext = useSynapseContext()\n\n const { mutateAsync: createGridSession } = useCreateGridSession()\n\n return useMutation<\n GridSession,\n SynapseClientError,\n { sourceId: string; createRequest: CreateGridRequest }\n >({\n mutationFn: async ({ sourceId, createRequest }) => {\n const maybeGridSession = await getLatestGridSessionForSource(sourceId, {\n queryClient,\n synapseContext,\n })\n\n if (maybeGridSession != null) {\n return maybeGridSession\n }\n return (await createGridSession(createRequest)).gridSession!\n },\n })\n}\n"],"mappings":";;;;;AAgBA,SAAwB,IAA4C;CAClE,IAAM,IAAc,GAAgB,EAC9B,IAAiB,GAAmB,EAEpC,EAAE,aAAa,MAAsB,GAAsB;AAEjE,QAAO,EAIL,EACA,YAAY,OAAO,EAAE,aAAU,
|
|
1
|
+
{"version":3,"file":"useGetOrCreateGridSessionForSource.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.ts"],"sourcesContent":["import { getLatestGridSessionForSource } from '@/features/entity/metadata-task/utils/getLatestGridSessionForSource'\nimport { useCreateGridSession } from '@/synapse-queries/grid/useGridSession'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n CreateGridRequest,\n GridSession,\n SynapseClientError,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation, useQueryClient } from '@tanstack/react-query'\n\n/**\n * Given a source ID, retrieve the latest grid session owned by the user that uses that source. If no grid session\n * exists, a new one is created.\n * @deprecated Functionality to retrieve grid sessions has been replaced by tasks. This hook only remains to enable a legacy\n * scenario that will be removed in the future.\n */\nexport default function useGetOrCreateGridSessionForSource_legacy() {\n const queryClient = useQueryClient()\n const synapseContext = useSynapseContext()\n\n const { mutateAsync: createGridSession } = useCreateGridSession()\n\n return useMutation<\n GridSession,\n SynapseClientError,\n { sourceId: string; createRequest: CreateGridRequest }\n >({\n mutationFn: async ({ sourceId, createRequest }) => {\n const maybeGridSession = await getLatestGridSessionForSource(sourceId, {\n queryClient,\n synapseContext,\n })\n\n if (maybeGridSession != null) {\n return maybeGridSession\n }\n return (await createGridSession(createRequest)).gridSession!\n },\n })\n}\n"],"mappings":";;;;;AAgBA,SAAwB,IAA4C;CAClE,IAAM,IAAc,GAAgB,EAC9B,IAAiB,GAAmB,EAEpC,EAAE,aAAa,MAAsB,GAAsB;AAEjE,QAAO,EAIL,EACA,YAAY,OAAO,EAAE,aAAU,uBAMzB,MAL2B,EAA8B,GAAU;EACrE;EACA;EACD,CAAC,KAKM,MAAM,EAAkB,EAAc,EAAE,aAEnD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGridSessionForCurationTask.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useGridSessionForCurationTask.ts"],"sourcesContent":["import { useUpdateCurationTaskStatus } from '@/synapse-queries/curation/task/useCurationTask'\nimport {\n getGridSessionQuery,\n useCreateGridSession,\n useDeleteGridSession,\n} from '@/synapse-queries/grid/useGridSession'\nimport { useSynapseContext } from '@/utils'\nimport {\n GridSession,\n SynapseClientError,\n TaskBundle,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation, useQueryClient } from '@tanstack/react-query'\nimport { getCreateGridRequestForMetadataTask } from '../utils/getCreateGridRequestForMetadataTask'\nimport taskHasAssignee from '../utils/taskHasAssignee'\n\nexport type UseGridSessionForCurationTaskResult = {\n gridSession: GridSession\n gridSessionOwnerMatchesTaskAssignee: boolean\n}\n\n/**\n * A hook to get or create a GridSession for a given CurationTask. If an appropriate GridSession exists, it will be returned.\n * If not, a new GridSession will be created based on the CurationTask's properties.\n *\n * @returns A mutation object with a function to get or create a GridSession for a CurationTask. The response will also indicate\n * if the GridSession owner matches the task assignee (if there is one).\n * @throws SynapseClientError with status 403 if the user does not have permission to access an existing GridSession\n */\nexport default function useGridSessionForCurationTask() {\n const { mutateAsync: createGridSession } = useCreateGridSession()\n const { mutateAsync: updateCurationTaskStatus } =\n useUpdateCurationTaskStatus()\n const { mutateAsync: deleteGridSession } = useDeleteGridSession()\n\n const synapseContext = useSynapseContext()\n const queryClient = useQueryClient()\n\n return useMutation<\n UseGridSessionForCurationTaskResult,\n SynapseClientError,\n TaskBundle\n >({\n mutationFn: async curationTaskBundle => {\n const { task, status } = curationTaskBundle\n if (!task || !status) {\n throw new Error('CurationTaskBundle is missing task or status')\n }\n\n const hasAssignee = taskHasAssignee(task)\n\n const gridSessionId = status?.executionDetails?.activeSessionId\n if (gridSessionId) {\n try {\n // Verify the session is still active before returning it\n const gridSession = await queryClient.fetchQuery({\n ...getGridSessionQuery(gridSessionId, {\n ...synapseContext,\n queryClient,\n }),\n staleTime: 0,\n })\n\n const assigneeMatchesGridSessionOwner =\n hasAssignee &&\n gridSession.ownerPrincipalId == task.assigneePrincipalId\n\n return {\n gridSession,\n gridSessionOwnerMatchesTaskAssignee:\n assigneeMatchesGridSessionOwner,\n }\n } catch (e) {\n if (e instanceof SynapseClientError && e.status === 404) {\n // Session not found, will create a new one\n } else {\n throw e\n }\n }\n }\n // Create a session and link it to the task\n const taskProperties = task.taskProperties\n if (taskProperties == null) {\n throw new Error('CurationTask is missing taskProperties')\n }\n\n const createGridRequest = getCreateGridRequestForMetadataTask(task)\n const createGridResponse = await createGridSession(createGridRequest)\n const gridSession = createGridResponse.gridSession!\n\n // Associate the new session with the task\n try {\n await updateCurationTaskStatus({\n ...status,\n executionDetails: {\n ...status.executionDetails,\n activeSessionId: gridSession.sessionId!,\n concreteType:\n 'org.sagebionetworks.repo.model.curation.execution.GridExecutionDetails',\n },\n })\n } catch (e) {\n if (e instanceof SynapseClientError && e.status === 412) {\n // etag mismatch -- possible race condition.\n // Delete the session we just created to avoid orphaned sessions, and throw an error to notify the user that they may need to refresh and try again.\n await deleteGridSession(gridSession.sessionId!)\n throw new Error(\n 'Failed to link Grid session to Curation Task. The task was updated since it was last retrieved. Please refresh and try again.',\n )\n } else {\n // Rethrow any other error\n throw e\n }\n }\n\n // Since we just created the session, the user must have access, and the owner must match the assignee (if there is one).\n return {\n gridSession,\n gridSessionOwnerMatchesTaskAssignee: hasAssignee,\n }\n },\n })\n}\n"],"mappings":";;;;;;;;;AA6BA,SAAwB,IAAgC;CACtD,IAAM,EAAE,aAAa,MAAsB,GAAsB,EAC3D,EAAE,aAAa,MACnB,GAA6B,EACzB,EAAE,aAAa,MAAsB,GAAsB,EAE3D,IAAiB,GAAmB,EACpC,IAAc,GAAgB;AAEpC,QAAO,EAIL,EACA,YAAY,OAAM,MAAsB;EACtC,IAAM,EAAE,SAAM,cAAW;AACzB,MAAI,CAAC,KAAQ,CAAC,EACZ,OAAU,MAAM,+CAA+C;EAGjE,IAAM,IAAc,EAAgB,EAAK,EAEnC,IAAgB,GAAQ,kBAAkB;AAChD,MAAI,EACF,KAAI;GAEF,IAAM,IAAc,MAAM,EAAY,WAAW;IAC/C,GAAG,EAAoB,GAAe;KACpC,GAAG;KACH;KACD,CAAC;IACF,WAAW;IACZ,CAAC;AAMF,UAAO;IACL;IACA,qCALA,KACA,EAAY,oBAAoB,EAAK;IAMtC;WACM,GAAG;AACV,OAAI,eAAa,KAAsB,EAAE,WAAW,KAGlD,OAAM;;AAMZ,MADuB,EAAK,kBACN,KACpB,OAAU,MAAM,yCAAyC;EAK3D,IAAM,
|
|
1
|
+
{"version":3,"file":"useGridSessionForCurationTask.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useGridSessionForCurationTask.ts"],"sourcesContent":["import { useUpdateCurationTaskStatus } from '@/synapse-queries/curation/task/useCurationTask'\nimport {\n getGridSessionQuery,\n useCreateGridSession,\n useDeleteGridSession,\n} from '@/synapse-queries/grid/useGridSession'\nimport { useSynapseContext } from '@/utils'\nimport {\n GridSession,\n SynapseClientError,\n TaskBundle,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation, useQueryClient } from '@tanstack/react-query'\nimport { getCreateGridRequestForMetadataTask } from '../utils/getCreateGridRequestForMetadataTask'\nimport taskHasAssignee from '../utils/taskHasAssignee'\n\nexport type UseGridSessionForCurationTaskResult = {\n gridSession: GridSession\n gridSessionOwnerMatchesTaskAssignee: boolean\n}\n\n/**\n * A hook to get or create a GridSession for a given CurationTask. If an appropriate GridSession exists, it will be returned.\n * If not, a new GridSession will be created based on the CurationTask's properties.\n *\n * @returns A mutation object with a function to get or create a GridSession for a CurationTask. The response will also indicate\n * if the GridSession owner matches the task assignee (if there is one).\n * @throws SynapseClientError with status 403 if the user does not have permission to access an existing GridSession\n */\nexport default function useGridSessionForCurationTask() {\n const { mutateAsync: createGridSession } = useCreateGridSession()\n const { mutateAsync: updateCurationTaskStatus } =\n useUpdateCurationTaskStatus()\n const { mutateAsync: deleteGridSession } = useDeleteGridSession()\n\n const synapseContext = useSynapseContext()\n const queryClient = useQueryClient()\n\n return useMutation<\n UseGridSessionForCurationTaskResult,\n SynapseClientError,\n TaskBundle\n >({\n mutationFn: async curationTaskBundle => {\n const { task, status } = curationTaskBundle\n if (!task || !status) {\n throw new Error('CurationTaskBundle is missing task or status')\n }\n\n const hasAssignee = taskHasAssignee(task)\n\n const gridSessionId = status?.executionDetails?.activeSessionId\n if (gridSessionId) {\n try {\n // Verify the session is still active before returning it\n const gridSession = await queryClient.fetchQuery({\n ...getGridSessionQuery(gridSessionId, {\n ...synapseContext,\n queryClient,\n }),\n staleTime: 0,\n })\n\n const assigneeMatchesGridSessionOwner =\n hasAssignee &&\n gridSession.ownerPrincipalId == task.assigneePrincipalId\n\n return {\n gridSession,\n gridSessionOwnerMatchesTaskAssignee:\n assigneeMatchesGridSessionOwner,\n }\n } catch (e) {\n if (e instanceof SynapseClientError && e.status === 404) {\n // Session not found, will create a new one\n } else {\n throw e\n }\n }\n }\n // Create a session and link it to the task\n const taskProperties = task.taskProperties\n if (taskProperties == null) {\n throw new Error('CurationTask is missing taskProperties')\n }\n\n const createGridRequest = getCreateGridRequestForMetadataTask(task)\n const createGridResponse = await createGridSession(createGridRequest)\n const gridSession = createGridResponse.gridSession!\n\n // Associate the new session with the task\n try {\n await updateCurationTaskStatus({\n ...status,\n executionDetails: {\n ...status.executionDetails,\n activeSessionId: gridSession.sessionId!,\n concreteType:\n 'org.sagebionetworks.repo.model.curation.execution.GridExecutionDetails',\n },\n })\n } catch (e) {\n if (e instanceof SynapseClientError && e.status === 412) {\n // etag mismatch -- possible race condition.\n // Delete the session we just created to avoid orphaned sessions, and throw an error to notify the user that they may need to refresh and try again.\n await deleteGridSession(gridSession.sessionId!)\n throw new Error(\n 'Failed to link Grid session to Curation Task. The task was updated since it was last retrieved. Please refresh and try again.',\n )\n } else {\n // Rethrow any other error\n throw e\n }\n }\n\n // Since we just created the session, the user must have access, and the owner must match the assignee (if there is one).\n return {\n gridSession,\n gridSessionOwnerMatchesTaskAssignee: hasAssignee,\n }\n },\n })\n}\n"],"mappings":";;;;;;;;;AA6BA,SAAwB,IAAgC;CACtD,IAAM,EAAE,aAAa,MAAsB,GAAsB,EAC3D,EAAE,aAAa,MACnB,GAA6B,EACzB,EAAE,aAAa,MAAsB,GAAsB,EAE3D,IAAiB,GAAmB,EACpC,IAAc,GAAgB;AAEpC,QAAO,EAIL,EACA,YAAY,OAAM,MAAsB;EACtC,IAAM,EAAE,SAAM,cAAW;AACzB,MAAI,CAAC,KAAQ,CAAC,EACZ,OAAU,MAAM,+CAA+C;EAGjE,IAAM,IAAc,EAAgB,EAAK,EAEnC,IAAgB,GAAQ,kBAAkB;AAChD,MAAI,EACF,KAAI;GAEF,IAAM,IAAc,MAAM,EAAY,WAAW;IAC/C,GAAG,EAAoB,GAAe;KACpC,GAAG;KACH;KACD,CAAC;IACF,WAAW;IACZ,CAAC;AAMF,UAAO;IACL;IACA,qCALA,KACA,EAAY,oBAAoB,EAAK;IAMtC;WACM,GAAG;AACV,OAAI,eAAa,KAAsB,EAAE,WAAW,KAGlD,OAAM;;AAMZ,MADuB,EAAK,kBACN,KACpB,OAAU,MAAM,yCAAyC;EAK3D,IAAM,KAAc,MADa,EADP,EAAoC,EACX,CAAkB,EAC9B;AAGvC,MAAI;AACF,SAAM,EAAyB;IAC7B,GAAG;IACH,kBAAkB;KAChB,GAAG,EAAO;KACV,iBAAiB,EAAY;KAC7B,cACE;KACH;IACF,CAAC;WACK,GAAG;AAUR,SATE,aAAa,KAAsB,EAAE,WAAW,OAGlD,MAAM,EAAkB,EAAY,UAAW,EACrC,MACR,gIACD,IAGK;;AAKV,SAAO;GACL;GACA,qCAAqC;GACtC;IAEJ,CAAC"}
|
package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGridSessionForCurationTask_legacy.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.ts"],"sourcesContent":["import {\n CurationTask,\n GridSession,\n SynapseClientError,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation } from '@tanstack/react-query'\nimport { getCreateGridRequestForMetadataTask } from '../utils/getCreateGridRequestForMetadataTask'\nimport { getGridSourceIdForTask } from '../utils/getGridSourceIdForTask'\nimport useGetOrCreateGridSessionForSource from './useGetOrCreateGridSessionForSource'\n\n/**\n * A hook to get or create a GridSession for an unassigned CurationTask. The session will be owned by the calling user.\n *\n * @returns A mutation object with a function to get or create a GridSession for a CurationTask.\n * @deprecated This functionality is preserved to ensure users are not blocked from doing work, but enables a critical\n * data loss scenario, so we must aim to remove it.\n */\nexport default function useGridSessionForCurationTask_legacy() {\n const { mutateAsync: getOrCreateGridSession } =\n useGetOrCreateGridSessionForSource()\n\n return useMutation<\n GridSession,\n SynapseClientError,\n { curationTask: CurationTask }\n >({\n mutationFn: async ({ curationTask }) => {\n const gridSourceId = getGridSourceIdForTask(curationTask)\n\n const createGridRequest =\n getCreateGridRequestForMetadataTask(curationTask)\n return await getOrCreateGridSession({\n sourceId: gridSourceId,\n createRequest: createGridRequest,\n })\n },\n })\n}\n"],"mappings":";;;;;AAiBA,SAAwB,IAAuC;CAC7D,IAAM,EAAE,aAAa,MACnB,GAAoC;AAEtC,QAAO,EAIL,EACA,YAAY,OAAO,EAAE,sBAKZ,MAAM,EAAuB;EAClC,UALmB,EAAuB,
|
|
1
|
+
{"version":3,"file":"useGridSessionForCurationTask_legacy.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.ts"],"sourcesContent":["import {\n CurationTask,\n GridSession,\n SynapseClientError,\n} from '@sage-bionetworks/synapse-client'\nimport { useMutation } from '@tanstack/react-query'\nimport { getCreateGridRequestForMetadataTask } from '../utils/getCreateGridRequestForMetadataTask'\nimport { getGridSourceIdForTask } from '../utils/getGridSourceIdForTask'\nimport useGetOrCreateGridSessionForSource from './useGetOrCreateGridSessionForSource'\n\n/**\n * A hook to get or create a GridSession for an unassigned CurationTask. The session will be owned by the calling user.\n *\n * @returns A mutation object with a function to get or create a GridSession for a CurationTask.\n * @deprecated This functionality is preserved to ensure users are not blocked from doing work, but enables a critical\n * data loss scenario, so we must aim to remove it.\n */\nexport default function useGridSessionForCurationTask_legacy() {\n const { mutateAsync: getOrCreateGridSession } =\n useGetOrCreateGridSessionForSource()\n\n return useMutation<\n GridSession,\n SynapseClientError,\n { curationTask: CurationTask }\n >({\n mutationFn: async ({ curationTask }) => {\n const gridSourceId = getGridSourceIdForTask(curationTask)\n\n const createGridRequest =\n getCreateGridRequestForMetadataTask(curationTask)\n return await getOrCreateGridSession({\n sourceId: gridSourceId,\n createRequest: createGridRequest,\n })\n },\n })\n}\n"],"mappings":";;;;;AAiBA,SAAwB,IAAuC;CAC7D,IAAM,EAAE,aAAa,MACnB,GAAoC;AAEtC,QAAO,EAIL,EACA,YAAY,OAAO,EAAE,sBAKZ,MAAM,EAAuB;EAClC,UALmB,EAAuB,EAKhC;EACV,eAHA,EAAoC,EAGrB;EAChB,CAAC,EAEL,CAAC"}
|
|
@@ -3,7 +3,7 @@ import "../../../../synapse-queries/index.js";
|
|
|
3
3
|
import { formatDate as t } from "../../../../utils/functions/DateFormatter.js";
|
|
4
4
|
import n from "../../../../components/TanStackTable/ColumnHeader.js";
|
|
5
5
|
import { getLinkToEntityPage as r } from "../../../../utils/functions/getSynapseWebClientLink.js";
|
|
6
|
-
import {
|
|
6
|
+
import { useGetCurationTasksInfinite as i } from "../../../../synapse-queries/curation/task/useCurationTask.js";
|
|
7
7
|
import { getGridSourceIdForTask as a } from "../utils/getGridSourceIdForTask.js";
|
|
8
8
|
import o from "../components/MetadataTaskTableActionCell.js";
|
|
9
9
|
import s from "../components/MetadataTasksTableAssigneeCell.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMetadataTaskTable.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useMetadataTaskTable.tsx"],"sourcesContent":["import ColumnHeader from '@/components/TanStackTable/ColumnHeader'\nimport { getGridSourceIdForTask } from '@/features/entity/metadata-task/utils/getGridSourceIdForTask'\nimport {
|
|
1
|
+
{"version":3,"file":"useMetadataTaskTable.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useMetadataTaskTable.tsx"],"sourcesContent":["import ColumnHeader from '@/components/TanStackTable/ColumnHeader'\nimport { getGridSourceIdForTask } from '@/features/entity/metadata-task/utils/getGridSourceIdForTask'\nimport { useGetCurationTasksInfinite } from '@/synapse-queries/curation/task/useCurationTask'\nimport { useGetEntityBundle } from '@/synapse-queries/index'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { getLinkToEntityPage } from '@/utils/functions/getSynapseWebClientLink'\nimport { Link } from '@mui/material'\nimport {\n ListCurationTaskRequest,\n TaskBundle,\n} from '@sage-bionetworks/synapse-client'\nimport {\n createColumnHelper,\n getCoreRowModel,\n Table,\n useReactTable,\n} from '@tanstack/react-table'\nimport dayjs from 'dayjs'\nimport { useMemo } from 'react'\nimport MetadataTaskTableActionCell from '../components/MetadataTaskTableActionCell'\nimport MetadataTasksTableAssigneeCell from '../components/MetadataTasksTableAssigneeCell'\n\nfunction getColumns(canEdit: boolean) {\n const columnHelper = createColumnHelper<TaskBundle>()\n return [\n columnHelper.accessor('task.dataType', {\n header: props => <ColumnHeader {...props} title={'Task'} />,\n cell: ({ row, getValue }) => {\n const entityId = getGridSourceIdForTask(row.original.task!)\n return <Link href={getLinkToEntityPage(entityId)}>{getValue()}</Link>\n },\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.accessor('task.instructions', {\n header: props => <ColumnHeader {...props} title={'Instructions'} />,\n cell: ({ getValue }) => <p>{getValue()}</p>,\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.accessor('task.assigneePrincipalId', {\n header: props => <ColumnHeader {...props} title={'Assignee'} />,\n cell: ({ row }) => (\n <MetadataTasksTableAssigneeCell\n taskBundle={row.original}\n canEdit={canEdit}\n />\n ),\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.accessor('task.modifiedOn', {\n header: props => <ColumnHeader {...props} title={'Modified On'} />,\n cell: ({ getValue }) => formatDate(dayjs(getValue())),\n enableSorting: false,\n enableColumnFilter: false,\n }),\n columnHelper.display({\n id: 'actions',\n header: props => <ColumnHeader {...props} title={'Actions'} />,\n cell: ({ row }) => (\n <MetadataTaskTableActionCell\n taskBundle={row.original}\n canEdit={canEdit}\n />\n ),\n }),\n ]\n}\n\ntype UseMetadataTaskTableOptions = {\n listCurationTaskRequest: ListCurationTaskRequest\n}\n\n/**\n * Provides a table instance and loading states for displaying metadata curation tasks associated with a project.\n */\nexport function useMetadataTaskTable(opts: UseMetadataTaskTableOptions) {\n const { listCurationTaskRequest } = opts\n\n const {\n data,\n hasNextPage,\n fetchNextPage,\n isLoading: isLoadingTasks,\n isFetchingNextPage,\n } = useGetCurationTasksInfinite(listCurationTaskRequest)\n\n const { data: projectBundle, isLoading: isLoadingProjectBundle } =\n useGetEntityBundle(\n listCurationTaskRequest.projectId,\n undefined,\n { includePermissions: true },\n {\n enabled: !!listCurationTaskRequest.projectId,\n },\n )\n\n const canEditTasks = projectBundle?.permissions?.canEdit ?? false\n\n const tasks = useMemo(\n () => data?.pages.flatMap(page => page.bundlePage!) ?? [],\n [data],\n )\n\n const table: Table<TaskBundle> = useReactTable<TaskBundle>({\n data: tasks,\n columns: getColumns(canEditTasks),\n getRowId: row => String(row.task!.taskId!),\n getCoreRowModel: getCoreRowModel(),\n columnResizeMode: 'onChange',\n manualSorting: false,\n meta: {\n getWrapInExpandableTd: cell => cell.column.id === 'instructions',\n },\n })\n\n return {\n table,\n isLoading: isLoadingTasks || isLoadingProjectBundle,\n hasNextPage,\n fetchNextPage,\n isFetchingNextPage,\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAsBA,SAAS,EAAW,GAAkB;CACpC,IAAM,IAAe,GAAgC;AACrD,QAAO;EACL,EAAa,SAAS,iBAAiB;GACrC,SAAQ,MAAS,kBAAC,GAAD;IAAc,GAAI;IAAO,OAAO;IAAU,CAAA;GAC3D,OAAO,EAAE,QAAK,kBAEL,kBAAC,GAAD;IAAM,MAAM,EADF,EAAuB,EAAI,SAAS,KACd,CAAS;cAAG,GAAU;IAAQ,CAAA;GAEvE,eAAe;GACf,oBAAoB;GACrB,CAAC;EACF,EAAa,SAAS,qBAAqB;GACzC,SAAQ,MAAS,kBAAC,GAAD;IAAc,GAAI;IAAO,OAAO;IAAkB,CAAA;GACnE,OAAO,EAAE,kBAAe,kBAAC,KAAD,EAAA,UAAI,GAAU,EAAK,CAAA;GAC3C,eAAe;GACf,oBAAoB;GACrB,CAAC;EACF,EAAa,SAAS,4BAA4B;GAChD,SAAQ,MAAS,kBAAC,GAAD;IAAc,GAAI;IAAO,OAAO;IAAc,CAAA;GAC/D,OAAO,EAAE,aACP,kBAAC,GAAD;IACE,YAAY,EAAI;IACP;IACT,CAAA;GAEJ,eAAe;GACf,oBAAoB;GACrB,CAAC;EACF,EAAa,SAAS,mBAAmB;GACvC,SAAQ,MAAS,kBAAC,GAAD;IAAc,GAAI;IAAO,OAAO;IAAiB,CAAA;GAClE,OAAO,EAAE,kBAAe,EAAW,EAAM,GAAU,CAAC,CAAC;GACrD,eAAe;GACf,oBAAoB;GACrB,CAAC;EACF,EAAa,QAAQ;GACnB,IAAI;GACJ,SAAQ,MAAS,kBAAC,GAAD;IAAc,GAAI;IAAO,OAAO;IAAa,CAAA;GAC9D,OAAO,EAAE,aACP,kBAAC,GAAD;IACE,YAAY,EAAI;IACP;IACT,CAAA;GAEL,CAAC;EACH;;AAUH,SAAgB,EAAqB,GAAmC;CACtE,IAAM,EAAE,+BAA4B,GAE9B,EACJ,SACA,gBACA,kBACA,WAAW,GACX,0BACE,EAA4B,EAAwB,EAElD,EAAE,MAAM,GAAe,WAAW,MACtC,EACE,EAAwB,WACxB,KAAA,GACA,EAAE,oBAAoB,IAAM,EAC5B,EACE,SAAS,CAAC,CAAC,EAAwB,WACpC,CACF,EAEG,IAAe,GAAe,aAAa,WAAW;AAmB5D,QAAO;EACL,OAb+B,EAA0B;GACzD,MANY,QACN,GAAM,MAAM,SAAQ,MAAQ,EAAK,WAAY,IAAI,EAAE,EACzD,CAAC,EAAK,CAIA;GACN,SAAS,EAAW,EAAa;GACjC,WAAU,MAAO,OAAO,EAAI,KAAM,OAAQ;GAC1C,iBAAiB,GAAiB;GAClC,kBAAkB;GAClB,eAAe;GACf,MAAM,EACJ,wBAAuB,MAAQ,EAAK,OAAO,OAAO,gBACnD;GACF,CAGC;EACA,WAAW,KAAkB;EAC7B;EACA;EACA;EACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CurationTask } from '@sage-bionetworks/synapse-client';
|
|
2
|
+
type UseOpenCuratorFromTaskButtonReturn = {
|
|
3
|
+
isLoading: boolean;
|
|
4
|
+
isPending: boolean;
|
|
5
|
+
hasPermission?: boolean;
|
|
6
|
+
onClick: () => void;
|
|
7
|
+
};
|
|
8
|
+
export default function useOpenCuratorFromTaskButton(curationTask: CurationTask): UseOpenCuratorFromTaskButtonReturn;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=useOpenCuratorButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOpenCuratorButton.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/hooks/useOpenCuratorButton.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EAGb,MAAM,kCAAkC,CAAA;AAUzC,KAAK,kCAAkC,GAAG;IACxC,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAOD,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAClD,YAAY,EAAE,YAAY,GACzB,kCAAkC,CAgDpC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { displayToast as e } from "../../../../components/ToastMessage/ToastMessage.js";
|
|
2
|
+
import { useGetEntityPermissions as t } from "../../../../synapse-queries/entity/useEntity.js";
|
|
3
|
+
import "../../../../synapse-queries/index.js";
|
|
4
|
+
import "../../../../components/index.js";
|
|
5
|
+
import { getLinkToGridSession as n } from "../../../../utils/functions/getSynapseWebClientLink.js";
|
|
6
|
+
import { OPEN_CURATOR_ERROR_TITLE as r, OPEN_CURATOR_UNAUTHORIZED_ERROR_MESSAGE as i } from "../utils/constants.js";
|
|
7
|
+
import { getGridSourceIdForTask as a } from "../utils/getGridSourceIdForTask.js";
|
|
8
|
+
import o from "./useGridSessionForCurationTask_legacy.js";
|
|
9
|
+
import { useCallback as s } from "react";
|
|
10
|
+
import { SynapseClientError as c } from "@sage-bionetworks/synapse-client";
|
|
11
|
+
//#region src/features/entity/metadata-task/hooks/useOpenCuratorButton.ts
|
|
12
|
+
function l(e, t) {
|
|
13
|
+
let r = n(e, t);
|
|
14
|
+
window.open(r, "_blank", "noopener");
|
|
15
|
+
}
|
|
16
|
+
function u(n) {
|
|
17
|
+
let { mutateAsync: u, isPending: d } = o(), { data: f, isLoading: p } = t(a(n)), m = f?.canView, h = s(async () => {
|
|
18
|
+
let t;
|
|
19
|
+
try {
|
|
20
|
+
t = await u({ curationTask: n }), l(t.sessionId, n.taskId);
|
|
21
|
+
} catch (t) {
|
|
22
|
+
t instanceof c && t.status === 403 ? (console.error(t), e(i, "danger", { title: r })) : (console.error("Error opening Curator for curation task", t), e(t instanceof Error ? t.message : String(t), "danger", { title: r }));
|
|
23
|
+
}
|
|
24
|
+
}, [n, u]);
|
|
25
|
+
return {
|
|
26
|
+
hasPermission: m,
|
|
27
|
+
isLoading: p,
|
|
28
|
+
isPending: d,
|
|
29
|
+
onClick: s(() => {
|
|
30
|
+
h();
|
|
31
|
+
}, [h])
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { u as default };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=useOpenCuratorButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOpenCuratorButton.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/hooks/useOpenCuratorButton.ts"],"sourcesContent":["import { displayToast } from '@/components'\nimport { useGetEntityPermissions } from '@/synapse-queries'\nimport {\n CurationTask,\n GridSession,\n SynapseClientError,\n} from '@sage-bionetworks/synapse-client'\nimport { useCallback } from 'react'\nimport {\n OPEN_CURATOR_ERROR_TITLE,\n OPEN_CURATOR_UNAUTHORIZED_ERROR_MESSAGE,\n} from '../utils/constants'\nimport { getGridSourceIdForTask } from '../utils/getGridSourceIdForTask'\nimport useGridSessionForCurationTask_legacy from './useGridSessionForCurationTask_legacy'\nimport { getLinkToGridSession } from '@/utils/functions/getSynapseWebClientLink'\n\ntype UseOpenCuratorFromTaskButtonReturn = {\n isLoading: boolean\n isPending: boolean\n hasPermission?: boolean\n onClick: () => void\n}\n\nfunction openGridSessionInNewWindow(gridSessionId: string, taskId: number) {\n const gridUrl = getLinkToGridSession(gridSessionId, taskId)\n window.open(gridUrl, '_blank', 'noopener')\n}\n\nexport default function useOpenCuratorFromTaskButton(\n curationTask: CurationTask,\n): UseOpenCuratorFromTaskButtonReturn {\n const {\n mutateAsync: getOrCreateLegacyGridSessionForUnassignedTask,\n isPending: openGridIsPending,\n } = useGridSessionForCurationTask_legacy()\n\n const gridSourceEntityId = getGridSourceIdForTask(curationTask)\n const {\n data: sourceEntityPermissions,\n isLoading: isLoadingEntityPermissions,\n } = useGetEntityPermissions(gridSourceEntityId)\n\n const hasPermission = sourceEntityPermissions?.canView\n\n const openNewOrExistingCuratorSession = useCallback(async () => {\n let gridSession: GridSession\n try {\n gridSession = await getOrCreateLegacyGridSessionForUnassignedTask({\n curationTask,\n })\n openGridSessionInNewWindow(gridSession.sessionId!, curationTask.taskId!)\n } catch (error) {\n if (error instanceof SynapseClientError && error.status === 403) {\n console.error(error)\n displayToast(OPEN_CURATOR_UNAUTHORIZED_ERROR_MESSAGE, 'danger', {\n title: OPEN_CURATOR_ERROR_TITLE,\n })\n } else {\n console.error('Error opening Curator for curation task', error)\n const errorMessage =\n error instanceof Error ? error.message : String(error)\n displayToast(errorMessage, 'danger', {\n title: OPEN_CURATOR_ERROR_TITLE,\n })\n }\n }\n }, [curationTask, getOrCreateLegacyGridSessionForUnassignedTask])\n\n const handleClickOpenCurator = useCallback(() => {\n void openNewOrExistingCuratorSession()\n }, [openNewOrExistingCuratorSession])\n\n return {\n hasPermission,\n isLoading: isLoadingEntityPermissions,\n isPending: openGridIsPending,\n onClick: handleClickOpenCurator,\n }\n}\n"],"mappings":";;;;;;;;;;;AAuBA,SAAS,EAA2B,GAAuB,GAAgB;CACzE,IAAM,IAAU,EAAqB,GAAe,EAAO;AAC3D,QAAO,KAAK,GAAS,UAAU,WAAW;;AAG5C,SAAwB,EACtB,GACoC;CACpC,IAAM,EACJ,aAAa,GACb,WAAW,MACT,GAAsC,EAGpC,EACJ,MAAM,GACN,WAAW,MACT,EAJuB,EAAuB,EAItB,CAAmB,EAEzC,IAAgB,GAAyB,SAEzC,IAAkC,EAAY,YAAY;EAC9D,IAAI;AACJ,MAAI;AAIF,GAHA,IAAc,MAAM,EAA8C,EAChE,iBACD,CAAC,EACF,EAA2B,EAAY,WAAY,EAAa,OAAQ;WACjE,GAAO;AACd,GAAI,aAAiB,KAAsB,EAAM,WAAW,OAC1D,QAAQ,MAAM,EAAM,EACpB,EAAa,GAAyC,UAAU,EAC9D,OAAO,GACR,CAAC,KAEF,QAAQ,MAAM,2CAA2C,EAAM,EAG/D,EADE,aAAiB,QAAQ,EAAM,UAAU,OAAO,EAAM,EAC7B,UAAU,EACnC,OAAO,GACR,CAAC;;IAGL,CAAC,GAAc,EAA8C,CAAC;AAMjE,QAAO;EACL;EACA,WAAW;EACX,WAAW;EACX,SAR6B,QAAkB;AAC1C,MAAiC;KACrC,CAAC,EAAgC,CAMzB;EACV"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const OPEN_CURATOR_ERROR_TITLE = "An error occurred while trying to open Curator";
|
|
2
|
+
export declare const OPEN_CURATOR_UNAUTHORIZED_ERROR_MESSAGE = "You don't have permission to view the existing Curator session for this task. It was likely created by another data contributor. A data manager should create a new task and assign it to you or your team.";
|
|
3
|
+
export declare const OPEN_CURATOR_TOOLTIP_TITLE = "Open Curator to edit metadata";
|
|
4
|
+
export declare const OPEN_CURATOR_NO_PERMISSION_ON_SOURCE_ERROR_MESSAGE = "You do not have permission to view the Working Copy";
|
|
5
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/entity/metadata-task/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,mDACa,CAAA;AAClD,eAAO,MAAM,uCAAuC,gNAC2J,CAAA;AAE/M,eAAO,MAAM,0BAA0B,kCAAkC,CAAA;AACzE,eAAO,MAAM,kDAAkD,wDACR,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/features/entity/metadata-task/utils/constants.ts
|
|
2
|
+
var e = "An error occurred while trying to open Curator", t = "You don't have permission to view the existing Curator session for this task. It was likely created by another data contributor. A data manager should create a new task and assign it to you or your team.", n = "Open Curator to edit metadata", r = "You do not have permission to view the Working Copy";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { e as OPEN_CURATOR_ERROR_TITLE, r as OPEN_CURATOR_NO_PERMISSION_ON_SOURCE_ERROR_MESSAGE, n as OPEN_CURATOR_TOOLTIP_TITLE, t as OPEN_CURATOR_UNAUTHORIZED_ERROR_MESSAGE };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":[],"sources":["../../../../../src/features/entity/metadata-task/utils/constants.ts"],"sourcesContent":["export const OPEN_CURATOR_ERROR_TITLE =\n 'An error occurred while trying to open Curator'\nexport const OPEN_CURATOR_UNAUTHORIZED_ERROR_MESSAGE =\n \"You don't have permission to view the existing Curator session for this task. It was likely created by another data contributor. A data manager should create a new task and assign it to you or your team.\"\n\nexport const OPEN_CURATOR_TOOLTIP_TITLE = 'Open Curator to edit metadata'\nexport const OPEN_CURATOR_NO_PERMISSION_ON_SOURCE_ERROR_MESSAGE =\n 'You do not have permission to view the Working Copy'\n"],"mappings":";AAAA,IAAa,IACX,kDACW,IACX,+MAEW,IAA6B,iCAC7B,IACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockChallenge.js","names":[],"sources":["../../../src/mocks/challenge/mockChallenge.ts"],"sourcesContent":["import {\n Challenge,\n ChallengeTeam,\n ChallengeTeamPagedResults,\n ListWrapper,\n Team,\n TeamMember,\n TeamMembershipStatus,\n} from '@sage-bionetworks/synapse-types'\nimport { MOCK_USER_ID, mockUserGroupHeader } from '../user/mock_user_profile'\nimport {\n MOCK_CHALLENGE_PARTICIPANT_TEAM_ID,\n MOCK_TEAM_ID_2,\n MOCK_TEAM_ID_3,\n MOCK_TEAM_ID_4,\n MOCK_TEAM_ID_5,\n} from '../team/mockTeam'\n\nexport const MOCK_CHALLENGE_ID = '1234'\nexport const MOCK_CHALLENGE_PROJECT_ID = 'syn12345678'\nconst etag = 'f1b29c62-e987-4e69-9cec-198bf017a586'\n\nconst getRandomId = (len: number) => {\n const exp = Math.pow(10, len - 1)\n return Math.floor(Math.random() * 9 * exp + exp)\n}\n\nexport const mockChallenge: Challenge = {\n id: MOCK_CHALLENGE_ID,\n etag,\n projectId: MOCK_CHALLENGE_PROJECT_ID,\n participantTeamId: String(MOCK_CHALLENGE_PARTICIPANT_TEAM_ID),\n}\n\nexport const mockChallengeTeamMember: TeamMember = {\n teamId: String(MOCK_CHALLENGE_PARTICIPANT_TEAM_ID),\n member: mockUserGroupHeader,\n isAdmin: false,\n}\n\nexport const mockChallengeTeamMembershipStatus = (\n isMember: boolean = false,\n canJoin: boolean = true,\n): TeamMembershipStatus => {\n return {\n teamId: String(MOCK_CHALLENGE_PARTICIPANT_TEAM_ID),\n userId: MOCK_USER_ID.toString(),\n isMember,\n hasOpenInvitation: false,\n hasOpenRequest: false,\n canJoin,\n membershipApprovalRequired: false,\n hasUnmetAccessRequirement: false,\n canSendEmail: true,\n }\n}\n\nexport const mockChallengeTeam = (\n override?: Partial<ChallengeTeam>,\n): ChallengeTeam => {\n const id: string = getRandomId(6).toString()\n const teamId: string = getRandomId(6).toString()\n return {\n id,\n etag,\n challengeId: MOCK_CHALLENGE_ID,\n teamId,\n message: `Message for team ${teamId}`,\n ...override,\n }\n}\n\nexport const mockChallengeTeamResults = (): ChallengeTeamPagedResults => {\n const results: ChallengeTeam[] = []\n do {\n results.push(mockChallengeTeam())\n } while (results.length < 10)\n return {\n results,\n totalNumberOfResults: results.length,\n }\n}\n\nexport const mockTeamList = (teams: ChallengeTeam[]): ListWrapper<Team> => {\n const list: Team[] = teams.map((team: ChallengeTeam, index: number) => {\n const canPublicJoin: boolean = index % 2 === 0\n return {\n id: team.teamId,\n name: `Team ${team.teamId}`,\n description: `Description for team ${team.teamId}`,\n icon: '',\n canPublicJoin,\n etag,\n createdOn: '2023-05-25T14:24:28.840Z',\n modifiedOn: '',\n createdBy: '',\n modifiedBy: '',\n }\n })\n return {\n list,\n }\n}\n\nexport const mockRegisteredChallengeTeams: ChallengeTeam[] = [\n mockChallengeTeam({\n teamId: String(MOCK_TEAM_ID_2),\n challengeId: MOCK_CHALLENGE_ID,\n }),\n mockChallengeTeam({\n teamId: String(MOCK_TEAM_ID_3),\n challengeId: MOCK_CHALLENGE_ID,\n }),\n mockChallengeTeam({\n teamId: String(MOCK_TEAM_ID_4),\n challengeId: MOCK_CHALLENGE_ID,\n }),\n mockChallengeTeam({\n teamId: String(MOCK_TEAM_ID_5),\n challengeId: MOCK_CHALLENGE_ID,\n }),\n]\n"],"mappings":";;;AAkBA,IAAa,IAAoB,QACpB,IAA4B,eACnC,IAAO,wCAEP,KAAe,MAAgB;CACnC,IAAM,IAAe,OAAI,IAAM;AAC/B,QAAO,KAAK,MAAM,KAAK,QAAQ,GAAG,IAAI,IAAM,EAAI;GAGrC,IAA2B;CACtC,IAAI;CACJ;CACA,WAAW;CACX,mBAAmB,OAAO,EAAmC;CAC9D,EAEY,IAAsC;CACjD,QAAQ,OAAO,EAAmC;CAClD,QAAQ;CACR,SAAS;CACV,EAEY,KACX,IAAoB,IACpB,IAAmB,QAEZ;CACL,QAAQ,OAAO,EAAmC;CAClD,QAAA;CACA;CACA,mBAAmB;CACnB,gBAAgB;CAChB;CACA,4BAA4B;CAC5B,2BAA2B;CAC3B,cAAc;CACf,GAGU,KACX,MACkB;CAClB,IAAM,IAAa,EAAY,EAAE,CAAC,UAAU,EACtC,IAAiB,EAAY,EAAE,CAAC,UAAU;AAChD,QAAO;EACL;EACA;EACA,aAAa;EACb;EACA,SAAS,oBAAoB;EAC7B,GAAG;EACJ;GAGU,UAA4D;CACvE,IAAM,IAA2B,EAAE;AACnC;AACE,IAAQ,KAAK,GAAmB,CAAC;QAC1B,EAAQ,SAAS;AAC1B,QAAO;EACL;EACA,sBAAsB,EAAQ;EAC/B;GAGU,KAAgB,OAgBpB,EACL,MAhBmB,EAAM,KAAK,GAAqB,MAAkB;CACrE,IAAM,IAAyB,IAAQ,KAAM;AAC7C,QAAO;EACL,IAAI,EAAK;EACT,MAAM,QAAQ,EAAK;EACnB,aAAa,wBAAwB,EAAK;EAC1C,MAAM;EACN;EACA;EACA,WAAW;EACX,YAAY;EACZ,WAAW;EACX,YAAY;EACb;EACD,
|
|
1
|
+
{"version":3,"file":"mockChallenge.js","names":[],"sources":["../../../src/mocks/challenge/mockChallenge.ts"],"sourcesContent":["import {\n Challenge,\n ChallengeTeam,\n ChallengeTeamPagedResults,\n ListWrapper,\n Team,\n TeamMember,\n TeamMembershipStatus,\n} from '@sage-bionetworks/synapse-types'\nimport { MOCK_USER_ID, mockUserGroupHeader } from '../user/mock_user_profile'\nimport {\n MOCK_CHALLENGE_PARTICIPANT_TEAM_ID,\n MOCK_TEAM_ID_2,\n MOCK_TEAM_ID_3,\n MOCK_TEAM_ID_4,\n MOCK_TEAM_ID_5,\n} from '../team/mockTeam'\n\nexport const MOCK_CHALLENGE_ID = '1234'\nexport const MOCK_CHALLENGE_PROJECT_ID = 'syn12345678'\nconst etag = 'f1b29c62-e987-4e69-9cec-198bf017a586'\n\nconst getRandomId = (len: number) => {\n const exp = Math.pow(10, len - 1)\n return Math.floor(Math.random() * 9 * exp + exp)\n}\n\nexport const mockChallenge: Challenge = {\n id: MOCK_CHALLENGE_ID,\n etag,\n projectId: MOCK_CHALLENGE_PROJECT_ID,\n participantTeamId: String(MOCK_CHALLENGE_PARTICIPANT_TEAM_ID),\n}\n\nexport const mockChallengeTeamMember: TeamMember = {\n teamId: String(MOCK_CHALLENGE_PARTICIPANT_TEAM_ID),\n member: mockUserGroupHeader,\n isAdmin: false,\n}\n\nexport const mockChallengeTeamMembershipStatus = (\n isMember: boolean = false,\n canJoin: boolean = true,\n): TeamMembershipStatus => {\n return {\n teamId: String(MOCK_CHALLENGE_PARTICIPANT_TEAM_ID),\n userId: MOCK_USER_ID.toString(),\n isMember,\n hasOpenInvitation: false,\n hasOpenRequest: false,\n canJoin,\n membershipApprovalRequired: false,\n hasUnmetAccessRequirement: false,\n canSendEmail: true,\n }\n}\n\nexport const mockChallengeTeam = (\n override?: Partial<ChallengeTeam>,\n): ChallengeTeam => {\n const id: string = getRandomId(6).toString()\n const teamId: string = getRandomId(6).toString()\n return {\n id,\n etag,\n challengeId: MOCK_CHALLENGE_ID,\n teamId,\n message: `Message for team ${teamId}`,\n ...override,\n }\n}\n\nexport const mockChallengeTeamResults = (): ChallengeTeamPagedResults => {\n const results: ChallengeTeam[] = []\n do {\n results.push(mockChallengeTeam())\n } while (results.length < 10)\n return {\n results,\n totalNumberOfResults: results.length,\n }\n}\n\nexport const mockTeamList = (teams: ChallengeTeam[]): ListWrapper<Team> => {\n const list: Team[] = teams.map((team: ChallengeTeam, index: number) => {\n const canPublicJoin: boolean = index % 2 === 0\n return {\n id: team.teamId,\n name: `Team ${team.teamId}`,\n description: `Description for team ${team.teamId}`,\n icon: '',\n canPublicJoin,\n etag,\n createdOn: '2023-05-25T14:24:28.840Z',\n modifiedOn: '',\n createdBy: '',\n modifiedBy: '',\n }\n })\n return {\n list,\n }\n}\n\nexport const mockRegisteredChallengeTeams: ChallengeTeam[] = [\n mockChallengeTeam({\n teamId: String(MOCK_TEAM_ID_2),\n challengeId: MOCK_CHALLENGE_ID,\n }),\n mockChallengeTeam({\n teamId: String(MOCK_TEAM_ID_3),\n challengeId: MOCK_CHALLENGE_ID,\n }),\n mockChallengeTeam({\n teamId: String(MOCK_TEAM_ID_4),\n challengeId: MOCK_CHALLENGE_ID,\n }),\n mockChallengeTeam({\n teamId: String(MOCK_TEAM_ID_5),\n challengeId: MOCK_CHALLENGE_ID,\n }),\n]\n"],"mappings":";;;AAkBA,IAAa,IAAoB,QACpB,IAA4B,eACnC,IAAO,wCAEP,KAAe,MAAgB;CACnC,IAAM,IAAe,OAAI,IAAM;AAC/B,QAAO,KAAK,MAAM,KAAK,QAAQ,GAAG,IAAI,IAAM,EAAI;GAGrC,IAA2B;CACtC,IAAI;CACJ;CACA,WAAW;CACX,mBAAmB,OAAO,EAAmC;CAC9D,EAEY,IAAsC;CACjD,QAAQ,OAAO,EAAmC;CAClD,QAAQ;CACR,SAAS;CACV,EAEY,KACX,IAAoB,IACpB,IAAmB,QAEZ;CACL,QAAQ,OAAO,EAAmC;CAClD,QAAA;CACA;CACA,mBAAmB;CACnB,gBAAgB;CAChB;CACA,4BAA4B;CAC5B,2BAA2B;CAC3B,cAAc;CACf,GAGU,KACX,MACkB;CAClB,IAAM,IAAa,EAAY,EAAE,CAAC,UAAU,EACtC,IAAiB,EAAY,EAAE,CAAC,UAAU;AAChD,QAAO;EACL;EACA;EACA,aAAa;EACb;EACA,SAAS,oBAAoB;EAC7B,GAAG;EACJ;GAGU,UAA4D;CACvE,IAAM,IAA2B,EAAE;AACnC;AACE,IAAQ,KAAK,GAAmB,CAAC;QAC1B,EAAQ,SAAS;AAC1B,QAAO;EACL;EACA,sBAAsB,EAAQ;EAC/B;GAGU,KAAgB,OAgBpB,EACL,MAhBmB,EAAM,KAAK,GAAqB,MAAkB;CACrE,IAAM,IAAyB,IAAQ,KAAM;AAC7C,QAAO;EACL,IAAI,EAAK;EACT,MAAM,QAAQ,EAAK;EACnB,aAAa,wBAAwB,EAAK;EAC1C,MAAM;EACN;EACA;EACA,WAAW;EACX,YAAY;EACZ,WAAW;EACX,YAAY;EACb;EAGD,EACD,GAGU,IAAgD;CAC3D,EAAkB;EAChB,QAAQ,OAAO,EAAe;EAC9B,aAAa;EACd,CAAC;CACF,EAAkB;EAChB,QAAQ,OAAO,EAAe;EAC9B,aAAa;EACd,CAAC;CACF,EAAkB;EAChB,QAAQ,OAAO,EAAe;EAC9B,aAAa;EACd,CAAC;CACF,EAAkB;EAChB,QAAQ,OAAO,EAAe;EAC9B,aAAa;EACd,CAAC;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockDataset.js","names":[],"sources":["../../../src/mocks/entity/mockDataset.ts"],"sourcesContent":["import { normalizeNumericId } from '@/utils/functions/StringUtils'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n Dataset,\n EntityBundle,\n EntityHeader,\n EntityPath,\n RestrictionLevel,\n VersionInfo,\n} from '@sage-bionetworks/synapse-types'\nimport { MOCK_USER_ID, MOCK_USER_ID_2 } from '../user/mock_user_profile'\nimport { MockEntityData } from './MockEntityData'\nimport mockProjectEntityData from './mockProject'\n\nexport const MOCK_DATASET_ENTITY_ID = `syn60000`\nexport const MOCK_DATASET_NAME = 'A Mocked Dataset'\n\nexport const mockDatasetEntity: Dataset = {\n id: MOCK_DATASET_ENTITY_ID,\n parentId: mockProjectEntityData.id,\n name: MOCK_DATASET_NAME,\n concreteType: 'org.sagebionetworks.repo.model.table.Dataset',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID_2.toString(),\n createdOn: '2020-01-01T00:00:00.000Z',\n modifiedOn: '2020-02-01T00:00:00.000Z',\n versionNumber: 3,\n versionLabel: 'in progress',\n versionComment: 'in progress',\n isLatestVersion: true,\n etag: '00000000-0000-0000-0000-000000000000',\n items: [],\n columnIds: [],\n isSearchEnabled: false,\n}\n\nconst mockHeader: EntityHeader = {\n id: MOCK_DATASET_ENTITY_ID,\n type: 'org.sagebionetworks.repo.model.table.Dataset',\n name: MOCK_DATASET_NAME,\n benefactorId: parseInt(mockProjectEntityData.id),\n createdOn: '2020-01-01T00:00:00.000Z',\n modifiedOn: '2020-02-01T00:00:00.000Z',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID.toString(),\n versionNumber: 3,\n versionLabel: 'in progress',\n isLatestVersion: true,\n}\n\nconst path: EntityPath = {\n path: [\n {\n name: 'root',\n id: 'syn4489',\n type: 'org.sagebionetworks.repo.model.Folder',\n },\n {\n name: mockProjectEntityData.name,\n id: mockProjectEntityData.id,\n type: 'org.sagebionetworks.repo.model.Project',\n },\n {\n name: MOCK_DATASET_NAME,\n id: MOCK_DATASET_ENTITY_ID,\n type: 'org.sagebionetworks.repo.model.table.Dataset',\n },\n ],\n}\n\nconst versions: Record<number, Dataset> = {\n 1: {\n ...mockDatasetEntity,\n versionNumber: 1,\n versionLabel: 'snapshot 1',\n versionComment: '',\n isLatestVersion: false,\n },\n 2: {\n ...mockDatasetEntity,\n versionNumber: 2,\n versionLabel: 'snapshot 2',\n versionComment: '',\n isLatestVersion: false,\n },\n}\n\nconst versionInfo: VersionInfo[] = [\n {\n id: MOCK_DATASET_ENTITY_ID,\n versionNumber: 2,\n versionLabel: 'snapshot 2',\n versionComment: '',\n isLatestVersion: false,\n modifiedBy: MOCK_USER_ID.toString(),\n modifiedByPrincipalId: MOCK_USER_ID.toString(),\n modifiedOn: '2022-03-22T18:50:22.336Z',\n },\n {\n id: MOCK_DATASET_ENTITY_ID,\n versionNumber: 1,\n versionLabel: 'snapshot 1',\n versionComment: '',\n isLatestVersion: false,\n modifiedBy: MOCK_USER_ID.toString(),\n modifiedByPrincipalId: MOCK_USER_ID.toString(),\n modifiedOn: '2022-03-22T18:47:34.797Z',\n },\n]\n\nconst bundle: EntityBundle = {\n accessControlList: { id: '239443242', resourceAccess: [] },\n annotations: {\n id: '34243',\n etag: '00000000-0000-0000-0000-000000000000',\n annotations: {},\n },\n benefactorAcl: { id: '239443242', resourceAccess: [] },\n fileHandles: [],\n hasChildren: false,\n restrictionInformation: {\n objectId: normalizeNumericId(MOCK_DATASET_ENTITY_ID),\n restrictionDetails: [],\n restrictionLevel: RestrictionLevel.OPEN,\n hasUnmetAccessRequirement: false,\n },\n threadCount: 0,\n entity: mockDatasetEntity,\n entityType: EntityType.dataset,\n path: path,\n permissions: {\n canView: true,\n canEdit: true,\n canMove: true,\n canAddChild: true,\n canCertifiedUserEdit: true,\n canCertifiedUserAddChild: true,\n isCertifiedUser: true,\n canChangePermissions: true,\n canChangeSettings: true,\n canDelete: true,\n canDownload: true,\n canUpload: true,\n canEnableInheritance: true,\n ownerPrincipalId: 3350396,\n canPublicRead: true,\n canModerate: true,\n isCertificationRequired: true,\n isEntityOpenData: false,\n isUserDataContributor: true,\n },\n}\n\nconst mockDatasetData = {\n id: MOCK_DATASET_ENTITY_ID,\n name: MOCK_DATASET_NAME,\n entity: mockDatasetEntity,\n entityHeader: mockHeader,\n path: path,\n bundle: bundle,\n versions: versions,\n versionInfo: versionInfo,\n} satisfies MockEntityData<Dataset>\n\nexport default mockDatasetData\n"],"mappings":";;;;;;AAcA,IAAa,IAAyB,YACzB,IAAoB,oBAEpB,IAA6B;CACxC,IAAI;CACJ,UAAU,EAAsB;CAChC,MAAM;CACN,cAAc;CACd,WAAA;CACA,YAAY,EAAe,UAAU;CACrC,WAAW;CACX,YAAY;CACZ,eAAe;CACf,cAAc;CACd,gBAAgB;CAChB,iBAAiB;CACjB,MAAM;CACN,OAAO,EAAE;CACT,WAAW,EAAE;CACb,iBAAiB;CAClB,EAEK,IAA2B;CAC/B,IAAI;CACJ,MAAM;CACN,MAAM;CACN,cAAc,SAAS,EAAsB,GAAG;CAChD,WAAW;CACX,YAAY;CACZ,WAAA;CACA,YAAA;CACA,eAAe;CACf,cAAc;CACd,iBAAiB;CAClB,EAEK,IAAmB,EACvB,MAAM;CACJ;EACE,MAAM;EACN,IAAI;EACJ,MAAM;EACP;CACD;EACE,MAAM,EAAsB;EAC5B,IAAI,EAAsB;EAC1B,MAAM;EACP;CACD;EACE,MAAM;EACN,IAAI;EACJ,MAAM;EACP;CACF,EACF,EAEK,IAAoC;CACxC,GAAG;EACD,GAAG;EACH,eAAe;EACf,cAAc;EACd,gBAAgB;EAChB,iBAAiB;EAClB;CACD,GAAG;EACD,GAAG;EACH,eAAe;EACf,cAAc;EACd,gBAAgB;EAChB,iBAAiB;EAClB;CACF,EAEK,IAA6B,CACjC;CACE,IAAI;CACJ,eAAe;CACf,cAAc;CACd,gBAAgB;CAChB,iBAAiB;CACjB,YAAA;CACA,uBAAA;CACA,YAAY;CACb,EACD;CACE,IAAI;CACJ,eAAe;CACf,cAAc;CACd,gBAAgB;CAChB,iBAAiB;CACjB,YAAA;CACA,uBAAA;CACA,YAAY;CACb,CACF,EA6CK,IAAkB;CACtB,IAAI;CACJ,MAAM;CACN,QAAQ;CACR,cAAc;CACR;CACE,
|
|
1
|
+
{"version":3,"file":"mockDataset.js","names":[],"sources":["../../../src/mocks/entity/mockDataset.ts"],"sourcesContent":["import { normalizeNumericId } from '@/utils/functions/StringUtils'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n Dataset,\n EntityBundle,\n EntityHeader,\n EntityPath,\n RestrictionLevel,\n VersionInfo,\n} from '@sage-bionetworks/synapse-types'\nimport { MOCK_USER_ID, MOCK_USER_ID_2 } from '../user/mock_user_profile'\nimport { MockEntityData } from './MockEntityData'\nimport mockProjectEntityData from './mockProject'\n\nexport const MOCK_DATASET_ENTITY_ID = `syn60000`\nexport const MOCK_DATASET_NAME = 'A Mocked Dataset'\n\nexport const mockDatasetEntity: Dataset = {\n id: MOCK_DATASET_ENTITY_ID,\n parentId: mockProjectEntityData.id,\n name: MOCK_DATASET_NAME,\n concreteType: 'org.sagebionetworks.repo.model.table.Dataset',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID_2.toString(),\n createdOn: '2020-01-01T00:00:00.000Z',\n modifiedOn: '2020-02-01T00:00:00.000Z',\n versionNumber: 3,\n versionLabel: 'in progress',\n versionComment: 'in progress',\n isLatestVersion: true,\n etag: '00000000-0000-0000-0000-000000000000',\n items: [],\n columnIds: [],\n isSearchEnabled: false,\n}\n\nconst mockHeader: EntityHeader = {\n id: MOCK_DATASET_ENTITY_ID,\n type: 'org.sagebionetworks.repo.model.table.Dataset',\n name: MOCK_DATASET_NAME,\n benefactorId: parseInt(mockProjectEntityData.id),\n createdOn: '2020-01-01T00:00:00.000Z',\n modifiedOn: '2020-02-01T00:00:00.000Z',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID.toString(),\n versionNumber: 3,\n versionLabel: 'in progress',\n isLatestVersion: true,\n}\n\nconst path: EntityPath = {\n path: [\n {\n name: 'root',\n id: 'syn4489',\n type: 'org.sagebionetworks.repo.model.Folder',\n },\n {\n name: mockProjectEntityData.name,\n id: mockProjectEntityData.id,\n type: 'org.sagebionetworks.repo.model.Project',\n },\n {\n name: MOCK_DATASET_NAME,\n id: MOCK_DATASET_ENTITY_ID,\n type: 'org.sagebionetworks.repo.model.table.Dataset',\n },\n ],\n}\n\nconst versions: Record<number, Dataset> = {\n 1: {\n ...mockDatasetEntity,\n versionNumber: 1,\n versionLabel: 'snapshot 1',\n versionComment: '',\n isLatestVersion: false,\n },\n 2: {\n ...mockDatasetEntity,\n versionNumber: 2,\n versionLabel: 'snapshot 2',\n versionComment: '',\n isLatestVersion: false,\n },\n}\n\nconst versionInfo: VersionInfo[] = [\n {\n id: MOCK_DATASET_ENTITY_ID,\n versionNumber: 2,\n versionLabel: 'snapshot 2',\n versionComment: '',\n isLatestVersion: false,\n modifiedBy: MOCK_USER_ID.toString(),\n modifiedByPrincipalId: MOCK_USER_ID.toString(),\n modifiedOn: '2022-03-22T18:50:22.336Z',\n },\n {\n id: MOCK_DATASET_ENTITY_ID,\n versionNumber: 1,\n versionLabel: 'snapshot 1',\n versionComment: '',\n isLatestVersion: false,\n modifiedBy: MOCK_USER_ID.toString(),\n modifiedByPrincipalId: MOCK_USER_ID.toString(),\n modifiedOn: '2022-03-22T18:47:34.797Z',\n },\n]\n\nconst bundle: EntityBundle = {\n accessControlList: { id: '239443242', resourceAccess: [] },\n annotations: {\n id: '34243',\n etag: '00000000-0000-0000-0000-000000000000',\n annotations: {},\n },\n benefactorAcl: { id: '239443242', resourceAccess: [] },\n fileHandles: [],\n hasChildren: false,\n restrictionInformation: {\n objectId: normalizeNumericId(MOCK_DATASET_ENTITY_ID),\n restrictionDetails: [],\n restrictionLevel: RestrictionLevel.OPEN,\n hasUnmetAccessRequirement: false,\n },\n threadCount: 0,\n entity: mockDatasetEntity,\n entityType: EntityType.dataset,\n path: path,\n permissions: {\n canView: true,\n canEdit: true,\n canMove: true,\n canAddChild: true,\n canCertifiedUserEdit: true,\n canCertifiedUserAddChild: true,\n isCertifiedUser: true,\n canChangePermissions: true,\n canChangeSettings: true,\n canDelete: true,\n canDownload: true,\n canUpload: true,\n canEnableInheritance: true,\n ownerPrincipalId: 3350396,\n canPublicRead: true,\n canModerate: true,\n isCertificationRequired: true,\n isEntityOpenData: false,\n isUserDataContributor: true,\n },\n}\n\nconst mockDatasetData = {\n id: MOCK_DATASET_ENTITY_ID,\n name: MOCK_DATASET_NAME,\n entity: mockDatasetEntity,\n entityHeader: mockHeader,\n path: path,\n bundle: bundle,\n versions: versions,\n versionInfo: versionInfo,\n} satisfies MockEntityData<Dataset>\n\nexport default mockDatasetData\n"],"mappings":";;;;;;AAcA,IAAa,IAAyB,YACzB,IAAoB,oBAEpB,IAA6B;CACxC,IAAI;CACJ,UAAU,EAAsB;CAChC,MAAM;CACN,cAAc;CACd,WAAA;CACA,YAAY,EAAe,UAAU;CACrC,WAAW;CACX,YAAY;CACZ,eAAe;CACf,cAAc;CACd,gBAAgB;CAChB,iBAAiB;CACjB,MAAM;CACN,OAAO,EAAE;CACT,WAAW,EAAE;CACb,iBAAiB;CAClB,EAEK,IAA2B;CAC/B,IAAI;CACJ,MAAM;CACN,MAAM;CACN,cAAc,SAAS,EAAsB,GAAG;CAChD,WAAW;CACX,YAAY;CACZ,WAAA;CACA,YAAA;CACA,eAAe;CACf,cAAc;CACd,iBAAiB;CAClB,EAEK,IAAmB,EACvB,MAAM;CACJ;EACE,MAAM;EACN,IAAI;EACJ,MAAM;EACP;CACD;EACE,MAAM,EAAsB;EAC5B,IAAI,EAAsB;EAC1B,MAAM;EACP;CACD;EACE,MAAM;EACN,IAAI;EACJ,MAAM;EACP;CACF,EACF,EAEK,IAAoC;CACxC,GAAG;EACD,GAAG;EACH,eAAe;EACf,cAAc;EACd,gBAAgB;EAChB,iBAAiB;EAClB;CACD,GAAG;EACD,GAAG;EACH,eAAe;EACf,cAAc;EACd,gBAAgB;EAChB,iBAAiB;EAClB;CACF,EAEK,IAA6B,CACjC;CACE,IAAI;CACJ,eAAe;CACf,cAAc;CACd,gBAAgB;CAChB,iBAAiB;CACjB,YAAA;CACA,uBAAA;CACA,YAAY;CACb,EACD;CACE,IAAI;CACJ,eAAe;CACf,cAAc;CACd,gBAAgB;CAChB,iBAAiB;CACjB,YAAA;CACA,uBAAA;CACA,YAAY;CACb,CACF,EA6CK,IAAkB;CACtB,IAAI;CACJ,MAAM;CACN,QAAQ;CACR,cAAc;CACR;CACE,QAAA;EAhDR,mBAAmB;GAAE,IAAI;GAAa,gBAAgB,EAAE;GAAE;EAC1D,aAAa;GACX,IAAI;GACJ,MAAM;GACN,aAAa,EAAE;GAChB;EACD,eAAe;GAAE,IAAI;GAAa,gBAAgB,EAAE;GAAE;EACtD,aAAa,EAAE;EACf,aAAa;EACb,wBAAwB;GACtB,UAAU,EAAmB,EAAuB;GACpD,oBAAoB,EAAE;GACtB,kBAAkB,EAAiB;GACnC,2BAA2B;GAC5B;EACD,aAAa;EACb,QAAQ;EACR,YAAY,EAAW;EACjB;EACN,aAAa;GACX,SAAS;GACT,SAAS;GACT,SAAS;GACT,aAAa;GACb,sBAAsB;GACtB,0BAA0B;GAC1B,iBAAiB;GACjB,sBAAsB;GACtB,mBAAmB;GACnB,WAAW;GACX,aAAa;GACb,WAAW;GACX,sBAAsB;GACtB,kBAAkB;GAClB,eAAe;GACf,aAAa;GACb,yBAAyB;GACzB,kBAAkB;GAClB,uBAAuB;GACxB;EASO;CACE;CACG;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockDatasetCollection.js","names":[],"sources":["../../../src/mocks/entity/mockDatasetCollection.ts"],"sourcesContent":["import { DatasetCollection, EntityPath } from '@sage-bionetworks/synapse-types'\nimport { MOCK_USER_ID } from '../user/mock_user_profile'\nimport mockDatasetData from './mockDataset'\nimport { MockEntityData } from './MockEntityData'\nimport mockProjectEntityData from './mockProject'\n\nconst MOCK_DATASET_COLLECTION_ENTITY_ID = `syn70000`\nconst MOCK_DATASET_COLLECTION_NAME = 'A Mocked Dataset Collection'\n\nexport const mockDatasetCollectionEntity: DatasetCollection = {\n id: MOCK_DATASET_COLLECTION_ENTITY_ID,\n parentId: mockProjectEntityData.id,\n name: MOCK_DATASET_COLLECTION_NAME,\n concreteType: 'org.sagebionetworks.repo.model.table.DatasetCollection',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID.toString(),\n etag: '00000000-0000-0000-0000-000000000000',\n items: [\n {\n entityId: mockDatasetData.id,\n versionNumber: 1,\n },\n ],\n columnIds: [],\n isSearchEnabled: false,\n}\n\nconst path: EntityPath = {\n path: [\n {\n name: 'root',\n id: 'syn4489',\n type: 'org.sagebionetworks.repo.model.Folder',\n },\n {\n name: mockProjectEntityData.name,\n id: mockProjectEntityData.id,\n type: 'org.sagebionetworks.repo.model.Project',\n },\n {\n name: MOCK_DATASET_COLLECTION_NAME,\n id: MOCK_DATASET_COLLECTION_ENTITY_ID,\n type: 'org.sagebionetworks.repo.model.FileEntity',\n },\n ],\n}\n\nconst mockDatasetCollectionData: MockEntityData<DatasetCollection> = {\n id: MOCK_DATASET_COLLECTION_ENTITY_ID,\n name: MOCK_DATASET_COLLECTION_NAME,\n entity: mockDatasetCollectionEntity,\n path: path,\n}\n\nexport default mockDatasetCollectionData\n"],"mappings":";;;;AAMA,IAAM,IAAoC,YACpC,IAA+B,+BAExB,IAAiD;CAC5D,IAAI;CACJ,UAAU,EAAsB;CAChC,MAAM;CACN,cAAc;CACd,WAAA;CACA,YAAA;CACA,MAAM;CACN,OAAO,CACL;EACE,UAAU,EAAgB;EAC1B,eAAe;EAChB,CACF;CACD,WAAW,EAAE;CACb,iBAAiB;CAClB,EAsBK,IAA+D;CACnE,IAAI;CACJ,MAAM;CACN,QAAQ;CACF,
|
|
1
|
+
{"version":3,"file":"mockDatasetCollection.js","names":[],"sources":["../../../src/mocks/entity/mockDatasetCollection.ts"],"sourcesContent":["import { DatasetCollection, EntityPath } from '@sage-bionetworks/synapse-types'\nimport { MOCK_USER_ID } from '../user/mock_user_profile'\nimport mockDatasetData from './mockDataset'\nimport { MockEntityData } from './MockEntityData'\nimport mockProjectEntityData from './mockProject'\n\nconst MOCK_DATASET_COLLECTION_ENTITY_ID = `syn70000`\nconst MOCK_DATASET_COLLECTION_NAME = 'A Mocked Dataset Collection'\n\nexport const mockDatasetCollectionEntity: DatasetCollection = {\n id: MOCK_DATASET_COLLECTION_ENTITY_ID,\n parentId: mockProjectEntityData.id,\n name: MOCK_DATASET_COLLECTION_NAME,\n concreteType: 'org.sagebionetworks.repo.model.table.DatasetCollection',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID.toString(),\n etag: '00000000-0000-0000-0000-000000000000',\n items: [\n {\n entityId: mockDatasetData.id,\n versionNumber: 1,\n },\n ],\n columnIds: [],\n isSearchEnabled: false,\n}\n\nconst path: EntityPath = {\n path: [\n {\n name: 'root',\n id: 'syn4489',\n type: 'org.sagebionetworks.repo.model.Folder',\n },\n {\n name: mockProjectEntityData.name,\n id: mockProjectEntityData.id,\n type: 'org.sagebionetworks.repo.model.Project',\n },\n {\n name: MOCK_DATASET_COLLECTION_NAME,\n id: MOCK_DATASET_COLLECTION_ENTITY_ID,\n type: 'org.sagebionetworks.repo.model.FileEntity',\n },\n ],\n}\n\nconst mockDatasetCollectionData: MockEntityData<DatasetCollection> = {\n id: MOCK_DATASET_COLLECTION_ENTITY_ID,\n name: MOCK_DATASET_COLLECTION_NAME,\n entity: mockDatasetCollectionEntity,\n path: path,\n}\n\nexport default mockDatasetCollectionData\n"],"mappings":";;;;AAMA,IAAM,IAAoC,YACpC,IAA+B,+BAExB,IAAiD;CAC5D,IAAI;CACJ,UAAU,EAAsB;CAChC,MAAM;CACN,cAAc;CACd,WAAA;CACA,YAAA;CACA,MAAM;CACN,OAAO,CACL;EACE,UAAU,EAAgB;EAC1B,eAAe;EAChB,CACF;CACD,WAAW,EAAE;CACb,iBAAiB;CAClB,EAsBK,IAA+D;CACnE,IAAI;CACJ,MAAM;CACN,QAAQ;CACF,MAAA,EAvBN,MAAM;EACJ;GACE,MAAM;GACN,IAAI;GACJ,MAAM;GACP;EACD;GACE,MAAM,EAAsB;GAC5B,IAAI,EAAsB;GAC1B,MAAM;GACP;EACD;GACE,MAAM;GACN,IAAI;GACJ,MAAM;GACP;EACF,EAOK;CACP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockFileEntity.js","names":[],"sources":["../../../src/mocks/entity/mockFileEntity.ts"],"sourcesContent":["import { normalizeNumericId } from '@/utils/functions/StringUtils'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n AnnotationsValueType,\n EntityBundle,\n EntityHeader,\n EntityJson,\n EntityPath,\n FileEntity,\n RestrictionLevel,\n VersionInfo,\n} from '@sage-bionetworks/synapse-types'\nimport {\n MOCK_FILE_HANDLE_ID,\n mockFileHandle,\n mockPreviewFileHandle,\n} from '../mock_file_handle'\nimport { MOCK_USER_ID, MOCK_USER_ID_2 } from '../user/mock_user_profile'\nimport { MockEntityData } from './MockEntityData'\nimport mockProject from './mockProject'\nimport mockProjectEntityData from './mockProject'\n\nconst parentId = mockProject.id\nconst projectName = mockProject.name\n\nexport const MOCK_FILE_ENTITY_ID = `syn30000`\nexport const MOCK_FILE_NAME = 'My mock file entity'\n\n// TODO: Create a mock wiki\nconst MOCK_WIKI_ID = '45745485'\n\nconst mockFileEntity: FileEntity = {\n id: MOCK_FILE_ENTITY_ID,\n parentId: parentId,\n dataFileHandleId: MOCK_FILE_HANDLE_ID,\n name: MOCK_FILE_NAME,\n concreteType: 'org.sagebionetworks.repo.model.FileEntity',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID_2.toString(),\n etag: '00000000-0000-0000-0000-000000000000',\n versionNumber: 3,\n versionLabel: 'a label for version 3',\n isLatestVersion: true,\n createdOn: '2021-03-02T15:05:34.973Z',\n modifiedOn: '2021-03-05T11:31:24.521Z',\n}\n\nconst mockFileEntityVersionInfo: VersionInfo[] = [\n {\n id: MOCK_FILE_ENTITY_ID,\n modifiedBy: MOCK_USER_ID.toString(),\n versionNumber: 1,\n versionLabel: 'a label for version 1',\n versionComment: 'a comment',\n contentSize: '100',\n contentMd5: 'd836adae5632872014783b05cd2f76d7',\n modifiedByPrincipalId: MOCK_USER_ID.toString(),\n modifiedOn: '2021-03-02T15:05:34.973Z',\n isLatestVersion: false,\n },\n {\n id: MOCK_FILE_ENTITY_ID,\n modifiedBy: MOCK_USER_ID.toString(),\n versionNumber: 3,\n versionLabel: 'a label for version 3',\n versionComment: 'a comment about version 3',\n contentSize: '100',\n contentMd5: 'bc91a4a16ccb21944fcee55275dc4574',\n modifiedByPrincipalId: MOCK_USER_ID.toString(),\n modifiedOn: '2021-03-05T11:31:24.521Z',\n isLatestVersion: true,\n },\n]\n\nconst mockFileEntityVersions: Record<number, FileEntity> = {\n 3: {\n id: MOCK_FILE_ENTITY_ID,\n parentId: parentId,\n dataFileHandleId: MOCK_FILE_HANDLE_ID,\n name: MOCK_FILE_NAME,\n concreteType: 'org.sagebionetworks.repo.model.FileEntity',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID.toString(),\n etag: '00000000-0000-0000-0000-000000000000',\n versionNumber: 3,\n versionLabel: 'a label for version 3',\n isLatestVersion: true,\n },\n 1: {\n id: MOCK_FILE_ENTITY_ID,\n parentId: parentId,\n dataFileHandleId: MOCK_FILE_HANDLE_ID,\n name: MOCK_FILE_NAME,\n concreteType: 'org.sagebionetworks.repo.model.FileEntity',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID.toString(),\n etag: '00000000-0000-0000-0000-000000000000',\n versionNumber: 1,\n versionLabel: 'a label for version 1',\n isLatestVersion: false,\n },\n}\n\nconst filePath: EntityPath = {\n path: [\n {\n name: 'root',\n id: 'syn4489',\n type: 'org.sagebionetworks.repo.model.Folder',\n },\n {\n name: projectName,\n id: parentId,\n type: 'org.sagebionetworks.repo.model.Project',\n },\n {\n name: MOCK_FILE_NAME,\n id: MOCK_FILE_ENTITY_ID,\n type: 'org.sagebionetworks.repo.model.FileEntity',\n },\n ],\n}\n\nconst mockFileEntityBundle: EntityBundle = {\n entity: mockFileEntity,\n entityType: EntityType.file,\n fileHandles: [mockFileHandle, mockPreviewFileHandle],\n annotations: {\n id: MOCK_FILE_ENTITY_ID,\n etag: '00000000-0000-0000-0000-000000000000',\n annotations: {\n myStringKey: {\n type: AnnotationsValueType.STRING,\n value: ['myValue'],\n },\n myIntegerKey: {\n type: AnnotationsValueType.LONG,\n value: [4325435345213, 4321],\n },\n myFloatKey: {\n type: AnnotationsValueType.LONG,\n value: [1.5, 17 / 13],\n },\n },\n },\n rootWikiId: MOCK_WIKI_ID,\n fileName: mockFileEntity.name,\n benefactorAcl: mockProjectEntityData.bundle.accessControlList!,\n permissions: {\n canView: true,\n canEdit: true,\n canMove: true,\n canAddChild: true,\n canCertifiedUserEdit: true,\n canCertifiedUserAddChild: true,\n isCertifiedUser: true,\n canChangePermissions: true,\n canChangeSettings: true,\n canDelete: true,\n canDownload: true,\n canUpload: true,\n canEnableInheritance: true,\n ownerPrincipalId: 3350396,\n canPublicRead: true,\n canModerate: true,\n isCertificationRequired: true,\n isEntityOpenData: false,\n isUserDataContributor: true,\n },\n threadCount: 5,\n path: filePath,\n restrictionInformation: {\n objectId: normalizeNumericId(MOCK_FILE_ENTITY_ID),\n restrictionDetails: [],\n restrictionLevel: RestrictionLevel.OPEN,\n hasUnmetAccessRequirement: false,\n },\n hasChildren: false,\n}\n\nconst mockFileEntityJson: EntityJson = {\n id: mockFileEntity.id!,\n name: mockFileEntity.name,\n etag: mockFileEntity.etag!,\n createdOn: mockFileEntity.createdOn!,\n modifiedOn: mockFileEntity.modifiedOn!,\n createdBy: mockFileEntity.createdBy!,\n modifiedBy: mockFileEntity.modifiedBy!,\n parentId: 'syn4489',\n concreteType: 'org.sagebionetworks.repo.model.FileEntity',\n myStringKey: 'myValue',\n myIntegerKey: [4325435345213, 4321],\n myFloatKey: [1.5, 17 / 13],\n}\n\nconst mockFileEntityHeader: EntityHeader = {\n id: mockFileEntity.id!,\n name: mockFileEntity.name,\n type: mockFileEntity.concreteType,\n versionNumber: 3,\n versionLabel: 'a label for version 3',\n benefactorId: 123,\n createdOn: mockFileEntity.createdOn!,\n modifiedOn: mockFileEntity.modifiedOn!,\n createdBy: MOCK_USER_ID.toString(), // TODO: Replace with a valid mock user ID\n modifiedBy: MOCK_USER_ID_2.toString(),\n isLatestVersion: true,\n}\n\nconst mockFileEntityData = {\n id: MOCK_FILE_ENTITY_ID,\n name: MOCK_FILE_NAME,\n entity: mockFileEntity,\n bundle: mockFileEntityBundle,\n json: mockFileEntityJson,\n versions: mockFileEntityVersions,\n versionInfo: mockFileEntityVersionInfo,\n entityHeader: mockFileEntityHeader,\n path: filePath,\n} satisfies MockEntityData<FileEntity>\n\nexport default mockFileEntityData\n"],"mappings":";;;;;;;AAsBA,IAAM,IAAW,EAAY,IACvB,IAAc,EAAY,MAEnB,IAAsB,YACtB,IAAiB,uBAGxB,IAAe,YAEf,IAA6B;CACjC,IAAI;CACM;CACV,kBAAkB;CAClB,MAAM;CACN,cAAc;CACd,WAAA;CACA,YAAY,EAAe,UAAU;CACrC,MAAM;CACN,eAAe;CACf,cAAc;CACd,iBAAiB;CACjB,WAAW;CACX,YAAY;CACb,EAEK,IAA2C,CAC/C;CACE,IAAI;CACJ,YAAA;CACA,eAAe;CACf,cAAc;CACd,gBAAgB;CAChB,aAAa;CACb,YAAY;CACZ,uBAAA;CACA,YAAY;CACZ,iBAAiB;CAClB,EACD;CACE,IAAI;CACJ,YAAA;CACA,eAAe;CACf,cAAc;CACd,gBAAgB;CAChB,aAAa;CACb,YAAY;CACZ,uBAAA;CACA,YAAY;CACZ,iBAAiB;CAClB,CACF,EAEK,IAAqD;CACzD,GAAG;EACD,IAAI;EACM;EACV,kBAAkB;EAClB,MAAM;EACN,cAAc;EACd,WAAA;EACA,YAAA;EACA,MAAM;EACN,eAAe;EACf,cAAc;EACd,iBAAiB;EAClB;CACD,GAAG;EACD,IAAI;EACM;EACV,kBAAkB;EAClB,MAAM;EACN,cAAc;EACd,WAAA;EACA,YAAA;EACA,MAAM;EACN,eAAe;EACf,cAAc;EACd,iBAAiB;EAClB;CACF,EAEK,IAAuB,EAC3B,MAAM;CACJ;EACE,MAAM;EACN,IAAI;EACJ,MAAM;EACP;CACD;EACE,MAAM;EACN,IAAI;EACJ,MAAM;EACP;CACD;EACE,MAAM;EACN,IAAI;EACJ,MAAM;EACP;CACF,EACF,EAwFK,IAAqB;CACzB,IAAI;CACJ,MAAM;CACN,QAAQ;CACR,
|
|
1
|
+
{"version":3,"file":"mockFileEntity.js","names":[],"sources":["../../../src/mocks/entity/mockFileEntity.ts"],"sourcesContent":["import { normalizeNumericId } from '@/utils/functions/StringUtils'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n AnnotationsValueType,\n EntityBundle,\n EntityHeader,\n EntityJson,\n EntityPath,\n FileEntity,\n RestrictionLevel,\n VersionInfo,\n} from '@sage-bionetworks/synapse-types'\nimport {\n MOCK_FILE_HANDLE_ID,\n mockFileHandle,\n mockPreviewFileHandle,\n} from '../mock_file_handle'\nimport { MOCK_USER_ID, MOCK_USER_ID_2 } from '../user/mock_user_profile'\nimport { MockEntityData } from './MockEntityData'\nimport mockProject from './mockProject'\nimport mockProjectEntityData from './mockProject'\n\nconst parentId = mockProject.id\nconst projectName = mockProject.name\n\nexport const MOCK_FILE_ENTITY_ID = `syn30000`\nexport const MOCK_FILE_NAME = 'My mock file entity'\n\n// TODO: Create a mock wiki\nconst MOCK_WIKI_ID = '45745485'\n\nconst mockFileEntity: FileEntity = {\n id: MOCK_FILE_ENTITY_ID,\n parentId: parentId,\n dataFileHandleId: MOCK_FILE_HANDLE_ID,\n name: MOCK_FILE_NAME,\n concreteType: 'org.sagebionetworks.repo.model.FileEntity',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID_2.toString(),\n etag: '00000000-0000-0000-0000-000000000000',\n versionNumber: 3,\n versionLabel: 'a label for version 3',\n isLatestVersion: true,\n createdOn: '2021-03-02T15:05:34.973Z',\n modifiedOn: '2021-03-05T11:31:24.521Z',\n}\n\nconst mockFileEntityVersionInfo: VersionInfo[] = [\n {\n id: MOCK_FILE_ENTITY_ID,\n modifiedBy: MOCK_USER_ID.toString(),\n versionNumber: 1,\n versionLabel: 'a label for version 1',\n versionComment: 'a comment',\n contentSize: '100',\n contentMd5: 'd836adae5632872014783b05cd2f76d7',\n modifiedByPrincipalId: MOCK_USER_ID.toString(),\n modifiedOn: '2021-03-02T15:05:34.973Z',\n isLatestVersion: false,\n },\n {\n id: MOCK_FILE_ENTITY_ID,\n modifiedBy: MOCK_USER_ID.toString(),\n versionNumber: 3,\n versionLabel: 'a label for version 3',\n versionComment: 'a comment about version 3',\n contentSize: '100',\n contentMd5: 'bc91a4a16ccb21944fcee55275dc4574',\n modifiedByPrincipalId: MOCK_USER_ID.toString(),\n modifiedOn: '2021-03-05T11:31:24.521Z',\n isLatestVersion: true,\n },\n]\n\nconst mockFileEntityVersions: Record<number, FileEntity> = {\n 3: {\n id: MOCK_FILE_ENTITY_ID,\n parentId: parentId,\n dataFileHandleId: MOCK_FILE_HANDLE_ID,\n name: MOCK_FILE_NAME,\n concreteType: 'org.sagebionetworks.repo.model.FileEntity',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID.toString(),\n etag: '00000000-0000-0000-0000-000000000000',\n versionNumber: 3,\n versionLabel: 'a label for version 3',\n isLatestVersion: true,\n },\n 1: {\n id: MOCK_FILE_ENTITY_ID,\n parentId: parentId,\n dataFileHandleId: MOCK_FILE_HANDLE_ID,\n name: MOCK_FILE_NAME,\n concreteType: 'org.sagebionetworks.repo.model.FileEntity',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID.toString(),\n etag: '00000000-0000-0000-0000-000000000000',\n versionNumber: 1,\n versionLabel: 'a label for version 1',\n isLatestVersion: false,\n },\n}\n\nconst filePath: EntityPath = {\n path: [\n {\n name: 'root',\n id: 'syn4489',\n type: 'org.sagebionetworks.repo.model.Folder',\n },\n {\n name: projectName,\n id: parentId,\n type: 'org.sagebionetworks.repo.model.Project',\n },\n {\n name: MOCK_FILE_NAME,\n id: MOCK_FILE_ENTITY_ID,\n type: 'org.sagebionetworks.repo.model.FileEntity',\n },\n ],\n}\n\nconst mockFileEntityBundle: EntityBundle = {\n entity: mockFileEntity,\n entityType: EntityType.file,\n fileHandles: [mockFileHandle, mockPreviewFileHandle],\n annotations: {\n id: MOCK_FILE_ENTITY_ID,\n etag: '00000000-0000-0000-0000-000000000000',\n annotations: {\n myStringKey: {\n type: AnnotationsValueType.STRING,\n value: ['myValue'],\n },\n myIntegerKey: {\n type: AnnotationsValueType.LONG,\n value: [4325435345213, 4321],\n },\n myFloatKey: {\n type: AnnotationsValueType.LONG,\n value: [1.5, 17 / 13],\n },\n },\n },\n rootWikiId: MOCK_WIKI_ID,\n fileName: mockFileEntity.name,\n benefactorAcl: mockProjectEntityData.bundle.accessControlList!,\n permissions: {\n canView: true,\n canEdit: true,\n canMove: true,\n canAddChild: true,\n canCertifiedUserEdit: true,\n canCertifiedUserAddChild: true,\n isCertifiedUser: true,\n canChangePermissions: true,\n canChangeSettings: true,\n canDelete: true,\n canDownload: true,\n canUpload: true,\n canEnableInheritance: true,\n ownerPrincipalId: 3350396,\n canPublicRead: true,\n canModerate: true,\n isCertificationRequired: true,\n isEntityOpenData: false,\n isUserDataContributor: true,\n },\n threadCount: 5,\n path: filePath,\n restrictionInformation: {\n objectId: normalizeNumericId(MOCK_FILE_ENTITY_ID),\n restrictionDetails: [],\n restrictionLevel: RestrictionLevel.OPEN,\n hasUnmetAccessRequirement: false,\n },\n hasChildren: false,\n}\n\nconst mockFileEntityJson: EntityJson = {\n id: mockFileEntity.id!,\n name: mockFileEntity.name,\n etag: mockFileEntity.etag!,\n createdOn: mockFileEntity.createdOn!,\n modifiedOn: mockFileEntity.modifiedOn!,\n createdBy: mockFileEntity.createdBy!,\n modifiedBy: mockFileEntity.modifiedBy!,\n parentId: 'syn4489',\n concreteType: 'org.sagebionetworks.repo.model.FileEntity',\n myStringKey: 'myValue',\n myIntegerKey: [4325435345213, 4321],\n myFloatKey: [1.5, 17 / 13],\n}\n\nconst mockFileEntityHeader: EntityHeader = {\n id: mockFileEntity.id!,\n name: mockFileEntity.name,\n type: mockFileEntity.concreteType,\n versionNumber: 3,\n versionLabel: 'a label for version 3',\n benefactorId: 123,\n createdOn: mockFileEntity.createdOn!,\n modifiedOn: mockFileEntity.modifiedOn!,\n createdBy: MOCK_USER_ID.toString(), // TODO: Replace with a valid mock user ID\n modifiedBy: MOCK_USER_ID_2.toString(),\n isLatestVersion: true,\n}\n\nconst mockFileEntityData = {\n id: MOCK_FILE_ENTITY_ID,\n name: MOCK_FILE_NAME,\n entity: mockFileEntity,\n bundle: mockFileEntityBundle,\n json: mockFileEntityJson,\n versions: mockFileEntityVersions,\n versionInfo: mockFileEntityVersionInfo,\n entityHeader: mockFileEntityHeader,\n path: filePath,\n} satisfies MockEntityData<FileEntity>\n\nexport default mockFileEntityData\n"],"mappings":";;;;;;;AAsBA,IAAM,IAAW,EAAY,IACvB,IAAc,EAAY,MAEnB,IAAsB,YACtB,IAAiB,uBAGxB,IAAe,YAEf,IAA6B;CACjC,IAAI;CACM;CACV,kBAAkB;CAClB,MAAM;CACN,cAAc;CACd,WAAA;CACA,YAAY,EAAe,UAAU;CACrC,MAAM;CACN,eAAe;CACf,cAAc;CACd,iBAAiB;CACjB,WAAW;CACX,YAAY;CACb,EAEK,IAA2C,CAC/C;CACE,IAAI;CACJ,YAAA;CACA,eAAe;CACf,cAAc;CACd,gBAAgB;CAChB,aAAa;CACb,YAAY;CACZ,uBAAA;CACA,YAAY;CACZ,iBAAiB;CAClB,EACD;CACE,IAAI;CACJ,YAAA;CACA,eAAe;CACf,cAAc;CACd,gBAAgB;CAChB,aAAa;CACb,YAAY;CACZ,uBAAA;CACA,YAAY;CACZ,iBAAiB;CAClB,CACF,EAEK,IAAqD;CACzD,GAAG;EACD,IAAI;EACM;EACV,kBAAkB;EAClB,MAAM;EACN,cAAc;EACd,WAAA;EACA,YAAA;EACA,MAAM;EACN,eAAe;EACf,cAAc;EACd,iBAAiB;EAClB;CACD,GAAG;EACD,IAAI;EACM;EACV,kBAAkB;EAClB,MAAM;EACN,cAAc;EACd,WAAA;EACA,YAAA;EACA,MAAM;EACN,eAAe;EACf,cAAc;EACd,iBAAiB;EAClB;CACF,EAEK,IAAuB,EAC3B,MAAM;CACJ;EACE,MAAM;EACN,IAAI;EACJ,MAAM;EACP;CACD;EACE,MAAM;EACN,IAAI;EACJ,MAAM;EACP;CACD;EACE,MAAM;EACN,IAAI;EACJ,MAAM;EACP;CACF,EACF,EAwFK,IAAqB;CACzB,IAAI;CACJ,MAAM;CACN,QAAQ;CACR,QAAQ;EAzFR,QAAQ;EACR,YAAY,EAAW;EACvB,aAAa,CAAC,GAAgB,EAAsB;EACpD,aAAa;GACX,IAAI;GACJ,MAAM;GACN,aAAa;IACX,aAAa;KACX,MAAM,EAAqB;KAC3B,OAAO,CAAC,UAAU;KACnB;IACD,cAAc;KACZ,MAAM,EAAqB;KAC3B,OAAO,CAAC,eAAe,KAAK;KAC7B;IACD,YAAY;KACV,MAAM,EAAqB;KAC3B,OAAO,CAAC,KAAK,KAAK,GAAG;KACtB;IACF;GACF;EACD,YAAY;EACZ,UAAU,EAAe;EACzB,eAAe,EAAsB,OAAO;EAC5C,aAAa;GACX,SAAS;GACT,SAAS;GACT,SAAS;GACT,aAAa;GACb,sBAAsB;GACtB,0BAA0B;GAC1B,iBAAiB;GACjB,sBAAsB;GACtB,mBAAmB;GACnB,WAAW;GACX,aAAa;GACb,WAAW;GACX,sBAAsB;GACtB,kBAAkB;GAClB,eAAe;GACf,aAAa;GACb,yBAAyB;GACzB,kBAAkB;GAClB,uBAAuB;GACxB;EACD,aAAa;EACb,MAAM;EACN,wBAAwB;GACtB,UAAU,EAAmB,EAAoB;GACjD,oBAAoB,EAAE;GACtB,kBAAkB,EAAiB;GACnC,2BAA2B;GAC5B;EACD,aAAa;EAoCL;CACR,MAAM;EAjCN,IAAI,EAAe;EACnB,MAAM,EAAe;EACrB,MAAM,EAAe;EACrB,WAAW,EAAe;EAC1B,YAAY,EAAe;EAC3B,WAAW,EAAe;EAC1B,YAAY,EAAe;EAC3B,UAAU;EACV,cAAc;EACd,aAAa;EACb,cAAc,CAAC,eAAe,KAAK;EACnC,YAAY,CAAC,KAAK,KAAK,GAAG;EAsBpB;CACN,UAAU;CACV,aAAa;CACb,cAAc;EArBd,IAAI,EAAe;EACnB,MAAM,EAAe;EACrB,MAAM,EAAe;EACrB,eAAe;EACf,cAAc;EACd,cAAc;EACd,WAAW,EAAe;EAC1B,YAAY,EAAe;EAC3B,WAAA;EACA,YAAY,EAAe,UAAU;EACrC,iBAAiB;EAWH;CACd,MAAM;CACP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockFileView.js","names":[],"sources":["../../../src/mocks/entity/mockFileView.ts"],"sourcesContent":["import { MOCK_USER_ID } from '../user/mock_user_profile'\nimport {\n ENTITY_VIEW_TYPE_MASK_FILE,\n EntityHeader,\n EntityView,\n} from '@sage-bionetworks/synapse-types'\nimport mockProject from './mockProject'\nimport { MockEntityData } from './MockEntityData'\nimport { MOCK_TABLE_ENTITY_ID } from './mockTableEntity'\n\nexport const MOCK_FILE_VIEW_ENTITY_ID = `syn50000`\nexport const MOCK_FILE_VIEW_NAME = 'Mocked File View'\nexport const mockFileViewEntity = {\n id: MOCK_FILE_VIEW_ENTITY_ID,\n parentId: mockProject.id,\n name: MOCK_FILE_VIEW_NAME,\n concreteType: 'org.sagebionetworks.repo.model.table.EntityView',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID.toString(),\n etag: '00000000-0000-0000-0000-000000000000',\n columnIds: [],\n viewTypeMask: ENTITY_VIEW_TYPE_MASK_FILE,\n scopeIds: [mockProject.id],\n isSearchEnabled: true,\n versionNumber: 1,\n versionLabel: 'in progress',\n createdOn: '2023-02-09T12:44:35.457Z',\n modifiedOn: '2023-03-17T17:10:36.915Z',\n isLatestVersion: true,\n} satisfies EntityView\n\nconst mockFileViewEntityHeader: EntityHeader = {\n name: mockFileViewEntity.name,\n id: MOCK_TABLE_ENTITY_ID,\n type: 'org.sagebionetworks.repo.model.table.EntityView',\n versionNumber: mockFileViewEntity.versionNumber,\n versionLabel: mockFileViewEntity.versionLabel,\n benefactorId: parseInt(mockProject.id),\n createdOn: mockFileViewEntity.createdOn,\n modifiedOn: mockFileViewEntity.modifiedOn,\n createdBy: mockFileViewEntity.createdBy,\n modifiedBy: mockFileViewEntity.modifiedBy,\n isLatestVersion: mockFileViewEntity.isLatestVersion,\n}\n\nexport const mockFileViewData: MockEntityData<EntityView> = {\n id: MOCK_FILE_VIEW_ENTITY_ID,\n name: MOCK_FILE_VIEW_NAME,\n entity: mockFileViewEntity,\n entityHeader: mockFileViewEntityHeader,\n}\n"],"mappings":";;;;;AAUA,IAAa,IAA2B,YAC3B,IAAsB,oBACtB,IAAqB;CAChC,IAAI;CACJ,UAAU,EAAY;CACtB,MAAM;CACN,cAAc;CACd,WAAA;CACA,YAAA;CACA,MAAM;CACN,WAAW,EAAE;CACb,cAAc;CACd,UAAU,CAAC,EAAY,GAAG;CAC1B,iBAAiB;CACjB,eAAe;CACf,cAAc;CACd,WAAW;CACX,YAAY;CACZ,iBAAiB;CAClB,EAgBY,IAA+C;CAC1D,IAAI;CACJ,MAAM;CACN,QAAQ;CACR,
|
|
1
|
+
{"version":3,"file":"mockFileView.js","names":[],"sources":["../../../src/mocks/entity/mockFileView.ts"],"sourcesContent":["import { MOCK_USER_ID } from '../user/mock_user_profile'\nimport {\n ENTITY_VIEW_TYPE_MASK_FILE,\n EntityHeader,\n EntityView,\n} from '@sage-bionetworks/synapse-types'\nimport mockProject from './mockProject'\nimport { MockEntityData } from './MockEntityData'\nimport { MOCK_TABLE_ENTITY_ID } from './mockTableEntity'\n\nexport const MOCK_FILE_VIEW_ENTITY_ID = `syn50000`\nexport const MOCK_FILE_VIEW_NAME = 'Mocked File View'\nexport const mockFileViewEntity = {\n id: MOCK_FILE_VIEW_ENTITY_ID,\n parentId: mockProject.id,\n name: MOCK_FILE_VIEW_NAME,\n concreteType: 'org.sagebionetworks.repo.model.table.EntityView',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID.toString(),\n etag: '00000000-0000-0000-0000-000000000000',\n columnIds: [],\n viewTypeMask: ENTITY_VIEW_TYPE_MASK_FILE,\n scopeIds: [mockProject.id],\n isSearchEnabled: true,\n versionNumber: 1,\n versionLabel: 'in progress',\n createdOn: '2023-02-09T12:44:35.457Z',\n modifiedOn: '2023-03-17T17:10:36.915Z',\n isLatestVersion: true,\n} satisfies EntityView\n\nconst mockFileViewEntityHeader: EntityHeader = {\n name: mockFileViewEntity.name,\n id: MOCK_TABLE_ENTITY_ID,\n type: 'org.sagebionetworks.repo.model.table.EntityView',\n versionNumber: mockFileViewEntity.versionNumber,\n versionLabel: mockFileViewEntity.versionLabel,\n benefactorId: parseInt(mockProject.id),\n createdOn: mockFileViewEntity.createdOn,\n modifiedOn: mockFileViewEntity.modifiedOn,\n createdBy: mockFileViewEntity.createdBy,\n modifiedBy: mockFileViewEntity.modifiedBy,\n isLatestVersion: mockFileViewEntity.isLatestVersion,\n}\n\nexport const mockFileViewData: MockEntityData<EntityView> = {\n id: MOCK_FILE_VIEW_ENTITY_ID,\n name: MOCK_FILE_VIEW_NAME,\n entity: mockFileViewEntity,\n entityHeader: mockFileViewEntityHeader,\n}\n"],"mappings":";;;;;AAUA,IAAa,IAA2B,YAC3B,IAAsB,oBACtB,IAAqB;CAChC,IAAI;CACJ,UAAU,EAAY;CACtB,MAAM;CACN,cAAc;CACd,WAAA;CACA,YAAA;CACA,MAAM;CACN,WAAW,EAAE;CACb,cAAc;CACd,UAAU,CAAC,EAAY,GAAG;CAC1B,iBAAiB;CACjB,eAAe;CACf,cAAc;CACd,WAAW;CACX,YAAY;CACZ,iBAAiB;CAClB,EAgBY,IAA+C;CAC1D,IAAI;CACJ,MAAM;CACN,QAAQ;CACR,cAAc;EAjBd,MAAM,EAAmB;EACzB,IAAI;EACJ,MAAM;EACN,eAAe,EAAmB;EAClC,cAAc,EAAmB;EACjC,cAAc,SAAS,EAAY,GAAG;EACtC,WAAW,EAAmB;EAC9B,YAAY,EAAmB;EAC/B,WAAW,EAAmB;EAC9B,YAAY,EAAmB;EAC/B,iBAAiB,EAAmB;EAOtB;CACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockGeneratedEntityData.js","names":[],"sources":["../../../src/mocks/entity/mockGeneratedEntityData.ts"],"sourcesContent":["import { EntityType } from '@sage-bionetworks/synapse-client'\nimport { FileEntity } from '@sage-bionetworks/synapse-types'\nimport { times } from 'lodash-es'\nimport {\n generateBaseEntity,\n generateProject,\n} from '../faker/generateFakeEntity'\nimport { MockEntityData } from './MockEntityData'\nimport { aclCustomizedMockFileEntities } from './mockFileEntityACLVariants'\nimport mockProjectEntityData from './mockProject'\nimport mockProject, { mockProjectIds } from './mockProject'\n\nconst generatedFileEntityData: MockEntityData<FileEntity>[] = times(50).map(i =>\n generateBaseEntity({\n id: 30000 + i + 1,\n type: EntityType.file,\n entity: {\n parentId: mockProject.id,\n },\n }),\n)\n\nconst generatedProjectsEntityData = mockProjectIds.map(id => {\n if (`syn${id}` === mockProjectEntityData.id) {\n return mockProjectEntityData\n }\n return generateProject(undefined, id)\n})\n\nexport const mockGeneratedEntityData: MockEntityData[] = [\n ...generatedProjectsEntityData,\n ...generatedFileEntityData,\n ...aclCustomizedMockFileEntities,\n]\n"],"mappings":";;;;;;AAYA,IAAM,IAAwD,EAAM,GAAG,CAAC,KAAI,MAC1E,EAAmB;CACjB,IAAI,MAAQ,IAAI;CAChB,MAAM,EAAW;CACjB,QAAQ,EACN,UAAU,EAAY,IACvB;CACF,CAAC,CACH,EASY,IAA4C;CACvD,GARkC,EAAe,KAAI,MACjD,MAAM,QAAS,EAAsB,KAChC,IAEF,EAAgB,KAAA,GAAW,EAAG,
|
|
1
|
+
{"version":3,"file":"mockGeneratedEntityData.js","names":[],"sources":["../../../src/mocks/entity/mockGeneratedEntityData.ts"],"sourcesContent":["import { EntityType } from '@sage-bionetworks/synapse-client'\nimport { FileEntity } from '@sage-bionetworks/synapse-types'\nimport { times } from 'lodash-es'\nimport {\n generateBaseEntity,\n generateProject,\n} from '../faker/generateFakeEntity'\nimport { MockEntityData } from './MockEntityData'\nimport { aclCustomizedMockFileEntities } from './mockFileEntityACLVariants'\nimport mockProjectEntityData from './mockProject'\nimport mockProject, { mockProjectIds } from './mockProject'\n\nconst generatedFileEntityData: MockEntityData<FileEntity>[] = times(50).map(i =>\n generateBaseEntity({\n id: 30000 + i + 1,\n type: EntityType.file,\n entity: {\n parentId: mockProject.id,\n },\n }),\n)\n\nconst generatedProjectsEntityData = mockProjectIds.map(id => {\n if (`syn${id}` === mockProjectEntityData.id) {\n return mockProjectEntityData\n }\n return generateProject(undefined, id)\n})\n\nexport const mockGeneratedEntityData: MockEntityData[] = [\n ...generatedProjectsEntityData,\n ...generatedFileEntityData,\n ...aclCustomizedMockFileEntities,\n]\n"],"mappings":";;;;;;AAYA,IAAM,IAAwD,EAAM,GAAG,CAAC,KAAI,MAC1E,EAAmB;CACjB,IAAI,MAAQ,IAAI;CAChB,MAAM,EAAW;CACjB,QAAQ,EACN,UAAU,EAAY,IACvB;CACF,CAAC,CACH,EASY,IAA4C;CACvD,GARkC,EAAe,KAAI,MACjD,MAAM,QAAS,EAAsB,KAChC,IAEF,EAAgB,KAAA,GAAW,EAAG,CAIlC;CACH,GAAG;CACH,GAAG;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockProject.js","names":[],"sources":["../../../src/mocks/entity/mockProject.ts"],"sourcesContent":["import { normalizeNumericId } from '@/utils/functions/StringUtils'\nimport { DoiAssociation, EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n ACCESS_TYPE,\n AnnotationsValueType,\n EntityBundle,\n EntityHeader,\n EntityJson,\n ObjectType,\n Project,\n ProjectHeader,\n RestrictionLevel,\n} from '@sage-bionetworks/synapse-types'\nimport { times } from 'lodash-es'\nimport { MOCK_TEAM_ID } from '../team/mockTeam'\nimport { MOCK_USER_ID } from '../user/mock_user_profile'\nimport { MockEntityData } from './MockEntityData'\n\nexport const mockProjectIds = times(20).map(i => i + 10001)\n\nconst MOCK_PROJECT_ID = `syn10000`\nconst MOCK_PROJECT_NAME = 'A Mock Project'\n\nexport const mockDoiAssociation: DoiAssociation = {\n associationId: '9606623',\n etag: 'ddef9fe1-56b2-42f5-9a3c-db2d6f15401b',\n doiUri: `10.7303/${MOCK_PROJECT_ID}`,\n doiUrl: `https://repo-prod.prod.sagebase.org/repo/v1/doi/locate?id=${MOCK_PROJECT_ID}&type=ENTITY`,\n objectId: MOCK_PROJECT_ID,\n objectType: ObjectType.ENTITY,\n associatedBy: `${MOCK_USER_ID}`,\n associatedOn: '2021-01-04T15:42:18.000Z',\n updatedBy: `${MOCK_USER_ID}`,\n updatedOn: '2021-04-28T18:49:48.000Z',\n}\n\nconst mockProjectEntity = {\n name: MOCK_PROJECT_NAME,\n id: MOCK_PROJECT_ID,\n etag: '7849ff2c-1c93-4104-adcf-9e6d6b0c50b5',\n createdOn: '2020-11-18T20:05:06.519Z',\n modifiedOn: '2021-05-19T12:44:35.457Z',\n createdBy: `${MOCK_USER_ID}`,\n modifiedBy: `${MOCK_USER_ID}`,\n parentId: 'syn4489',\n concreteType: 'org.sagebionetworks.repo.model.Project',\n} satisfies Project\n\nconst mockProjectAcl = {\n id: MOCK_PROJECT_ID,\n creationDate: '2020-11-18T20:05:06.540Z',\n etag: 'f143bbfd-ba09-4a42-b1e9-f9368777ad9b',\n resourceAccess: [\n {\n principalId: MOCK_USER_ID,\n accessType: [\n ACCESS_TYPE.DELETE,\n ACCESS_TYPE.CHANGE_SETTINGS,\n ACCESS_TYPE.MODERATE,\n ACCESS_TYPE.CHANGE_PERMISSIONS,\n ACCESS_TYPE.UPDATE,\n ACCESS_TYPE.READ,\n ACCESS_TYPE.DOWNLOAD,\n ACCESS_TYPE.CREATE,\n ],\n },\n {\n principalId: MOCK_TEAM_ID,\n accessType: [\n ACCESS_TYPE.READ,\n ACCESS_TYPE.DOWNLOAD,\n ACCESS_TYPE.MODERATE,\n ACCESS_TYPE.CREATE,\n ],\n },\n ],\n}\n\nconst mockProjectEntityBundle: EntityBundle = {\n entity: mockProjectEntity,\n entityType: EntityType.project,\n annotations: {\n id: MOCK_PROJECT_ID,\n etag: '7849ff2c-1c93-4104-adcf-9e6d6b0c50b5',\n annotations: {\n projectImage: {\n type: AnnotationsValueType.STRING,\n value: ['69006408'],\n },\n projectDescription: {\n type: AnnotationsValueType.STRING,\n value: ['WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW'],\n },\n projectDisplayName: {\n type: AnnotationsValueType.STRING,\n value: ['WWWWWWWWWWWWWWWWWW'],\n },\n },\n },\n permissions: {\n canView: true,\n canEdit: true,\n canAddChild: true,\n canCertifiedUserEdit: true,\n canCertifiedUserAddChild: true,\n isCertifiedUser: true,\n canChangePermissions: true,\n canChangeSettings: true,\n canDelete: true,\n canDownload: true,\n canUpload: true,\n canEnableInheritance: false,\n ownerPrincipalId: MOCK_USER_ID,\n canPublicRead: true,\n canModerate: true,\n canMove: true,\n isEntityOpenData: false,\n isCertificationRequired: true,\n isUserDataContributor: true,\n },\n path: {\n path: [\n {\n name: 'root',\n id: 'syn4489',\n type: 'org.sagebionetworks.repo.model.Folder',\n },\n {\n name: 'A Mock Project',\n id: MOCK_PROJECT_ID,\n type: 'org.sagebionetworks.repo.model.Project',\n },\n ],\n },\n hasChildren: true,\n accessControlList: mockProjectAcl,\n fileHandles: [],\n rootWikiId: '607416',\n benefactorAcl: mockProjectAcl,\n doiAssociation: mockDoiAssociation,\n threadCount: 2,\n restrictionInformation: {\n objectId: normalizeNumericId(MOCK_PROJECT_ID),\n restrictionDetails: [],\n restrictionLevel: RestrictionLevel.OPEN,\n hasUnmetAccessRequirement: false,\n },\n}\n\nconst mockProjectEntityHeader: EntityHeader = {\n name: MOCK_PROJECT_NAME,\n id: MOCK_PROJECT_ID,\n type: 'org.sagebionetworks.repo.model.Project',\n versionNumber: 1,\n versionLabel: '1',\n benefactorId: 12345,\n isLatestVersion: true,\n createdOn: mockProjectEntity.createdOn,\n modifiedOn: mockProjectEntity.modifiedOn,\n createdBy: mockProjectEntity.createdBy,\n modifiedBy: mockProjectEntity.modifiedBy,\n}\n\nconst mockProjectHeader: ProjectHeader = {\n id: MOCK_PROJECT_ID,\n name: MOCK_PROJECT_NAME,\n lastActivity: '2021-04-28T18:49:48.000Z',\n modifiedBy: parseInt(mockProjectEntity.modifiedBy),\n modifiedOn: mockProjectEntity.modifiedOn,\n}\n\nconst mockProjectJson: EntityJson = {\n name: MOCK_PROJECT_NAME,\n id: MOCK_PROJECT_ID,\n etag: mockProjectEntity.etag,\n createdOn: mockProjectEntity.createdOn,\n modifiedOn: mockProjectEntity.modifiedOn,\n createdBy: mockProjectEntity.createdBy,\n modifiedBy: mockProjectEntity.modifiedBy,\n parentId: 'syn4489',\n concreteType: 'org.sagebionetworks.repo.model.Project',\n}\n\nconst mockProjectEntityData = {\n id: MOCK_PROJECT_ID,\n name: MOCK_PROJECT_NAME,\n entity: mockProjectEntity,\n bundle: mockProjectEntityBundle,\n entityHeader: mockProjectEntityHeader,\n projectHeader: mockProjectHeader,\n json: mockProjectJson,\n} satisfies MockEntityData<Project>\n\nexport default mockProjectEntityData\n"],"mappings":";;;;;;;AAkBA,IAAa,IAAiB,EAAM,GAAG,CAAC,KAAI,MAAK,IAAI,MAAM,EAErD,IAAkB,YAClB,IAAoB,kBAEb,IAAqC;CAChD,eAAe;CACf,MAAM;CACN,QAAQ,WAAW;CACnB,QAAQ,6DAA6D,EAAgB;CACrF,UAAU;CACV,YAAY,EAAW;CACvB,cAAc;CACd,cAAc;CACd,WAAW;CACX,WAAW;CACZ,EAEK,IAAoB;CACxB,MAAM;CACN,IAAI;CACJ,MAAM;CACN,WAAW;CACX,YAAY;CACZ,WAAW;CACX,YAAY;CACZ,UAAU;CACV,cAAc;CACf,EAEK,IAAiB;CACrB,IAAI;CACJ,cAAc;CACd,MAAM;CACN,gBAAgB,CACd;EACE,aAAA;EACA,YAAY;GACV,EAAY;GACZ,EAAY;GACZ,EAAY;GACZ,EAAY;GACZ,EAAY;GACZ,EAAY;GACZ,EAAY;GACZ,EAAY;GACb;EACF,EACD;EACE,aAAa;EACb,YAAY;GACV,EAAY;GACZ,EAAY;GACZ,EAAY;GACZ,EAAY;GACb;EACF,CACF;CACF,EA2GK,IAAwB;CAC5B,IAAI;CACJ,MAAM;CACN,QAAQ;CACR,
|
|
1
|
+
{"version":3,"file":"mockProject.js","names":[],"sources":["../../../src/mocks/entity/mockProject.ts"],"sourcesContent":["import { normalizeNumericId } from '@/utils/functions/StringUtils'\nimport { DoiAssociation, EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n ACCESS_TYPE,\n AnnotationsValueType,\n EntityBundle,\n EntityHeader,\n EntityJson,\n ObjectType,\n Project,\n ProjectHeader,\n RestrictionLevel,\n} from '@sage-bionetworks/synapse-types'\nimport { times } from 'lodash-es'\nimport { MOCK_TEAM_ID } from '../team/mockTeam'\nimport { MOCK_USER_ID } from '../user/mock_user_profile'\nimport { MockEntityData } from './MockEntityData'\n\nexport const mockProjectIds = times(20).map(i => i + 10001)\n\nconst MOCK_PROJECT_ID = `syn10000`\nconst MOCK_PROJECT_NAME = 'A Mock Project'\n\nexport const mockDoiAssociation: DoiAssociation = {\n associationId: '9606623',\n etag: 'ddef9fe1-56b2-42f5-9a3c-db2d6f15401b',\n doiUri: `10.7303/${MOCK_PROJECT_ID}`,\n doiUrl: `https://repo-prod.prod.sagebase.org/repo/v1/doi/locate?id=${MOCK_PROJECT_ID}&type=ENTITY`,\n objectId: MOCK_PROJECT_ID,\n objectType: ObjectType.ENTITY,\n associatedBy: `${MOCK_USER_ID}`,\n associatedOn: '2021-01-04T15:42:18.000Z',\n updatedBy: `${MOCK_USER_ID}`,\n updatedOn: '2021-04-28T18:49:48.000Z',\n}\n\nconst mockProjectEntity = {\n name: MOCK_PROJECT_NAME,\n id: MOCK_PROJECT_ID,\n etag: '7849ff2c-1c93-4104-adcf-9e6d6b0c50b5',\n createdOn: '2020-11-18T20:05:06.519Z',\n modifiedOn: '2021-05-19T12:44:35.457Z',\n createdBy: `${MOCK_USER_ID}`,\n modifiedBy: `${MOCK_USER_ID}`,\n parentId: 'syn4489',\n concreteType: 'org.sagebionetworks.repo.model.Project',\n} satisfies Project\n\nconst mockProjectAcl = {\n id: MOCK_PROJECT_ID,\n creationDate: '2020-11-18T20:05:06.540Z',\n etag: 'f143bbfd-ba09-4a42-b1e9-f9368777ad9b',\n resourceAccess: [\n {\n principalId: MOCK_USER_ID,\n accessType: [\n ACCESS_TYPE.DELETE,\n ACCESS_TYPE.CHANGE_SETTINGS,\n ACCESS_TYPE.MODERATE,\n ACCESS_TYPE.CHANGE_PERMISSIONS,\n ACCESS_TYPE.UPDATE,\n ACCESS_TYPE.READ,\n ACCESS_TYPE.DOWNLOAD,\n ACCESS_TYPE.CREATE,\n ],\n },\n {\n principalId: MOCK_TEAM_ID,\n accessType: [\n ACCESS_TYPE.READ,\n ACCESS_TYPE.DOWNLOAD,\n ACCESS_TYPE.MODERATE,\n ACCESS_TYPE.CREATE,\n ],\n },\n ],\n}\n\nconst mockProjectEntityBundle: EntityBundle = {\n entity: mockProjectEntity,\n entityType: EntityType.project,\n annotations: {\n id: MOCK_PROJECT_ID,\n etag: '7849ff2c-1c93-4104-adcf-9e6d6b0c50b5',\n annotations: {\n projectImage: {\n type: AnnotationsValueType.STRING,\n value: ['69006408'],\n },\n projectDescription: {\n type: AnnotationsValueType.STRING,\n value: ['WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW'],\n },\n projectDisplayName: {\n type: AnnotationsValueType.STRING,\n value: ['WWWWWWWWWWWWWWWWWW'],\n },\n },\n },\n permissions: {\n canView: true,\n canEdit: true,\n canAddChild: true,\n canCertifiedUserEdit: true,\n canCertifiedUserAddChild: true,\n isCertifiedUser: true,\n canChangePermissions: true,\n canChangeSettings: true,\n canDelete: true,\n canDownload: true,\n canUpload: true,\n canEnableInheritance: false,\n ownerPrincipalId: MOCK_USER_ID,\n canPublicRead: true,\n canModerate: true,\n canMove: true,\n isEntityOpenData: false,\n isCertificationRequired: true,\n isUserDataContributor: true,\n },\n path: {\n path: [\n {\n name: 'root',\n id: 'syn4489',\n type: 'org.sagebionetworks.repo.model.Folder',\n },\n {\n name: 'A Mock Project',\n id: MOCK_PROJECT_ID,\n type: 'org.sagebionetworks.repo.model.Project',\n },\n ],\n },\n hasChildren: true,\n accessControlList: mockProjectAcl,\n fileHandles: [],\n rootWikiId: '607416',\n benefactorAcl: mockProjectAcl,\n doiAssociation: mockDoiAssociation,\n threadCount: 2,\n restrictionInformation: {\n objectId: normalizeNumericId(MOCK_PROJECT_ID),\n restrictionDetails: [],\n restrictionLevel: RestrictionLevel.OPEN,\n hasUnmetAccessRequirement: false,\n },\n}\n\nconst mockProjectEntityHeader: EntityHeader = {\n name: MOCK_PROJECT_NAME,\n id: MOCK_PROJECT_ID,\n type: 'org.sagebionetworks.repo.model.Project',\n versionNumber: 1,\n versionLabel: '1',\n benefactorId: 12345,\n isLatestVersion: true,\n createdOn: mockProjectEntity.createdOn,\n modifiedOn: mockProjectEntity.modifiedOn,\n createdBy: mockProjectEntity.createdBy,\n modifiedBy: mockProjectEntity.modifiedBy,\n}\n\nconst mockProjectHeader: ProjectHeader = {\n id: MOCK_PROJECT_ID,\n name: MOCK_PROJECT_NAME,\n lastActivity: '2021-04-28T18:49:48.000Z',\n modifiedBy: parseInt(mockProjectEntity.modifiedBy),\n modifiedOn: mockProjectEntity.modifiedOn,\n}\n\nconst mockProjectJson: EntityJson = {\n name: MOCK_PROJECT_NAME,\n id: MOCK_PROJECT_ID,\n etag: mockProjectEntity.etag,\n createdOn: mockProjectEntity.createdOn,\n modifiedOn: mockProjectEntity.modifiedOn,\n createdBy: mockProjectEntity.createdBy,\n modifiedBy: mockProjectEntity.modifiedBy,\n parentId: 'syn4489',\n concreteType: 'org.sagebionetworks.repo.model.Project',\n}\n\nconst mockProjectEntityData = {\n id: MOCK_PROJECT_ID,\n name: MOCK_PROJECT_NAME,\n entity: mockProjectEntity,\n bundle: mockProjectEntityBundle,\n entityHeader: mockProjectEntityHeader,\n projectHeader: mockProjectHeader,\n json: mockProjectJson,\n} satisfies MockEntityData<Project>\n\nexport default mockProjectEntityData\n"],"mappings":";;;;;;;AAkBA,IAAa,IAAiB,EAAM,GAAG,CAAC,KAAI,MAAK,IAAI,MAAM,EAErD,IAAkB,YAClB,IAAoB,kBAEb,IAAqC;CAChD,eAAe;CACf,MAAM;CACN,QAAQ,WAAW;CACnB,QAAQ,6DAA6D,EAAgB;CACrF,UAAU;CACV,YAAY,EAAW;CACvB,cAAc;CACd,cAAc;CACd,WAAW;CACX,WAAW;CACZ,EAEK,IAAoB;CACxB,MAAM;CACN,IAAI;CACJ,MAAM;CACN,WAAW;CACX,YAAY;CACZ,WAAW;CACX,YAAY;CACZ,UAAU;CACV,cAAc;CACf,EAEK,IAAiB;CACrB,IAAI;CACJ,cAAc;CACd,MAAM;CACN,gBAAgB,CACd;EACE,aAAA;EACA,YAAY;GACV,EAAY;GACZ,EAAY;GACZ,EAAY;GACZ,EAAY;GACZ,EAAY;GACZ,EAAY;GACZ,EAAY;GACZ,EAAY;GACb;EACF,EACD;EACE,aAAa;EACb,YAAY;GACV,EAAY;GACZ,EAAY;GACZ,EAAY;GACZ,EAAY;GACb;EACF,CACF;CACF,EA2GK,IAAwB;CAC5B,IAAI;CACJ,MAAM;CACN,QAAQ;CACR,QAAQ;EA5GR,QAAQ;EACR,YAAY,EAAW;EACvB,aAAa;GACX,IAAI;GACJ,MAAM;GACN,aAAa;IACX,cAAc;KACZ,MAAM,EAAqB;KAC3B,OAAO,CAAC,WAAW;KACpB;IACD,oBAAoB;KAClB,MAAM,EAAqB;KAC3B,OAAO,CAAC,6CAA6C;KACtD;IACD,oBAAoB;KAClB,MAAM,EAAqB;KAC3B,OAAO,CAAC,qBAAqB;KAC9B;IACF;GACF;EACD,aAAa;GACX,SAAS;GACT,SAAS;GACT,aAAa;GACb,sBAAsB;GACtB,0BAA0B;GAC1B,iBAAiB;GACjB,sBAAsB;GACtB,mBAAmB;GACnB,WAAW;GACX,aAAa;GACb,WAAW;GACX,sBAAsB;GACtB,kBAAA;GACA,eAAe;GACf,aAAa;GACb,SAAS;GACT,kBAAkB;GAClB,yBAAyB;GACzB,uBAAuB;GACxB;EACD,MAAM,EACJ,MAAM,CACJ;GACE,MAAM;GACN,IAAI;GACJ,MAAM;GACP,EACD;GACE,MAAM;GACN,IAAI;GACJ,MAAM;GACP,CACF,EACF;EACD,aAAa;EACb,mBAAmB;EACnB,aAAa,EAAE;EACf,YAAY;EACZ,eAAe;EACf,gBAAgB;EAChB,aAAa;EACb,wBAAwB;GACtB,UAAU,EAAmB,EAAgB;GAC7C,oBAAoB,EAAE;GACtB,kBAAkB,EAAiB;GACnC,2BAA2B;GAC5B;EAyCO;CACR,cAAc;EAtCd,MAAM;EACN,IAAI;EACJ,MAAM;EACN,eAAe;EACf,cAAc;EACd,cAAc;EACd,iBAAiB;EACjB,WAAW,EAAkB;EAC7B,YAAY,EAAkB;EAC9B,WAAW,EAAkB;EAC7B,YAAY,EAAkB;EA4BhB;CACd,eAAe;EAzBf,IAAI;EACJ,MAAM;EACN,cAAc;EACd,YAAY,SAAS,EAAkB,WAAW;EAClD,YAAY,EAAkB;EAqBf;CACf,MAAM;EAlBN,MAAM;EACN,IAAI;EACJ,MAAM,EAAkB;EACxB,WAAW,EAAkB;EAC7B,YAAY,EAAkB;EAC9B,WAAW,EAAkB;EAC7B,YAAY,EAAkB;EAC9B,UAAU;EACV,cAAc;EAUR;CACP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockProjectView.js","names":[],"sources":["../../../src/mocks/entity/mockProjectView.ts"],"sourcesContent":["import { MOCK_USER_ID } from '../user/mock_user_profile'\nimport {\n ENTITY_VIEW_TYPE_MASK_PROJECT,\n EntityHeader,\n EntityView,\n} from '@sage-bionetworks/synapse-types'\nimport mockProject from './mockProject'\nimport { MockEntityData } from './MockEntityData'\nimport { MOCK_TABLE_ENTITY_ID } from './mockTableEntity'\n\nexport const MOCK_PROJECT_VIEW_ENTITY_ID = `syn500001`\nexport const MOCK_PROJECT_VIEW_NAME = 'Mocked Project View'\n\nexport const mockProjectViewEntity = {\n id: MOCK_PROJECT_VIEW_ENTITY_ID,\n parentId: mockProject.id,\n name: MOCK_PROJECT_VIEW_NAME,\n concreteType: 'org.sagebionetworks.repo.model.table.EntityView',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID.toString(),\n etag: '00000000-0000-0000-0000-000000000000',\n columnIds: [],\n viewTypeMask: ENTITY_VIEW_TYPE_MASK_PROJECT,\n scopeIds: [mockProject.id],\n isSearchEnabled: true,\n versionNumber: 1,\n versionLabel: 'in progress',\n createdOn: '2023-02-09T12:44:35.457Z',\n modifiedOn: '2023-03-17T17:10:36.915Z',\n isLatestVersion: true,\n} satisfies EntityView\n\nconst mockProjectViewEntityHeader: EntityHeader = {\n name: mockProjectViewEntity.name,\n id: MOCK_TABLE_ENTITY_ID,\n type: 'org.sagebionetworks.repo.model.table.TableEntity',\n versionNumber: mockProjectViewEntity.versionNumber,\n versionLabel: mockProjectViewEntity.versionLabel,\n benefactorId: parseInt(mockProject.id),\n createdOn: mockProjectViewEntity.createdOn,\n modifiedOn: mockProjectViewEntity.modifiedOn,\n createdBy: mockProjectViewEntity.createdBy,\n modifiedBy: mockProjectViewEntity.modifiedBy,\n isLatestVersion: mockProjectViewEntity.isLatestVersion,\n}\n\nexport const mockProjectViewData: MockEntityData<EntityView> = {\n id: MOCK_PROJECT_VIEW_ENTITY_ID,\n name: MOCK_PROJECT_VIEW_NAME,\n entity: mockProjectViewEntity,\n entityHeader: mockProjectViewEntityHeader,\n}\n"],"mappings":";;;;;AAUA,IAAa,IAA8B,aAC9B,IAAyB,uBAEzB,IAAwB;CACnC,IAAI;CACJ,UAAU,EAAY;CACtB,MAAM;CACN,cAAc;CACd,WAAA;CACA,YAAA;CACA,MAAM;CACN,WAAW,EAAE;CACb,cAAc;CACd,UAAU,CAAC,EAAY,GAAG;CAC1B,iBAAiB;CACjB,eAAe;CACf,cAAc;CACd,WAAW;CACX,YAAY;CACZ,iBAAiB;CAClB,EAgBY,IAAkD;CAC7D,IAAI;CACJ,MAAM;CACN,QAAQ;CACR,
|
|
1
|
+
{"version":3,"file":"mockProjectView.js","names":[],"sources":["../../../src/mocks/entity/mockProjectView.ts"],"sourcesContent":["import { MOCK_USER_ID } from '../user/mock_user_profile'\nimport {\n ENTITY_VIEW_TYPE_MASK_PROJECT,\n EntityHeader,\n EntityView,\n} from '@sage-bionetworks/synapse-types'\nimport mockProject from './mockProject'\nimport { MockEntityData } from './MockEntityData'\nimport { MOCK_TABLE_ENTITY_ID } from './mockTableEntity'\n\nexport const MOCK_PROJECT_VIEW_ENTITY_ID = `syn500001`\nexport const MOCK_PROJECT_VIEW_NAME = 'Mocked Project View'\n\nexport const mockProjectViewEntity = {\n id: MOCK_PROJECT_VIEW_ENTITY_ID,\n parentId: mockProject.id,\n name: MOCK_PROJECT_VIEW_NAME,\n concreteType: 'org.sagebionetworks.repo.model.table.EntityView',\n createdBy: MOCK_USER_ID.toString(),\n modifiedBy: MOCK_USER_ID.toString(),\n etag: '00000000-0000-0000-0000-000000000000',\n columnIds: [],\n viewTypeMask: ENTITY_VIEW_TYPE_MASK_PROJECT,\n scopeIds: [mockProject.id],\n isSearchEnabled: true,\n versionNumber: 1,\n versionLabel: 'in progress',\n createdOn: '2023-02-09T12:44:35.457Z',\n modifiedOn: '2023-03-17T17:10:36.915Z',\n isLatestVersion: true,\n} satisfies EntityView\n\nconst mockProjectViewEntityHeader: EntityHeader = {\n name: mockProjectViewEntity.name,\n id: MOCK_TABLE_ENTITY_ID,\n type: 'org.sagebionetworks.repo.model.table.TableEntity',\n versionNumber: mockProjectViewEntity.versionNumber,\n versionLabel: mockProjectViewEntity.versionLabel,\n benefactorId: parseInt(mockProject.id),\n createdOn: mockProjectViewEntity.createdOn,\n modifiedOn: mockProjectViewEntity.modifiedOn,\n createdBy: mockProjectViewEntity.createdBy,\n modifiedBy: mockProjectViewEntity.modifiedBy,\n isLatestVersion: mockProjectViewEntity.isLatestVersion,\n}\n\nexport const mockProjectViewData: MockEntityData<EntityView> = {\n id: MOCK_PROJECT_VIEW_ENTITY_ID,\n name: MOCK_PROJECT_VIEW_NAME,\n entity: mockProjectViewEntity,\n entityHeader: mockProjectViewEntityHeader,\n}\n"],"mappings":";;;;;AAUA,IAAa,IAA8B,aAC9B,IAAyB,uBAEzB,IAAwB;CACnC,IAAI;CACJ,UAAU,EAAY;CACtB,MAAM;CACN,cAAc;CACd,WAAA;CACA,YAAA;CACA,MAAM;CACN,WAAW,EAAE;CACb,cAAc;CACd,UAAU,CAAC,EAAY,GAAG;CAC1B,iBAAiB;CACjB,eAAe;CACf,cAAc;CACd,WAAW;CACX,YAAY;CACZ,iBAAiB;CAClB,EAgBY,IAAkD;CAC7D,IAAI;CACJ,MAAM;CACN,QAAQ;CACR,cAAc;EAjBd,MAAM,EAAsB;EAC5B,IAAI;EACJ,MAAM;EACN,eAAe,EAAsB;EACrC,cAAc,EAAsB;EACpC,cAAc,SAAS,EAAY,GAAG;EACtC,WAAW,EAAsB;EACjC,YAAY,EAAsB;EAClC,WAAW,EAAsB;EACjC,YAAY,EAAsB;EAClC,iBAAiB,EAAsB;EAOzB;CACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockRootEntity.js","names":[],"sources":["../../../src/mocks/entity/mockRootEntity.ts"],"sourcesContent":["import { EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n ACCESS_TYPE,\n AccessControlList,\n Folder,\n} from '@sage-bionetworks/synapse-types'\nimport { generateBaseEntity } from '../faker/generateFakeEntity'\nimport { MockEntityData } from './MockEntityData'\n\nconst rootEntityBenefactorAcl: AccessControlList = {\n id: 'syn4489',\n creationDate: '2011-08-07T01:14:53.898Z',\n etag: 'e5edca05-4442-4073-8474-1a6a384053e9',\n resourceAccess: [\n {\n principalId: 273948,\n accessType: [ACCESS_TYPE.CREATE],\n },\n ],\n}\n\nconst mockRootEntityData: MockEntityData<Folder> = generateBaseEntity<Folder>({\n id: 4489,\n entity: { name: '' },\n acl: rootEntityBenefactorAcl,\n type: EntityType.folder,\n permissions: {\n canView: false,\n canEdit: false,\n canMove: false,\n canAddChild: false,\n canCertifiedUserEdit: false,\n canCertifiedUserAddChild: false,\n isCertifiedUser: false,\n canChangePermissions: false,\n canChangeSettings: false,\n canDelete: false,\n canDownload: false,\n canUpload: false,\n canEnableInheritance: false,\n ownerPrincipalId: 0,\n canPublicRead: false,\n canModerate: false,\n isCertificationRequired: false,\n isEntityOpenData: false,\n },\n})\n\nexport default mockRootEntityData\n"],"mappings":";;;;AAqBA,IAAM,IAA6C,EAA2B;CAC5E,IAAI;CACJ,QAAQ,EAAE,MAAM,IAAI;CACpB,
|
|
1
|
+
{"version":3,"file":"mockRootEntity.js","names":[],"sources":["../../../src/mocks/entity/mockRootEntity.ts"],"sourcesContent":["import { EntityType } from '@sage-bionetworks/synapse-client'\nimport {\n ACCESS_TYPE,\n AccessControlList,\n Folder,\n} from '@sage-bionetworks/synapse-types'\nimport { generateBaseEntity } from '../faker/generateFakeEntity'\nimport { MockEntityData } from './MockEntityData'\n\nconst rootEntityBenefactorAcl: AccessControlList = {\n id: 'syn4489',\n creationDate: '2011-08-07T01:14:53.898Z',\n etag: 'e5edca05-4442-4073-8474-1a6a384053e9',\n resourceAccess: [\n {\n principalId: 273948,\n accessType: [ACCESS_TYPE.CREATE],\n },\n ],\n}\n\nconst mockRootEntityData: MockEntityData<Folder> = generateBaseEntity<Folder>({\n id: 4489,\n entity: { name: '' },\n acl: rootEntityBenefactorAcl,\n type: EntityType.folder,\n permissions: {\n canView: false,\n canEdit: false,\n canMove: false,\n canAddChild: false,\n canCertifiedUserEdit: false,\n canCertifiedUserAddChild: false,\n isCertifiedUser: false,\n canChangePermissions: false,\n canChangeSettings: false,\n canDelete: false,\n canDownload: false,\n canUpload: false,\n canEnableInheritance: false,\n ownerPrincipalId: 0,\n canPublicRead: false,\n canModerate: false,\n isCertificationRequired: false,\n isEntityOpenData: false,\n },\n})\n\nexport default mockRootEntityData\n"],"mappings":";;;;AAqBA,IAAM,IAA6C,EAA2B;CAC5E,IAAI;CACJ,QAAQ,EAAE,MAAM,IAAI;CACpB,KAAK;EAdL,IAAI;EACJ,cAAc;EACd,MAAM;EACN,gBAAgB,CACd;GACE,aAAa;GACb,YAAY,CAAC,EAAY,OAAO;GACjC,CACF;EAMI;CACL,MAAM,EAAW;CACjB,aAAa;EACX,SAAS;EACT,SAAS;EACT,SAAS;EACT,aAAa;EACb,sBAAsB;EACtB,0BAA0B;EAC1B,iBAAiB;EACjB,sBAAsB;EACtB,mBAAmB;EACnB,WAAW;EACX,aAAa;EACb,WAAW;EACX,sBAAsB;EACtB,kBAAkB;EAClB,eAAe;EACf,aAAa;EACb,yBAAyB;EACzB,kBAAkB;EACnB;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockTableEntity.js","names":[],"sources":["../../../src/mocks/entity/mockTableEntity.ts"],"sourcesContent":["import { EntityHeader, TableEntity } from '@sage-bionetworks/synapse-types'\nimport { MOCK_USER_ID, MOCK_USER_ID_2 } from '../user/mock_user_profile'\nimport mockProject from './mockProject'\nimport { MockEntityData } from './MockEntityData'\n\nexport const MOCK_TABLE_ENTITY_ID = `syn40000`\nexport const MOCK_TABLE_ENTITY_NAME = 'my table name'\n\nconst parentId = mockProject.id\n\nexport const mockTableEntity = {\n id: MOCK_TABLE_ENTITY_ID,\n versionNumber: 1,\n versionLabel: 'in progress',\n versionComment: 'in progress',\n parentId: parentId,\n name: MOCK_TABLE_ENTITY_NAME,\n concreteType: 'org.sagebionetworks.repo.model.table.TableEntity',\n createdBy: MOCK_USER_ID.toString(),\n createdOn: '2022-02-03T12:44:35.457Z',\n modifiedOn: '2022-05-14T17:10:36.915Z',\n modifiedBy: MOCK_USER_ID_2.toString(),\n etag: '00000000-0000-0000-0000-000000000000',\n columnIds: [],\n isSearchEnabled: true,\n isLatestVersion: true,\n} satisfies TableEntity\n\nconst mockTableEntityHeader: EntityHeader = {\n name: mockTableEntity.name,\n id: MOCK_TABLE_ENTITY_ID,\n type: 'org.sagebionetworks.repo.model.table.TableEntity',\n versionNumber: mockTableEntity.versionNumber,\n versionLabel: mockTableEntity.versionLabel,\n benefactorId: parseInt(parentId),\n createdOn: mockTableEntity.createdOn,\n modifiedOn: mockTableEntity.modifiedOn,\n createdBy: mockTableEntity.createdBy,\n modifiedBy: mockTableEntity.modifiedBy,\n isLatestVersion: mockTableEntity.isLatestVersion,\n}\n\nconst mockTableEntityData: MockEntityData<TableEntity> = {\n id: MOCK_TABLE_ENTITY_ID,\n name: MOCK_TABLE_ENTITY_NAME,\n entity: mockTableEntity,\n entityHeader: mockTableEntityHeader,\n}\n\nexport default mockTableEntityData\n"],"mappings":";;;AAKA,IAAa,IAAuB,YACvB,IAAyB,iBAEhC,IAAW,EAAY,IAEhB,IAAkB;CAC7B,IAAI;CACJ,eAAe;CACf,cAAc;CACd,gBAAgB;CACN;CACV,MAAM;CACN,cAAc;CACd,WAAA;CACA,WAAW;CACX,YAAY;CACZ,YAAY,EAAe,UAAU;CACrC,MAAM;CACN,WAAW,EAAE;CACb,iBAAiB;CACjB,iBAAiB;CAClB,EAgBK,IAAmD;CACvD,IAAI;CACJ,MAAM;CACN,QAAQ;CACR,
|
|
1
|
+
{"version":3,"file":"mockTableEntity.js","names":[],"sources":["../../../src/mocks/entity/mockTableEntity.ts"],"sourcesContent":["import { EntityHeader, TableEntity } from '@sage-bionetworks/synapse-types'\nimport { MOCK_USER_ID, MOCK_USER_ID_2 } from '../user/mock_user_profile'\nimport mockProject from './mockProject'\nimport { MockEntityData } from './MockEntityData'\n\nexport const MOCK_TABLE_ENTITY_ID = `syn40000`\nexport const MOCK_TABLE_ENTITY_NAME = 'my table name'\n\nconst parentId = mockProject.id\n\nexport const mockTableEntity = {\n id: MOCK_TABLE_ENTITY_ID,\n versionNumber: 1,\n versionLabel: 'in progress',\n versionComment: 'in progress',\n parentId: parentId,\n name: MOCK_TABLE_ENTITY_NAME,\n concreteType: 'org.sagebionetworks.repo.model.table.TableEntity',\n createdBy: MOCK_USER_ID.toString(),\n createdOn: '2022-02-03T12:44:35.457Z',\n modifiedOn: '2022-05-14T17:10:36.915Z',\n modifiedBy: MOCK_USER_ID_2.toString(),\n etag: '00000000-0000-0000-0000-000000000000',\n columnIds: [],\n isSearchEnabled: true,\n isLatestVersion: true,\n} satisfies TableEntity\n\nconst mockTableEntityHeader: EntityHeader = {\n name: mockTableEntity.name,\n id: MOCK_TABLE_ENTITY_ID,\n type: 'org.sagebionetworks.repo.model.table.TableEntity',\n versionNumber: mockTableEntity.versionNumber,\n versionLabel: mockTableEntity.versionLabel,\n benefactorId: parseInt(parentId),\n createdOn: mockTableEntity.createdOn,\n modifiedOn: mockTableEntity.modifiedOn,\n createdBy: mockTableEntity.createdBy,\n modifiedBy: mockTableEntity.modifiedBy,\n isLatestVersion: mockTableEntity.isLatestVersion,\n}\n\nconst mockTableEntityData: MockEntityData<TableEntity> = {\n id: MOCK_TABLE_ENTITY_ID,\n name: MOCK_TABLE_ENTITY_NAME,\n entity: mockTableEntity,\n entityHeader: mockTableEntityHeader,\n}\n\nexport default mockTableEntityData\n"],"mappings":";;;AAKA,IAAa,IAAuB,YACvB,IAAyB,iBAEhC,IAAW,EAAY,IAEhB,IAAkB;CAC7B,IAAI;CACJ,eAAe;CACf,cAAc;CACd,gBAAgB;CACN;CACV,MAAM;CACN,cAAc;CACd,WAAA;CACA,WAAW;CACX,YAAY;CACZ,YAAY,EAAe,UAAU;CACrC,MAAM;CACN,WAAW,EAAE;CACb,iBAAiB;CACjB,iBAAiB;CAClB,EAgBK,IAAmD;CACvD,IAAI;CACJ,MAAM;CACN,QAAQ;CACR,cAAc;EAjBd,MAAM,EAAgB;EACtB,IAAI;EACJ,MAAM;EACN,eAAe,EAAgB;EAC/B,cAAc,EAAgB;EAC9B,cAAc,SAAS,EAAS;EAChC,WAAW,EAAgB;EAC3B,YAAY,EAAgB;EAC5B,WAAW,EAAgB;EAC3B,YAAY,EAAgB;EAC5B,iBAAiB,EAAgB;EAOnB;CACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockWiki.js","names":[],"sources":["../../src/mocks/mockWiki.ts"],"sourcesContent":["import { WikiPage } from '@sage-bionetworks/synapse-types'\nimport { MOCK_USER_ID, MOCK_USER_ID_2 } from './user/mock_user_profile'\nimport { MOCK_FILE_HANDLE_ID } from './mock_file_handle'\n\nexport const MOCK_WIKI_ETAG = 'mock-wiki-etag'\nconst mockWikiMarkdown =\n '**You have access to these data under the following terms:**\\n\\nAccess to these data is controlled at the request of the data contributor(s) and due to the sensitive nature of the data. The terms for data access cannot be modified. \\n \\nClick the **Request Access** button below to start your application, where you will be prompted to enter:\\n1.\\tA brief Intended Data Use statement to be posted on the AD Knowledge Portal (500 words maximum in English). The Intended Data Use statement must include the following:\\n * **The names of the AD Knowledge Portal studies from which you plan to access data.** A full list of study names can be found **[here](https://adknowledgeportal.synapse.org/Explore/Studies)**.\\n * Objectives of the proposed research\\n * Study design and analysis plan\\n2.\\tList the Synapse username of all collaborators from your institution who will be accessing the data. \\n3.\\tSubmit the embedded [Data Use Certificate (DUC)](https://www.synapse.org/Synapse:syn25441378) signed by yourself, your institutional signing official, and all collaborating investigators from your institution who will be accessing the data\\n\\n \\nFor annual renewal or to add an investigator to an existing DUC, please see the instructions provided on the [AD Portal Docs](https://help.adknowledgeportal.org/apd/Data-Use-Certificates.2623373330.html) help page.\\n\\nExpected data access application review time is one to two weeks. Once approved, data may be used for one year. You must submit a renewal at the conclusion of one year, otherwise your access will be revoked.\\n\\n**Please note that it is a violation of the Data Access Terms and Conditions to share Individual-level Human data and/or results outside of the AD Knowledge Portal**. This is true for files obtained directly from the AD Knowledge Portal and/or generated through your own analysis. Also, proper acknowledgment of data sources is mandatory in publications based on secondary data use. See the [Data Use and Acknowledgement ](https://help.adknowledgeportal.org/apd/Data-Use-&-Acknowledgement.2623242281.html) instructions for more information.\\n\\n \\nIf you have questions about the data access process, please contact the Synapse Access & Compliance Team by submitting your question to the [Access and Compliance Team Help Center Portal](https://sagebionetworks.jira.com/servicedesk/customer/portal/8) or by emailing the team at act@sagebionetworks.org. \\n'\n\nexport const mockManagedACTAccessRequirementWikiPage: WikiPage = {\n id: '123',\n etag: '00924558-f46d-4f05-9f62-0686ddecf8ed',\n createdOn: '2017-08-23T18:48:37.515Z',\n createdBy: MOCK_USER_ID.toString(),\n modifiedOn: '2022-12-06T23:18:27.877Z',\n modifiedBy: MOCK_USER_ID_2.toString(),\n title: '',\n markdown: mockWikiMarkdown,\n attachmentFileHandleIds: [],\n}\n\nexport const mockSelfSignAccessRequirementWikiPage: WikiPage = {\n id: '124',\n etag: '00924558-f46d-4f05-9f62-0686ddecf8ed',\n createdOn: '2017-08-23T18:48:37.515Z',\n createdBy: MOCK_USER_ID.toString(),\n modifiedOn: '2022-12-06T23:18:27.877Z',\n modifiedBy: MOCK_USER_ID_2.toString(),\n title: '',\n markdown:\n 'You must accept the terms of this self-sign access requirement. The terms are described here, and you sign it yourself.',\n attachmentFileHandleIds: [],\n}\n\nexport const mockToUAccessRequirementWikiPage: WikiPage = {\n id: '125',\n etag: '00924558-f46d-4f05-9f62-0686ddecf8ed',\n createdOn: '2017-08-23T18:48:37.515Z',\n createdBy: MOCK_USER_ID.toString(),\n modifiedOn: '2022-12-06T23:18:27.877Z',\n modifiedBy: MOCK_USER_ID_2.toString(),\n title: '',\n markdown:\n 'This is a wiki page. You must accept the terms of this legacy terms of use access requirement. The terms are described here, and you sign it yourself.',\n attachmentFileHandleIds: [],\n}\n\nexport const mockACTAccessRequirementWikiPage: WikiPage = {\n id: '126',\n etag: '00924558-f46d-4f05-9f62-0686ddecf8ed',\n createdOn: '2017-08-23T18:48:37.515Z',\n createdBy: MOCK_USER_ID.toString(),\n modifiedOn: '2022-12-06T23:18:27.877Z',\n modifiedBy: MOCK_USER_ID_2.toString(),\n title: '',\n markdown:\n 'This is a wiki page. You must request access using this legacy ACT access requirement. Access to these data is controlled at the request of the data contributor(s) and due to the sensitive nature of the data.',\n attachmentFileHandleIds: [],\n}\n\nexport const mockEntityRootWikiPage: WikiPage = {\n id: '127',\n etag: '00924558-f46d-4f05-9f62-0686ddecf8ed',\n createdOn: '2017-08-23T18:48:37.515Z',\n createdBy: MOCK_USER_ID.toString(),\n modifiedOn: '2022-12-06T23:18:27.877Z',\n modifiedBy: MOCK_USER_ID_2.toString(),\n title: '',\n markdown: 'This is the root page for an Entity wiki',\n attachmentFileHandleIds: [],\n}\n\nexport const mockEntityWikiPage: WikiPage = {\n id: '128',\n etag: '00924558-f46d-4f05-9f62-0686ddecf8ed',\n createdOn: '2017-08-23T18:48:37.515Z',\n createdBy: MOCK_USER_ID.toString(),\n modifiedOn: '2022-12-06T23:18:27.877Z',\n modifiedBy: MOCK_USER_ID_2.toString(),\n title: 'Some title',\n markdown: 'This is a a subpage for an Entity wiki',\n attachmentFileHandleIds: [MOCK_FILE_HANDLE_ID],\n parentWikiId: mockEntityRootWikiPage.id,\n}\n\nexport const mockWikiPages: WikiPage[] = [\n mockManagedACTAccessRequirementWikiPage,\n mockSelfSignAccessRequirementWikiPage,\n mockToUAccessRequirementWikiPage,\n mockACTAccessRequirementWikiPage,\n mockEntityRootWikiPage,\n mockEntityWikiPage,\n]\n"],"mappings":";;;AAIA,IAAa,IAAiB,kBAIjB,IAAoD;CAC/D,IAAI;CACJ,MAAM;CACN,WAAW;CACX,WAAA;CACA,YAAY;CACZ,YAAY,EAAe,UAAU;CACrC,OAAO;CACP,
|
|
1
|
+
{"version":3,"file":"mockWiki.js","names":[],"sources":["../../src/mocks/mockWiki.ts"],"sourcesContent":["import { WikiPage } from '@sage-bionetworks/synapse-types'\nimport { MOCK_USER_ID, MOCK_USER_ID_2 } from './user/mock_user_profile'\nimport { MOCK_FILE_HANDLE_ID } from './mock_file_handle'\n\nexport const MOCK_WIKI_ETAG = 'mock-wiki-etag'\nconst mockWikiMarkdown =\n '**You have access to these data under the following terms:**\\n\\nAccess to these data is controlled at the request of the data contributor(s) and due to the sensitive nature of the data. The terms for data access cannot be modified. \\n \\nClick the **Request Access** button below to start your application, where you will be prompted to enter:\\n1.\\tA brief Intended Data Use statement to be posted on the AD Knowledge Portal (500 words maximum in English). The Intended Data Use statement must include the following:\\n * **The names of the AD Knowledge Portal studies from which you plan to access data.** A full list of study names can be found **[here](https://adknowledgeportal.synapse.org/Explore/Studies)**.\\n * Objectives of the proposed research\\n * Study design and analysis plan\\n2.\\tList the Synapse username of all collaborators from your institution who will be accessing the data. \\n3.\\tSubmit the embedded [Data Use Certificate (DUC)](https://www.synapse.org/Synapse:syn25441378) signed by yourself, your institutional signing official, and all collaborating investigators from your institution who will be accessing the data\\n\\n \\nFor annual renewal or to add an investigator to an existing DUC, please see the instructions provided on the [AD Portal Docs](https://help.adknowledgeportal.org/apd/Data-Use-Certificates.2623373330.html) help page.\\n\\nExpected data access application review time is one to two weeks. Once approved, data may be used for one year. You must submit a renewal at the conclusion of one year, otherwise your access will be revoked.\\n\\n**Please note that it is a violation of the Data Access Terms and Conditions to share Individual-level Human data and/or results outside of the AD Knowledge Portal**. This is true for files obtained directly from the AD Knowledge Portal and/or generated through your own analysis. Also, proper acknowledgment of data sources is mandatory in publications based on secondary data use. See the [Data Use and Acknowledgement ](https://help.adknowledgeportal.org/apd/Data-Use-&-Acknowledgement.2623242281.html) instructions for more information.\\n\\n \\nIf you have questions about the data access process, please contact the Synapse Access & Compliance Team by submitting your question to the [Access and Compliance Team Help Center Portal](https://sagebionetworks.jira.com/servicedesk/customer/portal/8) or by emailing the team at act@sagebionetworks.org. \\n'\n\nexport const mockManagedACTAccessRequirementWikiPage: WikiPage = {\n id: '123',\n etag: '00924558-f46d-4f05-9f62-0686ddecf8ed',\n createdOn: '2017-08-23T18:48:37.515Z',\n createdBy: MOCK_USER_ID.toString(),\n modifiedOn: '2022-12-06T23:18:27.877Z',\n modifiedBy: MOCK_USER_ID_2.toString(),\n title: '',\n markdown: mockWikiMarkdown,\n attachmentFileHandleIds: [],\n}\n\nexport const mockSelfSignAccessRequirementWikiPage: WikiPage = {\n id: '124',\n etag: '00924558-f46d-4f05-9f62-0686ddecf8ed',\n createdOn: '2017-08-23T18:48:37.515Z',\n createdBy: MOCK_USER_ID.toString(),\n modifiedOn: '2022-12-06T23:18:27.877Z',\n modifiedBy: MOCK_USER_ID_2.toString(),\n title: '',\n markdown:\n 'You must accept the terms of this self-sign access requirement. The terms are described here, and you sign it yourself.',\n attachmentFileHandleIds: [],\n}\n\nexport const mockToUAccessRequirementWikiPage: WikiPage = {\n id: '125',\n etag: '00924558-f46d-4f05-9f62-0686ddecf8ed',\n createdOn: '2017-08-23T18:48:37.515Z',\n createdBy: MOCK_USER_ID.toString(),\n modifiedOn: '2022-12-06T23:18:27.877Z',\n modifiedBy: MOCK_USER_ID_2.toString(),\n title: '',\n markdown:\n 'This is a wiki page. You must accept the terms of this legacy terms of use access requirement. The terms are described here, and you sign it yourself.',\n attachmentFileHandleIds: [],\n}\n\nexport const mockACTAccessRequirementWikiPage: WikiPage = {\n id: '126',\n etag: '00924558-f46d-4f05-9f62-0686ddecf8ed',\n createdOn: '2017-08-23T18:48:37.515Z',\n createdBy: MOCK_USER_ID.toString(),\n modifiedOn: '2022-12-06T23:18:27.877Z',\n modifiedBy: MOCK_USER_ID_2.toString(),\n title: '',\n markdown:\n 'This is a wiki page. You must request access using this legacy ACT access requirement. Access to these data is controlled at the request of the data contributor(s) and due to the sensitive nature of the data.',\n attachmentFileHandleIds: [],\n}\n\nexport const mockEntityRootWikiPage: WikiPage = {\n id: '127',\n etag: '00924558-f46d-4f05-9f62-0686ddecf8ed',\n createdOn: '2017-08-23T18:48:37.515Z',\n createdBy: MOCK_USER_ID.toString(),\n modifiedOn: '2022-12-06T23:18:27.877Z',\n modifiedBy: MOCK_USER_ID_2.toString(),\n title: '',\n markdown: 'This is the root page for an Entity wiki',\n attachmentFileHandleIds: [],\n}\n\nexport const mockEntityWikiPage: WikiPage = {\n id: '128',\n etag: '00924558-f46d-4f05-9f62-0686ddecf8ed',\n createdOn: '2017-08-23T18:48:37.515Z',\n createdBy: MOCK_USER_ID.toString(),\n modifiedOn: '2022-12-06T23:18:27.877Z',\n modifiedBy: MOCK_USER_ID_2.toString(),\n title: 'Some title',\n markdown: 'This is a a subpage for an Entity wiki',\n attachmentFileHandleIds: [MOCK_FILE_HANDLE_ID],\n parentWikiId: mockEntityRootWikiPage.id,\n}\n\nexport const mockWikiPages: WikiPage[] = [\n mockManagedACTAccessRequirementWikiPage,\n mockSelfSignAccessRequirementWikiPage,\n mockToUAccessRequirementWikiPage,\n mockACTAccessRequirementWikiPage,\n mockEntityRootWikiPage,\n mockEntityWikiPage,\n]\n"],"mappings":";;;AAIA,IAAa,IAAiB,kBAIjB,IAAoD;CAC/D,IAAI;CACJ,MAAM;CACN,WAAW;CACX,WAAA;CACA,YAAY;CACZ,YAAY,EAAe,UAAU;CACrC,OAAO;CACP,UAAU;CACV,yBAAyB,EAAE;CAC5B,EAEY,IAAkD;CAC7D,IAAI;CACJ,MAAM;CACN,WAAW;CACX,WAAA;CACA,YAAY;CACZ,YAAY,EAAe,UAAU;CACrC,OAAO;CACP,UACE;CACF,yBAAyB,EAAE;CAC5B,EAEY,IAA6C;CACxD,IAAI;CACJ,MAAM;CACN,WAAW;CACX,WAAA;CACA,YAAY;CACZ,YAAY,EAAe,UAAU;CACrC,OAAO;CACP,UACE;CACF,yBAAyB,EAAE;CAC5B,EAEY,IAA6C;CACxD,IAAI;CACJ,MAAM;CACN,WAAW;CACX,WAAA;CACA,YAAY;CACZ,YAAY,EAAe,UAAU;CACrC,OAAO;CACP,UACE;CACF,yBAAyB,EAAE;CAC5B,EAEY,IAAmC;CAC9C,IAAI;CACJ,MAAM;CACN,WAAW;CACX,WAAA;CACA,YAAY;CACZ,YAAY,EAAe,UAAU;CACrC,OAAO;CACP,UAAU;CACV,yBAAyB,EAAE;CAC5B,EAEY,IAA+B;CAC1C,IAAI;CACJ,MAAM;CACN,WAAW;CACX,WAAA;CACA,YAAY;CACZ,YAAY,EAAe,UAAU;CACrC,OAAO;CACP,UAAU;CACV,yBAAyB,CAAC,EAAoB;CAC9C,cAAc,EAAuB;CACtC,EAEY,IAA4B;CACvC;CACA;CACA;CACA;CACA;CACA;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncJobHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/asyncJobHandlers.ts"],"sourcesContent":["import { ASYNCHRONOUS_JOB_TOKEN } from '@/utils/APIConstants'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\nimport { ErrorResponse } from '@sage-bionetworks/synapse-client'\nimport {\n AsynchJobState,\n AsynchronousJobStatus,\n AsyncJobId,\n} from '@sage-bionetworks/synapse-types'\nimport { DefaultBodyType, http, HttpResponse } from 'msw'\nimport BasicMockedCrudService from '../util/BasicMockedCrudService'\n\ntype AsyncJobDetails<TRequestBody, TResponseBody> = {\n id: string\n request: TRequestBody\n response: TResponseBody\n}\n\nconst mockAsynchronousJobService = new BasicMockedCrudService<\n AsyncJobDetails<unknown, unknown>,\n 'id'\n>({\n idField: 'id',\n autoGenerateId: true,\n})\n\n/**\n * Generates MSW handlers for asynchronous jobs.\n * @param requestPath the path to the service-specific asynchronous job request endpoint.\n * For example, `'/repo/v1/entity/:id/table/query/async/start'`\n * @param responsePath a function that takes the token parameter ID and returns a path to the service-specific asynchronous job response endpoint.\n * For example, `param => /repo/v1/entity/:id/table/query/async/get/${param}`\n * The generic asynchronous job retrieval handler will be generated automatically.\n * @param responseBody the response body, or a function that takes the request body and returns the response body\n * @param backendOrigin the backend origin to use for the handlers.\n * @param serviceSpecificEndpointResponseStatus the status code to use for the service-specific endpoint. The asynchronous job endpoint will always return 200.\n */\nexport function generateAsyncJobHandlers<\n TRequestBody = unknown,\n TResponseBody extends DefaultBodyType | ErrorResponse =\n | DefaultBodyType\n | ErrorResponse,\n>(\n requestPath: string,\n responsePath: (tokenParam: string) => string,\n responseBody: TResponseBody | ((requestBody: TRequestBody) => TResponseBody),\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n serviceSpecificEndpointResponseStatus = 201,\n) {\n return [\n // Handler for the asynchronous job request endpoint.\n http.post(`${backendOrigin}${requestPath}`, async ({ request }) => {\n const createdJob = mockAsynchronousJobService.create({\n request: await request.json(),\n response: responseBody,\n })\n\n const asyncJobResponse: AsyncJobId = {\n token: createdJob.id,\n }\n\n return HttpResponse.json(asyncJobResponse, { status: 201 })\n }),\n\n // Generic async job response handler. Since this implementation is the same for all services and references the global map, it's fine if this is overridden.\n http.get(\n `${backendOrigin}${ASYNCHRONOUS_JOB_TOKEN(':id')}`,\n ({ params }) => {\n const id = params.id as string\n const asyncJobDetails = mockAsynchronousJobService.getOneById(id)\n if (!id || !asyncJobDetails) {\n return HttpResponse.json(\n { message: 'The mocked asynchronous job was not found' },\n { status: 404 },\n )\n }\n const { request, response } = asyncJobDetails as {\n request: TRequestBody\n response: TResponseBody\n }\n const responseObject: TResponseBody =\n typeof response === 'function' ? response(request) : response\n\n const jobState: AsynchJobState =\n serviceSpecificEndpointResponseStatus < 400 ? 'COMPLETE' : 'FAILED'\n\n return HttpResponse.json<\n AsynchronousJobStatus<TRequestBody, TResponseBody>\n >(\n {\n jobState,\n jobCanceling: false,\n requestBody: request,\n etag: '00000000-0000-0000-0000-000000000000',\n jobId: id,\n responseBody: responseObject,\n startedByUserId: 0,\n startedOn: '',\n changedOn: '',\n progressMessage: '',\n progressCurrent: 100,\n progressTotal: 100,\n exception: '',\n errorMessage: '',\n errorDetails: '',\n runtimeMS: 100,\n },\n {\n // This endpoint returns a successful status code regardless of the job status\n status: 200,\n },\n )\n },\n ),\n\n // Service-specific response endpoint\n http.get<{ asyncJobToken: string }, TResponseBody>(\n `${backendOrigin}${responsePath(':asyncJobToken')}`,\n ({ params }) => {\n const asyncJobToken = params.asyncJobToken\n const asyncJobDetails =\n mockAsynchronousJobService.getOneById(asyncJobToken)\n if (!asyncJobToken || !asyncJobDetails) {\n return HttpResponse.json(\n { message: 'The mocked asynchronous job was not found' },\n { status: 404 },\n )\n }\n\n const { request, response } = asyncJobDetails as {\n request: TRequestBody\n response: TResponseBody\n }\n const responseObject: TResponseBody =\n typeof response === 'function' ? response(request) : response\n\n return HttpResponse.json(responseObject, {\n status: serviceSpecificEndpointResponseStatus,\n })\n },\n ),\n ]\n}\n"],"mappings":";;;;;AAoBA,IAAM,IAA6B,IAAI,EAGrC;CACA,SAAS;CACT,gBAAgB;CACjB,CAAC;AAaF,SAAgB,EAMd,GACA,GACA,GACA,IAAgB,EAAY,EAAuB,cAAc,EACjE,IAAwC,KACxC;AACA,QAAO;EAEL,EAAK,KAAK,GAAG,IAAgB,KAAe,OAAO,EAAE,iBAAc;GAMjE,IAAM,IAA+B,EACnC,OANiB,EAA2B,OAAO;IACnD,SAAS,MAAM,EAAQ,MAAM;IAC7B,UAAU;IACX,
|
|
1
|
+
{"version":3,"file":"asyncJobHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/asyncJobHandlers.ts"],"sourcesContent":["import { ASYNCHRONOUS_JOB_TOKEN } from '@/utils/APIConstants'\nimport {\n BackendDestinationEnum,\n getEndpoint,\n} from '@/utils/functions/getEndpoint'\nimport { ErrorResponse } from '@sage-bionetworks/synapse-client'\nimport {\n AsynchJobState,\n AsynchronousJobStatus,\n AsyncJobId,\n} from '@sage-bionetworks/synapse-types'\nimport { DefaultBodyType, http, HttpResponse } from 'msw'\nimport BasicMockedCrudService from '../util/BasicMockedCrudService'\n\ntype AsyncJobDetails<TRequestBody, TResponseBody> = {\n id: string\n request: TRequestBody\n response: TResponseBody\n}\n\nconst mockAsynchronousJobService = new BasicMockedCrudService<\n AsyncJobDetails<unknown, unknown>,\n 'id'\n>({\n idField: 'id',\n autoGenerateId: true,\n})\n\n/**\n * Generates MSW handlers for asynchronous jobs.\n * @param requestPath the path to the service-specific asynchronous job request endpoint.\n * For example, `'/repo/v1/entity/:id/table/query/async/start'`\n * @param responsePath a function that takes the token parameter ID and returns a path to the service-specific asynchronous job response endpoint.\n * For example, `param => /repo/v1/entity/:id/table/query/async/get/${param}`\n * The generic asynchronous job retrieval handler will be generated automatically.\n * @param responseBody the response body, or a function that takes the request body and returns the response body\n * @param backendOrigin the backend origin to use for the handlers.\n * @param serviceSpecificEndpointResponseStatus the status code to use for the service-specific endpoint. The asynchronous job endpoint will always return 200.\n */\nexport function generateAsyncJobHandlers<\n TRequestBody = unknown,\n TResponseBody extends DefaultBodyType | ErrorResponse =\n | DefaultBodyType\n | ErrorResponse,\n>(\n requestPath: string,\n responsePath: (tokenParam: string) => string,\n responseBody: TResponseBody | ((requestBody: TRequestBody) => TResponseBody),\n backendOrigin = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT),\n serviceSpecificEndpointResponseStatus = 201,\n) {\n return [\n // Handler for the asynchronous job request endpoint.\n http.post(`${backendOrigin}${requestPath}`, async ({ request }) => {\n const createdJob = mockAsynchronousJobService.create({\n request: await request.json(),\n response: responseBody,\n })\n\n const asyncJobResponse: AsyncJobId = {\n token: createdJob.id,\n }\n\n return HttpResponse.json(asyncJobResponse, { status: 201 })\n }),\n\n // Generic async job response handler. Since this implementation is the same for all services and references the global map, it's fine if this is overridden.\n http.get(\n `${backendOrigin}${ASYNCHRONOUS_JOB_TOKEN(':id')}`,\n ({ params }) => {\n const id = params.id as string\n const asyncJobDetails = mockAsynchronousJobService.getOneById(id)\n if (!id || !asyncJobDetails) {\n return HttpResponse.json(\n { message: 'The mocked asynchronous job was not found' },\n { status: 404 },\n )\n }\n const { request, response } = asyncJobDetails as {\n request: TRequestBody\n response: TResponseBody\n }\n const responseObject: TResponseBody =\n typeof response === 'function' ? response(request) : response\n\n const jobState: AsynchJobState =\n serviceSpecificEndpointResponseStatus < 400 ? 'COMPLETE' : 'FAILED'\n\n return HttpResponse.json<\n AsynchronousJobStatus<TRequestBody, TResponseBody>\n >(\n {\n jobState,\n jobCanceling: false,\n requestBody: request,\n etag: '00000000-0000-0000-0000-000000000000',\n jobId: id,\n responseBody: responseObject,\n startedByUserId: 0,\n startedOn: '',\n changedOn: '',\n progressMessage: '',\n progressCurrent: 100,\n progressTotal: 100,\n exception: '',\n errorMessage: '',\n errorDetails: '',\n runtimeMS: 100,\n },\n {\n // This endpoint returns a successful status code regardless of the job status\n status: 200,\n },\n )\n },\n ),\n\n // Service-specific response endpoint\n http.get<{ asyncJobToken: string }, TResponseBody>(\n `${backendOrigin}${responsePath(':asyncJobToken')}`,\n ({ params }) => {\n const asyncJobToken = params.asyncJobToken\n const asyncJobDetails =\n mockAsynchronousJobService.getOneById(asyncJobToken)\n if (!asyncJobToken || !asyncJobDetails) {\n return HttpResponse.json(\n { message: 'The mocked asynchronous job was not found' },\n { status: 404 },\n )\n }\n\n const { request, response } = asyncJobDetails as {\n request: TRequestBody\n response: TResponseBody\n }\n const responseObject: TResponseBody =\n typeof response === 'function' ? response(request) : response\n\n return HttpResponse.json(responseObject, {\n status: serviceSpecificEndpointResponseStatus,\n })\n },\n ),\n ]\n}\n"],"mappings":";;;;;AAoBA,IAAM,IAA6B,IAAI,EAGrC;CACA,SAAS;CACT,gBAAgB;CACjB,CAAC;AAaF,SAAgB,EAMd,GACA,GACA,GACA,IAAgB,EAAY,EAAuB,cAAc,EACjE,IAAwC,KACxC;AACA,QAAO;EAEL,EAAK,KAAK,GAAG,IAAgB,KAAe,OAAO,EAAE,iBAAc;GAMjE,IAAM,IAA+B,EACnC,OANiB,EAA2B,OAAO;IACnD,SAAS,MAAM,EAAQ,MAAM;IAC7B,UAAU;IACX,CAGQ,CAAW,IACnB;AAED,UAAO,EAAa,KAAK,GAAkB,EAAE,QAAQ,KAAK,CAAC;IAC3D;EAGF,EAAK,IACH,GAAG,IAAgB,EAAuB,MAAM,KAC/C,EAAE,gBAAa;GACd,IAAM,IAAK,EAAO,IACZ,IAAkB,EAA2B,WAAW,EAAG;AACjE,OAAI,CAAC,KAAM,CAAC,EACV,QAAO,EAAa,KAClB,EAAE,SAAS,6CAA6C,EACxD,EAAE,QAAQ,KAAK,CAChB;GAEH,IAAM,EAAE,YAAS,gBAAa,GAIxB,IACJ,OAAO,KAAa,aAAa,EAAS,EAAQ,GAAG,GAEjD,IACJ,IAAwC,MAAM,aAAa;AAE7D,UAAO,EAAa,KAGlB;IACE;IACA,cAAc;IACd,aAAa;IACb,MAAM;IACN,OAAO;IACP,cAAc;IACd,iBAAiB;IACjB,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,WAAW;IACX,cAAc;IACd,cAAc;IACd,WAAW;IACZ,EACD,EAEE,QAAQ,KACT,CACF;IAEJ;EAGD,EAAK,IACH,GAAG,IAAgB,EAAa,iBAAiB,KAChD,EAAE,gBAAa;GACd,IAAM,IAAgB,EAAO,eACvB,IACJ,EAA2B,WAAW,EAAc;AACtD,OAAI,CAAC,KAAiB,CAAC,EACrB,QAAO,EAAa,KAClB,EAAE,SAAS,6CAA6C,EACxD,EAAE,QAAQ,KAAK,CAChB;GAGH,IAAM,EAAE,YAAS,gBAAa,GAIxB,IACJ,OAAO,KAAa,aAAa,EAAS,EAAQ,GAAG;AAEvD,UAAO,EAAa,KAAK,GAAgB,EACvC,QAAQ,GACT,CAAC;IAEL;EACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"challengeHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/challengeHandlers.ts"],"sourcesContent":["import {\n Challenge,\n ChallengeTeam,\n ChallengeTeamPagedResults,\n CreateChallengeTeamRequest,\n PaginatedIds,\n} from '@sage-bionetworks/synapse-types'\nimport { http, HttpResponse } from 'msw'\nimport {\n MOCK_CHALLENGE_ID,\n mockRegisteredChallengeTeams,\n} from '../../challenge/mockChallenge'\nimport { MOCK_CHALLENGE_PARTICIPANT_TEAM_ID } from '../../team/mockTeam'\nimport { SynapseApiResponse } from '../handlers'\nimport BasicMockedCrudService from '../util/BasicMockedCrudService'\n\nconst registeredChallengeTeamService = new BasicMockedCrudService<\n ChallengeTeam,\n 'id'\n>({\n initialData: mockRegisteredChallengeTeams,\n idField: 'id',\n autoGenerateId: true,\n})\n\nexport function getChallengeHandler(backendOrigin: string) {\n return http.get(\n `${backendOrigin}/repo/v1/entity/:id/challenge`,\n ({ params }) => {\n const response: SynapseApiResponse<Challenge> = {\n id: MOCK_CHALLENGE_ID,\n etag: 'f5e9df54-360b-4ede-9a17-f7f5680c8dd4',\n projectId: params.id as string,\n participantTeamId: String(MOCK_CHALLENGE_PARTICIPANT_TEAM_ID),\n }\n return HttpResponse.json(response, { status: 200 })\n },\n )\n}\n\nexport function getRegisteredChallengeTeamsHandler(backendOrigin: string) {\n return http.get(\n `${backendOrigin}/repo/v1/challenge/:challengeId/challengeTeam`,\n () => {\n const results = registeredChallengeTeamService.getAll()\n const response: SynapseApiResponse<ChallengeTeamPagedResults> = {\n results: results,\n totalNumberOfResults: results.length,\n }\n return HttpResponse.json(response, { status: 200 })\n },\n )\n}\n\nexport function getRegisterTeamForChallengeHandler(backendOrigin: string) {\n return http.post<never, CreateChallengeTeamRequest>(\n `${backendOrigin}/repo/v1/challenge/:challengeId/challengeTeam`,\n async ({ request }) => {\n const requestBody = await request.json()\n const created = registeredChallengeTeamService.create({\n ...requestBody,\n etag: 'abcdef0987654321',\n })\n return HttpResponse.json(created, { status: 200 })\n },\n )\n}\n\nexport function getSubmissionTeamsHandler(backendOrigin: string) {\n return http.get(\n `${backendOrigin}/repo/v1/challenge/:challengeId/submissionTeams`,\n () => {\n const response: SynapseApiResponse<PaginatedIds> = {\n results: [],\n totalNumberOfResults: 0,\n }\n return HttpResponse.json(response, { status: 200 })\n },\n )\n}\n\nexport default function getAllChallengeHandlers(backendOrigin: string) {\n return [\n getChallengeHandler(backendOrigin),\n getSubmissionTeamsHandler(backendOrigin),\n getRegisterTeamForChallengeHandler(backendOrigin),\n getRegisteredChallengeTeamsHandler(backendOrigin),\n ]\n}\n"],"mappings":";;;;;AAgBA,IAAM,IAAiC,IAAI,EAGzC;CACA,aAAa;CACb,SAAS;CACT,gBAAgB;CACjB,CAAC;AAEF,SAAgB,EAAoB,GAAuB;AACzD,QAAO,EAAK,IACV,GAAG,EAAc,iCAChB,EAAE,gBAAa;EACd,IAAM,IAA0C;GAC9C,IAAI;GACJ,MAAM;GACN,WAAW,EAAO;GAClB,mBAAmB,OAAO,EAAmC;GAC9D;AACD,SAAO,EAAa,KAAK,GAAU,EAAE,QAAQ,KAAK,CAAC;GAEtD;;AAGH,SAAgB,EAAmC,GAAuB;AACxE,QAAO,EAAK,IACV,GAAG,EAAc,sDACX;EACJ,IAAM,IAAU,EAA+B,QAAQ,EACjD,IAA0D;GACrD;GACT,sBAAsB,EAAQ;GAC/B;AACD,SAAO,EAAa,KAAK,GAAU,EAAE,QAAQ,KAAK,CAAC;GAEtD;;AAGH,SAAgB,EAAmC,GAAuB;AACxE,QAAO,EAAK,KACV,GAAG,EAAc,gDACjB,OAAO,EAAE,iBAAc;EACrB,IAAM,IAAc,MAAM,EAAQ,MAAM,EAClC,IAAU,EAA+B,OAAO;GACpD,GAAG;GACH,MAAM;GACP,CAAC;AACF,SAAO,EAAa,KAAK,GAAS,EAAE,QAAQ,KAAK,CAAC;GAErD;;AAGH,SAAgB,EAA0B,GAAuB;AAC/D,QAAO,EAAK,IACV,GAAG,EAAc,wDAMR,EAAa,
|
|
1
|
+
{"version":3,"file":"challengeHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/challengeHandlers.ts"],"sourcesContent":["import {\n Challenge,\n ChallengeTeam,\n ChallengeTeamPagedResults,\n CreateChallengeTeamRequest,\n PaginatedIds,\n} from '@sage-bionetworks/synapse-types'\nimport { http, HttpResponse } from 'msw'\nimport {\n MOCK_CHALLENGE_ID,\n mockRegisteredChallengeTeams,\n} from '../../challenge/mockChallenge'\nimport { MOCK_CHALLENGE_PARTICIPANT_TEAM_ID } from '../../team/mockTeam'\nimport { SynapseApiResponse } from '../handlers'\nimport BasicMockedCrudService from '../util/BasicMockedCrudService'\n\nconst registeredChallengeTeamService = new BasicMockedCrudService<\n ChallengeTeam,\n 'id'\n>({\n initialData: mockRegisteredChallengeTeams,\n idField: 'id',\n autoGenerateId: true,\n})\n\nexport function getChallengeHandler(backendOrigin: string) {\n return http.get(\n `${backendOrigin}/repo/v1/entity/:id/challenge`,\n ({ params }) => {\n const response: SynapseApiResponse<Challenge> = {\n id: MOCK_CHALLENGE_ID,\n etag: 'f5e9df54-360b-4ede-9a17-f7f5680c8dd4',\n projectId: params.id as string,\n participantTeamId: String(MOCK_CHALLENGE_PARTICIPANT_TEAM_ID),\n }\n return HttpResponse.json(response, { status: 200 })\n },\n )\n}\n\nexport function getRegisteredChallengeTeamsHandler(backendOrigin: string) {\n return http.get(\n `${backendOrigin}/repo/v1/challenge/:challengeId/challengeTeam`,\n () => {\n const results = registeredChallengeTeamService.getAll()\n const response: SynapseApiResponse<ChallengeTeamPagedResults> = {\n results: results,\n totalNumberOfResults: results.length,\n }\n return HttpResponse.json(response, { status: 200 })\n },\n )\n}\n\nexport function getRegisterTeamForChallengeHandler(backendOrigin: string) {\n return http.post<never, CreateChallengeTeamRequest>(\n `${backendOrigin}/repo/v1/challenge/:challengeId/challengeTeam`,\n async ({ request }) => {\n const requestBody = await request.json()\n const created = registeredChallengeTeamService.create({\n ...requestBody,\n etag: 'abcdef0987654321',\n })\n return HttpResponse.json(created, { status: 200 })\n },\n )\n}\n\nexport function getSubmissionTeamsHandler(backendOrigin: string) {\n return http.get(\n `${backendOrigin}/repo/v1/challenge/:challengeId/submissionTeams`,\n () => {\n const response: SynapseApiResponse<PaginatedIds> = {\n results: [],\n totalNumberOfResults: 0,\n }\n return HttpResponse.json(response, { status: 200 })\n },\n )\n}\n\nexport default function getAllChallengeHandlers(backendOrigin: string) {\n return [\n getChallengeHandler(backendOrigin),\n getSubmissionTeamsHandler(backendOrigin),\n getRegisterTeamForChallengeHandler(backendOrigin),\n getRegisteredChallengeTeamsHandler(backendOrigin),\n ]\n}\n"],"mappings":";;;;;AAgBA,IAAM,IAAiC,IAAI,EAGzC;CACA,aAAa;CACb,SAAS;CACT,gBAAgB;CACjB,CAAC;AAEF,SAAgB,EAAoB,GAAuB;AACzD,QAAO,EAAK,IACV,GAAG,EAAc,iCAChB,EAAE,gBAAa;EACd,IAAM,IAA0C;GAC9C,IAAI;GACJ,MAAM;GACN,WAAW,EAAO;GAClB,mBAAmB,OAAO,EAAmC;GAC9D;AACD,SAAO,EAAa,KAAK,GAAU,EAAE,QAAQ,KAAK,CAAC;GAEtD;;AAGH,SAAgB,EAAmC,GAAuB;AACxE,QAAO,EAAK,IACV,GAAG,EAAc,sDACX;EACJ,IAAM,IAAU,EAA+B,QAAQ,EACjD,IAA0D;GACrD;GACT,sBAAsB,EAAQ;GAC/B;AACD,SAAO,EAAa,KAAK,GAAU,EAAE,QAAQ,KAAK,CAAC;GAEtD;;AAGH,SAAgB,EAAmC,GAAuB;AACxE,QAAO,EAAK,KACV,GAAG,EAAc,gDACjB,OAAO,EAAE,iBAAc;EACrB,IAAM,IAAc,MAAM,EAAQ,MAAM,EAClC,IAAU,EAA+B,OAAO;GACpD,GAAG;GACH,MAAM;GACP,CAAC;AACF,SAAO,EAAa,KAAK,GAAS,EAAE,QAAQ,KAAK,CAAC;GAErD;;AAGH,SAAgB,EAA0B,GAAuB;AAC/D,QAAO,EAAK,IACV,GAAG,EAAc,wDAMR,EAAa,KAAK;EAHvB,SAAS,EAAE;EACX,sBAAsB;EAEC,EAAU,EAAE,QAAQ,KAAK,CAAC,CAEtD;;AAGH,SAAwB,EAAwB,GAAuB;AACrE,QAAO;EACL,EAAoB,EAAc;EAClC,EAA0B,EAAc;EACxC,EAAmC,EAAc;EACjD,EAAmC,EAAc;EAClD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changePasswordHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/changePasswordHandlers.ts"],"sourcesContent":["import { CHANGE_PASSWORD } from '@/utils/APIConstants'\nimport {\n ChangePasswordInterface,\n ErrorResponseCode,\n TwoFactorAuthErrorResponse,\n} from '@sage-bionetworks/synapse-types'\nimport { http, HttpResponse } from 'msw'\n\nexport function getSuccessfulChangePasswordHandler(backendOrigin: string) {\n return http.post(backendOrigin + CHANGE_PASSWORD, () => {\n return new Response(null, { status: 204 })\n })\n}\n\nexport function getBadRequestChangePasswordHandler(\n backendOrigin: string,\n message: string,\n) {\n return http.post(backendOrigin + CHANGE_PASSWORD, () => {\n return HttpResponse.json(\n {\n concreteType: 'org.sagebionetworks.repo.model.ErrorResponse',\n reason: message,\n },\n { status: 401 },\n )\n })\n}\n\nexport function getRequires2FAChangePasswordHandler(\n backendOrigin: string,\n userId: number,\n twoFaToken: string,\n) {\n return http.post<never, ChangePasswordInterface>(\n backendOrigin + CHANGE_PASSWORD,\n async ({ request }) => {\n const requestBody = await request.json()\n if ('twoFaToken' in requestBody) {\n // If a 2FA token is provided, accept the request.\n return new Response(null, { status: 204 })\n }\n\n // Otherwise, reject it with a 2FA challenge.\n const response: TwoFactorAuthErrorResponse = {\n concreteType:\n 'org.sagebionetworks.repo.model.auth.TwoFactorAuthErrorResponse',\n reason: 'Two factor authentication required.',\n errorCode: ErrorResponseCode.TWO_FA_REQUIRED,\n userId: userId,\n twoFaToken: twoFaToken,\n }\n\n return HttpResponse.json(response, { status: 401 })\n },\n )\n}\n"],"mappings":";;;;AAQA,SAAgB,EAAmC,GAAuB;AACxE,QAAO,EAAK,KAAK,IAAgB,SACxB,IAAI,SAAS,MAAM,EAAE,QAAQ,KAAK,CAAC,CAC1C;;AAGJ,SAAgB,EACd,GACA,GACA;AACA,QAAO,EAAK,KAAK,IAAgB,SACxB,EAAa,KAClB;EACE,cAAc;EACd,QAAQ;EACT,EACD,EAAE,QAAQ,KAAK,CAChB,CACD;;AAGJ,SAAgB,EACd,GACA,GACA,GACA;AACA,QAAO,EAAK,KACV,IAAgB,GAChB,OAAO,EAAE,iBAAc;AAErB,MAAI,
|
|
1
|
+
{"version":3,"file":"changePasswordHandlers.js","names":[],"sources":["../../../../src/mocks/msw/handlers/changePasswordHandlers.ts"],"sourcesContent":["import { CHANGE_PASSWORD } from '@/utils/APIConstants'\nimport {\n ChangePasswordInterface,\n ErrorResponseCode,\n TwoFactorAuthErrorResponse,\n} from '@sage-bionetworks/synapse-types'\nimport { http, HttpResponse } from 'msw'\n\nexport function getSuccessfulChangePasswordHandler(backendOrigin: string) {\n return http.post(backendOrigin + CHANGE_PASSWORD, () => {\n return new Response(null, { status: 204 })\n })\n}\n\nexport function getBadRequestChangePasswordHandler(\n backendOrigin: string,\n message: string,\n) {\n return http.post(backendOrigin + CHANGE_PASSWORD, () => {\n return HttpResponse.json(\n {\n concreteType: 'org.sagebionetworks.repo.model.ErrorResponse',\n reason: message,\n },\n { status: 401 },\n )\n })\n}\n\nexport function getRequires2FAChangePasswordHandler(\n backendOrigin: string,\n userId: number,\n twoFaToken: string,\n) {\n return http.post<never, ChangePasswordInterface>(\n backendOrigin + CHANGE_PASSWORD,\n async ({ request }) => {\n const requestBody = await request.json()\n if ('twoFaToken' in requestBody) {\n // If a 2FA token is provided, accept the request.\n return new Response(null, { status: 204 })\n }\n\n // Otherwise, reject it with a 2FA challenge.\n const response: TwoFactorAuthErrorResponse = {\n concreteType:\n 'org.sagebionetworks.repo.model.auth.TwoFactorAuthErrorResponse',\n reason: 'Two factor authentication required.',\n errorCode: ErrorResponseCode.TWO_FA_REQUIRED,\n userId: userId,\n twoFaToken: twoFaToken,\n }\n\n return HttpResponse.json(response, { status: 401 })\n },\n )\n}\n"],"mappings":";;;;AAQA,SAAgB,EAAmC,GAAuB;AACxE,QAAO,EAAK,KAAK,IAAgB,SACxB,IAAI,SAAS,MAAM,EAAE,QAAQ,KAAK,CAAC,CAC1C;;AAGJ,SAAgB,EACd,GACA,GACA;AACA,QAAO,EAAK,KAAK,IAAgB,SACxB,EAAa,KAClB;EACE,cAAc;EACd,QAAQ;EACT,EACD,EAAE,QAAQ,KAAK,CAChB,CACD;;AAGJ,SAAgB,EACd,GACA,GACA,GACA;AACA,QAAO,EAAK,KACV,IAAgB,GAChB,OAAO,EAAE,iBAAc;AAErB,MAAI,gBAAgB,MADM,EAAQ,MAAM,CAGtC,QAAO,IAAI,SAAS,MAAM,EAAE,QAAQ,KAAK,CAAC;EAI5C,IAAM,IAAuC;GAC3C,cACE;GACF,QAAQ;GACR,WAAW,EAAkB;GACrB;GACI;GACb;AAED,SAAO,EAAa,KAAK,GAAU,EAAE,QAAQ,KAAK,CAAC;GAEtD"}
|