synapse-react-client 4.0.5 → 4.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/SWC.index.d.ts +2 -0
  2. package/dist/SWC.index.d.ts.map +1 -1
  3. package/dist/SWC.index.js +47 -41
  4. package/dist/SWC.index.js.map +1 -1
  5. package/dist/assets/DefaultColorfulPortalCardBackground.svg +50 -12
  6. package/dist/assets/DefaultColorfulPortalCardBackground.svg.js +4 -4
  7. package/dist/assets/DefaultColorfulPortalCardBackground.svg.js.map +1 -1
  8. package/dist/components/CreateProjectModal/CreateProjectModal.d.ts +2 -1
  9. package/dist/components/CreateProjectModal/CreateProjectModal.d.ts.map +1 -1
  10. package/dist/components/CreateProjectModal/CreateProjectModal.js +35 -30
  11. package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
  12. package/dist/components/DataGrid/DataGridWebSocket.d.ts +4 -0
  13. package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
  14. package/dist/components/DataGrid/DataGridWebSocket.js +47 -37
  15. package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
  16. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  17. package/dist/components/DataGrid/SynapseGrid.js +193 -152
  18. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  19. package/dist/components/DataGrid/useDataGridWebsocket.d.ts +6 -1
  20. package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
  21. package/dist/components/DataGrid/useDataGridWebsocket.js +78 -69
  22. package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
  23. package/dist/components/SynapseTable/SynapseTable.d.ts +6 -1
  24. package/dist/components/SynapseTable/SynapseTable.d.ts.map +1 -1
  25. package/dist/components/SynapseTable/SynapseTable.js +123 -93
  26. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  27. package/dist/components/TextField/TextField.css +1 -0
  28. package/dist/components/TextField/TextField.d.ts +1 -1
  29. package/dist/components/TextField/TextField.d.ts.map +1 -1
  30. package/dist/components/TextField/TextField.js +30 -28
  31. package/dist/components/TextField/TextField.js.map +1 -1
  32. package/dist/components/TextField/TextField.module.scss +18 -0
  33. package/dist/components/TextField/TextField.module.scss.js +12 -0
  34. package/dist/components/TextField/TextField.module.scss.js.map +1 -0
  35. package/dist/components/styled/HoverPopover.css +1 -1
  36. package/dist/components/styled/HoverPopover.d.ts.map +1 -1
  37. package/dist/components/styled/HoverPopover.js +6 -5
  38. package/dist/components/styled/HoverPopover.js.map +1 -1
  39. package/dist/components/styled/HoverPopover.module.scss +2 -1
  40. package/dist/components/styled/HoverPopover.module.scss.js +1 -1
  41. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts +5 -2
  42. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
  43. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +180 -36
  44. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  45. package/dist/features/entity/metadata-task/components/MetadataTasksPage.d.ts.map +1 -1
  46. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +52 -27
  47. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  48. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.d.ts +7 -0
  49. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.d.ts.map +1 -0
  50. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js +323 -0
  51. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -0
  52. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.d.ts +7 -1
  53. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.d.ts.map +1 -1
  54. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js +7 -7
  55. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js.map +1 -1
  56. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.d.ts +9 -5
  57. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.d.ts.map +1 -1
  58. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js +79 -16
  59. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
  60. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.d.ts +12 -0
  61. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.d.ts.map +1 -0
  62. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js +20 -0
  63. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -0
  64. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts +3 -3
  65. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts.map +1 -1
  66. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +54 -41
  67. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
  68. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.d.ts +2 -2
  69. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.d.ts.map +1 -1
  70. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js +11 -4
  71. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
  72. package/dist/features/entity/metadata-task/utils/taskHasAssignee.d.ts +3 -0
  73. package/dist/features/entity/metadata-task/utils/taskHasAssignee.d.ts.map +1 -0
  74. package/dist/features/entity/metadata-task/utils/taskHasAssignee.js +7 -0
  75. package/dist/features/entity/metadata-task/utils/taskHasAssignee.js.map +1 -0
  76. package/dist/mocks/curation/mockCurationTask.d.ts +10 -0
  77. package/dist/mocks/curation/mockCurationTask.d.ts.map +1 -0
  78. package/dist/mocks/curation/mockCurationTask.js +24 -0
  79. package/dist/mocks/curation/mockCurationTask.js.map +1 -0
  80. package/dist/synapse-queries/KeyFactory.d.ts +8 -3
  81. package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
  82. package/dist/synapse-queries/KeyFactory.js +22 -7
  83. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  84. package/dist/synapse-queries/curation/task/useCurationTask.d.ts +6 -3
  85. package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
  86. package/dist/synapse-queries/curation/task/useCurationTask.js +62 -18
  87. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  88. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts +2 -0
  89. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts.map +1 -1
  90. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  91. package/dist/synapse-queries/grid/useGridSession.d.ts +17 -2
  92. package/dist/synapse-queries/grid/useGridSession.d.ts.map +1 -1
  93. package/dist/synapse-queries/grid/useGridSession.js +63 -30
  94. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  95. package/dist/synapse-queries/index.js +103 -99
  96. package/dist/synapse-queries/team/index.js +18 -15
  97. package/dist/synapse-queries/team/useTeamMembers.d.ts +34 -0
  98. package/dist/synapse-queries/team/useTeamMembers.d.ts.map +1 -1
  99. package/dist/synapse-queries/team/useTeamMembers.js +110 -69
  100. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  101. package/dist/synapse-queries/types.d.ts +13 -0
  102. package/dist/synapse-queries/types.d.ts.map +1 -0
  103. package/dist/synapse-queries/types.js +2 -0
  104. package/dist/synapse-queries/types.js.map +1 -0
  105. package/dist/synapse-queries/user/index.js +12 -11
  106. package/dist/synapse-queries/user/useUserGroupHeader.d.ts +5 -0
  107. package/dist/synapse-queries/user/useUserGroupHeader.d.ts.map +1 -1
  108. package/dist/synapse-queries/user/useUserGroupHeader.js +28 -21
  109. package/dist/synapse-queries/user/useUserGroupHeader.js.map +1 -1
  110. package/dist/tsconfig.build.tsbuildinfo +1 -1
  111. package/dist/utils/hooks/useOverlay.d.ts +2 -2
  112. package/dist/utils/hooks/useOverlay.d.ts.map +1 -1
  113. package/dist/utils/hooks/useOverlay.js +41 -41
  114. package/dist/utils/hooks/useOverlay.js.map +1 -1
  115. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"KeyFactory.js","sources":["../../src/synapse-queries/KeyFactory.ts"],"sourcesContent":["import { removeTrailingUndefinedElements } from '@/utils/functions/ArrayUtils'\nimport { parseEntityIdFromSqlStatement } from '@/utils/functions/index'\nimport { hashCode, normalizeNumericId } from '@/utils/functions/StringUtils'\nimport {\n USER_BUNDLE_MASK_IS_ACT_MEMBER,\n USER_BUNDLE_MASK_IS_AR_REVIEWER,\n USER_BUNDLE_MASK_IS_CERTIFIED,\n USER_BUNDLE_MASK_IS_VERIFIED,\n USER_BUNDLE_MASK_ORCID,\n USER_BUNDLE_MASK_USER_PROFILE,\n USER_BUNDLE_MASK_VERIFICATION_SUBMISSION,\n} from '@/utils/SynapseConstants'\nimport {\n AddToDownloadListStatsRequest,\n DiscussionSearchRequest,\n EntityLookupRequest,\n GetRepoV1DoiAssociationRequest,\n GetRepoV1DoiRequest,\n ListGridSessionsRequest,\n SuggestionQuery,\n UploadToTablePreviewRequest,\n type UserSubmissionSearchRequest,\n ViewEntityType,\n} from '@sage-bionetworks/synapse-client'\nimport { OIDCAuthorizationRequest } from '@sage-bionetworks/synapse-client/generated/models/OIDCAuthorizationRequest'\nimport { PrincipalAliasRequest } from '@sage-bionetworks/synapse-client/generated/models/PrincipalAliasRequest'\nimport {\n AccessApprovalSearchRequest,\n AccessRequirementSearchRequest,\n AvailableFilesRequest,\n BatchFileRequest,\n DiscussionFilter,\n DiscussionReplyOrder,\n DiscussionThreadOrder,\n EntityBundleRequest,\n EntityChildrenRequest,\n FavoriteSortBy,\n FavoriteSortDirection,\n FileHandle,\n FileHandleAssociation,\n GetEvaluationParameters,\n GetProjectsParameters,\n ObjectType,\n QueryBundleRequest,\n ReferenceList,\n RestrictionInformationBatchRequest,\n RestrictionInformationRequest,\n SearchQuery,\n SessionHistoryRequest,\n SubmissionInfoPageRequest,\n SubmissionSearchRequest,\n SubscriptionObjectType,\n SubscriptionQuery,\n TraceEventsRequest,\n TYPE_FILTER,\n ViewColumnModelRequest,\n WikiPageKey,\n} from '@sage-bionetworks/synapse-types'\nimport { QueryKey } from '@tanstack/react-query'\n\nconst entityQueryKeyObjects = {\n /* Query key for all entities */\n all: { objectType: 'entity' },\n // Data for an entity\n entity: (id?: string, versionNumber?: string | number) => {\n const key: Record<string, unknown> = {\n ...entityQueryKeyObjects.all,\n id: id,\n }\n if (versionNumber) {\n key['version'] = versionNumber\n }\n return key\n },\n // List of Entity Versions\n versions: (id: string) => [entityQueryKeyObjects.entity(id), 'versions'],\n versionsQuery: (id: string, limit: number, offset: number) => [\n ...entityQueryKeyObjects.versions(id),\n {\n limit: limit,\n offset: offset,\n },\n ],\n // JSON Representation of an entity\n json: (id: string, versionNumber?: number) => [\n entityQueryKeyObjects.entity(id, versionNumber),\n 'json',\n ],\n // actions required for all entities\n allActionsRequired: () => [entityQueryKeyObjects.all, 'actionsRequired'],\n // entity actions required\n actionsRequired: (id: string) => [\n entityQueryKeyObjects.entity(id),\n 'actionsRequired',\n ],\n entityForum: (id: string) => [\n entityQueryKeyObjects.entity(id),\n 'entityForum',\n ],\n entityChallenge: (id: string) => [\n entityQueryKeyObjects.entity(id),\n 'entityChallenge',\n ],\n activity: (id: string, versionNumber?: number) => [\n entityQueryKeyObjects.entity(id, versionNumber),\n 'activity',\n ],\n // Entity path\n path: (id: string) => [entityQueryKeyObjects.entity(id), 'path'],\n // Entity bundle\n bundle: (\n id: string | undefined,\n versionNumber: string | number | undefined,\n bundleRequest: EntityBundleRequest,\n ) => [\n entityQueryKeyObjects.entity(id, versionNumber),\n 'entityBundle',\n bundleRequest,\n ],\n children: (request: EntityChildrenRequest, infinite: boolean) => [\n entityQueryKeyObjects.entity(request.parentId ?? 'root'),\n 'children',\n { isInfinite: infinite, entityChildrenRequest: request },\n ],\n\n tableQueryResult: (\n queryBundleRequest: QueryBundleRequest,\n infinite: boolean,\n ) => [\n entityQueryKeyObjects.entity(queryBundleRequest.entityId),\n { type: 'tableQueryResult' },\n {\n isInfinite: infinite,\n tableQueryBundleRequest: queryBundleRequest,\n },\n ],\n\n tableQueryResultWithAsyncStatus: (\n queryBundleRequest: QueryBundleRequest,\n infinite: boolean,\n ) => [\n entityQueryKeyObjects.entity(queryBundleRequest.entityId),\n { type: 'tableQueryResult', withAsyncStatus: true },\n {\n isInfinite: infinite,\n tableQueryBundleRequest: queryBundleRequest,\n },\n ],\n\n fullTableQueryResult: (queryBundleRequest: QueryBundleRequest) => [\n entityQueryKeyObjects.entity(queryBundleRequest.entityId),\n { type: 'tableQueryResult', allResults: true },\n { tableQueryBundleRequest: queryBundleRequest },\n ],\n\n boundJSONSchema: (id: string) => [\n entityQueryKeyObjects.entity(id),\n 'boundJSONSchema',\n ],\n\n schemaValidationResults: (id: string) => [\n entityQueryKeyObjects.entity(id),\n 'schemaValidationResults',\n ],\n header: (id: string, versionNumber?: number) => [\n entityQueryKeyObjects.entity(id, versionNumber),\n 'entityHeaders',\n ],\n headers: (references: ReferenceList) => [\n entityQueryKeyObjects.all,\n 'entityHeaders',\n references,\n ],\n accessRequirements: (id: string) => [\n entityQueryKeyObjects.entity(id),\n 'accessRequirements',\n ],\n}\n\nconst downloadListQueryKeys = {\n /* Key used to invalidate all download list queries */\n base: 'downloadList',\n availableFiles: (request: AvailableFilesRequest) => [\n downloadListQueryKeys.base,\n 'availableFiles',\n request,\n ],\n availableFilesInfinite: (request: AvailableFilesRequest) => [\n ...downloadListQueryKeys.availableFiles(request),\n 'infinite',\n ],\n getActionsRequired: () => [downloadListQueryKeys.base, 'actionsRequired'],\n getActionsRequiredInfinite: () => [\n ...downloadListQueryKeys.getActionsRequired(),\n 'infinite',\n ],\n getStatistics: () => [downloadListQueryKeys.base, 'statistics'],\n}\n\nconst ACCESS_REQUIREMENT_QUERY_KEY = 'accessRequirement'\nconst ROOT_WIKI_PAGE_KEY_QUERY_KEY = 'rootWikiPageKey'\nconst WIKI_PAGE_QUERY_KEY = 'wikiPage'\nconst DATA_ACCESS_SUBMISSION_QUERY_KEY = 'dataAccessSubmission'\n\n/**\n * Returns a react-query Query Key.\n *\n * Co-location of react-query keys for queries related to Synapse data. Two objectives of this strategy are\n * - minimize the risk of inappropriate cache key collisions\n * - simplify clearing the appropriate query caches when the entity data is updated\n *\n * For more information, see https://tkdodo.eu/blog/leveraging-the-query-function-context\n */\nexport class KeyFactory {\n accessToken: string | undefined = undefined\n constructor(accessToken: string | undefined) {\n this.accessToken = accessToken\n }\n\n /**\n * Returns a react-query Query Key. Prepends the key with the access token, so that the key is unique per-session.\n * Also removes trailing undefined elements from the passed args, so a key can be generated for query invalidation.\n * @param args\n * @private\n */\n private getKey(...args: unknown[]): QueryKey {\n return [\n this.accessToken == null\n ? 'anonymous'\n : btoa(String(hashCode(this.accessToken))),\n ...removeTrailingUndefinedElements(args),\n ]\n }\n\n private getKeyAnonymous(...args: unknown[]): QueryKey {\n return ['anonymous', ...removeTrailingUndefinedElements(args)]\n }\n\n public getFeatureFlagQueryKey() {\n return this.getKey('featureflag')\n }\n\n public getAllEntityDataQueryKey() {\n return this.getKey(entityQueryKeyObjects.all)\n }\n\n public getEntityQueryKey(id: string) {\n return this.getKey(entityQueryKeyObjects.entity(id))\n }\n\n public getEntityActivityQueryKey(id: string, versionNumber?: number) {\n return this.getKey(...entityQueryKeyObjects.activity(id, versionNumber))\n }\n\n public getAllEntityActionsRequiredQueryKey() {\n return this.getKey(...entityQueryKeyObjects.allActionsRequired())\n }\n\n public getEntityActionsRequiredQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.actionsRequired(id))\n }\n\n public getEntityChallengeQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.entityChallenge(id))\n }\n\n public getForumQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.entityForum(id))\n }\n\n public getEntityVersionQueryKey(\n id?: string,\n versionNumber?: string | number,\n ) {\n return this.getKey(entityQueryKeyObjects.entity(id, versionNumber))\n }\n\n public getEntityLookupQueryKey(entityLookupRequest: EntityLookupRequest) {\n return this.getKey(\n entityQueryKeyObjects.all,\n 'entityLookup',\n entityLookupRequest,\n )\n }\n\n public getPaginatedEntityVersionsQueryKey(\n id: string,\n limit: number,\n offset: number,\n ) {\n return this.getKey(\n ...entityQueryKeyObjects.versionsQuery(id, limit, offset),\n )\n }\n public getEntityVersionsQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.versions(id))\n }\n\n public getEntityChildrenQueryKey(\n request: EntityChildrenRequest,\n infinite: boolean,\n ) {\n return this.getKey(...entityQueryKeyObjects.children(request, infinite))\n }\n\n public getEntityJsonQueryKey(\n id: string,\n versionNumber: number | undefined,\n includeDerivedAnnotations: boolean,\n ) {\n return this.getKey(...entityQueryKeyObjects.json(id, versionNumber), {\n includeDerivedAnnotations,\n })\n }\n\n public getEntityBundleQueryKey(\n id: string | undefined,\n version: number | undefined,\n bundleRequest: EntityBundleRequest,\n ) {\n return this.getKey(\n ...entityQueryKeyObjects.bundle(id, version, bundleRequest),\n )\n }\n\n public getEntityPathQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.path(id))\n }\n\n public getEntityACLQueryKey(id: string) {\n return this.getKey(entityQueryKeyObjects.entity(id), 'acl')\n }\n\n public getEntityAliasQueryKey(alias: string) {\n return this.getKey(entityQueryKeyObjects.all, 'alias', alias)\n }\n\n public getEntityEvaluationsQueryKey(id: string) {\n return this.getKey(entityQueryKeyObjects.entity(id), 'evaluations')\n }\n\n public getEntityPermissionsQueryKey(id: string) {\n return this.getKey(entityQueryKeyObjects.entity(id), 'permissions')\n }\n\n public getEntityBoundJsonSchemaQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.boundJSONSchema(id))\n }\n\n public getEntitySchemaValidationResultsQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.schemaValidationResults(id))\n }\n\n public getEntityHeaderQueryKey(id: string, versionNumber?: number) {\n return this.getKey(...entityQueryKeyObjects.header(id, versionNumber))\n }\n\n public getEntityAccessRequirementsQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.accessRequirements(id))\n }\n\n public getEntityHeadersQueryKey(references: ReferenceList) {\n // TODO: invalidations should check all references\n return this.getKey(...entityQueryKeyObjects.headers(references))\n }\n\n public getAllTableQueryResultsKey() {\n return this.getKey(entityQueryKeyObjects.all, {\n type: 'tableQueryResult',\n })\n }\n\n public getEntityTableQueryResultQueryKey(\n queryBundleRequest: QueryBundleRequest,\n infinite: boolean,\n ) {\n return this.getKey(\n ...entityQueryKeyObjects.tableQueryResult(queryBundleRequest, infinite),\n )\n }\n\n public getEntityTableQueryResultWithAsyncStatusQueryKey(\n queryBundleRequest: QueryBundleRequest,\n infinite: boolean,\n ) {\n return this.getKey(\n ...entityQueryKeyObjects.tableQueryResultWithAsyncStatus(\n queryBundleRequest,\n infinite,\n ),\n )\n }\n\n public getRootWikiPageKeyQueryKey(\n ownerObjectType: ObjectType,\n ownerObjectId: string,\n ) {\n return this.getKey(\n ROOT_WIKI_PAGE_KEY_QUERY_KEY,\n ownerObjectType,\n ownerObjectId,\n )\n }\n\n public getWikiPageQueryKey(wikiPageKey: WikiPageKey) {\n return this.getKey(\n WIKI_PAGE_QUERY_KEY,\n wikiPageKey.ownerObjectType,\n wikiPageKey.ownerObjectId,\n wikiPageKey.wikiPageId,\n )\n }\n\n public getWikiPageKey(ownerId: string, wikiPageId: string) {\n return this.getKey('ownerId', ownerId, 'wikiPageId', wikiPageId)\n }\n\n public getWikiAttachmentsQueryKey(wikiPageKey: WikiPageKey) {\n return this.getKey(\n WIKI_PAGE_QUERY_KEY,\n wikiPageKey.ownerObjectType,\n wikiPageKey.ownerObjectId,\n wikiPageKey.wikiPageId,\n 'attachments',\n )\n }\n\n public getFullTableQueryResultQueryKey(\n queryBundleRequest: QueryBundleRequest,\n forceAnonymous: boolean,\n ) {\n if (forceAnonymous) {\n return this.getKeyAnonymous(\n ...entityQueryKeyObjects.fullTableQueryResult(queryBundleRequest),\n )\n } else {\n return this.getKey(\n ...entityQueryKeyObjects.fullTableQueryResult(queryBundleRequest),\n )\n }\n }\n\n public getDownloadListBaseQueryKey() {\n return this.getKey(downloadListQueryKeys.base)\n }\n\n public getDownloadListAvailableFilesQueryKey(request: AvailableFilesRequest) {\n return this.getKey(...downloadListQueryKeys.availableFiles(request))\n }\n\n public getDownloadListAvailableFilesInfiniteQueryKey(\n request: AvailableFilesRequest,\n ) {\n return this.getKey(...downloadListQueryKeys.availableFilesInfinite(request))\n }\n\n public getDownloadListActionsRequiredQueryKey() {\n return this.getKey(...downloadListQueryKeys.getActionsRequired())\n }\n public getDownloadListActionsRequiredInfiniteQueryKey() {\n return this.getKey(...downloadListQueryKeys.getActionsRequiredInfinite())\n }\n\n public getDownloadListStatisticsQueryKey() {\n return this.getKey(...downloadListQueryKeys.getStatistics())\n }\n\n public searchAccessApprovalsQueryKey(params?: AccessApprovalSearchRequest) {\n return this.getKey('accessApprovalSearch', params)\n }\n\n public getUserAccessApprovalQueryKey(submissionId: string) {\n return this.getKey('accessApproval', submissionId)\n }\n\n public getAccessRequirementQueryKey(id?: string) {\n return this.getKey(ACCESS_REQUIREMENT_QUERY_KEY, id)\n }\n\n public getAccessRequirementAclQueryKey(id: string) {\n return this.getKey(ACCESS_REQUIREMENT_QUERY_KEY, id, 'acl')\n }\n\n public searchAccessRequirementsQueryKey(\n params?: AccessRequirementSearchRequest,\n ) {\n return this.getKey(ACCESS_REQUIREMENT_QUERY_KEY, 'search', params)\n }\n\n public getAccessRequirementWikiPageKey(id: string) {\n return this.getKey(ACCESS_REQUIREMENT_QUERY_KEY, id, 'wikiPageKey')\n }\n\n public getRestrictionInformationQueryKey(\n request: RestrictionInformationRequest,\n ) {\n return this.getKey(ACCESS_REQUIREMENT_QUERY_KEY, 'restrictionInformation', {\n ...request,\n // The ID may be a number, or a stringified number, or a synID. Transform to just a number to normalize the cache.\n objectId: normalizeNumericId(request.objectId),\n })\n }\n\n public getRestrictionInformationBatchQueryKey(\n request: RestrictionInformationBatchRequest,\n ) {\n const normalizedRequest: RestrictionInformationBatchRequest = {\n ...request,\n // The IDs may be number, or stringified numbers, or synIDs. Transform to normalize the cache.\n objectIds: request.objectIds.map(normalizeNumericId).map(String),\n }\n return this.getKey(\n ACCESS_REQUIREMENT_QUERY_KEY,\n 'restrictionInformationBatch',\n normalizedRequest,\n )\n }\n\n public getAllAccessRequirementStatusesQueryKey() {\n return this.getKey(ACCESS_REQUIREMENT_QUERY_KEY, 'status')\n }\n\n public getAccessRequirementStatusQueryKey(id: string) {\n return this.getKey(ACCESS_REQUIREMENT_QUERY_KEY, 'status', id)\n }\n\n public getDataAccessRequestForUpdateQueryKey(accessRequirementId: string) {\n return this.getKey(\n ACCESS_REQUIREMENT_QUERY_KEY,\n accessRequirementId,\n 'dataAccessRequestForUpdate',\n )\n }\n\n public getAccessRequirementResearchProjectQueryKey(\n accessRequirementId: string,\n ) {\n return this.getKey(\n ACCESS_REQUIREMENT_QUERY_KEY,\n accessRequirementId,\n 'researchProject',\n )\n }\n\n public getSortedAccessRequirementsAndStatusQueryKey(\n accessRequirementIds?: string[],\n ) {\n return this.getKey(\n ACCESS_REQUIREMENT_QUERY_KEY,\n 'sortedByStatus',\n accessRequirementIds,\n )\n }\n\n // Returns key that can be used to invalidate all data access submission queries\n public getDataAccessSubmissionQueryKey() {\n return this.getKey(DATA_ACCESS_SUBMISSION_QUERY_KEY)\n }\n\n public getDataAccessSubmissionByIdQueryKey(id: string) {\n return this.getKey(DATA_ACCESS_SUBMISSION_QUERY_KEY, 'byId', id)\n }\n\n public searchDataAccessSubmissionQueryKey(params?: SubmissionSearchRequest) {\n return this.getKey(\n DATA_ACCESS_SUBMISSION_QUERY_KEY,\n 'search',\n 'reviewer',\n params,\n )\n }\n\n public searchDataAccessSubmissionUserRequestsQueryKey(\n params?: UserSubmissionSearchRequest,\n ) {\n return this.getKey(\n DATA_ACCESS_SUBMISSION_QUERY_KEY,\n 'search',\n 'user',\n params,\n )\n }\n\n public getApprovedSubmissionInfoQueryKey(\n request?: SubmissionInfoPageRequest,\n ) {\n return this.getKey('approvedSubmissionInfo', request)\n }\n\n public getValidationSchemaQueryKey(schema$id: string) {\n return this.getKey('validationSchema', schema$id)\n }\n\n public getPresignedUrlContentQueryKey(\n fileHandle: FileHandle,\n request: BatchFileRequest,\n maxSizeBytes?: number,\n ) {\n return this.getKey('presignedUrlContent', fileHandle, request, maxSizeBytes)\n }\n\n public getPresignedUrlFromFHAContentQueryKey(\n fileHandleAssociation: FileHandleAssociation,\n forceAnonymous: boolean,\n ) {\n if (forceAnonymous) {\n return this.getKeyAnonymous(\n 'presignedUrlContentFromFHA',\n fileHandleAssociation,\n )\n } else {\n return this.getKey('presignedUrlContentFromFHA', fileHandleAssociation)\n }\n }\n\n public getStablePresignedUrlFromFHAQueryKey(\n fileHandleAssociation: FileHandleAssociation,\n forceAnonymous: boolean,\n ) {\n if (forceAnonymous) {\n return this.getKeyAnonymous(\n 'stablePresignedUrlFromFHA',\n fileHandleAssociation,\n )\n } else {\n return this.getKey('stablePresignedUrlFromFHA', fileHandleAssociation)\n }\n }\n\n public getProfileImageQueryKey(userId: string) {\n return this.getKey('profileImageData', userId)\n }\n\n public getDefaultUploadDestinationQueryKey(containerEntityId: string) {\n return this.getKey('uploadDestination', 'default', containerEntityId)\n }\n\n public getUploadDestinationForStorageLocationQueryKey(\n parentId: string,\n storageLocationId: number,\n ) {\n return this.getKey('uploadDestination', parentId, storageLocationId)\n }\n\n public getForumModeratorsQueryKey(forumId: string) {\n return this.getKey('moderators', forumId)\n }\n\n public getForumMetadataQueryKey(forumId: string) {\n return this.getKey('forumThread', forumId, 'metadata')\n }\n\n public getAllForumThreadsQueryKey(forumId: string) {\n return this.getKey('forumthread', forumId)\n }\n\n public getForumThreadsQueryKey(\n forumId: string,\n limit: number,\n sort: DiscussionThreadOrder,\n ascending: boolean,\n filter?: DiscussionFilter,\n ) {\n return this.getKey('forumthread', forumId, {\n limit,\n filter,\n sort,\n ascending,\n })\n }\n\n public getForumSearchQueryKey(\n forumId: string,\n discussionSearchRequest: DiscussionSearchRequest,\n ) {\n return this.getKey(\n 'forumthread',\n 'search',\n forumId,\n discussionSearchRequest,\n )\n }\n\n public getAllRepliesQueryKey(threadId: string) {\n return this.getKey('reply', threadId)\n }\n\n public getRepliesQueryKey(\n threadId: string,\n ascending?: boolean,\n limit?: number,\n sort?: DiscussionReplyOrder,\n filter?: DiscussionFilter,\n ) {\n return this.getKey('reply', threadId, { limit, filter, sort, ascending })\n }\n\n public getReplyQueryKey(\n threadId: string,\n replyId: string,\n messageKey: string,\n ) {\n return this.getKey('reply', threadId, { replyId, messageKey })\n }\n\n public getThreadQueryKey(threadId: string) {\n return this.getKey('thread', threadId)\n }\n\n public getThreadBodyQueryKey(threadId: string, messageKey: string) {\n return this.getKey('thread', threadId, messageKey)\n }\n\n public getMyOAuthClientsQueryKey() {\n return this.getKey('oauthClient')\n }\n\n public getOAuthClientQueryKey(clientId: string) {\n return this.getKey('oauthClient', clientId)\n }\n\n public getOAuthClientAclQueryKey(clientId: string) {\n return this.getKey('oauthClient', clientId, 'acl')\n }\n\n public getHasCurrentUserAuthorizedOAuthClientQueryKey(\n request: OIDCAuthorizationRequest,\n ) {\n return this.getKey('currentUserHasAuthorizedClient', request)\n }\n\n public getDOIAssociationQueryKey(request: GetRepoV1DoiAssociationRequest) {\n return this.getKey(['doi', request, 'association'])\n }\n\n public getDOIQueryKey(request: GetRepoV1DoiRequest) {\n return this.getKey(['doi', request])\n }\n\n public getAllSubscribersQueryKey() {\n return this.getKey('subscribers')\n }\n\n public getSubscribersQueryKey(\n objectId: string,\n objectType: SubscriptionObjectType,\n ) {\n return this.getKey('subscribers', objectId, objectType)\n }\n\n public getBaseSubscriptionQueryKey() {\n return this.getKey('subscription')\n }\n\n public getAllSubscriptionsQueryKey(query?: SubscriptionQuery) {\n return this.getKey('subscription', 'all', query)\n }\n\n public getSubscriptionQueryKey(\n objectId: string,\n objectType: SubscriptionObjectType,\n ) {\n return this.getKey('subscription', objectId, objectType)\n }\n\n public getSearchEntitiesQueryKey(query: SearchQuery) {\n return this.getKey('searchEntities', query)\n }\n\n public getSuggestionQueryKey(query: SuggestionQuery) {\n return this.getKey('suggestion', query)\n }\n\n public getTeamQueryKey(teamId: string) {\n return this.getKey('team', teamId)\n }\n\n public getTeamListQueryKey(teamIds: string) {\n return this.getKey('team', teamIds, 'teamList')\n }\n\n public getChallengeTeamListQueryKey(challengeId: string) {\n return this.getKey('challenge', challengeId, 'teamList')\n }\n\n public getTeamMembersQueryKey(teamId: string) {\n return this.getKey('team', teamId, 'membersList')\n }\n public getTeamMemberCountQueryKey(teamId: string) {\n return this.getKey('team', teamId, 'memberCount')\n }\n\n public getIsUserMemberOfTeamQueryKey(teamId: string, userId: string) {\n return this.getKey('team', teamId, 'member', userId)\n }\n\n public getMembershipStatusQueryKey(teamId: string, userId?: string) {\n return this.getKey('team', teamId, 'membershipStatus', userId)\n }\n\n public getAllOpenMembershipInvitationsForUserQueryKey(userId: string) {\n return this.getKey('openMembershipInvitations', userId)\n }\n\n public getTeamAccessRequirementsQueryKey(teamId: string) {\n return this.getKey('team', teamId, 'accessRequirements')\n }\n\n public getFavoritesQueryKey() {\n return this.getKey('favorites')\n }\n\n public getUserFavoritesQueryKey(\n sort: FavoriteSortBy,\n sortDirection: FavoriteSortDirection,\n ) {\n return this.getKey('favorites', sort, sortDirection)\n }\n\n public getUserFavoritesInfiniteQueryKey(\n sort: FavoriteSortBy,\n sortDirection: FavoriteSortDirection,\n ) {\n return this.getKey('favorites', 'infinite', sort, sortDirection)\n }\n public getTrashCanItemsQueryKey() {\n return this.getKey('trashCan', 'list')\n }\n\n public getUserChallengesQueryKey(userId: string) {\n return this.getKey('userChallenges', userId)\n }\n public getPassingRecordQueryKey(userId: string) {\n return this.getKey('passingRecord', userId)\n }\n\n public getAllSubmissionTeamsQueryKeys() {\n return this.getKey('submissionTeams')\n }\n\n public getSubmissionTeamsQueryKey(\n challengeId: string,\n limit?: number,\n offset?: number,\n ) {\n return this.getKey('submissionTeams', challengeId, { limit, offset })\n }\n\n public getUserProjectsQueryKey(\n userId: string,\n projectParams: GetProjectsParameters,\n ) {\n return this.getKey('userProjects', userId, projectParams)\n }\n\n public getAllUserTeamsQueryKey() {\n return this.getKey('userTeams')\n }\n\n public getUserTeamsQueryKey(userId: string) {\n return this.getKey('userTeams', userId)\n }\n\n public getPersonalAccessTokensQueryKey() {\n return this.getKey('personalAccessTokens')\n }\n\n public getMyProjectsQueryKey(params?: GetProjectsParameters) {\n return this.getKey('myProjects', params)\n }\n\n public getNotificationEmailQueryKey() {\n return this.getKey('notificationEmail')\n }\n\n public getCurrentUserProfileQueryKey() {\n return this.getKey('user', 'current', 'profile')\n }\n\n public getUserBundleQueryKey(userId: string, mask: number) {\n // Convert the mask into an object, where the field is only included (with value true) iff the bit in the mask is set\n const maskObject = {\n ...((mask & USER_BUNDLE_MASK_USER_PROFILE) !== 0\n ? { isUserProfile: true }\n : undefined),\n ...((mask & USER_BUNDLE_MASK_ORCID) !== 0\n ? { isOrcId: true }\n : undefined),\n ...((mask & USER_BUNDLE_MASK_VERIFICATION_SUBMISSION) !== 0\n ? { isVerificationSubmission: true }\n : undefined),\n ...((mask & USER_BUNDLE_MASK_IS_CERTIFIED) !== 0\n ? { isCertified: true }\n : undefined),\n ...((mask & USER_BUNDLE_MASK_IS_VERIFIED) !== 0\n ? { isVerified: true }\n : undefined),\n ...((mask & USER_BUNDLE_MASK_IS_ACT_MEMBER) !== 0\n ? { isACT: true }\n : undefined),\n ...((mask & USER_BUNDLE_MASK_IS_AR_REVIEWER) !== 0\n ? { isARReviewer: true }\n : undefined),\n }\n return this.getKey('user', userId, 'bundle', maskObject)\n }\n\n public getUserProfileQueryKey(userId: string) {\n return this.getKey('user', userId, 'profile')\n }\n\n public getPrincipalAliasQueryKey(request: PrincipalAliasRequest) {\n return this.getKey('principalAlias', request)\n }\n\n public getUserGroupHeaderQueryKey(id: string) {\n return this.getKey('userGroupHeader', id)\n }\n\n public getUserGroupHeaderBatchQueryKey(id: string[]) {\n return this.getKey('userGroupHeaderBatch', id)\n }\n public getUserGroupHeaderWithAliasQueryKey(aliases: string[]) {\n return this.getKey('userGroupHeader', aliases)\n }\n\n public getUserGroupHeaderSearchQueryKey(\n prefix: string,\n filter?: TYPE_FILTER,\n ) {\n return this.getKey('userGroupHeader', 'search', prefix, filter)\n }\n\n public getTwoFactorAuthStatusQueryKey() {\n return this.getKey('twoFactorAuthStatus')\n }\n\n public getBatchOfFiles(request: BatchFileRequest) {\n return this.getKey('fileBatch', request)\n }\n\n public getChatAgentTraceKey(request: TraceEventsRequest) {\n return this.getKey('chatbotTraceEvents', request)\n }\n\n public getTermsOfServiceInfoKey() {\n return this.getKey('termsOfServiceInfo')\n }\n\n public getTermsOfServiceStatus() {\n return this.getKey('termsOfServiceStatus')\n }\n\n public getRealmPrincipalsQueryKey() {\n return this.getKey('realmPrincipals')\n }\n\n public getCurrentRealmQueryKey() {\n return this.getKey('currentRealm')\n }\n\n public getRealmByIdQueryKey(realmId: string) {\n return this.getKey('realm', realmId)\n }\n\n public getProjectStorageUsageKey(projectId: string) {\n return this.getKey('projectstorageusage', projectId)\n }\n public getPaginatedDockerTagQueryKey(\n id: string,\n offset: string,\n limit: string,\n sort: string,\n sortDirection: string,\n ) {\n return this.getKey('dockerTag', id, offset, limit, sort, sortDirection)\n }\n\n public getDefaultColumnModelsQueryKey(\n viewEntityType?: ViewEntityType,\n viewTypeMask?: number,\n ) {\n return this.getKey('defaultColumnModels', viewEntityType, viewTypeMask)\n }\n\n public getAnnotationColumnModelsQueryKey(\n request: Omit<ViewColumnModelRequest, 'nextPageToken'>,\n ) {\n return this.getKey('annotationColumnModels', request)\n }\n\n public getEvaluationByIdQueryKey(evalId: string) {\n return this.getKey('evaluation', evalId)\n }\n public getEvaluationsQueryKey(request: GetEvaluationParameters) {\n return this.getKey('evaluation', 'paginated', request)\n }\n\n public getEvaluationRoundsQueryKey(evaluationId: string) {\n return this.getKey('evaluation', evaluationId, 'rounds')\n }\n\n public chatAgentSessionHistoryQueryKey(params?: SessionHistoryRequest) {\n return this.getKey('chatHistory', params)\n }\n\n public getWebhooksQueryKey() {\n return this.getKey('webhooks')\n }\n\n public getGithubLatestTagKey(repoOwner: string, repoName: string) {\n return this.getKey('githubLatestTag', repoOwner, repoName)\n }\n\n public getFileContentKey(fileURL?: string) {\n return this.getKey('fileContent', fileURL)\n }\n\n public getPortalKey(portalId: string) {\n return this.getKey('portal', portalId)\n }\n\n public getPortalPermissionsKey(portalId: string) {\n return this.getKey('portal', portalId, 'permissions')\n }\n\n public getPortalAclQueryKey(portalId: string) {\n return this.getKey('portal', portalId, 'acl')\n }\n\n public getListPortalsQueryKey() {\n return this.getKey('portal', 'list')\n }\n\n public getGridSessionKey(sessionId: string) {\n return this.getKey('gridSession', sessionId)\n }\n\n public getGridSessionListKey(request?: ListGridSessionsRequest) {\n return this.getKey('gridSession', 'list', request)\n }\n\n public getCurationTaskKey(taskId: number) {\n return this.getKey('curationTask', taskId)\n }\n\n public getCurationTaskListKey(projectId: string) {\n return this.getKey('curationTask', 'list', projectId)\n }\n\n public getCsvPreviewQueryKey(request: UploadToTablePreviewRequest) {\n return this.getKey('csvPreview', request)\n }\n\n public getAddToDownloadListStatsQueryKey(\n addToDownloadListStatsRequest: AddToDownloadListStatsRequest,\n ) {\n // Retrieve the entityId from the request so that changes to the entity can invalidate this query\n const entityId =\n addToDownloadListStatsRequest.request?.parentId ??\n parseEntityIdFromSqlStatement(\n addToDownloadListStatsRequest?.request?.query?.sql ?? '',\n )\n return this.getKey(\n entityQueryKeyObjects.entity(entityId),\n 'addToDownloadListStats',\n addToDownloadListStatsRequest,\n )\n }\n\n public getAsyncJobStatusQueryKey(jobId: string) {\n return this.getKey('asyncJobStatus', jobId)\n }\n}\n"],"names":["entityQueryKeyObjects","id","versionNumber","key","limit","offset","bundleRequest","request","infinite","queryBundleRequest","references","downloadListQueryKeys","ACCESS_REQUIREMENT_QUERY_KEY","ROOT_WIKI_PAGE_KEY_QUERY_KEY","WIKI_PAGE_QUERY_KEY","DATA_ACCESS_SUBMISSION_QUERY_KEY","KeyFactory","accessToken","args","hashCode","removeTrailingUndefinedElements","entityLookupRequest","includeDerivedAnnotations","version","alias","ownerObjectType","ownerObjectId","wikiPageKey","ownerId","wikiPageId","forceAnonymous","params","submissionId","normalizeNumericId","normalizedRequest","accessRequirementId","accessRequirementIds","schema$id","fileHandle","maxSizeBytes","fileHandleAssociation","userId","containerEntityId","parentId","storageLocationId","forumId","sort","ascending","filter","discussionSearchRequest","threadId","replyId","messageKey","clientId","objectId","objectType","query","teamId","teamIds","challengeId","sortDirection","projectParams","mask","maskObject","USER_BUNDLE_MASK_USER_PROFILE","USER_BUNDLE_MASK_ORCID","USER_BUNDLE_MASK_VERIFICATION_SUBMISSION","USER_BUNDLE_MASK_IS_CERTIFIED","USER_BUNDLE_MASK_IS_VERIFIED","USER_BUNDLE_MASK_IS_ACT_MEMBER","USER_BUNDLE_MASK_IS_AR_REVIEWER","aliases","prefix","realmId","projectId","viewEntityType","viewTypeMask","evalId","evaluationId","repoOwner","repoName","fileURL","portalId","sessionId","taskId","addToDownloadListStatsRequest","entityId","parseEntityIdFromSqlStatement","jobId"],"mappings":"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"}
