@ejekanshjain/cloud-storage
Version:
All in one package to handle files accross cloud storage services
92 lines • 3.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const dotenv_1 = require("dotenv");
const azure_1 = require("./azure");
const gcp_1 = require("./gcp");
const s3_1 = require("./s3");
(0, dotenv_1.config)();
const testData = {
filename: 'test.txt',
data: 'Hello, World!'
};
const testS3 = async () => {
const s3Client = (0, s3_1.S3Client)({
region: process.env.AWS_REGION,
accessKey: process.env.AWS_ACCESS_KEY,
accessSecret: process.env.AWS_ACCESS_SECRET,
bucket: process.env.AWS_BUCKET,
host: process.env.AWS_HOST
});
await s3Client.addFile({
filename: testData.filename,
data: testData.data
});
await s3Client.getFile(testData.filename);
await s3Client.deleteFile(testData.filename);
};
const testFirebaseStorage = async () => {
const firebaseStorageClient = (0, gcp_1.GCPStorageClient)({
projectId: process.env.FIREBASE_PROJECT_ID,
privateKey: process.env.FIREBASE_PRIVATE_KEY,
clientEmail: process.env.FIREBASE_CLIENT_EMAIL,
bucket: process.env.FIREBASE_STORAGE_BUCKET,
defaultMediaPublic: true
});
await firebaseStorageClient.addFile({
filename: testData.filename,
data: testData.data
});
await firebaseStorageClient.getFile(testData.filename);
await firebaseStorageClient.deleteFile(testData.filename);
};
const testGCPStorage = async () => {
const gcpStorageClient = (0, gcp_1.GCPStorageClient)({
projectId: process.env.GCP_PROJECT_ID,
privateKey: process.env.GCP_PRIVATE_KEY,
clientEmail: process.env.GCP_CLIENT_EMAIL,
bucket: process.env.GCP_STORAGE_BUCKET,
defaultMediaPublic: true
});
await gcpStorageClient.addFile({
filename: testData.filename,
data: testData.data
});
await gcpStorageClient.getFile(testData.filename);
await gcpStorageClient.deleteFile(testData.filename);
};
const testAzureStorage = async () => {
const azureStorageClient = (0, azure_1.AzureStorageClient)({
connectionString: process.env.AZURE_STORAGE_CONNECTION_STRING,
containerName: process.env.AZURE_STORAGE_CONTAINER_NAME
});
await azureStorageClient.addFile({
filename: testData.filename,
data: testData.data
});
await azureStorageClient.getFile(testData.filename);
await azureStorageClient.deleteFile(testData.filename);
};
const testR2 = async () => {
const r2Client = (0, s3_1.S3Client)({
region: process.env.R2_REGION,
accessKey: process.env.R2_ACCESS_KEY,
accessSecret: process.env.R2_ACCESS_SECRET,
bucket: process.env.R2_BUCKET,
host: process.env.R2_HOST
});
await r2Client.addFile({
filename: testData.filename,
data: testData.data
});
await r2Client.getFile(testData.filename);
await r2Client.deleteFile(testData.filename);
};
const main = async () => {
await testS3();
await testFirebaseStorage();
await testGCPStorage();
await testAzureStorage();
await testR2();
};
main();
//# sourceMappingURL=test.js.map