Built motion from commit (unavailable).|2.3.95
[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 _0xe706=['next','channel','getMustacheRender','YYYY-MM-DD\x20HH:mm:ss','out','message','from','read','subject','Re:','Re:\x20','chat','ChatWebsiteId','AccountId','account','upperFirst','InteractionId','Message','Smtp','service','host','port','secure','auth','user','pass','inReplyTo','messageId','html','<div\x20id=\x22xm-mail-content\x22>','replace','body','<div\x20id=\x22xm-mail-content\x22','<div','sendMailMessage','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','stringify','catch','error','[RPC][%s][AUTOREPLY]\x20%s','finally','then','lodash','moment','./utils','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../mailRpc','consequence','isNil','interaction','created','info','[%s][AUTOREPLY]\x20%s','Autoreply\x20already\x20sent'];(function(_0x464241,_0x217cd7){var _0x4e496a=function(_0xbc1b05){while(--_0xbc1b05){_0x464241['push'](_0x464241['shift']());}};_0x4e496a(++_0x217cd7);}(_0xe706,0xa3));var _0x6e70=function(_0x21ecf3,_0x3b4b99){_0x21ecf3=_0x21ecf3-0x0;var _0x3cf63a=_0xe706[_0x21ecf3];return _0x3cf63a;};'use strict';var _=require(_0x6e70('0x0'));var moment=require(_0x6e70('0x1'));var utils=require(_0x6e70('0x2'));var logger=require('../../../../config/logger')(_0x6e70('0x3'));var rpc={'chatMessage':require(_0x6e70('0x4')),'openchannelMessage':require(_0x6e70('0x5')),'mailMessage':require(_0x6e70('0x6')),'smsMessage':require(_0x6e70('0x7')),'faxMessage':require(_0x6e70('0x8'))};var mailRpc=require(_0x6e70('0x9'));exports[_0x6e70('0xa')]=function(_0x1b0389,_0x4381d1){return function(_0x36357b){try{if(_0x4381d1[0x0]==='1'&&(_[_0x6e70('0xb')](this[_0x6e70('0xc')][_0x6e70('0xd')])||!this[_0x6e70('0xc')][_0x6e70('0xd')])){logger[_0x6e70('0xe')](_0x6e70('0xf'),_0x1b0389,_0x6e70('0x10'));return _0x36357b[_0x6e70('0x11')]();}var _0x743eb5=this[_0x6e70('0x12')];var _0x37b3e0={'body':utils[_0x6e70('0x13')](_0x4381d1[0x1],this),'ContactId':this['contact']['id'],'sentAt':moment()['format'](_0x6e70('0x14')),'direction':_0x6e70('0x15')};if(this[_0x6e70('0x16')]){_0x37b3e0['to']=this[_0x6e70('0x16')][_0x6e70('0x17')]||'';_0x37b3e0['cc']=this[_0x6e70('0x16')]['cc']||'';_0x37b3e0[_0x6e70('0x17')]=this[_0x6e70('0x16')]['to']||'';_0x37b3e0['phone']=this['message']['phone']||'';_0x37b3e0[_0x6e70('0x18')]=!![];if(this['message']['subject']){_0x37b3e0[_0x6e70('0x19')]='';_0x37b3e0[_0x6e70('0x19')]+=_['startsWith'](this[_0x6e70('0x16')]['subject'],_0x6e70('0x1a'))?'':_0x6e70('0x1b');_0x37b3e0['subject']+=this['message'][_0x6e70('0x19')];}}if(this['channel']===_0x6e70('0x1c')){_0x37b3e0[_0x6e70('0x1d')]=this['account']['id'];}else{_0x37b3e0[_['upperFirst'](this[_0x6e70('0x12')])+_0x6e70('0x1e')]=this[_0x6e70('0x1f')]['id'];}_0x37b3e0[_[_0x6e70('0x20')](this[_0x6e70('0x12')])+_0x6e70('0x21')]=this[_0x6e70('0xc')]['id'];if(rpc[this[_0x6e70('0x12')]+_0x6e70('0x22')]){if(this[_0x6e70('0x12')]==='mail'){var _0x228350={'tls':{'rejectUnauthorized':![]}};if(this[_0x6e70('0x1f')][_0x6e70('0x23')]['service']){_0x228350[_0x6e70('0x24')]=this[_0x6e70('0x1f')][_0x6e70('0x23')]['service'];}else{_0x228350[_0x6e70('0x25')]=this['account']['Smtp']['host'];_0x228350[_0x6e70('0x26')]=this[_0x6e70('0x1f')]['Smtp'][_0x6e70('0x26')];_0x228350[_0x6e70('0x27')]=this['account'][_0x6e70('0x23')][_0x6e70('0x27')];}if(this[_0x6e70('0x1f')]['Smtp']['authentication']){_0x228350[_0x6e70('0x28')]={'user':this[_0x6e70('0x1f')][_0x6e70('0x23')][_0x6e70('0x29')],'pass':this[_0x6e70('0x1f')]['Smtp'][_0x6e70('0x2a')]};}_0x37b3e0[_0x6e70('0x2b')]=this[_0x6e70('0x16')][_0x6e70('0x2c')];_0x37b3e0[_0x6e70('0x2d')]=_0x6e70('0x2e')+_[_0x6e70('0x2f')](_0x37b3e0[_0x6e70('0x30')],_0x6e70('0x31'),_0x6e70('0x32'))+'</div>';return mailRpc[_0x6e70('0x33')](_0x228350,_0x37b3e0)['then'](function(_0x259486){logger['info'](_0x6e70('0x34'),_0x1b0389);_0x37b3e0[_0x6e70('0x2c')]=_0x259486[_0x6e70('0x16')]['messageId'];return rpc[_0x743eb5+_0x6e70('0x22')][_0x6e70('0x35')](_0x37b3e0);})['then'](function(_0x13d673){logger[_0x6e70('0xe')]('[%s][AUTOREPLY]\x20%s',_0x1b0389,JSON[_0x6e70('0x36')](_0x13d673));})[_0x6e70('0x37')](function(_0x2d52bd){logger[_0x6e70('0x38')](_0x6e70('0x39'),_0x1b0389,JSON[_0x6e70('0x36')](_0x2d52bd));})[_0x6e70('0x3a')](function(){_0x36357b[_0x6e70('0x11')]();});}else{return rpc[this[_0x6e70('0x12')]+_0x6e70('0x22')]['create'](_0x37b3e0)[_0x6e70('0x3b')](function(_0x4795a0){logger[_0x6e70('0xe')](_0x6e70('0xf'),_0x1b0389,_0x37b3e0[_0x6e70('0x30')]);})[_0x6e70('0x37')](function(_0x233a83){logger[_0x6e70('0x38')](_0x6e70('0xf'),_0x1b0389,JSON[_0x6e70('0x36')](_0x233a83));})[_0x6e70('0x3a')](function(){_0x36357b[_0x6e70('0x11')]();});}}}catch(_0x2a5444){logger[_0x6e70('0x38')](_0x6e70('0xf'),_0x1b0389,JSON['stringify'](_0x2a5444));_0x36357b['stop']();}};};