Spaces:
Runtime error
Runtime error
| const path = require('path'); | |
| const express = require('express'); | |
| const cors = require('cors'); | |
| const helmet = require('helmet'); | |
| const { connectDb } = require('./config/db'); | |
| const env = require('./config/env'); | |
| const authRoutes = require('./routes/authRoutes'); | |
| const vendorRoutes = require('./routes/vendorRoutes'); | |
| const employeeRoutes = require('./routes/employeeRoutes'); | |
| const hrRoutes = require('./routes/hrRoutes'); | |
| const safetyRoutes = require('./routes/safetyRoutes'); | |
| const dashboardRoutes = require('./routes/dashboardRoutes'); | |
| const gateRoutes = require('./routes/gateRoutes'); | |
| const managementRoutes = require('./routes/managementRoutes'); | |
| const errorHandler = require('./middleware/errorHandler'); | |
| const { startExpiryJob } = require('./jobs/expiryJob'); | |
| const { ensureSeedUsers } = require('./config/seed'); | |
| const app = express(); | |
| app.use(helmet()); | |
| app.use(cors({ origin: env.frontendUrl })); | |
| app.use(express.json({ limit: '2mb' })); | |
| app.use(express.urlencoded({ extended: true })); | |
| app.use( | |
| '/uploads', | |
| (_req, res, next) => { | |
| res.setHeader('Cross-Origin-Resource-Policy', 'cross-origin'); | |
| next(); | |
| }, | |
| express.static(path.join(__dirname, '..', 'uploads')) | |
| ); | |
| app.get('/health', (_req, res) => { | |
| res.json({ status: 'ok', timestamp: new Date().toISOString() }); | |
| }); | |
| app.use('/api/auth', authRoutes); | |
| app.use('/api/vendors', vendorRoutes); | |
| app.use('/api/employees', employeeRoutes); | |
| app.use('/api/hr', hrRoutes); | |
| app.use('/api/safety', safetyRoutes); | |
| app.use('/api/dashboard', dashboardRoutes); | |
| app.use('/api/manage', managementRoutes); | |
| app.use('/', gateRoutes); | |
| app.use(errorHandler); | |
| async function boot() { | |
| try { | |
| await connectDb(); | |
| await ensureSeedUsers(); | |
| app.listen(env.PORT, '0.0.0.0', () => { | |
| console.log(`Backend listening on port ${env.port}`); | |
| startExpiryJob(); | |
| }); | |
| } catch (error) { | |
| console.error('Failed to start backend', error); | |
| process.exit(1); | |
| } | |
| } | |
| boot(); | |