Built motion from commit 9d1906d1.|2.5.40
[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 _0xba05=['Message','Smtp','service','host','secure','authentication','auth','user','pass','inReplyTo','messageId','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','<div','headers','auto-replied','All','sendMailMessage','then','create','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','finally','resolve','Interaction','update','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','stop','lodash','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../rpc/openchannelInteraction','../../rpc/smsInteraction','../../rpc/faxInteraction','../../rpc/whatsappInteraction','../../mailRpc','consequence','channel','mail','body','isAutoreply','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','isNil','interaction','created','Autoreply\x20already\x20sent','autoreplyExecuted','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','getMustacheRender','message','from','phone','read','subject','startsWith','Re:','Re:\x20','chat','ChatWebsiteId','account','upperFirst','AccountId'];(function(_0x42dd06,_0x4d928b){var _0x121e9a=function(_0x2e79c4){while(--_0x2e79c4){_0x42dd06['push'](_0x42dd06['shift']());}};_0x121e9a(++_0x4d928b);}(_0xba05,0xc0));var _0x5ba0=function(_0x5f3f88,_0x562baf){_0x5f3f88=_0x5f3f88-0x0;var _0xd08119=_0xba05[_0x5f3f88];return _0xd08119;};'use strict';var _=require(_0x5ba0('0x0'));var moment=require('moment');var utils=require(_0x5ba0('0x1'));var logger=require(_0x5ba0('0x2'))(_0x5ba0('0x3'));var rpc={'chatMessage':require(_0x5ba0('0x4')),'openchannelMessage':require(_0x5ba0('0x5')),'mailMessage':require(_0x5ba0('0x6')),'smsMessage':require(_0x5ba0('0x7')),'faxMessage':require(_0x5ba0('0x8')),'whatsappMessage':require(_0x5ba0('0x9')),'chatInteraction':require('../../rpc/chatInteraction'),'openchannelInteraction':require(_0x5ba0('0xa')),'mailInteraction':require('../../rpc/mailInteraction'),'smsInteraction':require(_0x5ba0('0xb')),'faxInteraction':require(_0x5ba0('0xc')),'whatsappInteraction':require(_0x5ba0('0xd'))};var mailRpc=require(_0x5ba0('0xe'));exports[_0x5ba0('0xf')]=function(_0x5881d0,_0x4ff816,_0x24d78b,_0x9f937){return function(_0x5058f5){try{var _0x5c4f45=this[_0x5ba0('0x10')];if(_0x5c4f45===_0x5ba0('0x11')&&_0x9f937[_0x5ba0('0x12')][_0x5ba0('0x13')]){logger[_0x5ba0('0x14')](_0x5ba0('0x15'),_0x5881d0,_0x5ba0('0x16'));return _0x5058f5[_0x5ba0('0x17')]();}if(_0x4ff816[0x0]==='1'&&(_[_0x5ba0('0x18')](this[_0x5ba0('0x19')][_0x5ba0('0x1a')])||!this[_0x5ba0('0x19')]['created'])){logger[_0x5ba0('0x14')](_0x5ba0('0x15'),_0x5881d0,_0x5ba0('0x1b'));return _0x5058f5[_0x5ba0('0x17')]();}if(_0x4ff816[0x0]==='2'&&this[_0x5ba0('0x19')][_0x5ba0('0x1c')]){logger['info'](_0x5ba0('0x1d'),_0x5881d0,'One\x20Time\x20already\x20sent');return _0x5058f5[_0x5ba0('0x17')]();}var _0x5ce209={'ContactId':this[_0x5ba0('0x1e')]['id'],'sentAt':moment()[_0x5ba0('0x1f')](_0x5ba0('0x20')),'direction':_0x5ba0('0x21')};if(this[_0x5ba0('0x10')]===_0x5ba0('0x11')){_0x5ce209[_0x5ba0('0x12')]=utils['getMustacheRender'](_0x4ff816[0x2],this);}else{_0x5ce209[_0x5ba0('0x12')]=utils[_0x5ba0('0x22')](_0x4ff816[0x1],this);}if(this['message']){_0x5ce209['to']=this[_0x5ba0('0x23')][_0x5ba0('0x24')]||'';if(this[_0x5ba0('0x10')]===_0x5ba0('0x11')&&_0x4ff816[0x1]==='1'){_0x5ce209['cc']=this['message']['cc']||'';}_0x5ce209[_0x5ba0('0x24')]=this['message']['to']||'';_0x5ce209['phone']=this[_0x5ba0('0x23')][_0x5ba0('0x25')]||'';_0x5ce209[_0x5ba0('0x26')]=!![];if(this[_0x5ba0('0x23')]['subject']){_0x5ce209[_0x5ba0('0x27')]='';_0x5ce209[_0x5ba0('0x27')]+=_[_0x5ba0('0x28')](this[_0x5ba0('0x23')]['subject'],_0x5ba0('0x29'))?'':_0x5ba0('0x2a');_0x5ce209[_0x5ba0('0x27')]+=this[_0x5ba0('0x23')][_0x5ba0('0x27')];}}if(this[_0x5ba0('0x10')]===_0x5ba0('0x2b')){_0x5ce209[_0x5ba0('0x2c')]=this[_0x5ba0('0x2d')]['id'];}else{_0x5ce209[_[_0x5ba0('0x2e')](this[_0x5ba0('0x10')])+_0x5ba0('0x2f')]=this[_0x5ba0('0x2d')]['id'];}_0x5ce209[_['upperFirst'](this[_0x5ba0('0x10')])+'InteractionId']=this['interaction']['id'];var _0x6adb0a=this[_0x5ba0('0x19')];if(rpc[this[_0x5ba0('0x10')]+_0x5ba0('0x30')]){if(this['channel']==='mail'){var _0x4073f1={'tls':{'rejectUnauthorized':![]}};if(this[_0x5ba0('0x2d')][_0x5ba0('0x31')][_0x5ba0('0x32')]){_0x4073f1[_0x5ba0('0x32')]=this[_0x5ba0('0x2d')][_0x5ba0('0x31')][_0x5ba0('0x32')];}else{_0x4073f1['host']=this[_0x5ba0('0x2d')]['Smtp'][_0x5ba0('0x33')];_0x4073f1['port']=this[_0x5ba0('0x2d')][_0x5ba0('0x31')]['port'];_0x4073f1[_0x5ba0('0x34')]=this[_0x5ba0('0x2d')][_0x5ba0('0x31')][_0x5ba0('0x34')];}if(this[_0x5ba0('0x2d')][_0x5ba0('0x31')][_0x5ba0('0x35')]){_0x4073f1[_0x5ba0('0x36')]={'user':this[_0x5ba0('0x2d')]['Smtp'][_0x5ba0('0x37')],'pass':this[_0x5ba0('0x2d')]['Smtp'][_0x5ba0('0x38')]};}_0x5ce209[_0x5ba0('0x39')]=this[_0x5ba0('0x23')][_0x5ba0('0x3a')];_0x5ce209[_0x5ba0('0x3b')]=_0x5ba0('0x3c')+_[_0x5ba0('0x3d')](_0x5ce209[_0x5ba0('0x12')],_0x5ba0('0x3e'),_0x5ba0('0x3f'))+'</div>';_0x5ce209[_0x5ba0('0x40')]={'Auto-Submitted':_0x5ba0('0x41'),'X-Auto-Response-Suppress':_0x5ba0('0x42'),'Precedence':'auto_reply'};return mailRpc[_0x5ba0('0x43')](_0x4073f1,_0x5ce209)[_0x5ba0('0x44')](function(_0x5ddf6d){logger[_0x5ba0('0x14')]('[%s][AUTOREPLY]\x20SMTP\x20SENT',_0x5881d0);_0x5ce209[_0x5ba0('0x3a')]=_0x5ddf6d[_0x5ba0('0x23')][_0x5ba0('0x3a')];return rpc[_0x5c4f45+_0x5ba0('0x30')][_0x5ba0('0x45')](_0x5ce209);})[_0x5ba0('0x44')](function(_0x496ebb){logger[_0x5ba0('0x14')]('[%s][AUTOREPLY]\x20%s',_0x5881d0,JSON[_0x5ba0('0x46')](_0x496ebb));})[_0x5ba0('0x47')](function(_0x2075b1){logger[_0x5ba0('0x48')](_0x5ba0('0x49'),_0x5881d0,JSON[_0x5ba0('0x46')](_0x2075b1));})[_0x5ba0('0x4a')](function(){Promise[_0x5ba0('0x4b')]()['then'](function(){if(_0x4ff816[0x0]!=='2'||_0x6adb0a[_0x5ba0('0x1c')])return;return rpc[_0x5c4f45+_0x5ba0('0x4c')][_0x5ba0('0x4d')](_0x6adb0a['id'],{'autoreplyExecuted':!![]})[_0x5ba0('0x44')](function(_0x1e357b){logger['info'](_0x5ba0('0x1d'),_0x5881d0,JSON[_0x5ba0('0x46')](_0x1e357b));})['catch'](function(_0x3def40){logger[_0x5ba0('0x48')](_0x5ba0('0x4e'),_0x5881d0,JSON[_0x5ba0('0x46')](_0x3def40));});})[_0x5ba0('0x44')](function(){_0x5058f5[_0x5ba0('0x17')]();});});}else{return rpc[this[_0x5ba0('0x10')]+'Message']['create'](_0x5ce209)[_0x5ba0('0x44')](function(_0x77f49d){logger[_0x5ba0('0x14')](_0x5ba0('0x15'),_0x5881d0,_0x5ce209[_0x5ba0('0x12')]);})['catch'](function(_0x111266){logger[_0x5ba0('0x48')]('[%s][AUTOREPLY]\x20%s',_0x5881d0,JSON[_0x5ba0('0x46')](_0x111266));})[_0x5ba0('0x4a')](function(){Promise[_0x5ba0('0x4b')]()[_0x5ba0('0x44')](function(){if(_0x4ff816[0x0]!=='2'||_0x6adb0a[_0x5ba0('0x1c')])return;return rpc[_0x5c4f45+_0x5ba0('0x4c')]['update'](_0x6adb0a['id'],{'autoreplyExecuted':!![]})[_0x5ba0('0x44')](function(_0x529006){logger[_0x5ba0('0x14')](_0x5ba0('0x1d'),_0x5881d0,JSON[_0x5ba0('0x46')](_0x529006));})[_0x5ba0('0x47')](function(_0x47dea1){logger[_0x5ba0('0x48')](_0x5ba0('0x4e'),_0x5881d0,JSON[_0x5ba0('0x46')](_0x47dea1));});})[_0x5ba0('0x44')](function(){_0x5058f5[_0x5ba0('0x17')]();});});}}}catch(_0x39190b){logger['error'](_0x5ba0('0x15'),_0x5881d0,JSON[_0x5ba0('0x46')](_0x39190b));_0x5058f5[_0x5ba0('0x4f')]();}};};