@aspan-corporation/ac-shared 1.0.9 → 1.0.11
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 +1 -1
- package/lib/index.js +24 -26
- package/lib/index.js.map +4 -4
- package/lib/services/dynamoDB.d.ts +4 -4
- package/lib/services/index.d.ts +1 -0
- package/lib/services/s3.d.ts +3 -3
- package/lib/services/sqs.d.ts +4 -4
- package/lib/services/ssm.d.ts +3 -3
- package/lib/services/sts.d.ts +3 -3
- package/lib/services/types.d.ts +6 -0
- package/package.json +1 -1
package/README.md
CHANGED
package/lib/index.js
CHANGED
|
@@ -7,19 +7,6 @@ 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
|
-
|
|
11
|
-
// src/utils/logger.ts
|
|
12
|
-
import { Logger } from "@aws-lambda-powertools/logger";
|
|
13
|
-
var rootLogger = new Logger({
|
|
14
|
-
serviceName: process.env.POWERTOOLS_SERVICE_NAME ?? process.env.AWS_LAMBDA_FUNCTION_NAME ?? "ac-shared"
|
|
15
|
-
});
|
|
16
|
-
var getLoggerWithScope = (scope, logger = rootLogger) => {
|
|
17
|
-
const childLogger = logger.createChild();
|
|
18
|
-
childLogger.appendKeys({ scope });
|
|
19
|
-
return childLogger;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
// src/services/s3.ts
|
|
23
10
|
var S3Service = class {
|
|
24
11
|
logger;
|
|
25
12
|
client;
|
|
@@ -28,7 +15,7 @@ var S3Service = class {
|
|
|
28
15
|
client,
|
|
29
16
|
assumeRoleCommandOutput
|
|
30
17
|
} = {}) {
|
|
31
|
-
this.logger =
|
|
18
|
+
this.logger = logger;
|
|
32
19
|
if (assumeRoleCommandOutput) {
|
|
33
20
|
this.client = new S3Client({
|
|
34
21
|
region: process.env.AWS_REGION,
|
|
@@ -113,7 +100,7 @@ var DynamoDBService = class {
|
|
|
113
100
|
client,
|
|
114
101
|
assumeRoleCommandOutput
|
|
115
102
|
} = {}) {
|
|
116
|
-
this.logger =
|
|
103
|
+
this.logger = logger;
|
|
117
104
|
if (assumeRoleCommandOutput) {
|
|
118
105
|
this.client = new DynamoDBClient({
|
|
119
106
|
region: process.env.AWS_REGION,
|
|
@@ -166,7 +153,7 @@ var SSMService = class {
|
|
|
166
153
|
client,
|
|
167
154
|
assumeRoleCommandOutput
|
|
168
155
|
} = {}) {
|
|
169
|
-
this.logger =
|
|
156
|
+
this.logger = logger;
|
|
170
157
|
if (assumeRoleCommandOutput) {
|
|
171
158
|
this.client = new SSMClient({
|
|
172
159
|
region: process.env.AWS_REGION,
|
|
@@ -194,11 +181,11 @@ var SSMService = class {
|
|
|
194
181
|
|
|
195
182
|
// src/services/sqs.ts
|
|
196
183
|
import {
|
|
197
|
-
SQSClient,
|
|
198
|
-
SendMessageCommand,
|
|
199
|
-
ReceiveMessageCommand,
|
|
200
184
|
DeleteMessageCommand,
|
|
201
|
-
|
|
185
|
+
ReceiveMessageCommand,
|
|
186
|
+
SQSClient,
|
|
187
|
+
SendMessageBatchCommand,
|
|
188
|
+
SendMessageCommand
|
|
202
189
|
} from "@aws-sdk/client-sqs";
|
|
203
190
|
var SQSService = class {
|
|
204
191
|
logger;
|
|
@@ -208,7 +195,7 @@ var SQSService = class {
|
|
|
208
195
|
client,
|
|
209
196
|
assumeRoleCommandOutput
|
|
210
197
|
} = {}) {
|
|
211
|
-
this.logger =
|
|
198
|
+
this.logger = logger;
|
|
212
199
|
if (assumeRoleCommandOutput) {
|
|
213
200
|
this.client = new SQSClient({
|
|
214
201
|
region: process.env.AWS_REGION,
|
|
@@ -250,7 +237,7 @@ var STSService = class {
|
|
|
250
237
|
logger;
|
|
251
238
|
client;
|
|
252
239
|
constructor({ logger } = {}) {
|
|
253
|
-
this.logger =
|
|
240
|
+
this.logger = logger;
|
|
254
241
|
this.client = new STSClient({
|
|
255
242
|
region: process.env.AWS_REGION,
|
|
256
243
|
logger: this.logger
|
|
@@ -267,7 +254,7 @@ var STSService = class {
|
|
|
267
254
|
};
|
|
268
255
|
|
|
269
256
|
// src/lambda/plumbingMiddleware.ts
|
|
270
|
-
import { Logger
|
|
257
|
+
import { Logger } from "@aws-lambda-powertools/logger";
|
|
271
258
|
import { Metrics } from "@aws-lambda-powertools/metrics";
|
|
272
259
|
import { Tracer } from "@aws-lambda-powertools/tracer";
|
|
273
260
|
import assert from "node:assert";
|
|
@@ -281,7 +268,7 @@ var plumbingMiddleware = () => {
|
|
|
281
268
|
"POWERTOOLS_SERVICE_NAME is not configured"
|
|
282
269
|
);
|
|
283
270
|
const metrics = new Metrics();
|
|
284
|
-
const logger = new
|
|
271
|
+
const logger = new Logger();
|
|
285
272
|
const tracer = new Tracer();
|
|
286
273
|
let segment;
|
|
287
274
|
let subsegment;
|
|
@@ -362,7 +349,7 @@ var assertString = (value) => {
|
|
|
362
349
|
|
|
363
350
|
// src/lambda/sharedUtils.ts
|
|
364
351
|
import { Metrics as Metrics2 } from "@aws-lambda-powertools/metrics";
|
|
365
|
-
import { Logger as
|
|
352
|
+
import { Logger as Logger2 } from "@aws-lambda-powertools/logger";
|
|
366
353
|
import { Tracer as Tracer2 } from "@aws-lambda-powertools/tracer";
|
|
367
354
|
var getPersistenceStore = () => {
|
|
368
355
|
return new DynamoDBPersistenceLayer({
|
|
@@ -370,6 +357,17 @@ var getPersistenceStore = () => {
|
|
|
370
357
|
});
|
|
371
358
|
};
|
|
372
359
|
|
|
360
|
+
// src/utils/logger.ts
|
|
361
|
+
import { Logger as Logger3 } from "@aws-lambda-powertools/logger";
|
|
362
|
+
var rootLogger = new Logger3({
|
|
363
|
+
serviceName: process.env.POWERTOOLS_SERVICE_NAME ?? process.env.AWS_LAMBDA_FUNCTION_NAME ?? "ac-shared"
|
|
364
|
+
});
|
|
365
|
+
var getLoggerWithScope = (scope, logger = rootLogger) => {
|
|
366
|
+
const childLogger = logger.createChild();
|
|
367
|
+
childLogger.appendKeys({ scope });
|
|
368
|
+
return childLogger;
|
|
369
|
+
};
|
|
370
|
+
|
|
373
371
|
// src/utils/normalizeErrorMessage.ts
|
|
374
372
|
var normalizeErrorMessage = (error) => {
|
|
375
373
|
if (error instanceof Error) {
|
|
@@ -384,7 +382,7 @@ var normalizeErrorMessage = (error) => {
|
|
|
384
382
|
};
|
|
385
383
|
export {
|
|
386
384
|
DynamoDBService,
|
|
387
|
-
|
|
385
|
+
Logger2 as Logger,
|
|
388
386
|
Metrics2 as Metrics,
|
|
389
387
|
S3Service,
|
|
390
388
|
SQSService,
|
package/lib/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/services/s3.ts", "../src/
|
|
4
|
-
"sourcesContent": ["import { Logger } from \"@aws-lambda-powertools/logger\";\nimport {\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 { getLoggerWithScope } from \"../utils/logger.js\";\n\nexport class S3Service {\n logger: Logger;\n client: S3Client;\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: Logger;\n client?: S3Client;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = getLoggerWithScope(\"ac-shared:s3\", 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 { 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", "import { Logger } from \"@aws-lambda-powertools/logger\";\nimport { DynamoDBClient } from \"@aws-sdk/client-dynamodb\";\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 { getLoggerWithScope } from \"../utils/logger.js\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\n\nexport class DynamoDBService {\n logger: Logger;\n client: DynamoDBClient;\n documentClient: DynamoDBDocumentClient;\n\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: Logger;\n client?: DynamoDBClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = getLoggerWithScope(\"ac-shared:dynamodb\", 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\";\n\nexport class SSMService {\n logger: Logger;\n client: SSMClient;\n\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: Logger;\n client?: SSMClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = getLoggerWithScope(\"ac-shared:ssm\", 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 { Logger } from \"@aws-lambda-powertools/logger\";\nimport {\n SQSClient,\n SendMessageCommand,\n SendMessageCommandInput,\n ReceiveMessageCommand,\n ReceiveMessageCommandInput,\n DeleteMessageCommand,\n DeleteMessageCommandInput,\n SendMessageBatchCommand,\n SendMessageBatchCommandInput,\n ReceiveMessageCommandOutput,\n SendMessageCommandOutput,\n DeleteMessageCommandOutput,\n SendMessageBatchCommandOutput\n} from \"@aws-sdk/client-sqs\";\nimport { AssumeRoleCommandOutput } from \"@aws-sdk/client-sts\";\nimport { getLoggerWithScope } from \"../utils/logger.js\";\n\nexport class SQSService {\n logger: Logger;\n client: SQSClient;\n\n constructor({\n logger,\n client,\n assumeRoleCommandOutput\n }: {\n logger?: Logger;\n client?: SQSClient;\n assumeRoleCommandOutput?: AssumeRoleCommandOutput;\n } = {}) {\n this.logger = getLoggerWithScope(\"ac-shared:sqs\", 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\";\n\nexport class STSService {\n logger: Logger;\n client: STSClient;\n\n constructor({ logger }: { logger?: Logger } = {}) {\n this.logger = getLoggerWithScope(\"ac-shared:sts\", 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", "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"],
|
|
5
|
-
"mappings": ";
|
|
6
|
-
"names": ["
|
|
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"],
|
|
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"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["assert", "Metrics", "Logger", "Tracer", "Logger"]
|
|
7
7
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Logger } from "@aws-lambda-powertools/logger";
|
|
2
1
|
import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
|
|
3
|
-
import { DynamoDBDocumentClient, GetCommandInput, GetCommandOutput, PutCommandInput, PutCommandOutput, QueryCommandInput, QueryCommandOutput, UpdateCommandInput, UpdateCommandOutput } from "@aws-sdk/lib-dynamodb";
|
|
4
2
|
import { AssumeRoleCommandOutput } from "@aws-sdk/client-sts";
|
|
3
|
+
import { DynamoDBDocumentClient, GetCommandInput, GetCommandOutput, PutCommandInput, PutCommandOutput, QueryCommandInput, QueryCommandOutput, UpdateCommandInput, UpdateCommandOutput } from "@aws-sdk/lib-dynamodb";
|
|
4
|
+
import { GenericLogger } from "./types.js";
|
|
5
5
|
export declare class DynamoDBService {
|
|
6
|
-
logger:
|
|
6
|
+
logger: GenericLogger;
|
|
7
7
|
client: DynamoDBClient;
|
|
8
8
|
documentClient: DynamoDBDocumentClient;
|
|
9
9
|
constructor({ logger, client, assumeRoleCommandOutput }?: {
|
|
10
|
-
logger?:
|
|
10
|
+
logger?: GenericLogger;
|
|
11
11
|
client?: DynamoDBClient;
|
|
12
12
|
assumeRoleCommandOutput?: AssumeRoleCommandOutput;
|
|
13
13
|
});
|
package/lib/services/index.d.ts
CHANGED
package/lib/services/s3.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
import { Logger } from "@aws-lambda-powertools/logger";
|
|
4
3
|
import { GetObjectCommandInput, HeadObjectCommandInput, ListObjectsV2CommandInput, PutObjectCommandInput, S3Client } from "@aws-sdk/client-s3";
|
|
5
4
|
import { AssumeRoleCommandOutput } from "@aws-sdk/client-sts";
|
|
6
5
|
import { PassThrough } from "node:stream";
|
|
6
|
+
import { GenericLogger } from "./types.js";
|
|
7
7
|
export declare class S3Service {
|
|
8
|
-
logger:
|
|
8
|
+
logger: GenericLogger;
|
|
9
9
|
client: S3Client;
|
|
10
10
|
constructor({ logger, client, assumeRoleCommandOutput }?: {
|
|
11
|
-
logger?:
|
|
11
|
+
logger?: GenericLogger;
|
|
12
12
|
client?: S3Client;
|
|
13
13
|
assumeRoleCommandOutput?: AssumeRoleCommandOutput;
|
|
14
14
|
});
|
package/lib/services/sqs.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { SQSClient, SendMessageCommandInput, ReceiveMessageCommandInput, DeleteMessageCommandInput, SendMessageBatchCommandInput, ReceiveMessageCommandOutput, SendMessageCommandOutput, DeleteMessageCommandOutput, SendMessageBatchCommandOutput } from "@aws-sdk/client-sqs";
|
|
1
|
+
import { DeleteMessageCommandInput, DeleteMessageCommandOutput, ReceiveMessageCommandInput, ReceiveMessageCommandOutput, SQSClient, SendMessageBatchCommandInput, SendMessageBatchCommandOutput, SendMessageCommandInput, SendMessageCommandOutput } from "@aws-sdk/client-sqs";
|
|
3
2
|
import { AssumeRoleCommandOutput } from "@aws-sdk/client-sts";
|
|
3
|
+
import { GenericLogger } from "./types.js";
|
|
4
4
|
export declare class SQSService {
|
|
5
|
-
logger:
|
|
5
|
+
logger: GenericLogger;
|
|
6
6
|
client: SQSClient;
|
|
7
7
|
constructor({ logger, client, assumeRoleCommandOutput }?: {
|
|
8
|
-
logger?:
|
|
8
|
+
logger?: GenericLogger;
|
|
9
9
|
client?: SQSClient;
|
|
10
10
|
assumeRoleCommandOutput?: AssumeRoleCommandOutput;
|
|
11
11
|
});
|
package/lib/services/ssm.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Logger } from "@aws-lambda-powertools/logger";
|
|
2
1
|
import { SSMClient, GetParameterCommandInput, GetParameterCommandOutput, PutParameterCommandInput, PutParameterCommandOutput } from "@aws-sdk/client-ssm";
|
|
3
2
|
import { AssumeRoleCommandOutput } from "@aws-sdk/client-sts";
|
|
3
|
+
import { GenericLogger } from "./types.js";
|
|
4
4
|
export declare class SSMService {
|
|
5
|
-
logger:
|
|
5
|
+
logger: GenericLogger;
|
|
6
6
|
client: SSMClient;
|
|
7
7
|
constructor({ logger, client, assumeRoleCommandOutput }?: {
|
|
8
|
-
logger?:
|
|
8
|
+
logger?: GenericLogger;
|
|
9
9
|
client?: SSMClient;
|
|
10
10
|
assumeRoleCommandOutput?: AssumeRoleCommandOutput;
|
|
11
11
|
});
|
package/lib/services/sts.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { STSClient, AssumeRoleCommandInput } from "@aws-sdk/client-sts";
|
|
2
|
-
import {
|
|
2
|
+
import { GenericLogger } from "./types.js";
|
|
3
3
|
export declare class STSService {
|
|
4
|
-
logger:
|
|
4
|
+
logger: GenericLogger;
|
|
5
5
|
client: STSClient;
|
|
6
6
|
constructor({ logger }?: {
|
|
7
|
-
logger?:
|
|
7
|
+
logger?: GenericLogger;
|
|
8
8
|
});
|
|
9
9
|
getCallerIdentity(): Promise<import("@aws-sdk/client-sts").GetCallerIdentityCommandOutput>;
|
|
10
10
|
assumeRole(assumeRoleCommandInput: AssumeRoleCommandInput): Promise<import("@aws-sdk/client-sts").AssumeRoleCommandOutput>;
|