1 // *************************************************************************
3 // * xCALLY Motion - The Omnichannel Contact Center *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved *
6 // *************************************************************************
8 // * Email: info@xcally.com *
9 // * Website: https://www.xcally.com *
11 // *************************************************************************
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. *
17 // *************************************************************************
18 var _0x0470=['listen','getSettings','loginMailFrequency','catch','error','Email\x20service\x20initialization','./server','./realtime','./lib/email','./rpc/setting','email','resolve','then','getMailAccounts','initMailAccounts','refresh','mailAccounts'];(function(_0x2211d2,_0x1674b3){var _0xf7bfc3=function(_0x1225e2){while(--_0x1225e2){_0x2211d2['push'](_0x2211d2['shift']());}};_0xf7bfc3(++_0x1674b3);}(_0x0470,0xb0));var _0x0047=function(_0x29b98b,_0xa52e57){_0x29b98b=_0x29b98b-0x0;var _0x5b8db3=_0x0470[_0x29b98b];return _0x5b8db3;};'use strict';var server=require(_0x0047('0x0'));var Realtime=require(_0x0047('0x1'));var EmailChannel=require(_0x0047('0x2'));var mailAccount=require('./rpc/mailAccount');var setting=require(_0x0047('0x3'));var logger=require('../../config/logger')(_0x0047('0x4'));var realtime=new Realtime();var email=new EmailChannel(realtime);function initRealtime(){return Promise[_0x0047('0x5')]()[_0x0047('0x6')](mailAccount[_0x0047('0x7')]())[_0x0047('0x6')](realtime[_0x0047('0x8')]())[_0x0047('0x6')](function(){email[_0x0047('0x9')](realtime[_0x0047('0xa')]);return realtime;});}function main(){return server[_0x0047('0xb')](realtime,email)['then'](function(){return initRealtime();})[_0x0047('0x6')](function(){return setting[_0x0047('0xc')]();})[_0x0047('0x6')](function(_0x11c4d3){return setInterval(initRealtime,_0x11c4d3[_0x0047('0xd')]*0x3e8);})[_0x0047('0xe')](function(_0x1e5d18){logger[_0x0047('0xf')](_0x0047('0x10'),_0x1e5d18);});}main();