@ido_kawaz/storage-client 5.0.0 → 5.1.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/README.md +20 -0
- package/dist/__tests__/storageClient.test.js +66 -1
- package/dist/__tests__/storageClient.test.js.map +1 -1
- package/dist/storageClient.d.ts +3 -0
- package/dist/storageClient.d.ts.map +1 -1
- package/dist/storageClient.js +51 -3
- package/dist/storageClient.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -86,6 +86,26 @@ Downloads an object and returns its body as a Node.js `Readable` stream.
|
|
|
86
86
|
- Throws `StorageError` when the object retrieval fails.
|
|
87
87
|
- Throws `StorageError` when the storage service returns an empty body.
|
|
88
88
|
|
|
89
|
+
### `getPresignedUrl(bucketName: string, objectKey: string, expiresInSeconds: number): Promise<string>`
|
|
90
|
+
|
|
91
|
+
Generates a pre-signed URL for temporary read access to an object.
|
|
92
|
+
|
|
93
|
+
- `expiresInSeconds` — how long the URL remains valid.
|
|
94
|
+
- Throws `StorageError` on signing failure.
|
|
95
|
+
|
|
96
|
+
### `deleteObject(bucketName: string, objectKey: string): Promise<void>`
|
|
97
|
+
|
|
98
|
+
Deletes a single object from a bucket.
|
|
99
|
+
|
|
100
|
+
- Throws `StorageError` on failure.
|
|
101
|
+
|
|
102
|
+
### `clearPrefix(bucketName: string, prefix: string): Promise<void>`
|
|
103
|
+
|
|
104
|
+
Deletes all objects whose key starts with the given prefix.
|
|
105
|
+
|
|
106
|
+
- No-ops when the prefix matches no objects.
|
|
107
|
+
- Throws `StorageError` if listing objects fails.
|
|
108
|
+
|
|
89
109
|
## Error Handling
|
|
90
110
|
|
|
91
111
|
Storage operations can throw `StorageError` with operation context in the message.
|
|
@@ -32,6 +32,16 @@ jest.mock('@aws-sdk/client-s3', () => {
|
|
|
32
32
|
this.input = input;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
+
class MockDeleteObjectCommand {
|
|
36
|
+
constructor(input) {
|
|
37
|
+
this.input = input;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
class MockListObjectsCommand {
|
|
41
|
+
constructor(input) {
|
|
42
|
+
this.input = input;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
35
45
|
return {
|
|
36
46
|
S3Client: jest.fn().mockImplementation(() => ({
|
|
37
47
|
send: sendMock
|
|
@@ -40,11 +50,17 @@ jest.mock('@aws-sdk/client-s3', () => {
|
|
|
40
50
|
CreateBucketCommand: MockCreateBucketCommand,
|
|
41
51
|
DeleteBucketCommand: MockDeleteBucketCommand,
|
|
42
52
|
GetObjectCommand: MockGetObjectCommand,
|
|
43
|
-
PutObjectCommand: MockPutObjectCommand
|
|
53
|
+
PutObjectCommand: MockPutObjectCommand,
|
|
54
|
+
DeleteObjectCommand: MockDeleteObjectCommand,
|
|
55
|
+
ListObjectsCommand: MockListObjectsCommand
|
|
44
56
|
};
|
|
45
57
|
});
|
|
46
58
|
const uploadOnMock = jest.fn();
|
|
47
59
|
const uploadDoneMock = jest.fn();
|
|
60
|
+
const getSignedUrlMock = jest.fn();
|
|
61
|
+
jest.mock('@aws-sdk/s3-request-presigner', () => ({
|
|
62
|
+
getSignedUrl: (a, b, c) => getSignedUrlMock(a, b, c)
|
|
63
|
+
}));
|
|
48
64
|
jest.mock('@aws-sdk/lib-storage', () => ({
|
|
49
65
|
Upload: jest.fn().mockImplementation(() => ({
|
|
50
66
|
on: uploadOnMock,
|
|
@@ -62,6 +78,7 @@ describe('StorageClient', () => {
|
|
|
62
78
|
sendMock.mockReset();
|
|
63
79
|
uploadDoneMock.mockReset();
|
|
64
80
|
uploadOnMock.mockReset();
|
|
81
|
+
getSignedUrlMock.mockReset();
|
|
65
82
|
});
|
|
66
83
|
it('ensureBucket does nothing when bucket exists', async () => {
|
|
67
84
|
sendMock.mockResolvedValueOnce({});
|
|
@@ -159,5 +176,53 @@ describe('StorageClient', () => {
|
|
|
159
176
|
const client = new storageClient_1.StorageClient(config);
|
|
160
177
|
await expect(client.downloadObject('bucket-g', 'empty.txt')).rejects.toThrow('Storage error: {"operation":"downloadObject","error":"Received empty body","bucketName":"bucket-g","objectKey":"empty.txt"}');
|
|
161
178
|
});
|
|
179
|
+
it('getPresignedUrl returns signed URL from presigner', async () => {
|
|
180
|
+
const signedUrl = 'https://s3.example.com/bucket/file.txt?X-Amz-Signature=abc';
|
|
181
|
+
getSignedUrlMock.mockResolvedValueOnce(signedUrl);
|
|
182
|
+
const client = new storageClient_1.StorageClient(config);
|
|
183
|
+
const result = await client.getPresignedUrl('bucket-h', 'file.txt', 3600);
|
|
184
|
+
expect(result).toBe(signedUrl);
|
|
185
|
+
expect(getSignedUrlMock).toHaveBeenCalledTimes(1);
|
|
186
|
+
expect(getSignedUrlMock).toHaveBeenCalledWith(expect.anything(), expect.any(client_s3_1.GetObjectCommand), { expiresIn: 3600 });
|
|
187
|
+
});
|
|
188
|
+
it('getPresignedUrl wraps presigner failures in StorageError', async () => {
|
|
189
|
+
getSignedUrlMock.mockRejectedValueOnce(new Error('SigningError'));
|
|
190
|
+
const client = new storageClient_1.StorageClient(config);
|
|
191
|
+
await expect(client.getPresignedUrl('bucket-i', 'file.txt', 3600)).rejects.toBeInstanceOf(types_1.StorageError);
|
|
192
|
+
});
|
|
193
|
+
it('deleteObject sends DeleteObjectCommand', async () => {
|
|
194
|
+
sendMock.mockResolvedValueOnce({});
|
|
195
|
+
const client = new storageClient_1.StorageClient(config);
|
|
196
|
+
await client.deleteObject('bucket-j', 'file.txt');
|
|
197
|
+
expect(sendMock).toHaveBeenCalledTimes(1);
|
|
198
|
+
expect(sendMock.mock.calls[0][0]).toBeInstanceOf(client_s3_1.DeleteObjectCommand);
|
|
199
|
+
expect(sendMock.mock.calls[0][0].input).toMatchObject({ Bucket: 'bucket-j', Key: 'file.txt' });
|
|
200
|
+
});
|
|
201
|
+
it('deleteObject wraps failures in StorageError', async () => {
|
|
202
|
+
sendMock.mockRejectedValueOnce(new Error('AccessDenied'));
|
|
203
|
+
const client = new storageClient_1.StorageClient(config);
|
|
204
|
+
await expect(client.deleteObject('bucket-k', 'file.txt')).rejects.toBeInstanceOf(types_1.StorageError);
|
|
205
|
+
});
|
|
206
|
+
it('clearPrefix does nothing when prefix has no objects', async () => {
|
|
207
|
+
sendMock.mockResolvedValueOnce({ Contents: [] });
|
|
208
|
+
const client = new storageClient_1.StorageClient(config);
|
|
209
|
+
await client.clearPrefix('bucket-l', 'prefix/');
|
|
210
|
+
expect(sendMock).toHaveBeenCalledTimes(1);
|
|
211
|
+
expect(sendMock.mock.calls[0][0]).toBeInstanceOf(client_s3_1.ListObjectsCommand);
|
|
212
|
+
});
|
|
213
|
+
it('clearPrefix deletes all objects under the prefix', async () => {
|
|
214
|
+
sendMock
|
|
215
|
+
.mockResolvedValueOnce({ Contents: [{ Key: 'prefix/a.txt' }, { Key: 'prefix/b.txt' }] })
|
|
216
|
+
.mockResolvedValue({});
|
|
217
|
+
const client = new storageClient_1.StorageClient(config);
|
|
218
|
+
await client.clearPrefix('bucket-m', 'prefix/');
|
|
219
|
+
expect(sendMock.mock.calls[0][0]).toBeInstanceOf(client_s3_1.ListObjectsCommand);
|
|
220
|
+
expect(sendMock.mock.calls[0][0].input).toMatchObject({ Bucket: 'bucket-m', Prefix: 'prefix/' });
|
|
221
|
+
});
|
|
222
|
+
it('clearPrefix wraps list failures in StorageError', async () => {
|
|
223
|
+
sendMock.mockRejectedValueOnce(new Error('ListDenied'));
|
|
224
|
+
const client = new storageClient_1.StorageClient(config);
|
|
225
|
+
await expect(client.clearPrefix('bucket-n', 'prefix/')).rejects.toBeInstanceOf(types_1.StorageError);
|
|
226
|
+
});
|
|
162
227
|
});
|
|
163
228
|
//# sourceMappingURL=storageClient.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageClient.test.js","sourceRoot":"","sources":["../../src/__tests__/storageClient.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storageClient.test.js","sourceRoot":"","sources":["../../src/__tests__/storageClient.test.ts"],"names":[],"mappings":"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"}
|
package/dist/storageClient.d.ts
CHANGED
|
@@ -7,7 +7,10 @@ export declare class StorageClient {
|
|
|
7
7
|
constructor(config: StorageConfig);
|
|
8
8
|
ensureBucket: (bucketName: string) => Promise<void>;
|
|
9
9
|
deleteBucket: (bucketName: string) => Promise<void>;
|
|
10
|
+
clearPrefix: (bucketName: string, prefix: string) => Promise<void>;
|
|
10
11
|
uploadObject: (bucketName: string, objectKey: string, objectData: Readable, options?: UploadObjectOptions) => Promise<void>;
|
|
11
12
|
downloadObject: (bucketName: string, objectKey: string) => Promise<Readable>;
|
|
13
|
+
getPresignedUrl: (bucketName: string, objectKey: string, expiresInSeconds: number) => Promise<string>;
|
|
14
|
+
deleteObject: (bucketName: string, objectKey: string) => Promise<void>;
|
|
12
15
|
}
|
|
13
16
|
//# sourceMappingURL=storageClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageClient.d.ts","sourceRoot":"","sources":["../src/storageClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"storageClient.d.ts","sourceRoot":"","sources":["../src/storageClient.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAgB,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,qBAAa,aAAa;IAGV,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,MAAM,CAAW;gBAEI,MAAM,EAAE,aAAa;IAIlD,YAAY,GAAU,YAAY,MAAM,mBAQtC;IAEF,YAAY,GAAU,YAAY,MAAM,mBActC;IAEF,WAAW,GAAU,YAAY,MAAM,EAAE,QAAQ,MAAM,mBAgBtD;IAED,YAAY,GAAU,YAAY,MAAM,EAAE,WAAW,MAAM,EAAE,YAAY,QAAQ,EAAE,UAAU,mBAAmB,mBAsB/G;IAED,cAAc,GAAU,YAAY,MAAM,EAAE,WAAW,MAAM,KAAG,OAAO,CAAC,QAAQ,CAAC,CAUhF;IAED,eAAe,GAAU,YAAY,MAAM,EAAE,WAAW,MAAM,EAAE,kBAAkB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CAOzG;IAED,YAAY,GAAU,YAAY,MAAM,EAAE,WAAW,MAAM,mBAM1D;CACJ"}
|
package/dist/storageClient.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StorageClient = void 0;
|
|
4
4
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
5
|
+
const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
|
|
5
6
|
const lib_storage_1 = require("@aws-sdk/lib-storage");
|
|
6
7
|
const ramda_1 = require("ramda");
|
|
7
8
|
const types_1 = require("./types");
|
|
@@ -19,11 +20,41 @@ class StorageClient {
|
|
|
19
20
|
});
|
|
20
21
|
};
|
|
21
22
|
this.deleteBucket = async (bucketName) => {
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
try {
|
|
24
|
+
await this.client.send(new client_s3_1.DeleteBucketCommand({ Bucket: bucketName }));
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
const name = error.name;
|
|
28
|
+
if (name === 'NoSuchBucket') {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
else if (name === 'BucketNotEmpty') {
|
|
32
|
+
await this.clearPrefix(bucketName, "");
|
|
33
|
+
await this.client.send(new client_s3_1.DeleteBucketCommand({ Bucket: bucketName }));
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
24
36
|
throw new types_1.StorageError("deleteBucket", error, { bucketName });
|
|
25
37
|
}
|
|
26
|
-
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
this.clearPrefix = async (bucketName, prefix) => {
|
|
41
|
+
try {
|
|
42
|
+
const listCommand = new client_s3_1.ListObjectsCommand({ Bucket: bucketName, Prefix: prefix });
|
|
43
|
+
const listedObjects = (await this.client.send(listCommand)).Contents;
|
|
44
|
+
if ((0, ramda_1.isNil)(listedObjects) || (0, ramda_1.isEmpty)(listedObjects)) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
for (const { Key } of listedObjects) {
|
|
49
|
+
if ((0, ramda_1.isNotNil)(Key)) {
|
|
50
|
+
await this.deleteObject(bucketName, Key);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
throw new types_1.StorageError("clearPrefix", error, { bucketName, prefix });
|
|
57
|
+
}
|
|
27
58
|
};
|
|
28
59
|
this.uploadObject = async (bucketName, objectKey, objectData, options) => {
|
|
29
60
|
if (options?.ensureBucket) {
|
|
@@ -62,6 +93,23 @@ class StorageClient {
|
|
|
62
93
|
throw new types_1.StorageError("downloadObject", error, { bucketName, objectKey });
|
|
63
94
|
}
|
|
64
95
|
};
|
|
96
|
+
this.getPresignedUrl = async (bucketName, objectKey, expiresInSeconds) => {
|
|
97
|
+
try {
|
|
98
|
+
const command = new client_s3_1.GetObjectCommand({ Bucket: bucketName, Key: objectKey });
|
|
99
|
+
return await (0, s3_request_presigner_1.getSignedUrl)(this.client, command, { expiresIn: expiresInSeconds });
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
throw new types_1.StorageError("getPresignedUrl", error, { bucketName, objectKey });
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
this.deleteObject = async (bucketName, objectKey) => {
|
|
106
|
+
try {
|
|
107
|
+
await this.client.send(new client_s3_1.DeleteObjectCommand({ Bucket: bucketName, Key: objectKey }));
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
throw new types_1.StorageError("deleteObject", error, { bucketName, objectKey });
|
|
111
|
+
}
|
|
112
|
+
};
|
|
65
113
|
this.client = new client_s3_1.S3Client(config);
|
|
66
114
|
}
|
|
67
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storageClient.js","sourceRoot":"","sources":["../src/storageClient.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"storageClient.js","sourceRoot":"","sources":["../src/storageClient.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ido_kawaz/storage-client",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.1.1",
|
|
4
4
|
"description": "Storage client library for Kawaz Plus services",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@aws-sdk/client-s3": "^3.985.0",
|
|
29
29
|
"@aws-sdk/lib-storage": "^3.985.0",
|
|
30
|
+
"@aws-sdk/s3-request-presigner": "^3.1008.0",
|
|
30
31
|
"@types/ramda": "^0.31.1",
|
|
31
32
|
"ramda": "^0.32.0",
|
|
32
33
|
"zod": "^3.24.2"
|