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