Built motion from commit (unavailable).|2.5.2
[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 _0x41f5=['consequence','isNil','interaction','created','info','Autoreply\x20already\x20sent','next','getMustacheRender','format','YYYY-MM-DD\x20HH:mm:ss','message','from','phone','read','subject','startsWith','Re:','channel','chat','ChatWebsiteId','upperFirst','AccountId','account','InteractionId','mail','Smtp','service','port','authentication','auth','inReplyTo','html','replace','body','<div','</div>','sendMailMessage','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','messageId','Message','catch','error','[RPC][%s][AUTOREPLY]\x20%s','stringify','create','finally','[%s][AUTOREPLY]\x20%s','stop','lodash','./utils','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage'];(function(_0x196567,_0x5cd73e){var _0x3f466b=function(_0x3cc0ea){while(--_0x3cc0ea){_0x196567['push'](_0x196567['shift']());}};_0x3f466b(++_0x5cd73e);}(_0x41f5,0xa1));var _0x541f=function(_0x1847fd,_0x48bb28){_0x1847fd=_0x1847fd-0x0;var _0x426713=_0x41f5[_0x1847fd];return _0x426713;};'use strict';var _=require(_0x541f('0x0'));var moment=require('moment');var utils=require(_0x541f('0x1'));var logger=require('../../../../config/logger')('routing');var rpc={'chatMessage':require(_0x541f('0x2')),'openchannelMessage':require(_0x541f('0x3')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0x541f('0x4')),'faxMessage':require(_0x541f('0x5')),'whatsappMessage':require(_0x541f('0x6'))};var mailRpc=require('../../mailRpc');exports[_0x541f('0x7')]=function(_0x2c16f7,_0xa6b20c){return function(_0x9e5d0d){try{if(_0xa6b20c[0x0]==='1'&&(_[_0x541f('0x8')](this[_0x541f('0x9')][_0x541f('0xa')])||!this[_0x541f('0x9')][_0x541f('0xa')])){logger[_0x541f('0xb')]('[%s][AUTOREPLY]\x20%s',_0x2c16f7,_0x541f('0xc'));return _0x9e5d0d[_0x541f('0xd')]();}var _0x50fa25=this['channel'];var _0x3a2737={'body':utils[_0x541f('0xe')](_0xa6b20c[0x1],this),'ContactId':this['contact']['id'],'sentAt':moment()[_0x541f('0xf')](_0x541f('0x10')),'direction':'out'};if(this[_0x541f('0x11')]){_0x3a2737['to']=this[_0x541f('0x11')][_0x541f('0x12')]||'';_0x3a2737['cc']=this[_0x541f('0x11')]['cc']||'';_0x3a2737[_0x541f('0x12')]=this['message']['to']||'';_0x3a2737[_0x541f('0x13')]=this[_0x541f('0x11')][_0x541f('0x13')]||'';_0x3a2737[_0x541f('0x14')]=!![];if(this[_0x541f('0x11')]['subject']){_0x3a2737[_0x541f('0x15')]='';_0x3a2737[_0x541f('0x15')]+=_[_0x541f('0x16')](this[_0x541f('0x11')][_0x541f('0x15')],_0x541f('0x17'))?'':'Re:\x20';_0x3a2737['subject']+=this[_0x541f('0x11')][_0x541f('0x15')];}}if(this[_0x541f('0x18')]===_0x541f('0x19')){_0x3a2737[_0x541f('0x1a')]=this['account']['id'];}else{_0x3a2737[_[_0x541f('0x1b')](this[_0x541f('0x18')])+_0x541f('0x1c')]=this[_0x541f('0x1d')]['id'];}_0x3a2737[_[_0x541f('0x1b')](this[_0x541f('0x18')])+_0x541f('0x1e')]=this[_0x541f('0x9')]['id'];if(rpc[this[_0x541f('0x18')]+'Message']){if(this[_0x541f('0x18')]===_0x541f('0x1f')){var _0x25f711={'tls':{'rejectUnauthorized':![]}};if(this[_0x541f('0x1d')][_0x541f('0x20')][_0x541f('0x21')]){_0x25f711[_0x541f('0x21')]=this['account'][_0x541f('0x20')]['service'];}else{_0x25f711['host']=this[_0x541f('0x1d')][_0x541f('0x20')]['host'];_0x25f711[_0x541f('0x22')]=this[_0x541f('0x1d')]['Smtp'][_0x541f('0x22')];_0x25f711['secure']=this[_0x541f('0x1d')][_0x541f('0x20')]['secure'];}if(this[_0x541f('0x1d')]['Smtp'][_0x541f('0x23')]){_0x25f711[_0x541f('0x24')]={'user':this['account'][_0x541f('0x20')]['user'],'pass':this[_0x541f('0x1d')][_0x541f('0x20')]['pass']};}_0x3a2737[_0x541f('0x25')]=this[_0x541f('0x11')]['messageId'];_0x3a2737[_0x541f('0x26')]='<div\x20id=\x22xm-mail-content\x22>'+_[_0x541f('0x27')](_0x3a2737[_0x541f('0x28')],'<div\x20id=\x22xm-mail-content\x22',_0x541f('0x29'))+_0x541f('0x2a');return mailRpc[_0x541f('0x2b')](_0x25f711,_0x3a2737)[_0x541f('0x2c')](function(_0x292f65){logger[_0x541f('0xb')](_0x541f('0x2d'),_0x2c16f7);_0x3a2737[_0x541f('0x2e')]=_0x292f65[_0x541f('0x11')][_0x541f('0x2e')];return rpc[_0x50fa25+_0x541f('0x2f')]['create'](_0x3a2737);})[_0x541f('0x2c')](function(_0x44184d){logger['info']('[%s][AUTOREPLY]\x20%s',_0x2c16f7,JSON['stringify'](_0x44184d));})[_0x541f('0x30')](function(_0x15a86f){logger[_0x541f('0x31')](_0x541f('0x32'),_0x2c16f7,JSON[_0x541f('0x33')](_0x15a86f));})['finally'](function(){_0x9e5d0d[_0x541f('0xd')]();});}else{return rpc[this['channel']+_0x541f('0x2f')][_0x541f('0x34')](_0x3a2737)[_0x541f('0x2c')](function(_0x5de0b0){logger['info']('[%s][AUTOREPLY]\x20%s',_0x2c16f7,_0x3a2737[_0x541f('0x28')]);})[_0x541f('0x30')](function(_0x796d2){logger[_0x541f('0x31')]('[%s][AUTOREPLY]\x20%s',_0x2c16f7,JSON[_0x541f('0x33')](_0x796d2));})[_0x541f('0x35')](function(){_0x9e5d0d[_0x541f('0xd')]();});}}}catch(_0x1c0603){logger[_0x541f('0x31')](_0x541f('0x36'),_0x2c16f7,JSON[_0x541f('0x33')](_0x1c0603));_0x9e5d0d[_0x541f('0x37')]();}};};