8b67a016387454b68c9fbbd7aadff7383687290b
[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 _0x3ca4=['exit','lodash','./mysqldb','./config/seedDB','./config/environment','./config/logger','app','./config/pm2','./config/pm2/config','./config/schedule','./config/schedule/chat','./config/schedule/transcribe','./config/schedule/cloud-provider','sequelize','sync','then','seedDB','default','listen','info','start','filter','exitCode','number','length','\x20processes\x20failed\x20at\x20startup:\x20','Online\x20apps:','map','online','name','join','Offline\x20apps:','status','None','log','App\x20Ready!','error','Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s'];(function(_0xa28399,_0x51bffe){var _0xde656e=function(_0x4b34fd){while(--_0x4b34fd){_0xa28399['push'](_0xa28399['shift']());}};_0xde656e(++_0x51bffe);}(_0x3ca4,0x17d));var _0x43ca=function(_0x1fd9c3,_0x2f4807){_0x1fd9c3=_0x1fd9c3-0x0;var _0xecad1b=_0x3ca4[_0x1fd9c3];return _0xecad1b;};'use strict';var _=require(_0x43ca('0x0'));var db=require(_0x43ca('0x1'))['db'];var seedDb=require(_0x43ca('0x2'));var checkLicense=require('./config/license');var rpc=require('./rpc');var config=require(_0x43ca('0x3'));var logger=require(_0x43ca('0x4'))(_0x43ca('0x5'));var pm2=require(_0x43ca('0x6'));var pm2Config=require(_0x43ca('0x7'));var schedule=require(_0x43ca('0x8'));var chat=require(_0x43ca('0x9'));var whatsapp=require('./config/schedule/whatsapp');var transcribe=require(_0x43ca('0xa'));var provider=require(_0x43ca('0xb'));function main(){return db[_0x43ca('0xc')][_0x43ca('0xd')]()[_0x43ca('0xe')](function(){if(config[_0x43ca('0xf')]){return seedDb[_0x43ca('0x10')]();}})[_0x43ca('0xe')](function(){return checkLicense['default']();})['then'](function(){return rpc[_0x43ca('0x11')]();})[_0x43ca('0xe')](function(_0x4d5516){logger[_0x43ca('0x12')](_0x4d5516);return chat['start']();})[_0x43ca('0xe')](function(){return whatsapp[_0x43ca('0x13')]();})[_0x43ca('0xe')](function(){return schedule[_0x43ca('0x13')]();})[_0x43ca('0xe')](function(){return transcribe[_0x43ca('0x13')]();})[_0x43ca('0xe')](function(){return provider[_0x43ca('0x13')]();})[_0x43ca('0xe')](function(_0x55cbce){logger[_0x43ca('0x12')](_0x55cbce);return pm2[_0x43ca('0x13')](pm2Config);})['then'](function(_0x309176){var _0x5c9a24=_0x309176[_0x43ca('0x14')](function(_0x567579){return typeof _0x567579[_0x43ca('0x15')]===_0x43ca('0x16')&&_0x567579['exitCode']>=0x0;});if(_0x5c9a24[_0x43ca('0x17')]>0x0){throw new Error(_0x5c9a24[_0x43ca('0x17')]+_0x43ca('0x18')+_['map'](_0x5c9a24,function(_0x4fb5e4){return'\x22'+_0x4fb5e4['pm2_env']['name']+'\x22';}));}logger[_0x43ca('0x12')](_0x43ca('0x19'),_[_0x43ca('0x1a')](_['filter'](_0x309176,{'status':_0x43ca('0x1b')}),_0x43ca('0x1c'))[_0x43ca('0x1d')]());logger['info'](_0x43ca('0x1e'),_['map'](_[_0x43ca('0x14')](_0x309176,function(_0x9bc5dc){return _0x9bc5dc[_0x43ca('0x1f')]!=='online';}),_0x43ca('0x1c'))[_0x43ca('0x1d')]()||_0x43ca('0x20'));console[_0x43ca('0x21')](_0x43ca('0x22'));})['catch'](function(_0x138ccf){console[_0x43ca('0x21')]('Server\x20failed\x20to\x20start\x20due\x20to\x20error!',_0x138ccf);logger[_0x43ca('0x23')](_0x43ca('0x24'),_0x138ccf);process[_0x43ca('0x25')](0x1);});}main();