@tomei/media 0.11.0-dev.1 → 0.11.0-dev.2
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.
|
@@ -15,38 +15,72 @@ class S3StorageProvider {
|
|
|
15
15
|
const region = config_1.MediaConfig.getAwsRegion();
|
|
16
16
|
const bucketName = config_1.MediaConfig.getAwsS3BucketName();
|
|
17
17
|
const containerName = config_1.MediaConfig.getAwsS3ContainerName();
|
|
18
|
+
console.log('Initializing S3 Storage Provider:', {
|
|
19
|
+
region,
|
|
20
|
+
bucketName,
|
|
21
|
+
containerName,
|
|
22
|
+
hasExplicitCredentials: config_1.MediaConfig.hasAwsCredentials(),
|
|
23
|
+
});
|
|
18
24
|
const clientConfig = { region };
|
|
19
25
|
if (config_1.MediaConfig.hasAwsCredentials()) {
|
|
20
26
|
clientConfig.credentials = {
|
|
21
27
|
accessKeyId: config_1.MediaConfig.getAwsAccessKeyId(),
|
|
22
28
|
secretAccessKey: config_1.MediaConfig.getAwsSecretAccessKey(),
|
|
23
29
|
};
|
|
30
|
+
console.log('Using explicit AWS credentials');
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
console.log('Using IAM role credentials (EC2 instance profile)');
|
|
24
34
|
}
|
|
25
35
|
this.s3Client = new client_s3_1.S3Client(clientConfig);
|
|
26
36
|
this.bucketName = bucketName;
|
|
27
37
|
this.containerName = containerName;
|
|
28
38
|
}
|
|
29
39
|
async uploadFile(buffer, objectType, objectId, fileName, fileExtension) {
|
|
40
|
+
var _a;
|
|
30
41
|
try {
|
|
31
42
|
const cleanFileName = fileName.replace(/\.[^/.]+$/, '');
|
|
32
43
|
const key = `${this.containerName}/${objectType}/${objectId}/${cleanFileName}.${fileExtension}`;
|
|
44
|
+
console.log('S3 upload attempt:', {
|
|
45
|
+
bucket: this.bucketName,
|
|
46
|
+
key,
|
|
47
|
+
objectType,
|
|
48
|
+
objectId,
|
|
49
|
+
fileSize: buffer.length,
|
|
50
|
+
});
|
|
33
51
|
await this.s3Client.send(new client_s3_1.PutObjectCommand({
|
|
34
52
|
Bucket: this.bucketName,
|
|
35
53
|
Key: key,
|
|
36
54
|
Body: buffer,
|
|
37
55
|
ContentType: this.getContentType(fileExtension),
|
|
38
56
|
}));
|
|
57
|
+
console.log('S3 upload successful:', { key });
|
|
39
58
|
return `${this.containerName}/${objectType}/${objectId}`;
|
|
40
59
|
}
|
|
41
60
|
catch (error) {
|
|
61
|
+
console.error('S3 upload error details:', {
|
|
62
|
+
error,
|
|
63
|
+
errorName: (_a = error === null || error === void 0 ? void 0 : error.constructor) === null || _a === void 0 ? void 0 : _a.name,
|
|
64
|
+
errorMessage: error instanceof Error ? error.message : 'Unknown error',
|
|
65
|
+
errorCode: (error === null || error === void 0 ? void 0 : error.Code) || (error === null || error === void 0 ? void 0 : error.code),
|
|
66
|
+
bucket: this.bucketName,
|
|
67
|
+
container: this.containerName,
|
|
68
|
+
objectType,
|
|
69
|
+
objectId,
|
|
70
|
+
});
|
|
42
71
|
throw new Error(`S3 upload failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
43
72
|
}
|
|
44
73
|
}
|
|
45
74
|
async downloadFile(path, fileName, fileExtension) {
|
|
46
75
|
var _a, e_1, _b, _c;
|
|
76
|
+
var _d;
|
|
47
77
|
try {
|
|
48
78
|
const cleanFileName = fileName.replace(/\.[^/.]+$/, '');
|
|
49
79
|
const key = `${path}/${cleanFileName}.${fileExtension}`;
|
|
80
|
+
console.log('S3 download attempt:', {
|
|
81
|
+
bucket: this.bucketName,
|
|
82
|
+
key,
|
|
83
|
+
});
|
|
50
84
|
const response = await this.s3Client.send(new client_s3_1.GetObjectCommand({
|
|
51
85
|
Bucket: this.bucketName,
|
|
52
86
|
Key: key,
|
|
@@ -56,9 +90,9 @@ class S3StorageProvider {
|
|
|
56
90
|
}
|
|
57
91
|
const chunks = [];
|
|
58
92
|
try {
|
|
59
|
-
for (var
|
|
60
|
-
_c =
|
|
61
|
-
|
|
93
|
+
for (var _e = true, _f = __asyncValues(response.Body), _g; _g = await _f.next(), _a = _g.done, !_a; _e = true) {
|
|
94
|
+
_c = _g.value;
|
|
95
|
+
_e = false;
|
|
62
96
|
const chunk = _c;
|
|
63
97
|
chunks.push(Buffer.from(chunk));
|
|
64
98
|
}
|
|
@@ -66,26 +100,53 @@ class S3StorageProvider {
|
|
|
66
100
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
67
101
|
finally {
|
|
68
102
|
try {
|
|
69
|
-
if (!
|
|
103
|
+
if (!_e && !_a && (_b = _f.return)) await _b.call(_f);
|
|
70
104
|
}
|
|
71
105
|
finally { if (e_1) throw e_1.error; }
|
|
72
106
|
}
|
|
73
|
-
|
|
107
|
+
const buffer = Buffer.concat(chunks);
|
|
108
|
+
console.log('S3 download successful:', {
|
|
109
|
+
key: `${path}/${fileName.replace(/\.[^/.]+$/, '')}.${fileExtension}`,
|
|
110
|
+
size: buffer.length,
|
|
111
|
+
});
|
|
112
|
+
return buffer;
|
|
74
113
|
}
|
|
75
114
|
catch (error) {
|
|
115
|
+
console.error('S3 download error details:', {
|
|
116
|
+
error,
|
|
117
|
+
errorName: (_d = error === null || error === void 0 ? void 0 : error.constructor) === null || _d === void 0 ? void 0 : _d.name,
|
|
118
|
+
errorMessage: error instanceof Error ? error.message : 'Unknown error',
|
|
119
|
+
errorCode: (error === null || error === void 0 ? void 0 : error.Code) || (error === null || error === void 0 ? void 0 : error.code),
|
|
120
|
+
bucket: this.bucketName,
|
|
121
|
+
key: `${path}/${fileName.replace(/\.[^/.]+$/, '')}.${fileExtension}`,
|
|
122
|
+
});
|
|
76
123
|
throw new Error(`S3 download failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
77
124
|
}
|
|
78
125
|
}
|
|
79
126
|
async deleteFile(path, fileName, fileExtension) {
|
|
127
|
+
var _a;
|
|
80
128
|
try {
|
|
81
129
|
const cleanFileName = fileName.replace(/\.[^/.]+$/, '');
|
|
82
130
|
const key = `${path}/${cleanFileName}.${fileExtension}`;
|
|
131
|
+
console.log('S3 delete attempt:', {
|
|
132
|
+
bucket: this.bucketName,
|
|
133
|
+
key,
|
|
134
|
+
});
|
|
83
135
|
await this.s3Client.send(new client_s3_1.DeleteObjectCommand({
|
|
84
136
|
Bucket: this.bucketName,
|
|
85
137
|
Key: key,
|
|
86
138
|
}));
|
|
139
|
+
console.log('S3 delete successful:', { key });
|
|
87
140
|
}
|
|
88
141
|
catch (error) {
|
|
142
|
+
console.error('S3 delete error details:', {
|
|
143
|
+
error,
|
|
144
|
+
errorName: (_a = error === null || error === void 0 ? void 0 : error.constructor) === null || _a === void 0 ? void 0 : _a.name,
|
|
145
|
+
errorMessage: error instanceof Error ? error.message : 'Unknown error',
|
|
146
|
+
errorCode: (error === null || error === void 0 ? void 0 : error.Code) || (error === null || error === void 0 ? void 0 : error.code),
|
|
147
|
+
bucket: this.bucketName,
|
|
148
|
+
key: `${path}/${fileName.replace(/\.[^/.]+$/, '')}.${fileExtension}`,
|
|
149
|
+
});
|
|
89
150
|
throw new Error(`S3 delete failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
90
151
|
}
|
|
91
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-storage.provider.js","sourceRoot":"","sources":["../../../src/storage/providers/s3-storage.provider.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,kDAM4B;AAE5B,yCAA2C;AAK3C,MAAa,iBAAiB;IAK5B;QACE,MAAM,MAAM,GAAG,oBAAW,CAAC,YAAY,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,oBAAW,CAAC,kBAAkB,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,oBAAW,CAAC,qBAAqB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"s3-storage.provider.js","sourceRoot":"","sources":["../../../src/storage/providers/s3-storage.provider.ts"],"names":[],"mappings":"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"}
|