@scality/data-browser-library 1.0.0-preview.9 → 1.0.3

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 (287) hide show
  1. package/dist/components/DataBrowserUI.d.ts +12 -0
  2. package/dist/components/DataBrowserUI.js +99 -0
  3. package/dist/components/Editor.d.ts +1 -1
  4. package/dist/components/Editor.js +3 -3
  5. package/dist/components/__tests__/BucketAccessor.test.js +214 -0
  6. package/dist/components/__tests__/BucketCorsPage.test.d.ts +1 -0
  7. package/dist/components/__tests__/BucketCorsPage.test.js +263 -0
  8. package/dist/components/__tests__/BucketCreate.test.js +271 -105
  9. package/dist/components/__tests__/BucketDetails.test.d.ts +1 -0
  10. package/dist/components/__tests__/BucketDetails.test.js +421 -0
  11. package/dist/components/__tests__/BucketLifecycleFormPage.test.d.ts +13 -0
  12. package/dist/components/__tests__/BucketLifecycleFormPage.test.js +178 -178
  13. package/dist/components/__tests__/BucketLifecycleList.test.js +85 -85
  14. package/dist/components/__tests__/BucketList.test.js +463 -239
  15. package/dist/components/__tests__/BucketNotificationFormPage.test.d.ts +1 -0
  16. package/dist/components/__tests__/BucketNotificationFormPage.test.js +348 -0
  17. package/dist/components/__tests__/BucketNotificationList.test.d.ts +1 -0
  18. package/dist/components/__tests__/BucketNotificationList.test.js +379 -0
  19. package/dist/components/__tests__/BucketOverview.test.js +281 -266
  20. package/dist/components/__tests__/BucketPolicyPage.test.js +151 -99
  21. package/dist/components/__tests__/BucketReplicationFormPage.test.d.ts +15 -0
  22. package/dist/components/__tests__/BucketReplicationFormPage.test.js +544 -544
  23. package/dist/components/__tests__/BucketReplicationList.test.js +106 -106
  24. package/dist/components/__tests__/CreateFolderButton.test.js +56 -56
  25. package/dist/components/__tests__/DeleteBucketButton.test.js +64 -64
  26. package/dist/components/__tests__/DeleteBucketConfigRuleButton.test.js +47 -47
  27. package/dist/components/__tests__/DeleteObjectButton.test.js +64 -64
  28. package/dist/components/__tests__/EmptyBucketButton.test.js +59 -59
  29. package/dist/components/__tests__/MetadataSearch.test.js +65 -65
  30. package/dist/components/__tests__/ObjectList.test.js +741 -240
  31. package/dist/components/__tests__/UploadButton.test.js +45 -45
  32. package/dist/components/breadcrumb/Breadcrumb.d.ts +6 -0
  33. package/dist/components/breadcrumb/Breadcrumb.js +37 -0
  34. package/dist/components/breadcrumb/DataBrowserBreadcrumb.d.ts +1 -0
  35. package/dist/components/breadcrumb/DataBrowserBreadcrumb.js +10 -0
  36. package/dist/components/breadcrumb/__tests__/Breadcrumb.test.d.ts +1 -0
  37. package/dist/components/breadcrumb/__tests__/Breadcrumb.test.js +196 -0
  38. package/dist/components/breadcrumb/__tests__/DataBrowserBreadcrumb.test.d.ts +1 -0
  39. package/dist/components/breadcrumb/__tests__/DataBrowserBreadcrumb.test.js +153 -0
  40. package/dist/components/breadcrumb/__tests__/useBreadcrumbPaths.test.d.ts +1 -0
  41. package/dist/components/breadcrumb/__tests__/useBreadcrumbPaths.test.js +134 -0
  42. package/dist/components/breadcrumb/index.d.ts +8 -0
  43. package/dist/components/breadcrumb/index.js +4 -0
  44. package/dist/components/breadcrumb/useBreadcrumbPaths.d.ts +2 -0
  45. package/dist/components/breadcrumb/useBreadcrumbPaths.js +82 -0
  46. package/dist/components/buckets/BucketAccessor.d.ts +2 -0
  47. package/dist/components/buckets/BucketAccessor.js +125 -0
  48. package/dist/components/buckets/BucketConfigEditButton.d.ts +8 -0
  49. package/dist/components/buckets/{BucketPolicyButton.js → BucketConfigEditButton.js} +9 -5
  50. package/dist/components/buckets/BucketCorsPage.d.ts +1 -0
  51. package/dist/components/buckets/BucketCorsPage.js +234 -0
  52. package/dist/components/buckets/BucketCreate.d.ts +3 -2
  53. package/dist/components/buckets/BucketCreate.js +93 -47
  54. package/dist/components/buckets/BucketDetails.d.ts +42 -0
  55. package/dist/components/buckets/BucketDetails.js +249 -85
  56. package/dist/components/buckets/BucketLifecycleFormPage.js +225 -191
  57. package/dist/components/buckets/BucketLifecycleList.d.ts +2 -2
  58. package/dist/components/buckets/BucketLifecycleList.js +59 -61
  59. package/dist/components/buckets/BucketList.d.ts +7 -8
  60. package/dist/components/buckets/BucketList.js +158 -101
  61. package/dist/components/buckets/BucketLocation.js +4 -4
  62. package/dist/components/buckets/BucketOverview.d.ts +22 -2
  63. package/dist/components/buckets/BucketOverview.js +394 -187
  64. package/dist/components/buckets/BucketPage.js +43 -21
  65. package/dist/components/buckets/BucketPolicyPage.js +155 -127
  66. package/dist/components/buckets/BucketReplicationFormPage.js +134 -133
  67. package/dist/components/buckets/BucketReplicationList.d.ts +2 -2
  68. package/dist/components/buckets/BucketReplicationList.js +48 -45
  69. package/dist/components/buckets/BucketVersioning.d.ts +4 -0
  70. package/dist/components/buckets/BucketVersioning.js +76 -0
  71. package/dist/components/buckets/DeleteBucketButton.js +8 -8
  72. package/dist/components/buckets/DeleteBucketConfigRuleButton.d.ts +2 -2
  73. package/dist/components/buckets/DeleteBucketConfigRuleButton.js +2 -2
  74. package/dist/components/buckets/EmptyBucketButton.js +24 -24
  75. package/dist/components/buckets/EmptyBucketSummary.d.ts +2 -2
  76. package/dist/components/buckets/EmptyBucketSummary.js +1 -1
  77. package/dist/components/buckets/EmptyBucketSummaryList.d.ts +1 -1
  78. package/dist/components/buckets/EmptyBucketSummaryList.js +22 -22
  79. package/dist/components/buckets/__tests__/BucketVersioning.test.d.ts +1 -0
  80. package/dist/components/buckets/__tests__/BucketVersioning.test.js +163 -0
  81. package/dist/components/buckets/notifications/BucketNotificationFormPage.d.ts +1 -0
  82. package/dist/components/buckets/notifications/BucketNotificationFormPage.js +316 -0
  83. package/dist/components/buckets/notifications/BucketNotificationList.d.ts +10 -0
  84. package/dist/components/buckets/notifications/BucketNotificationList.js +267 -0
  85. package/dist/components/buckets/notifications/EventsSection.js +145 -29
  86. package/dist/components/buckets/notifications/__tests__/events.test.d.ts +1 -0
  87. package/dist/components/buckets/notifications/__tests__/events.test.js +56 -0
  88. package/dist/components/buckets/notifications/events.d.ts +71 -7
  89. package/dist/components/buckets/notifications/events.js +98 -16
  90. package/dist/components/index.d.ts +27 -20
  91. package/dist/components/index.js +17 -10
  92. package/dist/components/layouts/ArrowNavigation.d.ts +3 -0
  93. package/dist/components/layouts/ArrowNavigation.js +28 -0
  94. package/dist/components/layouts/BrowserPageLayout.d.ts +5 -1
  95. package/dist/components/layouts/BrowserPageLayout.js +10 -5
  96. package/dist/components/objects/CreateFolderButton.d.ts +2 -2
  97. package/dist/components/objects/CreateFolderButton.js +12 -12
  98. package/dist/components/objects/DeleteObjectButton.d.ts +1 -1
  99. package/dist/components/objects/DeleteObjectButton.js +19 -21
  100. package/dist/components/objects/GetPresignedUrlButton.d.ts +7 -0
  101. package/dist/components/objects/GetPresignedUrlButton.js +255 -0
  102. package/dist/components/objects/ObjectDetails/ObjectMetadata.d.ts +2 -2
  103. package/dist/components/objects/ObjectDetails/ObjectMetadata.js +289 -230
  104. package/dist/components/objects/ObjectDetails/ObjectSummary.d.ts +2 -2
  105. package/dist/components/objects/ObjectDetails/ObjectSummary.js +540 -138
  106. package/dist/components/objects/ObjectDetails/ObjectTags.d.ts +2 -2
  107. package/dist/components/objects/ObjectDetails/ObjectTags.js +103 -123
  108. package/dist/components/objects/ObjectDetails/__tests__/ObjectDetails.test.d.ts +1 -0
  109. package/dist/components/objects/ObjectDetails/__tests__/ObjectDetails.test.js +516 -0
  110. package/dist/components/objects/ObjectDetails/__tests__/ObjectSummary.test.d.ts +1 -0
  111. package/dist/components/objects/ObjectDetails/__tests__/ObjectSummary.test.js +1064 -0
  112. package/dist/components/objects/ObjectDetails/formUtils.d.ts +15 -0
  113. package/dist/components/objects/ObjectDetails/formUtils.js +7 -0
  114. package/dist/components/objects/ObjectDetails/index.d.ts +18 -2
  115. package/dist/components/objects/ObjectDetails/index.js +152 -40
  116. package/dist/components/objects/ObjectList.d.ts +12 -10
  117. package/dist/components/objects/ObjectList.js +590 -263
  118. package/dist/components/objects/ObjectLock/EditRetentionButton.js +4 -4
  119. package/dist/components/objects/ObjectLock/ObjectLockRetentionSettings.js +15 -15
  120. package/dist/components/objects/ObjectLock/ObjectLockSettings.d.ts +1 -1
  121. package/dist/components/objects/ObjectLock/ObjectLockSettings.js +32 -31
  122. package/dist/components/objects/ObjectLock/ObjectLockSettingsUtils.d.ts +1 -1
  123. package/dist/components/objects/ObjectLock/ObjectLockSettingsUtils.js +6 -6
  124. package/dist/components/objects/ObjectLock/__tests__/EditRetentionButton.test.js +51 -51
  125. package/dist/components/objects/ObjectLock/__tests__/ObjectLockSettings.test.js +78 -78
  126. package/dist/components/objects/ObjectPage.js +12 -8
  127. package/dist/components/objects/UploadButton.d.ts +3 -3
  128. package/dist/components/objects/UploadButton.js +10 -10
  129. package/dist/components/objects/__tests__/GetPresignedUrlButton.test.d.ts +1 -0
  130. package/dist/components/objects/__tests__/GetPresignedUrlButton.test.js +531 -0
  131. package/dist/components/providers/DataBrowserProvider.d.ts +23 -12
  132. package/dist/components/providers/DataBrowserProvider.js +60 -38
  133. package/dist/components/providers/QueryProvider.d.ts +9 -0
  134. package/dist/components/providers/QueryProvider.js +21 -0
  135. package/dist/components/search/MetadataSearch.js +29 -28
  136. package/dist/components/search/SearchHints.js +1 -1
  137. package/dist/components/ui/ArrayFieldActions.js +12 -7
  138. package/dist/components/ui/ConfirmDeleteRuleModal.d.ts +2 -2
  139. package/dist/components/ui/ConfirmDeleteRuleModal.js +6 -1
  140. package/dist/components/ui/DeleteObjectModalContent.d.ts +1 -1
  141. package/dist/components/ui/DeleteObjectModalContent.js +12 -12
  142. package/dist/components/ui/FilterFormSection.d.ts +2 -2
  143. package/dist/components/ui/FilterFormSection.js +29 -29
  144. package/dist/components/ui/Search.elements.d.ts +2 -2
  145. package/dist/components/ui/Search.elements.js +7 -7
  146. package/dist/components/ui/Table.elements.d.ts +2 -1
  147. package/dist/components/ui/Table.elements.js +18 -12
  148. package/dist/config/__tests__/factory.test.d.ts +1 -0
  149. package/dist/config/__tests__/factory.test.js +311 -0
  150. package/dist/config/factory.d.ts +10 -56
  151. package/dist/config/factory.js +23 -71
  152. package/dist/config/types.d.ts +212 -34
  153. package/dist/contexts/DataBrowserUICustomizationContext.d.ts +27 -0
  154. package/dist/contexts/DataBrowserUICustomizationContext.js +13 -0
  155. package/dist/hooks/__tests__/useAccessibleBuckets.test.d.ts +1 -0
  156. package/dist/hooks/__tests__/useAccessibleBuckets.test.js +145 -0
  157. package/dist/hooks/__tests__/useISVBucketDetection.test.js +45 -45
  158. package/dist/hooks/__tests__/useIsBucketEmpty.test.js +27 -27
  159. package/dist/hooks/__tests__/useLoginMutation.test.d.ts +1 -0
  160. package/dist/hooks/__tests__/useLoginMutation.test.js +194 -0
  161. package/dist/hooks/bucketConfiguration.d.ts +8 -1
  162. package/dist/hooks/bucketConfiguration.js +52 -51
  163. package/dist/hooks/bucketOperations.d.ts +10 -1
  164. package/dist/hooks/bucketOperations.js +10 -9
  165. package/dist/hooks/factories/__tests__/useCreateS3FunctionMutationHook.test.js +80 -80
  166. package/dist/hooks/factories/__tests__/useCreateS3InfiniteQueryHook.test.js +80 -80
  167. package/dist/hooks/factories/__tests__/useCreateS3LoginHook.test.js +44 -44
  168. package/dist/hooks/factories/__tests__/useCreateS3MutationHook.test.js +63 -63
  169. package/dist/hooks/factories/__tests__/useCreateS3QueryHook.test.js +65 -65
  170. package/dist/hooks/factories/index.d.ts +4 -4
  171. package/dist/hooks/factories/index.js +2 -2
  172. package/dist/hooks/factories/useCreateS3InfiniteQueryHook.d.ts +2 -2
  173. package/dist/hooks/factories/useCreateS3InfiniteQueryHook.js +16 -13
  174. package/dist/hooks/factories/useCreateS3LoginHook.d.ts +2 -2
  175. package/dist/hooks/factories/useCreateS3LoginHook.js +1 -1
  176. package/dist/hooks/factories/useCreateS3MutationHook.d.ts +3 -3
  177. package/dist/hooks/factories/useCreateS3MutationHook.js +7 -2
  178. package/dist/hooks/factories/useCreateS3QueryHook.d.ts +2 -2
  179. package/dist/hooks/factories/useCreateS3QueryHook.js +11 -6
  180. package/dist/hooks/index.d.ts +19 -12
  181. package/dist/hooks/index.js +16 -9
  182. package/dist/hooks/loginOperations.d.ts +1 -1
  183. package/dist/hooks/loginOperations.js +1 -1
  184. package/dist/hooks/objectOperations.d.ts +2 -2
  185. package/dist/hooks/objectOperations.js +50 -49
  186. package/dist/hooks/presignedOperations.d.ts +4 -4
  187. package/dist/hooks/presignedOperations.js +5 -5
  188. package/dist/hooks/useAccessibleBuckets.d.ts +11 -0
  189. package/dist/hooks/useAccessibleBuckets.js +115 -0
  190. package/dist/hooks/useBatchObjectLegalHold.d.ts +11 -0
  191. package/dist/hooks/useBatchObjectLegalHold.js +48 -0
  192. package/dist/hooks/useBucketConfigEditor.d.ts +31 -0
  193. package/dist/hooks/useBucketConfigEditor.js +82 -0
  194. package/dist/hooks/useDataBrowserNavigate.d.ts +28 -0
  195. package/dist/hooks/useDataBrowserNavigate.js +24 -0
  196. package/dist/hooks/useDeleteBucketConfigRule.d.ts +2 -2
  197. package/dist/hooks/useDeleteBucketConfigRule.js +4 -4
  198. package/dist/hooks/useEmptyBucket.js +11 -11
  199. package/dist/hooks/useFeatures.d.ts +7 -0
  200. package/dist/hooks/useFeatures.js +8 -0
  201. package/dist/hooks/useISVBucketDetection.js +6 -6
  202. package/dist/hooks/useIsBucketEmpty.js +4 -4
  203. package/dist/hooks/useLimitedAccessFlow.d.ts +48 -0
  204. package/dist/hooks/useLimitedAccessFlow.js +23 -0
  205. package/dist/hooks/useS3Client.d.ts +6 -0
  206. package/dist/hooks/useS3Client.js +3 -2
  207. package/dist/hooks/useS3ConfigSwitch.d.ts +11 -0
  208. package/dist/hooks/useS3ConfigSwitch.js +37 -0
  209. package/dist/hooks/useSupportedNotificationEvents.d.ts +6 -0
  210. package/dist/hooks/useSupportedNotificationEvents.js +8 -0
  211. package/dist/index.d.ts +6 -6
  212. package/dist/index.js +2 -2
  213. package/dist/schemas/bucketPolicySchema.json +3 -13
  214. package/dist/test/msw/handlers/deleteBucket.d.ts +1 -1
  215. package/dist/test/msw/handlers/deleteBucket.js +20 -10
  216. package/dist/test/msw/handlers/getBucketAcl.d.ts +1 -1
  217. package/dist/test/msw/handlers/getBucketAcl.js +29 -17
  218. package/dist/test/msw/handlers/getBucketLocation.d.ts +1 -1
  219. package/dist/test/msw/handlers/getBucketLocation.js +29 -15
  220. package/dist/test/msw/handlers/getBucketPolicy.d.ts +1 -1
  221. package/dist/test/msw/handlers/getBucketPolicy.js +52 -32
  222. package/dist/test/msw/handlers/headObject.d.ts +1 -1
  223. package/dist/test/msw/handlers/headObject.js +31 -13
  224. package/dist/test/msw/handlers/listBuckets.d.ts +1 -1
  225. package/dist/test/msw/handlers/listBuckets.js +5 -3
  226. package/dist/test/msw/handlers/listObjectVersions.d.ts +1 -1
  227. package/dist/test/msw/handlers/listObjectVersions.js +38 -26
  228. package/dist/test/msw/handlers/listObjects.d.ts +1 -1
  229. package/dist/test/msw/handlers/listObjects.js +35 -23
  230. package/dist/test/msw/handlers/objectLegalHold.d.ts +1 -1
  231. package/dist/test/msw/handlers/objectLegalHold.js +32 -17
  232. package/dist/test/msw/handlers/objectRetention.d.ts +1 -1
  233. package/dist/test/msw/handlers/objectRetention.js +31 -17
  234. package/dist/test/msw/handlers/putBucketAcl.d.ts +1 -1
  235. package/dist/test/msw/handlers/putBucketAcl.js +29 -14
  236. package/dist/test/msw/handlers/putObject.d.ts +1 -1
  237. package/dist/test/msw/handlers/putObject.js +27 -12
  238. package/dist/test/msw/handlers.d.ts +3 -3
  239. package/dist/test/msw/handlers.js +77 -54
  240. package/dist/test/msw/index.d.ts +2 -2
  241. package/dist/test/msw/index.js +1 -1
  242. package/dist/test/msw/server.d.ts +1 -1
  243. package/dist/test/msw/server.js +1 -1
  244. package/dist/test/msw/utils.js +2 -2
  245. package/dist/test/setup.d.ts +1 -1
  246. package/dist/test/setup.js +13 -30
  247. package/dist/test/testUtils.d.ts +85 -33
  248. package/dist/test/testUtils.js +176 -111
  249. package/dist/test/utils/errorHandling.test.js +119 -119
  250. package/dist/types/index.d.ts +50 -37
  251. package/dist/types/monaco.d.ts +13 -0
  252. package/dist/types/monaco.js +0 -0
  253. package/dist/utils/__tests__/proxyMiddleware.test.d.ts +1 -0
  254. package/dist/utils/__tests__/proxyMiddleware.test.js +579 -0
  255. package/dist/utils/__tests__/s3Client.test.d.ts +1 -0
  256. package/dist/utils/__tests__/s3Client.test.js +340 -0
  257. package/dist/utils/__tests__/s3ConfigIdentifier.test.d.ts +1 -0
  258. package/dist/utils/__tests__/s3ConfigIdentifier.test.js +437 -0
  259. package/dist/utils/constants.d.ts +10 -0
  260. package/dist/utils/constants.js +19 -9
  261. package/dist/utils/deletion/index.d.ts +2 -2
  262. package/dist/utils/deletion/index.js +1 -1
  263. package/dist/utils/deletion/messages.d.ts +1 -1
  264. package/dist/utils/deletion/messages.js +4 -4
  265. package/dist/utils/errorHandling.d.ts +3 -3
  266. package/dist/utils/errorHandling.js +6 -6
  267. package/dist/utils/hooks.js +8 -8
  268. package/dist/utils/index.d.ts +5 -4
  269. package/dist/utils/index.js +4 -2
  270. package/dist/utils/proxyMiddleware.d.ts +32 -13
  271. package/dist/utils/proxyMiddleware.js +90 -36
  272. package/dist/utils/s3Client.d.ts +14 -4
  273. package/dist/utils/s3Client.js +5 -26
  274. package/dist/utils/s3ConfigIdentifier.d.ts +79 -0
  275. package/dist/utils/s3ConfigIdentifier.js +57 -0
  276. package/dist/utils/s3RuleUtils.d.ts +5 -5
  277. package/dist/utils/s3RuleUtils.js +17 -17
  278. package/package.json +10 -8
  279. package/dist/components/__tests__/BucketNotificationCreatePage.test.js +0 -316
  280. package/dist/components/buckets/BucketPolicyButton.d.ts +0 -7
  281. package/dist/components/buckets/notifications/BucketNotificationCreatePage.d.ts +0 -1
  282. package/dist/components/buckets/notifications/BucketNotificationCreatePage.js +0 -234
  283. package/dist/hooks/useLoginMutation.d.ts +0 -21
  284. package/dist/hooks/useLoginMutation.js +0 -9
  285. package/dist/utils/useFeatures.d.ts +0 -1
  286. package/dist/utils/useFeatures.js +0 -7
  287. /package/dist/components/__tests__/{BucketNotificationCreatePage.test.d.ts → BucketAccessor.test.d.ts} +0 -0
