You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.js 878B

123456789101112131415161718192021222324252627282930313233
  1. const Glue = require('@hapi/glue')
  2. const Exiting = require('exiting')
  3. const Manifest = require('./manifest')
  4. /**
  5. * Our main app server
  6. * @param {boolean} start
  7. * @returns {Server}
  8. */
  9. exports.deployment = async ({ start } = {}) => {
  10. const manifest = Manifest.get('/', process.env)
  11. const server = await Glue.compose(manifest, { relativeTo: __dirname })
  12. if (start) {
  13. await Exiting.createManager(server).start()
  14. server.log(['start'], `Server started at ${server.info.uri}`)
  15. process.title = 'siimee_backend'
  16. // manage logged in users to check against for online status
  17. server.app.loggedInUsers = []
  18. return server
  19. }
  20. await server.initialize()
  21. return server
  22. }
  23. if (require.main === module) {
  24. exports.deployment({ start: true })
  25. process.on('unhandledRejection', err => {
  26. throw err
  27. })
  28. }