|
|
|
'use strict';
|
|
|
|
|
|
|
|
const http = require('http');
|
|
|
|
const server = require('./server');
|
|
|
|
|
|
|
|
const { port } = require('./config').server;
|
|
|
|
|
|
|
|
const { setupWhatsappHandler, resetCurrentConnections, loginCurrentConnections } = require('./core/handler/whatsappHandler');
|
|
|
|
const { setupAgentHandler } = require('./core/tripplanner');
|
|
|
|
|
|
|
|
async function bootstrap() {
|
|
|
|
/**
|
|
|
|
* Add external services init as async operations (db, redis, etc...)
|
|
|
|
* e.g.
|
|
|
|
* await sequelize.authenticate()
|
|
|
|
*/
|
|
|
|
|
|
|
|
setupWhatsappHandler();
|
|
|
|
setupAgentHandler();
|
|
|
|
|
|
|
|
return http.createServer(server.callback()).listen(port, '0.0.0.0');
|
|
|
|
}
|
|
|
|
|
|
|
|
bootstrap()
|
|
|
|
.then(server => {
|
|
|
|
console.log(`🚀 Server listening on port ${server.address().port}!`);
|
|
|
|
// resetCurrentConnections();
|
|
|
|
loginCurrentConnections();
|
|
|
|
})
|
|
|
|
.catch(err => {
|
|
|
|
setImmediate(() => {
|
|
|
|
console.error('Unable to run the server because of the following error:');
|
|
|
|
console.error(err);
|
|
|
|
process.exit();
|
|
|
|
});
|
|
|
|
});
|