1
+ {"version":3,"file":"KeyFactory.js","sources":["../../src/synapse-queries/KeyFactory.ts"],"sourcesContent":["import { removeTrailingUndefinedElements } from '@/utils/functions/ArrayUtils'\nimport { parseEntityIdFromSqlStatement } from '@/utils/functions/index'\nimport { hashCode, normalizeNumericId } from '@/utils/functions/StringUtils'\nimport {\n USER_BUNDLE_MASK_IS_ACT_MEMBER,\n USER_BUNDLE_MASK_IS_AR_REVIEWER,\n USER_BUNDLE_MASK_IS_CERTIFIED,\n USER_BUNDLE_MASK_IS_VERIFIED,\n USER_BUNDLE_MASK_ORCID,\n USER_BUNDLE_MASK_USER_PROFILE,\n USER_BUNDLE_MASK_VERIFICATION_SUBMISSION,\n} from '@/utils/SynapseConstants'\nimport {\n AddToDownloadListStatsRequest,\n DiscussionSearchRequest,\n EntityLookupRequest,\n GetRepoV1DoiAssociationRequest,\n GetRepoV1DoiRequest,\n ListCurationTaskRequest,\n ListGridSessionsRequest,\n SuggestionQuery,\n UploadToTablePreviewRequest,\n type UserSubmissionSearchRequest,\n ViewEntityType,\n} from '@sage-bionetworks/synapse-client'\nimport { OIDCAuthorizationRequest } from '@sage-bionetworks/synapse-client/generated/models/OIDCAuthorizationRequest'\nimport { PrincipalAliasRequest } from '@sage-bionetworks/synapse-client/generated/models/PrincipalAliasRequest'\nimport {\n AccessApprovalSearchRequest,\n AccessRequirementSearchRequest,\n AvailableFilesRequest,\n BatchFileRequest,\n DiscussionFilter,\n DiscussionReplyOrder,\n DiscussionThreadOrder,\n EntityBundleRequest,\n EntityChildrenRequest,\n FavoriteSortBy,\n FavoriteSortDirection,\n FileHandle,\n FileHandleAssociation,\n GetEvaluationParameters,\n GetProjectsParameters,\n ObjectType,\n QueryBundleRequest,\n ReferenceList,\n RestrictionInformationBatchRequest,\n RestrictionInformationRequest,\n SearchQuery,\n SessionHistoryRequest,\n SubmissionInfoPageRequest,\n SubmissionSearchRequest,\n SubscriptionObjectType,\n SubscriptionQuery,\n TraceEventsRequest,\n TYPE_FILTER,\n ViewColumnModelRequest,\n WikiPageKey,\n} from '@sage-bionetworks/synapse-types'\nimport { QueryKey } from '@tanstack/react-query'\n\nconst entityQueryKeyObjects = {\n /* Query key for all entities */\n all: { objectType: 'entity' },\n // Data for an entity\n entity: (id?: string, versionNumber?: string | number) => {\n const key: Record<string, unknown> = {\n ...entityQueryKeyObjects.all,\n id: id,\n }\n if (versionNumber) {\n key['version'] = versionNumber\n }\n return key\n },\n // List of Entity Versions\n versions: (id: string) => [entityQueryKeyObjects.entity(id), 'versions'],\n versionsQuery: (id: string, limit: number, offset: number) => [\n ...entityQueryKeyObjects.versions(id),\n {\n limit: limit,\n offset: offset,\n },\n ],\n // JSON Representation of an entity\n json: (id: string, versionNumber?: number) => [\n entityQueryKeyObjects.entity(id, versionNumber),\n 'json',\n ],\n // actions required for all entities\n allActionsRequired: () => [entityQueryKeyObjects.all, 'actionsRequired'],\n // entity actions required\n actionsRequired: (id: string) => [\n entityQueryKeyObjects.entity(id),\n 'actionsRequired',\n ],\n entityForum: (id: string) => [\n entityQueryKeyObjects.entity(id),\n 'entityForum',\n ],\n entityChallenge: (id: string) => [\n entityQueryKeyObjects.entity(id),\n 'entityChallenge',\n ],\n activity: (id: string, versionNumber?: number) => [\n entityQueryKeyObjects.entity(id, versionNumber),\n 'activity',\n ],\n // Entity path\n path: (id: string) => [entityQueryKeyObjects.entity(id), 'path'],\n // Entity bundle\n bundle: (\n id: string | undefined,\n versionNumber: string | number | undefined,\n bundleRequest: EntityBundleRequest,\n ) => [\n entityQueryKeyObjects.entity(id, versionNumber),\n 'entityBundle',\n bundleRequest,\n ],\n children: (request: EntityChildrenRequest, infinite: boolean) => [\n entityQueryKeyObjects.entity(request.parentId ?? 'root'),\n 'children',\n { isInfinite: infinite, entityChildrenRequest: request },\n ],\n\n tableQueryResult: (\n queryBundleRequest: QueryBundleRequest,\n infinite: boolean,\n ) => [\n entityQueryKeyObjects.entity(queryBundleRequest.entityId),\n { type: 'tableQueryResult' },\n {\n isInfinite: infinite,\n tableQueryBundleRequest: queryBundleRequest,\n },\n ],\n\n tableQueryResultWithAsyncStatus: (\n queryBundleRequest: QueryBundleRequest,\n infinite: boolean,\n ) => [\n entityQueryKeyObjects.entity(queryBundleRequest.entityId),\n { type: 'tableQueryResult', withAsyncStatus: true },\n {\n isInfinite: infinite,\n tableQueryBundleRequest: queryBundleRequest,\n },\n ],\n\n fullTableQueryResult: (queryBundleRequest: QueryBundleRequest) => [\n entityQueryKeyObjects.entity(queryBundleRequest.entityId),\n { type: 'tableQueryResult', allResults: true },\n { tableQueryBundleRequest: queryBundleRequest },\n ],\n\n boundJSONSchema: (id: string) => [\n entityQueryKeyObjects.entity(id),\n 'boundJSONSchema',\n ],\n\n schemaValidationResults: (id: string) => [\n entityQueryKeyObjects.entity(id),\n 'schemaValidationResults',\n ],\n header: (id: string, versionNumber?: number) => [\n entityQueryKeyObjects.entity(id, versionNumber),\n 'entityHeaders',\n ],\n headers: (references: ReferenceList) => [\n entityQueryKeyObjects.all,\n 'entityHeaders',\n references,\n ],\n accessRequirements: (id: string) => [\n entityQueryKeyObjects.entity(id),\n 'accessRequirements',\n ],\n}\n\nconst downloadListQueryKeys = {\n /* Key used to invalidate all download list queries */\n base: 'downloadList',\n availableFiles: (request: AvailableFilesRequest) => [\n downloadListQueryKeys.base,\n 'availableFiles',\n request,\n ],\n availableFilesInfinite: (request: AvailableFilesRequest) => [\n ...downloadListQueryKeys.availableFiles(request),\n 'infinite',\n ],\n getActionsRequired: () => [downloadListQueryKeys.base, 'actionsRequired'],\n getActionsRequiredInfinite: () => [\n ...downloadListQueryKeys.getActionsRequired(),\n 'infinite',\n ],\n getStatistics: () => [downloadListQueryKeys.base, 'statistics'],\n}\n\nconst ACCESS_REQUIREMENT_QUERY_KEY = 'accessRequirement'\nconst ROOT_WIKI_PAGE_KEY_QUERY_KEY = 'rootWikiPageKey'\nconst WIKI_PAGE_QUERY_KEY = 'wikiPage'\nconst DATA_ACCESS_SUBMISSION_QUERY_KEY = 'dataAccessSubmission'\n\n/**\n * Returns a react-query Query Key.\n *\n * Co-location of react-query keys for queries related to Synapse data. Two objectives of this strategy are\n * - minimize the risk of inappropriate cache key collisions\n * - simplify clearing the appropriate query caches when the entity data is updated\n *\n * For more information, see https://tkdodo.eu/blog/leveraging-the-query-function-context\n */\nexport class KeyFactory {\n accessToken: string | undefined = undefined\n constructor(accessToken: string | undefined) {\n this.accessToken = accessToken\n }\n\n /**\n * Returns a react-query Query Key. Prepends the key with the access token, so that the key is unique per-session.\n * Also removes trailing undefined elements from the passed args, so a key can be generated for query invalidation.\n * @param args\n * @private\n */\n private getKey(...args: unknown[]): QueryKey {\n return [\n this.accessToken == null\n ? 'anonymous'\n : btoa(String(hashCode(this.accessToken))),\n ...removeTrailingUndefinedElements(args),\n ]\n }\n\n private getKeyAnonymous(...args: unknown[]): QueryKey {\n return ['anonymous', ...removeTrailingUndefinedElements(args)]\n }\n\n public getFeatureFlagQueryKey() {\n return this.getKey('featureflag')\n }\n\n public getAllEntityDataQueryKey() {\n return this.getKey(entityQueryKeyObjects.all)\n }\n\n public getEntityQueryKey(id: string) {\n return this.getKey(entityQueryKeyObjects.entity(id))\n }\n\n public getEntityActivityQueryKey(id: string, versionNumber?: number) {\n return this.getKey(...entityQueryKeyObjects.activity(id, versionNumber))\n }\n\n public getAllEntityActionsRequiredQueryKey() {\n return this.getKey(...entityQueryKeyObjects.allActionsRequired())\n }\n\n public getEntityActionsRequiredQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.actionsRequired(id))\n }\n\n public getEntityChallengeQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.entityChallenge(id))\n }\n\n public getForumQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.entityForum(id))\n }\n\n public getEntityVersionQueryKey(\n id?: string,\n versionNumber?: string | number,\n ) {\n return this.getKey(entityQueryKeyObjects.entity(id, versionNumber))\n }\n\n public getEntityLookupQueryKey(entityLookupRequest: EntityLookupRequest) {\n return this.getKey(\n entityQueryKeyObjects.all,\n 'entityLookup',\n entityLookupRequest,\n )\n }\n\n public getPaginatedEntityVersionsQueryKey(\n id: string,\n limit: number,\n offset: number,\n ) {\n return this.getKey(\n ...entityQueryKeyObjects.versionsQuery(id, limit, offset),\n )\n }\n public getEntityVersionsQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.versions(id))\n }\n\n public getEntityChildrenQueryKey(\n request: EntityChildrenRequest,\n infinite: boolean,\n ) {\n return this.getKey(...entityQueryKeyObjects.children(request, infinite))\n }\n\n public getEntityJsonQueryKey(\n id: string,\n versionNumber: number | undefined,\n includeDerivedAnnotations: boolean,\n ) {\n return this.getKey(...entityQueryKeyObjects.json(id, versionNumber), {\n includeDerivedAnnotations,\n })\n }\n\n public getEntityBundleQueryKey(\n id: string | undefined,\n version: number | undefined,\n bundleRequest: EntityBundleRequest,\n ) {\n return this.getKey(\n ...entityQueryKeyObjects.bundle(id, version, bundleRequest),\n )\n }\n\n public getEntityPathQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.path(id))\n }\n\n public getEntityACLQueryKey(id: string) {\n return this.getKey(entityQueryKeyObjects.entity(id), 'acl')\n }\n\n public getEntityAliasQueryKey(alias: string) {\n return this.getKey(entityQueryKeyObjects.all, 'alias', alias)\n }\n\n public getEntityEvaluationsQueryKey(id: string) {\n return this.getKey(entityQueryKeyObjects.entity(id), 'evaluations')\n }\n\n public getEntityPermissionsQueryKey(id: string) {\n return this.getKey(entityQueryKeyObjects.entity(id), 'permissions')\n }\n\n public getEntityBoundJsonSchemaQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.boundJSONSchema(id))\n }\n\n public getEntitySchemaValidationResultsQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.schemaValidationResults(id))\n }\n\n public getEntityHeaderQueryKey(id: string, versionNumber?: number) {\n return this.getKey(...entityQueryKeyObjects.header(id, versionNumber))\n }\n\n public getEntityAccessRequirementsQueryKey(id: string) {\n return this.getKey(...entityQueryKeyObjects.accessRequirements(id))\n }\n\n public getEntityHeadersQueryKey(references: ReferenceList) {\n // TODO: invalidations should check all references\n return this.getKey(...entityQueryKeyObjects.headers(references))\n }\n\n public getAllTableQueryResultsKey() {\n return this.getKey(entityQueryKeyObjects.all, {\n type: 'tableQueryResult',\n })\n }\n\n public getEntityTableQueryResultQueryKey(\n queryBundleRequest: QueryBundleRequest,\n infinite: boolean,\n ) {\n return this.getKey(\n ...entityQueryKeyObjects.tableQueryResult(queryBundleRequest, infinite),\n )\n }\n\n public getEntityTableQueryResultWithAsyncStatusQueryKey(\n queryBundleRequest: QueryBundleRequest,\n infinite: boolean,\n ) {\n return this.getKey(\n ...entityQueryKeyObjects.tableQueryResultWithAsyncStatus(\n queryBundleRequest,\n infinite,\n ),\n )\n }\n\n public getRootWikiPageKeyQueryKey(\n ownerObjectType: ObjectType,\n ownerObjectId: string,\n ) {\n return this.getKey(\n ROOT_WIKI_PAGE_KEY_QUERY_KEY,\n ownerObjectType,\n ownerObjectId,\n )\n }\n\n public getWikiPageQueryKey(wikiPageKey: WikiPageKey) {\n return this.getKey(\n WIKI_PAGE_QUERY_KEY,\n wikiPageKey.ownerObjectType,\n wikiPageKey.ownerObjectId,\n wikiPageKey.wikiPageId,\n )\n }\n\n public getWikiPageKey(ownerId: string, wikiPageId: string) {\n return this.getKey('ownerId', ownerId, 'wikiPageId', wikiPageId)\n }\n\n public getWikiAttachmentsQueryKey(wikiPageKey: WikiPageKey) {\n return this.getKey(\n WIKI_PAGE_QUERY_KEY,\n wikiPageKey.ownerObjectType,\n wikiPageKey.ownerObjectId,\n wikiPageKey.wikiPageId,\n 'attachments',\n )\n }\n\n public getFullTableQueryResultQueryKey(\n queryBundleRequest: QueryBundleRequest,\n forceAnonymous: boolean,\n ) {\n if (forceAnonymous) {\n return this.getKeyAnonymous(\n ...entityQueryKeyObjects.fullTableQueryResult(queryBundleRequest),\n )\n } else {\n return this.getKey(\n ...entityQueryKeyObjects.fullTableQueryResult(queryBundleRequest),\n )\n }\n }\n\n public getDownloadListBaseQueryKey() {\n return this.getKey(downloadListQueryKeys.base)\n }\n\n public getDownloadListAvailableFilesQueryKey(request: AvailableFilesRequest) {\n return this.getKey(...downloadListQueryKeys.availableFiles(request))\n }\n\n public getDownloadListAvailableFilesInfiniteQueryKey(\n request: AvailableFilesRequest,\n ) {\n return this.getKey(...downloadListQueryKeys.availableFilesInfinite(request))\n }\n\n public getDownloadListActionsRequiredQueryKey() {\n return this.getKey(...downloadListQueryKeys.getActionsRequired())\n }\n public getDownloadListActionsRequiredInfiniteQueryKey() {\n return this.getKey(...downloadListQueryKeys.getActionsRequiredInfinite())\n }\n\n public getDownloadListStatisticsQueryKey() {\n return this.getKey(...downloadListQueryKeys.getStatistics())\n }\n\n public searchAccessApprovalsQueryKey(params?: AccessApprovalSearchRequest) {\n return this.getKey('accessApprovalSearch', params)\n }\n\n public getUserAccessApprovalQueryKey(submissionId: string) {\n return this.getKey('accessApproval', submissionId)\n }\n\n public getAccessRequirementQueryKey(id?: string) {\n return this.getKey(ACCESS_REQUIREMENT_QUERY_KEY, id)\n }\n\n public getAccessRequirementAclQueryKey(id: string) {\n return this.getKey(ACCESS_REQUIREMENT_QUERY_KEY, id, 'acl')\n }\n\n public searchAccessRequirementsQueryKey(\n params?: AccessRequirementSearchRequest,\n ) {\n return this.getKey(ACCESS_REQUIREMENT_QUERY_KEY, 'search', params)\n }\n\n public getAccessRequirementWikiPageKey(id: string) {\n return this.getKey(ACCESS_REQUIREMENT_QUERY_KEY, id, 'wikiPageKey')\n }\n\n public getRestrictionInformationQueryKey(\n request: RestrictionInformationRequest,\n ) {\n return this.getKey(ACCESS_REQUIREMENT_QUERY_KEY, 'restrictionInformation', {\n ...request,\n // The ID may be a number, or a stringified number, or a synID. Transform to just a number to normalize the cache.\n objectId: normalizeNumericId(request.objectId),\n })\n }\n\n public getRestrictionInformationBatchQueryKey(\n request: RestrictionInformationBatchRequest,\n ) {\n const normalizedRequest: RestrictionInformationBatchRequest = {\n ...request,\n // The IDs may be number, or stringified numbers, or synIDs. Transform to normalize the cache.\n objectIds: request.objectIds.map(normalizeNumericId).map(String),\n }\n return this.getKey(\n ACCESS_REQUIREMENT_QUERY_KEY,\n 'restrictionInformationBatch',\n normalizedRequest,\n )\n }\n\n public getAllAccessRequirementStatusesQueryKey() {\n return this.getKey(ACCESS_REQUIREMENT_QUERY_KEY, 'status')\n }\n\n public getAccessRequirementStatusQueryKey(id: string) {\n return this.getKey(ACCESS_REQUIREMENT_QUERY_KEY, 'status', id)\n }\n\n public getDataAccessRequestForUpdateQueryKey(accessRequirementId: string) {\n return this.getKey(\n ACCESS_REQUIREMENT_QUERY_KEY,\n accessRequirementId,\n 'dataAccessRequestForUpdate',\n )\n }\n\n public getAccessRequirementResearchProjectQueryKey(\n accessRequirementId: string,\n ) {\n return this.getKey(\n ACCESS_REQUIREMENT_QUERY_KEY,\n accessRequirementId,\n 'researchProject',\n )\n }\n\n public getSortedAccessRequirementsAndStatusQueryKey(\n accessRequirementIds?: string[],\n ) {\n return this.getKey(\n ACCESS_REQUIREMENT_QUERY_KEY,\n 'sortedByStatus',\n accessRequirementIds,\n )\n }\n\n // Returns key that can be used to invalidate all data access submission queries\n public getDataAccessSubmissionQueryKey() {\n return this.getKey(DATA_ACCESS_SUBMISSION_QUERY_KEY)\n }\n\n public getDataAccessSubmissionByIdQueryKey(id: string) {\n return this.getKey(DATA_ACCESS_SUBMISSION_QUERY_KEY, 'byId', id)\n }\n\n public searchDataAccessSubmissionQueryKey(params?: SubmissionSearchRequest) {\n return this.getKey(\n DATA_ACCESS_SUBMISSION_QUERY_KEY,\n 'search',\n 'reviewer',\n params,\n )\n }\n\n public searchDataAccessSubmissionUserRequestsQueryKey(\n params?: UserSubmissionSearchRequest,\n ) {\n return this.getKey(\n DATA_ACCESS_SUBMISSION_QUERY_KEY,\n 'search',\n 'user',\n params,\n )\n }\n\n public getApprovedSubmissionInfoQueryKey(\n request?: SubmissionInfoPageRequest,\n ) {\n return this.getKey('approvedSubmissionInfo', request)\n }\n\n public getValidationSchemaQueryKey(schema$id: string) {\n return this.getKey('validationSchema', schema$id)\n }\n\n public getPresignedUrlContentQueryKey(\n fileHandle: FileHandle,\n request: BatchFileRequest,\n maxSizeBytes?: number,\n ) {\n return this.getKey('presignedUrlContent', fileHandle, request, maxSizeBytes)\n }\n\n public getPresignedUrlFromFHAContentQueryKey(\n fileHandleAssociation: FileHandleAssociation,\n forceAnonymous: boolean,\n ) {\n if (forceAnonymous) {\n return this.getKeyAnonymous(\n 'presignedUrlContentFromFHA',\n fileHandleAssociation,\n )\n } else {\n return this.getKey('presignedUrlContentFromFHA', fileHandleAssociation)\n }\n }\n\n public getStablePresignedUrlFromFHAQueryKey(\n fileHandleAssociation: FileHandleAssociation,\n forceAnonymous: boolean,\n ) {\n if (forceAnonymous) {\n return this.getKeyAnonymous(\n 'stablePresignedUrlFromFHA',\n fileHandleAssociation,\n )\n } else {\n return this.getKey('stablePresignedUrlFromFHA', fileHandleAssociation)\n }\n }\n\n public getProfileImageQueryKey(userId: string) {\n return this.getKey('profileImageData', userId)\n }\n\n public getDefaultUploadDestinationQueryKey(containerEntityId: string) {\n return this.getKey('uploadDestination', 'default', containerEntityId)\n }\n\n public getUploadDestinationForStorageLocationQueryKey(\n parentId: string,\n storageLocationId: number,\n ) {\n return this.getKey('uploadDestination', parentId, storageLocationId)\n }\n\n public getForumModeratorsQueryKey(forumId: string) {\n return this.getKey('moderators', forumId)\n }\n\n public getForumMetadataQueryKey(forumId: string) {\n return this.getKey('forumThread', forumId, 'metadata')\n }\n\n public getAllForumThreadsQueryKey(forumId: string) {\n return this.getKey('forumthread', forumId)\n }\n\n public getForumThreadsQueryKey(\n forumId: string,\n limit: number,\n sort: DiscussionThreadOrder,\n ascending: boolean,\n filter?: DiscussionFilter,\n ) {\n return this.getKey('forumthread', forumId, {\n limit,\n filter,\n sort,\n ascending,\n })\n }\n\n public getForumSearchQueryKey(\n forumId: string,\n discussionSearchRequest: DiscussionSearchRequest,\n ) {\n return this.getKey(\n 'forumthread',\n 'search',\n forumId,\n discussionSearchRequest,\n )\n }\n\n public getAllRepliesQueryKey(threadId: string) {\n return this.getKey('reply', threadId)\n }\n\n public getRepliesQueryKey(\n threadId: string,\n ascending?: boolean,\n limit?: number,\n sort?: DiscussionReplyOrder,\n filter?: DiscussionFilter,\n ) {\n return this.getKey('reply', threadId, { limit, filter, sort, ascending })\n }\n\n public getReplyQueryKey(\n threadId: string,\n replyId: string,\n messageKey: string,\n ) {\n return this.getKey('reply', threadId, { replyId, messageKey })\n }\n\n public getThreadQueryKey(threadId: string) {\n return this.getKey('thread', threadId)\n }\n\n public getThreadBodyQueryKey(threadId: string, messageKey: string) {\n return this.getKey('thread', threadId, messageKey)\n }\n\n public getMyOAuthClientsQueryKey() {\n return this.getKey('oauthClient')\n }\n\n public getOAuthClientQueryKey(clientId: string) {\n return this.getKey('oauthClient', clientId)\n }\n\n public getOAuthClientAclQueryKey(clientId: string) {\n return this.getKey('oauthClient', clientId, 'acl')\n }\n\n public getHasCurrentUserAuthorizedOAuthClientQueryKey(\n request: OIDCAuthorizationRequest,\n ) {\n return this.getKey('currentUserHasAuthorizedClient', request)\n }\n\n public getDOIAssociationQueryKey(request: GetRepoV1DoiAssociationRequest) {\n return this.getKey(['doi', request, 'association'])\n }\n\n public getDOIQueryKey(request: GetRepoV1DoiRequest) {\n return this.getKey(['doi', request])\n }\n\n public getAllSubscribersQueryKey() {\n return this.getKey('subscribers')\n }\n\n public getSubscribersQueryKey(\n objectId: string,\n objectType: SubscriptionObjectType,\n ) {\n return this.getKey('subscribers', objectId, objectType)\n }\n\n public getBaseSubscriptionQueryKey() {\n return this.getKey('subscription')\n }\n\n public getAllSubscriptionsQueryKey(query?: SubscriptionQuery) {\n return this.getKey('subscription', 'all', query)\n }\n\n public getSubscriptionQueryKey(\n objectId: string,\n objectType: SubscriptionObjectType,\n ) {\n return this.getKey('subscription', objectId, objectType)\n }\n\n public getSearchEntitiesQueryKey(query: SearchQuery) {\n return this.getKey('searchEntities', query)\n }\n\n public getSuggestionQueryKey(query: SuggestionQuery) {\n return this.getKey('suggestion', query)\n }\n\n public getTeamQueryKey(teamId: string) {\n return this.getKey('team', teamId)\n }\n\n public getTeamListQueryKey(teamIds: string) {\n return this.getKey('team', teamIds, 'teamList')\n }\n\n public getChallengeTeamListQueryKey(challengeId: string) {\n return this.getKey('challenge', challengeId, 'teamList')\n }\n\n public getTeamMembersQueryKey(teamId: string) {\n return this.getKey('team', teamId, 'membersList')\n }\n public getTeamMemberCountQueryKey(teamId: string) {\n return this.getKey('team', teamId, 'memberCount')\n }\n\n public getIsUserMemberOfTeamQueryKey(teamId: string, userId: string) {\n return this.getKey('team', teamId, 'member', userId)\n }\n\n public getIsPrincipalIdSelfOrTeamMemberQueryKey(\n principalId: string,\n userId: string,\n ) {\n return this.getKey('principal', userId, principalId, 'isSelfOrTeamMember')\n }\n\n public getMembershipStatusQueryKey(teamId: string, userId?: string) {\n return this.getKey('team', teamId, 'membershipStatus', userId)\n }\n\n public getAllOpenMembershipInvitationsForUserQueryKey(userId: string) {\n return this.getKey('openMembershipInvitations', userId)\n }\n\n public getTeamAccessRequirementsQueryKey(teamId: string) {\n return this.getKey('team', teamId, 'accessRequirements')\n }\n\n public getFavoritesQueryKey() {\n return this.getKey('favorites')\n }\n\n public getUserFavoritesQueryKey(\n sort: FavoriteSortBy,\n sortDirection: FavoriteSortDirection,\n ) {\n return this.getKey('favorites', sort, sortDirection)\n }\n\n public getUserFavoritesInfiniteQueryKey(\n sort: FavoriteSortBy,\n sortDirection: FavoriteSortDirection,\n ) {\n return this.getKey('favorites', 'infinite', sort, sortDirection)\n }\n public getTrashCanItemsQueryKey() {\n return this.getKey('trashCan', 'list')\n }\n\n public getUserChallengesQueryKey(userId: string) {\n return this.getKey('userChallenges', userId)\n }\n public getPassingRecordQueryKey(userId: string) {\n return this.getKey('passingRecord', userId)\n }\n\n public getAllSubmissionTeamsQueryKeys() {\n return this.getKey('submissionTeams')\n }\n\n public getSubmissionTeamsQueryKey(\n challengeId: string,\n limit?: number,\n offset?: number,\n ) {\n return this.getKey('submissionTeams', challengeId, { limit, offset })\n }\n\n public getUserProjectsQueryKey(\n userId: string,\n projectParams: GetProjectsParameters,\n ) {\n return this.getKey('userProjects', userId, projectParams)\n }\n\n public getAllUserTeamsQueryKey() {\n return this.getKey('userTeams')\n }\n\n public getUserTeamsQueryKey(userId: string) {\n return this.getKey('userTeams', userId)\n }\n\n public getPersonalAccessTokensQueryKey() {\n return this.getKey('personalAccessTokens')\n }\n\n public getMyProjectsQueryKey(params?: GetProjectsParameters) {\n return this.getKey('myProjects', params)\n }\n\n public getNotificationEmailQueryKey() {\n return this.getKey('notificationEmail')\n }\n\n public getCurrentUserProfileQueryKey() {\n return this.getKey('user', 'current', 'profile')\n }\n\n public getUserBundleQueryKey(userId: string, mask: number) {\n // Convert the mask into an object, where the field is only included (with value true) iff the bit in the mask is set\n const maskObject = {\n ...((mask & USER_BUNDLE_MASK_USER_PROFILE) !== 0\n ? { isUserProfile: true }\n : undefined),\n ...((mask & USER_BUNDLE_MASK_ORCID) !== 0\n ? { isOrcId: true }\n : undefined),\n ...((mask & USER_BUNDLE_MASK_VERIFICATION_SUBMISSION) !== 0\n ? { isVerificationSubmission: true }\n : undefined),\n ...((mask & USER_BUNDLE_MASK_IS_CERTIFIED) !== 0\n ? { isCertified: true }\n : undefined),\n ...((mask & USER_BUNDLE_MASK_IS_VERIFIED) !== 0\n ? { isVerified: true }\n : undefined),\n ...((mask & USER_BUNDLE_MASK_IS_ACT_MEMBER) !== 0\n ? { isACT: true }\n : undefined),\n ...((mask & USER_BUNDLE_MASK_IS_AR_REVIEWER) !== 0\n ? { isARReviewer: true }\n : undefined),\n }\n return this.getKey('user', userId, 'bundle', maskObject)\n }\n\n public getUserProfileQueryKey(userId: string) {\n return this.getKey('user', userId, 'profile')\n }\n\n public getPrincipalAliasQueryKey(request: PrincipalAliasRequest) {\n return this.getKey('principalAlias', request)\n }\n\n public getUserGroupHeaderQueryKey(id: string) {\n return this.getKey('userGroupHeader', id)\n }\n\n public getUserGroupHeaderBatchQueryKey(id: string[]) {\n return this.getKey('userGroupHeaderBatch', id)\n }\n public getUserGroupHeaderWithAliasQueryKey(aliases: string[]) {\n return this.getKey('userGroupHeader', aliases)\n }\n\n public getUserGroupHeaderSearchQueryKey(\n prefix: string,\n filter?: TYPE_FILTER,\n ) {\n return this.getKey('userGroupHeader', 'search', prefix, filter)\n }\n\n public getTwoFactorAuthStatusQueryKey() {\n return this.getKey('twoFactorAuthStatus')\n }\n\n public getBatchOfFiles(request: BatchFileRequest) {\n return this.getKey('fileBatch', request)\n }\n\n public getChatAgentTraceKey(request: TraceEventsRequest) {\n return this.getKey('chatbotTraceEvents', request)\n }\n\n public getTermsOfServiceInfoKey() {\n return this.getKey('termsOfServiceInfo')\n }\n\n public getTermsOfServiceStatus() {\n return this.getKey('termsOfServiceStatus')\n }\n\n public getRealmPrincipalsQueryKey() {\n return this.getKey('realmPrincipals')\n }\n\n public getCurrentRealmQueryKey() {\n return this.getKey('currentRealm')\n }\n\n public getRealmByIdQueryKey(realmId: string) {\n return this.getKey('realm', realmId)\n }\n\n public getProjectStorageUsageKey(projectId: string) {\n return this.getKey('projectstorageusage', projectId)\n }\n public getPaginatedDockerTagQueryKey(\n id: string,\n offset: string,\n limit: string,\n sort: string,\n sortDirection: string,\n ) {\n return this.getKey('dockerTag', id, offset, limit, sort, sortDirection)\n }\n\n public getDefaultColumnModelsQueryKey(\n viewEntityType?: ViewEntityType,\n viewTypeMask?: number,\n ) {\n return this.getKey('defaultColumnModels', viewEntityType, viewTypeMask)\n }\n\n public getAnnotationColumnModelsQueryKey(\n request: Omit<ViewColumnModelRequest, 'nextPageToken'>,\n ) {\n return this.getKey('annotationColumnModels', request)\n }\n\n public getEvaluationByIdQueryKey(evalId: string) {\n return this.getKey('evaluation', evalId)\n }\n public getEvaluationsQueryKey(request: GetEvaluationParameters) {\n return this.getKey('evaluation', 'paginated', request)\n }\n\n public getEvaluationRoundsQueryKey(evaluationId: string) {\n return this.getKey('evaluation', evaluationId, 'rounds')\n }\n\n public chatAgentSessionHistoryQueryKey(params?: SessionHistoryRequest) {\n return this.getKey('chatHistory', params)\n }\n\n public getWebhooksQueryKey() {\n return this.getKey('webhooks')\n }\n\n public getGithubLatestTagKey(repoOwner: string, repoName: string) {\n return this.getKey('githubLatestTag', repoOwner, repoName)\n }\n\n public getFileContentKey(fileURL?: string) {\n return this.getKey('fileContent', fileURL)\n }\n\n public getPortalKey(portalId: string) {\n return this.getKey('portal', portalId)\n }\n\n public getPortalPermissionsKey(portalId: string) {\n return this.getKey('portal', portalId, 'permissions')\n }\n\n public getPortalAclQueryKey(portalId: string) {\n return this.getKey('portal', portalId, 'acl')\n }\n\n public getListPortalsQueryKey() {\n return this.getKey('portal', 'list')\n }\n\n public getGridSessionKey(sessionId: string) {\n return this.getKey('gridSession', sessionId)\n }\n\n public getGridSessionListKey(request?: ListGridSessionsRequest) {\n return this.getKey('gridSession', 'list', request)\n }\n\n public getGridReplicaListKey(sessionId: string) {\n return this.getKey('gridSession', sessionId, 'replicas')\n }\n\n public getCurationTaskIdKey(taskId: number) {\n return this.getKey('curationTask', taskId)\n }\n\n public getCurationTaskIdTaskKey(taskId: number) {\n return this.getKey('curationTask', taskId, 'task')\n }\n\n public getCurationTaskIdStatusKey(taskId: number) {\n return this.getKey('curationTask', taskId, 'status')\n }\n\n public getCurationTaskListKey(request: ListCurationTaskRequest) {\n return this.getKey('curationTask', 'list', request)\n }\n\n public getAllCurationTaskListKey() {\n return this.getKey('curationTask', 'list')\n }\n\n public getCsvPreviewQueryKey(request: UploadToTablePreviewRequest) {\n return this.getKey('csvPreview', request)\n }\n\n public getAddToDownloadListStatsQueryKey(\n addToDownloadListStatsRequest: AddToDownloadListStatsRequest,\n ) {\n // Retrieve the entityId from the request so that changes to the entity can invalidate this query\n const entityId =\n addToDownloadListStatsRequest.request?.parentId ??\n parseEntityIdFromSqlStatement(\n addToDownloadListStatsRequest?.request?.query?.sql ?? '',\n )\n return this.getKey(\n entityQueryKeyObjects.entity(entityId),\n 'addToDownloadListStats',\n addToDownloadListStatsRequest,\n )\n }\n\n public getAsyncJobStatusQueryKey(jobId: string) {\n return this.getKey('asyncJobStatus', jobId)\n }\n}\n"],"names":["entityQueryKeyObjects","id","versionNumber","key","limit","offset","bundleRequest","request","infinite","queryBundleRequest","references","downloadListQueryKeys","ACCESS_REQUIREMENT_QUERY_KEY","ROOT_WIKI_PAGE_KEY_QUERY_KEY","WIKI_PAGE_QUERY_KEY","DATA_ACCESS_SUBMISSION_QUERY_KEY","KeyFactory","accessToken","args","hashCode","removeTrailingUndefinedElements","entityLookupRequest","includeDerivedAnnotations","version","alias","ownerObjectType","ownerObjectId","wikiPageKey","ownerId","wikiPageId","forceAnonymous","params","submissionId","normalizeNumericId","normalizedRequest","accessRequirementId","accessRequirementIds","schema$id","fileHandle","maxSizeBytes","fileHandleAssociation","userId","containerEntityId","parentId","storageLocationId","forumId","sort","ascending","filter","discussionSearchRequest","threadId","replyId","messageKey","clientId","objectId","objectType","query","teamId","teamIds","challengeId","principalId","sortDirection","projectParams","mask","maskObject","USER_BUNDLE_MASK_USER_PROFILE","USER_BUNDLE_MASK_ORCID","USER_BUNDLE_MASK_VERIFICATION_SUBMISSION","USER_BUNDLE_MASK_IS_CERTIFIED","USER_BUNDLE_MASK_IS_VERIFIED","USER_BUNDLE_MASK_IS_ACT_MEMBER","USER_BUNDLE_MASK_IS_AR_REVIEWER","aliases","prefix","realmId","projectId","viewEntityType","viewTypeMask","evalId","evaluationId","repoOwner","repoName","fileURL","portalId","sessionId","taskId","addToDownloadListStatsRequest","entityId","parseEntityIdFromSqlStatement","jobId"],"mappings":"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"}
@@ -1,5 +1,8 @@
1
- import { CurationTask, ListCurationTaskResponse, SynapseClientError } from '@sage-bionetworks/synapse-client';
2
- import { InfiniteData, QueryKey, UseInfiniteQueryOptions, UseQueryOptions } from '@tanstack/react-query';
1
+ import { CurationTask, ListCurationTaskRequest, ListCurationTaskResponse, SynapseClientError, TaskStatus } from '@sage-bionetworks/synapse-client';
2
+ import { InfiniteData, QueryKey, UseInfiniteQueryOptions, UseMutationOptions, UseQueryOptions } from '@tanstack/react-query';
3
3
  export declare function useGetCurationTask<TData = CurationTask>(taskId: number, options?: Partial<UseQueryOptions<CurationTask, SynapseClientError, TData>>): import("@tanstack/react-query").UseQueryResult<import("@tanstack/query-core").NoInfer<TData>, SynapseClientError>;
