From cbc9db1f8dc462ce223c7f9adbcdc1f89fc683b3 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Fri, 15 Jun 2018 17:15:43 +0200 Subject: [PATCH] Saving the bot code and retrieving it without the cache --- AABrowserAPI/BotCode.js | 28 ++++++++++++++-------------- CloudVM/CloudVM.js | 15 ++++++++++++--- Server/BotsScripts.js | 2 +- Server/CloudScripts.js | 4 ++-- Server/ConfigReader.js | 10 +++++----- Server/Storage.js | 8 ++++++-- server.js | 8 ++++---- 7 files changed, 44 insertions(+), 31 deletions(-) diff --git a/AABrowserAPI/BotCode.js b/AABrowserAPI/BotCode.js index 9a5474840..b60e05229 100644 --- a/AABrowserAPI/BotCode.js +++ b/AABrowserAPI/BotCode.js @@ -65,26 +65,26 @@ let blobService = storage.createBlobService(connectionString); let blobPath = pOrg + "/" + pRepo + "/" + pPath; - let blobText = nodeify(pFileContent.toString()); + let blobText = nodify(pFileContent.toString()); - blobService.createBlockBlobFromText('aaplatform', blobPath, blobText, onFileReceived); + blobService.createBlockBlobFromText('aaplatform', blobPath, blobText, onFileCreated); - function onFileReceived(err, text, response) { + function onFileCreated(err, text, response) { try { - if (CONSOLE_LOG === true) { console.log("[INFO] API -> writeData -> onFileReceived -> Entering function."); } - if (CONSOLE_LOG === true) { console.log("[INFO] API -> writeData -> onFileReceived -> err = " + JSON.stringify(err)); } - if (LOG_FILE_CONTENT === true) { console.log("[INFO] API -> writeData -> onFileReceived -> response = " + JSON.stringify(response)); } - if (CONSOLE_LOG === true) { console.log("[INFO] API -> writeData -> onFileReceived -> pOrg = " + pOrg); } - if (CONSOLE_LOG === true) { console.log("[INFO] API -> writeData -> onFileReceived -> pRepo = " + pRepo); } - if (CONSOLE_LOG === true) { console.log("[INFO] API -> writeData -> onFileReceived -> pPath = " + pPath); } + if (CONSOLE_LOG === true) { console.log("[INFO] API -> writeData -> onFileCreated -> Entering function."); } + if (CONSOLE_LOG === true) { console.log("[INFO] API -> writeData -> onFileCreated -> err = " + JSON.stringify(err)); } + if (LOG_FILE_CONTENT === true) { console.log("[INFO] API -> writeData -> onFileCreated -> response = " + JSON.stringify(response)); } + if (CONSOLE_LOG === true) { console.log("[INFO] API -> writeData -> onFileCreated -> pOrg = " + pOrg); } + if (CONSOLE_LOG === true) { console.log("[INFO] API -> writeData -> onFileCreated -> pRepo = " + pRepo); } + if (CONSOLE_LOG === true) { console.log("[INFO] API -> writeData -> onFileCreated -> pPath = " + pPath); } if (err !== null || text === null) { - if (CONSOLE_LOG === true) { console.log("[ERROR] API -> writeData -> onFileReceived -> Error Received from API Library. "); } - if (CONSOLE_LOG === true) { console.log("[ERROR] API -> writeData -> onFileReceived -> err = " + JSON.stringify(err)); } - if (CONSOLE_LOG === true) { console.log("[ERROR] API -> writeData -> onFileReceived -> Returning an empty JSON object string. "); } + if (CONSOLE_LOG === true) { console.log("[ERROR] API -> writeData -> onFileCreated -> Error Received from API Library. "); } + if (CONSOLE_LOG === true) { console.log("[ERROR] API -> writeData -> onFileCreated -> err = " + JSON.stringify(err)); } + if (CONSOLE_LOG === true) { console.log("[ERROR] API -> writeData -> onFileCreated -> Returning an empty JSON object string. "); } callBackFunction(global.DEFAULT_FAIL_RESPONSE); return; @@ -94,7 +94,7 @@ callBackFunction(global.DEFAULT_OK_RESPONSE); } catch (err) { - console.log("[ERROR] API -> writeData -> onFileReceived -> err.message = " + err.message); + console.log("[ERROR] API -> writeData -> onFileCreated -> err.message = " + err.message); callBackFunction(global.DEFAULT_FAIL_RESPONSE); } } @@ -105,7 +105,7 @@ } } - function nodeify(pData) { + function nodify(pData) { let start = pData.indexOf('function') + 9; diff --git a/CloudVM/CloudVM.js b/CloudVM/CloudVM.js index fa9c83e24..62c81268f 100644 --- a/CloudVM/CloudVM.js +++ b/CloudVM/CloudVM.js @@ -93,7 +93,7 @@ function newCloudVM() { if (currentBotCode !== previousBotCode) { - console.log("Bot code changes detected."); + console.log("CloudVM -> Bot code changes detected."); let path = "AABrowserAPI" + "/" + "saveBotCode" + "/" @@ -109,9 +109,18 @@ function newCloudVM() { function onServerResponse(err) { - if (INFO_LOG === true) { logger.write("[INFO] checkForChangesInBotCode -> onServerResponse -> Entering function."); } - if (INFO_LOG === true) { logger.write("[INFO] checkForChangesInBotCode -> onServerResponse -> err = " + err); } + err = JSON.parse(err); + if (INFO_LOG === true) { logger.write("[INFO] checkForChangesInBotCode -> onServerResponse -> Entering function."); } + + if (err.result !== GLOBAL.DEFAULT_OK_RESPONSE.result) { + + if (ERROR_LOG === true) { logger.write("[ERROR] checkForChangesInBotCode -> onServerResponse -> err.message = " + err.message); } + console.log("CloudVM -> Changes in code NOT saved. Plase check the error log and try again."); + return; + } + + console.log("CloudVM -> Changes in code saved."); } } } diff --git a/Server/BotsScripts.js b/Server/BotsScripts.js index 517024d1d..afe92bc2e 100644 --- a/Server/BotsScripts.js +++ b/Server/BotsScripts.js @@ -24,7 +24,7 @@ function getScript(pDevTeam, pSource, pRepo, pPath, callBackFunction) { - storage.getStorageData(pDevTeam + "/" + pSource, pRepo, pPath, onDataArrived); + storage.getStorageData(pDevTeam + "/" + pSource, pRepo, pPath, false, onDataArrived); function onDataArrived(pData) { diff --git a/Server/CloudScripts.js b/Server/CloudScripts.js index ecd9976ce..cd1c3b841 100644 --- a/Server/CloudScripts.js +++ b/Server/CloudScripts.js @@ -42,7 +42,7 @@ */ - storage.getStorageData('AdvancedAlgos', 'AACloud', 'web.config.json', onDataArrived); + storage.getStorageData('AdvancedAlgos', 'AACloud', 'web.config.json', true, onDataArrived); function onDataArrived(pData) { @@ -84,7 +84,7 @@ let webModule = pCloudWebConfig.webModules[i].name + '.js'; - storage.getStorageData('AdvancedAlgos', 'AACloud', webModule, onDataArrived); + storage.getStorageData('AdvancedAlgos', 'AACloud', webModule, true, onDataArrived); function onDataArrived(pData) { diff --git a/Server/ConfigReader.js b/Server/ConfigReader.js index 0a0f84767..27a144f3a 100644 --- a/Server/ConfigReader.js +++ b/Server/ConfigReader.js @@ -91,7 +91,7 @@ */ - storage.getStorageData('AdvancedAlgos', 'AAPlatform', 'ecosystem.json', onDataArrived); + storage.getStorageData('AdvancedAlgos', 'AAPlatform', 'ecosystem.json', true, onDataArrived); function onDataArrived(pData) { @@ -145,7 +145,7 @@ requestsSent++; - storage.getStorageData(host.codeName + "/" + "competitions", competition.repo, competition.configFile, onDataArrived); + storage.getStorageData(host.codeName + "/" + "competitions", competition.repo, competition.configFile, true, onDataArrived); function onDataArrived(pData) { @@ -202,7 +202,7 @@ requestsSent++; - storage.getStorageData(host.codeName + "/" + "plotters", plotter.repo, plotter.configFile, onDataArrived); + storage.getStorageData(host.codeName + "/" + "plotters", plotter.repo, plotter.configFile, true, onDataArrived); function onDataArrived(pData) { @@ -291,7 +291,7 @@ requestsSent++; - storage.getStorageData(devTeam.codeName + "/" + "bots", bot.repo, bot.configFile, onDataArrived); + storage.getStorageData(devTeam.codeName + "/" + "bots", bot.repo, bot.configFile, true, onDataArrived); function onDataArrived(pData) { @@ -354,7 +354,7 @@ requestsSent++; - storage.getStorageData(devTeam.codeName + "/" + "plotters", plotter.repo, plotter.configFile, onDataArrived); + storage.getStorageData(devTeam.codeName + "/" + "plotters", plotter.repo, plotter.configFile, true, onDataArrived); function onDataArrived(pData) { diff --git a/Server/Storage.js b/Server/Storage.js index 52485b519..f71f1f692 100644 --- a/Server/Storage.js +++ b/Server/Storage.js @@ -17,7 +17,7 @@ } - function getStorageData(pOrg, pRepo, pPath, callBackFunction) { + function getStorageData(pOrg, pRepo, pPath, saveAtCache, callBackFunction) { try { @@ -72,8 +72,12 @@ if (CONSOLE_LOG === true) { console.log("[INFO] Storage -> getStorageData -> onFileReceived -> pRepo = " + pRepo); } if (CONSOLE_LOG === true) { console.log("[INFO] Storage -> getStorageData -> onFileReceived -> pPath = " + pPath); } - storageData.set(pOrg + '.' + pRepo + '.' + pPath, text); + if (saveAtCache === true) { + storageData.set(pOrg + '.' + pRepo + '.' + pPath, text); + + } + if (err !== null || text === null) { if (CONSOLE_LOG === true) { console.log("[ERROR] Storage -> getStorageData -> onFileReceived -> Error Received from Storage Library. "); } diff --git a/server.js b/server.js index 3474e8d03..5081b70e6 100644 --- a/server.js +++ b/server.js @@ -470,9 +470,9 @@ function onBrowserRequest(request, response) { } botCode.saveBotCode(devTeam, source, repo, path, pData, onResponse); - function onResponse(err, pResponse) { + function onResponse(err) { - respondWithContent(JSON.stringify(pResponse), response); + respondWithContent(JSON.stringify(err), response); } } @@ -782,7 +782,7 @@ function onBrowserRequest(request, response) { case "Plotters": // This means the plotter folder, not to be confused with the Plotters script! { - storage.getStorageData(requestParameters[2] + "/" + "plotters", requestParameters[3], requestParameters[4], onDataArrived); + storage.getStorageData(requestParameters[2] + "/" + "plotters", requestParameters[3], requestParameters[4], true, onDataArrived); function onDataArrived(pData) { @@ -794,7 +794,7 @@ function onBrowserRequest(request, response) { case "PlotterPanels": // This means the PlotterPanels folder, not to be confused with the Plotter Panels scripts! { - storage.getStorageData(requestParameters[2] + "/" + "plotters", requestParameters[3], requestParameters[4], onDataArrived); + storage.getStorageData(requestParameters[2] + "/" + "plotters", requestParameters[3], requestParameters[4], true, onDataArrived); function onDataArrived(pData) {