Built motion from commit 616d3211.|2.6.4
[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 _0xd9c8=['./config/license','./rpc','./config/environment','./config/logger','app','./config/pm2','./config/pm2/config','./config/schedule/transcribe','./config/schedule/cloud-provider','sequelize','then','seedDB','default','listen','info','start','filter','number','exitCode','length','\x20processes\x20failed\x20at\x20startup:\x20','map','pm2_env','name','join','Offline\x20apps:','online','log','App\x20Ready!','catch','Server\x20failed\x20to\x20start\x20due\x20to\x20error!','error','exit','lodash','./mysqldb'];(function(_0xfedbbd,_0x4ee33e){var _0x223a6e=function(_0x80c296){while(--_0x80c296){_0xfedbbd['push'](_0xfedbbd['shift']());}};_0x223a6e(++_0x4ee33e);}(_0xd9c8,0x15c));var _0x8d9c=function(_0x2b4411,_0x2625ed){_0x2b4411=_0x2b4411-0x0;var _0x8e41ef=_0xd9c8[_0x2b4411];return _0x8e41ef;};'use strict';var _=require(_0x8d9c('0x0'));var db=require(_0x8d9c('0x1'))['db'];var seedDb=require('./config/seedDB');var checkLicense=require(_0x8d9c('0x2'));var rpc=require(_0x8d9c('0x3'));var config=require(_0x8d9c('0x4'));var logger=require(_0x8d9c('0x5'))(_0x8d9c('0x6'));var pm2=require(_0x8d9c('0x7'));var pm2Config=require(_0x8d9c('0x8'));var schedule=require('./config/schedule');var chat=require('./config/schedule/chat');var whatsapp=require('./config/schedule/whatsapp');var transcribe=require(_0x8d9c('0x9'));var provider=require(_0x8d9c('0xa'));function main(){return db[_0x8d9c('0xb')]['sync']()[_0x8d9c('0xc')](function(){if(config[_0x8d9c('0xd')]){return seedDb[_0x8d9c('0xe')]();}})[_0x8d9c('0xc')](function(){return checkLicense[_0x8d9c('0xe')]();})[_0x8d9c('0xc')](function(){return rpc[_0x8d9c('0xf')]();})[_0x8d9c('0xc')](function(_0x52de51){logger[_0x8d9c('0x10')](_0x52de51);return chat['start']();})[_0x8d9c('0xc')](function(){return whatsapp['start']();})[_0x8d9c('0xc')](function(){return schedule['start']();})['then'](function(){return transcribe[_0x8d9c('0x11')]();})['then'](function(){return provider[_0x8d9c('0x11')]();})[_0x8d9c('0xc')](function(_0x85cd54){logger[_0x8d9c('0x10')](_0x85cd54);return pm2[_0x8d9c('0x11')](pm2Config);})[_0x8d9c('0xc')](function(_0x1110f9){var _0x1c961c=_0x1110f9[_0x8d9c('0x12')](function(_0xea045b){return typeof _0xea045b['exitCode']===_0x8d9c('0x13')&&_0xea045b[_0x8d9c('0x14')]>=0x0;});if(_0x1c961c[_0x8d9c('0x15')]>0x0){throw new Error(_0x1c961c[_0x8d9c('0x15')]+_0x8d9c('0x16')+_[_0x8d9c('0x17')](_0x1c961c,function(_0x304de9){return'\x22'+_0x304de9[_0x8d9c('0x18')][_0x8d9c('0x19')]+'\x22';}));}logger[_0x8d9c('0x10')]('Online\x20apps:',_[_0x8d9c('0x17')](_[_0x8d9c('0x12')](_0x1110f9,{'status':'online'}),_0x8d9c('0x19'))[_0x8d9c('0x1a')]());logger['info'](_0x8d9c('0x1b'),_[_0x8d9c('0x17')](_[_0x8d9c('0x12')](_0x1110f9,function(_0x3531cb){return _0x3531cb['status']!==_0x8d9c('0x1c');}),_0x8d9c('0x19'))['join']()||'None');console[_0x8d9c('0x1d')](_0x8d9c('0x1e'));})[_0x8d9c('0x1f')](function(_0x3a3892){console[_0x8d9c('0x1d')](_0x8d9c('0x20'),_0x3a3892);logger[_0x8d9c('0x21')]('Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s',_0x3a3892);process[_0x8d9c('0x22')](0x1);});}main();