8af6ed276ed523e5eff92b7feee64cd84df38547
[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 _0x27c5=['./config/logger','app','./config/pm2','./config/pm2/config','./config/schedule','./config/schedule/chat','./config/schedule/whatsapp','./config/schedule/cloud-provider','sync','seedDB','default','then','listen','info','start','exitCode','length','map','name','Online\x20apps:','join','Offline\x20apps:','filter','status','None','log','App\x20Ready!','Server\x20failed\x20to\x20start\x20due\x20to\x20error!','error','Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s','exit','./config/seedDB','./config/license','./rpc'];(function(_0x296e42,_0x381970){var _0x497996=function(_0x113ed7){while(--_0x113ed7){_0x296e42['push'](_0x296e42['shift']());}};_0x497996(++_0x381970);}(_0x27c5,0x173));var _0x527c=function(_0x38efe1,_0x34a883){_0x38efe1=_0x38efe1-0x0;var _0x44c9fb=_0x27c5[_0x38efe1];return _0x44c9fb;};'use strict';var _=require('lodash');var db=require('./mysqldb')['db'];var seedDb=require(_0x527c('0x0'));var checkLicense=require(_0x527c('0x1'));var rpc=require(_0x527c('0x2'));var config=require('./config/environment');var logger=require(_0x527c('0x3'))(_0x527c('0x4'));var pm2=require(_0x527c('0x5'));var pm2Config=require(_0x527c('0x6'));var schedule=require(_0x527c('0x7'));var chat=require(_0x527c('0x8'));var whatsapp=require(_0x527c('0x9'));var transcribe=require('./config/schedule/transcribe');var provider=require(_0x527c('0xa'));function main(){return db['sequelize'][_0x527c('0xb')]()['then'](function(){if(config[_0x527c('0xc')]){return seedDb[_0x527c('0xd')]();}})[_0x527c('0xe')](function(){return checkLicense['default']();})[_0x527c('0xe')](function(){return rpc[_0x527c('0xf')]();})[_0x527c('0xe')](function(_0x369374){logger[_0x527c('0x10')](_0x369374);return chat[_0x527c('0x11')]();})[_0x527c('0xe')](function(){return whatsapp[_0x527c('0x11')]();})[_0x527c('0xe')](function(){return schedule[_0x527c('0x11')]();})[_0x527c('0xe')](function(){return transcribe['start']();})['then'](function(){return provider[_0x527c('0x11')]();})[_0x527c('0xe')](function(_0x30a65a){logger[_0x527c('0x10')](_0x30a65a);return pm2['start'](pm2Config);})[_0x527c('0xe')](function(_0xf7c373){var _0x5de1a2=_0xf7c373['filter'](function(_0x2fce03){return typeof _0x2fce03['exitCode']==='number'&&_0x2fce03[_0x527c('0x12')]>=0x0;});if(_0x5de1a2[_0x527c('0x13')]>0x0){throw new Error(_0x5de1a2[_0x527c('0x13')]+'\x20processes\x20failed\x20at\x20startup:\x20'+_[_0x527c('0x14')](_0x5de1a2,function(_0x1f2702){return'\x22'+_0x1f2702['pm2_env'][_0x527c('0x15')]+'\x22';}));}logger['info'](_0x527c('0x16'),_[_0x527c('0x14')](_['filter'](_0xf7c373,{'status':'online'}),_0x527c('0x15'))[_0x527c('0x17')]());logger[_0x527c('0x10')](_0x527c('0x18'),_['map'](_[_0x527c('0x19')](_0xf7c373,function(_0x526b03){return _0x526b03[_0x527c('0x1a')]!=='online';}),_0x527c('0x15'))['join']()||_0x527c('0x1b'));console[_0x527c('0x1c')](_0x527c('0x1d'));})['catch'](function(_0x166a42){console['log'](_0x527c('0x1e'),_0x166a42);logger[_0x527c('0x1f')](_0x527c('0x20'),_0x166a42);process[_0x527c('0x21')](0x1);});}main();