e8bae1ee638f15519ba76406cfcacbbdc741a6a0
[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 _0xbc36=['./config/seedDB','default','./config/license','lodash','./rpc','./config/logger','app','./config/pm2','./config/pm2/config','./config/schedule','./config/schedule/chat','sync','then','info','start','map','online','join','Offline\x20apps:','filter','status','name','None'];(function(_0x516691,_0xde49ea){var _0x4fb37c=function(_0x5368a8){while(--_0x5368a8){_0x516691['push'](_0x516691['shift']());}};_0x4fb37c(++_0xde49ea);}(_0xbc36,0x173));var _0x6bc3=function(_0x265abd,_0xe66b06){_0x265abd=_0x265abd-0x0;var _0x10b59e=_0xbc36[_0x265abd];return _0x10b59e;};'use strict';var _=require(_0x6bc3('0x0'));var mysqldb=require('./mysqldb');var rpc=require(_0x6bc3('0x1'));var config=require('./config/environment');var logger=require(_0x6bc3('0x2'))(_0x6bc3('0x3'));var pm2=require(_0x6bc3('0x4'));var pm2Config=require(_0x6bc3('0x5'));var schedule=require(_0x6bc3('0x6'));var chat=require(_0x6bc3('0x7'));function main(){return mysqldb['db']['sequelize'][_0x6bc3('0x8')]()['then'](function(){return rpc['listen']();})[_0x6bc3('0x9')](function(_0x5efe00){logger[_0x6bc3('0xa')](_0x5efe00);return chat[_0x6bc3('0xb')]();})['then'](function(){return schedule[_0x6bc3('0xb')]();})[_0x6bc3('0x9')](function(_0x4eb1cd){logger['info'](_0x4eb1cd);return pm2[_0x6bc3('0xb')](pm2Config);})[_0x6bc3('0x9')](function(_0x4262d1){logger[_0x6bc3('0xa')]('Online\x20apps:',_[_0x6bc3('0xc')](_['filter'](_0x4262d1,{'status':_0x6bc3('0xd')}),'name')[_0x6bc3('0xe')]());logger[_0x6bc3('0xa')](_0x6bc3('0xf'),_[_0x6bc3('0xc')](_[_0x6bc3('0x10')](_0x4262d1,function(_0x5709c1){return _0x5709c1[_0x6bc3('0x11')]!==_0x6bc3('0xd');}),_0x6bc3('0x12'))['join']()||_0x6bc3('0x13'));config['seedDB']&&require(_0x6bc3('0x14'))[_0x6bc3('0x15')]();require(_0x6bc3('0x16'))['default']();})['catch'](function(_0x4af70f){logger['error']('Server\x20failed\x20to\x20start\x20due\x20to\x20error:\x20%s',_0x4af70f);process['exit'](0x1);});}main();