@data-loom/storage-js 0.2.1-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +163 -0
- package/dist/main/StorageClient.d.ts +18 -0
- package/dist/main/StorageClient.d.ts.map +1 -0
- package/dist/main/StorageClient.js +23 -0
- package/dist/main/StorageClient.js.map +1 -0
- package/dist/main/index.d.ts +4 -0
- package/dist/main/index.d.ts.map +1 -0
- package/dist/main/index.js +22 -0
- package/dist/main/index.js.map +1 -0
- package/dist/main/lib/constants.d.ts +4 -0
- package/dist/main/lib/constants.d.ts.map +1 -0
- package/dist/main/lib/constants.js +6 -0
- package/dist/main/lib/constants.js.map +1 -0
- package/dist/main/lib/errors.d.ts +22 -0
- package/dist/main/lib/errors.d.ts.map +1 -0
- package/dist/main/lib/errors.js +45 -0
- package/dist/main/lib/errors.js.map +1 -0
- package/dist/main/lib/fetch.d.ts +16 -0
- package/dist/main/lib/fetch.d.ts.map +1 -0
- package/dist/main/lib/fetch.js +78 -0
- package/dist/main/lib/fetch.js.map +1 -0
- package/dist/main/lib/helpers.d.ts +14 -0
- package/dist/main/lib/helpers.d.ts.map +1 -0
- package/dist/main/lib/helpers.js +104 -0
- package/dist/main/lib/helpers.js.map +1 -0
- package/dist/main/lib/index.d.ts +5 -0
- package/dist/main/lib/index.d.ts.map +1 -0
- package/dist/main/lib/index.js +21 -0
- package/dist/main/lib/index.js.map +1 -0
- package/dist/main/lib/types.d.ts +139 -0
- package/dist/main/lib/types.d.ts.map +1 -0
- package/dist/main/lib/types.js +3 -0
- package/dist/main/lib/types.js.map +1 -0
- package/dist/main/lib/version.d.ts +2 -0
- package/dist/main/lib/version.d.ts.map +1 -0
- package/dist/main/lib/version.js +6 -0
- package/dist/main/lib/version.js.map +1 -0
- package/dist/main/packages/StorageBucketApi.d.ts +118 -0
- package/dist/main/packages/StorageBucketApi.d.ts.map +1 -0
- package/dist/main/packages/StorageBucketApi.js +149 -0
- package/dist/main/packages/StorageBucketApi.js.map +1 -0
- package/dist/main/packages/StorageFileApi.d.ts +243 -0
- package/dist/main/packages/StorageFileApi.d.ts.map +1 -0
- package/dist/main/packages/StorageFileApi.js +456 -0
- package/dist/main/packages/StorageFileApi.js.map +1 -0
- package/dist/module/StorageClient.d.ts +18 -0
- package/dist/module/StorageClient.d.ts.map +1 -0
- package/dist/module/StorageClient.js +16 -0
- package/dist/module/StorageClient.js.map +1 -0
- package/dist/module/index.d.ts +4 -0
- package/dist/module/index.d.ts.map +1 -0
- package/dist/module/index.js +4 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/lib/constants.d.ts +4 -0
- package/dist/module/lib/constants.d.ts.map +1 -0
- package/dist/module/lib/constants.js +3 -0
- package/dist/module/lib/constants.js.map +1 -0
- package/dist/module/lib/errors.d.ts +22 -0
- package/dist/module/lib/errors.d.ts.map +1 -0
- package/dist/module/lib/errors.js +37 -0
- package/dist/module/lib/errors.js.map +1 -0
- package/dist/module/lib/fetch.d.ts +16 -0
- package/dist/module/lib/fetch.d.ts.map +1 -0
- package/dist/module/lib/fetch.js +70 -0
- package/dist/module/lib/fetch.js.map +1 -0
- package/dist/module/lib/helpers.d.ts +14 -0
- package/dist/module/lib/helpers.d.ts.map +1 -0
- package/dist/module/lib/helpers.js +72 -0
- package/dist/module/lib/helpers.js.map +1 -0
- package/dist/module/lib/index.d.ts +5 -0
- package/dist/module/lib/index.d.ts.map +1 -0
- package/dist/module/lib/index.js +5 -0
- package/dist/module/lib/index.js.map +1 -0
- package/dist/module/lib/types.d.ts +139 -0
- package/dist/module/lib/types.d.ts.map +1 -0
- package/dist/module/lib/types.js +2 -0
- package/dist/module/lib/types.js.map +1 -0
- package/dist/module/lib/version.d.ts +2 -0
- package/dist/module/lib/version.d.ts.map +1 -0
- package/dist/module/lib/version.js +3 -0
- package/dist/module/lib/version.js.map +1 -0
- package/dist/module/packages/StorageBucketApi.d.ts +118 -0
- package/dist/module/packages/StorageBucketApi.d.ts.map +1 -0
- package/dist/module/packages/StorageBucketApi.js +146 -0
- package/dist/module/packages/StorageBucketApi.js.map +1 -0
- package/dist/module/packages/StorageFileApi.d.ts +243 -0
- package/dist/module/packages/StorageFileApi.d.ts.map +1 -0
- package/dist/module/packages/StorageFileApi.js +453 -0
- package/dist/module/packages/StorageFileApi.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
/// <reference types="node" />
|
|
4
|
+
import { StorageError } from '../lib/errors';
|
|
5
|
+
import { Fetch } from '../lib/fetch';
|
|
6
|
+
import { FileObject, FileOptions, SearchOptions, TransformOptions, DestinationOptions, FileObjectV2, Camelize, FileBody } from '../lib/types';
|
|
7
|
+
export default class StorageFileApi {
|
|
8
|
+
protected url: string;
|
|
9
|
+
protected headers: {
|
|
10
|
+
[key: string]: string;
|
|
11
|
+
};
|
|
12
|
+
protected bucketId?: string;
|
|
13
|
+
protected fetch: Fetch;
|
|
14
|
+
constructor(url: string, headers?: {
|
|
15
|
+
[key: string]: string;
|
|
16
|
+
}, bucketId?: string, fetch?: Fetch);
|
|
17
|
+
/**
|
|
18
|
+
* Uploads a file to an existing bucket or replaces an existing file at the specified path with a new one.
|
|
19
|
+
*
|
|
20
|
+
* @param method HTTP method.
|
|
21
|
+
* @param path The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.
|
|
22
|
+
* @param fileBody The body of the file to be stored in the bucket.
|
|
23
|
+
*/
|
|
24
|
+
private uploadOrUpdate;
|
|
25
|
+
/**
|
|
26
|
+
* Uploads a file to an existing bucket.
|
|
27
|
+
*
|
|
28
|
+
* @param path The file path, including the file name. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.
|
|
29
|
+
* @param fileBody The body of the file to be stored in the bucket.
|
|
30
|
+
*/
|
|
31
|
+
upload(path: string, fileBody: FileBody, fileOptions?: FileOptions): Promise<{
|
|
32
|
+
data: {
|
|
33
|
+
id: string;
|
|
34
|
+
path: string;
|
|
35
|
+
fullPath: string;
|
|
36
|
+
};
|
|
37
|
+
error: null;
|
|
38
|
+
} | {
|
|
39
|
+
data: null;
|
|
40
|
+
error: StorageError;
|
|
41
|
+
}>;
|
|
42
|
+
/**
|
|
43
|
+
* Upload a file with a token generated from `createSignedUploadUrl`.
|
|
44
|
+
* @param path The file path, including the file name. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.
|
|
45
|
+
* @param token The token generated from `createSignedUploadUrl`
|
|
46
|
+
* @param fileBody The body of the file to be stored in the bucket.
|
|
47
|
+
*/
|
|
48
|
+
uploadToSignedUrl(path: string, token: string, fileBody: FileBody, fileOptions?: FileOptions): Promise<{
|
|
49
|
+
data: {
|
|
50
|
+
path: string;
|
|
51
|
+
fullPath: any;
|
|
52
|
+
};
|
|
53
|
+
error: null;
|
|
54
|
+
} | {
|
|
55
|
+
data: null;
|
|
56
|
+
error: StorageError;
|
|
57
|
+
}>;
|
|
58
|
+
/**
|
|
59
|
+
* Creates a signed upload URL.
|
|
60
|
+
* Signed upload URLs can be used to upload files to the bucket without further authentication.
|
|
61
|
+
* They are valid for 2 hours.
|
|
62
|
+
* @param path The file path, including the current file name. For example `folder/image.png`.
|
|
63
|
+
* @param options.upsert If set to true, allows the file to be overwritten if it already exists.
|
|
64
|
+
*/
|
|
65
|
+
createSignedUploadUrl(path: string, options?: {
|
|
66
|
+
upsert: boolean;
|
|
67
|
+
}): Promise<{
|
|
68
|
+
data: {
|
|
69
|
+
signedUrl: string;
|
|
70
|
+
token: string;
|
|
71
|
+
path: string;
|
|
72
|
+
};
|
|
73
|
+
error: null;
|
|
74
|
+
} | {
|
|
75
|
+
data: null;
|
|
76
|
+
error: StorageError;
|
|
77
|
+
}>;
|
|
78
|
+
/**
|
|
79
|
+
* Replaces an existing file at the specified path with a new one.
|
|
80
|
+
*
|
|
81
|
+
* @param path The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to update.
|
|
82
|
+
* @param fileBody The body of the file to be stored in the bucket.
|
|
83
|
+
*/
|
|
84
|
+
update(path: string, fileBody: ArrayBuffer | ArrayBufferView | Blob | Buffer | File | NodeJS.ReadableStream | ReadableStream<Uint8Array> | URLSearchParams | string, fileOptions?: FileOptions): Promise<{
|
|
85
|
+
data: {
|
|
86
|
+
id: string;
|
|
87
|
+
path: string;
|
|
88
|
+
fullPath: string;
|
|
89
|
+
};
|
|
90
|
+
error: null;
|
|
91
|
+
} | {
|
|
92
|
+
data: null;
|
|
93
|
+
error: StorageError;
|
|
94
|
+
}>;
|
|
95
|
+
/**
|
|
96
|
+
* Moves an existing file to a new path in the same bucket.
|
|
97
|
+
*
|
|
98
|
+
* @param fromPath The original file path, including the current file name. For example `folder/image.png`.
|
|
99
|
+
* @param toPath The new file path, including the new file name. For example `folder/image-new.png`.
|
|
100
|
+
* @param options The destination options.
|
|
101
|
+
*/
|
|
102
|
+
move(fromPath: string, toPath: string, options?: DestinationOptions): Promise<{
|
|
103
|
+
data: {
|
|
104
|
+
message: string;
|
|
105
|
+
};
|
|
106
|
+
error: null;
|
|
107
|
+
} | {
|
|
108
|
+
data: null;
|
|
109
|
+
error: StorageError;
|
|
110
|
+
}>;
|
|
111
|
+
/**
|
|
112
|
+
* Copies an existing file to a new path in the same bucket.
|
|
113
|
+
*
|
|
114
|
+
* @param fromPath The original file path, including the current file name. For example `folder/image.png`.
|
|
115
|
+
* @param toPath The new file path, including the new file name. For example `folder/image-copy.png`.
|
|
116
|
+
* @param options The destination options.
|
|
117
|
+
*/
|
|
118
|
+
copy(fromPath: string, toPath: string, options?: DestinationOptions): Promise<{
|
|
119
|
+
data: {
|
|
120
|
+
path: string;
|
|
121
|
+
};
|
|
122
|
+
error: null;
|
|
123
|
+
} | {
|
|
124
|
+
data: null;
|
|
125
|
+
error: StorageError;
|
|
126
|
+
}>;
|
|
127
|
+
/**
|
|
128
|
+
* Creates a signed URL. Use a signed URL to share a file for a fixed amount of time.
|
|
129
|
+
*
|
|
130
|
+
* @param path The file path, including the current file name. For example `folder/image.png`.
|
|
131
|
+
* @param expiresIn The number of seconds until the signed URL expires. For example, `60` for a URL which is valid for one minute.
|
|
132
|
+
* @param options.download triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename.
|
|
133
|
+
* @param options.transform Transform the asset before serving it to the client.
|
|
134
|
+
*/
|
|
135
|
+
createSignedUrl(path: string, expiresIn: number): Promise<{
|
|
136
|
+
data: {
|
|
137
|
+
signedUrl: string;
|
|
138
|
+
};
|
|
139
|
+
error: null;
|
|
140
|
+
} | {
|
|
141
|
+
data: null;
|
|
142
|
+
error: StorageError;
|
|
143
|
+
}>;
|
|
144
|
+
/**
|
|
145
|
+
* Creates multiple signed URLs. Use a signed URL to share a file for a fixed amount of time.
|
|
146
|
+
*
|
|
147
|
+
* @param paths The file paths to be downloaded, including the current file names. For example `['folder/image.png', 'folder2/image2.png']`.
|
|
148
|
+
* @param expiresIn The number of seconds until the signed URLs expire. For example, `60` for URLs which are valid for one minute.
|
|
149
|
+
* @param options.download triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename.
|
|
150
|
+
*/
|
|
151
|
+
createSignedUrls(paths: string[], expiresIn: number): Promise<{
|
|
152
|
+
data: {
|
|
153
|
+
error: string | null;
|
|
154
|
+
path: string | null;
|
|
155
|
+
signedUrl: string;
|
|
156
|
+
}[];
|
|
157
|
+
error: null;
|
|
158
|
+
} | {
|
|
159
|
+
data: null;
|
|
160
|
+
error: StorageError;
|
|
161
|
+
}>;
|
|
162
|
+
/**
|
|
163
|
+
* Downloads a file from a private bucket. For public buckets, make a request to the URL returned from `getPublicUrl` instead.
|
|
164
|
+
*
|
|
165
|
+
* @param path The full path and file name of the file to be downloaded. For example `folder/image.png`.
|
|
166
|
+
* @param options.transform Transform the asset before serving it to the client.
|
|
167
|
+
*/
|
|
168
|
+
download(path: string): Promise<{
|
|
169
|
+
data: Blob;
|
|
170
|
+
error: null;
|
|
171
|
+
} | {
|
|
172
|
+
data: null;
|
|
173
|
+
error: StorageError;
|
|
174
|
+
}>;
|
|
175
|
+
/**
|
|
176
|
+
* Retrieves the details of an existing file.
|
|
177
|
+
* @param path
|
|
178
|
+
*/
|
|
179
|
+
info(path: string): Promise<{
|
|
180
|
+
data: Camelize<FileObjectV2>;
|
|
181
|
+
error: null;
|
|
182
|
+
} | {
|
|
183
|
+
data: null;
|
|
184
|
+
error: StorageError;
|
|
185
|
+
}>;
|
|
186
|
+
/**
|
|
187
|
+
* Checks the existence of a file.
|
|
188
|
+
* @param path
|
|
189
|
+
*/
|
|
190
|
+
exists(path: string): Promise<{
|
|
191
|
+
data: boolean;
|
|
192
|
+
error: null;
|
|
193
|
+
} | {
|
|
194
|
+
data: boolean;
|
|
195
|
+
error: StorageError;
|
|
196
|
+
}>;
|
|
197
|
+
/**
|
|
198
|
+
* A simple convenience function to get the URL for an asset in a public bucket. If you do not want to use this function, you can construct the public URL by concatenating the bucket URL with the path to the asset.
|
|
199
|
+
* This function does not verify if the bucket is public. If a public URL is created for a bucket which is not public, you will not be able to download the asset.
|
|
200
|
+
*
|
|
201
|
+
* @param path The path and name of the file to generate the public URL for. For example `folder/image.png`.
|
|
202
|
+
* @param options.download Triggers the file as a download if set to true. Set this parameter as the name of the file if you want to trigger the download with a different filename.
|
|
203
|
+
* @param options.transform Transform the asset before serving it to the client.
|
|
204
|
+
*/
|
|
205
|
+
getPublicUrl(path: string, options?: {
|
|
206
|
+
download?: string | boolean;
|
|
207
|
+
transform?: TransformOptions;
|
|
208
|
+
}): {
|
|
209
|
+
data: {
|
|
210
|
+
publicUrl: string;
|
|
211
|
+
};
|
|
212
|
+
};
|
|
213
|
+
/**
|
|
214
|
+
* Deletes files within the same bucket
|
|
215
|
+
*
|
|
216
|
+
* @param paths An array of files to delete, including the path and file name. For example [`'folder/image.png'`].
|
|
217
|
+
*/
|
|
218
|
+
remove(paths: string[]): Promise<{
|
|
219
|
+
data: FileObject[];
|
|
220
|
+
error: null;
|
|
221
|
+
} | {
|
|
222
|
+
data: null;
|
|
223
|
+
error: StorageError;
|
|
224
|
+
}>;
|
|
225
|
+
/**
|
|
226
|
+
* Lists all the files within a bucket.
|
|
227
|
+
* @param path The folder path.
|
|
228
|
+
* @param options Search options including limit (defaults to 100), offset, sortBy, and search
|
|
229
|
+
*/
|
|
230
|
+
list(path?: string, options?: SearchOptions): Promise<{
|
|
231
|
+
data: FileObject[];
|
|
232
|
+
error: null;
|
|
233
|
+
} | {
|
|
234
|
+
data: null;
|
|
235
|
+
error: StorageError;
|
|
236
|
+
}>;
|
|
237
|
+
protected encodeMetadata(metadata: Record<string, any>): string;
|
|
238
|
+
toBase64(data: string): string;
|
|
239
|
+
private _getFinalPath;
|
|
240
|
+
private _removeEmptyFolders;
|
|
241
|
+
private transformOptsToQueryString;
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=StorageFileApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StorageFileApi.d.ts","sourceRoot":"","sources":["../../../src/packages/StorageFileApi.ts"],"names":[],"mappings":"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"}
|