Built motion from commit (unavailable).|2.5.25
[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 _0x8028=['moment','../../../../config/logger','../../rpc/chatMessage','../../rpc/openchannelMessage','created','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20already\x20sent','next','channel','contact','format','mail','body','getMustacheRender','message','from','phone','subject','startsWith','Re:\x20','chat','ChatWebsiteId','account','AccountId','upperFirst','interaction','Message','Smtp','service','host','port','secure','auth','pass','inReplyTo','html','<div\x20id=\x22xm-mail-content\x22>','<div\x20id=\x22xm-mail-content\x22','</div>','All','sendMailMessage','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','messageId','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','create','finally'];(function(_0x203bcf,_0x232fa0){var _0x711944=function(_0x49f090){while(--_0x49f090){_0x203bcf['push'](_0x203bcf['shift']());}};_0x711944(++_0x232fa0);}(_0x8028,0xcc));var _0x8802=function(_0x18f63e,_0x621264){_0x18f63e=_0x18f63e-0x0;var _0x1c52b7=_0x8028[_0x18f63e];return _0x1c52b7;};'use strict';var _=require('lodash');var moment=require(_0x8802('0x0'));var utils=require('./utils');var logger=require(_0x8802('0x1'))('routing');var rpc={'chatMessage':require(_0x8802('0x2')),'openchannelMessage':require(_0x8802('0x3')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require('../../rpc/whatsappMessage')};var mailRpc=require('../../mailRpc');exports['consequence']=function(_0x480db5,_0x4d1f36){return function(_0x5604c6){try{if(_0x4d1f36[0x0]==='1'&&(_['isNil'](this['interaction'][_0x8802('0x4')])||!this['interaction'][_0x8802('0x4')])){logger[_0x8802('0x5')](_0x8802('0x6'),_0x480db5,_0x8802('0x7'));return _0x5604c6[_0x8802('0x8')]();}var _0x50a16a=this[_0x8802('0x9')];var _0x51e8aa={'ContactId':this[_0x8802('0xa')]['id'],'sentAt':moment()[_0x8802('0xb')]('YYYY-MM-DD\x20HH:mm:ss'),'direction':'out'};if(this[_0x8802('0x9')]===_0x8802('0xc')){_0x51e8aa[_0x8802('0xd')]=utils[_0x8802('0xe')](_0x4d1f36[0x2],this);}else{_0x51e8aa['body']=utils[_0x8802('0xe')](_0x4d1f36[0x1],this);}if(this[_0x8802('0xf')]){_0x51e8aa['to']=this['message']['from']||'';if(this['channel']==='mail'&&_0x4d1f36[0x1]==='1'){_0x51e8aa['cc']=this[_0x8802('0xf')]['cc']||'';}_0x51e8aa[_0x8802('0x10')]=this['message']['to']||'';_0x51e8aa[_0x8802('0x11')]=this[_0x8802('0xf')]['phone']||'';_0x51e8aa['read']=!![];if(this[_0x8802('0xf')][_0x8802('0x12')]){_0x51e8aa[_0x8802('0x12')]='';_0x51e8aa[_0x8802('0x12')]+=_[_0x8802('0x13')](this['message'][_0x8802('0x12')],'Re:')?'':_0x8802('0x14');_0x51e8aa[_0x8802('0x12')]+=this[_0x8802('0xf')][_0x8802('0x12')];}}if(this['channel']===_0x8802('0x15')){_0x51e8aa[_0x8802('0x16')]=this[_0x8802('0x17')]['id'];}else{_0x51e8aa[_['upperFirst'](this[_0x8802('0x9')])+_0x8802('0x18')]=this['account']['id'];}_0x51e8aa[_[_0x8802('0x19')](this['channel'])+'InteractionId']=this[_0x8802('0x1a')]['id'];if(rpc[this[_0x8802('0x9')]+_0x8802('0x1b')]){if(this['channel']===_0x8802('0xc')){var _0x220165={'tls':{'rejectUnauthorized':![]}};if(this[_0x8802('0x17')][_0x8802('0x1c')]['service']){_0x220165[_0x8802('0x1d')]=this[_0x8802('0x17')]['Smtp']['service'];}else{_0x220165[_0x8802('0x1e')]=this[_0x8802('0x17')][_0x8802('0x1c')][_0x8802('0x1e')];_0x220165[_0x8802('0x1f')]=this[_0x8802('0x17')][_0x8802('0x1c')][_0x8802('0x1f')];_0x220165[_0x8802('0x20')]=this[_0x8802('0x17')][_0x8802('0x1c')][_0x8802('0x20')];}if(this[_0x8802('0x17')]['Smtp']['authentication']){_0x220165[_0x8802('0x21')]={'user':this[_0x8802('0x17')]['Smtp']['user'],'pass':this['account']['Smtp'][_0x8802('0x22')]};}_0x51e8aa[_0x8802('0x23')]=this['message']['messageId'];_0x51e8aa[_0x8802('0x24')]=_0x8802('0x25')+_['replace'](_0x51e8aa[_0x8802('0xd')],_0x8802('0x26'),'<div')+_0x8802('0x27');_0x51e8aa['headers']={'Auto-Submitted':'auto-replied','X-Auto-Response-Suppress':_0x8802('0x28'),'Precedence':'auto_reply'};return mailRpc[_0x8802('0x29')](_0x220165,_0x51e8aa)[_0x8802('0x2a')](function(_0x33df70){logger[_0x8802('0x5')](_0x8802('0x2b'),_0x480db5);_0x51e8aa[_0x8802('0x2c')]=_0x33df70[_0x8802('0xf')][_0x8802('0x2c')];return rpc[_0x50a16a+_0x8802('0x1b')]['create'](_0x51e8aa);})[_0x8802('0x2a')](function(_0x3a2fc9){logger[_0x8802('0x5')](_0x8802('0x6'),_0x480db5,JSON[_0x8802('0x2d')](_0x3a2fc9));})[_0x8802('0x2e')](function(_0x59a9d5){logger[_0x8802('0x2f')](_0x8802('0x30'),_0x480db5,JSON[_0x8802('0x2d')](_0x59a9d5));})['finally'](function(){_0x5604c6['next']();});}else{return rpc[this[_0x8802('0x9')]+'Message'][_0x8802('0x31')](_0x51e8aa)[_0x8802('0x2a')](function(_0x48ce19){logger[_0x8802('0x5')]('[%s][AUTOREPLY]\x20%s',_0x480db5,_0x51e8aa['body']);})[_0x8802('0x2e')](function(_0x45455f){logger['error']('[%s][AUTOREPLY]\x20%s',_0x480db5,JSON[_0x8802('0x2d')](_0x45455f));})[_0x8802('0x32')](function(){_0x5604c6['next']();});}}}catch(_0xfb1c90){logger[_0x8802('0x2f')](_0x8802('0x6'),_0x480db5,JSON[_0x8802('0x2d')](_0xfb1c90));_0x5604c6['stop']();}};};