import { getSignedUrl } from "@aws-sdk/s3-request-presigner"; import { GetObjectCommand, S3Client } from "@aws-sdk/client-s3"; import { privateKey } from '../../config/privateKeys.js'; const useGetSignedUrl = (key,bucketName) => { const client = new S3Client({ credentials: { accessKeyId: privateKey.S3_ACCESS_KEY, secretAccessKey: privateKey.S3_SECRET_KEY }, region: privateKey.S3_REGION }) const getUrl = async (key) => { try { const url = await getSignedUrl( client, new GetObjectCommand({ Bucket: bucketName, Key: key, }), { expiresIn: 3600 } ); return url; } catch (error) { return error; } }; return getUrl(key); }; export { useGetSignedUrl }