X-Git-Url: https://gerrit.onap.org/r/gitweb?p=ccsdk%2Fdistribution.git;a=blobdiff_plain;f=dgbuilder%2Fred%2Fserver.js;h=de945b74413085e1f6628d76cbb4dc05632d4b00;hp=91bee4537dae8cb19f1d54e2d72531e478c5a9ff;hb=53cb68740aa0cff8102f68c245f3db1289a92e01;hpb=6741df81b766bb1dc271c214b923b18f52c20892 diff --git a/dgbuilder/red/server.js b/dgbuilder/red/server.js index 91bee453..de945b74 100644 --- a/dgbuilder/red/server.js +++ b/dgbuilder/red/server.js @@ -226,6 +226,7 @@ function createServer(_server,_settings) { slaActions.deleteDG(jsonObj,req,res); }); + app.get("/getCurrentSettings",function(req,res) { var appDir = path.dirname(require.main.filename); var userDir = appDir + "/" + settings.userDir; @@ -304,8 +305,16 @@ function createServer(_server,_settings) { function(req,res) { var appDir = path.dirname(require.main.filename); var gitLocalRepository = settings.gitLocalRepository; + /* + var userDir=settings.userDir; + var outputDir = appDir + "/" + userDir + "/orig_dgs"; + if (!fs.existsSync(outputDir)){ + fs.mkdirSync(outputDir); + } + */ //console.dir(req); var filePath = req.query.filePath; + //var currTabId = req.query.currTabId; var fullFilePath = gitLocalRepository +"/" + filePath ; //console.log("fullFilePath:" + fullFilePath); var exec = require('child_process').exec; @@ -325,6 +334,15 @@ function createServer(_server,_settings) { console.log("stderr:" + stderr); } if(stdout){ + /* + var jsonStr= stdout; + var jsonStrFormatted=[]; + try{ + jsonStrFormatted= JSON.parse(jsonStr); + }catch(e){ + } + fs.writeFileSync( outputDir + "/" +currTabId,JSON.stringify(jsonStrFormatted,null,4) ); + */ //console.log("output:" + stdout); res.send(200,{'stdout':stdout,'stderr':stderr}); } @@ -332,6 +350,51 @@ function createServer(_server,_settings) { }); }); + app.post("/saveImportedDG", + express.json(), + function(req,res) { + var qs = require('querystring'); + var body = ''; + req.on('data', function (data) { + body += data; + }); + req.on('end', function () { + var appDir = path.dirname(require.main.filename); + var userDir=settings.userDir; + var outputDir = appDir + "/" + userDir + "/orig_dgs"; + if (!fs.existsSync(outputDir)){ + fs.mkdirSync(outputDir); + } + var post = qs.parse(body); + var importedNodes = post.importedNodes; + var currTabId = post.currTabId; + fs.writeFileSync( outputDir + "/" +currTabId,importedNodes ); + res.send(200,{"output":"SUCCESS"}); + }); + }); + + app.post("/saveImportedDG", + express.json(), + function(req,res) { + var qs = require('querystring'); + var body = ''; + req.on('data', function (data) { + body += data; + }); + req.on('end', function () { + var appDir = path.dirname(require.main.filename); + var userDir=settings.userDir; + var outputDir = appDir + "/" + userDir + "/orig_dgs"; + if (!fs.existsSync(outputDir)){ + fs.mkdirSync(outputDir); + } + var post = qs.parse(body); + var importedNodes = post.importedNodes; + var currTabId = post.currTabId; + fs.writeFileSync( outputDir + "/" +currTabId,importedNodes ); + res.send(200,{"output":"SUCCESS"}); + }); + }); app.get("/gitcheckout", function(req,res) { var appDir = path.dirname(require.main.filename); @@ -469,6 +532,7 @@ function createServer(_server,_settings) { console.log("Error:" + e); } } + function getCurrentDate(){ var d = new Date(); var mm = d.getMonth() + 1; @@ -563,17 +627,26 @@ function createServer(_server,_settings) { //console.log("fileName:" + fileName); var renameFilePath = sharedDir + "/backups/" + renameOldfileTo; //console.log("localfile:" + localfile); - fs.rename(file,renameFilePath, function (err) { - if(err){ - console.log('Error :' + err); - } + if (fs.existsSync(file)) { + fs.rename(file,renameFilePath, function (err) { + if(err){ + console.log('Error :' + err); + } + //write the newer version + writeToFile(file,jsonStr); + res.setHeader('Content-disposition', 'attachment; filename=' + fileName); + res.setHeader('Content-type', 'application/json'); + //res.download(file); + res.end(jsonStr); + }); + }else{ //write the newer version writeToFile(file,jsonStr); res.setHeader('Content-disposition', 'attachment; filename=' + fileName); res.setHeader('Content-type', 'application/json'); //res.download(file); res.end(jsonStr); - }); + } } }); }); @@ -873,6 +946,12 @@ function createServer(_server,_settings) { //var release = userDir.replace(/releases/g,"release"); res.json({"release" : userDir}); }); + app.get("/readFile",function(req,res) { + var userDir=settings.userDir; + var filePath = userDir + "/" + req.query.filePath; + var buf = fs.readFileSync(filePath, "utf8"); + res.json({"output" :buf }); + }); app.post("/getFiles/:id",function(req,res) { var id = req.params.id; //console.log("id:" + id); @@ -930,12 +1009,19 @@ function createServer(_server,_settings) { var dbPassword = post["dbPassword"]; var gitLocalRepository = post["gitLocalRepository"]; var performGitPull = post["performGitPull"]; + var restConfUrl = post["restConfUrl"]; + var restConfUser = post["restConfUser"]; + var restConfPassword = post["restConfPassword"]; + var emailAddress = post["emailAddress"]; + var formatXML = post["formatXML"]; + var formatJSON = post["formatJSON"]; var appDir = path.dirname(require.main.filename); var userDir = appDir + "/" + settings.userDir; console.log("userDir:" + userDir); try{ var settingsFile = userDir + "/customSettings.js"; var jsonObj = require(settingsFile); + jsonObj.emailAddress = emailAddress; jsonObj.flowFile = jsonObj.flowFile.replace(appDir + "/",''); jsonObj.dbHost = dbHost; jsonObj.dbPort = dbPort; @@ -944,6 +1030,11 @@ function createServer(_server,_settings) { jsonObj.dbPassword = dbPassword; jsonObj.gitLocalRepository = gitLocalRepository; jsonObj.performGitPull = performGitPull; + jsonObj.restConfUrl = restConfUrl; + jsonObj.restConfUser = restConfUser; + jsonObj.restConfPassword = restConfPassword; + jsonObj.formatXML = formatXML; + jsonObj.formatJSON = formatJSON; var updatedSettings = jsonObj; var settingsStr= "module.exports=" + JSON.stringify(updatedSettings,null,4); @@ -1084,8 +1175,7 @@ function createServer(_server,_settings) { var matchedArr = fileName.match(/.zip$/); if(matchedArr != null && matchedArr.length >0){ console.log("uploaded zip file" + fileName); - //commandToExec = appDir + "/tools/generate_props_from_yangs_zip.sh " + yangFileFullPath ; - commandToExec = appDir + "/tools/generate_props_from_yang.sh " + yangFileFullPath ; + commandToExec = appDir + "/tools/generate_props_from_yangs_zip.sh " + yangFileFullPath ; }else{ commandToExec = appDir + "/tools/generate_props_from_yang.sh " + yangFileFullPath ; console.log("uploaded file" + fileName); @@ -1135,6 +1225,131 @@ function createServer(_server,_settings) { }); }); }); + + function getFormattedDate(){ + var d = new Date(); + var mm = d.getMonth() + 1; + var dd = d.getDate(); + var yyyy = d.getYear() + 1900; + var hr = d.getHours(); + var min = d.getMinutes(); + var sec = d.getSeconds(); + if(mm<10) mm = "0" + mm; + if(dd<10) dd = "0" + dd; + if(hr<10) hr = "0" + hr; + if(min<10) min = "0" + min; + if(sec<10) sec = "0" + sec; + var formatedValue = yyyy + "-" + mm + "-" + dd + "_" + hr + ":" + min + ":" + sec; + return formatedValue; + } + + + app.post("/saveTestDGInput", + express.json({'limit':'16mb'}), + function(req,res) { + var qs = require('querystring'); + var body = ''; + req.on('data', function (data) { + body += data; + }); + req.on('end', function () { + var appDir = path.dirname(require.main.filename); + var inputFilesDir = appDir + "/" + "inputFiles"; + if (!fs.existsSync(inputFilesDir)){ + fs.mkdirSync(inputFilesDir); + } + var post = qs.parse(body); + var moduleName = post['moduleName']; + var rpcName = post['rpcName']; + var fullFileName = inputFilesDir + "/" +moduleName + "_" + rpcName + "_" + getFormattedDate(); + var inputStr = post['inputStr']; + writeToFile(fullFileName,inputStr); + res.end(); + }); + }); + + app.post("/getInputFiles",function(req,res) { + var qs = require('querystring'); + var body = ''; + req.on('data', function (data) { + body += data; + }); + req.on('end', function () { + var appDir = path.dirname(require.main.filename); + var inputFilesDir = appDir + "/" + "inputFiles"; + if (!fs.existsSync(inputFilesDir)){ + fs.mkdirSync(inputFilesDir); + } + var post = qs.parse(body); + var moduleName = post['moduleName']; + var rpcName = post['rpcName']; + var glob = require("glob"); + var filePatt = "/**/" + moduleName + "_" + rpcName + "*"; + glob(inputFilesDir + filePatt, null, function (er, files) { + var filesList =[]; + for(var i=0;files!= null && i