-
-
Notifications
You must be signed in to change notification settings - Fork 43
Expand file tree
/
Copy pathapp.js
More file actions
37 lines (29 loc) · 1.3 KB
/
app.js
File metadata and controls
37 lines (29 loc) · 1.3 KB
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
const express = require('express');
const Sentry = require('@sentry/node');
const testRoutes = require('./routes/testRoutes');
const app = express();
const logger = require('./startup/logger');
const globalErrorHandler = require('./utilities/errorHandling/globalErrorHandler');
// const experienceRoutes = require('./routes/applicantAnalyticsRoutes');
// 1. Core initialization
logger.init();
app.use(Sentry.Handlers.requestHandler());
// 2. Load essential middleware (The "Engine")
require('./startup/compression')(app);
require('./startup/cors')(app);
require('./startup/bodyParser')(app); // <--- Crucial this runs before routes
require('./startup/session')(app);
// 3. Define Routes (The "Destination")
// It is better to move these INSIDE startup/routes.js, but if they stay here:
app.use('/api/test', testRoutes);
const helpFeedbackRouter = require('./routes/helpFeedbackRouter');
const helpRequestRouter = require('./routes/helpRequestRouter');
app.use('/api/feedback', helpFeedbackRouter);
app.use('/api/helprequest', helpRequestRouter);
require('./startup/middleware')(app);
// This handles all other routes and likely has your 404 handler
require('./startup/routes')(app);
// 4. Error Handling (The "Safety Net")
app.use(Sentry.Handlers.errorHandler());
app.use(globalErrorHandler);
module.exports = { app, logger };