Explorar el Código

new rest

master
jefry hace 3 años
padre
commit
90d92cd1bd
Se han modificado 2 ficheros con 122 adiciones y 50 borrados
  1. +7
    -12
      routes/dataget.js
  2. +115
    -38
      routes/datapost.js

+ 7
- 12
routes/dataget.js Ver fichero

@@ -1,22 +1,17 @@
var express = require('express');
var express = require("express");
var router = express.Router();
var sqliteModel = require('../model/sqliteModel.js');
var sqliteModel = require("../model/sqliteModel.js");


router.get('/getSqliteDb/:company/:cabangId', async function(req,res,next){
router.get("/getSqliteDb/:company/:cabangId", async function (req, res, next) {
var company = req.params.company;
var cabangId = req.params.cabangId;
var sqliteDb = await sqliteModel.CreateDataCollection(company,cabangId);
if(sqliteDb["STATUS"] == 0){
var sqliteDb = await sqliteModel.CreateDataCollection(company, cabangId);
if (sqliteDb["STATUS"] == 0) {
return res.status(500).send(sqliteDb["DATA"]);
}
else{
} else {
var dbPath = sqliteDb["DATA"];
res.download(dbPath);
}
}
});




module.exports = router;

+ 115
- 38
routes/datapost.js Ver fichero

@@ -6,12 +6,14 @@ const path = require("path");
var sqliteModel = require("../model/sqliteModel.js");
var oracleModel = require("../model/oracleModel.js");

router.post("/uploadSqlitedb", async function (req, res, next) {
try {
var dbBytes = req.body.byte;
//done

var company = req.body.company;
var cabangId = req.body.cabangId;
router.post("/uploadDb", async function (req, res, next) {
try {
var dbBytes = req.body;
var parameter = JSON.parse(req.headers.params);
var company = parameter.company;
var cabangId = parameter.cabangId;
var activeStockTaking = await oracleModel.getActiveStockTakingByCabang(
company,
cabangId
@@ -34,12 +36,44 @@ router.post("/uploadSqlitedb", async function (req, res, next) {
var n = d.getTime();
var dbName = `${n}.db`;
var dbPath = path.join(dirPath, dbName);
var a = fs.writeFileSync(dbPath, Buffer.from(dbBytes));
return res.json({
STATUS: 1,
DATA: "Data send successfully",
dbPath: dbPath,
// var a = fs.writeFileSync(dbPath, Buffer.from(dbBytes));
// var a = fs.writeFileSync(dbPath, dbBytes);
const stream = fs.createWriteStream(dbPath);
stream.on("open", () => req.pipe(stream));
stream.on("drain", () => {
// Calculate how much data has been piped yet
const written = parseInt(stream.bytesWritten);
const total = parseInt(req.headers["filesize"]);
const pWritten = ((written / total) * 100).toFixed(2);
console.log(`Processing ... ${pWritten}% done`);
});
stream.on("close", () => {
// Send a success response back to the client
const msg = `Data uploaded to ${dbPath}`;
console.log("Processing ... 100%");
console.log(msg);
return res.status(200).json({
STATUS: 1,
DATA: "Data send successfully",
dbPath: dbPath,
});
});

stream.on("error", (err) => {
// Send an error message to the client
console.error(err);
return res.status(500).json({
STATUS: 1,
DATA: "Data send successfully",
dbPath: dbPath,
});
});
// console.log(dirPath, dbPath);
// return res.json({
// STATUS: 1,
// DATA: "Data send successfully",
// dbPath: dbPath,
// });
});
} catch (e) {
return res.json({ STATUS: 0, DATA: e });
@@ -47,7 +81,7 @@ router.post("/uploadSqlitedb", async function (req, res, next) {
});

router.post("/unpackDb", async function (req, res, next) {
console.log(req.body);
// console.log(req.body);
var dbPath = req.body.dbPath;
var company = req.body.company;
var cabangId = req.body.cabangId;
@@ -56,36 +90,79 @@ router.post("/unpackDb", async function (req, res, next) {
return res.json(data);
});

router.post("/login", async function (req, res, next) {
var username = req.body.User;
var password = req.body.Pass;
var data = await oracleModel.getDataUser(username, password);
return res.send(data);
});
//old delete after update
router.post("/uploadSqlitedb", async function (req, res, next) {
try {
var dbBytes = req.body;
var parameter = JSON.parse(req.headers.params);
var company = parameter.company;
var cabangId = parameter.cabangId;
var activeStockTaking = await oracleModel.getActiveStockTakingByCabang(
company,
cabangId
);

router.post("/getCabangByUser", async function (req, res, next) {
var company = req.body.company;
var username = req.body.User;
var data = await oracleModel.getDataCabangByUser(company, username);
return res.send(data);
});
if (activeStockTaking == undefined)
return res.json({
STATUS: 0,
DATA: "Data Stock Taking dalam status tidak Open !",
});

router.post("/submitStock", async function (req, res, next) {
console.log(req.body);
var company = req.body.company;
var stockTakingId = req.body.stockTakingId;
var data = await oracleModel.submitStockTaking(company, stockTakingId);
return res.send(data);
});
var dirPath = path.join(
__dirname,
`../public/sqlite/upload/${company}/${cabangId}`
);

router.post("/getStateStockUnit", async function (req, res) {
var company = req.body.company;
var stockTakingId = req.body.stockTakingId;
var stateStockTaking = await oracleModel.getStateStockTaking(
company,
stockTakingId
);
return res.send(stateStockTaking);
fs.mkdir(dirPath, { recursive: true }, (err) => {
// console.log('2',err);
var d = new Date();
var n = d.getTime();
var dbName = `${n}.db`;
var dbPath = path.join(dirPath, dbName);
// var a = fs.writeFileSync(dbPath, Buffer.from(dbBytes));
var a = fs.writeFileSync(dbPath, dbBytes);
console.log(dirPath, dbPath);
return res.json({
STATUS: 1,
DATA: "Data send successfully",
dbPath: dbPath,
});
});
} catch (e) {
return res.json({ STATUS: 0, DATA: e });
}
});
//============================== old route =========================================
// router.post("/login", async function (req, res, next) {
// var username = req.body.User;
// var password = req.body.Pass;
// var data = await oracleModel.getDataUser(username, password);
// return res.send(data);
// });

// router.post("/getCabangByUser", async function (req, res, next) {
// var company = req.body.company;
// var username = req.body.User;
// var data = await oracleModel.getDataCabangByUser(company, username);
// return res.send(data);
// });

// router.post("/submitStock", async function (req, res, next) {
// console.log(req.body);
// var company = req.body.company;
// var stockTakingId = req.body.stockTakingId;
// var data = await oracleModel.submitStockTaking(company, stockTakingId);
// return res.send(data);
// });

// router.post("/getStateStockUnit", async function (req, res) {
// var company = req.body.company;
// var stockTakingId = req.body.stockTakingId;
// var stateStockTaking = await oracleModel.getStateStockTaking(
// company,
// stockTakingId
// );
// return res.send(stateStockTaking);
// });

module.exports = router;

Cargando…
Cancelar
Guardar