4
- export declare function useGetCurationTasksByProjectInfinite<TData = InfiniteData<ListCurationTaskResponse>>(projectId: string, options?: Partial<UseInfiniteQueryOptions<ListCurationTaskResponse, SynapseClientError, TData, QueryKey, ListCurationTaskResponse['nextPageToken']>>): import("@tanstack/react-query").UseInfiniteQueryResult<TData, SynapseClientError>;
4
+ export declare function useGetCurationTaskStatus<TData = TaskStatus>(taskId: number, options?: Partial<UseQueryOptions<TaskStatus, SynapseClientError, TData>>): import("@tanstack/react-query").UseQueryResult<import("@tanstack/query-core").NoInfer<TData>, SynapseClientError>;
5
+ export declare function useUpdateCurationTask(options?: Partial<UseMutationOptions<CurationTask, SynapseClientError, CurationTask>>): import("@tanstack/react-query").UseMutationResult<CurationTask, SynapseClientError, CurationTask, unknown>;
6
+ export declare function useUpdateCurationTaskStatus(options?: Partial<UseMutationOptions<TaskStatus, SynapseClientError, TaskStatus>>): import("@tanstack/react-query").UseMutationResult<TaskStatus, SynapseClientError, TaskStatus, unknown>;
7
+ export declare function useGetCurationTasksByProjectInfinite<TData = InfiniteData<ListCurationTaskResponse>>(request: ListCurationTaskRequest, options?: Partial<UseInfiniteQueryOptions<ListCurationTaskResponse, SynapseClientError, TData, QueryKey, ListCurationTaskResponse['nextPageToken']>>): import("@tanstack/react-query").UseInfiniteQueryResult<TData, SynapseClientError>;
5
8
  //# sourceMappingURL=useCurationTask.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCurationTask.d.ts","sourceRoot":"","sources":["../../../../src/synapse-queries/curation/task/useCurationTask.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,YAAY,EACZ,QAAQ,EAER,uBAAuB,EAEvB,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAE9B,wBAAgB,kBAAkB,CAAC,KAAK,GAAG,YAAY,EACrD,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,YAAY,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC,qHAY5E;AAED,wBAAgB,oCAAoC,CAClD,KAAK,GAAG,YAAY,CAAC,wBAAwB,CAAC,EAE9C,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,OAAO,CACf,uBAAuB,CACrB,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,EACL,QAAQ,EACR,wBAAwB,CAAC,eAAe,CAAC,CAC1C,CACF,qFAuBF"}
