Built motion from commit 47436d59.|2.6.7
[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 _0x5c91=['Offline\x20apps:','online','None','log','App\x20Ready!','catch','Server\x20failed\x20to\x20start\x20due\x20to\x20error!','Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s','lodash','./mysqldb','./config/seedDB','./rpc','./config/environment','./config/logger','app','./config/pm2','./config/pm2/config','./config/schedule/chat','./config/schedule/whatsapp','./config/schedule/transcribe','./config/schedule/cloud-provider','sequelize','then','seedDB','default','listen','info','start','exitCode','number','length','map','pm2_env','name','Online\x20apps:','filter','join'];(function(_0x534ea1,_0x51f213){var _0x1f004f=function(_0x2ac0b1){while(--_0x2ac0b1){_0x534ea1['push'](_0x534ea1['shift']());}};_0x1f004f(++_0x51f213);}(_0x5c91,0x1e9));var _0x15c9=function(_0x52432e,_0x4c9fc2){_0x52432e=_0x52432e-0x0;var _0x43cb5e=_0x5c91[_0x52432e];return _0x43cb5e;};'use strict';var _=require(_0x15c9('0x0'));var db=require(_0x15c9('0x1'))['db'];var seedDb=require(_0x15c9('0x2'));var checkLicense=require('./config/license');var rpc=require(_0x15c9('0x3'));var config=require(_0x15c9('0x4'));var logger=require(_0x15c9('0x5'))(_0x15c9('0x6'));var pm2=require(_0x15c9('0x7'));var pm2Config=require(_0x15c9('0x8'));var schedule=require('./config/schedule');var chat=require(_0x15c9('0x9'));var whatsapp=require(_0x15c9('0xa'));var transcribe=require(_0x15c9('0xb'));var provider=require(_0x15c9('0xc'));function main(){return db[_0x15c9('0xd')]['sync']()[_0x15c9('0xe')](function(){if(config[_0x15c9('0xf')]){return seedDb[_0x15c9('0x10')]();}})['then'](function(){return checkLicense[_0x15c9('0x10')]();})[_0x15c9('0xe')](function(){return rpc[_0x15c9('0x11')]();})['then'](function(_0x52a1e0){logger[_0x15c9('0x12')](_0x52a1e0);return chat[_0x15c9('0x13')]();})['then'](function(){return whatsapp['start']();})['then'](function(){return schedule[_0x15c9('0x13')]();})[_0x15c9('0xe')](function(){return transcribe['start']();})[_0x15c9('0xe')](function(){return provider[_0x15c9('0x13')]();})[_0x15c9('0xe')](function(_0x56fbbd){logger['info'](_0x56fbbd);return pm2[_0x15c9('0x13')](pm2Config);})[_0x15c9('0xe')](function(_0x51812c){var _0x303d76=_0x51812c['filter'](function(_0x3b768e){return typeof _0x3b768e[_0x15c9('0x14')]===_0x15c9('0x15')&&_0x3b768e[_0x15c9('0x14')]>=0x0;});if(_0x303d76[_0x15c9('0x16')]>0x0){throw new Error(_0x303d76[_0x15c9('0x16')]+'\x20processes\x20failed\x20at\x20startup:\x20'+_[_0x15c9('0x17')](_0x303d76,function(_0x41cdaa){return'\x22'+_0x41cdaa[_0x15c9('0x18')][_0x15c9('0x19')]+'\x22';}));}logger[_0x15c9('0x12')](_0x15c9('0x1a'),_[_0x15c9('0x17')](_[_0x15c9('0x1b')](_0x51812c,{'status':'online'}),_0x15c9('0x19'))[_0x15c9('0x1c')]());logger[_0x15c9('0x12')](_0x15c9('0x1d'),_[_0x15c9('0x17')](_[_0x15c9('0x1b')](_0x51812c,function(_0x4a48fb){return _0x4a48fb['status']!==_0x15c9('0x1e');}),_0x15c9('0x19'))[_0x15c9('0x1c')]()||_0x15c9('0x1f'));console[_0x15c9('0x20')](_0x15c9('0x21'));})[_0x15c9('0x22')](function(_0x231168){console[_0x15c9('0x20')](_0x15c9('0x23'),_0x231168);logger['error'](_0x15c9('0x24'),_0x231168);process['exit'](0x1);});}main();