Built motion from commit 9e1399f3.|2.5.37
[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 _0xe069=['../../rpc/smsInteraction','../../mailRpc','consequence','channel','mail','[%s][AUTOREPLY]\x20%s','Autoreply\x20not\x20executed\x20(message\x20is\x20autoreply)','next','isNil','interaction','created','Autoreply\x20already\x20sent','autoreplyExecuted','info','[%s][AUTOREPLY][autoreplyExecuted]\x20%s','One\x20Time\x20already\x20sent','format','YYYY-MM-DD\x20HH:mm:ss','body','message','from','phone','read','subject','startsWith','Re:','Re:\x20','chat','account','upperFirst','InteractionId','Message','Smtp','service','host','port','secure','authentication','user','pass','inReplyTo','messageId','html','<div\x20id=\x22xm-mail-content\x22>','replace','<div\x20id=\x22xm-mail-content\x22','</div>','headers','auto-replied','All','auto_reply','sendMailMessage','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','stringify','error','[RPC][%s][AUTOREPLY]\x20%s','finally','update','catch','[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s','create','Interaction','lodash','moment','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/chatInteraction'];(function(_0x4e2aed,_0x29773b){var _0x591983=function(_0x4a8fd4){while(--_0x4a8fd4){_0x4e2aed['push'](_0x4e2aed['shift']());}};_0x591983(++_0x29773b);}(_0xe069,0x1ac));var _0x9e06=function(_0x52b7c9,_0x5721ff){_0x52b7c9=_0x52b7c9-0x0;var _0x5d9399=_0xe069[_0x52b7c9];return _0x5d9399;};'use strict';var _=require(_0x9e06('0x0'));var moment=require(_0x9e06('0x1'));var utils=require(_0x9e06('0x2'));var logger=require(_0x9e06('0x3'))(_0x9e06('0x4'));var rpc={'chatMessage':require(_0x9e06('0x5')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0x9e06('0x6')),'smsMessage':require(_0x9e06('0x7')),'faxMessage':require(_0x9e06('0x8')),'whatsappMessage':require('../../rpc/whatsappMessage'),'chatInteraction':require(_0x9e06('0x9')),'openchannelInteraction':require('../../rpc/openchannelInteraction'),'mailInteraction':require('../../rpc/mailInteraction'),'smsInteraction':require(_0x9e06('0xa')),'faxInteraction':require('../../rpc/faxInteraction'),'whatsappInteraction':require('../../rpc/whatsappInteraction')};var mailRpc=require(_0x9e06('0xb'));exports[_0x9e06('0xc')]=function(_0x3433fe,_0x4804a1,_0x2a0550,_0x2f238b){return function(_0x45ee68){try{var _0xec29c=this[_0x9e06('0xd')];if(_0xec29c===_0x9e06('0xe')&&_0x2f238b['body']['isAutoreply']){logger['info'](_0x9e06('0xf'),_0x3433fe,_0x9e06('0x10'));return _0x45ee68[_0x9e06('0x11')]();}if(_0x4804a1[0x0]==='1'&&(_[_0x9e06('0x12')](this['interaction']['created'])||!this[_0x9e06('0x13')][_0x9e06('0x14')])){logger['info']('[%s][AUTOREPLY]\x20%s',_0x3433fe,_0x9e06('0x15'));return _0x45ee68[_0x9e06('0x11')]();}if(_0x4804a1[0x0]==='2'&&this['interaction'][_0x9e06('0x16')]){logger[_0x9e06('0x17')](_0x9e06('0x18'),_0x3433fe,_0x9e06('0x19'));return _0x45ee68[_0x9e06('0x11')]();}var _0x191cd9={'ContactId':this['contact']['id'],'sentAt':moment()[_0x9e06('0x1a')](_0x9e06('0x1b')),'direction':'out'};if(this[_0x9e06('0xd')]==='mail'){_0x191cd9[_0x9e06('0x1c')]=utils['getMustacheRender'](_0x4804a1[0x2],this);}else{_0x191cd9[_0x9e06('0x1c')]=utils['getMustacheRender'](_0x4804a1[0x1],this);}if(this[_0x9e06('0x1d')]){_0x191cd9['to']=this[_0x9e06('0x1d')][_0x9e06('0x1e')]||'';if(this[_0x9e06('0xd')]===_0x9e06('0xe')&&_0x4804a1[0x1]==='1'){_0x191cd9['cc']=this[_0x9e06('0x1d')]['cc']||'';}_0x191cd9[_0x9e06('0x1e')]=this[_0x9e06('0x1d')]['to']||'';_0x191cd9[_0x9e06('0x1f')]=this[_0x9e06('0x1d')][_0x9e06('0x1f')]||'';_0x191cd9[_0x9e06('0x20')]=!![];if(this['message']['subject']){_0x191cd9[_0x9e06('0x21')]='';_0x191cd9[_0x9e06('0x21')]+=_[_0x9e06('0x22')](this[_0x9e06('0x1d')][_0x9e06('0x21')],_0x9e06('0x23'))?'':_0x9e06('0x24');_0x191cd9[_0x9e06('0x21')]+=this[_0x9e06('0x1d')][_0x9e06('0x21')];}}if(this['channel']===_0x9e06('0x25')){_0x191cd9['ChatWebsiteId']=this[_0x9e06('0x26')]['id'];}else{_0x191cd9[_[_0x9e06('0x27')](this['channel'])+'AccountId']=this[_0x9e06('0x26')]['id'];}_0x191cd9[_[_0x9e06('0x27')](this[_0x9e06('0xd')])+_0x9e06('0x28')]=this[_0x9e06('0x13')]['id'];var _0x28e67a=this[_0x9e06('0x13')];if(rpc[this[_0x9e06('0xd')]+_0x9e06('0x29')]){if(this[_0x9e06('0xd')]===_0x9e06('0xe')){var _0x156543={'tls':{'rejectUnauthorized':![]}};if(this[_0x9e06('0x26')][_0x9e06('0x2a')]['service']){_0x156543[_0x9e06('0x2b')]=this[_0x9e06('0x26')]['Smtp'][_0x9e06('0x2b')];}else{_0x156543[_0x9e06('0x2c')]=this[_0x9e06('0x26')][_0x9e06('0x2a')]['host'];_0x156543['port']=this[_0x9e06('0x26')][_0x9e06('0x2a')][_0x9e06('0x2d')];_0x156543[_0x9e06('0x2e')]=this['account'][_0x9e06('0x2a')][_0x9e06('0x2e')];}if(this[_0x9e06('0x26')][_0x9e06('0x2a')][_0x9e06('0x2f')]){_0x156543['auth']={'user':this[_0x9e06('0x26')]['Smtp'][_0x9e06('0x30')],'pass':this['account']['Smtp'][_0x9e06('0x31')]};}_0x191cd9[_0x9e06('0x32')]=this['message'][_0x9e06('0x33')];_0x191cd9[_0x9e06('0x34')]=_0x9e06('0x35')+_[_0x9e06('0x36')](_0x191cd9[_0x9e06('0x1c')],_0x9e06('0x37'),'<div')+_0x9e06('0x38');_0x191cd9[_0x9e06('0x39')]={'Auto-Submitted':_0x9e06('0x3a'),'X-Auto-Response-Suppress':_0x9e06('0x3b'),'Precedence':_0x9e06('0x3c')};return mailRpc[_0x9e06('0x3d')](_0x156543,_0x191cd9)[_0x9e06('0x3e')](function(_0x8a26d6){logger['info'](_0x9e06('0x3f'),_0x3433fe);_0x191cd9[_0x9e06('0x33')]=_0x8a26d6[_0x9e06('0x1d')][_0x9e06('0x33')];return rpc[_0xec29c+_0x9e06('0x29')]['create'](_0x191cd9);})[_0x9e06('0x3e')](function(_0x5c2eb6){logger[_0x9e06('0x17')]('[%s][AUTOREPLY]\x20%s',_0x3433fe,JSON[_0x9e06('0x40')](_0x5c2eb6));})['catch'](function(_0x5ac3a1){logger[_0x9e06('0x41')](_0x9e06('0x42'),_0x3433fe,JSON[_0x9e06('0x40')](_0x5ac3a1));})[_0x9e06('0x43')](function(){Promise['resolve']()[_0x9e06('0x3e')](function(){if(_0x4804a1[0x0]!=='2'||_0x28e67a[_0x9e06('0x16')])return;return rpc[_0xec29c+'Interaction'][_0x9e06('0x44')](_0x28e67a['id'],{'autoreplyExecuted':!![]})[_0x9e06('0x3e')](function(_0x5beb61){logger['info'](_0x9e06('0x18'),_0x3433fe,JSON[_0x9e06('0x40')](_0x5beb61));})[_0x9e06('0x45')](function(_0x54ca36){logger[_0x9e06('0x41')](_0x9e06('0x46'),_0x3433fe,JSON[_0x9e06('0x40')](_0x54ca36));});})[_0x9e06('0x3e')](function(){_0x45ee68['next']();});});}else{return rpc[this[_0x9e06('0xd')]+_0x9e06('0x29')][_0x9e06('0x47')](_0x191cd9)[_0x9e06('0x3e')](function(_0x67ee93){logger[_0x9e06('0x17')](_0x9e06('0xf'),_0x3433fe,_0x191cd9['body']);})[_0x9e06('0x45')](function(_0x58588e){logger['error'](_0x9e06('0xf'),_0x3433fe,JSON[_0x9e06('0x40')](_0x58588e));})[_0x9e06('0x43')](function(){Promise['resolve']()[_0x9e06('0x3e')](function(){if(_0x4804a1[0x0]!=='2'||_0x28e67a[_0x9e06('0x16')])return;return rpc[_0xec29c+_0x9e06('0x48')][_0x9e06('0x44')](_0x28e67a['id'],{'autoreplyExecuted':!![]})[_0x9e06('0x3e')](function(_0x3bac19){logger[_0x9e06('0x17')](_0x9e06('0x18'),_0x3433fe,JSON[_0x9e06('0x40')](_0x3bac19));})[_0x9e06('0x45')](function(_0x424e8d){logger[_0x9e06('0x41')]('[RPC][%s][AUTOREPLY][autoreplyExecuted]\x20%s',_0x3433fe,JSON['stringify'](_0x424e8d));});})[_0x9e06('0x3e')](function(){_0x45ee68['next']();});});}}}catch(_0x533ace){logger[_0x9e06('0x41')](_0x9e06('0xf'),_0x3433fe,JSON[_0x9e06('0x40')](_0x533ace));_0x45ee68['stop']();}};};