@@ -1,10 +1,10 @@
1
1
  import { renderHook, waitFor } from "@testing-library/react";
2
- import { useCreateS3QueryHook } from "../useCreateS3QueryHook.js";
3
- import { useS3Client } from "../../useS3Client.js";
2
+ import { createTestWrapper, validateFactoryHook, validateHookResult } from "../../../test/testUtils.js";
4
3
  import { createS3OperationError, isNotFoundError } from "../../../utils/errorHandling.js";
5
- import { createQueryWrapper, validateFactoryHook, validateHookResult } from "../../../test/testUtils.js";
6
- jest.mock("../../useS3Client");
7
- jest.mock("../../../utils/errorHandling");
4
+ import { useS3Client } from "../../useS3Client.js";
5
+ import { useCreateS3QueryHook } from "../useCreateS3QueryHook.js";
6
+ jest.mock('../../useS3Client');
7
+ jest.mock('../../../utils/errorHandling');
8
8
  const mockUseS3Client = useS3Client;
9
9
  const mockCreateS3OperationError = createS3OperationError;
10
10
  const mockIsNotFoundError = isNotFoundError;
@@ -17,48 +17,48 @@ class MockCommand {
17
17
  const mockS3Client = {
18
18
  send: jest.fn()
19
19
  };
20
- describe("useCreateS3QueryHook - Factory Specific", ()=>{
20
+ describe('useCreateS3QueryHook - Factory Specific', ()=>{
21
21
  beforeEach(()=>{
22
22
  jest.clearAllMocks();
23
23
  mockUseS3Client.mockReturnValue(mockS3Client);
24
24
  });
25
- it("should create a functioning query hook", ()=>{
26
- const useTestQuery = useCreateS3QueryHook(MockCommand, "testOperation");
27
- validateFactoryHook(useTestQuery, "testOperation");
25
+ it('should create a functioning query hook', ()=>{
26
+ const useTestQuery = useCreateS3QueryHook(MockCommand, 'testOperation');
27
+ validateFactoryHook(useTestQuery, 'testOperation');
28
28
  const { result } = renderHook(()=>useTestQuery({
29
- testParam: "value"
29
+ testParam: 'value'
30
30
  }), {
31
- wrapper: createQueryWrapper()
31
+ wrapper: createTestWrapper()
32
32
  });
33
- validateHookResult(result.current, "query");
33
+ validateHookResult(result.current, 'query');
34
34
  });
35
- it("should accept and forward query options correctly", ()=>{
36
- const useTestQuery = useCreateS3QueryHook(MockCommand, "testOperation");
35
+ it('should accept and forward query options correctly', ()=>{
36
+ const useTestQuery = useCreateS3QueryHook(MockCommand, 'testOperation');
37
37
  const customOptions = {
38
38
  enabled: false,
39
39
  staleTime: 5000,
40
40
  refetchOnWindowFocus: false
41
41
  };
42
42
  const { result } = renderHook(()=>useTestQuery({
43
- testParam: "value"
43
+ testParam: 'value'
44
44
  }, customOptions), {
45
- wrapper: createQueryWrapper()
45
+ wrapper: createTestWrapper()
46
46
  });
47
- expect(result.current.fetchStatus).toBe("idle");
47
+ expect(result.current.fetchStatus).toBe('idle');
48
48
  expect(result.current.isLoading).toBe(false);
49
49
  });
50
- it("should handle successful query execution", async ()=>{
50
+ it('should handle successful query execution', async ()=>{
51
51
  const mockResponse = {
52
- data: "test-response",
53
- status: "success"
52
+ data: 'test-response',
53
+ status: 'success'
54
54
  };
55
55
  mockS3Client.send.mockResolvedValue(mockResponse);
56
- const useTestQuery = useCreateS3QueryHook(MockCommand, "testOperation");
56
+ const useTestQuery = useCreateS3QueryHook(MockCommand, 'testOperation');
57
57
  const { result } = renderHook(()=>useTestQuery({
58
- Bucket: "test-bucket",
59
- Key: "test-key"
58
+ Bucket: 'test-bucket',
59
+ Key: 'test-key'
60
60
  }), {
61
- wrapper: createQueryWrapper()
61
+ wrapper: createTestWrapper()
62
62
  });
63
63
  await waitFor(()=>{
64
64
  expect(result.current.isSuccess).toBe(true);
@@ -68,52 +68,52 @@ describe("useCreateS3QueryHook - Factory Specific", ()=>{
68
68
  abortSignal: expect.any(AbortSignal)
69
69
  }));
70
70
  });
71
- it("should handle query errors with proper context", async ()=>{
72
- const mockError = new Error("S3 Service Error");
73
- const enhancedError = new Error("Enhanced S3 Service Error");
71
+ it('should handle query errors with proper context', async ()=>{
72
+ const mockError = new Error('S3 Service Error');
73
+ const enhancedError = new Error('Enhanced S3 Service Error');
74
74
  mockS3Client.send.mockRejectedValue(mockError);
75
75
  mockCreateS3OperationError.mockReturnValue(enhancedError);
76
- const useTestQuery = useCreateS3QueryHook(MockCommand, "testOperation");
76
+ const useTestQuery = useCreateS3QueryHook(MockCommand, 'testOperation');
77
77
  const { result } = renderHook(()=>useTestQuery({
78
- Bucket: "test-bucket",
79
- Key: "test-key"
78
+ Bucket: 'test-bucket',
79
+ Key: 'test-key'
80
80
  }), {
81
- wrapper: createQueryWrapper()
81
+ wrapper: createTestWrapper()
82
82
  });
83
83
  await waitFor(()=>{
84
84
  expect(result.current.isError).toBe(true);
85
85
  });
86
86
  expect(result.current.error).toBe(enhancedError);
87
- expect(mockCreateS3OperationError).toHaveBeenCalledWith(mockError, "testOperation", "test-bucket");
87
+ expect(mockCreateS3OperationError).toHaveBeenCalledWith(mockError, 'testOperation', 'test-bucket');
88
88
  });
89
- it("should handle parameter validation correctly", ()=>{
90
- const useTestQuery = useCreateS3QueryHook(MockCommand, "testOperation");
89
+ it('should handle parameter validation correctly', ()=>{
90
+ const useTestQuery = useCreateS3QueryHook(MockCommand, 'testOperation');
91
91
  const { result: invalidResult } = renderHook(()=>useTestQuery({
92
- Bucket: "test",
92
+ Bucket: 'test',
93
93
  Key: void 0
94
94
  }), {
95
- wrapper: createQueryWrapper()
95
+ wrapper: createTestWrapper()
96
96
  });
97
- expect(invalidResult.current.fetchStatus).toBe("idle");
97
+ expect(invalidResult.current.fetchStatus).toBe('idle');
98
98
  const { result: validResult } = renderHook(()=>useTestQuery({
99
- Bucket: "test",
100
- Key: "valid-key"
99
+ Bucket: 'test',
100
+ Key: 'valid-key'
101
101
  }), {
102
- wrapper: createQueryWrapper()
102
+ wrapper: createTestWrapper()
103
103
  });
104
- expect(validResult.current.fetchStatus).not.toBe("idle");
104
+ expect(validResult.current.fetchStatus).not.toBe('idle');
105
105
  });
106
- it("should handle empty string parameters correctly", ()=>{
107
- const useTestQuery = useCreateS3QueryHook(MockCommand, "testOperation");
106
+ it('should handle empty string parameters correctly', ()=>{
107
+ const useTestQuery = useCreateS3QueryHook(MockCommand, 'testOperation');
108
108
  const { result: emptyResult } = renderHook(()=>useTestQuery({
109
- Bucket: "test",
110
- Key: ""
109
+ Bucket: 'test',
110
+ Key: ''
111
111
  }), {
112
- wrapper: createQueryWrapper()
112
+ wrapper: createTestWrapper()
113
113
  });
114
- expect(emptyResult.current.fetchStatus).not.toBe("idle");
114
+ expect(emptyResult.current.fetchStatus).not.toBe('idle');
115
115
  });
116
- it("should pass AbortSignal correctly to S3 client", async ()=>{
116
+ it('should pass AbortSignal correctly to S3 client', async ()=>{
117
117
  let capturedAbortSignal;
118
118
  mockS3Client.send.mockImplementation((_command, options)=>{
119
119
  capturedAbortSignal = options?.abortSignal;
@@ -121,12 +121,12 @@ describe("useCreateS3QueryHook - Factory Specific", ()=>{
121
121
  success: true
122
122
  });
123
123
  });
124
- const useTestQuery = useCreateS3QueryHook(MockCommand, "testOperation");
124
+ const useTestQuery = useCreateS3QueryHook(MockCommand, 'testOperation');
125
125
  const { result } = renderHook(()=>useTestQuery({
126
- Bucket: "test",
127
- Key: "test"
126
+ Bucket: 'test',
127
+ Key: 'test'
128
128
  }), {
129
- wrapper: createQueryWrapper()
129
+ wrapper: createTestWrapper()
130
130
  });
131
131
  await waitFor(()=>{
132
132
  expect(result.current.isSuccess).toBe(true);
@@ -134,19 +134,19 @@ describe("useCreateS3QueryHook - Factory Specific", ()=>{
134
134
  expect(capturedAbortSignal).toBeInstanceOf(AbortSignal);
135
135
  expect(capturedAbortSignal?.aborted).toBe(false);
136
136
  });
137
- it("should return empty config for supported operations when NOT_FOUND error occurs", async ()=>{
138
- const error = new Error("Configuration does not exist");
139
- error.name = "NoSuchConfiguration";
137
+ it('should return empty config for supported operations when NOT_FOUND error occurs', async ()=>{
138
+ const error = new Error('Configuration does not exist');
139
+ error.name = 'NoSuchConfiguration';
140
140
  error.$metadata = {
141
141
  httpStatusCode: 404
142
142
  };
143
143
  mockS3Client.send.mockRejectedValueOnce(error);
144
144
  mockIsNotFoundError.mockReturnValueOnce(true);
145
- const useTestQuery = useCreateS3QueryHook(MockCommand, "GetBucketLifecycleConfiguration");
145
+ const useTestQuery = useCreateS3QueryHook(MockCommand, 'GetBucketLifecycleConfiguration');
146
146
  const { result } = renderHook(()=>useTestQuery({
147
- Bucket: "test-bucket"
147
+ Bucket: 'test-bucket'
148
148
  }), {
149
- wrapper: createQueryWrapper()
149
+ wrapper: createTestWrapper()
150
150
  });
151
151
  await waitFor(()=>{
152
152
  expect(result.current.isSuccess).toBe(true);
@@ -154,21 +154,21 @@ describe("useCreateS3QueryHook - Factory Specific", ()=>{
154
154
  expect(result.current.data).toBeDefined();
155
155
  expect(mockIsNotFoundError).toHaveBeenCalledWith(error);
156
156
  });
157
- it("should throw error when NOT_FOUND occurs for unsupported operations", async ()=>{
158
- const error = new Error("Bucket not found");
159
- error.name = "NoSuchBucket";
157
+ it('should throw error when NOT_FOUND occurs for unsupported operations', async ()=>{
158
+ const error = new Error('Bucket not found');
159
+ error.name = 'NoSuchBucket';
160
160
  error.$metadata = {
161
161
  httpStatusCode: 404
162
162
  };
163
- const enhancedError = new Error("Enhanced error");
163
+ const enhancedError = new Error('Enhanced error');
164
164
  mockS3Client.send.mockRejectedValueOnce(error);
165
165
  mockIsNotFoundError.mockReturnValueOnce(true);
166
166
  mockCreateS3OperationError.mockReturnValueOnce(enhancedError);
167
- const useTestQuery = useCreateS3QueryHook(MockCommand, "GetBucketAcl");
167
+ const useTestQuery = useCreateS3QueryHook(MockCommand, 'GetBucketAcl');
168
168
  const { result } = renderHook(()=>useTestQuery({
169
- Bucket: "test-bucket"
169
+ Bucket: 'test-bucket'
170
170
  }), {
171
- wrapper: createQueryWrapper()
171
+ wrapper: createTestWrapper()
172
172
  });
173
173
  await waitFor(()=>{
174
174
  expect(result.current.isError).toBe(true);
@@ -12,7 +12,7 @@
12
12
  * - AbortSignal support for cancellation
13
13
  * - Bucket/object context extraction for errors
14
14
  */
15
- export { useCreateS3QueryHook } from "./useCreateS3QueryHook";
16
- export { useCreateS3MutationHook, useCreateS3FunctionMutationHook, } from "./useCreateS3MutationHook";
17
- export { useCreateS3InfiniteQueryHook } from "./useCreateS3InfiniteQueryHook";
18
- export { useCreateS3LoginHook } from "./useCreateS3LoginHook";
15
+ export { useCreateS3InfiniteQueryHook } from './useCreateS3InfiniteQueryHook';
16
+ export { useCreateS3LoginHook } from './useCreateS3LoginHook';
17
+ export { useCreateS3FunctionMutationHook, useCreateS3MutationHook, } from './useCreateS3MutationHook';
18
+ export { useCreateS3QueryHook } from './useCreateS3QueryHook';
@@ -1,5 +1,5 @@
1
- import { useCreateS3QueryHook } from "./useCreateS3QueryHook.js";
2
- import { useCreateS3FunctionMutationHook, useCreateS3MutationHook } from "./useCreateS3MutationHook.js";
3
1
  import { useCreateS3InfiniteQueryHook } from "./useCreateS3InfiniteQueryHook.js";
4
2
  import { useCreateS3LoginHook } from "./useCreateS3LoginHook.js";
3
+ import { useCreateS3FunctionMutationHook, useCreateS3MutationHook } from "./useCreateS3MutationHook.js";
4
+ import { useCreateS3QueryHook } from "./useCreateS3QueryHook.js";
5
5
  export { useCreateS3FunctionMutationHook, useCreateS3InfiniteQueryHook, useCreateS3LoginHook, useCreateS3MutationHook, useCreateS3QueryHook };
@@ -1,5 +1,5 @@
1
- import { UseInfiniteQueryOptions, UseInfiniteQueryResult } from "@tanstack/react-query";
2
- import { EnhancedS3Error } from "../../utils/errorHandling";
1
+ import { type UseInfiniteQueryOptions, type UseInfiniteQueryResult } from '@tanstack/react-query';
2
+ import { type EnhancedS3Error } from '../../utils/errorHandling';
3
3
  /**
4
4
  * Factory function for creating S3 infinite query hooks
5
5
  *
@@ -1,11 +1,14 @@
1
1
  import { useInfiniteQuery } from "@tanstack/react-query";
2
- import { useS3Client } from "../useS3Client.js";
2
+ import { useDataBrowserContext } from "../../components/providers/DataBrowserProvider.js";
3
3
  import { createS3OperationError, shouldRetryError } from "../../utils/errorHandling.js";
4
+ import { useS3Client } from "../useS3Client.js";
4
5
  function useCreateS3InfiniteQueryHook(Command, operationName) {
5
6
  return (params, options)=>{
7
+ const { s3ConfigIdentifier } = useDataBrowserContext();
6
8
  const s3Client = useS3Client();
7
9
  const queryOptions = {
8
10
  queryKey: [
11
+ s3ConfigIdentifier,
9
12
  operationName,
10
13
  params
11
14
  ],
@@ -20,7 +23,7 @@ function useCreateS3InfiniteQueryHook(Command, operationName) {
20
23
  });
21
24
  return response;
22
25
  } catch (error) {
23
- const bucketName = "Bucket" in params ? params.Bucket : void 0;
26
+ const bucketName = 'Bucket' in params ? params.Bucket : void 0;
24
27
  throw createS3OperationError(error, operationName, bucketName);
25
28
  }
26
29
  },
@@ -28,8 +31,8 @@ function useCreateS3InfiniteQueryHook(Command, operationName) {
28
31
  initialPageParam: void 0,
29
32
  getNextPageParam: (lastPage)=>getNextPageToken(operationName, lastPage),
30
33
  enabled: params ? Object.entries(params).every(([key, value])=>{
31
- if ("Prefix" === key) return void 0 !== value;
32
- return void 0 !== value && "" !== value;
34
+ if ('Prefix' === key) return void 0 !== value;
35
+ return void 0 !== value && '' !== value;
33
36
  }) : true,
34
37
  ...options
35
38
  };
@@ -38,18 +41,18 @@ function useCreateS3InfiniteQueryHook(Command, operationName) {
38
41
  }
39
42
  function getPaginationParams(operationName, pageParam) {
40
43
  switch(operationName){
41
- case "ListObjects":
44
+ case 'ListObjects':
42
45
  return {
43
46
  ContinuationToken: pageParam
44
47
  };
45
- case "ListObjectVersions":
46
- if (pageParam.includes("|")) {
47
- const [keyMarker, versionIdMarker] = pageParam.split("|");
48
+ case 'ListObjectVersions':
49
+ if (pageParam.includes('|')) {
50
+ const [keyMarker, versionIdMarker] = pageParam.split('|');
48
51
  return {
49
- ...keyMarker && "" !== keyMarker ? {
52
+ ...keyMarker && '' !== keyMarker ? {
50
53
  KeyMarker: keyMarker
51
54
  } : {},
52
- ...versionIdMarker && "" !== versionIdMarker ? {
55
+ ...versionIdMarker && '' !== versionIdMarker ? {
53
56
  VersionIdMarker: versionIdMarker
54
57
  } : {}
55
58
  };
@@ -65,10 +68,10 @@ function getPaginationParams(operationName, pageParam) {
65
68
  }
66
69
  function getNextPageToken(operationName, lastPage) {
67
70
  switch(operationName){
68
- case "ListObjects":
71
+ case 'ListObjects':
69
72
  return lastPage.IsTruncated ? lastPage.NextContinuationToken : void 0;
70
- case "ListObjectVersions":
71
- return lastPage.IsTruncated && (lastPage.NextKeyMarker || lastPage.NextVersionIdMarker) ? `${lastPage.NextKeyMarker || ""}|${lastPage.NextVersionIdMarker || ""}` : void 0;
73
+ case 'ListObjectVersions':
74
+ return lastPage.IsTruncated && (lastPage.NextKeyMarker || lastPage.NextVersionIdMarker) ? `${lastPage.NextKeyMarker || ''}|${lastPage.NextVersionIdMarker || ''}` : void 0;
72
75
  default:
73
76
  return lastPage.IsTruncated ? lastPage.NextContinuationToken : void 0;
74
77
  }
@@ -1,5 +1,5 @@
1
- import { UseMutationOptions, UseMutationResult } from "@tanstack/react-query";
2
- import { EnhancedS3Error } from "../../utils/errorHandling";
1
+ import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
2
+ import { type EnhancedS3Error } from '../../utils/errorHandling';
3
3
  /**
4
4
  * Factory function for creating S3 login mutation hooks
5
5
  * This factory handles the special authentication case where we need
@@ -1,5 +1,5 @@
1
- import { useMutation } from "@tanstack/react-query";
2
1
  import { ListBucketsCommand } from "@aws-sdk/client-s3";
2
+ import { useMutation } from "@tanstack/react-query";
3
3
  import { createS3OperationError } from "../../utils/errorHandling.js";
4
4
  import { createS3Client } from "../../utils/s3Client.js";
5
5
  function useCreateS3LoginHook(_Command, operationName) {
@@ -1,5 +1,5 @@
1
- import { UseMutationOptions, UseMutationResult } from "@tanstack/react-query";
2
- import { EnhancedS3Error } from "../../utils/errorHandling";
3
- import { S3Client } from "@aws-sdk/client-s3";
1
+ import type { S3Client } from '@aws-sdk/client-s3';
2
+ import { type UseMutationOptions, type UseMutationResult } from '@tanstack/react-query';
3
+ import { type EnhancedS3Error } from '../../utils/errorHandling';
4
4
  export declare function useCreateS3MutationHook<TInput extends object, TOutput>(Command: new (input: TInput) => any, operationName: string, invalidationKeys?: string[]): (options?: Omit<UseMutationOptions<TOutput, EnhancedS3Error, TInput>, "mutationFn">) => UseMutationResult<TOutput, EnhancedS3Error, TInput>;
5
5
  export declare function useCreateS3FunctionMutationHook<TInput, TOutput>(operation: (s3Client: S3Client, input: TInput) => Promise<TOutput>, invalidationKeys?: string[]): (options?: Omit<UseMutationOptions<TOutput, EnhancedS3Error, TInput>, "mutationFn">) => UseMutationResult<TOutput, EnhancedS3Error, TInput>;
@@ -1,8 +1,10 @@
1
1
  import { useMutation, useQueryClient } from "@tanstack/react-query";
2
- import { useS3Client } from "../useS3Client.js";
2
+ import { useDataBrowserContext } from "../../components/providers/DataBrowserProvider.js";
3
3
  import { createS3OperationError } from "../../utils/errorHandling.js";
4
+ import { useS3Client } from "../useS3Client.js";
4
5
  function useCreateS3MutationHook(Command, operationName, invalidationKeys) {
5
6
  return (options)=>{
7
+ const { s3ConfigIdentifier } = useDataBrowserContext();
6
8
  const s3Client = useS3Client();
7
9
  const queryClient = useQueryClient();
8
10
  return useMutation({
@@ -11,7 +13,7 @@ function useCreateS3MutationHook(Command, operationName, invalidationKeys) {
11
13
  const command = new Command(params);
12
14
  return await s3Client.send(command);
13
15
  } catch (error) {
14
- const bucketName = "Bucket" in params ? params.Bucket : void 0;
16
+ const bucketName = 'Bucket' in params ? params.Bucket : void 0;
15
17
  throw createS3OperationError(error, operationName, bucketName);
16
18
  }
17
19
  },
@@ -19,6 +21,7 @@ function useCreateS3MutationHook(Command, operationName, invalidationKeys) {
19
21
  if (invalidationKeys) invalidationKeys.forEach((key)=>{
20
22
  queryClient.invalidateQueries({
21
23
  queryKey: [
24
+ s3ConfigIdentifier,
22
25
  key
23
26
  ]
24
27
  });
@@ -30,6 +33,7 @@ function useCreateS3MutationHook(Command, operationName, invalidationKeys) {
30
33
  }
31
34
  function useCreateS3FunctionMutationHook(operation, invalidationKeys) {
32
35
  return (options)=>{
36
+ const { s3ConfigIdentifier } = useDataBrowserContext();
33
37
  const s3Client = useS3Client();
34
38
  const queryClient = useQueryClient();
35
39
  return useMutation({
@@ -38,6 +42,7 @@ function useCreateS3FunctionMutationHook(operation, invalidationKeys) {
38
42
  if (invalidationKeys) invalidationKeys.forEach((key)=>{
39
43
  queryClient.invalidateQueries({
40
44
  queryKey: [
45
+ s3ConfigIdentifier,
41
46
  key
42
47
  ]
43
48
  });
@@ -1,3 +1,3 @@
1
- import { QueryKey, UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
2
- import { EnhancedS3Error } from "../../utils/errorHandling";
1
+ import { type QueryKey, type UseQueryOptions, type UseQueryResult } from '@tanstack/react-query';
2
+ import { type EnhancedS3Error } from '../../utils/errorHandling';
3
3
  export declare function useCreateS3QueryHook<TInput extends object, TOutput>(Command: new (input: TInput) => any, operationName: string): (params?: TInput, options?: Omit<UseQueryOptions<TOutput, EnhancedS3Error, TOutput, QueryKey>, "queryKey" | "queryFn">) => UseQueryResult<TOutput, EnhancedS3Error>;
@@ -1,30 +1,35 @@
1
1
  import { useQuery } from "@tanstack/react-query";
2
- import { useS3Client } from "../useS3Client.js";
2
+ import { useDataBrowserContext } from "../../components/providers/DataBrowserProvider.js";
3
3
  import { createS3OperationError, isNotFoundError, shouldRetryError } from "../../utils/errorHandling.js";
4
+ import { useS3Client } from "../useS3Client.js";
4
5
  function getEmptyConfigForOperation(operationName) {
5
6
  switch(operationName){
6
- case "GetBucketLifecycleConfiguration":
7
+ case 'GetBucketLifecycleConfiguration':
7
8
  return {
8
9
  Rules: []
9
10
  };
10
- case "GetBucketReplication":
11
+ case 'GetBucketReplication':
11
12
  return {
12
13
  ReplicationConfiguration: {
13
14
  Rules: [],
14
- Role: ""
15
+ Role: ''
15
16
  }
16
17
  };
18
+ case 'GetPublicAccessBlock':
19
+ return {};
17
20
  default:
18
21
  return null;
19
22
  }
20
23
  }
21
24
  function useCreateS3QueryHook(Command, operationName) {
22
25
  return (params, options)=>{
26
+ const { s3ConfigIdentifier } = useDataBrowserContext();
27
+ const s3Client = useS3Client();
23
28
  const queryKey = [
29
+ s3ConfigIdentifier,
24
30
  operationName,
25
31
  params
26
32
  ];
27
- const s3Client = useS3Client();
28
33
  return useQuery({
29
34
  queryKey,
30
35
  queryFn: async ({ signal })=>{
@@ -34,7 +39,7 @@ function useCreateS3QueryHook(Command, operationName) {
34
39
  abortSignal: signal
35
40
  });
36
41
  } catch (error) {
37
- const bucketName = params && "Bucket" in params ? params.Bucket : void 0;
42
+ const bucketName = params && 'Bucket' in params ? params.Bucket : void 0;
38
43
  if (isNotFoundError(error)) {
39
44
  const emptyConfig = getEmptyConfigForOperation(operationName);
40
45
  if (null !== emptyConfig) return emptyConfig;
@@ -1,12 +1,19 @@
1
- export { useS3Client } from "./useS3Client";
2
- export type { LoginConfig, LoginMutationResult } from "./useLoginMutation";
3
- export { useLoginMutation } from "./loginOperations";
4
- export { useIsBucketEmpty } from "./useIsBucketEmpty";
5
- export { useEmptyBucket } from "./useEmptyBucket";
6
- export { useDeleteBucketConfigRule } from "./useDeleteBucketConfigRule";
7
- export { useTableRowSelection } from "./useTableRowSelection";
8
- export { useISVBucketStatus } from "./useISVBucketDetection";
9
- export { useBuckets, useGetBucketLocation, useCreateBucket, useDeleteBucket, } from "./bucketOperations";
10
- export { useGetBucketAcl, useSetBucketAcl, useGetBucketPolicy, useSetBucketPolicy, useDeleteBucketPolicy, useGetBucketVersioning, useSetBucketVersioning, useGetBucketCors, useSetBucketCors, useDeleteBucketCors, useGetBucketLifecycle, useSetBucketLifecycle, useDeleteBucketLifecycle, useGetBucketNotification, useSetBucketNotification, useGetBucketEncryption, useSetBucketEncryption, useGetBucketTagging, useSetBucketTagging, useDeleteBucketTagging, useGetBucketObjectLockConfiguration, useSetBucketObjectLockConfiguration, useGetBucketReplication, useSetBucketReplication, useDeleteBucketReplication, } from "./bucketConfiguration";
11
- export { useListObjects, useListObjectVersions, useObjectMetadata, useObjectRetention, useGetObject, usePutObject, useCreateFolder, useUploadObjects, useDeleteObject, useDeleteObjects, useCopyObject, useSetObjectRetention, useObjectLegalHold, useSetObjectLegalHold, useObjectTagging, useSetObjectTagging, useDeleteObjectTagging, useObjectAcl, useSetObjectAcl, useGetObjectAttributes, useGetObjectTorrent, useRestoreObject, useSelectObjectContent, useListMultipartUploads, useSearchObjects, useSearchObjectsVersions, } from "./objectOperations";
12
- export { useGetPresignedDownload, useGetPresignedUpload, useGetPresignedPost, } from "./presignedOperations";
1
+ export { useDeleteBucketCors, useDeleteBucketLifecycle, useDeleteBucketPolicy, useDeleteBucketReplication, useDeleteBucketTagging, useGetBucketAcl, useGetBucketCors, useGetBucketEncryption, useGetBucketLifecycle, useGetBucketNotification, useGetBucketObjectLockConfiguration, useGetBucketPolicy, useGetBucketReplication, useGetBucketTagging, useGetBucketVersioning, useGetPublicAccessBlock, useSetBucketAcl, useSetBucketCors, useSetBucketEncryption, useSetBucketLifecycle, useSetBucketNotification, useSetBucketObjectLockConfiguration, useSetBucketPolicy, useSetBucketReplication, useSetBucketTagging, useSetBucketVersioning, } from './bucketConfiguration';
2
+ export { useBuckets, useCreateBucket, useDeleteBucket, useGetBucketLocation, useValidateBucketAccess, } from './bucketOperations';
3
+ export type { LoginConfig, LoginMutationResult } from './loginOperations';
4
+ export { useLoginMutation } from './loginOperations';
5
+ export { useCopyObject, useCreateFolder, useDeleteObject, useDeleteObjects, useDeleteObjectTagging, useGetObject, useGetObjectAttributes, useGetObjectTorrent, useListMultipartUploads, useListObjects, useListObjectVersions, useObjectAcl, useObjectLegalHold, useObjectMetadata, useObjectRetention, useObjectTagging, usePutObject, useRestoreObject, useSearchObjects, useSearchObjectsVersions, useSelectObjectContent, useSetObjectAcl, useSetObjectLegalHold, useSetObjectRetention, useSetObjectTagging, useUploadObjects, } from './objectOperations';
6
+ export { useGetPresignedDownload, useGetPresignedPost, useGetPresignedUpload, } from './presignedOperations';
7
+ export { getAccessibleBucketsStorageKey, getLimitedAccessFlagKey, setLimitedAccessFlag, useAccessibleBuckets, } from './useAccessibleBuckets';
8
+ export { useBatchObjectLegalHold } from './useBatchObjectLegalHold';
9
+ export { type BucketConfigEditorConfig, type BucketConfigEditorResult, useBucketConfigEditor, } from './useBucketConfigEditor';
10
+ export { useDeleteBucketConfigRule } from './useDeleteBucketConfigRule';
11
+ export { useEmptyBucket } from './useEmptyBucket';
12
+ export { useFeatures } from './useFeatures';
13
+ export { useISVBucketStatus } from './useISVBucketDetection';
14
+ export { useIsBucketEmpty } from './useIsBucketEmpty';
15
+ export { type LimitedAccessFlowHandlers, type UseLimitedAccessFlowOptions, useLimitedAccessFlow, } from './useLimitedAccessFlow';
16
+ export { useS3Client } from './useS3Client';
17
+ export { useS3ConfigSwitch } from './useS3ConfigSwitch';
18
+ export { useSupportedNotificationEvents } from './useSupportedNotificationEvents';
19
+ export { useTableRowSelection } from './useTableRowSelection';
@@ -1,12 +1,19 @@
1
- import { useS3Client } from "./useS3Client.js";
1
+ import { useDeleteBucketCors, useDeleteBucketLifecycle, useDeleteBucketPolicy, useDeleteBucketReplication, useDeleteBucketTagging, useGetBucketAcl, useGetBucketCors, useGetBucketEncryption, useGetBucketLifecycle, useGetBucketNotification, useGetBucketObjectLockConfiguration, useGetBucketPolicy, useGetBucketReplication, useGetBucketTagging, useGetBucketVersioning, useGetPublicAccessBlock, useSetBucketAcl, useSetBucketCors, useSetBucketEncryption, useSetBucketLifecycle, useSetBucketNotification, useSetBucketObjectLockConfiguration, useSetBucketPolicy, useSetBucketReplication, useSetBucketTagging, useSetBucketVersioning } from "./bucketConfiguration.js";
2
+ import { useBuckets, useCreateBucket, useDeleteBucket, useGetBucketLocation, useValidateBucketAccess } from "./bucketOperations.js";
2
3
  import { useLoginMutation } from "./loginOperations.js";
3
- import { useIsBucketEmpty } from "./useIsBucketEmpty.js";
4
- import { useEmptyBucket } from "./useEmptyBucket.js";
5
- import { useDeleteBucketConfigRule } from "./useDeleteBucketConfigRule.js";
6
- import { useTableRowSelection } from "./useTableRowSelection.js";
7
- import { useISVBucketStatus } from "./useISVBucketDetection.js";
8
- import { useBuckets, useCreateBucket, useDeleteBucket, useGetBucketLocation } from "./bucketOperations.js";
9
- import { useDeleteBucketCors, useDeleteBucketLifecycle, useDeleteBucketPolicy, useDeleteBucketReplication, useDeleteBucketTagging, useGetBucketAcl, useGetBucketCors, useGetBucketEncryption, useGetBucketLifecycle, useGetBucketNotification, useGetBucketObjectLockConfiguration, useGetBucketPolicy, useGetBucketReplication, useGetBucketTagging, useGetBucketVersioning, useSetBucketAcl, useSetBucketCors, useSetBucketEncryption, useSetBucketLifecycle, useSetBucketNotification, useSetBucketObjectLockConfiguration, useSetBucketPolicy, useSetBucketReplication, useSetBucketTagging, useSetBucketVersioning } from "./bucketConfiguration.js";
10
4
  import { useCopyObject, useCreateFolder, useDeleteObject, useDeleteObjectTagging, useDeleteObjects, useGetObject, useGetObjectAttributes, useGetObjectTorrent, useListMultipartUploads, useListObjectVersions, useListObjects, useObjectAcl, useObjectLegalHold, useObjectMetadata, useObjectRetention, useObjectTagging, usePutObject, useRestoreObject, useSearchObjects, useSearchObjectsVersions, useSelectObjectContent, useSetObjectAcl, useSetObjectLegalHold, useSetObjectRetention, useSetObjectTagging, useUploadObjects } from "./objectOperations.js";
11
5
  import { useGetPresignedDownload, useGetPresignedPost, useGetPresignedUpload } from "./presignedOperations.js";
12
- export { useBuckets, useCopyObject, useCreateBucket, useCreateFolder, useDeleteBucket, useDeleteBucketConfigRule, useDeleteBucketCors, useDeleteBucketLifecycle, useDeleteBucketPolicy, useDeleteBucketReplication, useDeleteBucketTagging, useDeleteObject, useDeleteObjectTagging, useDeleteObjects, useEmptyBucket, useGetBucketAcl, useGetBucketCors, useGetBucketEncryption, useGetBucketLifecycle, useGetBucketLocation, useGetBucketNotification, useGetBucketObjectLockConfiguration, useGetBucketPolicy, useGetBucketReplication, useGetBucketTagging, useGetBucketVersioning, useGetObject, useGetObjectAttributes, useGetObjectTorrent, useGetPresignedDownload, useGetPresignedPost, useGetPresignedUpload, useISVBucketStatus, useIsBucketEmpty, useListMultipartUploads, useListObjectVersions, useListObjects, useLoginMutation, useObjectAcl, useObjectLegalHold, useObjectMetadata, useObjectRetention, useObjectTagging, usePutObject, useRestoreObject, useS3Client, useSearchObjects, useSearchObjectsVersions, useSelectObjectContent, useSetBucketAcl, useSetBucketCors, useSetBucketEncryption, useSetBucketLifecycle, useSetBucketNotification, useSetBucketObjectLockConfiguration, useSetBucketPolicy, useSetBucketReplication, useSetBucketTagging, useSetBucketVersioning, useSetObjectAcl, useSetObjectLegalHold, useSetObjectRetention, useSetObjectTagging, useTableRowSelection, useUploadObjects };
6
+ import { getAccessibleBucketsStorageKey, getLimitedAccessFlagKey, setLimitedAccessFlag, useAccessibleBuckets } from "./useAccessibleBuckets.js";
7
+ import { useBatchObjectLegalHold } from "./useBatchObjectLegalHold.js";
8
+ import { useBucketConfigEditor } from "./useBucketConfigEditor.js";
9
+ import { useDeleteBucketConfigRule } from "./useDeleteBucketConfigRule.js";
10
+ import { useEmptyBucket } from "./useEmptyBucket.js";
11
+ import { useFeatures } from "./useFeatures.js";
12
+ import { useISVBucketStatus } from "./useISVBucketDetection.js";
13
+ import { useIsBucketEmpty } from "./useIsBucketEmpty.js";
14
+ import { useLimitedAccessFlow } from "./useLimitedAccessFlow.js";
15
+ import { useS3Client } from "./useS3Client.js";
16
+ import { useS3ConfigSwitch } from "./useS3ConfigSwitch.js";
17
+ import { useSupportedNotificationEvents } from "./useSupportedNotificationEvents.js";
18
+ import { useTableRowSelection } from "./useTableRowSelection.js";
19
+ export { getAccessibleBucketsStorageKey, getLimitedAccessFlagKey, setLimitedAccessFlag, useAccessibleBuckets, useBatchObjectLegalHold, useBucketConfigEditor, useBuckets, useCopyObject, useCreateBucket, useCreateFolder, useDeleteBucket, useDeleteBucketConfigRule, useDeleteBucketCors, useDeleteBucketLifecycle, useDeleteBucketPolicy, useDeleteBucketReplication, useDeleteBucketTagging, useDeleteObject, useDeleteObjectTagging, useDeleteObjects, useEmptyBucket, useFeatures, useGetBucketAcl, useGetBucketCors, useGetBucketEncryption, useGetBucketLifecycle, useGetBucketLocation, useGetBucketNotification, useGetBucketObjectLockConfiguration, useGetBucketPolicy, useGetBucketReplication, useGetBucketTagging, useGetBucketVersioning, useGetObject, useGetObjectAttributes, useGetObjectTorrent, useGetPresignedDownload, useGetPresignedPost, useGetPresignedUpload, useGetPublicAccessBlock, useISVBucketStatus, useIsBucketEmpty, useLimitedAccessFlow, useListMultipartUploads, useListObjectVersions, useListObjects, useLoginMutation, useObjectAcl, useObjectLegalHold, useObjectMetadata, useObjectRetention, useObjectTagging, usePutObject, useRestoreObject, useS3Client, useS3ConfigSwitch, useSearchObjects, useSearchObjectsVersions, useSelectObjectContent, useSetBucketAcl, useSetBucketCors, useSetBucketEncryption, useSetBucketLifecycle, useSetBucketNotification, useSetBucketObjectLockConfiguration, useSetBucketPolicy, useSetBucketReplication, useSetBucketTagging, useSetBucketVersioning, useSetObjectAcl, useSetObjectLegalHold, useSetObjectRetention, useSetObjectTagging, useSupportedNotificationEvents, useTableRowSelection, useUploadObjects, useValidateBucketAccess };
@@ -4,7 +4,7 @@
4
4
  * This file contains hooks for S3 authentication operations.
5
5
  * Uses the factory pattern for consistency with other S3 operations.
6
6
  */
7
- import { S3BrowserConfig, S3Credentials } from "../types";
7
+ import type { S3BrowserConfig, S3Credentials } from '../types';
8
8
  export type LoginConfig = S3BrowserConfig & {
9
9
  credentials: S3Credentials;
10
10
  };
@@ -5,5 +5,5 @@ class LoginAuthenticationCommand {
5
5
  this.input = input;
6
6
  }
7
7
  }
8
- const useLoginMutation = useCreateS3LoginHook(LoginAuthenticationCommand, "S3 Authentication");
8
+ const useLoginMutation = useCreateS3LoginHook(LoginAuthenticationCommand, 'S3 Authentication');
9
9
  export { useLoginMutation };
@@ -5,8 +5,8 @@
5
5
  * metadata retrieval, uploads, downloads, deletion, and object-level
6
6
  * configurations like retention and legal hold.
7
7
  */
8
- import { CopyObjectCommandInput, CopyObjectCommandOutput, DeleteObjectCommandInput, DeleteObjectCommandOutput, DeleteObjectsCommandInput, DeleteObjectsCommandOutput, DeleteObjectTaggingCommandInput, DeleteObjectTaggingCommandOutput, GetObjectAclCommandInput, GetObjectAclCommandOutput, GetObjectAttributesCommandInput, GetObjectAttributesCommandOutput, GetObjectCommandInput, GetObjectCommandOutput, GetObjectLegalHoldCommandInput, GetObjectLegalHoldCommandOutput, GetObjectRetentionCommandInput, GetObjectRetentionCommandOutput, GetObjectTaggingCommandInput, GetObjectTaggingCommandOutput, GetObjectTorrentCommandInput, GetObjectTorrentCommandOutput, HeadObjectCommandInput, HeadObjectCommandOutput, ListMultipartUploadsCommandInput, ListMultipartUploadsCommandOutput, ListObjectsV2CommandInput, ListObjectVersionsCommandInput, PutObjectAclCommandInput, PutObjectAclCommandOutput, PutObjectCommandInput, PutObjectCommandOutput, PutObjectLegalHoldCommandInput, PutObjectLegalHoldCommandOutput, PutObjectRetentionCommandInput, PutObjectRetentionCommandOutput, PutObjectTaggingCommandInput, PutObjectTaggingCommandOutput, RestoreObjectCommandInput, RestoreObjectCommandOutput, SelectObjectContentCommandInput, SelectObjectContentCommandOutput } from "@aws-sdk/client-s3";
9
- import { SearchObjectsV2CommandInput, SearchObjectsVersionCommandInput } from "@scality/zenkoclient";
8
+ import { type CopyObjectCommandInput, type CopyObjectCommandOutput, type DeleteObjectCommandInput, type DeleteObjectCommandOutput, type DeleteObjectsCommandInput, type DeleteObjectsCommandOutput, type DeleteObjectTaggingCommandInput, type DeleteObjectTaggingCommandOutput, type GetObjectAclCommandInput, type GetObjectAclCommandOutput, type GetObjectAttributesCommandInput, type GetObjectAttributesCommandOutput, type GetObjectCommandInput, type GetObjectCommandOutput, type GetObjectLegalHoldCommandInput, type GetObjectLegalHoldCommandOutput, type GetObjectRetentionCommandInput, type GetObjectRetentionCommandOutput, type GetObjectTaggingCommandInput, type GetObjectTaggingCommandOutput, type GetObjectTorrentCommandInput, type GetObjectTorrentCommandOutput, type HeadObjectCommandInput, type HeadObjectCommandOutput, type ListMultipartUploadsCommandInput, type ListMultipartUploadsCommandOutput, type ListObjectsV2CommandInput, type ListObjectVersionsCommandInput, type PutObjectAclCommandInput, type PutObjectAclCommandOutput, type PutObjectCommandInput, type PutObjectCommandOutput, type PutObjectLegalHoldCommandInput, type PutObjectLegalHoldCommandOutput, type PutObjectRetentionCommandInput, type PutObjectRetentionCommandOutput, type PutObjectTaggingCommandInput, type PutObjectTaggingCommandOutput, type RestoreObjectCommandInput, type RestoreObjectCommandOutput, type SelectObjectContentCommandInput, type SelectObjectContentCommandOutput } from '@aws-sdk/client-s3';
9
+ import { type SearchObjectsV2CommandInput, type SearchObjectsVersionCommandInput } from '@scality/zenkoclient';
10
10
  /**
11
11
  * Hook for listing S3 objects with infinite scroll support
12
12
  *