119 lines
4.8 KiB
JavaScript
119 lines
4.8 KiB
JavaScript
require('../connections/mysql-server');
|
|
require('../helpers/CheckToken');
|
|
const express = require('express');
|
|
const router = express.Router();
|
|
const bodyParser = require('body-parser');
|
|
|
|
router.use(bodyParser.urlencoded({ extended: true }));
|
|
router.use(bodyParser.json());
|
|
|
|
var routes = function () {
|
|
|
|
router.get('/getAllPermissoes', verifyJWT, (req, res) => {
|
|
execSQLQuery(`SELECT * from permissoes;`, res, req.originalUrl);
|
|
});
|
|
|
|
router.get('/getPermissoesUsuario/:idusers/:idusertype', verifyJWT, (req, res) => {
|
|
const idusers = parseInt(req.params.idusers);
|
|
const idusertype = parseInt(req.params.idusertype);
|
|
execSQLQuery(`select distinct * from (
|
|
select
|
|
pm.idusers, pm.idjanelas, jn.descricao, jn.title, jn.icon, jn.link, jn.home, jn.children
|
|
from permissoes pm
|
|
inner join janelas jn on jn.idjanelas = pm.idjanelas
|
|
inner join users us on us.idusers = pm.idusers
|
|
where pm.idusers = ${idusers}
|
|
union all
|
|
select
|
|
${idusers} as 'idusers', up.idjanelas, jn2.descricao, jn2.title, jn2.icon, jn2.link, jn2.home, jn2.children
|
|
from usertypepermissoes up
|
|
inner join janelas jn2 on jn2.idjanelas = up.idjanelas
|
|
where up.idusertype = ${idusertype}) R
|
|
order by R.children asc, R.title asc;`, res, req.originalUrl);
|
|
});
|
|
|
|
router.get('/getAllJanelas', verifyJWT, (req, res) => {
|
|
execSQLQuery(`SELECT * from janelas order by descricao asc;`, res, req.originalUrl);
|
|
});
|
|
|
|
router.post('/insertPermissoesTipoUsuario', verifyJWT, (req, res) => {
|
|
const Permissoes = req.body.ListaPermissoes;
|
|
let SQLInsert = `insert into usertypepermissoes (idusertype, idjanelas) values `;
|
|
for (let i = 0; i < Permissoes.length; i++) {
|
|
if (i > 0)
|
|
SQLInsert += `, `;
|
|
SQLInsert += `(${Permissoes[i].idusertype}, ${Permissoes[i].idjanelas})`;
|
|
}
|
|
const SQLDelete = `delete from usertypepermissoes where idusertype = ${Permissoes[0].idusertype};`;
|
|
mysqlConnection.query(SQLDelete, null, function (error, results, fields) {
|
|
execSQLQuery(SQLInsert, res, req.originalUrl);
|
|
});
|
|
});
|
|
|
|
router.post('/insertPermissoesUsuario', verifyJWT, (req, res) => {
|
|
const Permissoes = req.body.ListaPermissoes;
|
|
let SQLInsert = `insert into permissoes (idusers, idjanelas) values `;
|
|
for (let i = 0; i < Permissoes.length; i++) {
|
|
if (i > 0)
|
|
SQLInsert += `, `;
|
|
SQLInsert += `(${Permissoes[i].idusers}, ${Permissoes[i].idjanelas})`;
|
|
}
|
|
const SQLDelete = `delete from permissoes where idusers = ${Permissoes[0].idusers};`;
|
|
mysqlConnection.query(SQLDelete, null, function (error, results, fields) {
|
|
execSQLQuery(SQLInsert, res, req.originalUrl);
|
|
});
|
|
});
|
|
|
|
router.get('/insertAllPermissoesUsuario/:idusers', (req, res) => {
|
|
const idusers = parseInt(req.params.idusers);
|
|
mysqlConnection.query(`select * from janelas;`, null, function (error, resJanelas, fields) {
|
|
let SQLInsert = "insert into permissoes (idusers, idjanelas) values ";
|
|
for (let i = 0; i < resJanelas.length; i++) {
|
|
if (i > 0)
|
|
SQLInsert += `, `;
|
|
SQLInsert += `(${idusers}, ${resJanelas[i]['idjanelas']})`;
|
|
}
|
|
execSQLQuery(SQLInsert, res, req.originalUrl);
|
|
});
|
|
});
|
|
|
|
router.get('/insertAllPermissoesUsertype/:idusertype', (req, res) => {
|
|
const idusertype = parseInt(req.params.idusertype);
|
|
mysqlConnection.query(`select * from janelas;`, null, function (error, resJanelas, fields) {
|
|
let SQLInsert = "insert into usertypepermissoes (idusertype, idjanelas) values ";
|
|
for (let i = 0; i < resJanelas.length; i++) {
|
|
if (i > 0)
|
|
SQLInsert += `, `;
|
|
SQLInsert += `(${idusertype}, ${resJanelas[i]['idjanelas']})`;
|
|
}
|
|
execSQLQuery(SQLInsert, res, req.originalUrl);
|
|
});
|
|
});
|
|
|
|
router.post('/insertJanela', verifyJWT, (req, res) => {
|
|
const idjanelas = parseInt(req.body.idjanelas);
|
|
const descricao = req.body.descricao;
|
|
const title = req.body.title;
|
|
const icon = req.body.icon;
|
|
const link = req.body.link;
|
|
const home = req.body.home ? 1 : 0;
|
|
const children = req.body.children;
|
|
execSQLQuery(`insert into janelas (descricao, title, icon, link, home, children) values
|
|
(?, ?, ?, ?, ?, ?);`, res, req.originalUrl, [descricao, title, icon, link, home, children]);
|
|
});
|
|
|
|
router.patch('/updateJanela', verifyJWT, (req, res) => {
|
|
const idjanelas = parseInt(req.body.idjanelas);
|
|
const descricao = req.body.descricao;
|
|
const title = req.body.title;
|
|
const icon = req.body.icon;
|
|
const link = req.body.link;
|
|
const home = req.body.home ? 1 : 0;
|
|
const children = req.body.children;
|
|
execSQLQuery(`update janelas set descricao = ?, title = ?, icon = ?, link = ?, home = ?, children = ? where idjanelas = ?;`, res, req.originalUrl, [descricao, title, icon, link, home, children, idjanelas]);
|
|
});
|
|
|
|
return router;
|
|
};
|
|
|
|
module.exports = routes; |