Built motion from commit da24aabd.|2.6.20
[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 _0xbea5=['./config/license','./rpc','./config/environment','./config/logger','app','./config/schedule','./config/schedule/whatsapp','sequelize','seedDB','default','then','info','start','filter','exitCode','length','map','pm2_env','Online\x20apps:','name','join','status','None','log','catch','Server\x20failed\x20to\x20start\x20due\x20to\x20error!','Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s','lodash','./mysqldb'];(function(_0x8ecc41,_0x449804){var _0x579f8c=function(_0x4cc77d){while(--_0x4cc77d){_0x8ecc41['push'](_0x8ecc41['shift']());}};_0x579f8c(++_0x449804);}(_0xbea5,0x177));var _0x5bea=function(_0x5783f4,_0x4a9e0a){_0x5783f4=_0x5783f4-0x0;var _0x28e380=_0xbea5[_0x5783f4];return _0x28e380;};'use strict';var _=require(_0x5bea('0x0'));var db=require(_0x5bea('0x1'))['db'];var seedDb=require('./config/seedDB');var checkLicense=require(_0x5bea('0x2'));var rpc=require(_0x5bea('0x3'));var config=require(_0x5bea('0x4'));var logger=require(_0x5bea('0x5'))(_0x5bea('0x6'));var pm2=require('./config/pm2');var pm2Config=require('./config/pm2/config');var schedule=require(_0x5bea('0x7'));var chat=require('./config/schedule/chat');var whatsapp=require(_0x5bea('0x8'));var transcribe=require('./config/schedule/transcribe');var provider=require('./config/schedule/cloud-provider');function main(){return db[_0x5bea('0x9')]['sync']()['then'](function(){if(config[_0x5bea('0xa')]){return seedDb[_0x5bea('0xb')]();}})[_0x5bea('0xc')](function(){return checkLicense['default']();})[_0x5bea('0xc')](function(){return rpc['listen']();})['then'](function(_0x2af7af){logger[_0x5bea('0xd')](_0x2af7af);return chat[_0x5bea('0xe')]();})[_0x5bea('0xc')](function(){return whatsapp[_0x5bea('0xe')]();})[_0x5bea('0xc')](function(){return schedule['start']();})[_0x5bea('0xc')](function(){return transcribe[_0x5bea('0xe')]();})['then'](function(){return provider[_0x5bea('0xe')]();})[_0x5bea('0xc')](function(_0x4fdefd){logger[_0x5bea('0xd')](_0x4fdefd);return pm2[_0x5bea('0xe')](pm2Config);})[_0x5bea('0xc')](function(_0xda336a){var _0x1e2861=_0xda336a[_0x5bea('0xf')](function(_0x14d46c){return typeof _0x14d46c['exitCode']==='number'&&_0x14d46c[_0x5bea('0x10')]>=0x0;});if(_0x1e2861[_0x5bea('0x11')]>0x0){throw new Error(_0x1e2861[_0x5bea('0x11')]+'\x20processes\x20failed\x20at\x20startup:\x20'+_[_0x5bea('0x12')](_0x1e2861,function(_0x18d13f){return'\x22'+_0x18d13f[_0x5bea('0x13')]['name']+'\x22';}));}logger[_0x5bea('0xd')](_0x5bea('0x14'),_['map'](_[_0x5bea('0xf')](_0xda336a,{'status':'online'}),_0x5bea('0x15'))[_0x5bea('0x16')]());logger[_0x5bea('0xd')]('Offline\x20apps:',_['map'](_[_0x5bea('0xf')](_0xda336a,function(_0x2bf974){return _0x2bf974[_0x5bea('0x17')]!=='online';}),_0x5bea('0x15'))[_0x5bea('0x16')]()||_0x5bea('0x18'));console[_0x5bea('0x19')]('App\x20Ready!');})[_0x5bea('0x1a')](function(_0xad55b1){console[_0x5bea('0x19')](_0x5bea('0x1b'),_0xad55b1);logger['error'](_0x5bea('0x1c'),_0xad55b1);process['exit'](0x1);});}main();