|
|
|
|
|
|
|
|
const config = require('config') //Default configuration file |
|
|
const config = require('config') //Default configuration file |
|
|
const express = require('express') |
|
|
const express = require('express') |
|
|
const app = express() |
|
|
const app = express() |
|
|
const port = process.env.NODE_ENV === 'production' ? 80 : 3000 |
|
|
|
|
|
|
|
|
const port = process.env.NODE_ENV === 'production' ? 80 : 3001 |
|
|
require('./database/mongoose') |
|
|
require('./database/mongoose') |
|
|
const userRouter = require('./routes/user') |
|
|
const userRouter = require('./routes/user') |
|
|
const tokenRouter = require('./routes/token') |
|
|
const tokenRouter = require('./routes/token') |
|
|
|
|
|
|
|
|
const requestLogging = require('./middleware/requestLogging.js') |
|
|
const requestLogging = require('./middleware/requestLogging.js') |
|
|
const cors = require('cors') //Cross-origin resource sharing |
|
|
const cors = require('cors') //Cross-origin resource sharing |
|
|
const helmet = require('helmet') //Basic protection against attacks like XSS |
|
|
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')) |
|
|
// console.log(config.util.getEnv('NODE_ENV')) |
|
|
|
|
|
|
|
|
const swaggerOptions = { |
|
|
const swaggerOptions = { |
|
|
|
|
|
|
|
|
const swaggerDocs = swaggerJsDoc(swaggerOptions) |
|
|
const swaggerDocs = swaggerJsDoc(swaggerOptions) |
|
|
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs)) |
|
|
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs)) |
|
|
|
|
|
|
|
|
|
|
|
app.use(errorLogger); |
|
|
|
|
|
app.use(errorResponder); |
|
|
|
|
|
|
|
|
app.use(express.json()) |
|
|
app.use(express.json()) |
|
|
app.use(requestLogging) |
|
|
app.use(requestLogging) |
|
|
app.use(cors()) |
|
|
app.use(cors()) |
|
|
app.use(helmet()) |
|
|
app.use(helmet()) |
|
|
|
|
|
|
|
|
|
|
|
fs.readdirSync(routesDirectory).forEach(route => { |
|
|
|
|
|
app.use(require(routesDirectory + route)) |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
app.use(userRouter) |
|
|
app.use(userRouter) |
|
|
app.use(tokenRouter) |
|
|
app.use(tokenRouter) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
app.use(errorLogger); |
|
|
|
|
|
app.use(errorResponder); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app.listen(port, () => { |
|
|
app.listen(port, () => { |
|
|
console.log('Server is up on port ' + port) |
|
|
console.log('Server is up on port ' + port) |