Files
FBSAdminTool/server.js
Mohamed Nouffer b0ee38a4f6 update filemover
2021-09-11 19:54:09 +05:30

100 lines
2.3 KiB
JavaScript

var express = require('express');
var app = express();
var multer = require('multer')
var cors = require('cors');
var bodyParser = require("body-parser");
var http = require('http')
const fs = require('fs');
var corsOptions = {
"origin": "*",
"methods": "GET,HEAD,PUT,PATCH,POST,DELETE",
"preflightContinue": false,
"optionsSuccessStatus": 204
}
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cors(corsOptions));
function callInitFileMover() {
var options = {
host: 'https://natnats.mobilous.com/iniFileMover',
port: 80,
path: '',
method: 'GET'
};
http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
}).end();
}
var storage = multer.diskStorage({
destination: function(req, file, cb) {
cb(null, '/var/www/html/FBS')
},
filename: function(req, file, cb) {
cb(null, file.originalname)
}
})
var upload = multer({ storage: storage }).single('file')
app.post('/upload', function(req, res, next) {
upload(req, res, function(err) {
if (err instanceof multer.MulterError) {
return res.status(500).json(err)
} else if (err) {
return res.status(500).json(err)
}
else {
var FileName = req.file.filename;
callInitFileMover();
res.status(200).send(FileName);
}
//return res.status(200).send(req.file)
})
});
const converter = require('json-2-csv');
app.post('/csv', (req, res, next) => {
const csv = req;
userData = req.body;
converter.json2csv(userData, (err, csv) => {
if (err) {
throw err;
}
writetoFile(csv);
// print CSV string
console.log(csv);
});
res.send("OK");
});
function writetoFile(csv) {
fs.writeFile('/var/www/html/appexe/natnats/23/bin/mobileweb2/resources/database/user_record.csv', csv, err => {
if (err) {
console.error(err)
return
}
})
}
app.listen(8000, function() {
console.log('App running on port 8000');
});