const express = require('express'); const helmet = require('helmet'); const cors = require('cors'); const morgan = require('morgan'); const env = require('./config/env'); const routes = require('./routes'); const authRateLimiter = require('./middlewares/authRateLimiter'); const notFound = require('./middlewares/notFound'); const errorHandler = require('./middlewares/errorHandler'); const app = express(); app.set('trust proxy', 'loopback'); app.use(helmet()); app.use( cors({ origin: env.corsOrigin, }) ); app.use(morgan(env.nodeEnv === 'production' ? 'combined' : 'dev')); app.use(express.json()); app.use('/auth/login', authRateLimiter); app.use('/api/auth/login', authRateLimiter); app.use('/api', routes); app.use(routes); app.use(notFound); app.use(errorHandler); module.exports = app;