const express = require('express') const app = express() const path = require('path') const port = process.env.PORT || 3000 require('./database/mongoose') const userRouter = require('./routes/user') const tokenRouter = require('./routes/token') const swaggerJsDoc = require("swagger-jsdoc") const swaggerUi = require("swagger-ui-express") const { errorLogger, errorResponder } = require('./middleware/errorHandling.js') const cors = require('cors') //Cross-origin resource sharing const helmet = require('helmet') //Basic protection against attacks like XSS const config = require('config') //Default configuration file const swaggerOptions = { swaggerDefinition: { info: { title: 'Diligent node API', description: 'Diligent node API documentation' } }, apis: ['./server.js', './routes/*.js'] } const swaggerDocs = swaggerJsDoc(swaggerOptions) app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs)) app.use(express.json()) app.use(cors()) app.use(helmet()) app.use(userRouter) app.use(tokenRouter) app.get('/', (req, res) => { try { res.send('Wello Horld!') } catch (e) { res.status(500).send(e) } }) app.use(errorLogger); app.use(errorResponder); app.listen(port, () => { console.log('Server is up on port ' + port) })