????

Your IP : 18.218.2.200


Current Path : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/routes/
Upload File :
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;