|
- var express = require("express");
- var router = express.Router();
- var fs = require("fs");
- const path = require("path");
-
- var sqliteModel = require("../model/sqliteModel.js");
- var oracleModel = require("../model/oracleModel.js");
-
- //done
-
- 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
- );
-
- if (activeStockTaking == undefined)
- return res.json({
- STATUS: 0,
- DATA: "Data Stock Taking dalam status tidak Open !",
- });
-
- var dirPath = path.join(
- __dirname,
- `../public/sqlite/upload/${company}/${cabangId}`
- );
-
- 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);
- 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 });
- }
- });
-
- router.post("/unpackDb", async function (req, res, next) {
- // console.log(req.body);
- var dbPath = req.body.dbPath;
- var company = req.body.company;
- var cabangId = req.body.cabangId;
- var data = await sqliteModel.unpackAndInsert(dbPath, company, cabangId);
-
- return res.json(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
- );
-
- if (activeStockTaking == undefined)
- return res.json({
- STATUS: 0,
- DATA: "Data Stock Taking dalam status tidak Open !",
- });
-
- var dirPath = path.join(
- __dirname,
- `../public/sqlite/upload/${company}/${cabangId}`
- );
-
- 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;
|