import aws from 'aws-sdk';
import fs from "fs";
import path from "path";
import pkgJson from '../package.json' with { type: "json" };
import { getOpenSSLPackagePath, getOpenSSLPackageName } from './acquireOpenSSL.mjs';
const s3 = new aws.S3();
const uploadBinaryToS3 = (fileName, bucketName, pathToFile) =>
s3.upload({
Body: fs.createReadStream(pathToFile),
Bucket: bucketName,
Key: fileName,
ACL: "public-read"
}).promise();
export const uploadOpenSSL = async () => {
const packageName = path.basename(getOpenSSLPackageName());
const packagePath = getOpenSSLPackagePath();
console.log(`Uploading ${packagePath} to s3://${pkgJson.binary.bucket_name}/${packageName}`);
await uploadBinaryToS3(packageName, pkgJson.binary.bucket_name, packagePath);
const sha256PackageName = `${packageName}.sha256`;
await uploadBinaryToS3(sha256PackageName, pkgJson.binary.bucket_name, `${packagePath}.sha256`);
};
if (process.argv[1] === import.meta.filename) {
uploadOpenSSL().catch((error) => {
console.error('Push to S3 failed: ', error);
process.exit(1);
});
}