index.ts 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. const db = require('./db')
  2. const pg = require('pg')
  3. delete pg.native
  4. const express = require('express')
  5. const app = express()
  6. const path = require('path')
  7. const morgan = require('morgan')
  8. const socketio = require('socket.io')
  9. //const cors = require("cors");
  10. //const passport = require('passport')
  11. //const LocalStrategy = require('passport-local')
  12. //const session = require('express-session')
  13. //const SequelizeStore = require('connect-session-sequelize')(session.Store)
  14. //const sessionStore = new SequelizeStore({ db })
  15. const PORT = process.env.PORT || 3500
  16. //const URL = ["http://localhost:3050"];
  17. const server = app.listen(PORT, () => {
  18. console.log(`[Express] Listening on port ${PORT}`)
  19. })
  20. const io = socketio(server)
  21. require('./socket')(io)
  22. app.use(morgan('dev'))
  23. //app.use(cors({ credentials: true, origin: URL }))
  24. // passport.use(
  25. // new LocalStrategy(async (username, password, done) => {
  26. // const user = await db.models.user.findOne({ where: { username } })
  27. // if (!user) {
  28. // return done(null, false, { message: 'Incorrect username.' })
  29. // }
  30. // if (!user.correctPassword(password)) {
  31. // return done(null, false, { message: 'Incorrect password.' })
  32. // }
  33. // return done(null, user)
  34. // })
  35. // )
  36. //passport.serializeUser((user, cb) => cb(null, user.id))
  37. // passport.deserializeUser(async (id, cb) => {
  38. // try {
  39. // const user = await db.models.user.findByPk(id)
  40. // if (!user) return cb(null, { id: 0 })
  41. // const idType = user.isAdmin ? 'trainerId' : 'userId'
  42. // const { sessions, reviews, notes, referrers } = await user.fetchMyData(
  43. // idType
  44. // )
  45. // user.setDataValue('sessions', sessions)
  46. // user.setDataValue('reviews', reviews)
  47. // user.setDataValue('notes', notes)
  48. // user.setDataValue('referrers', referrers)
  49. // cb(null, user)
  50. // } catch (err) {
  51. // console.log('error', err)
  52. // cb(err)
  53. // }
  54. // })
  55. // app.use(
  56. // session({
  57. // secret: process.env.SESSION_SECRET || 'LAKaLIHWIUH9*&h3ISVAEOIUFHAW83w',
  58. // store: sessionStore,
  59. // resave: false,
  60. // saveUninitialized: false,
  61. // cookie: { maxAge: 3600000 },
  62. // })
  63. // )
  64. //
  65. // app.use(passport.initialize())
  66. // app.use(passport.session())
  67. // body parsing middleware
  68. app.use(express.json())
  69. app.use(express.urlencoded({ extended: true }))
  70. app.use(require('body-parser').text())
  71. //app.use("/api", require("./api"));
  72. //app.use('/auth', require('./auth'))
  73. app.use(
  74. '/static',
  75. express.static(path.resolve(__dirname, '..', 'build', 'static'))
  76. )
  77. app.get('/manifest.json', (req: any, res: any) => {
  78. res.sendFile(path.resolve(__dirname, '..', 'build', 'manifest.json'))
  79. })
  80. app.get('/favicon.png', (req: any, res: any) => {
  81. res.sendFile(path.resolve(__dirname, '..', 'build', 'favicon.png'))
  82. })
  83. app.use('*', express.static(path.resolve(__dirname, '..', 'build')))
  84. // error handling endware
  85. app.use((err: any, req: any, res: any, next: any) => {
  86. console.error(err)
  87. console.error(err.stack)
  88. res.status(err.status || 500).send(err.message || 'Internal server error.')
  89. next()
  90. })
  91. const startListening = () => {}
  92. const startApp = async () => {
  93. //await sessionStore.sync();
  94. await startListening()
  95. }
  96. startApp()
  97. module.exports = {}