c83cc933136f4f6a38425f7723ac6ec272810b7e
[motion2.git] / server / services / routing / server / applications / autoreply.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 _0x85dd=['Re:\x20','channel','chat','ChatWebsiteId','upperFirst','InteractionId','Message','mail','service','account','host','Smtp','port','secure','authentication','user','pass','inReplyTo','messageId','<div\x20id=\x22xm-mail-content\x22>','replace','body','<div\x20id=\x22xm-mail-content\x22','<div','</div>','sendMailMessage','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','info','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','finally','create','stop','moment','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/faxMessage','consequence','isNil','interaction','created','[%s][AUTOREPLY]\x20%s','Autoreply\x20already\x20sent','next','getMustacheRender','message','from','phone','read','subject','startsWith','Re:'];(function(_0x5328e1,_0x1efd88){var _0x3a841b=function(_0x393cd2){while(--_0x393cd2){_0x5328e1['push'](_0x5328e1['shift']());}};_0x3a841b(++_0x1efd88);}(_0x85dd,0x1c1));var _0xd85d=function(_0x31e29a,_0x349c9b){_0x31e29a=_0x31e29a-0x0;var _0x32d892=_0x85dd[_0x31e29a];return _0x32d892;};'use strict';var _=require('lodash');var moment=require(_0xd85d('0x0'));var utils=require(_0xd85d('0x1'));var logger=require(_0xd85d('0x2'))(_0xd85d('0x3'));var rpc={'chatMessage':require(_0xd85d('0x4')),'openchannelMessage':require(_0xd85d('0x5')),'mailMessage':require(_0xd85d('0x6')),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0xd85d('0x7')),'whatsappMessage':require('../../rpc/whatsappMessage')};var mailRpc=require('../../mailRpc');exports[_0xd85d('0x8')]=function(_0x293176,_0x423017){return function(_0x3bf728){try{if(_0x423017[0x0]==='1'&&(_[_0xd85d('0x9')](this[_0xd85d('0xa')][_0xd85d('0xb')])||!this[_0xd85d('0xa')][_0xd85d('0xb')])){logger['info'](_0xd85d('0xc'),_0x293176,_0xd85d('0xd'));return _0x3bf728[_0xd85d('0xe')]();}var _0x168b85=this['channel'];var _0x293819={'body':utils[_0xd85d('0xf')](_0x423017[0x1],this),'ContactId':this['contact']['id'],'sentAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'direction':'out'};if(this[_0xd85d('0x10')]){_0x293819['to']=this[_0xd85d('0x10')][_0xd85d('0x11')]||'';_0x293819['cc']=this[_0xd85d('0x10')]['cc']||'';_0x293819[_0xd85d('0x11')]=this[_0xd85d('0x10')]['to']||'';_0x293819[_0xd85d('0x12')]=this[_0xd85d('0x10')][_0xd85d('0x12')]||'';_0x293819[_0xd85d('0x13')]=!![];if(this[_0xd85d('0x10')][_0xd85d('0x14')]){_0x293819[_0xd85d('0x14')]='';_0x293819[_0xd85d('0x14')]+=_[_0xd85d('0x15')](this[_0xd85d('0x10')][_0xd85d('0x14')],_0xd85d('0x16'))?'':_0xd85d('0x17');_0x293819[_0xd85d('0x14')]+=this['message'][_0xd85d('0x14')];}}if(this[_0xd85d('0x18')]===_0xd85d('0x19')){_0x293819[_0xd85d('0x1a')]=this['account']['id'];}else{_0x293819[_[_0xd85d('0x1b')](this[_0xd85d('0x18')])+'AccountId']=this['account']['id'];}_0x293819[_[_0xd85d('0x1b')](this[_0xd85d('0x18')])+_0xd85d('0x1c')]=this['interaction']['id'];if(rpc[this[_0xd85d('0x18')]+_0xd85d('0x1d')]){if(this[_0xd85d('0x18')]===_0xd85d('0x1e')){var _0x142ee8={'tls':{'rejectUnauthorized':![]}};if(this['account']['Smtp'][_0xd85d('0x1f')]){_0x142ee8['service']=this[_0xd85d('0x20')]['Smtp'][_0xd85d('0x1f')];}else{_0x142ee8[_0xd85d('0x21')]=this[_0xd85d('0x20')][_0xd85d('0x22')]['host'];_0x142ee8[_0xd85d('0x23')]=this[_0xd85d('0x20')]['Smtp'][_0xd85d('0x23')];_0x142ee8[_0xd85d('0x24')]=this[_0xd85d('0x20')]['Smtp'][_0xd85d('0x24')];}if(this['account']['Smtp'][_0xd85d('0x25')]){_0x142ee8['auth']={'user':this[_0xd85d('0x20')][_0xd85d('0x22')][_0xd85d('0x26')],'pass':this['account'][_0xd85d('0x22')][_0xd85d('0x27')]};}_0x293819[_0xd85d('0x28')]=this['message'][_0xd85d('0x29')];_0x293819['html']=_0xd85d('0x2a')+_[_0xd85d('0x2b')](_0x293819[_0xd85d('0x2c')],_0xd85d('0x2d'),_0xd85d('0x2e'))+_0xd85d('0x2f');return mailRpc[_0xd85d('0x30')](_0x142ee8,_0x293819)[_0xd85d('0x31')](function(_0x4b6ccc){logger['info'](_0xd85d('0x32'),_0x293176);_0x293819['messageId']=_0x4b6ccc[_0xd85d('0x10')][_0xd85d('0x29')];return rpc[_0x168b85+_0xd85d('0x1d')]['create'](_0x293819);})[_0xd85d('0x31')](function(_0x3ef347){logger[_0xd85d('0x33')](_0xd85d('0xc'),_0x293176,JSON[_0xd85d('0x34')](_0x3ef347));})[_0xd85d('0x35')](function(_0x4e9ec6){logger[_0xd85d('0x36')](_0xd85d('0x37'),_0x293176,JSON[_0xd85d('0x34')](_0x4e9ec6));})[_0xd85d('0x38')](function(){_0x3bf728[_0xd85d('0xe')]();});}else{return rpc[this['channel']+_0xd85d('0x1d')][_0xd85d('0x39')](_0x293819)[_0xd85d('0x31')](function(_0x3fedcb){logger['info']('[%s][AUTOREPLY]\x20%s',_0x293176,_0x293819[_0xd85d('0x2c')]);})[_0xd85d('0x35')](function(_0x5b8616){logger[_0xd85d('0x36')](_0xd85d('0xc'),_0x293176,JSON[_0xd85d('0x34')](_0x5b8616));})[_0xd85d('0x38')](function(){_0x3bf728[_0xd85d('0xe')]();});}}}catch(_0x109b8f){logger[_0xd85d('0x36')](_0xd85d('0xc'),_0x293176,JSON['stringify'](_0x109b8f));_0x3bf728[_0xd85d('0x3a')]();}};};