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