Built motion from commit (unavailable).|2.5.1
[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 _0xd321=['Smtp','host','port','secure','authentication','auth','user','pass','messageId','<div\x20id=\x22xm-mail-content\x22>','<div','</div>','sendMailMessage','then','[%s][AUTOREPLY]\x20SMTP\x20SENT','create','info','error','stringify','finally','body','catch','stop','lodash','moment','./utils','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','../../mailRpc','isNil','interaction','created','[%s][AUTOREPLY]\x20%s','next','getMustacheRender','contact','format','message','phone','read','subject','startsWith','Re:\x20','channel','ChatWebsiteId','account','upperFirst','AccountId','Message','mail','service'];(function(_0x2f91fa,_0x524a9c){var _0x154a26=function(_0x5c0918){while(--_0x5c0918){_0x2f91fa['push'](_0x2f91fa['shift']());}};_0x154a26(++_0x524a9c);}(_0xd321,0x1cf));var _0x1d32=function(_0x33a672,_0x58531a){_0x33a672=_0x33a672-0x0;var _0x567b40=_0xd321[_0x33a672];return _0x567b40;};'use strict';var _=require(_0x1d32('0x0'));var moment=require(_0x1d32('0x1'));var utils=require(_0x1d32('0x2'));var logger=require('../../../../config/logger')(_0x1d32('0x3'));var rpc={'chatMessage':require(_0x1d32('0x4')),'openchannelMessage':require(_0x1d32('0x5')),'mailMessage':require(_0x1d32('0x6')),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0x1d32('0x7')),'whatsappMessage':require(_0x1d32('0x8'))};var mailRpc=require(_0x1d32('0x9'));exports['consequence']=function(_0x5bcf65,_0xd1ec71){return function(_0x4dbc62){try{if(_0xd1ec71[0x0]==='1'&&(_[_0x1d32('0xa')](this[_0x1d32('0xb')][_0x1d32('0xc')])||!this['interaction'][_0x1d32('0xc')])){logger['info'](_0x1d32('0xd'),_0x5bcf65,'Autoreply\x20already\x20sent');return _0x4dbc62[_0x1d32('0xe')]();}var _0x5a38f6=this['channel'];var _0x11b9d6={'body':utils[_0x1d32('0xf')](_0xd1ec71[0x1],this),'ContactId':this[_0x1d32('0x10')]['id'],'sentAt':moment()[_0x1d32('0x11')]('YYYY-MM-DD\x20HH:mm:ss'),'direction':'out'};if(this['message']){_0x11b9d6['to']=this[_0x1d32('0x12')]['from']||'';_0x11b9d6['cc']=this[_0x1d32('0x12')]['cc']||'';_0x11b9d6['from']=this[_0x1d32('0x12')]['to']||'';_0x11b9d6['phone']=this[_0x1d32('0x12')][_0x1d32('0x13')]||'';_0x11b9d6[_0x1d32('0x14')]=!![];if(this[_0x1d32('0x12')]['subject']){_0x11b9d6[_0x1d32('0x15')]='';_0x11b9d6[_0x1d32('0x15')]+=_[_0x1d32('0x16')](this[_0x1d32('0x12')][_0x1d32('0x15')],'Re:')?'':_0x1d32('0x17');_0x11b9d6[_0x1d32('0x15')]+=this[_0x1d32('0x12')][_0x1d32('0x15')];}}if(this[_0x1d32('0x18')]==='chat'){_0x11b9d6[_0x1d32('0x19')]=this[_0x1d32('0x1a')]['id'];}else{_0x11b9d6[_[_0x1d32('0x1b')](this[_0x1d32('0x18')])+_0x1d32('0x1c')]=this[_0x1d32('0x1a')]['id'];}_0x11b9d6[_[_0x1d32('0x1b')](this[_0x1d32('0x18')])+'InteractionId']=this[_0x1d32('0xb')]['id'];if(rpc[this[_0x1d32('0x18')]+_0x1d32('0x1d')]){if(this[_0x1d32('0x18')]===_0x1d32('0x1e')){var _0x4356d1={'tls':{'rejectUnauthorized':![]}};if(this['account']['Smtp'][_0x1d32('0x1f')]){_0x4356d1['service']=this[_0x1d32('0x1a')][_0x1d32('0x20')]['service'];}else{_0x4356d1[_0x1d32('0x21')]=this[_0x1d32('0x1a')][_0x1d32('0x20')][_0x1d32('0x21')];_0x4356d1[_0x1d32('0x22')]=this['account'][_0x1d32('0x20')][_0x1d32('0x22')];_0x4356d1[_0x1d32('0x23')]=this[_0x1d32('0x1a')][_0x1d32('0x20')]['secure'];}if(this['account'][_0x1d32('0x20')][_0x1d32('0x24')]){_0x4356d1[_0x1d32('0x25')]={'user':this[_0x1d32('0x1a')][_0x1d32('0x20')][_0x1d32('0x26')],'pass':this[_0x1d32('0x1a')]['Smtp'][_0x1d32('0x27')]};}_0x11b9d6['inReplyTo']=this[_0x1d32('0x12')][_0x1d32('0x28')];_0x11b9d6['html']=_0x1d32('0x29')+_['replace'](_0x11b9d6['body'],'<div\x20id=\x22xm-mail-content\x22',_0x1d32('0x2a'))+_0x1d32('0x2b');return mailRpc[_0x1d32('0x2c')](_0x4356d1,_0x11b9d6)[_0x1d32('0x2d')](function(_0x3dccba){logger['info'](_0x1d32('0x2e'),_0x5bcf65);_0x11b9d6['messageId']=_0x3dccba[_0x1d32('0x12')]['messageId'];return rpc[_0x5a38f6+_0x1d32('0x1d')][_0x1d32('0x2f')](_0x11b9d6);})[_0x1d32('0x2d')](function(_0x2c521f){logger[_0x1d32('0x30')]('[%s][AUTOREPLY]\x20%s',_0x5bcf65,JSON['stringify'](_0x2c521f));})['catch'](function(_0x3a0cd1){logger[_0x1d32('0x31')]('[RPC][%s][AUTOREPLY]\x20%s',_0x5bcf65,JSON[_0x1d32('0x32')](_0x3a0cd1));})[_0x1d32('0x33')](function(){_0x4dbc62['next']();});}else{return rpc[this[_0x1d32('0x18')]+_0x1d32('0x1d')]['create'](_0x11b9d6)['then'](function(_0x39d7c4){logger[_0x1d32('0x30')](_0x1d32('0xd'),_0x5bcf65,_0x11b9d6[_0x1d32('0x34')]);})[_0x1d32('0x35')](function(_0x3b7a4c){logger[_0x1d32('0x31')](_0x1d32('0xd'),_0x5bcf65,JSON[_0x1d32('0x32')](_0x3b7a4c));})['finally'](function(){_0x4dbc62[_0x1d32('0xe')]();});}}}catch(_0x34f9fa){logger[_0x1d32('0x31')](_0x1d32('0xd'),_0x5bcf65,JSON[_0x1d32('0x32')](_0x34f9fa));_0x4dbc62[_0x1d32('0x36')]();}};};