spomeni/src/lib/s3.ts
2026-06-20 18:17:30 +02:00

26 lines
702 B
TypeScript

import { S3Client, DeleteObjectCommand } from "@aws-sdk/client-s3";
export const s3Client = new S3Client({
endpoint: process.env.S3_ENDPOINT,
region: process.env.S3_REGION || "eu-2",
credentials: {
accessKeyId: process.env.S3_ACCESS_KEY_ID!,
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY!,
},
forcePathStyle: true,
});
export const S3_BUCKET = process.env.S3_BUCKET_NAME || "monuments-images";
export function getPublicUrl(key: string): string {
return `/api/image?key=${encodeURIComponent(key)}`;
}
export async function deleteS3Object(key: string): Promise<void> {
await s3Client.send(
new DeleteObjectCommand({
Bucket: S3_BUCKET,
Key: key,
})
);
}