5c4a547d089b267cc579a827c8c7ef59f409d7a6
[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 _0xf6d1=['Online\x20apps:','filter','online','join','log','catch','Server\x20failed\x20to\x20start\x20due\x20to\x20error!','error','Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s','lodash','./mysqldb','./config/seedDB','./config/license','./rpc','./config/environment','./config/logger','./config/pm2','./config/schedule','./config/schedule/chat','./config/schedule/whatsapp','./config/schedule/transcribe','./config/schedule/cloud-provider','sequelize','sync','then','seedDB','default','listen','start','info','exitCode','number','length','map','pm2_env','name'];(function(_0x5e0f76,_0x23bf31){var _0x35f07a=function(_0x55cd81){while(--_0x55cd81){_0x5e0f76['push'](_0x5e0f76['shift']());}};_0x35f07a(++_0x23bf31);}(_0xf6d1,0x99));var _0x1f6d=function(_0xbb091,_0x3fe7ee){_0xbb091=_0xbb091-0x0;var _0x467a04=_0xf6d1[_0xbb091];return _0x467a04;};'use strict';var _=require(_0x1f6d('0x0'));var db=require(_0x1f6d('0x1'))['db'];var seedDb=require(_0x1f6d('0x2'));var checkLicense=require(_0x1f6d('0x3'));var rpc=require(_0x1f6d('0x4'));var config=require(_0x1f6d('0x5'));var logger=require(_0x1f6d('0x6'))('app');var pm2=require(_0x1f6d('0x7'));var pm2Config=require('./config/pm2/config');var schedule=require(_0x1f6d('0x8'));var chat=require(_0x1f6d('0x9'));var whatsapp=require(_0x1f6d('0xa'));var transcribe=require(_0x1f6d('0xb'));var provider=require(_0x1f6d('0xc'));function main(){return db[_0x1f6d('0xd')][_0x1f6d('0xe')]()[_0x1f6d('0xf')](function(){if(config[_0x1f6d('0x10')]){return seedDb[_0x1f6d('0x11')]();}})[_0x1f6d('0xf')](function(){return checkLicense[_0x1f6d('0x11')]();})['then'](function(){return rpc[_0x1f6d('0x12')]();})['then'](function(_0x456882){logger['info'](_0x456882);return chat[_0x1f6d('0x13')]();})[_0x1f6d('0xf')](function(){return whatsapp[_0x1f6d('0x13')]();})[_0x1f6d('0xf')](function(){return schedule['start']();})['then'](function(){return transcribe[_0x1f6d('0x13')]();})[_0x1f6d('0xf')](function(){return provider[_0x1f6d('0x13')]();})[_0x1f6d('0xf')](function(_0x43ffaa){logger[_0x1f6d('0x14')](_0x43ffaa);return pm2[_0x1f6d('0x13')](pm2Config);})[_0x1f6d('0xf')](function(_0x35d9eb){var _0x15fa4c=_0x35d9eb['filter'](function(_0x33f334){return typeof _0x33f334[_0x1f6d('0x15')]===_0x1f6d('0x16')&&_0x33f334['exitCode']>=0x0;});if(_0x15fa4c[_0x1f6d('0x17')]>0x0){throw new Error(_0x15fa4c[_0x1f6d('0x17')]+'\x20processes\x20failed\x20at\x20startup:\x20'+_[_0x1f6d('0x18')](_0x15fa4c,function(_0x35e432){return'\x22'+_0x35e432[_0x1f6d('0x19')][_0x1f6d('0x1a')]+'\x22';}));}logger[_0x1f6d('0x14')](_0x1f6d('0x1b'),_['map'](_[_0x1f6d('0x1c')](_0x35d9eb,{'status':_0x1f6d('0x1d')}),_0x1f6d('0x1a'))[_0x1f6d('0x1e')]());logger[_0x1f6d('0x14')]('Offline\x20apps:',_[_0x1f6d('0x18')](_[_0x1f6d('0x1c')](_0x35d9eb,function(_0x4a55ae){return _0x4a55ae['status']!==_0x1f6d('0x1d');}),_0x1f6d('0x1a'))[_0x1f6d('0x1e')]()||'None');console[_0x1f6d('0x1f')]('App\x20Ready!');})[_0x1f6d('0x20')](function(_0x285ec2){console['log'](_0x1f6d('0x21'),_0x285ec2);logger[_0x1f6d('0x22')](_0x1f6d('0x23'),_0x285ec2);process['exit'](0x1);});}main();