server.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. let express = require('express')
  2. let app = express()
  3. let sockets = require('./lib/sockets')
  4. let config = require('./config/server.js')
  5. //Middle-ware
  6. let bodyParser = require('body-parser')
  7. let morgan = require('morgan')
  8. let expressSession = require('express-session')
  9. let session = expressSession({
  10. secret: config.sessionSecret,
  11. resave: true,
  12. saveUninitialized: true
  13. })
  14. app.use(bodyParser.json())
  15. app.use(bodyParser.urlencoded({ extended: true }))
  16. app.use(session)
  17. if(process.env.NODE_ENV !== 'test' && process.env.NODE_ENV !== 'production') {
  18. app.use(morgan('dev'))
  19. }
  20. if(process.env.NODE_ENV === 'production') {
  21. app.set('trust proxy', 1);
  22. session.cookie.secure = true
  23. }
  24. app.use('/api/v1/user', require('./routes/user'))
  25. app.use('/api/v1/admin_token', require('./routes/admin_token'))
  26. app.use('/api/v1/category', require('./routes/category'))
  27. app.use('/api/v1/thread', require('./routes/thread'))
  28. app.use('/api/v1/notification', require('./routes/notification'))
  29. app.use('/api/v1/post', require('./routes/post'))
  30. app.use('/api/v1/settings', require('./routes/settings'))
  31. app.use('/api/v1/report', require('./routes/report'))
  32. app.use('/api/v1/ban', require('./routes/ban'))
  33. app.use('/api/v1/search', require('./routes/search'))
  34. app.use('/api/v1/log', require('./routes/log'))
  35. app.use('/api/v1/poll', require('./routes/poll'))
  36. app.use('/api/v1/backup', require('./routes/backup'))
  37. let server = app.listen(config.port, () => {
  38. console.log('Listening on ' + config.port)
  39. app.locals.appStarted = true
  40. app.emit('appStarted')
  41. })
  42. sockets.init(app, server, session)
  43. module.exports = app