@supabase/storage-js 2.87.4-canary.2 → 2.87.4-canary.4

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 (206) hide show
  1. package/README.md +2 -106
  2. package/dist/index.cjs +3019 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +2601 -0
  5. package/dist/index.d.cts.map +1 -0
  6. package/dist/index.d.mts +2601 -0
  7. package/dist/index.d.mts.map +1 -0
  8. package/dist/index.mjs +2998 -0
  9. package/dist/index.mjs.map +1 -0
  10. package/dist/umd/supabase.js +1 -1
  11. package/package.json +21 -12
  12. package/src/lib/version.ts +1 -1
  13. package/dist/main/StorageClient.d.ts +0 -64
  14. package/dist/main/StorageClient.d.ts.map +0 -1
  15. package/dist/main/StorageClient.js +0 -74
  16. package/dist/main/StorageClient.js.map +0 -1
  17. package/dist/main/index.d.ts +0 -7
  18. package/dist/main/index.d.ts.map +0 -1
  19. package/dist/main/index.js +0 -12
  20. package/dist/main/index.js.map +0 -1
  21. package/dist/main/lib/constants.d.ts +0 -4
  22. package/dist/main/lib/constants.d.ts.map +0 -1
  23. package/dist/main/lib/constants.js +0 -8
  24. package/dist/main/lib/constants.js.map +0 -1
  25. package/dist/main/lib/errors.d.ts +0 -21
  26. package/dist/main/lib/errors.d.ts.map +0 -1
  27. package/dist/main/lib/errors.js +0 -41
  28. package/dist/main/lib/errors.js.map +0 -1
  29. package/dist/main/lib/fetch.d.ts +0 -16
  30. package/dist/main/lib/fetch.d.ts.map +0 -1
  31. package/dist/main/lib/fetch.js +0 -95
  32. package/dist/main/lib/fetch.js.map +0 -1
  33. package/dist/main/lib/helpers.d.ts +0 -28
  34. package/dist/main/lib/helpers.d.ts.map +0 -1
  35. package/dist/main/lib/helpers.js +0 -87
  36. package/dist/main/lib/helpers.js.map +0 -1
  37. package/dist/main/lib/index.d.ts +0 -6
  38. package/dist/main/lib/index.d.ts.map +0 -1
  39. package/dist/main/lib/index.js +0 -9
  40. package/dist/main/lib/index.js.map +0 -1
  41. package/dist/main/lib/types.d.ts +0 -226
  42. package/dist/main/lib/types.d.ts.map +0 -1
  43. package/dist/main/lib/types.js +0 -3
  44. package/dist/main/lib/types.js.map +0 -1
  45. package/dist/main/lib/vectors/StorageVectorsClient.d.ts +0 -505
  46. package/dist/main/lib/vectors/StorageVectorsClient.d.ts.map +0 -1
  47. package/dist/main/lib/vectors/StorageVectorsClient.js +0 -582
  48. package/dist/main/lib/vectors/StorageVectorsClient.js.map +0 -1
  49. package/dist/main/lib/vectors/VectorBucketApi.d.ts +0 -32
  50. package/dist/main/lib/vectors/VectorBucketApi.d.ts.map +0 -1
  51. package/dist/main/lib/vectors/VectorBucketApi.js +0 -102
  52. package/dist/main/lib/vectors/VectorBucketApi.js.map +0 -1
  53. package/dist/main/lib/vectors/VectorDataApi.d.ts +0 -32
  54. package/dist/main/lib/vectors/VectorDataApi.d.ts.map +0 -1
  55. package/dist/main/lib/vectors/VectorDataApi.js +0 -147
  56. package/dist/main/lib/vectors/VectorDataApi.js.map +0 -1
  57. package/dist/main/lib/vectors/VectorIndexApi.d.ts +0 -47
  58. package/dist/main/lib/vectors/VectorIndexApi.d.ts.map +0 -1
  59. package/dist/main/lib/vectors/VectorIndexApi.js +0 -104
  60. package/dist/main/lib/vectors/VectorIndexApi.js.map +0 -1
  61. package/dist/main/lib/vectors/constants.d.ts +0 -5
  62. package/dist/main/lib/vectors/constants.d.ts.map +0 -1
  63. package/dist/main/lib/vectors/constants.js +0 -9
  64. package/dist/main/lib/vectors/constants.js.map +0 -1
  65. package/dist/main/lib/vectors/errors.d.ts +0 -55
  66. package/dist/main/lib/vectors/errors.d.ts.map +0 -1
  67. package/dist/main/lib/vectors/errors.js +0 -76
  68. package/dist/main/lib/vectors/errors.js.map +0 -1
  69. package/dist/main/lib/vectors/fetch.d.ts +0 -57
  70. package/dist/main/lib/vectors/fetch.d.ts.map +0 -1
  71. package/dist/main/lib/vectors/fetch.js +0 -167
  72. package/dist/main/lib/vectors/fetch.js.map +0 -1
  73. package/dist/main/lib/vectors/helpers.d.ts +0 -46
  74. package/dist/main/lib/vectors/helpers.d.ts.map +0 -1
  75. package/dist/main/lib/vectors/helpers.js +0 -74
  76. package/dist/main/lib/vectors/helpers.js.map +0 -1
  77. package/dist/main/lib/vectors/index.d.ts +0 -11
  78. package/dist/main/lib/vectors/index.d.ts.map +0 -1
  79. package/dist/main/lib/vectors/index.js +0 -31
  80. package/dist/main/lib/vectors/index.js.map +0 -1
  81. package/dist/main/lib/vectors/types.d.ts +0 -279
  82. package/dist/main/lib/vectors/types.d.ts.map +0 -1
  83. package/dist/main/lib/vectors/types.js +0 -3
  84. package/dist/main/lib/vectors/types.js.map +0 -1
  85. package/dist/main/lib/version.d.ts +0 -2
  86. package/dist/main/lib/version.d.ts.map +0 -1
  87. package/dist/main/lib/version.js +0 -11
  88. package/dist/main/lib/version.js.map +0 -1
  89. package/dist/main/packages/BlobDownloadBuilder.d.ts +0 -16
  90. package/dist/main/packages/BlobDownloadBuilder.d.ts.map +0 -1
  91. package/dist/main/packages/BlobDownloadBuilder.js +0 -55
  92. package/dist/main/packages/BlobDownloadBuilder.js.map +0 -1
  93. package/dist/main/packages/StorageAnalyticsClient.d.ts +0 -324
  94. package/dist/main/packages/StorageAnalyticsClient.d.ts.map +0 -1
  95. package/dist/main/packages/StorageAnalyticsClient.js +0 -395
  96. package/dist/main/packages/StorageAnalyticsClient.js.map +0 -1
  97. package/dist/main/packages/StorageBucketApi.d.ts +0 -266
  98. package/dist/main/packages/StorageBucketApi.d.ts.map +0 -1
  99. package/dist/main/packages/StorageBucketApi.js +0 -362
  100. package/dist/main/packages/StorageBucketApi.js.map +0 -1
  101. package/dist/main/packages/StorageFileApi.d.ts +0 -680
  102. package/dist/main/packages/StorageFileApi.d.ts.map +0 -1
  103. package/dist/main/packages/StorageFileApi.js +0 -1002
  104. package/dist/main/packages/StorageFileApi.js.map +0 -1
  105. package/dist/main/packages/StreamDownloadBuilder.d.ts +0 -9
  106. package/dist/main/packages/StreamDownloadBuilder.d.ts.map +0 -1
  107. package/dist/main/packages/StreamDownloadBuilder.js +0 -35
  108. package/dist/main/packages/StreamDownloadBuilder.js.map +0 -1
  109. package/dist/module/StorageClient.d.ts +0 -64
  110. package/dist/module/StorageClient.d.ts.map +0 -1
  111. package/dist/module/StorageClient.js +0 -69
  112. package/dist/module/StorageClient.js.map +0 -1
  113. package/dist/module/index.d.ts +0 -7
  114. package/dist/module/index.d.ts.map +0 -1
  115. package/dist/module/index.js +0 -6
  116. package/dist/module/index.js.map +0 -1
  117. package/dist/module/lib/constants.d.ts +0 -4
  118. package/dist/module/lib/constants.d.ts.map +0 -1
  119. package/dist/module/lib/constants.js +0 -5
  120. package/dist/module/lib/constants.js.map +0 -1
  121. package/dist/module/lib/errors.d.ts +0 -21
  122. package/dist/module/lib/errors.d.ts.map +0 -1
  123. package/dist/module/lib/errors.js +0 -34
  124. package/dist/module/lib/errors.js.map +0 -1
  125. package/dist/module/lib/fetch.d.ts +0 -16
  126. package/dist/module/lib/fetch.d.ts.map +0 -1
  127. package/dist/module/lib/fetch.js +0 -88
  128. package/dist/module/lib/fetch.js.map +0 -1
  129. package/dist/module/lib/helpers.d.ts +0 -28
  130. package/dist/module/lib/helpers.d.ts.map +0 -1
  131. package/dist/module/lib/helpers.js +0 -79
  132. package/dist/module/lib/helpers.js.map +0 -1
  133. package/dist/module/lib/index.d.ts +0 -6
  134. package/dist/module/lib/index.d.ts.map +0 -1
  135. package/dist/module/lib/index.js +0 -6
  136. package/dist/module/lib/index.js.map +0 -1
  137. package/dist/module/lib/types.d.ts +0 -226
  138. package/dist/module/lib/types.d.ts.map +0 -1
  139. package/dist/module/lib/types.js +0 -2
  140. package/dist/module/lib/types.js.map +0 -1
  141. package/dist/module/lib/vectors/StorageVectorsClient.d.ts +0 -505
  142. package/dist/module/lib/vectors/StorageVectorsClient.d.ts.map +0 -1
  143. package/dist/module/lib/vectors/StorageVectorsClient.js +0 -576
  144. package/dist/module/lib/vectors/StorageVectorsClient.js.map +0 -1
  145. package/dist/module/lib/vectors/VectorBucketApi.d.ts +0 -32
  146. package/dist/module/lib/vectors/VectorBucketApi.d.ts.map +0 -1
  147. package/dist/module/lib/vectors/VectorBucketApi.js +0 -99
  148. package/dist/module/lib/vectors/VectorBucketApi.js.map +0 -1
  149. package/dist/module/lib/vectors/VectorDataApi.d.ts +0 -32
  150. package/dist/module/lib/vectors/VectorDataApi.d.ts.map +0 -1
  151. package/dist/module/lib/vectors/VectorDataApi.js +0 -144
  152. package/dist/module/lib/vectors/VectorDataApi.js.map +0 -1
  153. package/dist/module/lib/vectors/VectorIndexApi.d.ts +0 -47
  154. package/dist/module/lib/vectors/VectorIndexApi.d.ts.map +0 -1
  155. package/dist/module/lib/vectors/VectorIndexApi.js +0 -101
  156. package/dist/module/lib/vectors/VectorIndexApi.js.map +0 -1
  157. package/dist/module/lib/vectors/constants.d.ts +0 -5
  158. package/dist/module/lib/vectors/constants.d.ts.map +0 -1
  159. package/dist/module/lib/vectors/constants.js +0 -6
  160. package/dist/module/lib/vectors/constants.js.map +0 -1
  161. package/dist/module/lib/vectors/errors.d.ts +0 -55
  162. package/dist/module/lib/vectors/errors.d.ts.map +0 -1
  163. package/dist/module/lib/vectors/errors.js +0 -69
  164. package/dist/module/lib/vectors/errors.js.map +0 -1
  165. package/dist/module/lib/vectors/fetch.d.ts +0 -57
  166. package/dist/module/lib/vectors/fetch.d.ts.map +0 -1
  167. package/dist/module/lib/vectors/fetch.js +0 -161
  168. package/dist/module/lib/vectors/fetch.js.map +0 -1
  169. package/dist/module/lib/vectors/helpers.d.ts +0 -46
  170. package/dist/module/lib/vectors/helpers.d.ts.map +0 -1
  171. package/dist/module/lib/vectors/helpers.js +0 -66
  172. package/dist/module/lib/vectors/helpers.js.map +0 -1
  173. package/dist/module/lib/vectors/index.d.ts +0 -11
  174. package/dist/module/lib/vectors/index.d.ts.map +0 -1
  175. package/dist/module/lib/vectors/index.js +0 -11
  176. package/dist/module/lib/vectors/index.js.map +0 -1
  177. package/dist/module/lib/vectors/types.d.ts +0 -279
  178. package/dist/module/lib/vectors/types.d.ts.map +0 -1
  179. package/dist/module/lib/vectors/types.js +0 -2
  180. package/dist/module/lib/vectors/types.js.map +0 -1
  181. package/dist/module/lib/version.d.ts +0 -2
  182. package/dist/module/lib/version.d.ts.map +0 -1
  183. package/dist/module/lib/version.js +0 -8
  184. package/dist/module/lib/version.js.map +0 -1
  185. package/dist/module/packages/BlobDownloadBuilder.d.ts +0 -16
  186. package/dist/module/packages/BlobDownloadBuilder.d.ts.map +0 -1
  187. package/dist/module/packages/BlobDownloadBuilder.js +0 -53
  188. package/dist/module/packages/BlobDownloadBuilder.js.map +0 -1
  189. package/dist/module/packages/StorageAnalyticsClient.d.ts +0 -324
  190. package/dist/module/packages/StorageAnalyticsClient.d.ts.map +0 -1
  191. package/dist/module/packages/StorageAnalyticsClient.js +0 -392
  192. package/dist/module/packages/StorageAnalyticsClient.js.map +0 -1
  193. package/dist/module/packages/StorageBucketApi.d.ts +0 -266
  194. package/dist/module/packages/StorageBucketApi.d.ts.map +0 -1
  195. package/dist/module/packages/StorageBucketApi.js +0 -359
  196. package/dist/module/packages/StorageBucketApi.js.map +0 -1
  197. package/dist/module/packages/StorageFileApi.d.ts +0 -680
  198. package/dist/module/packages/StorageFileApi.d.ts.map +0 -1
  199. package/dist/module/packages/StorageFileApi.js +0 -999
  200. package/dist/module/packages/StorageFileApi.js.map +0 -1
  201. package/dist/module/packages/StreamDownloadBuilder.d.ts +0 -9
  202. package/dist/module/packages/StreamDownloadBuilder.d.ts.map +0 -1
  203. package/dist/module/packages/StreamDownloadBuilder.js +0 -32
  204. package/dist/module/packages/StreamDownloadBuilder.js.map +0 -1
  205. package/dist/tsconfig.module.tsbuildinfo +0 -1
  206. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,392 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { IcebergRestCatalog } from 'iceberg-js';
