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 _0x5a23=['getSettings','loginMailFrequency','catch','Email\x20service\x20initialization','./realtime','./rpc/mailAccount','resolve','then','getMailAccounts','initMailAccounts','mailAccounts','listen'];(function(_0x1927d7,_0x4a9be6){var _0x2a73f5=function(_0x1691a3){while(--_0x1691a3){_0x1927d7['push'](_0x1927d7['shift']());}};_0x2a73f5(++_0x4a9be6);}(_0x5a23,0xb8));var _0x35a2=function(_0x4a29a1,_0x5a5df7){_0x4a29a1=_0x4a29a1-0x0;var _0xa54a78=_0x5a23[_0x4a29a1];return _0xa54a78;};'use strict';var server=require('./server');var Realtime=require(_0x35a2('0x0'));var EmailChannel=require('./lib/email');var mailAccount=require(_0x35a2('0x1'));var setting=require('./rpc/setting');var logger=require('../../config/logger')('email');var realtime=new Realtime();var email=new EmailChannel(realtime);function initRealtime(){return Promise[_0x35a2('0x2')]()[_0x35a2('0x3')](mailAccount[_0x35a2('0x4')]())['then'](realtime[_0x35a2('0x5')]())[_0x35a2('0x3')](function(){email['refresh'](realtime[_0x35a2('0x6')]);return realtime;});}function main(){return server[_0x35a2('0x7')](realtime,email)[_0x35a2('0x3')](function(){return initRealtime();})['then'](function(){return setting[_0x35a2('0x8')]();})[_0x35a2('0x3')](function(_0x180c70){return setInterval(initRealtime,_0x180c70[_0x35a2('0x9')]*0x3e8);})[_0x35a2('0xa')](function(_0x24236f){logger['error'](_0x35a2('0xb'),_0x24236f);});}main();