From 0d0d01786b6011266b93950cb94b05ecf9ae0e73 Mon Sep 17 00:00:00 2001 From: alexander-schefe Date: Thu, 7 Aug 2025 15:59:52 +0200 Subject: [PATCH 1/5] chore: migrated from monolithic aws-sdk v2 to the new modular aws-sdk v3 --- packages/alexa/package.json | 1 - packages/backend/package.json | 5 +- packages/backend/src/aws/lambda.ts | 14 ++--- packages/backend/src/aws/s3.ts | 31 ++++----- packages/backend/src/db/batch.ts | 22 +++++-- packages/backend/src/db/ddb.ts | 13 ++-- packages/backend/src/db/delete.ts | 20 +++--- packages/backend/src/db/get.ts | 20 +++--- packages/backend/src/db/put.ts | 22 ++++--- packages/backend/src/db/query.ts | 20 +++--- packages/backend/src/db/scan.ts | 40 +++++++----- packages/backend/src/db/update.ts | 27 ++++---- .../backend/src/repositories/report.repo.ts | 10 +-- .../backend/src/repositories/trainer.repo.ts | 10 +-- .../backend/src/repositories/user.repo.ts | 3 +- packages/email/package.json | 3 +- packages/email/src/handler.ts | 24 +++++-- packages/email/src/s3.ts | 28 +++++---- packages/print/package.json | 3 +- packages/print/src/handler.ts | 34 +++++----- packages/print/src/s3.ts | 63 +++++++++++++------ yarn.lock | 56 +++++++++++++++-- 22 files changed, 299 insertions(+), 170 deletions(-) diff --git a/packages/alexa/package.json b/packages/alexa/package.json index 5bcada3..f9e9c3d 100644 --- a/packages/alexa/package.json +++ b/packages/alexa/package.json @@ -13,7 +13,6 @@ "ask-sdk-core": "^2.11.0", "ask-sdk-express-adapter": "^2.14.0", "ask-sdk-model": "^1.36.1", - "aws-sdk": "^2.950.0", "date-fns": "4.1.0", "graphql": "^16.11.0", "graphql-request": "^7.2.0", diff --git a/packages/backend/package.json b/packages/backend/package.json index ce509bc..cc00fd4 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -15,7 +15,10 @@ "@graphql-tools/schema": "^10.0.25", "@lara/api": "^1.0.0", "apollo-server-lambda": "^3.13.0", - "aws-sdk": "^2.950.0", + "@aws-sdk/client-dynamodb": "3.862.0", + "@aws-sdk/lib-dynamodb": "3.862.0", + "@aws-sdk/client-lambda": "3.862.0", + "@aws-sdk/util-dynamodb": "3.862.0", "casual": "^1.6.2", "cors": "^2.8.5", "date-fns": "4.1.0", diff --git a/packages/backend/src/aws/lambda.ts b/packages/backend/src/aws/lambda.ts index f925265..fc151eb 100644 --- a/packages/backend/src/aws/lambda.ts +++ b/packages/backend/src/aws/lambda.ts @@ -1,5 +1,5 @@ import { EmailPayload, PrintPayload } from '@lara/api' -import { Lambda } from 'aws-sdk' +import { Lambda } from '@aws-sdk/client-lambda' const { IS_OFFLINE, PRINT_FUNCTION, EMAIL_FUNCTION } = process.env @@ -31,11 +31,9 @@ type LambdaOptions = { functionName: 'email'; payload: EmailPayload } | { functi * @param functionName Defines between print and email Lambda */ export const invokeLambda = async ({ functionName, payload }: LambdaOptions): Promise => { - await lambda - .invoke({ - FunctionName: functionNameMapping[functionName], - InvocationType: 'Event', - Payload: JSON.stringify(payload), - }) - .promise() + await lambda.invoke({ + FunctionName: functionNameMapping[functionName], + InvocationType: 'Event', + Payload: JSON.stringify(payload), + }) } diff --git a/packages/backend/src/aws/s3.ts b/packages/backend/src/aws/s3.ts index d2ab741..f41ff9a 100644 --- a/packages/backend/src/aws/s3.ts +++ b/packages/backend/src/aws/s3.ts @@ -1,5 +1,4 @@ -import { S3, Endpoint, AWSError } from 'aws-sdk' -import { PromiseResult } from 'aws-sdk/lib/request' +import { S3Client, PutObjectCommand, PutObjectCommandOutput } from '@aws-sdk/client-s3' const { IS_OFFLINE, EXPORT_BUCKET } = process.env @@ -7,23 +6,25 @@ if (!EXPORT_BUCKET) { throw new Error("Missing env Var: 'EXPORT_BUCKET'") } -const s3Client = new S3( +const s3Client = new S3Client( IS_OFFLINE ? { - s3ForcePathStyle: true, - accessKeyId: 'S3RVER', // This specific key is required when working offline - secretAccessKey: 'S3RVER', - endpoint: new Endpoint('http://localhost:8181'), + forcePathStyle: true, + credentials: { + accessKeyId: 'S3RVER', // This specific key is required when working offline + secretAccessKey: 'S3RVER', + }, + endpoint: 'http://localhost:8181', } : { region: 'eu-central-1' } ) -export const saveExport = (key: string, body: string): Promise> => { - return s3Client - .putObject({ - Bucket: EXPORT_BUCKET, - Key: key, - Body: body, - }) - .promise() +export const saveExport = async (key: string, body: string): Promise => { + const command = new PutObjectCommand({ + Bucket: EXPORT_BUCKET, + Key: key, + Body: body, + }) + + return await s3Client.send(command) } diff --git a/packages/backend/src/db/batch.ts b/packages/backend/src/db/batch.ts index 8cdb188..1458ba1 100644 --- a/packages/backend/src/db/batch.ts +++ b/packages/backend/src/db/batch.ts @@ -1,4 +1,4 @@ -import { DocumentClient } from 'aws-sdk/clients/dynamodb' +import { BatchWriteCommand, BatchWriteCommandInput } from '@aws-sdk/lib-dynamodb' import { dbClient } from './ddb' @@ -9,12 +9,22 @@ import { dbClient } from './ddb' * @param items max. 25 request items * @returns true if success */ -export const batchWriteItem = async (items: DocumentClient.BatchWriteItemInput['RequestItems']): Promise => { - const res = await dbClient().batchWrite({ RequestItems: items }).promise() +export const batchWriteItem = async (items: BatchWriteCommandInput['RequestItems']): Promise => { + const client = dbClient() + try { + const res = await client.send( + new BatchWriteCommand({ + RequestItems: items, + }) + ) - if (res.$response.error) { + if (res.UnprocessedItems && Object.keys(res.UnprocessedItems).length > 0) { + console.warn('Some items were unprocessed:', res.UnprocessedItems) + } + + return true + } catch (err) { + console.error('Error batch writing to DB:', err) throw new Error('Error batch writing to DB') } - - return true } diff --git a/packages/backend/src/db/ddb.ts b/packages/backend/src/db/ddb.ts index a0d7cab..af51d19 100644 --- a/packages/backend/src/db/ddb.ts +++ b/packages/backend/src/db/ddb.ts @@ -1,4 +1,5 @@ -import { DocumentClient } from 'aws-sdk/clients/dynamodb' +import { DynamoDBClient } from '@aws-sdk/client-dynamodb' +import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb' const { IS_OFFLINE } = process.env @@ -11,19 +12,19 @@ const params = IS_OFFLINE } : {} -let cacheClient: DocumentClient +let cachedClient: DynamoDBDocumentClient /** * Creates a new DB client or returns the * already created client * @returns The DB client */ -export const dbClient = (): DocumentClient => { - if (!cacheClient) { - cacheClient = new DocumentClient(params) +export const dbClient = (): DynamoDBDocumentClient => { + if (!cachedClient) { + cachedClient = DynamoDBDocumentClient.from(new DynamoDBClient(params)) } - return cacheClient + return cachedClient } /** diff --git a/packages/backend/src/db/delete.ts b/packages/backend/src/db/delete.ts index 7b769c3..d5eb612 100644 --- a/packages/backend/src/db/delete.ts +++ b/packages/backend/src/db/delete.ts @@ -1,4 +1,4 @@ -import { DocumentClient } from 'aws-sdk/clients/dynamodb' +import { DeleteCommand, DeleteCommandInput } from '@aws-sdk/lib-dynamodb' import { dbClient } from './ddb' @@ -9,12 +9,18 @@ import { dbClient } from './ddb' * @param key Key of DDB item * @returns true if success */ -export const deleteItem = async (tableName: string, key: DocumentClient.Key): Promise => { - const res = await dbClient().delete({ TableName: tableName, Key: key }).promise() - - if (res.$response.error) { +export const deleteItem = async (tableName: string, key: DeleteCommandInput['Key']): Promise => { + const client = dbClient() + try { + await client.send( + new DeleteCommand({ + TableName: tableName, + Key: key, + }) + ) + return true + } catch (err) { + console.error('Error deleting item from DB:', err) throw new Error('Error deleting item from DB') } - - return true } diff --git a/packages/backend/src/db/get.ts b/packages/backend/src/db/get.ts index 7ceb6e0..e185bb0 100644 --- a/packages/backend/src/db/get.ts +++ b/packages/backend/src/db/get.ts @@ -1,4 +1,4 @@ -import { DocumentClient } from 'aws-sdk/clients/dynamodb' +import { GetCommand, GetCommandInput } from '@aws-sdk/lib-dynamodb' import { dbClient } from './ddb' @@ -9,12 +9,18 @@ import { dbClient } from './ddb' * @param key Identifier of the DDB item * @returns Item from DB */ -export const getItem = async (tablename: string, key: DocumentClient.Key): Promise => { - const res = await dbClient().get({ TableName: tablename, Key: key }).promise() - - if (res.$response.error || !res.Item) { +export const getItem = async (tablename: string, key: GetCommandInput['Key']): Promise => { + const client = dbClient() + try { + const res = await client.send( + new GetCommand({ + TableName: tablename, + Key: key, + }) + ) + return res.Item as T | undefined + } catch (err) { + console.error('Error fetching item from DDB:', err) return undefined } - - return res.Item as T } diff --git a/packages/backend/src/db/put.ts b/packages/backend/src/db/put.ts index f02c475..50307ed 100644 --- a/packages/backend/src/db/put.ts +++ b/packages/backend/src/db/put.ts @@ -1,4 +1,4 @@ -import { DocumentClient } from 'aws-sdk/clients/dynamodb' +import { PutCommand } from '@aws-sdk/lib-dynamodb' import { dbClient } from './ddb' @@ -9,12 +9,18 @@ import { dbClient } from './ddb' * @param input DDB put options * @returns The input if successfull */ -export const putItem = async (tableName: string, input: DocumentClient.PutItemInputAttributeMap): Promise => { - const res = await dbClient().put({ TableName: tableName, Item: input }).promise() - - if (res.$response.error) { - throw new Error('Error putting into DB') +export const putItem = async >(tableName: string, input: T): Promise => { + const client = dbClient() + try { + await client.send( + new PutCommand({ + TableName: tableName, + Item: input, + }) + ) + return input + } catch (error) { + console.error('Error putting Item into DB', error) + throw new Error('Error putting Item into DB') } - - return input as T } diff --git a/packages/backend/src/db/query.ts b/packages/backend/src/db/query.ts index 354b0ea..4b86a1f 100644 --- a/packages/backend/src/db/query.ts +++ b/packages/backend/src/db/query.ts @@ -1,4 +1,4 @@ -import { DocumentClient } from 'aws-sdk/clients/dynamodb' +import { QueryCommand, QueryCommandInput } from '@aws-sdk/lib-dynamodb' import { Keys } from '../utils/object' import { @@ -15,15 +15,17 @@ import { * @param options DDB Query Options * @returns Queried items */ -const queryItems = async ( - tablename: string, - options: Omit -): Promise => { - const res = await dbClient() - .query({ ...options, TableName: tablename }) - .promise() +const queryItems = async (tablename: string, options: Omit): Promise => { + const client = dbClient() + + const res = await client.send( + new QueryCommand({ + TableName: tablename, + ...options, + }) + ) - if (res.$response.error || !res.Items) { + if (!res.Items) { return [] } diff --git a/packages/backend/src/db/scan.ts b/packages/backend/src/db/scan.ts index 2704a25..4240d75 100644 --- a/packages/backend/src/db/scan.ts +++ b/packages/backend/src/db/scan.ts @@ -1,4 +1,4 @@ -import { DocumentClient } from 'aws-sdk/clients/dynamodb' +import { ScanCommand, ScanCommandInput } from '@aws-sdk/lib-dynamodb' import { dbClient } from './ddb' @@ -12,23 +12,33 @@ import { dbClient } from './ddb' */ export const scanItems = async ( tablename: string, - additionalInput?: Omit + additionalInput?: Omit ): Promise => { - const res = await dbClient() - .scan({ TableName: tablename, ...additionalInput }) - .promise() + const client = dbClient() - if (res.$response.error || !res.Items) { - return [] - } - - // scan the database until 'LastEvaluatedKey' is empty - const paginatedResults = res.LastEvaluatedKey - ? await scanItems(tablename, { + try { + const res = await client.send( + new ScanCommand({ + TableName: tablename, ...additionalInput, - ExclusiveStartKey: res.LastEvaluatedKey, }) - : [] + ) + + if (!res.Items) { + return [] + } - return [...paginatedResults, ...res.Items] as T[] + // scan the database until 'LastEvaluatedKey' is empty + const paginatedResults = res.LastEvaluatedKey + ? await scanItems(tablename, { + ...additionalInput, + ExclusiveStartKey: res.LastEvaluatedKey, + }) + : [] + + return [...paginatedResults, ...res.Items] as T[] + } catch (error) { + console.error('Error while scanning the DB:', error) + throw new Error('Error while scanning the DB:') + } } diff --git a/packages/backend/src/db/update.ts b/packages/backend/src/db/update.ts index ee6ed2a..fecc1a4 100644 --- a/packages/backend/src/db/update.ts +++ b/packages/backend/src/db/update.ts @@ -1,4 +1,4 @@ -import { DocumentClient } from 'aws-sdk/clients/dynamodb' +import { UpdateCommand, UpdateCommandInput } from '@aws-sdk/lib-dynamodb' import { Keys } from '../utils/object' import { @@ -15,19 +15,22 @@ import { * @param input DDB input options * @returns Boolean if sucess */ -const updateItem = async ( - tableName: string, - input: Omit -): Promise => { - const res = await dbClient() - .update({ TableName: tableName, ...input }) - .promise() - - if (res.$response.error) { +const updateItem = async (tableName: string, input: Omit): Promise => { + const client = dbClient() + + try { + await client.send( + new UpdateCommand({ + TableName: tableName, + ...input, + }) + ) + + return true + } catch (error) { + console.error('Error updating into DB:', error) throw new Error('Error updating into DB') } - - return true } /** diff --git a/packages/backend/src/repositories/report.repo.ts b/packages/backend/src/repositories/report.repo.ts index 4269fee..7c2ff46 100644 --- a/packages/backend/src/repositories/report.repo.ts +++ b/packages/backend/src/repositories/report.repo.ts @@ -1,5 +1,5 @@ -import { DocumentClient } from 'aws-sdk/clients/dynamodb' - +import { WriteRequest } from '@aws-sdk/client-dynamodb' +import { marshall } from '@aws-sdk/util-dynamodb' import { Report } from '@lara/api' import { @@ -23,11 +23,11 @@ export const saveReport = (report: Report): Promise => { } export const deleteReports = async (reports: Report[]): Promise => { - const deleteRequests: DocumentClient.WriteRequests = reports.map((report) => ({ + const deleteRequests: WriteRequest[] = reports.map((report) => ({ DeleteRequest: { - Key: { + Key: marshall({ id: report.id, - }, + }), }, })) diff --git a/packages/backend/src/repositories/trainer.repo.ts b/packages/backend/src/repositories/trainer.repo.ts index 550b20d..2b3e54f 100644 --- a/packages/backend/src/repositories/trainer.repo.ts +++ b/packages/backend/src/repositories/trainer.repo.ts @@ -1,5 +1,5 @@ -import { DocumentClient } from 'aws-sdk/clients/dynamodb' - +import { WriteRequest } from '@aws-sdk/client-dynamodb' +import { marshall } from '@aws-sdk/util-dynamodb' import { Trainer } from '@lara/api' import { queryObjects, userTableName, userTypeIndex, batchWriteItem } from '../db' @@ -19,12 +19,12 @@ export const trainerById = async (id: string): Promise => { export const deleteTrainerReferences = async (trainer: Trainer): Promise => { const trainees = await traineesByTrainerId(trainer.id) - const putRequests: DocumentClient.WriteRequests = trainees.map((trainee) => ({ + const putRequests: WriteRequest[] = trainees.map((trainee) => ({ PutRequest: { - Item: { + Item: marshall({ ...trainee, trainerId: undefined, - }, + }), }, })) diff --git a/packages/backend/src/repositories/user.repo.ts b/packages/backend/src/repositories/user.repo.ts index 1de9c93..6333465 100644 --- a/packages/backend/src/repositories/user.repo.ts +++ b/packages/backend/src/repositories/user.repo.ts @@ -15,13 +15,12 @@ import { userTableName, } from '../db' import { TokensResponse } from '../services/oauth.service' -import { DocumentClient } from 'aws-sdk/clients/dynamodb' export const allUsers = (): Promise => { return scanItems(userTableName) } -export const saveUser = (user: T): Promise => { +export const saveUser = (user: T): Promise => { return putItem(userTableName, user) } diff --git a/packages/email/package.json b/packages/email/package.json index 94ea98c..24e7f6b 100644 --- a/packages/email/package.json +++ b/packages/email/package.json @@ -11,7 +11,8 @@ }, "dependencies": { "@lara/api": "^1.0.0", - "aws-sdk": "^2.938.0", + "@aws-sdk/client-s3": "3.862.0", + "@aws-sdk/client-ses": "3.862.0", "handlebars": "^4.7.7", "mjml": "^4.11.0", "nodemailer": "^7.0.5" diff --git a/packages/email/src/handler.ts b/packages/email/src/handler.ts index 1700c62..f48ba86 100644 --- a/packages/email/src/handler.ts +++ b/packages/email/src/handler.ts @@ -1,5 +1,5 @@ import { Handler } from 'aws-lambda' -import { SES } from 'aws-sdk' +import { SESClient, SendEmailCommand } from '@aws-sdk/client-ses' import { mkdirSync, writeFileSync } from 'fs' import { compile } from 'handlebars' import { createTransport } from 'nodemailer' @@ -10,7 +10,9 @@ import { resolve } from 'path' import { EmailPayload } from '@lara/api' import { generateEmailTemplate } from './mail-template' -import { getAttachements } from './s3' +import { getAttachments } from './s3' + +import { Readable } from 'stream' const { IS_OFFLINE, SES_EMAIL, SES_REGION } = process.env @@ -22,12 +24,22 @@ if (!SES_REGION) { throw new Error("Missing Environment Variable: 'SES_REGION'") } +const sesClient = new SESClient({ region: SES_REGION }) + const transporter = createTransport({ - SES: new SES({ region: SES_REGION }), + SES: { ses: sesClient, aws: { SendEmailCommand } }, }) type Response = 'success' | 'error' +const streamToBuffer = async (stream: Readable): Promise => { + const chunks: Uint8Array[] = [] + for await (const chunk of stream) { + chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk) + } + return Buffer.concat(chunks) +} + const handleGettingAttachements = async (payload: EmailPayload): Promise => { if (payload.emailType !== 'reportExport') { return [] @@ -35,12 +47,12 @@ const handleGettingAttachements = async (payload: EmailPayload): Promise = async (payload) => { diff --git a/packages/email/src/s3.ts b/packages/email/src/s3.ts index d9d8eb0..f3b430c 100644 --- a/packages/email/src/s3.ts +++ b/packages/email/src/s3.ts @@ -1,4 +1,4 @@ -import { S3, Endpoint } from 'aws-sdk' +import { S3Client, GetObjectCommand, GetObjectCommandOutput } from '@aws-sdk/client-s3' const { IS_OFFLINE, EXPORT_BUCKET } = process.env @@ -6,24 +6,28 @@ if (!EXPORT_BUCKET) { throw new Error("Missing env Var: 'EXPORT_BUCKET'") } -const s3Client = new S3( +const s3Client = new S3Client( IS_OFFLINE ? { - s3ForcePathStyle: true, - accessKeyId: 'S3RVER', // This specific key is required when working offline - secretAccessKey: 'S3RVER', - endpoint: new Endpoint('http://localhost:8181'), + forcePathStyle: true, + credentials: { + accessKeyId: 'S3RVER', // This specific key is required when working offline + secretAccessKey: 'S3RVER', + }, + endpoint: 'http://localhost:8181', } : { region: 'eu-central-1' } ) -export const getAttachements = async (key: string): Promise => { - const s3Object = await s3Client - .getObject({ +export const getAttachments = async (key: string): Promise => { + try { + const command = new GetObjectCommand({ Bucket: EXPORT_BUCKET, Key: key, }) - .promise() - - return s3Object.Body as Buffer + return await s3Client.send(command) + } catch (e) { + console.error('Error while fetching attachment from S3: ', e) + return undefined + } } diff --git a/packages/print/package.json b/packages/print/package.json index bcc12e7..f4a0d0b 100644 --- a/packages/print/package.json +++ b/packages/print/package.json @@ -14,7 +14,8 @@ "@lara/components": "^1.0.0", "@sparticuz/chromium": "^138.0.2", "adm-zip": "^0.5.10", - "aws-sdk": "^2.950.0", + "@aws-sdk/client-s3": "3.862.0", + "@aws-sdk/types": "3.862.0", "puppeteer-core": "^24.16.0", "react": "^19.1.1", "react-dom": "^19.1.1", diff --git a/packages/print/src/handler.ts b/packages/print/src/handler.ts index cf8afd5..57d5da0 100644 --- a/packages/print/src/handler.ts +++ b/packages/print/src/handler.ts @@ -1,4 +1,4 @@ -import { Lambda } from 'aws-sdk' +import { Lambda } from '@aws-sdk/client-lambda' import AdmZip from 'adm-zip' import { Handler } from 'aws-lambda' import chromium from '@sparticuz/chromium' @@ -95,29 +95,25 @@ export const handler: Handler = async (payloa translations: emailTranslations, } - await lambda - .invoke({ - FunctionName: EMAIL_FUNCTION, - InvocationType: 'RequestResponse', - Payload: JSON.stringify(emailPayload), - }) - .promise() + await lambda.invoke({ + FunctionName: EMAIL_FUNCTION, + InvocationType: 'RequestResponse', + Payload: JSON.stringify(emailPayload), + }) return 'success' } catch (e) { console.error('Error while rendering PDF: ', e) - await lambda - .invoke({ - FunctionName: EMAIL_FUNCTION, - InvocationType: 'RequestResponse', - Payload: JSON.stringify({ - emailType: 'error', - userData, - translations: emailTranslations, - }), - }) - .promise() + await lambda.invoke({ + FunctionName: EMAIL_FUNCTION, + InvocationType: 'RequestResponse', + Payload: JSON.stringify({ + emailType: 'error', + userData, + translations: emailTranslations, + }), + }) return 'error' } finally { diff --git a/packages/print/src/s3.ts b/packages/print/src/s3.ts index 7e54c5c..71de6d8 100644 --- a/packages/print/src/s3.ts +++ b/packages/print/src/s3.ts @@ -1,5 +1,11 @@ -import { S3, Endpoint, AWSError } from 'aws-sdk' -import { PromiseResult } from 'aws-sdk/lib/request' +import { + S3Client, + GetObjectCommand, + PutObjectCommand, + GetObjectCommandOutput, + PutObjectCommandOutput, +} from '@aws-sdk/client-s3' +import { Readable } from 'stream' import { PrintData } from '@lara/api' @@ -9,36 +15,55 @@ if (!EXPORT_BUCKET) { throw new Error("Missing env Var: 'EXPORT_BUCKET'") } -const s3Client = new S3( +const s3Client = new S3Client( IS_OFFLINE ? { - s3ForcePathStyle: true, - accessKeyId: 'S3RVER', // This specific key is required when working offline - secretAccessKey: 'S3RVER', - endpoint: new Endpoint('http://localhost:8181'), + forcePathStyle: true, + credentials: { + accessKeyId: 'S3RVER', // This specific key is required when working offline + secretAccessKey: 'S3RVER', + }, + endpoint: 'http://localhost:8181', } : { region: 'eu-central-1' } ) -export const getExport = (key: string): Promise => { - return s3Client - .getObject({ +const streamToString = async (stream: Readable): Promise => { + const chunks: Uint8Array[] = [] + for await (const chunk of stream) { + chunks.push(typeof chunk === 'string' ? Buffer.from(chunk) : chunk) + } + return Buffer.concat(chunks).toString('utf-8') +} + +export const getExport = async (key: string): Promise => { + try { + const command = new GetObjectCommand({ Bucket: EXPORT_BUCKET, Key: key, }) - .promise() - .then((res) => res.Body && JSON.parse(res.Body.toString('utf-8'))) - .catch((e) => { - console.error('Error while trying to get Data from S3 Bucket: ', e) - }) + const res: GetObjectCommandOutput = await s3Client.send(command) + + if (res.Body && res.Body instanceof Readable) { + const bodyStr = await streamToString(res.Body) + return JSON.parse(bodyStr) + } else return undefined + } catch (e) { + console.error('Error while trying to get Data from S3 Bucket: ', e) + return undefined + } } -export const saveAttachments = (key: string, body: Buffer): Promise> => { - return s3Client - .putObject({ +export const saveAttachments = async (key: string, body: Buffer): Promise => { + try { + const command = new PutObjectCommand({ Bucket: EXPORT_BUCKET, Key: key, Body: body, }) - .promise() + return await s3Client.send(command) + } catch (e) { + console.error('Error while saving attachment to S3: ', e) + return undefined + } } diff --git a/yarn.lock b/yarn.lock index 4393cfa..b784fde 100644 --- a/yarn.lock +++ b/yarn.lock @@ -662,10 +662,56 @@ tslib "^2.6.2" uuid "^9.0.1" -"@aws-sdk/client-sso@3.864.0": - version "3.864.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.864.0.tgz#4099313516d61ed61791551c6f0683259b9cbf5e" - integrity sha512-THiOp0OpQROEKZ6IdDCDNNh3qnNn/kFFaTSOiugDpgcE5QdsOxh1/RXq7LmHpTJum3cmnFf8jG59PHcz9Tjnlw== +"@aws-sdk/client-ses@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-ses/-/client-ses-3.862.0.tgz#bb9a956eabea69c90a574f2a2b6faac19ef6ee51" + integrity sha512-Sbt7T5a4DSMIrOpZgMCmzPEEqKKT+M5uqbrpkmw+54+Mra0/+w7hmnlADe0Rbp2VnWR2zP7oOZNKhWN0BHkFPg== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.862.0" + "@aws-sdk/credential-provider-node" "3.862.0" + "@aws-sdk/middleware-host-header" "3.862.0" + "@aws-sdk/middleware-logger" "3.862.0" + "@aws-sdk/middleware-recursion-detection" "3.862.0" + "@aws-sdk/middleware-user-agent" "3.862.0" + "@aws-sdk/region-config-resolver" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@aws-sdk/util-endpoints" "3.862.0" + "@aws-sdk/util-user-agent-browser" "3.862.0" + "@aws-sdk/util-user-agent-node" "3.862.0" + "@smithy/config-resolver" "^4.1.5" + "@smithy/core" "^3.8.0" + "@smithy/fetch-http-handler" "^5.1.1" + "@smithy/hash-node" "^4.0.5" + "@smithy/invalid-dependency" "^4.0.5" + "@smithy/middleware-content-length" "^4.0.5" + "@smithy/middleware-endpoint" "^4.1.18" + "@smithy/middleware-retry" "^4.1.19" + "@smithy/middleware-serde" "^4.0.9" + "@smithy/middleware-stack" "^4.0.5" + "@smithy/node-config-provider" "^4.1.4" + "@smithy/node-http-handler" "^4.1.1" + "@smithy/protocol-http" "^5.1.3" + "@smithy/smithy-client" "^4.4.10" + "@smithy/types" "^4.3.2" + "@smithy/url-parser" "^4.0.5" + "@smithy/util-base64" "^4.0.0" + "@smithy/util-body-length-browser" "^4.0.0" + "@smithy/util-body-length-node" "^4.0.0" + "@smithy/util-defaults-mode-browser" "^4.0.26" + "@smithy/util-defaults-mode-node" "^4.0.26" + "@smithy/util-endpoints" "^3.0.7" + "@smithy/util-middleware" "^4.0.5" + "@smithy/util-retry" "^4.0.7" + "@smithy/util-utf8" "^4.0.0" + "@smithy/util-waiter" "^4.0.7" + tslib "^2.6.2" + +"@aws-sdk/client-sso@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.862.0.tgz#a3025c96b8fb386c1d0b5a853d38c2e2b8122c23" + integrity sha512-zHf7Bn22K09BdFgiGg6yWfy927djGhs58KB5qpqD2ie7u796TvetPH14p6UUAOGyk6aah+wR/WLFFoc+51uADA== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" @@ -6388,7 +6434,7 @@ aws-dynamodb-local@^0.0.11: dependencies: tar "^6.2.0" -aws-sdk@^2.1404.0, aws-sdk@^2.346.0, aws-sdk@^2.938.0, aws-sdk@^2.950.0: +aws-sdk@^2.1404.0, aws-sdk@^2.346.0, aws-sdk@^2.938.0: version "2.1692.0" resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1692.0.tgz#9dac5f7bfcc5ab45825cc8591b12753aa7d2902c" integrity sha512-x511uiJ/57FIsbgUe5csJ13k3uzu25uWQE+XqfBis/sB0SFoiElJWXRkgEAUh0U6n40eT3ay5Ue4oPkRMu1LYw== From ed954702140b5a4407db306ccb7aabb706c387f6 Mon Sep 17 00:00:00 2001 From: alexander-schefe Date: Thu, 7 Aug 2025 16:06:52 +0200 Subject: [PATCH 2/5] fix: sorted packages --- packages/backend/package.json | 8 ++++---- packages/email/package.json | 2 +- packages/print/package.json | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/backend/package.json b/packages/backend/package.json index cc00fd4..8da7e2e 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -12,13 +12,13 @@ "test": "jest" }, "dependencies": { - "@graphql-tools/schema": "^10.0.25", - "@lara/api": "^1.0.0", - "apollo-server-lambda": "^3.13.0", "@aws-sdk/client-dynamodb": "3.862.0", - "@aws-sdk/lib-dynamodb": "3.862.0", "@aws-sdk/client-lambda": "3.862.0", + "@aws-sdk/lib-dynamodb": "3.862.0", "@aws-sdk/util-dynamodb": "3.862.0", + "@graphql-tools/schema": "^10.0.25", + "@lara/api": "^1.0.0", + "apollo-server-lambda": "^3.13.0", "casual": "^1.6.2", "cors": "^2.8.5", "date-fns": "4.1.0", diff --git a/packages/email/package.json b/packages/email/package.json index 24e7f6b..db9f367 100644 --- a/packages/email/package.json +++ b/packages/email/package.json @@ -10,9 +10,9 @@ "debug": "node lib/mock.js" }, "dependencies": { - "@lara/api": "^1.0.0", "@aws-sdk/client-s3": "3.862.0", "@aws-sdk/client-ses": "3.862.0", + "@lara/api": "^1.0.0", "handlebars": "^4.7.7", "mjml": "^4.11.0", "nodemailer": "^7.0.5" diff --git a/packages/print/package.json b/packages/print/package.json index f4a0d0b..4632a08 100644 --- a/packages/print/package.json +++ b/packages/print/package.json @@ -10,12 +10,12 @@ "debug": "node lib/mock.js" }, "dependencies": { + "@aws-sdk/client-s3": "3.862.0", + "@aws-sdk/types": "3.862.0", "@lara/api": "^1.0.0", "@lara/components": "^1.0.0", "@sparticuz/chromium": "^138.0.2", "adm-zip": "^0.5.10", - "@aws-sdk/client-s3": "3.862.0", - "@aws-sdk/types": "3.862.0", "puppeteer-core": "^24.16.0", "react": "^19.1.1", "react-dom": "^19.1.1", From 2e2f8f7fe410a367116e7a49ddd39c553f70ccf8 Mon Sep 17 00:00:00 2001 From: alexander-schefe Date: Thu, 7 Aug 2025 16:14:44 +0200 Subject: [PATCH 3/5] fix: use attachment.Body instead of just attachment --- packages/email/src/handler.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/email/src/handler.ts b/packages/email/src/handler.ts index f48ba86..1c4060d 100644 --- a/packages/email/src/handler.ts +++ b/packages/email/src/handler.ts @@ -49,10 +49,10 @@ const handleGettingAttachements = async (payload: EmailPayload): Promise = async (payload) => { From 5273adf6ed7a76300e227779b1415066bec6bca4 Mon Sep 17 00:00:00 2001 From: alexander-schefe Date: Thu, 14 Aug 2025 11:02:05 +0200 Subject: [PATCH 4/5] chore: regenerated yarn.lock --- yarn.lock | 481 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 481 insertions(+) diff --git a/yarn.lock b/yarn.lock index b784fde..287f7c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -407,6 +407,55 @@ "@smithy/util-utf8" "^4.0.0" tslib "^2.6.2" +"@aws-sdk/client-dynamodb@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.862.0.tgz#f5e64c924c05fa0818a672c66f5a645a295d780a" + integrity sha512-58xLIQlqbFVlha3bE7KIwcWMPl47Y+82+I/b1AuKllQPeuU3rjXeDJZ0NXoithG4/hF7McclYfKPC4AbhIIQAQ== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.862.0" + "@aws-sdk/credential-provider-node" "3.862.0" + "@aws-sdk/middleware-endpoint-discovery" "3.862.0" + "@aws-sdk/middleware-host-header" "3.862.0" + "@aws-sdk/middleware-logger" "3.862.0" + "@aws-sdk/middleware-recursion-detection" "3.862.0" + "@aws-sdk/middleware-user-agent" "3.862.0" + "@aws-sdk/region-config-resolver" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@aws-sdk/util-endpoints" "3.862.0" + "@aws-sdk/util-user-agent-browser" "3.862.0" + "@aws-sdk/util-user-agent-node" "3.862.0" + "@smithy/config-resolver" "^4.1.5" + "@smithy/core" "^3.8.0" + "@smithy/fetch-http-handler" "^5.1.1" + "@smithy/hash-node" "^4.0.5" + "@smithy/invalid-dependency" "^4.0.5" + "@smithy/middleware-content-length" "^4.0.5" + "@smithy/middleware-endpoint" "^4.1.18" + "@smithy/middleware-retry" "^4.1.19" + "@smithy/middleware-serde" "^4.0.9" + "@smithy/middleware-stack" "^4.0.5" + "@smithy/node-config-provider" "^4.1.4" + "@smithy/node-http-handler" "^4.1.1" + "@smithy/protocol-http" "^5.1.3" + "@smithy/smithy-client" "^4.4.10" + "@smithy/types" "^4.3.2" + "@smithy/url-parser" "^4.0.5" + "@smithy/util-base64" "^4.0.0" + "@smithy/util-body-length-browser" "^4.0.0" + "@smithy/util-body-length-node" "^4.0.0" + "@smithy/util-defaults-mode-browser" "^4.0.26" + "@smithy/util-defaults-mode-node" "^4.0.26" + "@smithy/util-endpoints" "^3.0.7" + "@smithy/util-middleware" "^4.0.5" + "@smithy/util-retry" "^4.0.7" + "@smithy/util-utf8" "^4.0.0" + "@smithy/util-waiter" "^4.0.7" + "@types/uuid" "^9.0.1" + tslib "^2.6.2" + uuid "^9.0.1" + "@aws-sdk/client-dynamodb@^3.428.0", "@aws-sdk/client-dynamodb@^3.693.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.864.0.tgz#50b76a6751ea11676809bc52bd71d8ac34d2d895" @@ -548,6 +597,56 @@ "@smithy/util-waiter" "^4.0.7" tslib "^2.6.2" +"@aws-sdk/client-lambda@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-lambda/-/client-lambda-3.862.0.tgz#65bdc57c55f5922a83a8fda470e9f353e1592bd4" + integrity sha512-QDw823FAMeUmyNt/eOtgfR/Nhfb0gQNoGCRH5CGi1EEWQJP78Dxum4w4W1DGADn1JEdNBZkWJXz3j9bu46KXVg== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.862.0" + "@aws-sdk/credential-provider-node" "3.862.0" + "@aws-sdk/middleware-host-header" "3.862.0" + "@aws-sdk/middleware-logger" "3.862.0" + "@aws-sdk/middleware-recursion-detection" "3.862.0" + "@aws-sdk/middleware-user-agent" "3.862.0" + "@aws-sdk/region-config-resolver" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@aws-sdk/util-endpoints" "3.862.0" + "@aws-sdk/util-user-agent-browser" "3.862.0" + "@aws-sdk/util-user-agent-node" "3.862.0" + "@smithy/config-resolver" "^4.1.5" + "@smithy/core" "^3.8.0" + "@smithy/eventstream-serde-browser" "^4.0.5" + "@smithy/eventstream-serde-config-resolver" "^4.1.3" + "@smithy/eventstream-serde-node" "^4.0.5" + "@smithy/fetch-http-handler" "^5.1.1" + "@smithy/hash-node" "^4.0.5" + "@smithy/invalid-dependency" "^4.0.5" + "@smithy/middleware-content-length" "^4.0.5" + "@smithy/middleware-endpoint" "^4.1.18" + "@smithy/middleware-retry" "^4.1.19" + "@smithy/middleware-serde" "^4.0.9" + "@smithy/middleware-stack" "^4.0.5" + "@smithy/node-config-provider" "^4.1.4" + "@smithy/node-http-handler" "^4.1.1" + "@smithy/protocol-http" "^5.1.3" + "@smithy/smithy-client" "^4.4.10" + "@smithy/types" "^4.3.2" + "@smithy/url-parser" "^4.0.5" + "@smithy/util-base64" "^4.0.0" + "@smithy/util-body-length-browser" "^4.0.0" + "@smithy/util-body-length-node" "^4.0.0" + "@smithy/util-defaults-mode-browser" "^4.0.26" + "@smithy/util-defaults-mode-node" "^4.0.26" + "@smithy/util-endpoints" "^3.0.7" + "@smithy/util-middleware" "^4.0.5" + "@smithy/util-retry" "^4.0.7" + "@smithy/util-stream" "^4.2.4" + "@smithy/util-utf8" "^4.0.0" + "@smithy/util-waiter" "^4.0.7" + tslib "^2.6.2" + "@aws-sdk/client-lambda@^3.588.0", "@aws-sdk/client-lambda@^3.636.0": version "3.865.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-lambda/-/client-lambda-3.865.0.tgz#3e98b87aa814c419c815e3f5c2f8f1d95c00b335" @@ -598,6 +697,70 @@ "@smithy/util-waiter" "^4.0.7" tslib "^2.6.2" +"@aws-sdk/client-s3@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.862.0.tgz#cb48a4524b0d8567d95c29e26b0f70126fbf960e" + integrity sha512-sPmqv2qKORtGRN51cRoHyTOK/SMejG1snXUQytuximeDPn5e/p6cCsYwOI8QuQNW+/7HbmosEz91lPcbClWXxg== + dependencies: + "@aws-crypto/sha1-browser" "5.2.0" + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.862.0" + "@aws-sdk/credential-provider-node" "3.862.0" + "@aws-sdk/middleware-bucket-endpoint" "3.862.0" + "@aws-sdk/middleware-expect-continue" "3.862.0" + "@aws-sdk/middleware-flexible-checksums" "3.862.0" + "@aws-sdk/middleware-host-header" "3.862.0" + "@aws-sdk/middleware-location-constraint" "3.862.0" + "@aws-sdk/middleware-logger" "3.862.0" + "@aws-sdk/middleware-recursion-detection" "3.862.0" + "@aws-sdk/middleware-sdk-s3" "3.862.0" + "@aws-sdk/middleware-ssec" "3.862.0" + "@aws-sdk/middleware-user-agent" "3.862.0" + "@aws-sdk/region-config-resolver" "3.862.0" + "@aws-sdk/signature-v4-multi-region" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@aws-sdk/util-endpoints" "3.862.0" + "@aws-sdk/util-user-agent-browser" "3.862.0" + "@aws-sdk/util-user-agent-node" "3.862.0" + "@aws-sdk/xml-builder" "3.862.0" + "@smithy/config-resolver" "^4.1.5" + "@smithy/core" "^3.8.0" + "@smithy/eventstream-serde-browser" "^4.0.5" + "@smithy/eventstream-serde-config-resolver" "^4.1.3" + "@smithy/eventstream-serde-node" "^4.0.5" + "@smithy/fetch-http-handler" "^5.1.1" + "@smithy/hash-blob-browser" "^4.0.5" + "@smithy/hash-node" "^4.0.5" + "@smithy/hash-stream-node" "^4.0.5" + "@smithy/invalid-dependency" "^4.0.5" + "@smithy/md5-js" "^4.0.5" + "@smithy/middleware-content-length" "^4.0.5" + "@smithy/middleware-endpoint" "^4.1.18" + "@smithy/middleware-retry" "^4.1.19" + "@smithy/middleware-serde" "^4.0.9" + "@smithy/middleware-stack" "^4.0.5" + "@smithy/node-config-provider" "^4.1.4" + "@smithy/node-http-handler" "^4.1.1" + "@smithy/protocol-http" "^5.1.3" + "@smithy/smithy-client" "^4.4.10" + "@smithy/types" "^4.3.2" + "@smithy/url-parser" "^4.0.5" + "@smithy/util-base64" "^4.0.0" + "@smithy/util-body-length-browser" "^4.0.0" + "@smithy/util-body-length-node" "^4.0.0" + "@smithy/util-defaults-mode-browser" "^4.0.26" + "@smithy/util-defaults-mode-node" "^4.0.26" + "@smithy/util-endpoints" "^3.0.7" + "@smithy/util-middleware" "^4.0.5" + "@smithy/util-retry" "^4.0.7" + "@smithy/util-stream" "^4.2.4" + "@smithy/util-utf8" "^4.0.0" + "@smithy/util-waiter" "^4.0.7" + "@types/uuid" "^9.0.1" + tslib "^2.6.2" + uuid "^9.0.1" + "@aws-sdk/client-s3@^3.53.1", "@aws-sdk/client-s3@^3.588.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.864.0.tgz#ffbcbf0ba861fad711261b4174da3be19b1c7d5f" @@ -712,6 +875,50 @@ version "3.862.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.862.0.tgz#a3025c96b8fb386c1d0b5a853d38c2e2b8122c23" integrity sha512-zHf7Bn22K09BdFgiGg6yWfy927djGhs58KB5qpqD2ie7u796TvetPH14p6UUAOGyk6aah+wR/WLFFoc+51uADA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.862.0" + "@aws-sdk/middleware-host-header" "3.862.0" + "@aws-sdk/middleware-logger" "3.862.0" + "@aws-sdk/middleware-recursion-detection" "3.862.0" + "@aws-sdk/middleware-user-agent" "3.862.0" + "@aws-sdk/region-config-resolver" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@aws-sdk/util-endpoints" "3.862.0" + "@aws-sdk/util-user-agent-browser" "3.862.0" + "@aws-sdk/util-user-agent-node" "3.862.0" + "@smithy/config-resolver" "^4.1.5" + "@smithy/core" "^3.8.0" + "@smithy/fetch-http-handler" "^5.1.1" + "@smithy/hash-node" "^4.0.5" + "@smithy/invalid-dependency" "^4.0.5" + "@smithy/middleware-content-length" "^4.0.5" + "@smithy/middleware-endpoint" "^4.1.18" + "@smithy/middleware-retry" "^4.1.19" + "@smithy/middleware-serde" "^4.0.9" + "@smithy/middleware-stack" "^4.0.5" + "@smithy/node-config-provider" "^4.1.4" + "@smithy/node-http-handler" "^4.1.1" + "@smithy/protocol-http" "^5.1.3" + "@smithy/smithy-client" "^4.4.10" + "@smithy/types" "^4.3.2" + "@smithy/url-parser" "^4.0.5" + "@smithy/util-base64" "^4.0.0" + "@smithy/util-body-length-browser" "^4.0.0" + "@smithy/util-body-length-node" "^4.0.0" + "@smithy/util-defaults-mode-browser" "^4.0.26" + "@smithy/util-defaults-mode-node" "^4.0.26" + "@smithy/util-endpoints" "^3.0.7" + "@smithy/util-middleware" "^4.0.5" + "@smithy/util-retry" "^4.0.7" + "@smithy/util-utf8" "^4.0.0" + tslib "^2.6.2" + +"@aws-sdk/client-sso@3.864.0": + version "3.864.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.864.0.tgz#4099313516d61ed61791551c6f0683259b9cbf5e" + integrity sha512-THiOp0OpQROEKZ6IdDCDNNh3qnNn/kFFaTSOiugDpgcE5QdsOxh1/RXq7LmHpTJum3cmnFf8jG59PHcz9Tjnlw== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" @@ -797,6 +1004,27 @@ "@smithy/util-utf8" "^4.0.0" tslib "^2.6.2" +"@aws-sdk/core@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.862.0.tgz#e48a4f9910be4ba05817c679a835f6120a41ebf6" + integrity sha512-oJ5Au3QCAQmOmh7PD7dUxnPDxWsT9Z95XEOiJV027//11pwRSUMiNSvW8srPa3i7CZRNjz5QHX6O4KqX9PxNsQ== + dependencies: + "@aws-sdk/types" "3.862.0" + "@aws-sdk/xml-builder" "3.862.0" + "@smithy/core" "^3.8.0" + "@smithy/node-config-provider" "^4.1.4" + "@smithy/property-provider" "^4.0.5" + "@smithy/protocol-http" "^5.1.3" + "@smithy/signature-v4" "^5.1.3" + "@smithy/smithy-client" "^4.4.10" + "@smithy/types" "^4.3.2" + "@smithy/util-base64" "^4.0.0" + "@smithy/util-body-length-browser" "^4.0.0" + "@smithy/util-middleware" "^4.0.5" + "@smithy/util-utf8" "^4.0.0" + fast-xml-parser "5.2.5" + tslib "^2.6.2" + "@aws-sdk/core@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.864.0.tgz#5ea4e400bb479faf4e0aa71a32ec89e8a3f2ceaf" @@ -818,6 +1046,17 @@ fast-xml-parser "5.2.5" tslib "^2.6.2" +"@aws-sdk/credential-provider-env@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.862.0.tgz#e890eaecba6b5c4f43bb3845af308163d18a440e" + integrity sha512-/nafSJMuixcrCN1SmsOBIQ5m1fhr9ZnCxw3JZD9qJm3yNXhAshqAC+KcA3JGFnvdBVLhY/pUpdoQmxZmuFJItQ== + dependencies: + "@aws-sdk/core" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@smithy/property-provider" "^4.0.5" + "@smithy/types" "^4.3.2" + tslib "^2.6.2" + "@aws-sdk/credential-provider-env@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.864.0.tgz#32e048eafaad51e3c67ef34d1310cc19f2f67c38" @@ -829,6 +1068,22 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" +"@aws-sdk/credential-provider-http@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.862.0.tgz#dbb8e43015119a2fecfbd764b79a3774e64088ad" + integrity sha512-JnF3vH6GxvPuMGSI5QsmVlmWc0ebElEiJvUGByTMSr/BfzywZdJBKzPVqViwNqAW5cBWiZ/rpL+ekZ24Nb0Vow== + dependencies: + "@aws-sdk/core" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@smithy/fetch-http-handler" "^5.1.1" + "@smithy/node-http-handler" "^4.1.1" + "@smithy/property-provider" "^4.0.5" + "@smithy/protocol-http" "^5.1.3" + "@smithy/smithy-client" "^4.4.10" + "@smithy/types" "^4.3.2" + "@smithy/util-stream" "^4.2.4" + tslib "^2.6.2" + "@aws-sdk/credential-provider-http@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.864.0.tgz#e312b137c1fdce87adb5140b039516c077726f5c" @@ -845,6 +1100,25 @@ "@smithy/util-stream" "^4.2.4" tslib "^2.6.2" +"@aws-sdk/credential-provider-ini@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.862.0.tgz#063cabf094658ef5fc7bda518a6246c1e45429b6" + integrity sha512-LkpZ2S9DQCTHTPu1p0Qg5bM5DN/b/cEflW269RoeuYpiznxdV8r/mqYuhh/VPXQKkBZdiILe4/OODtg+vk4S0A== + dependencies: + "@aws-sdk/core" "3.862.0" + "@aws-sdk/credential-provider-env" "3.862.0" + "@aws-sdk/credential-provider-http" "3.862.0" + "@aws-sdk/credential-provider-process" "3.862.0" + "@aws-sdk/credential-provider-sso" "3.862.0" + "@aws-sdk/credential-provider-web-identity" "3.862.0" + "@aws-sdk/nested-clients" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@smithy/credential-provider-imds" "^4.0.7" + "@smithy/property-provider" "^4.0.5" + "@smithy/shared-ini-file-loader" "^4.0.5" + "@smithy/types" "^4.3.2" + tslib "^2.6.2" + "@aws-sdk/credential-provider-ini@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.864.0.tgz#3149745e91d030f191ad618e7ee15c92101ad24e" @@ -864,6 +1138,24 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" +"@aws-sdk/credential-provider-node@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.862.0.tgz#f8e14bd4d212aaf39c57fa3f844939465b056de3" + integrity sha512-4+X/LdEGPCBMlhn6MCcNJ5yJ8k+yDXeSO1l9X49NNQiG60SH/yObB3VvotcHWC+A3EEZx4dOw/ylcPt86e7Irg== + dependencies: + "@aws-sdk/credential-provider-env" "3.862.0" + "@aws-sdk/credential-provider-http" "3.862.0" + "@aws-sdk/credential-provider-ini" "3.862.0" + "@aws-sdk/credential-provider-process" "3.862.0" + "@aws-sdk/credential-provider-sso" "3.862.0" + "@aws-sdk/credential-provider-web-identity" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@smithy/credential-provider-imds" "^4.0.7" + "@smithy/property-provider" "^4.0.5" + "@smithy/shared-ini-file-loader" "^4.0.5" + "@smithy/types" "^4.3.2" + tslib "^2.6.2" + "@aws-sdk/credential-provider-node@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.864.0.tgz#d01277b53ac179d2ea97ba16147ba0cb3f710aae" @@ -882,6 +1174,18 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" +"@aws-sdk/credential-provider-process@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.862.0.tgz#6d86202164f31a10180d39870e4e1278180be516" + integrity sha512-bR/eRCjRsilAuaUpNzTWWE4sUxJC4k571+4LLxE6Xo+0oYHfH+Ih00+sQRX06s4SqZZROdppissm3OOr5d26qA== + dependencies: + "@aws-sdk/core" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@smithy/property-provider" "^4.0.5" + "@smithy/shared-ini-file-loader" "^4.0.5" + "@smithy/types" "^4.3.2" + tslib "^2.6.2" + "@aws-sdk/credential-provider-process@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.864.0.tgz#5f39e34a084cfa07966874955fa3aa0f966bcf15" @@ -894,6 +1198,20 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" +"@aws-sdk/credential-provider-sso@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.862.0.tgz#3aafb0527ccce5f246eb65340e45a6eded6716ee" + integrity sha512-1E1rTKWJAbzN/uiIXFPCVAS2PrZgy87O6BEO69404bI7o/iYHOfohfn66bdSqBnZ7Tn/hFJdCk6i23U3pibf5w== + dependencies: + "@aws-sdk/client-sso" "3.862.0" + "@aws-sdk/core" "3.862.0" + "@aws-sdk/token-providers" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@smithy/property-provider" "^4.0.5" + "@smithy/shared-ini-file-loader" "^4.0.5" + "@smithy/types" "^4.3.2" + tslib "^2.6.2" + "@aws-sdk/credential-provider-sso@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.864.0.tgz#1556640016f9bd3dd1c2e140270098a75c922ca3" @@ -908,6 +1226,18 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" +"@aws-sdk/credential-provider-web-identity@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.862.0.tgz#00cf9dbed1bd1c0772e5b840fd848e0a6db45855" + integrity sha512-Skv07eOS4usDf/Bna3FWKIo0/35qhxb22Z/OxrbNtx2Hxa/upp42S+Y6fA9qzgLqXMNYDZngKYwwMPtzrbkMAg== + dependencies: + "@aws-sdk/core" "3.862.0" + "@aws-sdk/nested-clients" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@smithy/property-provider" "^4.0.5" + "@smithy/types" "^4.3.2" + tslib "^2.6.2" + "@aws-sdk/credential-provider-web-identity@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.864.0.tgz#5cf54ec064957552e4c8c9070fd2b313f152a776" @@ -928,6 +1258,18 @@ mnemonist "0.38.3" tslib "^2.6.2" +"@aws-sdk/lib-dynamodb@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.862.0.tgz#15fc1670af73a58537157e3a187f609240643e18" + integrity sha512-DWuAXx1IkqIPNJJSDiEs6k5nYFBEZJYngeZjLSEaIs/n/OEvJTc3miFxoc28vhBOaMnK9dc7BB7+PdFPAJ6kSg== + dependencies: + "@aws-sdk/core" "3.862.0" + "@aws-sdk/util-dynamodb" "3.862.0" + "@smithy/core" "^3.8.0" + "@smithy/smithy-client" "^4.4.10" + "@smithy/types" "^4.3.2" + tslib "^2.6.2" + "@aws-sdk/lib-dynamodb@^3.428.0", "@aws-sdk/lib-dynamodb@^3.693.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.864.0.tgz#353134660f380b92fb55e907327e9cd31510df8d" @@ -975,6 +1317,25 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" +"@aws-sdk/middleware-flexible-checksums@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.862.0.tgz#63517732954af1cb143ece82ffdb7a1b9a1256ea" + integrity sha512-3PuTNJs43GmtNIfj4R/aNPGX6lfIq0gjfekVPUO/MnP/eV+RVgkCvEqWYyN6RZyOzrzsJydXbmydwLHAwMzxiw== + dependencies: + "@aws-crypto/crc32" "5.2.0" + "@aws-crypto/crc32c" "5.2.0" + "@aws-crypto/util" "5.2.0" + "@aws-sdk/core" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@smithy/is-array-buffer" "^4.0.0" + "@smithy/node-config-provider" "^4.1.4" + "@smithy/protocol-http" "^5.1.3" + "@smithy/types" "^4.3.2" + "@smithy/util-middleware" "^4.0.5" + "@smithy/util-stream" "^4.2.4" + "@smithy/util-utf8" "^4.0.0" + tslib "^2.6.2" + "@aws-sdk/middleware-flexible-checksums@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.864.0.tgz#fcbb40ae1513f96185ec961693c0f55ec1f4da18" @@ -1042,6 +1403,26 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" +"@aws-sdk/middleware-sdk-s3@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.862.0.tgz#12a75f7af830e93a72b879b18e870cdb17bf3474" + integrity sha512-rDRHxxZuY9E7py/OVYN1VQRAw0efEThvK5sZ3HfNNpL6Zk4HeOGtc6NtULSfeCeyHCVlJsdOVkIxJge2Ax5vSA== + dependencies: + "@aws-sdk/core" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@aws-sdk/util-arn-parser" "3.804.0" + "@smithy/core" "^3.8.0" + "@smithy/node-config-provider" "^4.1.4" + "@smithy/protocol-http" "^5.1.3" + "@smithy/signature-v4" "^5.1.3" + "@smithy/smithy-client" "^4.4.10" + "@smithy/types" "^4.3.2" + "@smithy/util-config-provider" "^4.0.0" + "@smithy/util-middleware" "^4.0.5" + "@smithy/util-stream" "^4.2.4" + "@smithy/util-utf8" "^4.0.0" + tslib "^2.6.2" + "@aws-sdk/middleware-sdk-s3@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.864.0.tgz#5142210471ed702452277ad653af483147c42598" @@ -1071,6 +1452,19 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" +"@aws-sdk/middleware-user-agent@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.862.0.tgz#db9935e5a12eed53d79d1bba06f1880870d4fe53" + integrity sha512-7OOaGbAw7Kg1zoKO9wV8cA5NnJC+RYsocjmP3FZ0FiKa7gbmeQ6Cfheunzd1Re9fgelgL3OIRjqO5mSmOIhyhA== + dependencies: + "@aws-sdk/core" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@aws-sdk/util-endpoints" "3.862.0" + "@smithy/core" "^3.8.0" + "@smithy/protocol-http" "^5.1.3" + "@smithy/types" "^4.3.2" + tslib "^2.6.2" + "@aws-sdk/middleware-user-agent@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.864.0.tgz#7c8a5e7f09eb2855f9a045cdfeee56e099e15552" @@ -1084,6 +1478,50 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" +"@aws-sdk/nested-clients@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.862.0.tgz#50322a72af7eb65678f5a19d58f4c4c32ae6e292" + integrity sha512-fPrfXa+m9S0DA5l8+p4A9NFQ22lEHm/ezaUWWWs6F3/U49lR6yKhNAGji3LlIG7b7ZdTJ3smAcaxNHclJsoQIg== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.862.0" + "@aws-sdk/middleware-host-header" "3.862.0" + "@aws-sdk/middleware-logger" "3.862.0" + "@aws-sdk/middleware-recursion-detection" "3.862.0" + "@aws-sdk/middleware-user-agent" "3.862.0" + "@aws-sdk/region-config-resolver" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@aws-sdk/util-endpoints" "3.862.0" + "@aws-sdk/util-user-agent-browser" "3.862.0" + "@aws-sdk/util-user-agent-node" "3.862.0" + "@smithy/config-resolver" "^4.1.5" + "@smithy/core" "^3.8.0" + "@smithy/fetch-http-handler" "^5.1.1" + "@smithy/hash-node" "^4.0.5" + "@smithy/invalid-dependency" "^4.0.5" + "@smithy/middleware-content-length" "^4.0.5" + "@smithy/middleware-endpoint" "^4.1.18" + "@smithy/middleware-retry" "^4.1.19" + "@smithy/middleware-serde" "^4.0.9" + "@smithy/middleware-stack" "^4.0.5" + "@smithy/node-config-provider" "^4.1.4" + "@smithy/node-http-handler" "^4.1.1" + "@smithy/protocol-http" "^5.1.3" + "@smithy/smithy-client" "^4.4.10" + "@smithy/types" "^4.3.2" + "@smithy/url-parser" "^4.0.5" + "@smithy/util-base64" "^4.0.0" + "@smithy/util-body-length-browser" "^4.0.0" + "@smithy/util-body-length-node" "^4.0.0" + "@smithy/util-defaults-mode-browser" "^4.0.26" + "@smithy/util-defaults-mode-node" "^4.0.26" + "@smithy/util-endpoints" "^3.0.7" + "@smithy/util-middleware" "^4.0.5" + "@smithy/util-retry" "^4.0.7" + "@smithy/util-utf8" "^4.0.0" + tslib "^2.6.2" + "@aws-sdk/nested-clients@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.864.0.tgz#8d8b7e8e481649ae0f6ef37339b07cd8f6405e74" @@ -1140,6 +1578,18 @@ "@smithy/util-middleware" "^4.0.5" tslib "^2.6.2" +"@aws-sdk/signature-v4-multi-region@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.862.0.tgz#4932a77b776b430e8f7afa4da25383327f700de7" + integrity sha512-ZAjrbXnu3yTxXMPiEVxDP/I8zfssrLQGgUi0NgJP6Cz/mOS/S/3hfOZrMown1jLhkTrzLpjNE8Q2n18VtRbScQ== + dependencies: + "@aws-sdk/middleware-sdk-s3" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@smithy/protocol-http" "^5.1.3" + "@smithy/signature-v4" "^5.1.3" + "@smithy/types" "^4.3.2" + tslib "^2.6.2" + "@aws-sdk/signature-v4-multi-region@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.864.0.tgz#75e24f5382aa77b7e629f8feb366bcf2a358ffb8" @@ -1152,6 +1602,19 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" +"@aws-sdk/token-providers@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.862.0.tgz#d2d5459ca0400074508cb3012ea45213beb5551a" + integrity sha512-p3u7aom3WQ7ArFByNbccRIkCssk5BB4IUX9oFQa2P0MOFCbkKFBLG7WMegRXhq5grOHmI4SRftEDDy3CcoTqSQ== + dependencies: + "@aws-sdk/core" "3.862.0" + "@aws-sdk/nested-clients" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@smithy/property-provider" "^4.0.5" + "@smithy/shared-ini-file-loader" "^4.0.5" + "@smithy/types" "^4.3.2" + tslib "^2.6.2" + "@aws-sdk/token-providers@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.864.0.tgz#c5f88c34bf268435a5b64b7814193c63ae330a68" @@ -1180,6 +1643,13 @@ dependencies: tslib "^2.6.2" +"@aws-sdk/util-dynamodb@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-dynamodb/-/util-dynamodb-3.862.0.tgz#40c3d0233db7b5442353e7ecd255118f76817a6d" + integrity sha512-pYydaBGvj0puxM0PjIzEDP7QQOkBf86ZUJDSoQpgSzfiToPukVedqnqysA/U1unNt6FijK81skUc8FK3iM6big== + dependencies: + tslib "^2.6.2" + "@aws-sdk/util-dynamodb@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-dynamodb/-/util-dynamodb-3.864.0.tgz#9651210c265352674c29445905728773062be93e" @@ -1215,6 +1685,17 @@ bowser "^2.11.0" tslib "^2.6.2" +"@aws-sdk/util-user-agent-node@3.862.0": + version "3.862.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.862.0.tgz#28723b823d55fec873451a10e7c27a17c823234e" + integrity sha512-KtJdSoa1Vmwquy+zwiqRQjtsuKaHlVcZm8tsTchHbc6809/VeaC+ZZOqlil9IWOOyWNGIX8GTRwP9TEb8cT5Gw== + dependencies: + "@aws-sdk/middleware-user-agent" "3.862.0" + "@aws-sdk/types" "3.862.0" + "@smithy/node-config-provider" "^4.1.4" + "@smithy/types" "^4.3.2" + tslib "^2.6.2" + "@aws-sdk/util-user-agent-node@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.864.0.tgz#2fd8276a6d7d0ee3d6fe75421c5565e63ae6a0d5" From 8450df8cd63d6a0c11ca327cc26b3ae15288e688 Mon Sep 17 00:00:00 2001 From: alexander-schefe Date: Thu, 14 Aug 2025 12:21:34 +0200 Subject: [PATCH 5/5] fix: fixed print and email error. attempted to fix email text color --- packages/backend/package.json | 8 +- packages/components/tsconfig.json | 4 +- packages/email/assets/index.mjml | 17 +- packages/email/package.json | 4 +- packages/email/src/handler.ts | 10 +- packages/print/package.json | 2 +- packages/print/src/handler.ts | 2 +- packages/print/tsconfig.json | 2 +- yarn.lock | 471 ++---------------------------- 9 files changed, 51 insertions(+), 469 deletions(-) diff --git a/packages/backend/package.json b/packages/backend/package.json index 8da7e2e..e267764 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -12,10 +12,10 @@ "test": "jest" }, "dependencies": { - "@aws-sdk/client-dynamodb": "3.862.0", - "@aws-sdk/client-lambda": "3.862.0", - "@aws-sdk/lib-dynamodb": "3.862.0", - "@aws-sdk/util-dynamodb": "3.862.0", + "@aws-sdk/client-dynamodb": "3.864.0", + "@aws-sdk/client-lambda": "3.864.0", + "@aws-sdk/lib-dynamodb": "3.864.0", + "@aws-sdk/util-dynamodb": "3.864.0", "@graphql-tools/schema": "^10.0.25", "@lara/api": "^1.0.0", "apollo-server-lambda": "^3.13.0", diff --git a/packages/components/tsconfig.json b/packages/components/tsconfig.json index 4dc369b..e02d9c8 100644 --- a/packages/components/tsconfig.json +++ b/packages/components/tsconfig.json @@ -6,8 +6,8 @@ "outDir": "lib", "rootDir": "src", "strictNullChecks": true, - "moduleResolution": "bundler", - "module": "es2020" + "moduleResolution": "node", + "module": "commonjs" }, "include": ["src/**/*"] } diff --git a/packages/email/assets/index.mjml b/packages/email/assets/index.mjml index 7315e05..1fc51a5 100644 --- a/packages/email/assets/index.mjml +++ b/packages/email/assets/index.mjml @@ -13,12 +13,25 @@ font-weight="600" inner-padding="12px 32px" line-height="1" + color="#FFFFFF" /> - + - .box-shadow a { box-shadow: rgb(0 0 0 / 20%) 0px 4px 9px; } + + :root, + body, + table, + td, + p, + span { + color: #000000 !important; + } + .box-shadow a { + box-shadow: rgb(0 0 0 / 20%) 0px 4px 9px; + } + diff --git a/packages/email/package.json b/packages/email/package.json index db9f367..1829486 100644 --- a/packages/email/package.json +++ b/packages/email/package.json @@ -10,8 +10,8 @@ "debug": "node lib/mock.js" }, "dependencies": { - "@aws-sdk/client-s3": "3.862.0", - "@aws-sdk/client-ses": "3.862.0", + "@aws-sdk/client-s3": "3.864.0", + "@aws-sdk/client-sesv2": "3.864.0", "@lara/api": "^1.0.0", "handlebars": "^4.7.7", "mjml": "^4.11.0", diff --git a/packages/email/src/handler.ts b/packages/email/src/handler.ts index 1c4060d..013eb08 100644 --- a/packages/email/src/handler.ts +++ b/packages/email/src/handler.ts @@ -1,8 +1,8 @@ import { Handler } from 'aws-lambda' -import { SESClient, SendEmailCommand } from '@aws-sdk/client-ses' +import { SESv2Client, SendEmailCommand } from '@aws-sdk/client-sesv2' import { mkdirSync, writeFileSync } from 'fs' import { compile } from 'handlebars' -import { createTransport } from 'nodemailer' +import nodemailer from 'nodemailer' import { Attachment } from 'nodemailer/lib/mailer' import { MailOptions } from 'nodemailer/lib/ses-transport' import { resolve } from 'path' @@ -24,10 +24,10 @@ if (!SES_REGION) { throw new Error("Missing Environment Variable: 'SES_REGION'") } -const sesClient = new SESClient({ region: SES_REGION }) +const ses = new SESv2Client({ region: SES_REGION }) -const transporter = createTransport({ - SES: { ses: sesClient, aws: { SendEmailCommand } }, +const transporter = nodemailer.createTransport({ + SES: { ses, SendEmailCommand }, }) type Response = 'success' | 'error' diff --git a/packages/print/package.json b/packages/print/package.json index 4632a08..6632942 100644 --- a/packages/print/package.json +++ b/packages/print/package.json @@ -10,7 +10,7 @@ "debug": "node lib/mock.js" }, "dependencies": { - "@aws-sdk/client-s3": "3.862.0", + "@aws-sdk/client-s3": "3.864.0", "@aws-sdk/types": "3.862.0", "@lara/api": "^1.0.0", "@lara/components": "^1.0.0", diff --git a/packages/print/src/handler.ts b/packages/print/src/handler.ts index 57d5da0..2820fa7 100644 --- a/packages/print/src/handler.ts +++ b/packages/print/src/handler.ts @@ -6,8 +6,8 @@ import { launch, Browser, Page } from 'puppeteer-core' import { EmailPayload, PrintData, PrintPayload } from '@lara/api' -import { createPDF } from './create-pdf' import { getExport, saveAttachments } from './s3' +import { createPDF } from './create-pdf' const { IS_OFFLINE, EMAIL_FUNCTION, FRONTEND_URL } = process.env diff --git a/packages/print/tsconfig.json b/packages/print/tsconfig.json index 149d782..0e208fc 100644 --- a/packages/print/tsconfig.json +++ b/packages/print/tsconfig.json @@ -6,7 +6,7 @@ "rootDir": "src", "strict": true, "strictNullChecks": true, - "target": "ESNext", + "target": "ESNEXT", "lib": ["ESNEXT", "DOM"], "esModuleInterop": true, "moduleResolution": "node", diff --git a/yarn.lock b/yarn.lock index 287f7c2..d2004af 100644 --- a/yarn.lock +++ b/yarn.lock @@ -407,56 +407,7 @@ "@smithy/util-utf8" "^4.0.0" tslib "^2.6.2" -"@aws-sdk/client-dynamodb@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.862.0.tgz#f5e64c924c05fa0818a672c66f5a645a295d780a" - integrity sha512-58xLIQlqbFVlha3bE7KIwcWMPl47Y+82+I/b1AuKllQPeuU3rjXeDJZ0NXoithG4/hF7McclYfKPC4AbhIIQAQ== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.862.0" - "@aws-sdk/credential-provider-node" "3.862.0" - "@aws-sdk/middleware-endpoint-discovery" "3.862.0" - "@aws-sdk/middleware-host-header" "3.862.0" - "@aws-sdk/middleware-logger" "3.862.0" - "@aws-sdk/middleware-recursion-detection" "3.862.0" - "@aws-sdk/middleware-user-agent" "3.862.0" - "@aws-sdk/region-config-resolver" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@aws-sdk/util-endpoints" "3.862.0" - "@aws-sdk/util-user-agent-browser" "3.862.0" - "@aws-sdk/util-user-agent-node" "3.862.0" - "@smithy/config-resolver" "^4.1.5" - "@smithy/core" "^3.8.0" - "@smithy/fetch-http-handler" "^5.1.1" - "@smithy/hash-node" "^4.0.5" - "@smithy/invalid-dependency" "^4.0.5" - "@smithy/middleware-content-length" "^4.0.5" - "@smithy/middleware-endpoint" "^4.1.18" - "@smithy/middleware-retry" "^4.1.19" - "@smithy/middleware-serde" "^4.0.9" - "@smithy/middleware-stack" "^4.0.5" - "@smithy/node-config-provider" "^4.1.4" - "@smithy/node-http-handler" "^4.1.1" - "@smithy/protocol-http" "^5.1.3" - "@smithy/smithy-client" "^4.4.10" - "@smithy/types" "^4.3.2" - "@smithy/url-parser" "^4.0.5" - "@smithy/util-base64" "^4.0.0" - "@smithy/util-body-length-browser" "^4.0.0" - "@smithy/util-body-length-node" "^4.0.0" - "@smithy/util-defaults-mode-browser" "^4.0.26" - "@smithy/util-defaults-mode-node" "^4.0.26" - "@smithy/util-endpoints" "^3.0.7" - "@smithy/util-middleware" "^4.0.5" - "@smithy/util-retry" "^4.0.7" - "@smithy/util-utf8" "^4.0.0" - "@smithy/util-waiter" "^4.0.7" - "@types/uuid" "^9.0.1" - tslib "^2.6.2" - uuid "^9.0.1" - -"@aws-sdk/client-dynamodb@^3.428.0", "@aws-sdk/client-dynamodb@^3.693.0": +"@aws-sdk/client-dynamodb@3.864.0", "@aws-sdk/client-dynamodb@^3.428.0", "@aws-sdk/client-dynamodb@^3.693.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.864.0.tgz#50b76a6751ea11676809bc52bd71d8ac34d2d895" integrity sha512-Z+8qCU8A8RKI/vaMZx3bUG3ZIvEBZzYRIEZA06Qx0QHttkDV/i2Q31Bs98Za/UV0aMXJYsgpHCvXeRgR7r8hYA== @@ -597,24 +548,24 @@ "@smithy/util-waiter" "^4.0.7" tslib "^2.6.2" -"@aws-sdk/client-lambda@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-lambda/-/client-lambda-3.862.0.tgz#65bdc57c55f5922a83a8fda470e9f353e1592bd4" - integrity sha512-QDw823FAMeUmyNt/eOtgfR/Nhfb0gQNoGCRH5CGi1EEWQJP78Dxum4w4W1DGADn1JEdNBZkWJXz3j9bu46KXVg== +"@aws-sdk/client-lambda@3.864.0": + version "3.864.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-lambda/-/client-lambda-3.864.0.tgz#e2337b7d3c0240a3b10f827af21bcf0057ffe273" + integrity sha512-K+jSyCBu9jU+E5TPBrzDVcpW5VR1hUnt+iOTvb5M4Uko+alhpenbJDF0kKgC8E2cAMoxRI/X9YjqqAvtYESL+g== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.862.0" - "@aws-sdk/credential-provider-node" "3.862.0" + "@aws-sdk/core" "3.864.0" + "@aws-sdk/credential-provider-node" "3.864.0" "@aws-sdk/middleware-host-header" "3.862.0" "@aws-sdk/middleware-logger" "3.862.0" "@aws-sdk/middleware-recursion-detection" "3.862.0" - "@aws-sdk/middleware-user-agent" "3.862.0" + "@aws-sdk/middleware-user-agent" "3.864.0" "@aws-sdk/region-config-resolver" "3.862.0" "@aws-sdk/types" "3.862.0" "@aws-sdk/util-endpoints" "3.862.0" "@aws-sdk/util-user-agent-browser" "3.862.0" - "@aws-sdk/util-user-agent-node" "3.862.0" + "@aws-sdk/util-user-agent-node" "3.864.0" "@smithy/config-resolver" "^4.1.5" "@smithy/core" "^3.8.0" "@smithy/eventstream-serde-browser" "^4.0.5" @@ -697,71 +648,7 @@ "@smithy/util-waiter" "^4.0.7" tslib "^2.6.2" -"@aws-sdk/client-s3@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.862.0.tgz#cb48a4524b0d8567d95c29e26b0f70126fbf960e" - integrity sha512-sPmqv2qKORtGRN51cRoHyTOK/SMejG1snXUQytuximeDPn5e/p6cCsYwOI8QuQNW+/7HbmosEz91lPcbClWXxg== - dependencies: - "@aws-crypto/sha1-browser" "5.2.0" - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.862.0" - "@aws-sdk/credential-provider-node" "3.862.0" - "@aws-sdk/middleware-bucket-endpoint" "3.862.0" - "@aws-sdk/middleware-expect-continue" "3.862.0" - "@aws-sdk/middleware-flexible-checksums" "3.862.0" - "@aws-sdk/middleware-host-header" "3.862.0" - "@aws-sdk/middleware-location-constraint" "3.862.0" - "@aws-sdk/middleware-logger" "3.862.0" - "@aws-sdk/middleware-recursion-detection" "3.862.0" - "@aws-sdk/middleware-sdk-s3" "3.862.0" - "@aws-sdk/middleware-ssec" "3.862.0" - "@aws-sdk/middleware-user-agent" "3.862.0" - "@aws-sdk/region-config-resolver" "3.862.0" - "@aws-sdk/signature-v4-multi-region" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@aws-sdk/util-endpoints" "3.862.0" - "@aws-sdk/util-user-agent-browser" "3.862.0" - "@aws-sdk/util-user-agent-node" "3.862.0" - "@aws-sdk/xml-builder" "3.862.0" - "@smithy/config-resolver" "^4.1.5" - "@smithy/core" "^3.8.0" - "@smithy/eventstream-serde-browser" "^4.0.5" - "@smithy/eventstream-serde-config-resolver" "^4.1.3" - "@smithy/eventstream-serde-node" "^4.0.5" - "@smithy/fetch-http-handler" "^5.1.1" - "@smithy/hash-blob-browser" "^4.0.5" - "@smithy/hash-node" "^4.0.5" - "@smithy/hash-stream-node" "^4.0.5" - "@smithy/invalid-dependency" "^4.0.5" - "@smithy/md5-js" "^4.0.5" - "@smithy/middleware-content-length" "^4.0.5" - "@smithy/middleware-endpoint" "^4.1.18" - "@smithy/middleware-retry" "^4.1.19" - "@smithy/middleware-serde" "^4.0.9" - "@smithy/middleware-stack" "^4.0.5" - "@smithy/node-config-provider" "^4.1.4" - "@smithy/node-http-handler" "^4.1.1" - "@smithy/protocol-http" "^5.1.3" - "@smithy/smithy-client" "^4.4.10" - "@smithy/types" "^4.3.2" - "@smithy/url-parser" "^4.0.5" - "@smithy/util-base64" "^4.0.0" - "@smithy/util-body-length-browser" "^4.0.0" - "@smithy/util-body-length-node" "^4.0.0" - "@smithy/util-defaults-mode-browser" "^4.0.26" - "@smithy/util-defaults-mode-node" "^4.0.26" - "@smithy/util-endpoints" "^3.0.7" - "@smithy/util-middleware" "^4.0.5" - "@smithy/util-retry" "^4.0.7" - "@smithy/util-stream" "^4.2.4" - "@smithy/util-utf8" "^4.0.0" - "@smithy/util-waiter" "^4.0.7" - "@types/uuid" "^9.0.1" - tslib "^2.6.2" - uuid "^9.0.1" - -"@aws-sdk/client-s3@^3.53.1", "@aws-sdk/client-s3@^3.588.0": +"@aws-sdk/client-s3@3.864.0", "@aws-sdk/client-s3@^3.53.1", "@aws-sdk/client-s3@^3.588.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.864.0.tgz#ffbcbf0ba861fad711261b4174da3be19b1c7d5f" integrity sha512-QGYi9bWliewxumsvbJLLyx9WC0a4DP4F+utygBcq0zwPxaM0xDfBspQvP1dsepi7mW5aAjZmJ2+Xb7X0EhzJ/g== @@ -825,69 +712,25 @@ tslib "^2.6.2" uuid "^9.0.1" -"@aws-sdk/client-ses@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-ses/-/client-ses-3.862.0.tgz#bb9a956eabea69c90a574f2a2b6faac19ef6ee51" - integrity sha512-Sbt7T5a4DSMIrOpZgMCmzPEEqKKT+M5uqbrpkmw+54+Mra0/+w7hmnlADe0Rbp2VnWR2zP7oOZNKhWN0BHkFPg== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.862.0" - "@aws-sdk/credential-provider-node" "3.862.0" - "@aws-sdk/middleware-host-header" "3.862.0" - "@aws-sdk/middleware-logger" "3.862.0" - "@aws-sdk/middleware-recursion-detection" "3.862.0" - "@aws-sdk/middleware-user-agent" "3.862.0" - "@aws-sdk/region-config-resolver" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@aws-sdk/util-endpoints" "3.862.0" - "@aws-sdk/util-user-agent-browser" "3.862.0" - "@aws-sdk/util-user-agent-node" "3.862.0" - "@smithy/config-resolver" "^4.1.5" - "@smithy/core" "^3.8.0" - "@smithy/fetch-http-handler" "^5.1.1" - "@smithy/hash-node" "^4.0.5" - "@smithy/invalid-dependency" "^4.0.5" - "@smithy/middleware-content-length" "^4.0.5" - "@smithy/middleware-endpoint" "^4.1.18" - "@smithy/middleware-retry" "^4.1.19" - "@smithy/middleware-serde" "^4.0.9" - "@smithy/middleware-stack" "^4.0.5" - "@smithy/node-config-provider" "^4.1.4" - "@smithy/node-http-handler" "^4.1.1" - "@smithy/protocol-http" "^5.1.3" - "@smithy/smithy-client" "^4.4.10" - "@smithy/types" "^4.3.2" - "@smithy/url-parser" "^4.0.5" - "@smithy/util-base64" "^4.0.0" - "@smithy/util-body-length-browser" "^4.0.0" - "@smithy/util-body-length-node" "^4.0.0" - "@smithy/util-defaults-mode-browser" "^4.0.26" - "@smithy/util-defaults-mode-node" "^4.0.26" - "@smithy/util-endpoints" "^3.0.7" - "@smithy/util-middleware" "^4.0.5" - "@smithy/util-retry" "^4.0.7" - "@smithy/util-utf8" "^4.0.0" - "@smithy/util-waiter" "^4.0.7" - tslib "^2.6.2" - -"@aws-sdk/client-sso@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.862.0.tgz#a3025c96b8fb386c1d0b5a853d38c2e2b8122c23" - integrity sha512-zHf7Bn22K09BdFgiGg6yWfy927djGhs58KB5qpqD2ie7u796TvetPH14p6UUAOGyk6aah+wR/WLFFoc+51uADA== +"@aws-sdk/client-sesv2@3.864.0": + version "3.864.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sesv2/-/client-sesv2-3.864.0.tgz#5f843ec1241fa55d6d9a03a107ba50405dc539b6" + integrity sha512-pwn4/3bs7ccucS9sYpMbzptEhEFQQy8TXtmKNzmyY7OIDBGTiJrxsWYDTULO4nxsMmGXi39mSEowlK4QUCyC+w== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.862.0" + "@aws-sdk/core" "3.864.0" + "@aws-sdk/credential-provider-node" "3.864.0" "@aws-sdk/middleware-host-header" "3.862.0" "@aws-sdk/middleware-logger" "3.862.0" "@aws-sdk/middleware-recursion-detection" "3.862.0" - "@aws-sdk/middleware-user-agent" "3.862.0" + "@aws-sdk/middleware-user-agent" "3.864.0" "@aws-sdk/region-config-resolver" "3.862.0" + "@aws-sdk/signature-v4-multi-region" "3.864.0" "@aws-sdk/types" "3.862.0" "@aws-sdk/util-endpoints" "3.862.0" "@aws-sdk/util-user-agent-browser" "3.862.0" - "@aws-sdk/util-user-agent-node" "3.862.0" + "@aws-sdk/util-user-agent-node" "3.864.0" "@smithy/config-resolver" "^4.1.5" "@smithy/core" "^3.8.0" "@smithy/fetch-http-handler" "^5.1.1" @@ -1004,27 +847,6 @@ "@smithy/util-utf8" "^4.0.0" tslib "^2.6.2" -"@aws-sdk/core@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.862.0.tgz#e48a4f9910be4ba05817c679a835f6120a41ebf6" - integrity sha512-oJ5Au3QCAQmOmh7PD7dUxnPDxWsT9Z95XEOiJV027//11pwRSUMiNSvW8srPa3i7CZRNjz5QHX6O4KqX9PxNsQ== - dependencies: - "@aws-sdk/types" "3.862.0" - "@aws-sdk/xml-builder" "3.862.0" - "@smithy/core" "^3.8.0" - "@smithy/node-config-provider" "^4.1.4" - "@smithy/property-provider" "^4.0.5" - "@smithy/protocol-http" "^5.1.3" - "@smithy/signature-v4" "^5.1.3" - "@smithy/smithy-client" "^4.4.10" - "@smithy/types" "^4.3.2" - "@smithy/util-base64" "^4.0.0" - "@smithy/util-body-length-browser" "^4.0.0" - "@smithy/util-middleware" "^4.0.5" - "@smithy/util-utf8" "^4.0.0" - fast-xml-parser "5.2.5" - tslib "^2.6.2" - "@aws-sdk/core@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.864.0.tgz#5ea4e400bb479faf4e0aa71a32ec89e8a3f2ceaf" @@ -1046,17 +868,6 @@ fast-xml-parser "5.2.5" tslib "^2.6.2" -"@aws-sdk/credential-provider-env@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.862.0.tgz#e890eaecba6b5c4f43bb3845af308163d18a440e" - integrity sha512-/nafSJMuixcrCN1SmsOBIQ5m1fhr9ZnCxw3JZD9qJm3yNXhAshqAC+KcA3JGFnvdBVLhY/pUpdoQmxZmuFJItQ== - dependencies: - "@aws-sdk/core" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@smithy/property-provider" "^4.0.5" - "@smithy/types" "^4.3.2" - tslib "^2.6.2" - "@aws-sdk/credential-provider-env@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.864.0.tgz#32e048eafaad51e3c67ef34d1310cc19f2f67c38" @@ -1068,22 +879,6 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" -"@aws-sdk/credential-provider-http@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.862.0.tgz#dbb8e43015119a2fecfbd764b79a3774e64088ad" - integrity sha512-JnF3vH6GxvPuMGSI5QsmVlmWc0ebElEiJvUGByTMSr/BfzywZdJBKzPVqViwNqAW5cBWiZ/rpL+ekZ24Nb0Vow== - dependencies: - "@aws-sdk/core" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@smithy/fetch-http-handler" "^5.1.1" - "@smithy/node-http-handler" "^4.1.1" - "@smithy/property-provider" "^4.0.5" - "@smithy/protocol-http" "^5.1.3" - "@smithy/smithy-client" "^4.4.10" - "@smithy/types" "^4.3.2" - "@smithy/util-stream" "^4.2.4" - tslib "^2.6.2" - "@aws-sdk/credential-provider-http@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.864.0.tgz#e312b137c1fdce87adb5140b039516c077726f5c" @@ -1100,25 +895,6 @@ "@smithy/util-stream" "^4.2.4" tslib "^2.6.2" -"@aws-sdk/credential-provider-ini@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.862.0.tgz#063cabf094658ef5fc7bda518a6246c1e45429b6" - integrity sha512-LkpZ2S9DQCTHTPu1p0Qg5bM5DN/b/cEflW269RoeuYpiznxdV8r/mqYuhh/VPXQKkBZdiILe4/OODtg+vk4S0A== - dependencies: - "@aws-sdk/core" "3.862.0" - "@aws-sdk/credential-provider-env" "3.862.0" - "@aws-sdk/credential-provider-http" "3.862.0" - "@aws-sdk/credential-provider-process" "3.862.0" - "@aws-sdk/credential-provider-sso" "3.862.0" - "@aws-sdk/credential-provider-web-identity" "3.862.0" - "@aws-sdk/nested-clients" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@smithy/credential-provider-imds" "^4.0.7" - "@smithy/property-provider" "^4.0.5" - "@smithy/shared-ini-file-loader" "^4.0.5" - "@smithy/types" "^4.3.2" - tslib "^2.6.2" - "@aws-sdk/credential-provider-ini@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.864.0.tgz#3149745e91d030f191ad618e7ee15c92101ad24e" @@ -1138,24 +914,6 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" -"@aws-sdk/credential-provider-node@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.862.0.tgz#f8e14bd4d212aaf39c57fa3f844939465b056de3" - integrity sha512-4+X/LdEGPCBMlhn6MCcNJ5yJ8k+yDXeSO1l9X49NNQiG60SH/yObB3VvotcHWC+A3EEZx4dOw/ylcPt86e7Irg== - dependencies: - "@aws-sdk/credential-provider-env" "3.862.0" - "@aws-sdk/credential-provider-http" "3.862.0" - "@aws-sdk/credential-provider-ini" "3.862.0" - "@aws-sdk/credential-provider-process" "3.862.0" - "@aws-sdk/credential-provider-sso" "3.862.0" - "@aws-sdk/credential-provider-web-identity" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@smithy/credential-provider-imds" "^4.0.7" - "@smithy/property-provider" "^4.0.5" - "@smithy/shared-ini-file-loader" "^4.0.5" - "@smithy/types" "^4.3.2" - tslib "^2.6.2" - "@aws-sdk/credential-provider-node@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.864.0.tgz#d01277b53ac179d2ea97ba16147ba0cb3f710aae" @@ -1174,18 +932,6 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" -"@aws-sdk/credential-provider-process@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.862.0.tgz#6d86202164f31a10180d39870e4e1278180be516" - integrity sha512-bR/eRCjRsilAuaUpNzTWWE4sUxJC4k571+4LLxE6Xo+0oYHfH+Ih00+sQRX06s4SqZZROdppissm3OOr5d26qA== - dependencies: - "@aws-sdk/core" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@smithy/property-provider" "^4.0.5" - "@smithy/shared-ini-file-loader" "^4.0.5" - "@smithy/types" "^4.3.2" - tslib "^2.6.2" - "@aws-sdk/credential-provider-process@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.864.0.tgz#5f39e34a084cfa07966874955fa3aa0f966bcf15" @@ -1198,20 +944,6 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" -"@aws-sdk/credential-provider-sso@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.862.0.tgz#3aafb0527ccce5f246eb65340e45a6eded6716ee" - integrity sha512-1E1rTKWJAbzN/uiIXFPCVAS2PrZgy87O6BEO69404bI7o/iYHOfohfn66bdSqBnZ7Tn/hFJdCk6i23U3pibf5w== - dependencies: - "@aws-sdk/client-sso" "3.862.0" - "@aws-sdk/core" "3.862.0" - "@aws-sdk/token-providers" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@smithy/property-provider" "^4.0.5" - "@smithy/shared-ini-file-loader" "^4.0.5" - "@smithy/types" "^4.3.2" - tslib "^2.6.2" - "@aws-sdk/credential-provider-sso@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.864.0.tgz#1556640016f9bd3dd1c2e140270098a75c922ca3" @@ -1226,18 +958,6 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" -"@aws-sdk/credential-provider-web-identity@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.862.0.tgz#00cf9dbed1bd1c0772e5b840fd848e0a6db45855" - integrity sha512-Skv07eOS4usDf/Bna3FWKIo0/35qhxb22Z/OxrbNtx2Hxa/upp42S+Y6fA9qzgLqXMNYDZngKYwwMPtzrbkMAg== - dependencies: - "@aws-sdk/core" "3.862.0" - "@aws-sdk/nested-clients" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@smithy/property-provider" "^4.0.5" - "@smithy/types" "^4.3.2" - tslib "^2.6.2" - "@aws-sdk/credential-provider-web-identity@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.864.0.tgz#5cf54ec064957552e4c8c9070fd2b313f152a776" @@ -1258,19 +978,7 @@ mnemonist "0.38.3" tslib "^2.6.2" -"@aws-sdk/lib-dynamodb@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.862.0.tgz#15fc1670af73a58537157e3a187f609240643e18" - integrity sha512-DWuAXx1IkqIPNJJSDiEs6k5nYFBEZJYngeZjLSEaIs/n/OEvJTc3miFxoc28vhBOaMnK9dc7BB7+PdFPAJ6kSg== - dependencies: - "@aws-sdk/core" "3.862.0" - "@aws-sdk/util-dynamodb" "3.862.0" - "@smithy/core" "^3.8.0" - "@smithy/smithy-client" "^4.4.10" - "@smithy/types" "^4.3.2" - tslib "^2.6.2" - -"@aws-sdk/lib-dynamodb@^3.428.0", "@aws-sdk/lib-dynamodb@^3.693.0": +"@aws-sdk/lib-dynamodb@3.864.0", "@aws-sdk/lib-dynamodb@^3.428.0", "@aws-sdk/lib-dynamodb@^3.693.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.864.0.tgz#353134660f380b92fb55e907327e9cd31510df8d" integrity sha512-arPH8sFUlF7Ul0xui6lr+eilpxnJ60yoF+oxu2TnGZ9NHsy1q+IAH0oJYuoxDlAGsbBtmdaZZZeKtYl6AyMYbw== @@ -1317,25 +1025,6 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" -"@aws-sdk/middleware-flexible-checksums@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.862.0.tgz#63517732954af1cb143ece82ffdb7a1b9a1256ea" - integrity sha512-3PuTNJs43GmtNIfj4R/aNPGX6lfIq0gjfekVPUO/MnP/eV+RVgkCvEqWYyN6RZyOzrzsJydXbmydwLHAwMzxiw== - dependencies: - "@aws-crypto/crc32" "5.2.0" - "@aws-crypto/crc32c" "5.2.0" - "@aws-crypto/util" "5.2.0" - "@aws-sdk/core" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@smithy/is-array-buffer" "^4.0.0" - "@smithy/node-config-provider" "^4.1.4" - "@smithy/protocol-http" "^5.1.3" - "@smithy/types" "^4.3.2" - "@smithy/util-middleware" "^4.0.5" - "@smithy/util-stream" "^4.2.4" - "@smithy/util-utf8" "^4.0.0" - tslib "^2.6.2" - "@aws-sdk/middleware-flexible-checksums@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.864.0.tgz#fcbb40ae1513f96185ec961693c0f55ec1f4da18" @@ -1403,26 +1092,6 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" -"@aws-sdk/middleware-sdk-s3@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.862.0.tgz#12a75f7af830e93a72b879b18e870cdb17bf3474" - integrity sha512-rDRHxxZuY9E7py/OVYN1VQRAw0efEThvK5sZ3HfNNpL6Zk4HeOGtc6NtULSfeCeyHCVlJsdOVkIxJge2Ax5vSA== - dependencies: - "@aws-sdk/core" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@aws-sdk/util-arn-parser" "3.804.0" - "@smithy/core" "^3.8.0" - "@smithy/node-config-provider" "^4.1.4" - "@smithy/protocol-http" "^5.1.3" - "@smithy/signature-v4" "^5.1.3" - "@smithy/smithy-client" "^4.4.10" - "@smithy/types" "^4.3.2" - "@smithy/util-config-provider" "^4.0.0" - "@smithy/util-middleware" "^4.0.5" - "@smithy/util-stream" "^4.2.4" - "@smithy/util-utf8" "^4.0.0" - tslib "^2.6.2" - "@aws-sdk/middleware-sdk-s3@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.864.0.tgz#5142210471ed702452277ad653af483147c42598" @@ -1452,19 +1121,6 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" -"@aws-sdk/middleware-user-agent@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.862.0.tgz#db9935e5a12eed53d79d1bba06f1880870d4fe53" - integrity sha512-7OOaGbAw7Kg1zoKO9wV8cA5NnJC+RYsocjmP3FZ0FiKa7gbmeQ6Cfheunzd1Re9fgelgL3OIRjqO5mSmOIhyhA== - dependencies: - "@aws-sdk/core" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@aws-sdk/util-endpoints" "3.862.0" - "@smithy/core" "^3.8.0" - "@smithy/protocol-http" "^5.1.3" - "@smithy/types" "^4.3.2" - tslib "^2.6.2" - "@aws-sdk/middleware-user-agent@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.864.0.tgz#7c8a5e7f09eb2855f9a045cdfeee56e099e15552" @@ -1478,50 +1134,6 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" -"@aws-sdk/nested-clients@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.862.0.tgz#50322a72af7eb65678f5a19d58f4c4c32ae6e292" - integrity sha512-fPrfXa+m9S0DA5l8+p4A9NFQ22lEHm/ezaUWWWs6F3/U49lR6yKhNAGji3LlIG7b7ZdTJ3smAcaxNHclJsoQIg== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.862.0" - "@aws-sdk/middleware-host-header" "3.862.0" - "@aws-sdk/middleware-logger" "3.862.0" - "@aws-sdk/middleware-recursion-detection" "3.862.0" - "@aws-sdk/middleware-user-agent" "3.862.0" - "@aws-sdk/region-config-resolver" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@aws-sdk/util-endpoints" "3.862.0" - "@aws-sdk/util-user-agent-browser" "3.862.0" - "@aws-sdk/util-user-agent-node" "3.862.0" - "@smithy/config-resolver" "^4.1.5" - "@smithy/core" "^3.8.0" - "@smithy/fetch-http-handler" "^5.1.1" - "@smithy/hash-node" "^4.0.5" - "@smithy/invalid-dependency" "^4.0.5" - "@smithy/middleware-content-length" "^4.0.5" - "@smithy/middleware-endpoint" "^4.1.18" - "@smithy/middleware-retry" "^4.1.19" - "@smithy/middleware-serde" "^4.0.9" - "@smithy/middleware-stack" "^4.0.5" - "@smithy/node-config-provider" "^4.1.4" - "@smithy/node-http-handler" "^4.1.1" - "@smithy/protocol-http" "^5.1.3" - "@smithy/smithy-client" "^4.4.10" - "@smithy/types" "^4.3.2" - "@smithy/url-parser" "^4.0.5" - "@smithy/util-base64" "^4.0.0" - "@smithy/util-body-length-browser" "^4.0.0" - "@smithy/util-body-length-node" "^4.0.0" - "@smithy/util-defaults-mode-browser" "^4.0.26" - "@smithy/util-defaults-mode-node" "^4.0.26" - "@smithy/util-endpoints" "^3.0.7" - "@smithy/util-middleware" "^4.0.5" - "@smithy/util-retry" "^4.0.7" - "@smithy/util-utf8" "^4.0.0" - tslib "^2.6.2" - "@aws-sdk/nested-clients@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.864.0.tgz#8d8b7e8e481649ae0f6ef37339b07cd8f6405e74" @@ -1578,18 +1190,6 @@ "@smithy/util-middleware" "^4.0.5" tslib "^2.6.2" -"@aws-sdk/signature-v4-multi-region@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.862.0.tgz#4932a77b776b430e8f7afa4da25383327f700de7" - integrity sha512-ZAjrbXnu3yTxXMPiEVxDP/I8zfssrLQGgUi0NgJP6Cz/mOS/S/3hfOZrMown1jLhkTrzLpjNE8Q2n18VtRbScQ== - dependencies: - "@aws-sdk/middleware-sdk-s3" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@smithy/protocol-http" "^5.1.3" - "@smithy/signature-v4" "^5.1.3" - "@smithy/types" "^4.3.2" - tslib "^2.6.2" - "@aws-sdk/signature-v4-multi-region@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.864.0.tgz#75e24f5382aa77b7e629f8feb366bcf2a358ffb8" @@ -1602,19 +1202,6 @@ "@smithy/types" "^4.3.2" tslib "^2.6.2" -"@aws-sdk/token-providers@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.862.0.tgz#d2d5459ca0400074508cb3012ea45213beb5551a" - integrity sha512-p3u7aom3WQ7ArFByNbccRIkCssk5BB4IUX9oFQa2P0MOFCbkKFBLG7WMegRXhq5grOHmI4SRftEDDy3CcoTqSQ== - dependencies: - "@aws-sdk/core" "3.862.0" - "@aws-sdk/nested-clients" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@smithy/property-provider" "^4.0.5" - "@smithy/shared-ini-file-loader" "^4.0.5" - "@smithy/types" "^4.3.2" - tslib "^2.6.2" - "@aws-sdk/token-providers@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.864.0.tgz#c5f88c34bf268435a5b64b7814193c63ae330a68" @@ -1643,13 +1230,6 @@ dependencies: tslib "^2.6.2" -"@aws-sdk/util-dynamodb@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-dynamodb/-/util-dynamodb-3.862.0.tgz#40c3d0233db7b5442353e7ecd255118f76817a6d" - integrity sha512-pYydaBGvj0puxM0PjIzEDP7QQOkBf86ZUJDSoQpgSzfiToPukVedqnqysA/U1unNt6FijK81skUc8FK3iM6big== - dependencies: - tslib "^2.6.2" - "@aws-sdk/util-dynamodb@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-dynamodb/-/util-dynamodb-3.864.0.tgz#9651210c265352674c29445905728773062be93e" @@ -1685,17 +1265,6 @@ bowser "^2.11.0" tslib "^2.6.2" -"@aws-sdk/util-user-agent-node@3.862.0": - version "3.862.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.862.0.tgz#28723b823d55fec873451a10e7c27a17c823234e" - integrity sha512-KtJdSoa1Vmwquy+zwiqRQjtsuKaHlVcZm8tsTchHbc6809/VeaC+ZZOqlil9IWOOyWNGIX8GTRwP9TEb8cT5Gw== - dependencies: - "@aws-sdk/middleware-user-agent" "3.862.0" - "@aws-sdk/types" "3.862.0" - "@smithy/node-config-provider" "^4.1.4" - "@smithy/types" "^4.3.2" - tslib "^2.6.2" - "@aws-sdk/util-user-agent-node@3.864.0": version "3.864.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.864.0.tgz#2fd8276a6d7d0ee3d6fe75421c5565e63ae6a0d5"