const config = require('config') //Default configuration file const express = require('express') const app = express() const port = process.env.NODE_ENV === 'production' ? 80 : 3001 require('./database/mongoose') const docs = require('./swagger.js'); const swaggerUI = require('swagger-ui-express') const { errorLogger, errorResponder } = require('./middleware/errorHandling.js') const requestLogging = require('./middleware/requestLogging.js') const cors = require('cors') //Cross-origin resource sharing const helmet = require('helmet') //Basic protection against attacks like XSS const fs = require('fs') const path = require('path') const routesDirectory = path.resolve(__dirname) + '/routes/' // console.log(config.util.getEnv('NODE_ENV')) app.use(errorLogger); app.use(errorResponder); app.use(express.json()) app.use('/api-docs', swaggerUI.serve, swaggerUI.setup(docs)) app.use(requestLogging) app.use(cors()) app.use(helmet()) fs.readdirSync(routesDirectory).forEach(route => { app.use(require(routesDirectory + route)) }) app.get('/', (req, res) => { try { res.send('Wello Horld!') } catch (e) { res.status(500).send(e) } }) app.listen(port, () => { console.log('Server is up on port ' + port) })