This repository has been archived on 2024-01-16. You can view files and clone it, but cannot push or open issues or pull requests.
Files
Maneger/clouds/OracleCI.js
2021-07-07 23:15:01 -03:00

43 lines
1.5 KiB
JavaScript

const oci_storage = require("oci-objectstorage");
const oci_common = require("oci-common");
const fs = require("fs");
const { resolve } = require("path");
const { CloudConfig } = require("../lib/BdsSettings")
const Uploadbackups = async function (
object = "Backup.zip",
fileLocation = resolve(__dirname, "../Backup.zip"),
callback = function (data){console.log(data)}
){
const bucket = CloudConfig.Oracle().Bucket;
const provider = new oci_common.ConfigFileAuthenticationDetailsProvider();
const client = new oci_storage.ObjectStorageClient({
authenticationDetailsProvider: provider
});
try {
const request = {};
const response = await client.getNamespace(request);
const namespace = response.value;
const stats = fs.statSync(fileLocation);
const nodeFsBlob = new oci_storage.NodeFSBlob(fileLocation, stats.size);
const objectData = await nodeFsBlob.getData();
const putObjectRequest = {
namespaceName: namespace,
bucketName: bucket,
putObjectBody: objectData,
objectName: object,
contentLength: stats.size
};
const putObjectResponse = await client.putObject(putObjectRequest);
console.log("File upload successful");
if (typeof callback === "function") return callback(putObjectResponse);
return putObjectResponse;
} catch (error) {
console.log("Error ", error);
}
}
module.exports = {
Uploadbackups,
}