import { GetObjectCommand } from "@aws-sdk/client-s3" import { s3 } from "./s3" import { secrets } from "./secrets" export const streamToBuffer = async (stream: any): Promise => { const chunks: Buffer[] = [] for await (const chunk of stream) { chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk)) } return Buffer.concat(chunks) } export const loadFileBuffer = async (path: string): Promise => { const response = await s3.send(new GetObjectCommand({ Bucket: secrets.S3_BUCKET, Key: path, })) if (!response.Body) { throw new Error(`S3-Datei '${path}' enthält keinen lesbaren Inhalt.`) } return streamToBuffer(response.Body) }