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