Built motion from commit 14588770.|2.5.38
[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 _0xd328=['port','secure','authentication','auth','pass','inReplyTo','messageId','replace','<div\x20id=\x22xm-mail-content\x22','<div','</div>','headers','All','auto_reply','sendMailMessage','then','catch','error','[RPC][%s][AUTOREPLY]\x20%s','stringify','finally','Interaction','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','Message','create','resolve','stop','lodash','./utils','../../../../config/logger','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/whatsappMessage','../../rpc/openchannelInteraction','../../rpc/mailInteraction','../../rpc/smsInteraction','channel','mail','body','info','next','isNil','created','[%s][AUTOREPLY]\x20%s','Autoreply\x20already\x20sent','interaction','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','contact','out','getMustacheRender','message','from','phone','read','subject','startsWith','Re:\x20','chat','ChatWebsiteId','account','upperFirst','AccountId','Smtp','service','host'];(function(_0x59c071,_0x40fffc){var _0xe33a6d=function(_0x370466){while(--_0x370466){_0x59c071['push'](_0x59c071['shift']());}};_0xe33a6d(++_0x40fffc);}(_0xd328,0x130));var _0x8d32=function(_0x58a4a5,_0x15ffc8){_0x58a4a5=_0x58a4a5-0x0;var _0x3b1a42=_0xd328[_0x58a4a5];return _0x3b1a42;};'use strict';var _=require(_0x8d32('0x0'));var moment=require('moment');var utils=require(_0x8d32('0x1'));var logger=require(_0x8d32('0x2'))('routing');var rpc={'chatMessage':require('../../rpc/chatMessage'),'openchannelMessage':require(_0x8d32('0x3')),'mailMessage':require(_0x8d32('0x4')),'smsMessage':require(_0x8d32('0x5')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require(_0x8d32('0x6')),'chatInteraction':require('../../rpc/chatInteraction'),'openchannelInteraction':require(_0x8d32('0x7')),'mailInteraction':require(_0x8d32('0x8')),'smsInteraction':require(_0x8d32('0x9')),'faxInteraction':require('../../rpc/faxInteraction'),'whatsappInteraction':require('../../rpc/whatsappInteraction')};var mailRpc=require('../../mailRpc');exports['consequence']=function(_0x1d3955,_0x45f2d6,_0x689c96,_0x2a85f3){return function(_0x4984c0){try{var _0xbd686e=this[_0x8d32('0xa')];if(_0xbd686e===_0x8d32('0xb')&&_0x2a85f3[_0x8d32('0xc')]['isAutoreply']){logger[_0x8d32('0xd')]('[%s][AUTOREPLY]\x20%s',_0x1d3955,'Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)');return _0x4984c0[_0x8d32('0xe')]();}if(_0x45f2d6[0x0]==='1'&&(_[_0x8d32('0xf')](this['interaction'][_0x8d32('0x10')])||!this['interaction'][_0x8d32('0x10')])){logger[_0x8d32('0xd')](_0x8d32('0x11'),_0x1d3955,_0x8d32('0x12'));return _0x4984c0[_0x8d32('0xe')]();}if(_0x45f2d6[0x0]==='2'&&this[_0x8d32('0x13')][_0x8d32('0x14')]){logger[_0x8d32('0xd')](_0x8d32('0x15'),_0x1d3955,_0x8d32('0x16'));return _0x4984c0['next']();}var _0xd40c4f={'ContactId':this[_0x8d32('0x17')]['id'],'sentAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0x8d32('0x18')};if(this[_0x8d32('0xa')]==='mail'){_0xd40c4f[_0x8d32('0xc')]=utils[_0x8d32('0x19')](_0x45f2d6[0x2],this);}else{_0xd40c4f[_0x8d32('0xc')]=utils['getMustacheRender'](_0x45f2d6[0x1],this);}if(this[_0x8d32('0x1a')]){_0xd40c4f['to']=this[_0x8d32('0x1a')][_0x8d32('0x1b')]||'';if(this[_0x8d32('0xa')]===_0x8d32('0xb')&&_0x45f2d6[0x1]==='1'){_0xd40c4f['cc']=this[_0x8d32('0x1a')]['cc']||'';}_0xd40c4f[_0x8d32('0x1b')]=this['message']['to']||'';_0xd40c4f[_0x8d32('0x1c')]=this[_0x8d32('0x1a')]['phone']||'';_0xd40c4f[_0x8d32('0x1d')]=!![];if(this[_0x8d32('0x1a')]['subject']){_0xd40c4f[_0x8d32('0x1e')]='';_0xd40c4f[_0x8d32('0x1e')]+=_[_0x8d32('0x1f')](this[_0x8d32('0x1a')]['subject'],'Re:')?'':_0x8d32('0x20');_0xd40c4f[_0x8d32('0x1e')]+=this[_0x8d32('0x1a')]['subject'];}}if(this[_0x8d32('0xa')]===_0x8d32('0x21')){_0xd40c4f[_0x8d32('0x22')]=this[_0x8d32('0x23')]['id'];}else{_0xd40c4f[_[_0x8d32('0x24')](this['channel'])+_0x8d32('0x25')]=this['account']['id'];}_0xd40c4f[_['upperFirst'](this[_0x8d32('0xa')])+'InteractionId']=this[_0x8d32('0x13')]['id'];var _0x33bf1f=this['interaction'];if(rpc[this[_0x8d32('0xa')]+'Message']){if(this[_0x8d32('0xa')]===_0x8d32('0xb')){var _0x6847f8={'tls':{'rejectUnauthorized':![]}};if(this[_0x8d32('0x23')][_0x8d32('0x26')][_0x8d32('0x27')]){_0x6847f8[_0x8d32('0x27')]=this['account']['Smtp']['service'];}else{_0x6847f8[_0x8d32('0x28')]=this[_0x8d32('0x23')][_0x8d32('0x26')][_0x8d32('0x28')];_0x6847f8['port']=this[_0x8d32('0x23')][_0x8d32('0x26')][_0x8d32('0x29')];_0x6847f8[_0x8d32('0x2a')]=this[_0x8d32('0x23')][_0x8d32('0x26')][_0x8d32('0x2a')];}if(this[_0x8d32('0x23')][_0x8d32('0x26')][_0x8d32('0x2b')]){_0x6847f8[_0x8d32('0x2c')]={'user':this[_0x8d32('0x23')][_0x8d32('0x26')]['user'],'pass':this[_0x8d32('0x23')][_0x8d32('0x26')][_0x8d32('0x2d')]};}_0xd40c4f[_0x8d32('0x2e')]=this['message'][_0x8d32('0x2f')];_0xd40c4f['html']='<div\x20id=\x22xm-mail-content\x22>'+_[_0x8d32('0x30')](_0xd40c4f[_0x8d32('0xc')],_0x8d32('0x31'),_0x8d32('0x32'))+_0x8d32('0x33');_0xd40c4f[_0x8d32('0x34')]={'Auto-Submitted':'auto-replied','X-Auto-Response-Suppress':_0x8d32('0x35'),'Precedence':_0x8d32('0x36')};return mailRpc[_0x8d32('0x37')](_0x6847f8,_0xd40c4f)[_0x8d32('0x38')](function(_0x1d28cb){logger[_0x8d32('0xd')]('[%s][AUTOREPLY]\x20SMTP\x20SENT',_0x1d3955);_0xd40c4f[_0x8d32('0x2f')]=_0x1d28cb[_0x8d32('0x1a')][_0x8d32('0x2f')];return rpc[_0xbd686e+'Message']['create'](_0xd40c4f);})[_0x8d32('0x38')](function(_0x48fc96){logger[_0x8d32('0xd')](_0x8d32('0x11'),_0x1d3955,JSON['stringify'](_0x48fc96));})[_0x8d32('0x39')](function(_0x15bc76){logger[_0x8d32('0x3a')](_0x8d32('0x3b'),_0x1d3955,JSON[_0x8d32('0x3c')](_0x15bc76));})[_0x8d32('0x3d')](function(){Promise['resolve']()['then'](function(){if(_0x45f2d6[0x0]!=='2'||_0x33bf1f['autoreplyExecuted'])return;return rpc[_0xbd686e+_0x8d32('0x3e')][_0x8d32('0x3f')](_0x33bf1f['id'],{'autoreplyExecuted':!![]})[_0x8d32('0x38')](function(_0x5ee53f){logger['info'](_0x8d32('0x15'),_0x1d3955,JSON[_0x8d32('0x3c')](_0x5ee53f));})[_0x8d32('0x39')](function(_0x464daf){logger[_0x8d32('0x3a')](_0x8d32('0x40'),_0x1d3955,JSON[_0x8d32('0x3c')](_0x464daf));});})[_0x8d32('0x38')](function(){_0x4984c0[_0x8d32('0xe')]();});});}else{return rpc[this[_0x8d32('0xa')]+_0x8d32('0x41')][_0x8d32('0x42')](_0xd40c4f)[_0x8d32('0x38')](function(_0x9fcc5b){logger[_0x8d32('0xd')](_0x8d32('0x11'),_0x1d3955,_0xd40c4f[_0x8d32('0xc')]);})[_0x8d32('0x39')](function(_0x5c0c13){logger['error'](_0x8d32('0x11'),_0x1d3955,JSON['stringify'](_0x5c0c13));})[_0x8d32('0x3d')](function(){Promise[_0x8d32('0x43')]()['then'](function(){if(_0x45f2d6[0x0]!=='2'||_0x33bf1f[_0x8d32('0x14')])return;return rpc[_0xbd686e+'Interaction'][_0x8d32('0x3f')](_0x33bf1f['id'],{'autoreplyExecuted':!![]})[_0x8d32('0x38')](function(_0x20696d){logger[_0x8d32('0xd')](_0x8d32('0x15'),_0x1d3955,JSON[_0x8d32('0x3c')](_0x20696d));})[_0x8d32('0x39')](function(_0x46fc49){logger[_0x8d32('0x3a')](_0x8d32('0x40'),_0x1d3955,JSON[_0x8d32('0x3c')](_0x46fc49));});})[_0x8d32('0x38')](function(){_0x4984c0['next']();});});}}}catch(_0x31b3e9){logger[_0x8d32('0x3a')](_0x8d32('0x11'),_0x1d3955,JSON[_0x8d32('0x3c')](_0x31b3e9));_0x4984c0[_0x8d32('0x44')]();}};};