Built motion from commit 87cd5f02.|2.5.48
[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 _0xdbd0=['exitCode','length','map','Online\x20apps:','online','name','Offline\x20apps:','log','App\x20Ready!','Server\x20failed\x20to\x20start\x20due\x20to\x20error!','Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s','exit','lodash','./mysqldb','./config/seedDB','./config/license','./rpc','./config/logger','app','./config/pm2','./config/schedule','./config/schedule/chat','./config/schedule/whatsapp','./config/schedule/transcribe','sync','then','seedDB','default','info','start','filter'];(function(_0x1cc8fe,_0x105328){var _0x230054=function(_0x1a1b56){while(--_0x1a1b56){_0x1cc8fe['push'](_0x1cc8fe['shift']());}};_0x230054(++_0x105328);}(_0xdbd0,0x88));var _0x0dbd=function(_0x45aeb9,_0x105f16){_0x45aeb9=_0x45aeb9-0x0;var _0x465601=_0xdbd0[_0x45aeb9];return _0x465601;};'use strict';var _=require(_0x0dbd('0x0'));var db=require(_0x0dbd('0x1'))['db'];var seedDb=require(_0x0dbd('0x2'));var checkLicense=require(_0x0dbd('0x3'));var rpc=require(_0x0dbd('0x4'));var config=require('./config/environment');var logger=require(_0x0dbd('0x5'))(_0x0dbd('0x6'));var pm2=require(_0x0dbd('0x7'));var pm2Config=require('./config/pm2/config');var schedule=require(_0x0dbd('0x8'));var chat=require(_0x0dbd('0x9'));var whatsapp=require(_0x0dbd('0xa'));var transcribe=require(_0x0dbd('0xb'));var provider=require('./config/schedule/cloud-provider');function main(){return db['sequelize'][_0x0dbd('0xc')]()[_0x0dbd('0xd')](function(){if(config[_0x0dbd('0xe')]){return seedDb[_0x0dbd('0xf')]();}})[_0x0dbd('0xd')](function(){return checkLicense[_0x0dbd('0xf')]();})['then'](function(){return rpc['listen']();})[_0x0dbd('0xd')](function(_0x1e0d57){logger[_0x0dbd('0x10')](_0x1e0d57);return chat[_0x0dbd('0x11')]();})[_0x0dbd('0xd')](function(){return whatsapp[_0x0dbd('0x11')]();})[_0x0dbd('0xd')](function(){return schedule[_0x0dbd('0x11')]();})['then'](function(){return transcribe[_0x0dbd('0x11')]();})[_0x0dbd('0xd')](function(){return provider[_0x0dbd('0x11')]();})['then'](function(_0x1f358a){logger[_0x0dbd('0x10')](_0x1f358a);return pm2[_0x0dbd('0x11')](pm2Config);})[_0x0dbd('0xd')](function(_0x19192d){var _0x3b1327=_0x19192d[_0x0dbd('0x12')](function(_0xce4a93){return typeof _0xce4a93[_0x0dbd('0x13')]==='number'&&_0xce4a93['exitCode']>=0x0;});if(_0x3b1327[_0x0dbd('0x14')]>0x0){throw new Error(_0x3b1327[_0x0dbd('0x14')]+'\x20processes\x20failed\x20at\x20startup:\x20'+_[_0x0dbd('0x15')](_0x3b1327,function(_0x16ae44){return'\x22'+_0x16ae44['pm2_env']['name']+'\x22';}));}logger[_0x0dbd('0x10')](_0x0dbd('0x16'),_[_0x0dbd('0x15')](_['filter'](_0x19192d,{'status':_0x0dbd('0x17')}),_0x0dbd('0x18'))['join']());logger['info'](_0x0dbd('0x19'),_[_0x0dbd('0x15')](_[_0x0dbd('0x12')](_0x19192d,function(_0x50866a){return _0x50866a['status']!==_0x0dbd('0x17');}),_0x0dbd('0x18'))['join']()||'None');console[_0x0dbd('0x1a')](_0x0dbd('0x1b'));})['catch'](function(_0x3d8a57){console[_0x0dbd('0x1a')](_0x0dbd('0x1c'),_0x3d8a57);logger['error'](_0x0dbd('0x1d'),_0x3d8a57);process[_0x0dbd('0x1e')](0x1);});}main();