3
- import { DEFAULT_HEADERS } from '../lib/constants';
4
- import { isStorageError, StorageError } from '../lib/errors';
5
- import { get, post, remove } from '../lib/fetch';
6
- import { isValidBucketName, resolveFetch } from '../lib/helpers';
7
- /**
8
- * Client class for managing Analytics Buckets using Iceberg tables
9
- * Provides methods for creating, listing, and deleting analytics buckets
10
- */
11
- export default class StorageAnalyticsClient {
12
- /**
13
- * @alpha
14
- *
15
- * Creates a new StorageAnalyticsClient instance
16
- *
17
- * **Public alpha:** This API is part of a public alpha release and may not be available to your account type.
18
- *
19
- * @category Analytics Buckets
20
- * @param url - The base URL for the storage API
21
- * @param headers - HTTP headers to include in requests
22
- * @param fetch - Optional custom fetch implementation
23
- *
24
- * @example
25
- * ```typescript
26
- * const client = new StorageAnalyticsClient(url, headers)
27
- * ```
28
- */
29
- constructor(url, headers = {}, fetch) {
30
- this.shouldThrowOnError = false;
31
- this.url = url.replace(/\/$/, '');
32
- this.headers = Object.assign(Object.assign({}, DEFAULT_HEADERS), headers);
33
- this.fetch = resolveFetch(fetch);
34
- }
35
- /**
36
- * @alpha
37
- *
38
- * Enable throwing errors instead of returning them in the response
39
- * When enabled, failed operations will throw instead of returning { data: null, error }
40
- *
41
- * **Public alpha:** This API is part of a public alpha release and may not be available to your account type.
42
- *
43
- * @category Analytics Buckets
44
- * @returns This instance for method chaining
45
- */
46
- throwOnError() {
47
- this.shouldThrowOnError = true;
48
- return this;
49
- }
50
- /**
51
- * @alpha
52
- *
53
- * Creates a new analytics bucket using Iceberg tables
54
- * Analytics buckets are optimized for analytical queries and data processing
55
- *
56
- * **Public alpha:** This API is part of a public alpha release and may not be available to your account type.
57
- *
58
- * @category Analytics Buckets
59
- * @param name A unique name for the bucket you are creating
60
- * @returns Promise with response containing newly created analytics bucket or error
61
- *
62
- * @example Create analytics bucket
63
- * ```js
64
- * const { data, error } = await supabase
65
- * .storage
66
- * .analytics
67
- * .createBucket('analytics-data')
68
- * ```
69
- *
70
- * Response:
71
- * ```json
72
- * {
73
- * "data": {
74
- * "name": "analytics-data",
75
- * "type": "ANALYTICS",
76
- * "format": "iceberg",
77
- * "created_at": "2024-05-22T22:26:05.100Z",
78
- * "updated_at": "2024-05-22T22:26:05.100Z"
79
- * },
80
- * "error": null
81
- * }
82
- * ```
83
- */
84
- createBucket(name) {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- try {
87
- const data = yield post(this.fetch, `${this.url}/bucket`, { name }, { headers: this.headers });
88
- return { data, error: null };
89
- }
90
- catch (error) {
91
- if (this.shouldThrowOnError) {
92
- throw error;
93
- }
94
- if (isStorageError(error)) {
95
- return { data: null, error };
96
- }
97
- throw error;
98
- }
99
- });
100
- }
101
- /**
102
- * @alpha
103
- *
104
- * Retrieves the details of all Analytics Storage buckets within an existing project
105
- * Only returns buckets of type 'ANALYTICS'
106
- *
107
- * **Public alpha:** This API is part of a public alpha release and may not be available to your account type.
108
- *
109
- * @category Analytics Buckets
110
- * @param options Query parameters for listing buckets
111
- * @param options.limit Maximum number of buckets to return
112
- * @param options.offset Number of buckets to skip
113
- * @param options.sortColumn Column to sort by ('name', 'created_at', 'updated_at')
114
- * @param options.sortOrder Sort order ('asc' or 'desc')
115
- * @param options.search Search term to filter bucket names
116
- * @returns Promise with response containing array of analytics buckets or error
117
- *
118
- * @example List analytics buckets
119
- * ```js
120
- * const { data, error } = await supabase
121
- * .storage
122
- * .analytics
123
- * .listBuckets({
124
- * limit: 10,
125
- * offset: 0,
126
- * sortColumn: 'created_at',
127
- * sortOrder: 'desc'
128
- * })
129
- * ```
130
- *
131
- * Response:
132
- * ```json
133
- * {
134
- * "data": [
135
- * {
136
- * "name": "analytics-data",
137
- * "type": "ANALYTICS",
138
- * "format": "iceberg",
139
- * "created_at": "2024-05-22T22:26:05.100Z",
140
- * "updated_at": "2024-05-22T22:26:05.100Z"
141
- * }
142
- * ],
143
- * "error": null
144
- * }
145
- * ```
146
- */
147
- listBuckets(options) {
148
- return __awaiter(this, void 0, void 0, function* () {
149
- try {
150
- // Build query string from options
151
- const queryParams = new URLSearchParams();
152
- if ((options === null || options === void 0 ? void 0 : options.limit) !== undefined)
153
- queryParams.set('limit', options.limit.toString());
154
- if ((options === null || options === void 0 ? void 0 : options.offset) !== undefined)
155
- queryParams.set('offset', options.offset.toString());
156
- if (options === null || options === void 0 ? void 0 : options.sortColumn)
157
- queryParams.set('sortColumn', options.sortColumn);
158
- if (options === null || options === void 0 ? void 0 : options.sortOrder)
159
- queryParams.set('sortOrder', options.sortOrder);
160
- if (options === null || options === void 0 ? void 0 : options.search)
161
- queryParams.set('search', options.search);
162
- const queryString = queryParams.toString();
163
- const url = queryString ? `${this.url}/bucket?${queryString}` : `${this.url}/bucket`;
164
- const data = yield get(this.fetch, url, { headers: this.headers });
165
- return { data: data, error: null };
166
- }
167
- catch (error) {
168
- if (this.shouldThrowOnError) {
169
- throw error;
170
- }
171
- if (isStorageError(error)) {
172
- return { data: null, error };
173
- }
174
- throw error;
175
- }
176
- });
177
- }
178
- /**
179
- * @alpha
180
- *
181
- * Deletes an existing analytics bucket
182
- * A bucket can't be deleted with existing objects inside it
183
- * You must first empty the bucket before deletion
184
- *
185
- * **Public alpha:** This API is part of a public alpha release and may not be available to your account type.
186
- *
187
- * @category Analytics Buckets
188
- * @param bucketName The unique identifier of the bucket you would like to delete
189
- * @returns Promise with response containing success message or error
190
- *
191
- * @example Delete analytics bucket
192
- * ```js
193
- * const { data, error } = await supabase
194
- * .storage
195
- * .analytics
196
- * .deleteBucket('analytics-data')
197
- * ```
198
- *
199
- * Response:
200
- * ```json
201
- * {
202
- * "data": {
203
- * "message": "Successfully deleted"
204
- * },
205
- * "error": null
206
- * }
207
- * ```
208
- */
209
- deleteBucket(bucketName) {
210
- return __awaiter(this, void 0, void 0, function* () {
211
- try {
212
- const data = yield remove(this.fetch, `${this.url}/bucket/${bucketName}`, {}, { headers: this.headers });
213
- return { data, error: null };
214
- }
215
- catch (error) {
216
- if (this.shouldThrowOnError) {
217
- throw error;
218
- }
219
- if (isStorageError(error)) {
220
- return { data: null, error };
221
- }
222
- throw error;
223
- }
224
- });
225
- }
226
- /**
227
- * @alpha
228
- *
229
- * Get an Iceberg REST Catalog client configured for a specific analytics bucket
230
- * Use this to perform advanced table and namespace operations within the bucket
231
- * The returned client provides full access to the Apache Iceberg REST Catalog API
232
- * with the Supabase `{ data, error }` pattern for consistent error handling on all operations.
233
- *
234
- * **Public alpha:** This API is part of a public alpha release and may not be available to your account type.
235
- *
236
- * @category Analytics Buckets
237
- * @param bucketName - The name of the analytics bucket (warehouse) to connect to
238
- * @returns The wrapped Iceberg catalog client
239
- * @throws {StorageError} If the bucket name is invalid
240
- *
241
- * @example Get catalog and create table
242
- * ```js
243
- * // First, create an analytics bucket
244
- * const { data: bucket, error: bucketError } = await supabase
245
- * .storage
246
- * .analytics
247
- * .createBucket('analytics-data')
248
- *
249
- * // Get the Iceberg catalog for that bucket
250
- * const catalog = supabase.storage.analytics.from('analytics-data')
251
- *
252
- * // Create a namespace
253
- * const { error: nsError } = await catalog.createNamespace({ namespace: ['default'] })
254
- *
255
- * // Create a table with schema
256
- * const { data: tableMetadata, error: tableError } = await catalog.createTable(
257
- * { namespace: ['default'] },
258
- * {
259
- * name: 'events',
260
- * schema: {
261
- * type: 'struct',
262
- * fields: [
263
- * { id: 1, name: 'id', type: 'long', required: true },
264
- * { id: 2, name: 'timestamp', type: 'timestamp', required: true },
265
- * { id: 3, name: 'user_id', type: 'string', required: false }
266
- * ],
267
- * 'schema-id': 0,
268
- * 'identifier-field-ids': [1]
269
- * },
270
- * 'partition-spec': {
271
- * 'spec-id': 0,
272
- * fields: []
273
- * },
274
- * 'write-order': {
275
- * 'order-id': 0,
276
- * fields: []
277
- * },
278
- * properties: {
279
- * 'write.format.default': 'parquet'
280
- * }
281
- * }
282
- * )
283
- * ```
284
- *
285
- * @example List tables in namespace
286
- * ```js
287
- * const catalog = supabase.storage.analytics.from('analytics-data')
288
- *
289
- * // List all tables in the default namespace
290
- * const { data: tables, error: listError } = await catalog.listTables({ namespace: ['default'] })
291
- * if (listError) {
292
- * if (listError.isNotFound()) {
293
- * console.log('Namespace not found')
294
- * }
295
- * return
296
- * }
297
- * console.log(tables) // [{ namespace: ['default'], name: 'events' }]
298
- * ```
299
- *
300
- * @example Working with namespaces
301
- * ```js
302
- * const catalog = supabase.storage.analytics.from('analytics-data')
303
- *
304
- * // List all namespaces
305
- * const { data: namespaces } = await catalog.listNamespaces()
306
- *
307
- * // Create namespace with properties
308
- * await catalog.createNamespace(
309
- * { namespace: ['production'] },
310
- * { properties: { owner: 'data-team', env: 'prod' } }
311
- * )
312
- * ```
313
- *
314
- * @example Cleanup operations
315
- * ```js
316
- * const catalog = supabase.storage.analytics.from('analytics-data')
317
- *
318
- * // Drop table with purge option (removes all data)
319
- * const { error: dropError } = await catalog.dropTable(
320
- * { namespace: ['default'], name: 'events' },
321
- * { purge: true }
322
- * )
323
- *
324
- * if (dropError?.isNotFound()) {
325
- * console.log('Table does not exist')
326
- * }
327
- *
328
- * // Drop namespace (must be empty)
329
- * await catalog.dropNamespace({ namespace: ['default'] })
330
- * ```
331
- *
332
- * @remarks
333
- * This method provides a bridge between Supabase's bucket management and the standard
334
- * Apache Iceberg REST Catalog API. The bucket name maps to the Iceberg warehouse parameter.
335
- * All authentication and configuration is handled automatically using your Supabase credentials.
336
- *
337
- * **Error Handling**: Invalid bucket names throw immediately. All catalog
338
- * operations return `{ data, error }` where errors are `IcebergError` instances from iceberg-js.
339
- * Use helper methods like `error.isNotFound()` or check `error.status` for specific error handling.
340
- * Use `.throwOnError()` on the analytics client if you prefer exceptions for catalog operations.
341
- *
342
- * **Cleanup Operations**: When using `dropTable`, the `purge: true` option permanently
343
- * deletes all table data. Without it, the table is marked as deleted but data remains.
344
- *
345
- * **Library Dependency**: The returned catalog wraps `IcebergRestCatalog` from iceberg-js.
346
- * For complete API documentation and advanced usage, refer to the
347
- * [iceberg-js documentation](https://supabase.github.io/iceberg-js/).
348
- */
349
- from(bucketName) {
350
- // Validate bucket name using same rules as Supabase Storage API backend
351
- if (!isValidBucketName(bucketName)) {
352
- throw new StorageError('Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines ' +
353
- 'and should avoid the use of any other characters.');
354
- }
355
- // Construct the Iceberg REST Catalog URL
356
- // The base URL is /storage/v1/iceberg
357
- // Note: IcebergRestCatalog from iceberg-js automatically adds /v1/ prefix to API paths
358
- // so we should NOT append /v1 here (it would cause double /v1/v1/ in the URL)
359
- const catalog = new IcebergRestCatalog({
360
- baseUrl: this.url,
361
- catalogName: bucketName, // Maps to the warehouse parameter in Supabase's implementation
362
- auth: {
363
- type: 'custom',
364
- getHeaders: () => __awaiter(this, void 0, void 0, function* () { return this.headers; }),
365
- },
366
- fetch: this.fetch,
367
- });
368
- const shouldThrowOnError = this.shouldThrowOnError;
369
- const wrappedCatalog = new Proxy(catalog, {
370
- get(target, prop) {
371
- const value = target[prop];
372
- if (typeof value !== 'function') {
373
- return value;
374
- }
375
- return (...args) => __awaiter(this, void 0, void 0, function* () {
376
- try {
377
- const data = yield value.apply(target, args);
378
- return { data, error: null };
379
- }
380
- catch (error) {
381
- if (shouldThrowOnError) {
382
- throw error;
383
- }
384
- return { data: null, error: error };
385
- }
386
- });
387
- },
388
- });
389
- return wrappedCatalog;
390
- }
391
- }
392
- //# sourceMappingURL=StorageAnalyticsClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StorageAnalyticsClient.js","sourceRoot":"","sources":["../../../src/packages/StorageAnalyticsClient.ts"],"names":[],"mappings":"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"}
@@ -1,266 +0,0 @@
1
- import { StorageError } from '../lib/errors';
2
- import { Fetch } from '../lib/fetch';
3
- import { Bucket, BucketType, ListBucketOptions } from '../lib/types';
4
- import { StorageClientOptions } from '../StorageClient';
5
- export default class StorageBucketApi {
6
- protected url: string;
7
- protected headers: {
8
- [key: string]: string;
9
- };
10
- protected fetch: Fetch;
11
- protected shouldThrowOnError: boolean;
12
- constructor(url: string, headers?: {
13
- [key: string]: string;
14
- }, fetch?: Fetch, opts?: StorageClientOptions);
15
- /**
16
- * Enable throwing errors instead of returning them.
17
- *
18
- * @category File Buckets
19
- */
20
- throwOnError(): this;
21
- /**
22
- * Retrieves the details of all Storage buckets within an existing project.
23
- *
24
- * @category File Buckets
25
- * @param options Query parameters for listing buckets
26
- * @param options.limit Maximum number of buckets to return
27
- * @param options.offset Number of buckets to skip
28
- * @param options.sortColumn Column to sort by ('id', 'name', 'created_at', 'updated_at')
29
- * @param options.sortOrder Sort order ('asc' or 'desc')
30
- * @param options.search Search term to filter bucket names
31
- * @returns Promise with response containing array of buckets or error
32
- *
33
- * @example List buckets
34
- * ```js
35
- * const { data, error } = await supabase
36
- * .storage
37
- * .listBuckets()
38
- * ```
39
- *
40
- * @example List buckets with options
41
- * ```js
42
- * const { data, error } = await supabase
43
- * .storage
44
- * .listBuckets({
45
- * limit: 10,
46
- * offset: 0,
47
- * sortColumn: 'created_at',
48
- * sortOrder: 'desc',
49
- * search: 'prod'
50
- * })
51
- * ```
52
- */
53
- listBuckets(options?: ListBucketOptions): Promise<{
54
- data: Bucket[];
55
- error: null;
56
- } | {
57
- data: null;
58
- error: StorageError;
59
- }>;
60
- /**
61
- * Retrieves the details of an existing Storage bucket.
62
- *
63
- * @category File Buckets
64
- * @param id The unique identifier of the bucket you would like to retrieve.
65
- * @returns Promise with response containing bucket details or error
66
- *
67
- * @example Get bucket
68
- * ```js
69
- * const { data, error } = await supabase
70
- * .storage
71
- * .getBucket('avatars')
72
- * ```
73
- *
74
- * Response:
75
- * ```json
76
- * {
77
- * "data": {
78
- * "id": "avatars",
79
- * "name": "avatars",
80
- * "owner": "",
81
- * "public": false,
82
- * "file_size_limit": 1024,
83
- * "allowed_mime_types": [
84
- * "image/png"
85
- * ],
86
- * "created_at": "2024-05-22T22:26:05.100Z",
87
- * "updated_at": "2024-05-22T22:26:05.100Z"
88
- * },
89
- * "error": null
90
- * }
91
- * ```
92
- */
93
- getBucket(id: string): Promise<{
94
- data: Bucket;
95
- error: null;
96
- } | {
97
- data: null;
98
- error: StorageError;
99
- }>;
100
- /**
101
- * Creates a new Storage bucket
102
- *
103
- * @category File Buckets
104
- * @param id A unique identifier for the bucket you are creating.
105
- * @param options.public The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations. By default, buckets are private.
106
- * @param options.fileSizeLimit specifies the max file size in bytes that can be uploaded to this bucket.
107
- * The global file size limit takes precedence over this value.
108
- * The default value is null, which doesn't set a per bucket file size limit.
109
- * @param options.allowedMimeTypes specifies the allowed mime types that this bucket can accept during upload.
110
- * The default value is null, which allows files with all mime types to be uploaded.
111
- * Each mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png.
112
- * @param options.type (private-beta) specifies the bucket type. see `BucketType` for more details.
113
- * - default bucket type is `STANDARD`
114
- * @returns Promise with response containing newly created bucket name or error
115
- *
116
- * @example Create bucket
117
- * ```js
118
- * const { data, error } = await supabase
119
- * .storage
120
- * .createBucket('avatars', {
121
- * public: false,
122
- * allowedMimeTypes: ['image/png'],
123
- * fileSizeLimit: 1024
124
- * })
125
- * ```
126
- *
127
- * Response:
128
- * ```json
129
- * {
130
- * "data": {
131
- * "name": "avatars"
132
- * },
133
- * "error": null
134
- * }
135
- * ```
136
- */
137
- createBucket(id: string, options?: {
138
- public: boolean;
139
- fileSizeLimit?: number | string | null;
140
- allowedMimeTypes?: string[] | null;
141
- type?: BucketType;
142
- }): Promise<{
143
- data: Pick<Bucket, 'name'>;
144
- error: null;
145
- } | {
146
- data: null;
147
- error: StorageError;
148
- }>;
149
- /**
150
- * Updates a Storage bucket
151
- *
152
- * @category File Buckets
153
- * @param id A unique identifier for the bucket you are updating.
154
- * @param options.public The visibility of the bucket. Public buckets don't require an authorization token to download objects, but still require a valid token for all other operations.
155
- * @param options.fileSizeLimit specifies the max file size in bytes that can be uploaded to this bucket.
156
- * The global file size limit takes precedence over this value.
157
- * The default value is null, which doesn't set a per bucket file size limit.
158
- * @param options.allowedMimeTypes specifies the allowed mime types that this bucket can accept during upload.
159
- * The default value is null, which allows files with all mime types to be uploaded.
160
- * Each mime type specified can be a wildcard, e.g. image/*, or a specific mime type, e.g. image/png.
161
- * @returns Promise with response containing success message or error
162
- *
163
- * @example Update bucket
164
- * ```js
165
- * const { data, error } = await supabase
166
- * .storage
167
- * .updateBucket('avatars', {
168
- * public: false,
169
- * allowedMimeTypes: ['image/png'],
170
- * fileSizeLimit: 1024
171
- * })
172
- * ```
173
- *
174
- * Response:
175
- * ```json
176
- * {
177
- * "data": {
178
- * "message": "Successfully updated"
179
- * },
180
- * "error": null
181
- * }
182
- * ```
183
- */
184
- updateBucket(id: string, options: {
185
- public: boolean;
186
- fileSizeLimit?: number | string | null;
187
- allowedMimeTypes?: string[] | null;
188
- }): Promise<{
189
- data: {
190
- message: string;
191
- };
192
- error: null;
193
- } | {
194
- data: null;
195
- error: StorageError;
196
- }>;
197
- /**
198
- * Removes all objects inside a single bucket.
199
- *
200
- * @category File Buckets
201
- * @param id The unique identifier of the bucket you would like to empty.
202
- * @returns Promise with success message or error
203
- *
204
- * @example Empty bucket
205
- * ```js
206
- * const { data, error } = await supabase
207
- * .storage
208
- * .emptyBucket('avatars')
209
- * ```
210
- *
211
- * Response:
212
- * ```json
213
- * {
214
- * "data": {
215
- * "message": "Successfully emptied"
216
- * },
217
- * "error": null
218
- * }
219
- * ```
220
- */
221
- emptyBucket(id: string): Promise<{
222
- data: {
223
- message: string;
224
- };
225
- error: null;
226
- } | {
227
- data: null;
228
- error: StorageError;
229
- }>;
230
- /**
231
- * Deletes an existing bucket. A bucket can't be deleted with existing objects inside it.
232
- * You must first `empty()` the bucket.
233
- *
234
- * @category File Buckets
235
- * @param id The unique identifier of the bucket you would like to delete.
236
- * @returns Promise with success message or error
237
- *
238
- * @example Delete bucket
239
- * ```js
240
- * const { data, error } = await supabase
241
- * .storage
242
- * .deleteBucket('avatars')
243
- * ```
244
- *
245
- * Response:
246
- * ```json
247
- * {
248
- * "data": {
249
- * "message": "Successfully deleted"
250
- * },
251
- * "error": null
252
- * }
253
- * ```
254
- */
255
- deleteBucket(id: string): Promise<{
256
- data: {
257
- message: string;
258
- };
259
- error: null;
260
- } | {
261
- data: null;
262
- error: StorageError;
263
- }>;
264
- private listBucketOptionsToQueryString;
265
- }
266
- //# sourceMappingURL=StorageBucketApi.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StorageBucketApi.d.ts","sourceRoot":"","sources":["../../../src/packages/StorageBucketApi.ts"],"names":[],"mappings":"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"}