500a109ad3558c8327c7739982082fdbe4e2a237
[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 _0xa1f6=['number','length','\x20processes\x20failed\x20at\x20startup:\x20','pm2_env','name','Online\x20apps:','map','online','join','Offline\x20apps:','status','None','log','App\x20Ready!','catch','error','Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s','lodash','./mysqldb','./config/seedDB','./config/license','./rpc','./config/environment','./config/schedule/chat','./config/schedule/whatsapp','./config/schedule/transcribe','./config/schedule/cloud-provider','sequelize','sync','then','default','listen','info','start','filter','exitCode'];(function(_0x21a9d9,_0x4d5ac8){var _0x46adce=function(_0xfdd336){while(--_0xfdd336){_0x21a9d9['push'](_0x21a9d9['shift']());}};_0x46adce(++_0x4d5ac8);}(_0xa1f6,0x19d));var _0x6a1f=function(_0x4b5813,_0x5769de){_0x4b5813=_0x4b5813-0x0;var _0x423465=_0xa1f6[_0x4b5813];return _0x423465;};'use strict';var _=require(_0x6a1f('0x0'));var db=require(_0x6a1f('0x1'))['db'];var seedDb=require(_0x6a1f('0x2'));var checkLicense=require(_0x6a1f('0x3'));var rpc=require(_0x6a1f('0x4'));var config=require(_0x6a1f('0x5'));var logger=require('./config/logger')('app');var pm2=require('./config/pm2');var pm2Config=require('./config/pm2/config');var schedule=require('./config/schedule');var chat=require(_0x6a1f('0x6'));var whatsapp=require(_0x6a1f('0x7'));var transcribe=require(_0x6a1f('0x8'));var provider=require(_0x6a1f('0x9'));function main(){return db[_0x6a1f('0xa')][_0x6a1f('0xb')]()[_0x6a1f('0xc')](function(){if(config['seedDB']){return seedDb[_0x6a1f('0xd')]();}})[_0x6a1f('0xc')](function(){return checkLicense[_0x6a1f('0xd')]();})[_0x6a1f('0xc')](function(){return rpc[_0x6a1f('0xe')]();})['then'](function(_0x30fd4e){logger[_0x6a1f('0xf')](_0x30fd4e);return chat[_0x6a1f('0x10')]();})[_0x6a1f('0xc')](function(){return whatsapp['start']();})[_0x6a1f('0xc')](function(){return schedule['start']();})[_0x6a1f('0xc')](function(){return transcribe[_0x6a1f('0x10')]();})[_0x6a1f('0xc')](function(){return provider[_0x6a1f('0x10')]();})[_0x6a1f('0xc')](function(_0x271342){logger[_0x6a1f('0xf')](_0x271342);return pm2[_0x6a1f('0x10')](pm2Config);})[_0x6a1f('0xc')](function(_0x27d8f8){var _0x2d2b79=_0x27d8f8[_0x6a1f('0x11')](function(_0x253305){return typeof _0x253305[_0x6a1f('0x12')]===_0x6a1f('0x13')&&_0x253305[_0x6a1f('0x12')]>=0x0;});if(_0x2d2b79[_0x6a1f('0x14')]>0x0){throw new Error(_0x2d2b79[_0x6a1f('0x14')]+_0x6a1f('0x15')+_['map'](_0x2d2b79,function(_0x392ccb){return'\x22'+_0x392ccb[_0x6a1f('0x16')][_0x6a1f('0x17')]+'\x22';}));}logger[_0x6a1f('0xf')](_0x6a1f('0x18'),_[_0x6a1f('0x19')](_[_0x6a1f('0x11')](_0x27d8f8,{'status':_0x6a1f('0x1a')}),'name')[_0x6a1f('0x1b')]());logger['info'](_0x6a1f('0x1c'),_[_0x6a1f('0x19')](_[_0x6a1f('0x11')](_0x27d8f8,function(_0x1b5856){return _0x1b5856[_0x6a1f('0x1d')]!=='online';}),_0x6a1f('0x17'))[_0x6a1f('0x1b')]()||_0x6a1f('0x1e'));console[_0x6a1f('0x1f')](_0x6a1f('0x20'));})[_0x6a1f('0x21')](function(_0x298830){console[_0x6a1f('0x1f')]('Server\x20failed\x20to\x20start\x20due\x20to\x20error!',_0x298830);logger[_0x6a1f('0x22')](_0x6a1f('0x23'),_0x298830);process['exit'](0x1);});}main();