%PDF- %PDF-
Direktori : /home/opti/workflow/src/ |
Current File : /home/opti/workflow/src/app.js |
var createError = require('http-errors'); var express = require('express'); var path = require('path'); var cookieParser = require('cookie-parser'); var logger = require('morgan'); var bodyParser = require('body-parser'); var session = require('express-session'); var flash = require('connect-flash'); var passport = require('passport'); require('./config/sequelize') var db = require('./models'); // var con = require("./config"); //import router files var index = require('./routes/index'), admin = require('./routes/admin'), sadmin = require('./routes/sadmin'), roles = require('./routes/roles'), document = require('./routes/document'), usersRouter = require('./routes/users'), authRouter = require('./routes/auth/auth'), unitRouter = require('./routes/unit'), certificateTypeRouter = require('./routes/certificateType'), certificateRouter = require('./routes/certificate'), process = require('./routes/process'), departmentRouter = require('./routes/department'), branchRouter = require('./routes/branch'), regionRouter = require('./routes/region'), structureRouter = require('./routes/structure'), inventoryRouter = require('./routes/inventory'); accountRouter = require('./routes/account'), organizationRouter = require('./routes/organization'); workflowRouter = require('./routes/workflow'); employeeRouter = require('./routes/employee'); notificationRouter = require('./routes/notification'); hrRouter = require('./routes/human_resources'); flowRouter = require('./routes/flow'); require('dotenv').config(); var app = express(); app.locals = require('../helper') app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); }); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); app.use(logger('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.use(session({ secret: 'keyboard cat', resave: true, saveUninitialized: true, cookie: { secure: false, maxAge: 1000000} })); // session secret app.use(passport.initialize()); app.use(passport.session()); // persistent login sessions // express messages middleware app.use(flash()); app.use(function(req, res, next){ res.locals.messages = require("express-messages")(req, res)(); // res.locals.messages = req.session.sessionFlash; // delete req.session.sessionFlash; next(); }); app.use(express.static(path.join(__dirname, 'public'))); //make moment a global function available to our views app.locals.moment = require('moment'); app.locals.numeral = require('numeral'); //global variable for all routes //works like midlleware //You need not send user object in your route to every view now app.get('*', async (req, res, next) => { res.locals.user = req.user || null; next(); }); //to be replaced by csrf app.locals._csrfToken = "23m4c4545-4c3xr-fc454cr4g45-xf5rg4c5vyjnonlkuybtvgc5r3" //Use Router app.get("/",(req,res)=>{ res.redirect('/login'); }); app.get("/index.php",(req,res)=>{ res.redirect('/login'); }); app.use('/', index); app.use('/admin', admin); app.use('/sadmin', sadmin); app.use('/inventory', inventoryRouter); app.use('/certificate_types', certificateTypeRouter); app.use('/certificate', certificateRouter); app.use('/roles', roles); app.use('/document', document); app.use('/process', process); app.use('/branch', branchRouter); app.use('/employee', employeeRouter); app.use('/api/v1/', usersRouter, authRouter, departmentRouter); //app.use('/api/v1/mobile', usersRouter, authRouter, departmentRouter); app.use('/structure', structureRouter); app.use('/accounts', accountRouter); app.use('/organization', organizationRouter) app.use('/workflow', workflowRouter) app.use('/unit', unitRouter) app.use('/region', regionRouter) app.use('/employee', employeeRouter) app.use('/notification', notificationRouter) app.use('/hr', hrRouter) app.use('/flow', flowRouter) // catch 404 and forward to error handler app.use(function(req, res, next) { // res.send(req.url); res.redirect('/login'); // next(createError(404)); }); // error handler app.use(function(err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page res.status(err.status || 500); res.render('error'); }); // app.listen(3000, () => { // console.log('App listening on port http://localhost:3001 !') // }); module.exports = app;