AI-Tennis-Coach/server/helper/s3/index.js
2025-02-11 11:23:59 +05:30

35 lines
901 B
JavaScript
Executable file

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
}