@casual-simulation/aux-records-aws 3.2.16 → 3.2.17
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/S3FileRecordsStore.d.ts +8 -2
- package/S3FileRecordsStore.js +93 -26
- package/S3FileRecordsStore.js.map +1 -1
- package/package.json +3 -3
package/S3FileRecordsStore.d.ts
CHANGED
|
@@ -9,12 +9,14 @@ export declare const EMPTY_STRING_SHA256_HASH_HEX = "e3b0c44298fc1c149afbf4c8996
|
|
|
9
9
|
export declare class S3FileRecordsStore implements FileRecordsStore {
|
|
10
10
|
private _region;
|
|
11
11
|
private _bucket;
|
|
12
|
+
private _defaultBucket;
|
|
12
13
|
private _storageClass;
|
|
13
14
|
private _s3Host;
|
|
14
15
|
private _s3;
|
|
15
16
|
private _credentialProvider;
|
|
17
|
+
private _publicFilesUrl;
|
|
16
18
|
private _lookup;
|
|
17
|
-
constructor(region: string, bucket: string, fileLookup: FileRecordsLookup, storageClass: string, s3: S3, s3Host?: string, credentialProvider?: AwsCredentialIdentityProvider);
|
|
19
|
+
constructor(region: string, bucket: string, defaultBucket: string, fileLookup: FileRecordsLookup, storageClass: string, s3: S3, s3Host?: string, credentialProvider?: AwsCredentialIdentityProvider, publicFilesUrl?: string);
|
|
18
20
|
listUploadedFiles?(recordName: string, fileName: string): Promise<ListFilesStoreResult>;
|
|
19
21
|
getAllowedUploadHeaders(): string[];
|
|
20
22
|
getFileNameFromUrl(fileUrl: string): Promise<GetFileNameFromUrlResult>;
|
|
@@ -27,7 +29,6 @@ export declare class S3FileRecordsStore implements FileRecordsStore {
|
|
|
27
29
|
eraseFileRecord(recordName: string, fileName: string): Promise<EraseFileStoreResult>;
|
|
28
30
|
private _getCredentials;
|
|
29
31
|
private _fileUrl;
|
|
30
|
-
private _fileHost;
|
|
31
32
|
private _fileKey;
|
|
32
33
|
}
|
|
33
34
|
/**
|
|
@@ -35,4 +36,9 @@ export declare class S3FileRecordsStore implements FileRecordsStore {
|
|
|
35
36
|
* @param markers The markers that are applied to the file.
|
|
36
37
|
*/
|
|
37
38
|
export declare function s3AclForMarkers(markers: readonly string[]): string;
|
|
39
|
+
/**
|
|
40
|
+
* Determines whether the given markers indicate that the file is public.
|
|
41
|
+
* @param markers The markers that are applied to the file.
|
|
42
|
+
*/
|
|
43
|
+
export declare function isPublicFile(markers: readonly string[]): boolean;
|
|
38
44
|
//# sourceMappingURL=S3FileRecordsStore.d.ts.map
|
package/S3FileRecordsStore.js
CHANGED
|
@@ -7,6 +7,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
11
|
+
var t = {};
|
|
12
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
13
|
+
t[p] = s[p];
|
|
14
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
15
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
16
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
17
|
+
t[p[i]] = s[p[i]];
|
|
18
|
+
}
|
|
19
|
+
return t;
|
|
20
|
+
};
|
|
10
21
|
import { signRequest, } from '@casual-simulation/aux-records';
|
|
11
22
|
import { PUBLIC_READ_MARKER } from '@casual-simulation/aux-common';
|
|
12
23
|
import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
|
|
@@ -15,14 +26,16 @@ export const EMPTY_STRING_SHA256_HASH_HEX = 'e3b0c44298fc1c149afbf4c8996fb92427a
|
|
|
15
26
|
* Defines a class that can manage file records in S3.
|
|
16
27
|
*/
|
|
17
28
|
export class S3FileRecordsStore {
|
|
18
|
-
constructor(region, bucket, fileLookup, storageClass = 'STANDARD', s3, s3Host = null, credentialProvider = fromNodeProviderChain()) {
|
|
29
|
+
constructor(region, bucket, defaultBucket, fileLookup, storageClass = 'STANDARD', s3, s3Host = null, credentialProvider = fromNodeProviderChain(), publicFilesUrl = null) {
|
|
19
30
|
this._region = region;
|
|
20
31
|
this._bucket = bucket;
|
|
32
|
+
this._defaultBucket = defaultBucket;
|
|
21
33
|
this._lookup = fileLookup;
|
|
22
34
|
this._storageClass = storageClass;
|
|
23
35
|
this._s3 = s3;
|
|
24
36
|
this._s3Host = s3Host;
|
|
25
37
|
this._credentialProvider = credentialProvider;
|
|
38
|
+
this._publicFilesUrl = publicFilesUrl;
|
|
26
39
|
if (this._lookup.listUploadedFiles) {
|
|
27
40
|
this.listUploadedFiles = (recordName, fileName) => __awaiter(this, void 0, void 0, function* () {
|
|
28
41
|
const result = yield this._lookup.listUploadedFiles(recordName, fileName);
|
|
@@ -30,7 +43,10 @@ export class S3FileRecordsStore {
|
|
|
30
43
|
return result;
|
|
31
44
|
}
|
|
32
45
|
else {
|
|
33
|
-
const files = result.files.map((
|
|
46
|
+
const files = result.files.map((_a) => {
|
|
47
|
+
var { bucket } = _a, f = __rest(_a, ["bucket"]);
|
|
48
|
+
return (Object.assign(Object.assign({}, f), { url: this._fileUrl(recordName, f.fileName, bucket !== null && bucket !== void 0 ? bucket : this._bucket, isPublicFile(f.markers)).href }));
|
|
49
|
+
});
|
|
34
50
|
return {
|
|
35
51
|
success: true,
|
|
36
52
|
files,
|
|
@@ -51,26 +67,68 @@ export class S3FileRecordsStore {
|
|
|
51
67
|
}
|
|
52
68
|
getFileNameFromUrl(fileUrl) {
|
|
53
69
|
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
70
|
+
try {
|
|
71
|
+
if (this._s3Host) {
|
|
72
|
+
if (fileUrl.startsWith(this._s3Host)) {
|
|
73
|
+
const recordNameAndFileName = fileUrl.slice(this._s3Host.length + 1);
|
|
74
|
+
const firstSlash = recordNameAndFileName.indexOf('/');
|
|
75
|
+
if (firstSlash < 0) {
|
|
76
|
+
return {
|
|
77
|
+
success: false,
|
|
78
|
+
errorCode: 'unacceptable_url',
|
|
79
|
+
errorMessage: 'The URL does not match an expected format.',
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
const recordName = decodeURIComponent(recordNameAndFileName.slice(0, firstSlash));
|
|
83
|
+
const fileName = decodeURIComponent(recordNameAndFileName.slice(firstSlash + 1));
|
|
84
|
+
if (recordName && fileName) {
|
|
85
|
+
return {
|
|
86
|
+
success: true,
|
|
87
|
+
recordName,
|
|
88
|
+
fileName,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
success: false,
|
|
93
|
+
errorCode: 'unacceptable_url',
|
|
94
|
+
errorMessage: 'The URL does not match an expected format.',
|
|
95
|
+
};
|
|
96
|
+
}
|
|
59
97
|
return {
|
|
60
98
|
success: false,
|
|
61
99
|
errorCode: 'unacceptable_url',
|
|
62
100
|
errorMessage: 'The URL does not match an expected format.',
|
|
63
101
|
};
|
|
64
102
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
103
|
+
const url = new URL(fileUrl);
|
|
104
|
+
if (url.pathname) {
|
|
105
|
+
const recordNameAndFileName = url.pathname.slice(1);
|
|
106
|
+
const firstSlash = recordNameAndFileName.indexOf('/');
|
|
107
|
+
if (firstSlash < 0) {
|
|
108
|
+
return {
|
|
109
|
+
success: false,
|
|
110
|
+
errorCode: 'unacceptable_url',
|
|
111
|
+
errorMessage: 'The URL does not match an expected format.',
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
const recordName = decodeURIComponent(recordNameAndFileName.slice(0, firstSlash));
|
|
115
|
+
const fileName = decodeURIComponent(recordNameAndFileName.slice(firstSlash + 1));
|
|
116
|
+
if (recordName && fileName) {
|
|
117
|
+
return {
|
|
118
|
+
success: true,
|
|
119
|
+
recordName,
|
|
120
|
+
fileName,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
68
123
|
return {
|
|
69
|
-
success:
|
|
70
|
-
|
|
71
|
-
|
|
124
|
+
success: false,
|
|
125
|
+
errorCode: 'unacceptable_url',
|
|
126
|
+
errorMessage: 'The URL does not match an expected format.',
|
|
72
127
|
};
|
|
73
128
|
}
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
console.error('[S3FileRecordsStore] An error occurred while getting file name from URL:', err);
|
|
74
132
|
return {
|
|
75
133
|
success: false,
|
|
76
134
|
errorCode: 'unacceptable_url',
|
|
@@ -93,7 +151,9 @@ export class S3FileRecordsStore {
|
|
|
93
151
|
: null;
|
|
94
152
|
const accessKeyId = credentials ? credentials.accessKeyId : null;
|
|
95
153
|
const now = (_a = request.date) !== null && _a !== void 0 ? _a : new Date();
|
|
96
|
-
const fileUrl = this._fileUrl(request.recordName, request.fileName
|
|
154
|
+
const fileUrl = this._fileUrl(request.recordName, request.fileName, this._bucket,
|
|
155
|
+
// Presigned file uploads always have to use an S3 URL
|
|
156
|
+
false);
|
|
97
157
|
const requiredHeaders = {
|
|
98
158
|
'content-type': request.fileMimeType,
|
|
99
159
|
'content-length': request.fileByteLength.toString(),
|
|
@@ -130,7 +190,9 @@ export class S3FileRecordsStore {
|
|
|
130
190
|
: null;
|
|
131
191
|
const accessKeyId = credentials ? credentials.accessKeyId : null;
|
|
132
192
|
const now = (_a = request.date) !== null && _a !== void 0 ? _a : new Date();
|
|
133
|
-
const fileUrl = this._fileUrl(request.recordName, request.fileName
|
|
193
|
+
const fileUrl = this._fileUrl(request.recordName, request.fileName, this._bucket,
|
|
194
|
+
// Presigned file reads always have to use an S3 URL
|
|
195
|
+
false);
|
|
134
196
|
const requiredHeaders = {
|
|
135
197
|
host: fileUrl.host,
|
|
136
198
|
};
|
|
@@ -160,11 +222,12 @@ export class S3FileRecordsStore {
|
|
|
160
222
|
});
|
|
161
223
|
}
|
|
162
224
|
getFileRecord(recordName, fileName) {
|
|
225
|
+
var _a;
|
|
163
226
|
return __awaiter(this, void 0, void 0, function* () {
|
|
164
227
|
try {
|
|
165
228
|
const result = yield this._lookup.getFileRecord(recordName, fileName);
|
|
166
229
|
if (result) {
|
|
167
|
-
const url = this._fileUrl(result.recordName, result.fileName);
|
|
230
|
+
const url = this._fileUrl(result.recordName, result.fileName, (_a = result.bucket) !== null && _a !== void 0 ? _a : this._defaultBucket, isPublicFile(result.markers));
|
|
168
231
|
return {
|
|
169
232
|
success: true,
|
|
170
233
|
recordName: result.recordName,
|
|
@@ -198,7 +261,7 @@ export class S3FileRecordsStore {
|
|
|
198
261
|
}
|
|
199
262
|
addFileRecord(recordName, fileName, publisherId, subjectId, sizeInBytes, description, markers) {
|
|
200
263
|
return __awaiter(this, void 0, void 0, function* () {
|
|
201
|
-
return yield this._lookup.addFileRecord(recordName, fileName, publisherId, subjectId, sizeInBytes, description, markers);
|
|
264
|
+
return yield this._lookup.addFileRecord(recordName, fileName, publisherId, subjectId, sizeInBytes, description, this._bucket, markers);
|
|
202
265
|
});
|
|
203
266
|
}
|
|
204
267
|
updateFileRecord(recordName, fileName, markers) {
|
|
@@ -239,18 +302,15 @@ export class S3FileRecordsStore {
|
|
|
239
302
|
return yield this._credentialProvider();
|
|
240
303
|
});
|
|
241
304
|
}
|
|
242
|
-
_fileUrl(recordName, fileName) {
|
|
305
|
+
_fileUrl(recordName, fileName, bucket, isPublic) {
|
|
243
306
|
let filePath = this._fileKey(recordName, fileName);
|
|
244
|
-
if (this.
|
|
245
|
-
|
|
307
|
+
if (isPublic && this._publicFilesUrl) {
|
|
308
|
+
return new URL(`${this._publicFilesUrl}/${filePath}`);
|
|
246
309
|
}
|
|
247
|
-
return new URL(filePath, `https://${this._bucket}.s3.amazonaws.com`);
|
|
248
|
-
}
|
|
249
|
-
_fileHost() {
|
|
250
310
|
if (this._s3Host) {
|
|
251
|
-
|
|
311
|
+
filePath = `${this._s3Host}/${bucket}/${filePath}`;
|
|
252
312
|
}
|
|
253
|
-
return `https://${
|
|
313
|
+
return new URL(filePath, `https://${bucket}.s3.amazonaws.com`);
|
|
254
314
|
}
|
|
255
315
|
_fileKey(recordName, fileName) {
|
|
256
316
|
return `${recordName}/${fileName}`;
|
|
@@ -261,9 +321,16 @@ export class S3FileRecordsStore {
|
|
|
261
321
|
* @param markers The markers that are applied to the file.
|
|
262
322
|
*/
|
|
263
323
|
export function s3AclForMarkers(markers) {
|
|
264
|
-
if (markers
|
|
324
|
+
if (isPublicFile(markers)) {
|
|
265
325
|
return 'public-read';
|
|
266
326
|
}
|
|
267
327
|
return 'private';
|
|
268
328
|
}
|
|
329
|
+
/**
|
|
330
|
+
* Determines whether the given markers indicate that the file is public.
|
|
331
|
+
* @param markers The markers that are applied to the file.
|
|
332
|
+
*/
|
|
333
|
+
export function isPublicFile(markers) {
|
|
334
|
+
return markers.some((m) => m === PUBLIC_READ_MARKER);
|
|
335
|
+
}
|
|
269
336
|
//# sourceMappingURL=S3FileRecordsStore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"S3FileRecordsStore.js","sourceRoot":"","sources":["S3FileRecordsStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"S3FileRecordsStore.js","sourceRoot":"","sources":["S3FileRecordsStore.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@casual-simulation/aux-records-aws",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.17",
|
|
4
4
|
"description": "AWS Store implementations for the CasualOS Records System.",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "Casual Simulation, Inc.",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"@aws-sdk/credential-providers": "^3.359.0",
|
|
44
44
|
"@aws-sdk/types": "^3.359.0",
|
|
45
45
|
"@casual-simulation/aux-common": "^3.2.16",
|
|
46
|
-
"@casual-simulation/aux-records": "^3.2.
|
|
46
|
+
"@casual-simulation/aux-records": "^3.2.17",
|
|
47
47
|
"axios": "1.6.2"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "ccd7445296316e1893cf565a90742e8d591b0f33"
|
|
50
50
|
}
|