8e1127d789d8f76106575f42ec57e51d115fe763
[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 _0x0d9f=['./config/license','default','error','exit','lodash','./mysqldb','./rpc','./config/environment','./config/logger','./config/pm2','./config/pm2/config','./config/schedule/transcribe','sequelize','sync','then','start','info','Online\x20apps:','name','join','Offline\x20apps:','filter','status','None','./config/seedDB'];(function(_0x49173e,_0xbf23ff){var _0x75f9c5=function(_0x295bef){while(--_0x295bef){_0x49173e['push'](_0x49173e['shift']());}};_0x75f9c5(++_0xbf23ff);}(_0x0d9f,0xe5));var _0xf0d9=function(_0x2261ce,_0x9ed8b6){_0x2261ce=_0x2261ce-0x0;var _0x524640=_0x0d9f[_0x2261ce];return _0x524640;};'use strict';var _=require(_0xf0d9('0x0'));var mysqldb=require(_0xf0d9('0x1'));var rpc=require(_0xf0d9('0x2'));var config=require(_0xf0d9('0x3'));var logger=require(_0xf0d9('0x4'))('app');var pm2=require(_0xf0d9('0x5'));var pm2Config=require(_0xf0d9('0x6'));var schedule=require('./config/schedule');var chat=require('./config/schedule/chat');var transcribe=require(_0xf0d9('0x7'));function main(){return mysqldb['db'][_0xf0d9('0x8')][_0xf0d9('0x9')]()['then'](function(){return rpc['listen']();})[_0xf0d9('0xa')](function(_0x1a1ca6){logger['info'](_0x1a1ca6);return chat[_0xf0d9('0xb')]();})[_0xf0d9('0xa')](function(){return schedule[_0xf0d9('0xb')]();})[_0xf0d9('0xa')](function(){return transcribe[_0xf0d9('0xb')]();})['then'](function(_0x536a73){logger[_0xf0d9('0xc')](_0x536a73);return pm2['start'](pm2Config);})[_0xf0d9('0xa')](function(_0x549859){logger[_0xf0d9('0xc')](_0xf0d9('0xd'),_['map'](_['filter'](_0x549859,{'status':'online'}),_0xf0d9('0xe'))[_0xf0d9('0xf')]());logger[_0xf0d9('0xc')](_0xf0d9('0x10'),_['map'](_[_0xf0d9('0x11')](_0x549859,function(_0xbdfa39){return _0xbdfa39[_0xf0d9('0x12')]!=='online';}),_0xf0d9('0xe'))[_0xf0d9('0xf')]()||_0xf0d9('0x13'));config['seedDB']&&require(_0xf0d9('0x14'))['default']();require(_0xf0d9('0x15'))[_0xf0d9('0x16')]();})['catch'](function(_0x4b223e){logger[_0xf0d9('0x17')]('Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s',_0x4b223e);process[_0xf0d9('0x18')](0x1);});}main();