ZoeApi/controllers/slidesController.js

109 lines
3.1 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');
const formidable = require('formidable');
router.use(bodyParser.urlencoded({
limit: '10mb',
extended: true
}
));
router.use(bodyParser.json({
limit: '10mb',
extended: true
}));
var routes = function () {
router.get('/getAll', verifyJWT, (req, res) => {
execSQLQuery(`SELECT
*
FROM slides;`, res, req.originalUrl);
});
router.get('/getSlide/:idslides', verifyJWT, (req, res) => {
const idslides = parseInt(req.params.idslides);
execSQLQuery(`SELECT
*
FROM slides
WHERE idslides = ${idslides};`, res, req.originalUrl);
});
router.post('/insert', verifyJWT, (req, res) => {
const idslides = parseInt(req.body.idslides);
const title = req.body.title;
const itens = parseInt(req.body.itens);
execSQLQuery(`INSERT INTO slides(title, itens) VALUES
(?, ?);`, res, req.originalUrl, [title, itens]);
});
router.patch('/update', verifyJWT, (req, res) => {
const idslides = parseInt(req.body.idslides);
const title = req.body.title;
const itens = parseInt(req.body.itens);
execSQLQuery(`UPDATE slides SET
title = ?,
itens = ?
WHERE idslides = ?;`, res, req.originalUrl, [title, itens, idslides]);
});
router.get('/renomeiaSlide/:idslides/:apartirde', verifyJWT, (req, res) => {
const idslides = parseInt(req.params.idslides);
const apartirde = parseInt(req.params.apartirde);
const fs = require('fs');
const path = require('path');
const Diretorio = Variables('src_media') + 'images/';
fs.readdir(Diretorio, (err, files) => {
let ListaSlides = [];
files.forEach(file => {
if (path.basename(file).includes("slide_" + idslides)) {
ListaSlides.push(file);
}
});
LoopRenomeiaSlide(0, apartirde, idslides, 0, ListaSlides, Diretorio, function(Sucesso) {
res.send(Sucesso);
})
})
});
function LoopRenomeiaSlide(Index, apartirde, idslides, newI, ListaSlides, Diretorio, callback) {
const fs = require('fs');
if (Index < ListaSlides.length) {
if (Index != apartirde) {
if (Index >= apartirde) {
let NovoNome = "slide_" + idslides + "_" + newI + ".jpg";
console.log("De: " + ListaSlides[Index] + " - Para: " + NovoNome);
fs.rename(Diretorio + ListaSlides[Index], Diretorio + NovoNome, function (err) {
Index++;
newI++;
LoopRenomeiaSlide(Index, apartirde, idslides, newI, ListaSlides, Diretorio, callback);
});
}
else {
Index++;
newI++;
LoopRenomeiaSlide(Index, apartirde, idslides, newI, ListaSlides, Diretorio, callback);
}
}
else {
fs.unlink(Diretorio + ListaSlides[Index], function (err) {
Index++;
LoopRenomeiaSlide(Index, apartirde, idslides, newI, ListaSlides, Diretorio, callback);
});
}
}
else {
callback(true);
}
}
return router;
};
module.exports = routes;