Built motion from commit 092f8824.|2.5.49
[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 _0x9c63=['error','Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s','exit','lodash','./mysqldb','./config/seedDB','./config/license','./rpc','./config/logger','app','./config/schedule','./config/schedule/chat','./config/schedule/whatsapp','./config/schedule/transcribe','./config/schedule/cloud-provider','sequelize','then','seedDB','default','listen','start','info','filter','exitCode','length','\x20processes\x20failed\x20at\x20startup:\x20','map','pm2_env','name','join','status','None','catch','log','Server\x20failed\x20to\x20start\x20due\x20to\x20error!'];(function(_0x24490b,_0x695daa){var _0x578121=function(_0x120687){while(--_0x120687){_0x24490b['push'](_0x24490b['shift']());}};_0x578121(++_0x695daa);}(_0x9c63,0x1a7));var _0x39c6=function(_0x4cc85e,_0x557dcc){_0x4cc85e=_0x4cc85e-0x0;var _0x2aea39=_0x9c63[_0x4cc85e];return _0x2aea39;};'use strict';var _=require(_0x39c6('0x0'));var db=require(_0x39c6('0x1'))['db'];var seedDb=require(_0x39c6('0x2'));var checkLicense=require(_0x39c6('0x3'));var rpc=require(_0x39c6('0x4'));var config=require('./config/environment');var logger=require(_0x39c6('0x5'))(_0x39c6('0x6'));var pm2=require('./config/pm2');var pm2Config=require('./config/pm2/config');var schedule=require(_0x39c6('0x7'));var chat=require(_0x39c6('0x8'));var whatsapp=require(_0x39c6('0x9'));var transcribe=require(_0x39c6('0xa'));var provider=require(_0x39c6('0xb'));function main(){return db[_0x39c6('0xc')]['sync']()[_0x39c6('0xd')](function(){if(config[_0x39c6('0xe')]){return seedDb[_0x39c6('0xf')]();}})[_0x39c6('0xd')](function(){return checkLicense[_0x39c6('0xf')]();})['then'](function(){return rpc[_0x39c6('0x10')]();})['then'](function(_0x114818){logger['info'](_0x114818);return chat[_0x39c6('0x11')]();})[_0x39c6('0xd')](function(){return whatsapp[_0x39c6('0x11')]();})[_0x39c6('0xd')](function(){return schedule['start']();})[_0x39c6('0xd')](function(){return transcribe['start']();})['then'](function(){return provider[_0x39c6('0x11')]();})[_0x39c6('0xd')](function(_0x2542c9){logger[_0x39c6('0x12')](_0x2542c9);return pm2['start'](pm2Config);})[_0x39c6('0xd')](function(_0x4c83dc){var _0xf713c8=_0x4c83dc[_0x39c6('0x13')](function(_0x2ac896){return typeof _0x2ac896['exitCode']==='number'&&_0x2ac896[_0x39c6('0x14')]>=0x0;});if(_0xf713c8[_0x39c6('0x15')]>0x0){throw new Error(_0xf713c8['length']+_0x39c6('0x16')+_[_0x39c6('0x17')](_0xf713c8,function(_0x10ffb8){return'\x22'+_0x10ffb8[_0x39c6('0x18')][_0x39c6('0x19')]+'\x22';}));}logger[_0x39c6('0x12')]('Online\x20apps:',_['map'](_['filter'](_0x4c83dc,{'status':'online'}),'name')[_0x39c6('0x1a')]());logger['info']('Offline\x20apps:',_[_0x39c6('0x17')](_[_0x39c6('0x13')](_0x4c83dc,function(_0x1d91aa){return _0x1d91aa[_0x39c6('0x1b')]!=='online';}),'name')['join']()||_0x39c6('0x1c'));console['log']('App\x20Ready!');})[_0x39c6('0x1d')](function(_0x3bbdbc){console[_0x39c6('0x1e')](_0x39c6('0x1f'),_0x3bbdbc);logger[_0x39c6('0x20')](_0x39c6('0x21'),_0x3bbdbc);process[_0x39c6('0x22')](0x1);});}main();