@aspan-corporation/ac-shared 1.0.15 → 1.0.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/lib/index.js +120 -76
- package/lib/index.js.map +3 -3
- package/lib/services/dynamoDB.d.ts +2 -1
- package/lib/services/s3.d.ts +2 -1
- package/lib/services/sqs.d.ts +2 -1
- package/lib/services/ssm.d.ts +3 -2
- package/lib/services/sts.d.ts +4 -2
- package/lib/utils/thumbsKey.d.ts +8 -1
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -7,29 +7,31 @@ import {
|
|
|
7
7
|
} from "@aws-sdk/client-s3";
|
|
8
8
|
import { Upload } from "@aws-sdk/lib-storage";
|
|
9
9
|
import { PassThrough } from "node:stream";
|
|
10
|
+
import assert from "node:assert/strict";
|
|
10
11
|
var S3Service = class {
|
|
11
12
|
logger;
|
|
12
13
|
client;
|
|
13
14
|
constructor({
|
|
14
15
|
logger,
|
|
15
16
|
client,
|
|
16
|
-
assumeRoleCommandOutput
|
|
17
|
-
|
|
17
|
+
assumeRoleCommandOutput,
|
|
18
|
+
region
|
|
19
|
+
}) {
|
|
18
20
|
this.logger = logger;
|
|
19
|
-
if (
|
|
21
|
+
if (client) {
|
|
22
|
+
this.client = client;
|
|
23
|
+
} else {
|
|
24
|
+
assert(region, "Region must be provided if client is not passed");
|
|
20
25
|
this.client = new S3Client({
|
|
21
|
-
region
|
|
26
|
+
region,
|
|
22
27
|
logger: this.logger,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
this.client = client ?? new S3Client({
|
|
31
|
-
region: process.env.AWS_REGION,
|
|
32
|
-
logger: this.logger
|
|
28
|
+
...assumeRoleCommandOutput ? {
|
|
29
|
+
credentials: {
|
|
30
|
+
accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,
|
|
31
|
+
secretAccessKey: assumeRoleCommandOutput?.Credentials?.SecretAccessKey,
|
|
32
|
+
sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken
|
|
33
|
+
}
|
|
34
|
+
} : {}
|
|
33
35
|
});
|
|
34
36
|
}
|
|
35
37
|
}
|
|
@@ -91,6 +93,7 @@ import {
|
|
|
91
93
|
QueryCommand,
|
|
92
94
|
UpdateCommand
|
|
93
95
|
} from "@aws-sdk/lib-dynamodb";
|
|
96
|
+
import assert2 from "node:assert/strict";
|
|
94
97
|
var DynamoDBService = class {
|
|
95
98
|
logger;
|
|
96
99
|
client;
|
|
@@ -98,23 +101,24 @@ var DynamoDBService = class {
|
|
|
98
101
|
constructor({
|
|
99
102
|
logger,
|
|
100
103
|
client,
|
|
101
|
-
assumeRoleCommandOutput
|
|
102
|
-
|
|
104
|
+
assumeRoleCommandOutput,
|
|
105
|
+
region
|
|
106
|
+
}) {
|
|
103
107
|
this.logger = logger;
|
|
104
|
-
if (
|
|
108
|
+
if (client) {
|
|
109
|
+
this.client = client;
|
|
110
|
+
} else {
|
|
111
|
+
assert2(region, "Region must be provided if client is not passed");
|
|
105
112
|
this.client = new DynamoDBClient({
|
|
106
|
-
region
|
|
113
|
+
region,
|
|
107
114
|
logger: this.logger,
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
this.client = client ?? new DynamoDBClient({
|
|
116
|
-
region: process.env.AWS_REGION,
|
|
117
|
-
logger: this.logger
|
|
115
|
+
...assumeRoleCommandOutput ? {
|
|
116
|
+
credentials: {
|
|
117
|
+
accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,
|
|
118
|
+
secretAccessKey: assumeRoleCommandOutput?.Credentials?.SecretAccessKey,
|
|
119
|
+
sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken
|
|
120
|
+
}
|
|
121
|
+
} : {}
|
|
118
122
|
});
|
|
119
123
|
}
|
|
120
124
|
this.documentClient = DynamoDBDocumentClient.from(this.client);
|
|
@@ -141,33 +145,35 @@ var DynamoDBService = class {
|
|
|
141
145
|
|
|
142
146
|
// src/services/ssm.ts
|
|
143
147
|
import {
|
|
144
|
-
SSMClient,
|
|
145
148
|
GetParameterCommand,
|
|
146
|
-
PutParameterCommand
|
|
149
|
+
PutParameterCommand,
|
|
150
|
+
SSMClient
|
|
147
151
|
} from "@aws-sdk/client-ssm";
|
|
152
|
+
import assert3 from "node:assert/strict";
|
|
148
153
|
var SSMService = class {
|
|
149
154
|
logger;
|
|
150
155
|
client;
|
|
151
156
|
constructor({
|
|
152
157
|
logger,
|
|
153
158
|
client,
|
|
154
|
-
assumeRoleCommandOutput
|
|
159
|
+
assumeRoleCommandOutput,
|
|
160
|
+
region
|
|
155
161
|
} = {}) {
|
|
156
162
|
this.logger = logger;
|
|
157
|
-
if (
|
|
163
|
+
if (client) {
|
|
164
|
+
this.client = client;
|
|
165
|
+
} else {
|
|
166
|
+
assert3(region, "Region must be provided if client is not passed");
|
|
158
167
|
this.client = new SSMClient({
|
|
159
|
-
region
|
|
168
|
+
region,
|
|
160
169
|
logger: this.logger,
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
this.client = client ?? new SSMClient({
|
|
169
|
-
region: process.env.AWS_REGION,
|
|
170
|
-
logger: this.logger
|
|
170
|
+
...assumeRoleCommandOutput ? {
|
|
171
|
+
credentials: {
|
|
172
|
+
accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,
|
|
173
|
+
secretAccessKey: assumeRoleCommandOutput?.Credentials?.SecretAccessKey,
|
|
174
|
+
sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken
|
|
175
|
+
}
|
|
176
|
+
} : {}
|
|
171
177
|
});
|
|
172
178
|
}
|
|
173
179
|
}
|
|
@@ -187,29 +193,31 @@ import {
|
|
|
187
193
|
SendMessageBatchCommand,
|
|
188
194
|
SendMessageCommand
|
|
189
195
|
} from "@aws-sdk/client-sqs";
|
|
196
|
+
import assert4 from "node:assert/strict";
|
|
190
197
|
var SQSService = class {
|
|
191
198
|
logger;
|
|
192
199
|
client;
|
|
193
200
|
constructor({
|
|
194
201
|
logger,
|
|
195
202
|
client,
|
|
196
|
-
assumeRoleCommandOutput
|
|
197
|
-
|
|
203
|
+
assumeRoleCommandOutput,
|
|
204
|
+
region
|
|
205
|
+
}) {
|
|
198
206
|
this.logger = logger;
|
|
199
|
-
if (
|
|
207
|
+
if (client) {
|
|
208
|
+
this.client = client;
|
|
209
|
+
} else {
|
|
210
|
+
assert4(region, "Region must be provided if client is not passed");
|
|
200
211
|
this.client = new SQSClient({
|
|
201
|
-
region
|
|
212
|
+
region,
|
|
202
213
|
logger: this.logger,
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
this.client = client ?? new SQSClient({
|
|
211
|
-
region: process.env.AWS_REGION,
|
|
212
|
-
logger: this.logger
|
|
214
|
+
...assumeRoleCommandOutput ? {
|
|
215
|
+
credentials: {
|
|
216
|
+
accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,
|
|
217
|
+
secretAccessKey: assumeRoleCommandOutput?.Credentials?.SecretAccessKey,
|
|
218
|
+
sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken
|
|
219
|
+
}
|
|
220
|
+
} : {}
|
|
213
221
|
});
|
|
214
222
|
}
|
|
215
223
|
}
|
|
@@ -229,19 +237,29 @@ var SQSService = class {
|
|
|
229
237
|
|
|
230
238
|
// src/services/sts.ts
|
|
231
239
|
import {
|
|
232
|
-
|
|
240
|
+
AssumeRoleCommand,
|
|
233
241
|
GetCallerIdentityCommand,
|
|
234
|
-
|
|
242
|
+
STSClient
|
|
235
243
|
} from "@aws-sdk/client-sts";
|
|
244
|
+
import assert5 from "node:assert/strict";
|
|
236
245
|
var STSService = class {
|
|
237
246
|
logger;
|
|
238
247
|
client;
|
|
239
|
-
constructor({
|
|
248
|
+
constructor({
|
|
249
|
+
logger,
|
|
250
|
+
region,
|
|
251
|
+
client
|
|
252
|
+
}) {
|
|
240
253
|
this.logger = logger;
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
254
|
+
if (client) {
|
|
255
|
+
this.client = client;
|
|
256
|
+
} else {
|
|
257
|
+
assert5(region, "Region must be provided if client is not passed");
|
|
258
|
+
this.client = new STSClient({
|
|
259
|
+
region,
|
|
260
|
+
logger: this.logger
|
|
261
|
+
});
|
|
262
|
+
}
|
|
245
263
|
}
|
|
246
264
|
async getCallerIdentity() {
|
|
247
265
|
return await this.client.send(new GetCallerIdentityCommand({}));
|
|
@@ -257,13 +275,13 @@ var STSService = class {
|
|
|
257
275
|
import { Logger } from "@aws-lambda-powertools/logger";
|
|
258
276
|
import { Metrics } from "@aws-lambda-powertools/metrics";
|
|
259
277
|
import { Tracer } from "@aws-lambda-powertools/tracer";
|
|
260
|
-
import
|
|
278
|
+
import assert6 from "node:assert";
|
|
261
279
|
var plumbingMiddleware = () => {
|
|
262
|
-
|
|
280
|
+
assert6(
|
|
263
281
|
process.env.POWERTOOLS_METRICS_NAMESPACE,
|
|
264
282
|
"POWERTOOLS_METRICS_NAMESPACE is not configured"
|
|
265
283
|
);
|
|
266
|
-
|
|
284
|
+
assert6(
|
|
267
285
|
process.env.POWERTOOLS_SERVICE_NAME,
|
|
268
286
|
"POWERTOOLS_SERVICE_NAME is not configured"
|
|
269
287
|
);
|
|
@@ -336,14 +354,14 @@ var plumbingMiddleware = () => {
|
|
|
336
354
|
import { DynamoDBPersistenceLayer } from "@aws-lambda-powertools/idempotency/dynamodb";
|
|
337
355
|
|
|
338
356
|
// src/utils/assertUtils.ts
|
|
339
|
-
import
|
|
357
|
+
import assert7 from "node:assert/strict";
|
|
340
358
|
var assertEnvVar = (envVar) => {
|
|
341
|
-
|
|
359
|
+
assert7(process.env[envVar], `${envVar} is not set`);
|
|
342
360
|
return process.env[envVar];
|
|
343
361
|
};
|
|
344
362
|
var assertString = (value) => {
|
|
345
|
-
|
|
346
|
-
|
|
363
|
+
assert7(typeof value === "string", "Value is not a string");
|
|
364
|
+
assert7(value.length > 0, "Value is empty");
|
|
347
365
|
return value;
|
|
348
366
|
};
|
|
349
367
|
|
|
@@ -382,34 +400,60 @@ var normalizeErrorMessage = (error) => {
|
|
|
382
400
|
};
|
|
383
401
|
|
|
384
402
|
// src/utils/thumbsKey.ts
|
|
385
|
-
|
|
403
|
+
import { extname } from "node:path";
|
|
404
|
+
var JPEG_EXTENSION = "jpeg";
|
|
405
|
+
var JPG_EXTENSION = "jpg";
|
|
406
|
+
var HEIC_EXTENSION = "heic";
|
|
407
|
+
var DEFAULT_THUMBS_EXTENSION = JPG_EXTENSION;
|
|
408
|
+
var ALLOWED_EXTENSIONS = [
|
|
409
|
+
JPEG_EXTENSION,
|
|
410
|
+
JPG_EXTENSION,
|
|
411
|
+
HEIC_EXTENSION
|
|
412
|
+
];
|
|
413
|
+
var THUMBNAIL_RESOLUTIONS = [
|
|
414
|
+
[200, 200],
|
|
415
|
+
[1180, 820]
|
|
416
|
+
];
|
|
386
417
|
var getThumbsKey = ({
|
|
387
418
|
key,
|
|
388
419
|
prefix,
|
|
389
420
|
width,
|
|
390
421
|
height
|
|
391
422
|
}) => {
|
|
423
|
+
const ext = getKeyExtension(key);
|
|
424
|
+
if ([JPEG_EXTENSION, JPG_EXTENSION].includes(ext)) {
|
|
425
|
+
return key;
|
|
426
|
+
}
|
|
392
427
|
const sourceKeyWithoutExtension = key.split(".").slice(0, -1).join(".");
|
|
393
|
-
return `${prefix}/${width}x${height}/${sourceKeyWithoutExtension}.${
|
|
428
|
+
return `${prefix}/${width}x${height}/${sourceKeyWithoutExtension}.${DEFAULT_THUMBS_EXTENSION}`;
|
|
394
429
|
};
|
|
395
|
-
var
|
|
396
|
-
|
|
430
|
+
var getKeyExtension = (key) => extname(key).slice(1).toLowerCase();
|
|
431
|
+
var isAllowedExtension = (key) => {
|
|
432
|
+
const ext = getKeyExtension(key);
|
|
433
|
+
return ALLOWED_EXTENSIONS.includes(ext);
|
|
397
434
|
};
|
|
398
435
|
export {
|
|
436
|
+
ALLOWED_EXTENSIONS,
|
|
437
|
+
DEFAULT_THUMBS_EXTENSION,
|
|
399
438
|
DynamoDBService,
|
|
439
|
+
HEIC_EXTENSION,
|
|
440
|
+
JPEG_EXTENSION,
|
|
441
|
+
JPG_EXTENSION,
|
|
400
442
|
Logger2 as Logger,
|
|
401
443
|
Metrics2 as Metrics,
|
|
402
444
|
S3Service,
|
|
403
445
|
SQSService,
|
|
404
446
|
SSMService,
|
|
405
447
|
STSService,
|
|
448
|
+
THUMBNAIL_RESOLUTIONS,
|
|
406
449
|
Tracer2 as Tracer,
|
|
407
450
|
assertEnvVar,
|
|
408
451
|
assertString,
|
|
452
|
+
getKeyExtension,
|
|
409
453
|
getLoggerWithScope,
|
|
410
454
|
getPersistenceStore,
|
|
411
455
|
getThumbsKey,
|
|
412
|
-
|
|
456
|
+
isAllowedExtension,
|
|
413
457
|
normalizeErrorMessage,
|
|
414
458
|
plumbingMiddleware,
|
|
415
459
|
rootLogger
|
package/lib/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/services/s3.ts", "../src/services/dynamoDB.ts", "../src/services/ssm.ts", "../src/services/sqs.ts", "../src/services/sts.ts", "../src/lambda/plumbingMiddleware.ts", "../src/lambda/sharedUtils.ts", "../src/utils/assertUtils.ts", "../src/utils/logger.ts", "../src/utils/normalizeErrorMessage.ts", "../src/utils/thumbsKey.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n GetObjectCommand,\n GetObjectCommandInput,\n HeadObjectCommand,\n HeadObjectCommandInput,\n ListObjectsV2Command,\n ListObjectsV2CommandInput,\n PutObjectCommandInput,\n S3Client\n} from \"@aws-sdk/client-s3\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { Upload } from \"@aws-sdk/lib-storage\";\nimport { PassThrough } from \"node:stream\";\nimport { GenericLogger } from \"./types.js\";\n\nexport class S3Service {\n logger: GenericLogger;\n client: S3Client;\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: GenericLogger;\n client?: S3Client;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = logger;\n\n if (assumeRoleCommandOutput) {\n this.client = new S3Client({\n region: process.env.AWS_REGION,\n logger: this.logger,\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n });\n } else {\n this.client =\n client ??\n new S3Client({\n region: process.env.AWS_REGION,\n logger: this.logger\n });\n }\n }\n\n createS3UploadStream(putObjectCommandInput: PutObjectCommandInput) {\n this.logger.debug(\"upload stream started\");\n\n const pass = new PassThrough();\n\n const parallelUploads3 = new Upload({\n client: this.client,\n params: {\n ...putObjectCommandInput,\n Body: pass\n }\n });\n\n parallelUploads3.done();\n\n this.logger.debug(\"upload stream finished\");\n return pass;\n }\n\n async createS3DownloadStream(getObjectCommandInput: GetObjectCommandInput) {\n this.logger.debug(\"download stream started\");\n\n const item = await this.client.send(\n new GetObjectCommand(getObjectCommandInput)\n );\n\n this.logger.debug(\"download stream finished\");\n\n return item.Body;\n }\n\n async listObjectsV2(listObjectsV2CommandInput: ListObjectsV2CommandInput) {\n return await this.client.send(\n new ListObjectsV2Command(listObjectsV2CommandInput)\n );\n }\n\n async getObject(\n getObjectCommandInput: GetObjectCommandInput\n ): Promise<Buffer> {\n const stream = await this.createS3DownloadStream(getObjectCommandInput);\n\n return Buffer.from(await stream.transformToByteArray());\n }\n\n async headObject(headObjectCommandInput: HeadObjectCommandInput) {\n return await this.client.send(\n new HeadObjectCommand(headObjectCommandInput)\n );\n }\n\n async checkIfObjectExists(\n headObjectCommandInput: HeadObjectCommandInput\n ): Promise<boolean> {\n try {\n await this.client.send(new HeadObjectCommand(headObjectCommandInput));\n return true;\n } catch (error) {\n if (error.name === \"NotFound\") {\n return false;\n }\n throw error;\n }\n }\n}\n", "import { DynamoDBClient } from \"@aws-sdk/client-dynamodb\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport {\n DynamoDBDocumentClient,\n GetCommand,\n GetCommandInput,\n GetCommandOutput,\n PutCommand,\n PutCommandInput,\n PutCommandOutput,\n QueryCommand,\n QueryCommandInput,\n QueryCommandOutput,\n UpdateCommand,\n UpdateCommandInput,\n UpdateCommandOutput\n} from \"@aws-sdk/lib-dynamodb\";\nimport { GenericLogger } from \"./types.js\";\n\nexport class DynamoDBService {\n logger: GenericLogger;\n client: DynamoDBClient;\n documentClient: DynamoDBDocumentClient;\n\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: GenericLogger;\n client?: DynamoDBClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = logger;\n\n if (assumeRoleCommandOutput) {\n this.client = new DynamoDBClient({\n region: process.env.AWS_REGION,\n logger: this.logger,\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n });\n } else {\n this.client =\n client ??\n new DynamoDBClient({\n region: process.env.AWS_REGION,\n logger: this.logger\n });\n }\n\n this.documentClient = DynamoDBDocumentClient.from(this.client);\n }\n\n async getCommand(\n getCommandInput: GetCommandInput\n ): Promise<GetCommandOutput> {\n return await this.documentClient.send(new GetCommand(getCommandInput));\n }\n\n async updateCommand(\n updateCommandInput: UpdateCommandInput\n ): Promise<UpdateCommandOutput> {\n return await this.documentClient.send(\n new UpdateCommand(updateCommandInput)\n );\n }\n\n async queryCommand(\n queryCommandInput: QueryCommandInput\n ): Promise<QueryCommandOutput> {\n return await this.documentClient.send(new QueryCommand(queryCommandInput));\n }\n\n async putCommand(\n putCommandInput: PutCommandInput\n ): Promise<PutCommandOutput> {\n return await this.documentClient.send(new PutCommand(putCommandInput));\n }\n\n async checkIfItemExists(\n checkInput: Pick<GetCommandInput, \"TableName\" | \"Key\">\n ): Promise<boolean> {\n const result = await this.getCommand(checkInput);\n\n return !!result.Item;\n }\n}\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\nimport {\n SSMClient,\n GetParameterCommand,\n GetParameterCommandInput,\n GetParameterCommandOutput,\n PutParameterCommand,\n PutParameterCommandInput,\n PutParameterCommandOutput\n} from \"@aws-sdk/client-ssm\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { getLoggerWithScope } from \"../utils/logger.js\";\nimport { GenericLogger } from \"./types.js\";\n\nexport class SSMService {\n logger: GenericLogger;\n client: SSMClient;\n\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: GenericLogger;\n client?: SSMClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = logger;\n\n if (assumeRoleCommandOutput) {\n this.client = new SSMClient({\n region: process.env.AWS_REGION,\n logger: this.logger,\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n });\n } else {\n this.client =\n client ??\n new SSMClient({\n region: process.env.AWS_REGION,\n logger: this.logger\n });\n }\n }\n\n async getParameter(\n params: GetParameterCommandInput\n ): Promise<GetParameterCommandOutput> {\n return await this.client.send(new GetParameterCommand(params));\n }\n\n async putParameter(\n params: PutParameterCommandInput\n ): Promise<PutParameterCommandOutput> {\n return await this.client.send(new PutParameterCommand(params));\n }\n}\n", "import {\n DeleteMessageCommand,\n DeleteMessageCommandInput,\n DeleteMessageCommandOutput,\n ReceiveMessageCommand,\n ReceiveMessageCommandInput,\n ReceiveMessageCommandOutput,\n SQSClient,\n SendMessageBatchCommand,\n SendMessageBatchCommandInput,\n SendMessageBatchCommandOutput,\n SendMessageCommand,\n SendMessageCommandInput,\n SendMessageCommandOutput\n} from \"@aws-sdk/client-sqs\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { GenericLogger } from \"./types.js\";\n\nexport class SQSService {\n logger: GenericLogger;\n client: SQSClient;\n\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: GenericLogger;\n client?: SQSClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = logger;\n\n if (assumeRoleCommandOutput) {\n this.client = new SQSClient({\n region: process.env.AWS_REGION,\n logger: this.logger,\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n });\n } else {\n this.client =\n client ??\n new SQSClient({\n region: process.env.AWS_REGION,\n logger: this.logger\n });\n }\n }\n\n async sendMessage(\n params: SendMessageCommandInput\n ): Promise<SendMessageCommandOutput> {\n return await this.client.send(new SendMessageCommand(params));\n }\n\n async sendMessageBatch(\n params: SendMessageBatchCommandInput\n ): Promise<SendMessageBatchCommandOutput> {\n return await this.client.send(new SendMessageBatchCommand(params));\n }\n\n async receiveMessage(\n params: ReceiveMessageCommandInput\n ): Promise<ReceiveMessageCommandOutput> {\n return await this.client.send(new ReceiveMessageCommand(params));\n }\n\n async deleteMessage(\n params: DeleteMessageCommandInput\n ): Promise<DeleteMessageCommandOutput> {\n return await this.client.send(new DeleteMessageCommand(params));\n }\n}\n", "import {\n STSClient,\n GetCallerIdentityCommand,\n AssumeRoleCommandInput,\n AssumeRoleCommand\n} from \"@aws-sdk/client-sts\";\nimport { Logger } from \"@aws-lambda-powertools/logger\";\nimport { getLoggerWithScope } from \"../utils/logger.js\";\nimport { GenericLogger } from \"./types.js\";\n\nexport class STSService {\n logger: GenericLogger;\n client: STSClient;\n\n constructor({ logger }: { logger?: GenericLogger } = {}) {\n this.logger = logger;\n\n this.client = new STSClient({\n region: process.env.AWS_REGION,\n logger: this.logger\n });\n }\n\n async getCallerIdentity() {\n return await this.client.send(new GetCallerIdentityCommand({}));\n }\n\n async assumeRole(assumeRoleCommandInput: AssumeRoleCommandInput) {\n return await this.client.send(\n new AssumeRoleCommand(assumeRoleCommandInput)\n );\n }\n}\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\nimport { Metrics } from \"@aws-lambda-powertools/metrics\";\nimport { Tracer } from \"@aws-lambda-powertools/tracer\";\nimport middy, { MiddlewareObj } from \"@middy/core\";\nimport assert from \"node:assert\";\n\nexport const plumbingMiddleware = (): MiddlewareObj => {\n assert(\n process.env.POWERTOOLS_METRICS_NAMESPACE,\n \"POWERTOOLS_METRICS_NAMESPACE is not configured\"\n );\n\n assert(\n process.env.POWERTOOLS_SERVICE_NAME,\n \"POWERTOOLS_SERVICE_NAME is not configured\"\n );\n\n const metrics = new Metrics();\n const logger = new Logger();\n const tracer = new Tracer();\n\n let segment: any;\n let subsegment: any;\n let handlerSegment: any;\n\n const before: middy.MiddlewareFn = async ({ context, event }) => {\n logger.appendKeys({\n awsRequestId: context.awsRequestId,\n });\n\n const localLogger = logger.createChild();\n localLogger.appendKeys({ function: \"plumbingMiddleware.before\" });\n\n localLogger.info(\"incoming\", { event });\n\n segment = tracer.getSegment();\n\n if (!segment) {\n localLogger.error(\"Failed to get segment\");\n return;\n }\n\n metrics.captureColdStartMetric();\n\n // Create subsegment for the function & set it as active\n handlerSegment = segment.addNewSubsegment(`## ${process.env._HANDLER}`);\n tracer.setSegment(handlerSegment);\n tracer.annotateColdStart();\n tracer.addServiceNameAnnotation();\n\n // Add annotation for the awsRequestId\n tracer.putAnnotation(\"awsRequestId\", context.awsRequestId);\n\n // Create another subsegment & set it as active\n subsegment = handlerSegment.addNewSubsegment(\"### MySubSegment\");\n tracer.setSegment(subsegment);\n\n context.clientContext = {\n client: context.clientContext?.client || {\n appPackageName: \"\",\n appTitle: \"\",\n appVersionCode: \"\",\n appVersionName: \"\",\n installationId: \"\",\n },\n env: context.clientContext?.env || {\n platform: \"\",\n platformVersion: \"\",\n make: \"\",\n model: \"\",\n locale: \"\",\n },\n Custom: { tracer, logger, metrics },\n };\n };\n\n const after: middy.MiddlewareFn = async (): Promise<void> => {\n const localLogger = logger.createChild();\n localLogger.appendKeys({ function: \"plumbingMiddleware.after\" });\n\n try {\n localLogger.debug(\"started closing in after\");\n subsegment.close(); // (### MySubSegment)\n handlerSegment.close(); // (## index.handler)\n\n // Set the facade segment as active again (the one created by AWS Lambda)\n tracer.setSegment(segment);\n // Publish all stored metrics\n metrics.publishStoredMetrics();\n localLogger.debug(\"finished closing in after\");\n } catch (error) {\n localLogger.error(\"error in after\", { error });\n throw error;\n }\n };\n\n return {\n before,\n after,\n };\n};\n", "import { DynamoDBPersistenceLayer } from \"@aws-lambda-powertools/idempotency/dynamodb\";\nimport { Context } from \"aws-lambda\";\nimport { assertEnvVar } from \"../utils/assertUtils.js\";\nimport { Metrics } from \"@aws-lambda-powertools/metrics\";\nimport { Logger } from \"@aws-lambda-powertools/logger\";\nimport { Tracer } from \"@aws-lambda-powertools/tracer\";\n\nexport const getPersistenceStore = () => {\n return new DynamoDBPersistenceLayer({\n tableName: assertEnvVar(\"AC_IDEMPOTENCY_TABLE_NAME\")\n });\n};\n\nexport interface ACLambdaContext extends Context {\n clientContext?: {\n Custom?: {\n metrics: Metrics;\n logger: Logger;\n tracer: Tracer;\n };\n client: {\n appPackageName: string;\n appTitle: string;\n appVersionCode: string;\n appVersionName: string;\n installationId: string;\n };\n env: {\n platform: string;\n platformVersion: string;\n make: string;\n model: string;\n locale: string;\n };\n };\n}\n\nexport { Logger, Metrics, Tracer };\n", "import assert from \"node:assert/strict\";\n\nexport const assertEnvVar = (envVar: string): string => {\n assert(process.env[envVar], `${envVar} is not set`);\n return process.env[envVar];\n};\n\nexport const assertString = (value: string | undefined): string => {\n assert(typeof value === \"string\", \"Value is not a string\");\n assert(value.length > 0, \"Value is empty\");\n return value;\n};\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\n\nexport const rootLogger = new Logger({\n serviceName:\n process.env.POWERTOOLS_SERVICE_NAME ??\n process.env.AWS_LAMBDA_FUNCTION_NAME ??\n \"ac-shared\"\n});\n\nexport const getLoggerWithScope = (\n scope: string,\n logger: Logger = rootLogger\n) => {\n const childLogger = logger.createChild();\n childLogger.appendKeys({ scope });\n return childLogger;\n};\n", "export const normalizeErrorMessage = (error: unknown): string => {\n if (error instanceof Error) {\n return error.message;\n } else if (typeof error === \"string\") {\n return error;\n } else if (typeof error === \"object\" && error !== null) {\n return JSON.stringify(error);\n } else {\n return String(error);\n }\n};\n", "const THUMBS_EXTENSION = \"jpg\";\n\nexport const getThumbsKey = ({\n key,\n prefix,\n width,\n height\n}: {\n key: string;\n prefix: string;\n width: number;\n height: number;\n}) => {\n const sourceKeyWithoutExtension = key.split(\".\").slice(0, -1).join(\".\");\n return `${prefix}/${width}x${height}/${sourceKeyWithoutExtension}.${THUMBS_EXTENSION}`;\n};\n\nexport const getThumbsResolutions = (resolutions: string) => {\n return resolutions.split(\",\").map((res) => res.split(\"x\").map(Number));\n};\n"],
|
|
5
|
-
"mappings": ";AAAA;AAAA,EACE;AAAA,EAEA;AAAA,EAEA;AAAA,EAGA;AAAA,OACK;AAEP,SAAS,cAAc;AACvB,SAAS,mBAAmB;
|
|
6
|
-
"names": ["assert", "Metrics", "Logger", "Tracer", "Logger"]
|
|
4
|
+
"sourcesContent": ["import {\n GetObjectCommand,\n GetObjectCommandInput,\n HeadObjectCommand,\n HeadObjectCommandInput,\n ListObjectsV2Command,\n ListObjectsV2CommandInput,\n PutObjectCommandInput,\n S3Client\n} from \"@aws-sdk/client-s3\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { Upload } from \"@aws-sdk/lib-storage\";\nimport { PassThrough } from \"node:stream\";\nimport { GenericLogger } from \"./types.js\";\nimport assert from \"node:assert/strict\";\n\nexport class S3Service {\n logger: GenericLogger;\n client: S3Client;\n constructor({\n logger,\n client,\n assumeRoleCommandOutput,\n region\n }: {\n logger?: GenericLogger;\n client?: S3Client;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n region?: string;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new S3Client({\n region,\n logger: this.logger,\n ...(assumeRoleCommandOutput\n ? {\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n }\n : {})\n });\n }\n }\n\n createS3UploadStream(putObjectCommandInput: PutObjectCommandInput) {\n this.logger.debug(\"upload stream started\");\n\n const pass = new PassThrough();\n\n const parallelUploads3 = new Upload({\n client: this.client,\n params: {\n ...putObjectCommandInput,\n Body: pass\n }\n });\n\n parallelUploads3.done();\n\n this.logger.debug(\"upload stream finished\");\n return pass;\n }\n\n async createS3DownloadStream(getObjectCommandInput: GetObjectCommandInput) {\n this.logger.debug(\"download stream started\");\n\n const item = await this.client.send(\n new GetObjectCommand(getObjectCommandInput)\n );\n\n this.logger.debug(\"download stream finished\");\n\n return item.Body;\n }\n\n async listObjectsV2(listObjectsV2CommandInput: ListObjectsV2CommandInput) {\n return await this.client.send(\n new ListObjectsV2Command(listObjectsV2CommandInput)\n );\n }\n\n async getObject(\n getObjectCommandInput: GetObjectCommandInput\n ): Promise<Buffer> {\n const stream = await this.createS3DownloadStream(getObjectCommandInput);\n\n return Buffer.from(await stream.transformToByteArray());\n }\n\n async headObject(headObjectCommandInput: HeadObjectCommandInput) {\n return await this.client.send(\n new HeadObjectCommand(headObjectCommandInput)\n );\n }\n\n async checkIfObjectExists(\n headObjectCommandInput: HeadObjectCommandInput\n ): Promise<boolean> {\n try {\n await this.client.send(new HeadObjectCommand(headObjectCommandInput));\n return true;\n } catch (error) {\n if (error.name === \"NotFound\") {\n return false;\n }\n throw error;\n }\n }\n}\n", "import { DynamoDBClient } from \"@aws-sdk/client-dynamodb\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport {\n DynamoDBDocumentClient,\n GetCommand,\n GetCommandInput,\n GetCommandOutput,\n PutCommand,\n PutCommandInput,\n PutCommandOutput,\n QueryCommand,\n QueryCommandInput,\n QueryCommandOutput,\n UpdateCommand,\n UpdateCommandInput,\n UpdateCommandOutput\n} from \"@aws-sdk/lib-dynamodb\";\nimport { GenericLogger } from \"./types.js\";\nimport assert from \"node:assert/strict\";\n\nexport class DynamoDBService {\n logger: GenericLogger;\n client: DynamoDBClient;\n documentClient: DynamoDBDocumentClient;\n\n constructor({\n logger,\n client,\n assumeRoleCommandOutput,\n region\n }: {\n logger?: GenericLogger;\n client?: DynamoDBClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n region?: string;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new DynamoDBClient({\n region,\n logger: this.logger,\n ...(assumeRoleCommandOutput\n ? {\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n }\n : {})\n });\n }\n\n this.documentClient = DynamoDBDocumentClient.from(this.client);\n }\n\n async getCommand(\n getCommandInput: GetCommandInput\n ): Promise<GetCommandOutput> {\n return await this.documentClient.send(new GetCommand(getCommandInput));\n }\n\n async updateCommand(\n updateCommandInput: UpdateCommandInput\n ): Promise<UpdateCommandOutput> {\n return await this.documentClient.send(\n new UpdateCommand(updateCommandInput)\n );\n }\n\n async queryCommand(\n queryCommandInput: QueryCommandInput\n ): Promise<QueryCommandOutput> {\n return await this.documentClient.send(new QueryCommand(queryCommandInput));\n }\n\n async putCommand(\n putCommandInput: PutCommandInput\n ): Promise<PutCommandOutput> {\n return await this.documentClient.send(new PutCommand(putCommandInput));\n }\n\n async checkIfItemExists(\n checkInput: Pick<GetCommandInput, \"TableName\" | \"Key\">\n ): Promise<boolean> {\n const result = await this.getCommand(checkInput);\n\n return !!result.Item;\n }\n}\n", "import {\n GetParameterCommand,\n GetParameterCommandInput,\n GetParameterCommandOutput,\n PutParameterCommand,\n PutParameterCommandInput,\n PutParameterCommandOutput,\n SSMClient\n} from \"@aws-sdk/client-ssm\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport assert from \"node:assert/strict\";\nimport { GenericLogger } from \"./types.js\";\n\nexport class SSMService {\n logger: GenericLogger;\n client: SSMClient;\n\n constructor({\n logger,\n client,\n assumeRoleCommandOutput,\n region\n }: {\n logger?: GenericLogger;\n client?: SSMClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n region?: string;\n } = {}) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new SSMClient({\n region,\n logger: this.logger,\n ...(assumeRoleCommandOutput\n ? {\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n }\n : {})\n });\n }\n }\n\n async getParameter(\n params: GetParameterCommandInput\n ): Promise<GetParameterCommandOutput> {\n return await this.client.send(new GetParameterCommand(params));\n }\n\n async putParameter(\n params: PutParameterCommandInput\n ): Promise<PutParameterCommandOutput> {\n return await this.client.send(new PutParameterCommand(params));\n }\n}\n", "import {\n DeleteMessageCommand,\n DeleteMessageCommandInput,\n DeleteMessageCommandOutput,\n ReceiveMessageCommand,\n ReceiveMessageCommandInput,\n ReceiveMessageCommandOutput,\n SQSClient,\n SendMessageBatchCommand,\n SendMessageBatchCommandInput,\n SendMessageBatchCommandOutput,\n SendMessageCommand,\n SendMessageCommandInput,\n SendMessageCommandOutput\n} from \"@aws-sdk/client-sqs\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { GenericLogger } from \"./types.js\";\nimport assert from \"node:assert/strict\";\n\nexport class SQSService {\n logger: GenericLogger;\n client: SQSClient;\n\n constructor({\n logger,\n client,\n assumeRoleCommandOutput,\n region\n }: {\n logger?: GenericLogger;\n client?: SQSClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n region?: string;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new SQSClient({\n region,\n logger: this.logger,\n ...(assumeRoleCommandOutput\n ? {\n credentials: {\n accessKeyId: assumeRoleCommandOutput?.Credentials?.AccessKeyId,\n secretAccessKey:\n assumeRoleCommandOutput?.Credentials?.SecretAccessKey,\n sessionToken: assumeRoleCommandOutput?.Credentials?.SessionToken\n }\n }\n : {})\n });\n }\n }\n\n async sendMessage(\n params: SendMessageCommandInput\n ): Promise<SendMessageCommandOutput> {\n return await this.client.send(new SendMessageCommand(params));\n }\n\n async sendMessageBatch(\n params: SendMessageBatchCommandInput\n ): Promise<SendMessageBatchCommandOutput> {\n return await this.client.send(new SendMessageBatchCommand(params));\n }\n\n async receiveMessage(\n params: ReceiveMessageCommandInput\n ): Promise<ReceiveMessageCommandOutput> {\n return await this.client.send(new ReceiveMessageCommand(params));\n }\n\n async deleteMessage(\n params: DeleteMessageCommandInput\n ): Promise<DeleteMessageCommandOutput> {\n return await this.client.send(new DeleteMessageCommand(params));\n }\n}\n", "import {\n AssumeRoleCommand,\n AssumeRoleCommandInput,\n GetCallerIdentityCommand,\n STSClient\n} from \"@aws-sdk/client-sts\";\nimport assert from \"node:assert/strict\";\nimport { GenericLogger } from \"./types.js\";\n\nexport class STSService {\n logger: GenericLogger;\n client: STSClient;\n\n constructor({\n logger,\n region,\n client\n }: {\n logger?: GenericLogger;\n region?: string;\n client?: STSClient;\n }) {\n this.logger = logger;\n\n if (client) {\n this.client = client;\n } else {\n assert(region, \"Region must be provided if client is not passed\");\n this.client = new STSClient({\n region,\n logger: this.logger\n });\n }\n }\n\n async getCallerIdentity() {\n return await this.client.send(new GetCallerIdentityCommand({}));\n }\n\n async assumeRole(assumeRoleCommandInput: AssumeRoleCommandInput) {\n return await this.client.send(\n new AssumeRoleCommand(assumeRoleCommandInput)\n );\n }\n}\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\nimport { Metrics } from \"@aws-lambda-powertools/metrics\";\nimport { Tracer } from \"@aws-lambda-powertools/tracer\";\nimport middy, { MiddlewareObj } from \"@middy/core\";\nimport assert from \"node:assert\";\n\nexport const plumbingMiddleware = (): MiddlewareObj => {\n assert(\n process.env.POWERTOOLS_METRICS_NAMESPACE,\n \"POWERTOOLS_METRICS_NAMESPACE is not configured\"\n );\n\n assert(\n process.env.POWERTOOLS_SERVICE_NAME,\n \"POWERTOOLS_SERVICE_NAME is not configured\"\n );\n\n const metrics = new Metrics();\n const logger = new Logger();\n const tracer = new Tracer();\n\n let segment: any;\n let subsegment: any;\n let handlerSegment: any;\n\n const before: middy.MiddlewareFn = async ({ context, event }) => {\n logger.appendKeys({\n awsRequestId: context.awsRequestId,\n });\n\n const localLogger = logger.createChild();\n localLogger.appendKeys({ function: \"plumbingMiddleware.before\" });\n\n localLogger.info(\"incoming\", { event });\n\n segment = tracer.getSegment();\n\n if (!segment) {\n localLogger.error(\"Failed to get segment\");\n return;\n }\n\n metrics.captureColdStartMetric();\n\n // Create subsegment for the function & set it as active\n handlerSegment = segment.addNewSubsegment(`## ${process.env._HANDLER}`);\n tracer.setSegment(handlerSegment);\n tracer.annotateColdStart();\n tracer.addServiceNameAnnotation();\n\n // Add annotation for the awsRequestId\n tracer.putAnnotation(\"awsRequestId\", context.awsRequestId);\n\n // Create another subsegment & set it as active\n subsegment = handlerSegment.addNewSubsegment(\"### MySubSegment\");\n tracer.setSegment(subsegment);\n\n context.clientContext = {\n client: context.clientContext?.client || {\n appPackageName: \"\",\n appTitle: \"\",\n appVersionCode: \"\",\n appVersionName: \"\",\n installationId: \"\",\n },\n env: context.clientContext?.env || {\n platform: \"\",\n platformVersion: \"\",\n make: \"\",\n model: \"\",\n locale: \"\",\n },\n Custom: { tracer, logger, metrics },\n };\n };\n\n const after: middy.MiddlewareFn = async (): Promise<void> => {\n const localLogger = logger.createChild();\n localLogger.appendKeys({ function: \"plumbingMiddleware.after\" });\n\n try {\n localLogger.debug(\"started closing in after\");\n subsegment.close(); // (### MySubSegment)\n handlerSegment.close(); // (## index.handler)\n\n // Set the facade segment as active again (the one created by AWS Lambda)\n tracer.setSegment(segment);\n // Publish all stored metrics\n metrics.publishStoredMetrics();\n localLogger.debug(\"finished closing in after\");\n } catch (error) {\n localLogger.error(\"error in after\", { error });\n throw error;\n }\n };\n\n return {\n before,\n after,\n };\n};\n", "import { DynamoDBPersistenceLayer } from \"@aws-lambda-powertools/idempotency/dynamodb\";\nimport { Context } from \"aws-lambda\";\nimport { assertEnvVar } from \"../utils/assertUtils.js\";\nimport { Metrics } from \"@aws-lambda-powertools/metrics\";\nimport { Logger } from \"@aws-lambda-powertools/logger\";\nimport { Tracer } from \"@aws-lambda-powertools/tracer\";\n\nexport const getPersistenceStore = () => {\n return new DynamoDBPersistenceLayer({\n tableName: assertEnvVar(\"AC_IDEMPOTENCY_TABLE_NAME\")\n });\n};\n\nexport interface ACLambdaContext extends Context {\n clientContext?: {\n Custom?: {\n metrics: Metrics;\n logger: Logger;\n tracer: Tracer;\n };\n client: {\n appPackageName: string;\n appTitle: string;\n appVersionCode: string;\n appVersionName: string;\n installationId: string;\n };\n env: {\n platform: string;\n platformVersion: string;\n make: string;\n model: string;\n locale: string;\n };\n };\n}\n\nexport { Logger, Metrics, Tracer };\n", "import assert from \"node:assert/strict\";\n\nexport const assertEnvVar = (envVar: string): string => {\n assert(process.env[envVar], `${envVar} is not set`);\n return process.env[envVar];\n};\n\nexport const assertString = (value: string | undefined): string => {\n assert(typeof value === \"string\", \"Value is not a string\");\n assert(value.length > 0, \"Value is empty\");\n return value;\n};\n", "import { Logger } from \"@aws-lambda-powertools/logger\";\n\nexport const rootLogger = new Logger({\n serviceName:\n process.env.POWERTOOLS_SERVICE_NAME ??\n process.env.AWS_LAMBDA_FUNCTION_NAME ??\n \"ac-shared\"\n});\n\nexport const getLoggerWithScope = (\n scope: string,\n logger: Logger = rootLogger\n) => {\n const childLogger = logger.createChild();\n childLogger.appendKeys({ scope });\n return childLogger;\n};\n", "export const normalizeErrorMessage = (error: unknown): string => {\n if (error instanceof Error) {\n return error.message;\n } else if (typeof error === \"string\") {\n return error;\n } else if (typeof error === \"object\" && error !== null) {\n return JSON.stringify(error);\n } else {\n return String(error);\n }\n};\n", "import { extname } from \"node:path\";\n\nexport const JPEG_EXTENSION = \"jpeg\";\nexport const JPG_EXTENSION = \"jpg\";\nexport const HEIC_EXTENSION = \"heic\";\nexport const DEFAULT_THUMBS_EXTENSION = JPG_EXTENSION;\nexport const ALLOWED_EXTENSIONS = [\n JPEG_EXTENSION,\n JPG_EXTENSION,\n HEIC_EXTENSION\n];\n\nexport const THUMBNAIL_RESOLUTIONS = [\n [200, 200],\n [1180, 820]\n];\n\nexport const getThumbsKey = ({\n key,\n prefix,\n width,\n height\n}: {\n key: string;\n prefix: string;\n width: number;\n height: number;\n}) => {\n const ext = getKeyExtension(key);\n\n if ([JPEG_EXTENSION, JPG_EXTENSION].includes(ext)) {\n return key;\n }\n\n const sourceKeyWithoutExtension = key.split(\".\").slice(0, -1).join(\".\");\n return `${prefix}/${width}x${height}/${sourceKeyWithoutExtension}.${DEFAULT_THUMBS_EXTENSION}`;\n};\n\nexport const getKeyExtension = (key: string) =>\n extname(key).slice(1).toLowerCase();\n\nexport const isAllowedExtension = (key: string) => {\n const ext = getKeyExtension(key);\n return ALLOWED_EXTENSIONS.includes(ext);\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["assert", "assert", "assert", "assert", "assert", "assert", "Metrics", "Logger", "Tracer", "Logger"]
|
|
7
7
|
}
|
|
@@ -6,10 +6,11 @@ export declare class DynamoDBService {
|
|
|
6
6
|
logger: GenericLogger;
|
|
7
7
|
client: DynamoDBClient;
|
|
8
8
|
documentClient: DynamoDBDocumentClient;
|
|
9
|
-
constructor({ logger, client, assumeRoleCommandOutput }
|
|
9
|
+
constructor({ logger, client, assumeRoleCommandOutput, region }: {
|
|
10
10
|
logger?: GenericLogger;
|
|
11
11
|
client?: DynamoDBClient;
|
|
12
12
|
assumeRoleCommandOutput?: AssumeRoleCommandOutput;
|
|
13
|
+
region?: string;
|
|
13
14
|
});
|
|
14
15
|
getCommand(getCommandInput: GetCommandInput): Promise<GetCommandOutput>;
|
|
15
16
|
updateCommand(updateCommandInput: UpdateCommandInput): Promise<UpdateCommandOutput>;
|
package/lib/services/s3.d.ts
CHANGED
|
@@ -7,10 +7,11 @@ import { GenericLogger } from "./types.js";
|
|
|
7
7
|
export declare class S3Service {
|
|
8
8
|
logger: GenericLogger;
|
|
9
9
|
client: S3Client;
|
|
10
|
-
constructor({ logger, client, assumeRoleCommandOutput }
|
|
10
|
+
constructor({ logger, client, assumeRoleCommandOutput, region }: {
|
|
11
11
|
logger?: GenericLogger;
|
|
12
12
|
client?: S3Client;
|
|
13
13
|
assumeRoleCommandOutput?: AssumeRoleCommandOutput;
|
|
14
|
+
region?: string;
|
|
14
15
|
});
|
|
15
16
|
createS3UploadStream(putObjectCommandInput: PutObjectCommandInput): PassThrough;
|
|
16
17
|
createS3DownloadStream(getObjectCommandInput: GetObjectCommandInput): Promise<import("@smithy/types").StreamingBlobPayloadOutputTypes>;
|
package/lib/services/sqs.d.ts
CHANGED
|
@@ -4,10 +4,11 @@ import { GenericLogger } from "./types.js";
|
|
|
4
4
|
export declare class SQSService {
|
|
5
5
|
logger: GenericLogger;
|
|
6
6
|
client: SQSClient;
|
|
7
|
-
constructor({ logger, client, assumeRoleCommandOutput }
|
|
7
|
+
constructor({ logger, client, assumeRoleCommandOutput, region }: {
|
|
8
8
|
logger?: GenericLogger;
|
|
9
9
|
client?: SQSClient;
|
|
10
10
|
assumeRoleCommandOutput?: AssumeRoleCommandOutput;
|
|
11
|
+
region?: string;
|
|
11
12
|
});
|
|
12
13
|
sendMessage(params: SendMessageCommandInput): Promise<SendMessageCommandOutput>;
|
|
13
14
|
sendMessageBatch(params: SendMessageBatchCommandInput): Promise<SendMessageBatchCommandOutput>;
|
package/lib/services/ssm.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GetParameterCommandInput, GetParameterCommandOutput, PutParameterCommandInput, PutParameterCommandOutput, SSMClient } from "@aws-sdk/client-ssm";
|
|
2
2
|
import { AssumeRoleCommandOutput } from "@aws-sdk/client-sts";
|
|
3
3
|
import { GenericLogger } from "./types.js";
|
|
4
4
|
export declare class SSMService {
|
|
5
5
|
logger: GenericLogger;
|
|
6
6
|
client: SSMClient;
|
|
7
|
-
constructor({ logger, client, assumeRoleCommandOutput }?: {
|
|
7
|
+
constructor({ logger, client, assumeRoleCommandOutput, region }?: {
|
|
8
8
|
logger?: GenericLogger;
|
|
9
9
|
client?: SSMClient;
|
|
10
10
|
assumeRoleCommandOutput?: AssumeRoleCommandOutput;
|
|
11
|
+
region?: string;
|
|
11
12
|
});
|
|
12
13
|
getParameter(params: GetParameterCommandInput): Promise<GetParameterCommandOutput>;
|
|
13
14
|
putParameter(params: PutParameterCommandInput): Promise<PutParameterCommandOutput>;
|
package/lib/services/sts.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AssumeRoleCommandInput, STSClient } from "@aws-sdk/client-sts";
|
|
2
2
|
import { GenericLogger } from "./types.js";
|
|
3
3
|
export declare class STSService {
|
|
4
4
|
logger: GenericLogger;
|
|
5
5
|
client: STSClient;
|
|
6
|
-
constructor({ logger }
|
|
6
|
+
constructor({ logger, region, client }: {
|
|
7
7
|
logger?: GenericLogger;
|
|
8
|
+
region?: string;
|
|
9
|
+
client?: STSClient;
|
|
8
10
|
});
|
|
9
11
|
getCallerIdentity(): Promise<import("@aws-sdk/client-sts").GetCallerIdentityCommandOutput>;
|
|
10
12
|
assumeRole(assumeRoleCommandInput: AssumeRoleCommandInput): Promise<import("@aws-sdk/client-sts").AssumeRoleCommandOutput>;
|
package/lib/utils/thumbsKey.d.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
+
export declare const JPEG_EXTENSION = "jpeg";
|
|
2
|
+
export declare const JPG_EXTENSION = "jpg";
|
|
3
|
+
export declare const HEIC_EXTENSION = "heic";
|
|
4
|
+
export declare const DEFAULT_THUMBS_EXTENSION = "jpg";
|
|
5
|
+
export declare const ALLOWED_EXTENSIONS: string[];
|
|
6
|
+
export declare const THUMBNAIL_RESOLUTIONS: number[][];
|
|
1
7
|
export declare const getThumbsKey: ({ key, prefix, width, height }: {
|
|
2
8
|
key: string;
|
|
3
9
|
prefix: string;
|
|
4
10
|
width: number;
|
|
5
11
|
height: number;
|
|
6
12
|
}) => string;
|
|
7
|
-
export declare const
|
|
13
|
+
export declare const getKeyExtension: (key: string) => string;
|
|
14
|
+
export declare const isAllowedExtension: (key: string) => boolean;
|