43043f4dabfefcefa79765d0dce3f93e509f76a5
[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 _0xfc17=['autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','YYYY-MM-DD\x20HH:mm:ss','body','getMustacheRender','message','from','phone','read','subject','startsWith','Re:','chat','ChatWebsiteId','account','upperFirst','AccountId','Message','inReplyTo','messageId','html','replace','<div\x20id=\x22xm-mail-content\x22','<div','</div>','headers','auto-replied','All','auto_reply','sendMailMessage','smtpOptions','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','[%s][AUTOREPLY]\x20%s','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','finally','Interaction','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','resolve','update','stop','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/whatsappMessage','../../rpc/chatInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','channel','mail','isAutoreply','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','isNil','created','info','Autoreply\x20already\x20sent','next','interaction'];(function(_0x3c00d6,_0x382769){var _0x320194=function(_0x1e3b74){while(--_0x1e3b74){_0x3c00d6['push'](_0x3c00d6['shift']());}};_0x320194(++_0x382769);}(_0xfc17,0xf6));var _0x7fc1=function(_0x2cd00f,_0x22f28c){_0x2cd00f=_0x2cd00f-0x0;var _0x53f2f3=_0xfc17[_0x2cd00f];return _0x53f2f3;};'use strict';var _=require('lodash');var moment=require('moment');var utils=require(_0x7fc1('0x0'));var logger=require(_0x7fc1('0x1'))(_0x7fc1('0x2'));var rpc={'chatMessage':require(_0x7fc1('0x3')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0x7fc1('0x4')),'smsMessage':require(_0x7fc1('0x5')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require(_0x7fc1('0x6')),'chatInteraction':require(_0x7fc1('0x7')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require(_0x7fc1('0x8')),'smsInteraction':require(_0x7fc1('0x9')),'faxInteraction':require(_0x7fc1('0xa')),'whatsappInteraction':require(_0x7fc1('0xb'))};var mailRpc=require('../../mailRpc');exports['consequence']=function(_0x325432,_0x1d64de,_0x640085,_0x319f54){return function(_0x2ab314){try{var _0x57b4c4=this[_0x7fc1('0xc')];if(_0x57b4c4===_0x7fc1('0xd')&&_0x319f54['body'][_0x7fc1('0xe')]){logger['info']('[%s][AUTOREPLY]\x20%s',_0x325432,_0x7fc1('0xf'));return _0x2ab314['next']();}if(_0x1d64de[0x0]==='1'&&(_[_0x7fc1('0x10')](this['interaction'][_0x7fc1('0x11')])||!this['interaction'][_0x7fc1('0x11')])){logger[_0x7fc1('0x12')]('[%s][AUTOREPLY]\x20%s',_0x325432,_0x7fc1('0x13'));return _0x2ab314[_0x7fc1('0x14')]();}if(_0x1d64de[0x0]==='2'&&this[_0x7fc1('0x15')][_0x7fc1('0x16')]){logger[_0x7fc1('0x12')](_0x7fc1('0x17'),_0x325432,'One\x20Time\x20already\x20sent');return _0x2ab314[_0x7fc1('0x14')]();}var _0x3cd832={'ContactId':this['contact']['id'],'sentAt':moment()['format'](_0x7fc1('0x18')),'direction':'out'};if(this['channel']===_0x7fc1('0xd')){_0x3cd832[_0x7fc1('0x19')]=utils[_0x7fc1('0x1a')](_0x1d64de[0x2],this);}else{_0x3cd832['body']=utils[_0x7fc1('0x1a')](_0x1d64de[0x1],this);}if(this[_0x7fc1('0x1b')]){_0x3cd832['to']=this[_0x7fc1('0x1b')][_0x7fc1('0x1c')]||'';if(this[_0x7fc1('0xc')]===_0x7fc1('0xd')&&_0x1d64de[0x1]==='1'){_0x3cd832['cc']=this[_0x7fc1('0x1b')]['cc']||'';}_0x3cd832[_0x7fc1('0x1c')]=this['message']['to']||'';_0x3cd832['phone']=this[_0x7fc1('0x1b')][_0x7fc1('0x1d')]||'';_0x3cd832[_0x7fc1('0x1e')]=!![];if(this[_0x7fc1('0x1b')]['subject']){_0x3cd832[_0x7fc1('0x1f')]='';_0x3cd832[_0x7fc1('0x1f')]+=_[_0x7fc1('0x20')](this[_0x7fc1('0x1b')][_0x7fc1('0x1f')],_0x7fc1('0x21'))?'':'Re:\x20';_0x3cd832['subject']+=this[_0x7fc1('0x1b')][_0x7fc1('0x1f')];}}if(this[_0x7fc1('0xc')]===_0x7fc1('0x22')){_0x3cd832[_0x7fc1('0x23')]=this[_0x7fc1('0x24')]['id'];}else{_0x3cd832[_[_0x7fc1('0x25')](this['channel'])+_0x7fc1('0x26')]=this[_0x7fc1('0x24')]['id'];}_0x3cd832[_[_0x7fc1('0x25')](this[_0x7fc1('0xc')])+'InteractionId']=this[_0x7fc1('0x15')]['id'];var _0x538fd7=this['interaction'];if(rpc[this[_0x7fc1('0xc')]+_0x7fc1('0x27')]){if(this[_0x7fc1('0xc')]===_0x7fc1('0xd')){_0x3cd832[_0x7fc1('0x28')]=this[_0x7fc1('0x1b')][_0x7fc1('0x29')];_0x3cd832[_0x7fc1('0x2a')]='<div\x20id=\x22xm-mail-content\x22>'+_[_0x7fc1('0x2b')](_0x3cd832[_0x7fc1('0x19')],_0x7fc1('0x2c'),_0x7fc1('0x2d'))+_0x7fc1('0x2e');_0x3cd832[_0x7fc1('0x2f')]={'Auto-Submitted':_0x7fc1('0x30'),'X-Auto-Response-Suppress':_0x7fc1('0x31'),'Precedence':_0x7fc1('0x32')};return mailRpc[_0x7fc1('0x33')](this[_0x7fc1('0x24')][_0x7fc1('0x34')],_0x3cd832)[_0x7fc1('0x35')](function(_0x5d4349){logger[_0x7fc1('0x12')](_0x7fc1('0x36'),_0x325432);_0x3cd832['messageId']=_0x5d4349[_0x7fc1('0x1b')][_0x7fc1('0x29')];return rpc[_0x57b4c4+'Message'][_0x7fc1('0x37')](_0x3cd832);})[_0x7fc1('0x35')](function(_0x2cb54b){logger[_0x7fc1('0x12')](_0x7fc1('0x38'),_0x325432,JSON[_0x7fc1('0x39')](_0x2cb54b));})[_0x7fc1('0x3a')](function(_0x25cee5){logger[_0x7fc1('0x3b')](_0x7fc1('0x3c'),_0x325432,JSON[_0x7fc1('0x39')](_0x25cee5));})[_0x7fc1('0x3d')](function(){Promise['resolve']()[_0x7fc1('0x35')](function(){if(_0x1d64de[0x0]!=='2'||_0x538fd7[_0x7fc1('0x16')])return;return rpc[_0x57b4c4+_0x7fc1('0x3e')]['update'](_0x538fd7['id'],{'autoreplyExecuted':!![]})[_0x7fc1('0x35')](function(_0xdc8390){logger['info']('[%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x325432,JSON[_0x7fc1('0x39')](_0xdc8390));})[_0x7fc1('0x3a')](function(_0x25b6f3){logger[_0x7fc1('0x3b')](_0x7fc1('0x3f'),_0x325432,JSON[_0x7fc1('0x39')](_0x25b6f3));});})[_0x7fc1('0x35')](function(){_0x2ab314['next']();});});}else{return rpc[this[_0x7fc1('0xc')]+_0x7fc1('0x27')][_0x7fc1('0x37')](_0x3cd832)[_0x7fc1('0x35')](function(){logger[_0x7fc1('0x12')](_0x7fc1('0x38'),_0x325432,_0x3cd832[_0x7fc1('0x19')]);})[_0x7fc1('0x3a')](function(_0x48ce19){logger['error'](_0x7fc1('0x38'),_0x325432,JSON['stringify'](_0x48ce19));})[_0x7fc1('0x3d')](function(){Promise[_0x7fc1('0x40')]()[_0x7fc1('0x35')](function(){if(_0x1d64de[0x0]!=='2'||_0x538fd7[_0x7fc1('0x16')])return;return rpc[_0x57b4c4+_0x7fc1('0x3e')][_0x7fc1('0x41')](_0x538fd7['id'],{'autoreplyExecuted':!![]})[_0x7fc1('0x35')](function(_0x188485){logger[_0x7fc1('0x12')](_0x7fc1('0x17'),_0x325432,JSON[_0x7fc1('0x39')](_0x188485));})[_0x7fc1('0x3a')](function(_0x91225a){logger[_0x7fc1('0x3b')]('[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x325432,JSON[_0x7fc1('0x39')](_0x91225a));});})[_0x7fc1('0x35')](function(){_0x2ab314[_0x7fc1('0x14')]();});});}}}catch(_0x10b5da){logger[_0x7fc1('0x3b')](_0x7fc1('0x38'),_0x325432,JSON[_0x7fc1('0x39')](_0x10b5da));_0x2ab314[_0x7fc1('0x42')]();}};};