Built motion from commit (unavailable).|2.5.26
[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 _0x5f2f=['info','[%s][AUTOREPLY]\x20%s','Autoreply\x20already\x20sent','contact','format','out','channel','mail','body','getMustacheRender','message','from','phone','read','subject','startsWith','Re:','Re:\x20','chat','upperFirst','account','InteractionId','Message','service','Smtp','host','port','secure','authentication','auth','pass','inReplyTo','<div\x20id=\x22xm-mail-content\x22>','<div','</div>','headers','auto-replied','All','auto_reply','sendMailMessage','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','messageId','create','stringify','error','[RPC][%s][AUTOREPLY]\x20%s','catch','finally','next','stop','lodash','moment','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/whatsappMessage','../../mailRpc','consequence','interaction','created'];(function(_0x3e1fe4,_0x53d11e){var _0x13f21e=function(_0x2bb91b){while(--_0x2bb91b){_0x3e1fe4['push'](_0x3e1fe4['shift']());}};_0x13f21e(++_0x53d11e);}(_0x5f2f,0x73));var _0xf5f2=function(_0x163b80,_0x5e63e5){_0x163b80=_0x163b80-0x0;var _0x10d631=_0x5f2f[_0x163b80];return _0x10d631;};'use strict';var _=require(_0xf5f2('0x0'));var moment=require(_0xf5f2('0x1'));var utils=require(_0xf5f2('0x2'));var logger=require(_0xf5f2('0x3'))(_0xf5f2('0x4'));var rpc={'chatMessage':require(_0xf5f2('0x5')),'openchannelMessage':require(_0xf5f2('0x6')),'mailMessage':require(_0xf5f2('0x7')),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require(_0xf5f2('0x8'))};var mailRpc=require(_0xf5f2('0x9'));exports[_0xf5f2('0xa')]=function(_0x3eebf6,_0x3133bc){return function(_0x473100){try{if(_0x3133bc[0x0]==='1'&&(_['isNil'](this[_0xf5f2('0xb')][_0xf5f2('0xc')])||!this[_0xf5f2('0xb')]['created'])){logger[_0xf5f2('0xd')](_0xf5f2('0xe'),_0x3eebf6,_0xf5f2('0xf'));return _0x473100['next']();}var _0x977a59=this['channel'];var _0x53fb33={'ContactId':this[_0xf5f2('0x10')]['id'],'sentAt':moment()[_0xf5f2('0x11')]('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0xf5f2('0x12')};if(this[_0xf5f2('0x13')]===_0xf5f2('0x14')){_0x53fb33[_0xf5f2('0x15')]=utils[_0xf5f2('0x16')](_0x3133bc[0x2],this);}else{_0x53fb33[_0xf5f2('0x15')]=utils['getMustacheRender'](_0x3133bc[0x1],this);}if(this[_0xf5f2('0x17')]){_0x53fb33['to']=this[_0xf5f2('0x17')][_0xf5f2('0x18')]||'';if(this[_0xf5f2('0x13')]===_0xf5f2('0x14')&&_0x3133bc[0x1]==='1'){_0x53fb33['cc']=this['message']['cc']||'';}_0x53fb33[_0xf5f2('0x18')]=this[_0xf5f2('0x17')]['to']||'';_0x53fb33[_0xf5f2('0x19')]=this[_0xf5f2('0x17')][_0xf5f2('0x19')]||'';_0x53fb33[_0xf5f2('0x1a')]=!![];if(this[_0xf5f2('0x17')][_0xf5f2('0x1b')]){_0x53fb33[_0xf5f2('0x1b')]='';_0x53fb33[_0xf5f2('0x1b')]+=_[_0xf5f2('0x1c')](this[_0xf5f2('0x17')][_0xf5f2('0x1b')],_0xf5f2('0x1d'))?'':_0xf5f2('0x1e');_0x53fb33[_0xf5f2('0x1b')]+=this[_0xf5f2('0x17')]['subject'];}}if(this[_0xf5f2('0x13')]===_0xf5f2('0x1f')){_0x53fb33['ChatWebsiteId']=this['account']['id'];}else{_0x53fb33[_[_0xf5f2('0x20')](this[_0xf5f2('0x13')])+'AccountId']=this[_0xf5f2('0x21')]['id'];}_0x53fb33[_[_0xf5f2('0x20')](this[_0xf5f2('0x13')])+_0xf5f2('0x22')]=this[_0xf5f2('0xb')]['id'];if(rpc[this['channel']+_0xf5f2('0x23')]){if(this[_0xf5f2('0x13')]===_0xf5f2('0x14')){var _0x2833fe={'tls':{'rejectUnauthorized':![]}};if(this[_0xf5f2('0x21')]['Smtp']['service']){_0x2833fe[_0xf5f2('0x24')]=this[_0xf5f2('0x21')][_0xf5f2('0x25')][_0xf5f2('0x24')];}else{_0x2833fe[_0xf5f2('0x26')]=this[_0xf5f2('0x21')][_0xf5f2('0x25')][_0xf5f2('0x26')];_0x2833fe[_0xf5f2('0x27')]=this['account'][_0xf5f2('0x25')][_0xf5f2('0x27')];_0x2833fe[_0xf5f2('0x28')]=this[_0xf5f2('0x21')][_0xf5f2('0x25')][_0xf5f2('0x28')];}if(this['account']['Smtp'][_0xf5f2('0x29')]){_0x2833fe[_0xf5f2('0x2a')]={'user':this[_0xf5f2('0x21')]['Smtp']['user'],'pass':this[_0xf5f2('0x21')][_0xf5f2('0x25')][_0xf5f2('0x2b')]};}_0x53fb33[_0xf5f2('0x2c')]=this[_0xf5f2('0x17')]['messageId'];_0x53fb33['html']=_0xf5f2('0x2d')+_['replace'](_0x53fb33[_0xf5f2('0x15')],'<div\x20id=\x22xm-mail-content\x22',_0xf5f2('0x2e'))+_0xf5f2('0x2f');_0x53fb33[_0xf5f2('0x30')]={'Auto-Submitted':_0xf5f2('0x31'),'X-Auto-Response-Suppress':_0xf5f2('0x32'),'Precedence':_0xf5f2('0x33')};return mailRpc[_0xf5f2('0x34')](_0x2833fe,_0x53fb33)[_0xf5f2('0x35')](function(_0x5ca917){logger[_0xf5f2('0xd')](_0xf5f2('0x36'),_0x3eebf6);_0x53fb33[_0xf5f2('0x37')]=_0x5ca917[_0xf5f2('0x17')][_0xf5f2('0x37')];return rpc[_0x977a59+_0xf5f2('0x23')][_0xf5f2('0x38')](_0x53fb33);})['then'](function(_0x144646){logger[_0xf5f2('0xd')]('[%s][AUTOREPLY]\x20%s',_0x3eebf6,JSON[_0xf5f2('0x39')](_0x144646));})['catch'](function(_0x18ae07){logger[_0xf5f2('0x3a')](_0xf5f2('0x3b'),_0x3eebf6,JSON[_0xf5f2('0x39')](_0x18ae07));})['finally'](function(){_0x473100['next']();});}else{return rpc[this[_0xf5f2('0x13')]+_0xf5f2('0x23')][_0xf5f2('0x38')](_0x53fb33)['then'](function(_0x41447f){logger['info'](_0xf5f2('0xe'),_0x3eebf6,_0x53fb33['body']);})[_0xf5f2('0x3c')](function(_0x456764){logger['error'](_0xf5f2('0xe'),_0x3eebf6,JSON[_0xf5f2('0x39')](_0x456764));})[_0xf5f2('0x3d')](function(){_0x473100[_0xf5f2('0x3e')]();});}}}catch(_0x542cd6){logger['error'](_0xf5f2('0xe'),_0x3eebf6,JSON[_0xf5f2('0x39')](_0x542cd6));_0x473100[_0xf5f2('0x3f')]();}};};