c7a87c6cb8c8bc4f57cfe684372f6b82c3a95c3c
[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 _0x950a=['info','start','filter','number','exitCode','length','\x20processes\x20failed\x20at\x20startup:\x20','map','pm2_env','name','Online\x20apps:','online','join','status','log','App\x20Ready!','catch','Server\x20failed\x20to\x20start\x20due\x20to\x20error!','error','Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s','exit','lodash','./mysqldb','./config/seedDB','./config/license','./config/environment','./config/logger','app','./config/pm2','./config/schedule','./config/schedule/chat','./config/schedule/transcribe','./config/schedule/cloud-provider','then','seedDB','default'];(function(_0x5b644e,_0x2e5e07){var _0x49c6bf=function(_0x3032d9){while(--_0x3032d9){_0x5b644e['push'](_0x5b644e['shift']());}};_0x49c6bf(++_0x2e5e07);}(_0x950a,0x111));var _0xa950=function(_0x11c17c,_0x345842){_0x11c17c=_0x11c17c-0x0;var _0x2c72b5=_0x950a[_0x11c17c];return _0x2c72b5;};'use strict';var _=require(_0xa950('0x0'));var db=require(_0xa950('0x1'))['db'];var seedDb=require(_0xa950('0x2'));var checkLicense=require(_0xa950('0x3'));var rpc=require('./rpc');var config=require(_0xa950('0x4'));var logger=require(_0xa950('0x5'))(_0xa950('0x6'));var pm2=require(_0xa950('0x7'));var pm2Config=require('./config/pm2/config');var schedule=require(_0xa950('0x8'));var chat=require(_0xa950('0x9'));var whatsapp=require('./config/schedule/whatsapp');var transcribe=require(_0xa950('0xa'));var provider=require(_0xa950('0xb'));function main(){return db['sequelize']['sync']()[_0xa950('0xc')](function(){if(config[_0xa950('0xd')]){return seedDb[_0xa950('0xe')]();}})[_0xa950('0xc')](function(){return checkLicense[_0xa950('0xe')]();})[_0xa950('0xc')](function(){return rpc['listen']();})['then'](function(_0x546c08){logger[_0xa950('0xf')](_0x546c08);return chat['start']();})[_0xa950('0xc')](function(){return whatsapp[_0xa950('0x10')]();})[_0xa950('0xc')](function(){return schedule['start']();})[_0xa950('0xc')](function(){return transcribe['start']();})[_0xa950('0xc')](function(){return provider[_0xa950('0x10')]();})[_0xa950('0xc')](function(_0x4c217c){logger[_0xa950('0xf')](_0x4c217c);return pm2[_0xa950('0x10')](pm2Config);})[_0xa950('0xc')](function(_0x4ba74f){var _0x24fb36=_0x4ba74f[_0xa950('0x11')](function(_0x425201){return typeof _0x425201['exitCode']===_0xa950('0x12')&&_0x425201[_0xa950('0x13')]>=0x0;});if(_0x24fb36[_0xa950('0x14')]>0x0){throw new Error(_0x24fb36['length']+_0xa950('0x15')+_[_0xa950('0x16')](_0x24fb36,function(_0x162586){return'\x22'+_0x162586[_0xa950('0x17')][_0xa950('0x18')]+'\x22';}));}logger[_0xa950('0xf')](_0xa950('0x19'),_[_0xa950('0x16')](_[_0xa950('0x11')](_0x4ba74f,{'status':_0xa950('0x1a')}),_0xa950('0x18'))[_0xa950('0x1b')]());logger[_0xa950('0xf')]('Offline\x20apps:',_[_0xa950('0x16')](_[_0xa950('0x11')](_0x4ba74f,function(_0x50abe1){return _0x50abe1[_0xa950('0x1c')]!==_0xa950('0x1a');}),'name')[_0xa950('0x1b')]()||'None');console[_0xa950('0x1d')](_0xa950('0x1e'));})[_0xa950('0x1f')](function(_0x36a16c){console['log'](_0xa950('0x20'),_0x36a16c);logger[_0xa950('0x21')](_0xa950('0x22'),_0x36a16c);process[_0xa950('0x23')](0x1);});}main();