189 lines
4.7 KiB
JavaScript
189 lines
4.7 KiB
JavaScript
require('../connections/mysql-server');
|
|
require('../helpers/CheckToken');
|
|
require('../helpers/config');
|
|
|
|
const express = require('express');
|
|
const router = express.Router();
|
|
const bodyParser = require('body-parser');
|
|
|
|
router.use(bodyParser.urlencoded({
|
|
limit: '10mb',
|
|
extended: true
|
|
}
|
|
));
|
|
router.use(bodyParser.json({
|
|
limit: '10mb',
|
|
extended: true
|
|
}));
|
|
|
|
var routes = function () {
|
|
|
|
router.get('/listLotes', verifyJWT, (req, res) => {
|
|
execSQLQuery(`
|
|
SELECT
|
|
*
|
|
FROM
|
|
qrlotes`,
|
|
res,
|
|
req.originalUrl
|
|
);
|
|
})
|
|
|
|
router.get('/listQRcodes', verifyJWT, (req, res) => {
|
|
execSQLQuery(`
|
|
SELECT
|
|
*
|
|
FROM
|
|
qrcodes`,
|
|
res,
|
|
req.originalUrl
|
|
);
|
|
})
|
|
|
|
router.get('/listLotesByID/:id', verifyJWT, (req, res) => {
|
|
var id = req.params.id;
|
|
execSQLQuery(`
|
|
SELECT
|
|
*
|
|
FROM
|
|
qrlotes
|
|
WHERE
|
|
idqrlotes = ${id}`,
|
|
res,
|
|
req.originalUrl
|
|
);
|
|
})
|
|
|
|
router.get('/listQRcodesByAny/:field/:value', verifyJWT, (req, res) => {
|
|
var field = req.params.field;
|
|
var value = req.params.value;
|
|
execSQLQuery(`
|
|
SELECT
|
|
*
|
|
FROM
|
|
qrcodes
|
|
WHERE
|
|
${field} = '${value}'`,
|
|
res,
|
|
req.originalUrl
|
|
);
|
|
})
|
|
|
|
router.post('/insertLotes', verifyJWT, (req, res) => {
|
|
const qtdepack = req.body.qtdepack;
|
|
const date = req.body.date;
|
|
const description = req.body.description;
|
|
execSQLQuery(`INSERT INTO qrlotes(qtdepack, date, description) VALUES (${qtdepack},'${date}', "${description}");`,
|
|
res,
|
|
req.originalUrl
|
|
);
|
|
})
|
|
|
|
router.post('/insertQRcodes', verifyJWT, (req, res) => {
|
|
const idqrlotes = req.body.idqrlotes;
|
|
const idusers = req.body.idusers;
|
|
const key = req.body.key;
|
|
const ordem = req.body.ordem;
|
|
execSQLQuery(`
|
|
INSERT INTO qrcodes(idqrlotes, idusers, _key, ordem)
|
|
VALUES
|
|
(${idqrlotes},${idusers}, '${key}', ${ordem});`,
|
|
res,
|
|
req.originalUrl
|
|
);
|
|
})
|
|
|
|
router.patch('/updateLotes', verifyJWT, (req, res) => {
|
|
const idqrlotes = req.body.idqrlotes;
|
|
const qtdepack = req.body.qtdepack;
|
|
const date = req.body.date;
|
|
execSQLQuery(`UPDATE qrlotes SET qtdepack = ${qtdepack}, date = '${date}' WHERE idqrlotes = ${idqrlotes};`,
|
|
res,
|
|
req.originalUrl
|
|
);
|
|
})
|
|
|
|
router.patch('/updateQRcodes', verifyJWT, (req, res) => {
|
|
const idqrcodes = req.body.idqrcodes;
|
|
const idqrlotes = req.body.idqrlotes;
|
|
const idusers = req.body.idusers;
|
|
const key = req.body.key;
|
|
const ordem = req.body.ordem;
|
|
execSQLQuery(`
|
|
UPDATE qrcodes SET
|
|
idqrlotes = ${idqrlotes},
|
|
idusers = ${idusers},
|
|
_key = ${key},
|
|
ordem = ${ordem}
|
|
WHERE
|
|
idqrcodes = ${idqrcodes};`,
|
|
res,
|
|
req.originalUrl
|
|
);
|
|
});
|
|
|
|
router.post('/generateTxt', verifyJWT, (req, res) => {
|
|
var idqrlotes = req.body.idqrlotes;
|
|
var name = req.body.name;
|
|
var content = req.body.content;
|
|
var fs = require('fs');
|
|
var path = Variables('src_media') + "qrlotes/" + idqrlotes;
|
|
fs.mkdirSync(path);
|
|
fs.writeFile(path + "/" + name + ".txt", content, function (erro) {
|
|
if (erro) {
|
|
throw erro;
|
|
}
|
|
else {
|
|
res.send(true);
|
|
}
|
|
});
|
|
});
|
|
|
|
router.post('/save', verifyJWT, (req, res) => {
|
|
var base64ToImage = require('base64-to-image');
|
|
var fs = require('fs');
|
|
var img64 = req.body.src;
|
|
var idqrlotes = req.body.idqrlotes;
|
|
var numb = req.body.itens;
|
|
var Name = 'qr_' + idqrlotes + '_' + numb;
|
|
var Obj = {'fileName': Name, 'type':'jpg'};
|
|
var path = Variables('src_media') + "qrlotes/" + idqrlotes;
|
|
if(!fs.existsSync(path)) {
|
|
fs.mkdirSync(path);
|
|
}
|
|
path += '/';
|
|
if(base64ToImage(img64,path,Obj)) {
|
|
res.send(true)
|
|
}
|
|
else {
|
|
res.send(false);
|
|
}
|
|
//res.send("images uploaded with success!");
|
|
});
|
|
|
|
router.get('/downloadPack/:idqrlotes', verifyJWT, (req, res) => {
|
|
var idqrlotes = req.params.idqrlotes;
|
|
var path = Variables('src_media') + "qrlotes/" + idqrlotes;
|
|
var fs = require("fs");
|
|
if(!fs.existsSync(path + "/qrlote_" + idqrlotes + '.zip')) {
|
|
require('all-unpacker').pack(path + "/qrlote_" + idqrlotes + '.zip', {
|
|
targetDir: path + "/*",
|
|
}, function(err, files, text) {
|
|
if (err) return console.error(err);
|
|
if (files) console.log('files', files);
|
|
if (text) {
|
|
console.log('text', text);
|
|
console.log("compactado");
|
|
res.send(true) ;
|
|
};
|
|
});
|
|
}
|
|
else {
|
|
res.send(true);
|
|
}
|
|
});
|
|
|
|
return router;
|
|
};
|
|
|
|
module.exports = routes; |