-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.js
134 lines (105 loc) · 4.13 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
var express = require('express');
var path = require('path');
var morganLogger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var cors = require('cors');
var dateUtils = require('./js/dateUtils');
require('dotenv').config({
silent: true
});
const Roles = require('./routes/roles');
const roles = new Roles();
const Budget = require('./routes/budgetRoutes');
const budget = new Budget();
const Ping = require('./routes/ping');
const ping = new Ping();
const ExpenseRoutes = require('./routes/expenseRoutes');
const expenseRoutes = new ExpenseRoutes();
const ExpenseTypeRoutes = require('./routes/expenseTypeRoutes');
const expenseTypeRoutes = new ExpenseTypeRoutes();
const EmployeeRoutes = require('./routes/employeeRoutes');
const employeeRoutes = new EmployeeRoutes();
const TrainingUrlRoutes = require('./routes/trainingUrlRoutes');
const trainingUrlRoutes = new TrainingUrlRoutes();
const UtilityRoutes = require('./routes/utilityRoutes');
const utilityRoutes = new UtilityRoutes();
const AttachmentRoutes = require('./routes/attachmentRoutes');
const attachmentRoutes = new AttachmentRoutes();
const ResumeRoutes = require('./routes/resumeRoutes');
const resumeRoutes = new ResumeRoutes();
const TimesheetsRoutes = require('./routes/timesheetsRoutes');
const timesheetsRoutes = new TimesheetsRoutes();
const BasecampRoutes = require('./routes/basecampRoutes');
const basecampRoutes = new BasecampRoutes();
const EmsiRoutes = require('./routes/emsiRoutes');
const emsiRoutes = new EmsiRoutes();
const GoogleMapRoutes = require('./routes/googleMapsRoutes');
const googleMapRoutes = new GoogleMapRoutes();
const AuditRoutes = require('./routes/auditRoutes');
const auditRoutes = new AuditRoutes();
const ContractRoutes = require('./routes/contractRoutes');
const contractRoutes = new ContractRoutes();
const HighFiveRoutes = require('./routes/highFiveRoutes');
const highFiveRoutes = new HighFiveRoutes();
const PTOCashOutRoutes = require('./routes/ptoCashOutRoutes');
const ptoCashOutRoutes = new PTOCashOutRoutes();
const TagRoutes = require('./routes/tagRoutes');
const tagRoutes = new TagRoutes();
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
let corsConfig = {
allowedHeaders: ['Authorization', 'Content-Type']
};
morganLogger.token('timestamp', () => {
return `[${dateUtils.getTodaysDate('YYYY-MM-DDTHH:mm:ssZ')}]`;
});
app.use(morganLogger(':timestamp \\__ :method request made to :url with status :status took :response-time ms'));
app.use(cors(corsConfig));
app.use(bodyParser.json());
app.use(
bodyParser.urlencoded({
extended: false
})
);
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/ping', ping.router);
app.use('/info', roles.router);
app.use('/expense-types', expenseTypeRoutes.router);
app.use('/employees', employeeRoutes.router);
app.use('/expenses', expenseRoutes.router);
app.use('/utility', utilityRoutes.router);
app.use('/budgets', budget.router);
app.use('/attachment', attachmentRoutes.router);
app.use('/resume', resumeRoutes.router);
app.use('/training-urls', trainingUrlRoutes.router);
app.use('/timesheets', timesheetsRoutes.router);
app.use('/basecamp', basecampRoutes.router);
app.use('/emsi', emsiRoutes.router);
app.use('/googleMaps', googleMapRoutes.router);
app.use('/audits', auditRoutes.router);
app.use('/contracts', contractRoutes.router);
app.use('/highFives', highFiveRoutes.router);
app.use('/ptoCashOuts', ptoCashOutRoutes.router);
app.use('/tags', tagRoutes.router);
// catch 404 and forward to error handler
app.use(function (req, res, next) {
var err = new Error(' No Route Found');
err.status = 404;
next(err);
});
// error handler
//eslint is disabled because we need 4th param but never use it
/*eslint-disable*/ app.use(function (err, req, res, next) {
/*eslint-enable*/
// 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');
});
module.exports = app;