7a9ef18140eeaad64478fea610c8f1030e5529c8
[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 _0x92bc=['exitCode','number','length','\x20processes\x20failed\x20at\x20startup:\x20','map','pm2_env','name','Online\x20apps:','join','status','online','None','App\x20Ready!','log','Server\x20failed\x20to\x20start\x20due\x20to\x20error!','error','Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s','lodash','./mysqldb','./config/seedDB','./config/environment','./config/logger','app','./config/pm2','./config/schedule','./config/schedule/chat','./config/schedule/whatsapp','sequelize','sync','seedDB','default','then','start','info','filter'];(function(_0x53a207,_0xbca4f8){var _0x45fd8c=function(_0x1ff8fe){while(--_0x1ff8fe){_0x53a207['push'](_0x53a207['shift']());}};_0x45fd8c(++_0xbca4f8);}(_0x92bc,0x106));var _0xc92b=function(_0x40f45c,_0x2aa4ff){_0x40f45c=_0x40f45c-0x0;var _0x6a2965=_0x92bc[_0x40f45c];return _0x6a2965;};'use strict';var _=require(_0xc92b('0x0'));var db=require(_0xc92b('0x1'))['db'];var seedDb=require(_0xc92b('0x2'));var checkLicense=require('./config/license');var rpc=require('./rpc');var config=require(_0xc92b('0x3'));var logger=require(_0xc92b('0x4'))(_0xc92b('0x5'));var pm2=require(_0xc92b('0x6'));var pm2Config=require('./config/pm2/config');var schedule=require(_0xc92b('0x7'));var chat=require(_0xc92b('0x8'));var whatsapp=require(_0xc92b('0x9'));var transcribe=require('./config/schedule/transcribe');var provider=require('./config/schedule/cloud-provider');function main(){return db[_0xc92b('0xa')][_0xc92b('0xb')]()['then'](function(){if(config[_0xc92b('0xc')]){return seedDb[_0xc92b('0xd')]();}})[_0xc92b('0xe')](function(){return checkLicense['default']();})[_0xc92b('0xe')](function(){return rpc['listen']();})['then'](function(_0x3f288c){logger['info'](_0x3f288c);return chat[_0xc92b('0xf')]();})[_0xc92b('0xe')](function(){return whatsapp[_0xc92b('0xf')]();})[_0xc92b('0xe')](function(){return schedule[_0xc92b('0xf')]();})[_0xc92b('0xe')](function(){return transcribe[_0xc92b('0xf')]();})[_0xc92b('0xe')](function(){return provider[_0xc92b('0xf')]();})[_0xc92b('0xe')](function(_0x276aa9){logger[_0xc92b('0x10')](_0x276aa9);return pm2[_0xc92b('0xf')](pm2Config);})[_0xc92b('0xe')](function(_0x4a8071){var _0x3980f4=_0x4a8071[_0xc92b('0x11')](function(_0x5e6a40){return typeof _0x5e6a40[_0xc92b('0x12')]===_0xc92b('0x13')&&_0x5e6a40[_0xc92b('0x12')]>=0x0;});if(_0x3980f4[_0xc92b('0x14')]>0x0){throw new Error(_0x3980f4[_0xc92b('0x14')]+_0xc92b('0x15')+_[_0xc92b('0x16')](_0x3980f4,function(_0x5d52fc){return'\x22'+_0x5d52fc[_0xc92b('0x17')][_0xc92b('0x18')]+'\x22';}));}logger[_0xc92b('0x10')](_0xc92b('0x19'),_[_0xc92b('0x16')](_[_0xc92b('0x11')](_0x4a8071,{'status':'online'}),_0xc92b('0x18'))[_0xc92b('0x1a')]());logger[_0xc92b('0x10')]('Offline\x20apps:',_[_0xc92b('0x16')](_[_0xc92b('0x11')](_0x4a8071,function(_0x544123){return _0x544123[_0xc92b('0x1b')]!==_0xc92b('0x1c');}),_0xc92b('0x18'))['join']()||_0xc92b('0x1d'));console['log'](_0xc92b('0x1e'));})['catch'](function(_0x2ba166){console[_0xc92b('0x1f')](_0xc92b('0x20'),_0x2ba166);logger[_0xc92b('0x21')](_0xc92b('0x22'),_0x2ba166);process['exit'](0x1);});}main();