786858eb6debb5baeaeb3f0003ee41f10bd477fb
[motion2.git] / server / app.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x9009=['join','log','App\x20Ready!','catch','error','Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s','lodash','./config/seedDB','./config/license','./config/environment','./config/logger','app','./config/pm2','./config/schedule','./config/schedule/chat','./config/schedule/cloud-provider','sequelize','then','seedDB','default','listen','info','start','filter','exitCode','number','length','\x20processes\x20failed\x20at\x20startup:\x20','map','name','Online\x20apps:','online','status'];(function(_0x194acc,_0x16a88a){var _0x2b7aab=function(_0x52944f){while(--_0x52944f){_0x194acc['push'](_0x194acc['shift']());}};_0x2b7aab(++_0x16a88a);}(_0x9009,0x1d4));var _0x9900=function(_0x575fd4,_0x2afd0e){_0x575fd4=_0x575fd4-0x0;var _0xafc0d7=_0x9009[_0x575fd4];return _0xafc0d7;};'use strict';var _=require(_0x9900('0x0'));var db=require('./mysqldb')['db'];var seedDb=require(_0x9900('0x1'));var checkLicense=require(_0x9900('0x2'));var rpc=require('./rpc');var config=require(_0x9900('0x3'));var logger=require(_0x9900('0x4'))(_0x9900('0x5'));var pm2=require(_0x9900('0x6'));var pm2Config=require('./config/pm2/config');var schedule=require(_0x9900('0x7'));var chat=require(_0x9900('0x8'));var whatsapp=require('./config/schedule/whatsapp');var transcribe=require('./config/schedule/transcribe');var provider=require(_0x9900('0x9'));function main(){return db[_0x9900('0xa')]['sync']()[_0x9900('0xb')](function(){if(config[_0x9900('0xc')]){return seedDb[_0x9900('0xd')]();}})[_0x9900('0xb')](function(){return checkLicense['default']();})[_0x9900('0xb')](function(){return rpc[_0x9900('0xe')]();})[_0x9900('0xb')](function(_0x110412){logger[_0x9900('0xf')](_0x110412);return chat['start']();})['then'](function(){return whatsapp[_0x9900('0x10')]();})[_0x9900('0xb')](function(){return schedule['start']();})['then'](function(){return transcribe[_0x9900('0x10')]();})['then'](function(){return provider[_0x9900('0x10')]();})[_0x9900('0xb')](function(_0x1ff535){logger[_0x9900('0xf')](_0x1ff535);return pm2[_0x9900('0x10')](pm2Config);})[_0x9900('0xb')](function(_0x2eaf32){var _0x7cab33=_0x2eaf32[_0x9900('0x11')](function(_0x209b4d){return typeof _0x209b4d[_0x9900('0x12')]===_0x9900('0x13')&&_0x209b4d[_0x9900('0x12')]>=0x0;});if(_0x7cab33[_0x9900('0x14')]>0x0){throw new Error(_0x7cab33[_0x9900('0x14')]+_0x9900('0x15')+_[_0x9900('0x16')](_0x7cab33,function(_0x5d9ec9){return'\x22'+_0x5d9ec9['pm2_env'][_0x9900('0x17')]+'\x22';}));}logger[_0x9900('0xf')](_0x9900('0x18'),_[_0x9900('0x16')](_['filter'](_0x2eaf32,{'status':_0x9900('0x19')}),'name')['join']());logger[_0x9900('0xf')]('Offline\x20apps:',_[_0x9900('0x16')](_['filter'](_0x2eaf32,function(_0x48d6df){return _0x48d6df[_0x9900('0x1a')]!==_0x9900('0x19');}),_0x9900('0x17'))[_0x9900('0x1b')]()||'None');console[_0x9900('0x1c')](_0x9900('0x1d'));})[_0x9900('0x1e')](function(_0x888599){console[_0x9900('0x1c')]('Server\x20failed\x20to\x20start\x20due\x20to\x20error!',_0x888599);logger[_0x9900('0x1f')](_0x9900('0x20'),_0x888599);process['exit'](0x1);});}main();