86 lines
2.5 KiB
JavaScript
86 lines
2.5 KiB
JavaScript
|
|
exports.newCloudUtilities = function newCloudUtilities(logger) {
|
|
|
|
const FULL_LOG = true;
|
|
|
|
const MODULE_NAME = "Cloud Utilities";
|
|
|
|
let utilities = {
|
|
pad: pad,
|
|
createFolderIfNeeded: createFolderIfNeeded,
|
|
calculatePresicion: calculatePresicion
|
|
};
|
|
|
|
return utilities;
|
|
|
|
function createFolderIfNeeded(path, azureFileStorage, callBackFunction) {
|
|
|
|
try {
|
|
|
|
if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] createFolderIfNeeded -> Entering function."); }
|
|
if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] createFolderIfNeeded -> path = " + path); }
|
|
|
|
let splittedPath = path.split("/");
|
|
|
|
let partialPath = '';
|
|
let separator = "";
|
|
|
|
let i = 0;
|
|
loop();
|
|
|
|
function loop() {
|
|
|
|
if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] createFolderIfNeeded -> path = " + path); }
|
|
|
|
partialPath = partialPath + separator + splittedPath[i];
|
|
separator = "/";
|
|
|
|
i++;
|
|
|
|
if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] createFolderIfNeeded -> partialPath = " + partialPath); }
|
|
|
|
azureFileStorage.createFolder(partialPath, checkLoop);
|
|
|
|
function checkLoop(err) {
|
|
|
|
if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] createFolderIfNeeded -> loop -> checkLoop -> Entering function."); }
|
|
|
|
if (err.result !== global.DEFAULT_OK_RESPONSE.result) {
|
|
logger.write(MODULE_NAME, "[ERROR] createFolderIfNeeded -> loop -> checkLoop -> err = "+ err.stack);
|
|
callBackFunction(err);
|
|
return;
|
|
}
|
|
|
|
if (i === splittedPath.length) {
|
|
|
|
callBackFunction(global.DEFAULT_OK_RESPONSE);
|
|
|
|
} else {
|
|
|
|
loop();
|
|
|
|
}
|
|
}
|
|
}
|
|
} catch (err) {
|
|
logger.write(MODULE_NAME, "[ERROR] createFolderIfNeeded -> Error = " + err.message);
|
|
callBackFunction(global.DEFAULT_FAIL_RESPONSE);
|
|
}
|
|
}
|
|
|
|
|
|
function calculatePresicion(number) {
|
|
|
|
for (let i = -10; i <= 10; i++) {
|
|
if (number < Math.pow(10, i)) {
|
|
return Math.pow(10, i - 3);
|
|
}
|
|
}
|
|
}
|
|
|
|
function pad(str, max) {
|
|
str = str.toString();
|
|
return str.length < max ? pad("0" + str, max) : str;
|
|
}
|
|
}
|