Built motion from commit (unavailable).|2.5.14
[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 _0xcd58=['../../mailRpc','consequence','isNil','interaction','created','[%s][AUTOREPLY]\x20%s','Autoreply\x20already\x20sent','next','channel','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','message','from','phone','subject','Re:\x20','chat','upperFirst','account','InteractionId','Message','mail','Smtp','service','host','secure','authentication','auth','user','inReplyTo','messageId','html','replace','body','<div','</div>','headers','auto-replied','All','auto_reply','sendMailMessage','then','info','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','finally','stop','lodash','moment','./utils','routing','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage'];(function(_0x2f5ac5,_0x1ee939){var _0x37c9a8=function(_0x15031f){while(--_0x15031f){_0x2f5ac5['push'](_0x2f5ac5['shift']());}};_0x37c9a8(++_0x1ee939);}(_0xcd58,0x125));var _0x8cd5=function(_0x1e5cc3,_0x238a87){_0x1e5cc3=_0x1e5cc3-0x0;var _0x15c596=_0xcd58[_0x1e5cc3];return _0x15c596;};'use strict';var _=require(_0x8cd5('0x0'));var moment=require(_0x8cd5('0x1'));var utils=require(_0x8cd5('0x2'));var logger=require('../../../../config/logger')(_0x8cd5('0x3'));var rpc={'chatMessage':require('../../rpc/chatMessage'),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0x8cd5('0x4')),'faxMessage':require(_0x8cd5('0x5')),'whatsappMessage':require(_0x8cd5('0x6'))};var mailRpc=require(_0x8cd5('0x7'));exports[_0x8cd5('0x8')]=function(_0x47ca4a,_0x24a8f6){return function(_0x1c43a1){try{if(_0x24a8f6[0x0]==='1'&&(_[_0x8cd5('0x9')](this[_0x8cd5('0xa')][_0x8cd5('0xb')])||!this[_0x8cd5('0xa')][_0x8cd5('0xb')])){logger['info'](_0x8cd5('0xc'),_0x47ca4a,_0x8cd5('0xd'));return _0x1c43a1[_0x8cd5('0xe')]();}var _0x4199a9=this[_0x8cd5('0xf')];var _0x2d9dca={'body':utils['getMustacheRender'](_0x24a8f6[0x1],this),'ContactId':this[_0x8cd5('0x10')]['id'],'sentAt':moment()[_0x8cd5('0x11')](_0x8cd5('0x12')),'direction':_0x8cd5('0x13')};if(this[_0x8cd5('0x14')]){_0x2d9dca['to']=this[_0x8cd5('0x14')]['from']||'';_0x2d9dca['cc']=this[_0x8cd5('0x14')]['cc']||'';_0x2d9dca[_0x8cd5('0x15')]=this[_0x8cd5('0x14')]['to']||'';_0x2d9dca[_0x8cd5('0x16')]=this[_0x8cd5('0x14')]['phone']||'';_0x2d9dca['read']=!![];if(this[_0x8cd5('0x14')]['subject']){_0x2d9dca[_0x8cd5('0x17')]='';_0x2d9dca[_0x8cd5('0x17')]+=_['startsWith'](this[_0x8cd5('0x14')][_0x8cd5('0x17')],'Re:')?'':_0x8cd5('0x18');_0x2d9dca['subject']+=this[_0x8cd5('0x14')][_0x8cd5('0x17')];}}if(this[_0x8cd5('0xf')]===_0x8cd5('0x19')){_0x2d9dca['ChatWebsiteId']=this['account']['id'];}else{_0x2d9dca[_[_0x8cd5('0x1a')](this[_0x8cd5('0xf')])+'AccountId']=this[_0x8cd5('0x1b')]['id'];}_0x2d9dca[_[_0x8cd5('0x1a')](this[_0x8cd5('0xf')])+_0x8cd5('0x1c')]=this[_0x8cd5('0xa')]['id'];if(rpc[this[_0x8cd5('0xf')]+_0x8cd5('0x1d')]){if(this['channel']===_0x8cd5('0x1e')){var _0x48a1c7={'tls':{'rejectUnauthorized':![]}};if(this['account'][_0x8cd5('0x1f')][_0x8cd5('0x20')]){_0x48a1c7[_0x8cd5('0x20')]=this['account']['Smtp'][_0x8cd5('0x20')];}else{_0x48a1c7[_0x8cd5('0x21')]=this[_0x8cd5('0x1b')]['Smtp'][_0x8cd5('0x21')];_0x48a1c7['port']=this['account']['Smtp']['port'];_0x48a1c7[_0x8cd5('0x22')]=this[_0x8cd5('0x1b')]['Smtp'][_0x8cd5('0x22')];}if(this[_0x8cd5('0x1b')][_0x8cd5('0x1f')][_0x8cd5('0x23')]){_0x48a1c7[_0x8cd5('0x24')]={'user':this[_0x8cd5('0x1b')][_0x8cd5('0x1f')][_0x8cd5('0x25')],'pass':this[_0x8cd5('0x1b')][_0x8cd5('0x1f')]['pass']};}_0x2d9dca[_0x8cd5('0x26')]=this[_0x8cd5('0x14')][_0x8cd5('0x27')];_0x2d9dca[_0x8cd5('0x28')]='<div\x20id=\x22xm-mail-content\x22>'+_[_0x8cd5('0x29')](_0x2d9dca[_0x8cd5('0x2a')],'<div\x20id=\x22xm-mail-content\x22',_0x8cd5('0x2b'))+_0x8cd5('0x2c');_0x2d9dca[_0x8cd5('0x2d')]={'Auto-Submitted':_0x8cd5('0x2e'),'X-Auto-Response-Suppress':_0x8cd5('0x2f'),'Precedence':_0x8cd5('0x30')};return mailRpc[_0x8cd5('0x31')](_0x48a1c7,_0x2d9dca)[_0x8cd5('0x32')](function(_0x586e3f){logger[_0x8cd5('0x33')](_0x8cd5('0x34'),_0x47ca4a);_0x2d9dca[_0x8cd5('0x27')]=_0x586e3f[_0x8cd5('0x14')][_0x8cd5('0x27')];return rpc[_0x4199a9+_0x8cd5('0x1d')][_0x8cd5('0x35')](_0x2d9dca);})[_0x8cd5('0x32')](function(_0x32bf0b){logger[_0x8cd5('0x33')](_0x8cd5('0xc'),_0x47ca4a,JSON[_0x8cd5('0x36')](_0x32bf0b));})[_0x8cd5('0x37')](function(_0x2a8b7b){logger[_0x8cd5('0x38')](_0x8cd5('0x39'),_0x47ca4a,JSON['stringify'](_0x2a8b7b));})[_0x8cd5('0x3a')](function(){_0x1c43a1[_0x8cd5('0xe')]();});}else{return rpc[this['channel']+'Message'][_0x8cd5('0x35')](_0x2d9dca)[_0x8cd5('0x32')](function(_0x1d7086){logger[_0x8cd5('0x33')]('[%s][AUTOREPLY]\x20%s',_0x47ca4a,_0x2d9dca['body']);})['catch'](function(_0x4a8c76){logger[_0x8cd5('0x38')](_0x8cd5('0xc'),_0x47ca4a,JSON[_0x8cd5('0x36')](_0x4a8c76));})[_0x8cd5('0x3a')](function(){_0x1c43a1['next']();});}}}catch(_0x4bfe26){logger[_0x8cd5('0x38')](_0x8cd5('0xc'),_0x47ca4a,JSON['stringify'](_0x4bfe26));_0x1c43a1[_0x8cd5('0x3b')]();}};};