????
Current Path : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/routes/ |
Current File : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/routes/index.js |
var router = require('express').Router(); var path = require('path'); var docCtrl = require('../controllers/danhmuc').create(); var accCtrl = require('../controllers/taikhoan').create(); var { permit, useLayout } = require('../controllers/middleware'); const { avatarPath } = require('../appconfig'); var csrf = require('csurf'); const { decodePath } = require('../utils'); router.get('/', csrf({ cookie: true }), useLayout, function (req, res, _next) { res.render('home.eta', { title: 'Trang chủ' }); }); router.get('/avatar', async function (req, res) { let imgPath = path.join(avatarPath, 'default-avatar.png'); try { if (req.user) { let userId = req.user.UUID; if (req.query.id) userId = req.query.id; let user = (await accCtrl.select('SELECT Username, AvatarExt FROM Account WHERE UUID = @id', { id: userId }))[0]; if (user && user.AvatarExt) imgPath = path.join(avatarPath, user.Username + user.AvatarExt); } res.sendFile(imgPath); } catch (err) { res.sendFile(imgPath) } }); router.get(['/viewer','/viewer/:path'], csrf({ cookie: true }), useLayout, function (req, res, _next) { res.render('viewer.eta', { filepath: decodePath(req.params.path) }); }); router.get('/logout', function (req, res) { res.clearCookie('passport'); req.session.destroy(); res.redirect('/auth'); res.end(); }); router.get('/search', async function (req, res, _next) { let result = { draw: parseInt(req.query.draw) || 0, recordsTotal: 0, recordsFiltered: 0, data: [] }; try { result = await docCtrl.getDocuments(req.query); res.json(result); } catch (err) { res.status(400).send(err.message) } }); router.get('/doc-type', function (req, res, _next) { docCtrl.select('SELECT DocType.*,DocTypeGroup.Name GroupName FROM DocType INNER JOIN DocTypeGroup ON DocType.TypeGroup = DocTypeGroup.Id') .then(function (recordset) { let data = { legalTypes: recordset.filter(function (x) { return x.TypeGroup == 1 }), adminTypes: recordset.filter(function (x) { return x.TypeGroup == 2 }) } res.json(data); }) .catch(function (err) { res.status(400).json(err.message) }) }); router.get('/main', csrf({ cookie: true }), permit(), useLayout, function (req, res, _next) { res.render('main.eta', { title: 'Giao diện chính' }) }); module.exports = router;