1
+ {"version":3,"file":"useCurationTask.d.ts","sourceRoot":"","sources":["../../../../src/synapse-queries/curation/task/useCurationTask.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,UAAU,EACX,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,YAAY,EACZ,QAAQ,EAER,uBAAuB,EAEvB,kBAAkB,EAGlB,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAE9B,wBAAgB,kBAAkB,CAAC,KAAK,GAAG,YAAY,EACrD,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,YAAY,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC,qHAY5E;AAED,wBAAgB,wBAAwB,CAAC,KAAK,GAAG,UAAU,EACzD,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC,qHAW1E;AAED,wBAAgB,qBAAqB,CACnC,OAAO,CAAC,EAAE,OAAO,CACf,kBAAkB,CAAC,YAAY,EAAE,kBAAkB,EAAE,YAAY,CAAC,CACnE,8GAwBF;AAED,wBAAgB,2BAA2B,CACzC,OAAO,CAAC,EAAE,OAAO,CACf,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAC/D,0GAqBF;AAED,wBAAgB,oCAAoC,CAClD,KAAK,GAAG,YAAY,CAAC,wBAAwB,CAAC,EAE9C,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,OAAO,CACf,uBAAuB,CACrB,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,EACL,QAAQ,EACR,wBAAwB,CAAC,eAAe,CAAC,CAC1C,CACF,qFAuBF"}
@@ -9,9 +9,9 @@ import "@sage-bionetworks/synapse-types";
9
9
  import "../../../utils/functions/EntityTypeUtils.js";
10
10
  import "lodash-es";
11
11
  import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
12
- import { useSynapseContext as n } from "../../../utils/context/SynapseContext.js";
12
+ import { useSynapseContext as o } from "../../../utils/context/SynapseContext.js";
13
13
  import "use-deep-compare-effect";
14
- import { useInfiniteQuery as p, useQuery as a } from "@tanstack/react-query";
14
+ import { useInfiniteQuery as c, useQuery as u, useQueryClient as p, useMutation as y } from "@tanstack/react-query";
15
15
  import "@tanstack/query-core";
16
16
  import "lodash-es/isEmpty";
17
17
  import "lodash-es/isEqual";
@@ -28,33 +28,77 @@ import "../../../utils/context/FullContextProvider.js";
28
28
  import "../../../utils/context/DocumentMetadataContext.js";
29
29
  import '../../../style/components/_spinner.css';/* empty css */
30
30
  import "react-router";
31
- function w(t, r) {
32
- const { synapseClient: i, keyFactory: e } = n();
33
- return a({
34
- ...r,
35
- queryKey: e.getCurationTaskKey(t),
31
+ function D(t, n) {
32
+ const { synapseClient: i, keyFactory: r } = o();
33
+ return u({
34
+ ...n,
35
+ queryKey: r.getCurationTaskIdTaskKey(t),
36
36
  queryFn: async () => i.curationTaskServicesClient.getRepoV1CurationTaskTaskId(
37
37
  { taskId: t }
38
38
  )
39
39
  });
40
40
  }
41
- function z(t, r) {
42
- const { synapseClient: i, keyFactory: e } = n();
43
- return p({
44
- ...r,
45
- queryKey: e.getCurationTaskListKey(t),
46
- queryFn: (o) => i.curationTaskServicesClient.postRepoV1CurationTaskList({
41
+ function E(t, n) {
42
+ const { synapseClient: i, keyFactory: r } = o();
43
+ return u({
44
+ ...n,
45
+ queryKey: r.getCurationTaskIdStatusKey(t),
46
+ queryFn: () => i.curationTaskServicesClient.getRepoV1CurationTaskTaskIdStatus(
47
+ { taskId: t }
48
+ )
49
+ });
50
+ }
51
+ function H(t) {
52
+ const { synapseClient: n, keyFactory: i } = o(), r = p();
53
+ return y({
54
+ ...t,
55
+ mutationFn: (e) => n.curationTaskServicesClient.putRepoV1CurationTaskTaskId({
56
+ taskId: e.taskId,
57
+ curationTask: e
58
+ }),
59
+ onSuccess: (e, a, s) => {
60
+ r.invalidateQueries({
61
+ queryKey: i.getCurationTaskIdKey(a.taskId)
62
+ }), r.invalidateQueries({
63
+ queryKey: i.getAllCurationTaskListKey()
64
+ }), t?.onSuccess && t.onSuccess(e, a, s);
65
+ }
66
+ });
67
+ }
68
+ function J(t) {
69
+ const { synapseClient: n, keyFactory: i } = o(), r = p();
70
+ return y({
71
+ ...t,
72
+ mutationFn: (e) => n.curationTaskServicesClient.putRepoV1CurationTaskTaskIdStatus(
73
+ { taskId: e.taskId, taskStatus: e }
74
+ ),
75
+ onSuccess: (e, a, s) => {
76
+ r.invalidateQueries({
77
+ queryKey: i.getCurationTaskIdKey(a.taskId)
78
+ }), t?.onSuccess && t.onSuccess(e, a, s);
79
+ }
80
+ });
81
+ }
82
+ function O(t, n) {
83
+ const { synapseClient: i, keyFactory: r } = o();
84
+ return c({
85
+ ...n,
86
+ queryKey: r.getCurationTaskListKey(t),
87
+ queryFn: (e) => i.curationTaskServicesClient.postRepoV1CurationTaskList({
47
88
  listCurationTaskRequest: {
48
- projectId: t,
49
- nextPageToken: o.pageParam
89
+ ...t,
90
+ nextPageToken: e.pageParam
50
91
  }
51
92
  }),
52
93
  initialPageParam: void 0,
53
- getNextPageParam: (o) => o.nextPageToken
94
+ getNextPageParam: (e) => e.nextPageToken
54
95
  });
55
96
  }
56
97
  export {
57
- w as useGetCurationTask,
58
- z as useGetCurationTasksByProjectInfinite
98
+ D as useGetCurationTask,
99
+ E as useGetCurationTaskStatus,
100
+ O as useGetCurationTasksByProjectInfinite,
101
+ H as useUpdateCurationTask,
102
+ J as useUpdateCurationTaskStatus
59
103
  };
60
104
  //# sourceMappingURL=useCurationTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCurationTask.js","sources":["../../../../src/synapse-queries/curation/task/useCurationTask.ts"],"sourcesContent":["import { useSynapseContext } from '@/utils/index'\nimport {\n CurationTask,\n ListCurationTaskResponse,\n SynapseClientError,\n} from '@sage-bionetworks/synapse-client'\nimport {\n InfiniteData,\n QueryKey,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useQuery,\n UseQueryOptions,\n} from '@tanstack/react-query'\n\nexport function useGetCurationTask<TData = CurationTask>(\n taskId: number,\n options?: Partial<UseQueryOptions<CurationTask, SynapseClientError, TData>>,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getCurationTaskKey(taskId),\n queryFn: async () => {\n return synapseClient.curationTaskServicesClient.getRepoV1CurationTaskTaskId(\n { taskId },\n )\n },\n })\n}\n\nexport function useGetCurationTasksByProjectInfinite<\n TData = InfiniteData<ListCurationTaskResponse>,\n>(\n projectId: string,\n options?: Partial<\n UseInfiniteQueryOptions<\n ListCurationTaskResponse,\n SynapseClientError,\n TData,\n QueryKey,\n ListCurationTaskResponse['nextPageToken']\n >\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n\n return useInfiniteQuery<\n ListCurationTaskResponse,\n SynapseClientError,\n TData,\n QueryKey,\n ListCurationTaskResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.getCurationTaskListKey(projectId),\n queryFn: context =>\n synapseClient.curationTaskServicesClient.postRepoV1CurationTaskList({\n listCurationTaskRequest: {\n projectId,\n nextPageToken: context.pageParam,\n },\n }),\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n"],"names":["useGetCurationTask","taskId","options","synapseClient","keyFactory","useSynapseContext","useQuery","useGetCurationTasksByProjectInfinite","projectId","useInfiniteQuery","context","page"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeO,SAASA,EACdC,GACAC,GACA;AACA,QAAM,EAAE,eAAAC,GAAe,YAAAC,EAAA,IAAeC,EAAA;AACtC,SAAOC,EAAS;AAAA,IACd,GAAGJ;AAAA,IACH,UAAUE,EAAW,mBAAmBH,CAAM;AAAA,IAC9C,SAAS,YACAE,EAAc,2BAA2B;AAAA,MAC9C,EAAE,QAAAF,EAAA;AAAA,IAAO;AAAA,EAEb,CACD;AACH;AAEO,SAASM,EAGdC,GACAN,GASA;AACA,QAAM,EAAE,eAAAC,GAAe,YAAAC,EAAA,IAAeC,EAAA;AAEtC,SAAOI,EAML;AAAA,IACA,GAAGP;AAAA,IACH,UAAUE,EAAW,uBAAuBI,CAAS;AAAA,IACrD,SAAS,CAAAE,MACPP,EAAc,2BAA2B,2BAA2B;AAAA,MAClE,yBAAyB;AAAA,QACvB,WAAAK;AAAA,QACA,eAAeE,EAAQ;AAAA,MAAA;AAAA,IACzB,CACD;AAAA,IACH,kBAAkB;AAAA,IAClB,kBAAkB,OAAQC,EAAK;AAAA,EAAA,CAChC;AACH;"}
1
+ {"version":3,"file":"useCurationTask.js","sources":["../../../../src/synapse-queries/curation/task/useCurationTask.ts"],"sourcesContent":["import { useSynapseContext } from '@/utils/index'\nimport {\n CurationTask,\n ListCurationTaskRequest,\n ListCurationTaskResponse,\n SynapseClientError,\n TaskStatus,\n} from '@sage-bionetworks/synapse-client'\nimport {\n InfiniteData,\n QueryKey,\n useInfiniteQuery,\n UseInfiniteQueryOptions,\n useMutation,\n UseMutationOptions,\n useQuery,\n useQueryClient,\n UseQueryOptions,\n} from '@tanstack/react-query'\n\nexport function useGetCurationTask<TData = CurationTask>(\n taskId: number,\n options?: Partial<UseQueryOptions<CurationTask, SynapseClientError, TData>>,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getCurationTaskIdTaskKey(taskId),\n queryFn: async () => {\n return synapseClient.curationTaskServicesClient.getRepoV1CurationTaskTaskId(\n { taskId },\n )\n },\n })\n}\n\nexport function useGetCurationTaskStatus<TData = TaskStatus>(\n taskId: number,\n options?: Partial<UseQueryOptions<TaskStatus, SynapseClientError, TData>>,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getCurationTaskIdStatusKey(taskId),\n queryFn: () =>\n synapseClient.curationTaskServicesClient.getRepoV1CurationTaskTaskIdStatus(\n { taskId },\n ),\n })\n}\n\nexport function useUpdateCurationTask(\n options?: Partial<\n UseMutationOptions<CurationTask, SynapseClientError, CurationTask>\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: curationTask =>\n synapseClient.curationTaskServicesClient.putRepoV1CurationTaskTaskId({\n taskId: curationTask.taskId!,\n curationTask,\n }),\n onSuccess: (data, variables, context) => {\n // Invalidate both the status query and the task query using the ID key\n queryClient.invalidateQueries({\n queryKey: keyFactory.getCurationTaskIdKey(variables.taskId!),\n })\n queryClient.invalidateQueries({\n queryKey: keyFactory.getAllCurationTaskListKey(),\n })\n if (options?.onSuccess) {\n options.onSuccess(data, variables, context)\n }\n },\n })\n}\n\nexport function useUpdateCurationTaskStatus(\n options?: Partial<\n UseMutationOptions<TaskStatus, SynapseClientError, TaskStatus>\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n const queryClient = useQueryClient()\n return useMutation({\n ...options,\n mutationFn: taskStatus =>\n synapseClient.curationTaskServicesClient.putRepoV1CurationTaskTaskIdStatus(\n { taskId: taskStatus.taskId!, taskStatus },\n ),\n onSuccess: (data, variables, context) => {\n // Invalidate both the status query and the task query using the ID key\n queryClient.invalidateQueries({\n queryKey: keyFactory.getCurationTaskIdKey(variables.taskId!),\n })\n\n if (options?.onSuccess) {\n options.onSuccess(data, variables, context)\n }\n },\n })\n}\n\nexport function useGetCurationTasksByProjectInfinite<\n TData = InfiniteData<ListCurationTaskResponse>,\n>(\n request: ListCurationTaskRequest,\n options?: Partial<\n UseInfiniteQueryOptions<\n ListCurationTaskResponse,\n SynapseClientError,\n TData,\n QueryKey,\n ListCurationTaskResponse['nextPageToken']\n >\n >,\n) {\n const { synapseClient, keyFactory } = useSynapseContext()\n\n return useInfiniteQuery<\n ListCurationTaskResponse,\n SynapseClientError,\n TData,\n QueryKey,\n ListCurationTaskResponse['nextPageToken']\n >({\n ...options,\n queryKey: keyFactory.getCurationTaskListKey(request),\n queryFn: context =>\n synapseClient.curationTaskServicesClient.postRepoV1CurationTaskList({\n listCurationTaskRequest: {\n ...request,\n nextPageToken: context.pageParam,\n },\n }),\n initialPageParam: undefined,\n getNextPageParam: page => page.nextPageToken,\n })\n}\n"],"names":["useGetCurationTask","taskId","options","synapseClient","keyFactory","useSynapseContext","useQuery","useGetCurationTaskStatus","useUpdateCurationTask","queryClient","useQueryClient","useMutation","curationTask","data","variables","context","useUpdateCurationTaskStatus","taskStatus","useGetCurationTasksByProjectInfinite","request","useInfiniteQuery","page"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBO,SAASA,EACdC,GACAC,GACA;AACA,QAAM,EAAE,eAAAC,GAAe,YAAAC,EAAA,IAAeC,EAAA;AACtC,SAAOC,EAAS;AAAA,IACd,GAAGJ;AAAA,IACH,UAAUE,EAAW,yBAAyBH,CAAM;AAAA,IACpD,SAAS,YACAE,EAAc,2BAA2B;AAAA,MAC9C,EAAE,QAAAF,EAAA;AAAA,IAAO;AAAA,EAEb,CACD;AACH;AAEO,SAASM,EACdN,GACAC,GACA;AACA,QAAM,EAAE,eAAAC,GAAe,YAAAC,EAAA,IAAeC,EAAA;AACtC,SAAOC,EAAS;AAAA,IACd,GAAGJ;AAAA,IACH,UAAUE,EAAW,2BAA2BH,CAAM;AAAA,IACtD,SAAS,MACPE,EAAc,2BAA2B;AAAA,MACvC,EAAE,QAAAF,EAAA;AAAA,IAAO;AAAA,EACX,CACH;AACH;AAEO,SAASO,EACdN,GAGA;AACA,QAAM,EAAE,eAAAC,GAAe,YAAAC,EAAA,IAAeC,EAAA,GAChCI,IAAcC,EAAA;AACpB,SAAOC,EAAY;AAAA,IACjB,GAAGT;AAAA,IACH,YAAY,CAAAU,MACVT,EAAc,2BAA2B,4BAA4B;AAAA,MACnE,QAAQS,EAAa;AAAA,MACrB,cAAAA;AAAA,IAAA,CACD;AAAA,IACH,WAAW,CAACC,GAAMC,GAAWC,MAAY;AAEvC,MAAAN,EAAY,kBAAkB;AAAA,QAC5B,UAAUL,EAAW,qBAAqBU,EAAU,MAAO;AAAA,MAAA,CAC5D,GACDL,EAAY,kBAAkB;AAAA,QAC5B,UAAUL,EAAW,0BAAA;AAAA,MAA0B,CAChD,GACGF,GAAS,aACXA,EAAQ,UAAUW,GAAMC,GAAWC,CAAO;AAAA,IAE9C;AAAA,EAAA,CACD;AACH;AAEO,SAASC,EACdd,GAGA;AACA,QAAM,EAAE,eAAAC,GAAe,YAAAC,EAAA,IAAeC,EAAA,GAChCI,IAAcC,EAAA;AACpB,SAAOC,EAAY;AAAA,IACjB,GAAGT;AAAA,IACH,YAAY,CAAAe,MACVd,EAAc,2BAA2B;AAAA,MACvC,EAAE,QAAQc,EAAW,QAAS,YAAAA,EAAA;AAAA,IAAW;AAAA,IAE7C,WAAW,CAACJ,GAAMC,GAAWC,MAAY;AAEvC,MAAAN,EAAY,kBAAkB;AAAA,QAC5B,UAAUL,EAAW,qBAAqBU,EAAU,MAAO;AAAA,MAAA,CAC5D,GAEGZ,GAAS,aACXA,EAAQ,UAAUW,GAAMC,GAAWC,CAAO;AAAA,IAE9C;AAAA,EAAA,CACD;AACH;AAEO,SAASG,EAGdC,GACAjB,GASA;AACA,QAAM,EAAE,eAAAC,GAAe,YAAAC,EAAA,IAAeC,EAAA;AAEtC,SAAOe,EAML;AAAA,IACA,GAAGlB;AAAA,IACH,UAAUE,EAAW,uBAAuBe,CAAO;AAAA,IACnD,SAAS,CAAAJ,MACPZ,EAAc,2BAA2B,2BAA2B;AAAA,MAClE,yBAAyB;AAAA,QACvB,GAAGgB;AAAA,QACH,eAAeJ,EAAQ;AAAA,MAAA;AAAA,IACzB,CACD;AAAA,IACH,kBAAkB;AAAA,IAClB,kBAAkB,OAAQM,EAAK;AAAA,EAAA,CAChC;AACH;"}
@@ -8,6 +8,8 @@ interface EstablishWebsocketParams {
8
8
  onGridReady?: () => void;
9
9
  onStatusChange?: (open: boolean) => void;
10
10
  onModelCreate?: (model: GridModel) => void;
11
+ onReplicaConnected?: () => void;
12
+ onReplicaDisconnected?: () => void;
11
13
  model?: GridModel | null;
12
14
  };
13
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useEstablishWebsocketConnection.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/grid/useEstablishWebsocketConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,EAAe,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAG/D,UAAU,wBAAwB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE;QACjB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;QACxB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;QACxC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;QAC1C,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;KACzB,CAAA;CACF;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,CAAC,EAAE,OAAO,CACf,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,EAAE,wBAAwB,CAAC,CACzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCF"}
1
+ {"version":3,"file":"useEstablishWebsocketConnection.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/grid/useEstablishWebsocketConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAA;AAC3E,OAAO,EAAe,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAG/D,UAAU,wBAAwB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE;QACjB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;QACxB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;QACxC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;QAC1C,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;QAC/B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAA;QAClC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;KACzB,CAAA;CACF;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,CAAC,EAAE,OAAO,CACf,kBAAkB,CAAC,iBAAiB,EAAE,OAAO,EAAE,wBAAwB,CAAC,CACzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCF"}
@@ -1 +1 @@
1
- {"version":3,"file":"useEstablishWebsocketConnection.js","sources":["../../../src/synapse-queries/grid/useEstablishWebsocketConnection.ts"],"sourcesContent":["import { useGridPresignedUrl } from '@/synapse-queries/grid/useGridPresignedUrl'\nimport { DataGridWebSocket } from '@/components/DataGrid/DataGridWebSocket'\nimport { useMutation, UseMutationOptions } from '@tanstack/react-query'\nimport { GridModel } from '@/components/DataGrid/DataGridTypes'\nimport { useCallback, useState } from 'react'\n\ninterface EstablishWebsocketParams {\n replicaId: number\n sessionId: string\n websocketOptions?: {\n onGridReady?: () => void\n onStatusChange?: (open: boolean) => void\n onModelCreate?: (model: GridModel) => void\n model?: GridModel | null\n }\n}\n\n/**\n * Hook to establish a DataGrid WebSocket using a presigned URL.\n * Assumes the WebSocket will connect successfully once a presigned URL is retrieved.\n */\nexport function useEstablishWebsocketConnection(\n options?: Partial<\n UseMutationOptions<DataGridWebSocket, unknown, EstablishWebsocketParams>\n >,\n) {\n const { mutateAsync: fetchPresignedUrl } = useGridPresignedUrl()\n const [presignedUrl, setPresignedUrl] = useState<string | null>(null)\n\n const clearPresignedUrl = useCallback(() => {\n setPresignedUrl(null)\n }, [])\n\n const mutation = useMutation({\n retry: 5,\n retryDelay: attempt =>\n Math.min(attempt > 1 ? 2 ** attempt * 1000 : 1000, 30 * 1000),\n mutationFn: async ({\n replicaId,\n sessionId,\n websocketOptions,\n }: EstablishWebsocketParams) => {\n if (!replicaId) throw new Error('replicaId is required')\n const url = await fetchPresignedUrl({ replicaId, sessionId })\n setPresignedUrl(url)\n\n return new DataGridWebSocket({\n replicaId,\n url,\n ...(websocketOptions || {}),\n })\n },\n ...options,\n })\n\n return { ...mutation, presignedUrl, clearPresignedUrl }\n}\n"],"names":["useEstablishWebsocketConnection","options","fetchPresignedUrl","useGridPresignedUrl","presignedUrl","setPresignedUrl","useState","clearPresignedUrl","useCallback","useMutation","attempt","replicaId","sessionId","websocketOptions","url","DataGridWebSocket"],"mappings":";;;;AAqBO,SAASA,EACdC,GAGA;AACA,QAAM,EAAE,aAAaC,EAAA,IAAsBC,EAAA,GACrC,CAACC,GAAcC,CAAe,IAAIC,EAAwB,IAAI,GAE9DC,IAAoBC,EAAY,MAAM;AAC1C,IAAAH,EAAgB,IAAI;AAAA,EACtB,GAAG,CAAA,CAAE;AAwBL,SAAO,EAAE,GAtBQI,EAAY;AAAA,IAC3B,OAAO;AAAA,IACP,YAAY,CAAAC,MACV,KAAK,IAAIA,IAAU,IAAI,KAAKA,IAAU,MAAO,KAAM,KAAK,GAAI;AAAA,IAC9D,YAAY,OAAO;AAAA,MACjB,WAAAC;AAAA,MACA,WAAAC;AAAA,MACA,kBAAAC;AAAA,IAAA,MAC8B;AAC9B,UAAI,CAACF,EAAW,OAAM,IAAI,MAAM,uBAAuB;AACvD,YAAMG,IAAM,MAAMZ,EAAkB,EAAE,WAAAS,GAAW,WAAAC,GAAW;AAC5D,aAAAP,EAAgBS,CAAG,GAEZ,IAAIC,EAAkB;AAAA,QAC3B,WAAAJ;AAAA,QACA,KAAAG;AAAA,QACA,GAAID,KAAoB,CAAA;AAAA,MAAC,CAC1B;AAAA,IACH;AAAA,IACA,GAAGZ;AAAA,EAAA,CACJ,GAEqB,cAAAG,GAAc,mBAAAG,EAAA;AACtC;"}
1
+ {"version":3,"file":"useEstablishWebsocketConnection.js","sources":["../../../src/synapse-queries/grid/useEstablishWebsocketConnection.ts"],"sourcesContent":["import { useGridPresignedUrl } from '@/synapse-queries/grid/useGridPresignedUrl'\nimport { DataGridWebSocket } from '@/components/DataGrid/DataGridWebSocket'\nimport { useMutation, UseMutationOptions } from '@tanstack/react-query'\nimport { GridModel } from '@/components/DataGrid/DataGridTypes'\nimport { useCallback, useState } from 'react'\n\ninterface EstablishWebsocketParams {\n replicaId: number\n sessionId: string\n websocketOptions?: {\n onGridReady?: () => void\n onStatusChange?: (open: boolean) => void\n onModelCreate?: (model: GridModel) => void\n onReplicaConnected?: () => void\n onReplicaDisconnected?: () => void\n model?: GridModel | null\n }\n}\n\n/**\n * Hook to establish a DataGrid WebSocket using a presigned URL.\n * Assumes the WebSocket will connect successfully once a presigned URL is retrieved.\n */\nexport function useEstablishWebsocketConnection(\n options?: Partial<\n UseMutationOptions<DataGridWebSocket, unknown, EstablishWebsocketParams>\n >,\n) {\n const { mutateAsync: fetchPresignedUrl } = useGridPresignedUrl()\n const [presignedUrl, setPresignedUrl] = useState<string | null>(null)\n\n const clearPresignedUrl = useCallback(() => {\n setPresignedUrl(null)\n }, [])\n\n const mutation = useMutation({\n retry: 5,\n retryDelay: attempt =>\n Math.min(attempt > 1 ? 2 ** attempt * 1000 : 1000, 30 * 1000),\n mutationFn: async ({\n replicaId,\n sessionId,\n websocketOptions,\n }: EstablishWebsocketParams) => {\n if (!replicaId) throw new Error('replicaId is required')\n const url = await fetchPresignedUrl({ replicaId, sessionId })\n setPresignedUrl(url)\n\n return new DataGridWebSocket({\n replicaId,\n url,\n ...(websocketOptions || {}),\n })\n },\n ...options,\n })\n\n return { ...mutation, presignedUrl, clearPresignedUrl }\n}\n"],"names":["useEstablishWebsocketConnection","options","fetchPresignedUrl","useGridPresignedUrl","presignedUrl","setPresignedUrl","useState","clearPresignedUrl","useCallback","useMutation","attempt","replicaId","sessionId","websocketOptions","url","DataGridWebSocket"],"mappings":";;;;AAuBO,SAASA,EACdC,GAGA;AACA,QAAM,EAAE,aAAaC,EAAA,IAAsBC,EAAA,GACrC,CAACC,GAAcC,CAAe,IAAIC,EAAwB,IAAI,GAE9DC,IAAoBC,EAAY,MAAM;AAC1C,IAAAH,EAAgB,IAAI;AAAA,EACtB,GAAG,CAAA,CAAE;AAwBL,SAAO,EAAE,GAtBQI,EAAY;AAAA,IAC3B,OAAO;AAAA,IACP,YAAY,CAAAC,MACV,KAAK,IAAIA,IAAU,IAAI,KAAKA,IAAU,MAAO,KAAM,KAAK,GAAI;AAAA,IAC9D,YAAY,OAAO;AAAA,MACjB,WAAAC;AAAA,MACA,WAAAC;AAAA,MACA,kBAAAC;AAAA,IAAA,MAC8B;AAC9B,UAAI,CAACF,EAAW,OAAM,IAAI,MAAM,uBAAuB;AACvD,YAAMG,IAAM,MAAMZ,EAAkB,EAAE,WAAAS,GAAW,WAAAC,GAAW;AAC5D,aAAAP,EAAgBS,CAAG,GAEZ,IAAIC,EAAkB;AAAA,QAC3B,WAAAJ;AAAA,QACA,KAAAG;AAAA,QACA,GAAID,KAAoB,CAAA;AAAA,MAAC,CAC1B;AAAA,IACH;AAAA,IACA,GAAGZ;AAAA,EAAA,CACJ,GAEqB,cAAAG,GAAc,mBAAAG,EAAA;AACtC;"}
@@ -1,7 +1,8 @@
1
1
  import { KeyFactory } from '@/synapse-queries/index';
2
- import { CreateGridRequest, CreateGridResponse, CreateReplicaResponse, GridSession, ListGridSessionsRequest, ListGridSessionsResponse, SynapseClient, SynchronizeGridRequest, SynchronizeGridResponse } from '@sage-bionetworks/synapse-client';
2
+ import { CreateGridRequest, CreateGridResponse, CreateReplicaResponse, GridReplicaInfo, GridSession, ListGridSessionsRequest, ListGridSessionsResponse, SynapseClient, SynchronizeGridRequest, SynchronizeGridResponse } from '@sage-bionetworks/synapse-client';
3
3
  import { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError';
4
4
  import { InfiniteData, QueryKey, UseInfiniteQueryOptions, UseMutationOptions, UseQueryOptions } from '@tanstack/react-query';
5
+ import { SynapseQueriesContext } from '../types';
5
6
  export declare function useCreateGridReplica(options?: Partial<UseMutationOptions<CreateReplicaResponse, SynapseClientError, string>>): import("@tanstack/react-query").UseMutationResult<CreateReplicaResponse, SynapseClientError, string, unknown>;
6
7
  export declare function useDeleteGridSession(options?: Partial<UseMutationOptions<void, SynapseClientError, string>>): import("@tanstack/react-query").UseMutationResult<void, SynapseClientError, string, unknown>;
7
8
  /**
@@ -21,7 +22,15 @@ export declare const getGridSessionsQuery: (request: ListGridSessionsRequest, co
21
22
  };
22
23
  };
23
24
  export declare function useGetGridSessionsInfinite<TData = InfiniteData<ListGridSessionsResponse>>(request: Omit<ListGridSessionsRequest, 'nextPageToken'>, options?: Partial<UseInfiniteQueryOptions<ListGridSessionsResponse, SynapseClientError, TData, QueryKey, ListGridSessionsResponse['nextPageToken']>>): import("@tanstack/react-query").UseInfiniteQueryResult<TData, SynapseClientError>;
24
- export declare function useGetGridSession<TData = GridSession>(sessionId: string, options?: Partial<UseQueryOptions<GridSession, SynapseClientError, TData>>): import("@tanstack/react-query").UseQueryResult<import("@tanstack/query-core").NoInfer<TData>, SynapseClientError>;
25
+ export declare function getGridSessionQuery(sessionId: string, context: SynapseQueriesContext): import("@tanstack/query-core").OmitKeyof<UseQueryOptions<GridSession, SynapseClientError, GridSession, readonly unknown[]>, "queryFn"> & {
26
+ queryFn?: import("@tanstack/query-core").QueryFunction<GridSession, readonly unknown[], never> | undefined;
27
+ } & {
28
+ queryKey: readonly unknown[] & {
29
+ [dataTagSymbol]: GridSession;
30
+ [dataTagErrorSymbol]: SynapseClientError;
31
+ };
32
+ };
33
+ export declare function useGetGridSession(sessionId: string, options?: Partial<UseQueryOptions<GridSession, SynapseClientError>>): import("@tanstack/react-query").UseQueryResult<GridSession, SynapseClientError>;
25
34
  export declare const useCreateGridSession: (options?: Partial<UseMutationOptions<CreateGridResponse, SynapseClientError, CreateGridRequest>>) => import("@tanstack/react-query").UseMutationResult<CreateGridResponse, SynapseClientError, CreateGridRequest, unknown>;
26
35
  /**
27
36
  * Synchronization is a two-phase process that ensures consistency between the user's local
@@ -41,4 +50,10 @@ export declare const useCreateGridSession: (options?: Partial<UseMutationOptions
41
50
  * @see {@link https://rest-docs.synapse.org/rest/GET/grid/synchronize/async/get/asyncToken.html}
42
51
  */
43
52
  export declare function useSynchronizeGridSession(options?: Omit<UseMutationOptions<SynchronizeGridResponse, SynapseClientError, Omit<SynchronizeGridRequest, 'concreteType'>>, 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<SynchronizeGridResponse, SynapseClientError, Omit<SynchronizeGridRequest, "concreteType">, unknown>;
53
+ /**
54
+ * Fetches all replicas in a grid session by following pagination tokens.
55
+ * Refetch this query on `replica-connected` or `replica-disconnected` WebSocket events
56
+ * to keep the replica list current.
57
+ */
58
+ export declare function useListGridReplicas(sessionId: string | undefined, options?: Partial<UseQueryOptions<GridReplicaInfo[], SynapseClientError>>): import("@tanstack/react-query").UseQueryResult<GridReplicaInfo[], SynapseClientError>;
44
59
  //# sourceMappingURL=useGridSession.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGridSession.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/grid/useGridSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAGpD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,EACX,uBAAuB,EACvB,wBAAwB,EAExB,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EAExB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EACL,YAAY,EACZ,QAAQ,EAGR,uBAAuB,EAEvB,kBAAkB,EAGlB,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAE9B,wBAAgB,oBAAoB,CAClC,OAAO,CAAC,EAAE,OAAO,CACf,kBAAkB,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,CAAC,CACtE,iHAuBF;AAED,wBAAgB,oBAAoB,CAClC,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC,gGAoBxE;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,uBAAuB,EAChC,SAAS;IACP,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;CAC7B;;;;;;;CAQC,CAAA;AAEJ,wBAAgB,0BAA0B,CACxC,KAAK,GAAG,YAAY,CAAC,wBAAwB,CAAC,EAE9C,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,eAAe,CAAC,EACvD,OAAO,CAAC,EAAE,OAAO,CACf,uBAAuB,CACrB,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,EACL,QAAQ,EACR,wBAAwB,CAAC,eAAe,CAAC,CAC1C,CACF,qFAuBF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,GAAG,WAAW,EACnD,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC,qHAY3E;AAED,eAAO,MAAM,oBAAoB,GAC/B,UAAU,OAAO,CACf,kBAAkB,CAChB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,CAClB,CACF,0HAWF,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,CAAC,EAAE,IAAI,CACZ,kBAAkB,CAChB,uBAAuB,EACvB,kBAAkB,EAClB,IAAI,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAC7C,EACD,YAAY,CACb,yJAmCF"}
1
+ {"version":3,"file":"useGridSession.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/grid/useGridSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAGpD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,uBAAuB,EACvB,wBAAwB,EAExB,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EAExB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EACL,YAAY,EACZ,QAAQ,EAGR,uBAAuB,EAEvB,kBAAkB,EAGlB,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAEhD,wBAAgB,oBAAoB,CAClC,OAAO,CAAC,EAAE,OAAO,CACf,kBAAkB,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,CAAC,CACtE,iHAuBF;AAED,wBAAgB,oBAAoB,CAClC,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC,gGAoBxE;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,uBAAuB,EAChC,SAAS;IACP,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;CAC7B;;;;;;;CAQC,CAAA;AAEJ,wBAAgB,0BAA0B,CACxC,KAAK,GAAG,YAAY,CAAC,wBAAwB,CAAC,EAE9C,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,eAAe,CAAC,EACvD,OAAO,CAAC,EAAE,OAAO,CACf,uBAAuB,CACrB,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,EACL,QAAQ,EACR,wBAAwB,CAAC,eAAe,CAAC,CAC1C,CACF,qFAuBF;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,qBAAqB;;;;;;;EAU/B;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,mFASpE;AAED,eAAO,MAAM,oBAAoB,GAC/B,UAAU,OAAO,CACf,kBAAkB,CAChB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,CAClB,CACF,0HAWF,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,CAAC,EAAE,IAAI,CACZ,kBAAkB,CAChB,uBAAuB,EACvB,kBAAkB,EAClB,IAAI,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAC7C,EACD,YAAY,CACb,yJAmCF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,eAAe,EAAE,EAAE,kBAAkB,CAAC,CAAC,yFA4B1E"}