af62fec7e8df9da6dbd18d6e82365be2b9bd5064
[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 _0x4782=['routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../mailRpc','consequence','isNil','interaction','created','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20already\x20sent','next','channel','getMustacheRender','contact','YYYY-MM-DD\x20HH:mm:ss','out','message','from','phone','read','subject','startsWith','Re:','Re:\x20','chat','ChatWebsiteId','AccountId','account','upperFirst','InteractionId','Message','mail','service','Smtp','host','port','secure','authentication','auth','pass','inReplyTo','html','<div\x20id=\x22xm-mail-content\x22>','body','<div','headers','auto-replied','All','auto_reply','sendMailMessage','then','messageId','catch','[RPC][%s][AUTOREPLY]\x20%s','stringify','finally','error','moment','./utils','../../../../config/logger'];(function(_0x106927,_0x5a23dd){var _0x4bd1e6=function(_0x77768e){while(--_0x77768e){_0x106927['push'](_0x106927['shift']());}};_0x4bd1e6(++_0x5a23dd);}(_0x4782,0xf9));var _0x2478=function(_0x18cb2b,_0x10dfbf){_0x18cb2b=_0x18cb2b-0x0;var _0x1db6c4=_0x4782[_0x18cb2b];return _0x1db6c4;};'use strict';var _=require('lodash');var moment=require(_0x2478('0x0'));var utils=require(_0x2478('0x1'));var logger=require(_0x2478('0x2'))(_0x2478('0x3'));var rpc={'chatMessage':require(_0x2478('0x4')),'openchannelMessage':require(_0x2478('0x5')),'mailMessage':require(_0x2478('0x6')),'smsMessage':require(_0x2478('0x7')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require('../../rpc/whatsappMessage')};var mailRpc=require(_0x2478('0x8'));exports[_0x2478('0x9')]=function(_0x57ad7a,_0x3a2292){return function(_0x508cd7){try{if(_0x3a2292[0x0]==='1'&&(_[_0x2478('0xa')](this[_0x2478('0xb')][_0x2478('0xc')])||!this['interaction']['created'])){logger[_0x2478('0xd')](_0x2478('0xe'),_0x57ad7a,_0x2478('0xf'));return _0x508cd7[_0x2478('0x10')]();}var _0x1497d2=this[_0x2478('0x11')];var _0x363175={'body':utils[_0x2478('0x12')](_0x3a2292[0x1],this),'ContactId':this[_0x2478('0x13')]['id'],'sentAt':moment()['format'](_0x2478('0x14')),'direction':_0x2478('0x15')};if(this[_0x2478('0x16')]){_0x363175['to']=this['message'][_0x2478('0x17')]||'';_0x363175['cc']=this[_0x2478('0x16')]['cc']||'';_0x363175[_0x2478('0x17')]=this['message']['to']||'';_0x363175[_0x2478('0x18')]=this[_0x2478('0x16')]['phone']||'';_0x363175[_0x2478('0x19')]=!![];if(this['message']['subject']){_0x363175[_0x2478('0x1a')]='';_0x363175[_0x2478('0x1a')]+=_[_0x2478('0x1b')](this[_0x2478('0x16')][_0x2478('0x1a')],_0x2478('0x1c'))?'':_0x2478('0x1d');_0x363175[_0x2478('0x1a')]+=this[_0x2478('0x16')][_0x2478('0x1a')];}}if(this[_0x2478('0x11')]===_0x2478('0x1e')){_0x363175[_0x2478('0x1f')]=this['account']['id'];}else{_0x363175[_['upperFirst'](this[_0x2478('0x11')])+_0x2478('0x20')]=this[_0x2478('0x21')]['id'];}_0x363175[_[_0x2478('0x22')](this['channel'])+_0x2478('0x23')]=this['interaction']['id'];if(rpc[this[_0x2478('0x11')]+_0x2478('0x24')]){if(this[_0x2478('0x11')]===_0x2478('0x25')){var _0xfd0967={'tls':{'rejectUnauthorized':![]}};if(this[_0x2478('0x21')]['Smtp'][_0x2478('0x26')]){_0xfd0967[_0x2478('0x26')]=this[_0x2478('0x21')][_0x2478('0x27')][_0x2478('0x26')];}else{_0xfd0967['host']=this[_0x2478('0x21')][_0x2478('0x27')][_0x2478('0x28')];_0xfd0967[_0x2478('0x29')]=this['account'][_0x2478('0x27')][_0x2478('0x29')];_0xfd0967[_0x2478('0x2a')]=this['account'][_0x2478('0x27')]['secure'];}if(this['account'][_0x2478('0x27')][_0x2478('0x2b')]){_0xfd0967[_0x2478('0x2c')]={'user':this[_0x2478('0x21')][_0x2478('0x27')]['user'],'pass':this[_0x2478('0x21')]['Smtp'][_0x2478('0x2d')]};}_0x363175[_0x2478('0x2e')]=this['message']['messageId'];_0x363175[_0x2478('0x2f')]=_0x2478('0x30')+_['replace'](_0x363175[_0x2478('0x31')],'<div\x20id=\x22xm-mail-content\x22',_0x2478('0x32'))+'</div>';_0x363175[_0x2478('0x33')]={'Auto-Submitted':_0x2478('0x34'),'X-Auto-Response-Suppress':_0x2478('0x35'),'Precedence':_0x2478('0x36')};return mailRpc[_0x2478('0x37')](_0xfd0967,_0x363175)[_0x2478('0x38')](function(_0x14a76e){logger['info']('[%s][AUTOREPLY]\x20SMTP\x20SENT',_0x57ad7a);_0x363175[_0x2478('0x39')]=_0x14a76e[_0x2478('0x16')][_0x2478('0x39')];return rpc[_0x1497d2+_0x2478('0x24')]['create'](_0x363175);})['then'](function(_0x33d7a9){logger[_0x2478('0xd')](_0x2478('0xe'),_0x57ad7a,JSON['stringify'](_0x33d7a9));})[_0x2478('0x3a')](function(_0x3353e7){logger['error'](_0x2478('0x3b'),_0x57ad7a,JSON[_0x2478('0x3c')](_0x3353e7));})[_0x2478('0x3d')](function(){_0x508cd7[_0x2478('0x10')]();});}else{return rpc[this[_0x2478('0x11')]+'Message']['create'](_0x363175)[_0x2478('0x38')](function(_0xef65e6){logger[_0x2478('0xd')]('[%s][AUTOREPLY]\x20%s',_0x57ad7a,_0x363175[_0x2478('0x31')]);})[_0x2478('0x3a')](function(_0x43c93e){logger[_0x2478('0x3e')]('[%s][AUTOREPLY]\x20%s',_0x57ad7a,JSON[_0x2478('0x3c')](_0x43c93e));})['finally'](function(){_0x508cd7[_0x2478('0x10')]();});}}}catch(_0x4f8352){logger[_0x2478('0x3e')](_0x2478('0xe'),_0x57ad7a,JSON[_0x2478('0x3c')](_0x4f8352));_0x508cd7['stop']();}};};