375bf303a27acb67755db019429b2769731597f8
[motion2.git] / server / api / mailMessage / mailMessage.controller.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 _0x5305=['DESC','MailServerOut','Smtp','getSmtpOptions','attachments','server/files/attachments','basename','Contacts','ListId','SendMail','sendMail','update','messageId','accept','mail','read','readAt','format','YYYY-MM-DD\x20HH:mm:ss','user','UserId','get','MailInteractionId','isNil','read1stAt','interaction','null','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','Sequelize','QueryTypes','SELECT','contact','User','agent','fullname','internal','manual','channel','motionChannel','fromString','EventManager','acceptmessage','MailInteraction','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','rejectMessage','sequelize','email','SIP/%s','event','download','unix','toString','join','server','files','tmp','from','bcc','Attachment','Attachments','subject','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','existsSync','push','readFileSync','build','unlinkSync','eml-format','moment','bluebird','util','path','lodash','ioredis','html-to-text','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','html-entities','./mailMessage.socket','register','http','client','info','MailMessage,\x20%s,\x20%s','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','request\x20sent','result','catch','status','offset','undefined','count','limit','Content-Range','json','destroy','then','end','stack','name','map','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filters','where','VIRTUAL','filter','merge','options','MailMessage','findAll','show','params','rawAttributes','includeAll','include','body','find','describe','create','direction','out','secret','split','MailAccount','findOne','MailAccountId','CmList','List','CmContact','updatedAt'];(function(_0x148bf9,_0x59d684){var _0x56ccf0=function(_0x4fc7d2){while(--_0x4fc7d2){_0x148bf9['push'](_0x148bf9['shift']());}};_0x56ccf0(++_0x59d684);}(_0x5305,0xe6));var _0x5530=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x5305[_0x14add3];return _0x4a174f;};'use strict';var emlformat=require(_0x5530('0x0'));var moment=require(_0x5530('0x1'));var BPromise=require(_0x5530('0x2'));var util=require(_0x5530('0x3'));var path=require(_0x5530('0x4'));var fs=require('fs');var _=require(_0x5530('0x5'));var Redis=require(_0x5530('0x6'));var htmlToText=require(_0x5530('0x7'));var qs=require(_0x5530('0x8'));var logger=require(_0x5530('0x9'))(_0x5530('0xa'));var interaction_log=require('../../config/logger')('mail-interactions');var config=require(_0x5530('0xb'));var db=require(_0x5530('0xc'))['db'];config[_0x5530('0xd')]=_[_0x5530('0xe')](config[_0x5530('0xd')],{'host':_0x5530('0xf'),'port':0x18eb});var socket=require(_0x5530('0x10'))(new Redis(config['redis']));var htmlEntities=require(_0x5530('0x11'));require(_0x5530('0x12'))[_0x5530('0x13')](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0x5530('0x14')]({'port':0x232c});var client9003=jayson[_0x5530('0x15')][_0x5530('0x14')]({'port':0x232b});var client9002=jayson[_0x5530('0x15')][_0x5530('0x14')]({'port':0x232a});function respondWithRpcPromise(_0x4d1f53,_0x1456d9,_0x5e1913,_0x2cef96){return new BPromise(function(_0x3c9529,_0x5d4844){var _0x1244fc=_0x2cef96||client;return _0x1244fc['request'](_0x4d1f53,_0x5e1913)['then'](function(_0x45d01d){logger[_0x5530('0x16')](_0x5530('0x17'),_0x1456d9,'request\x20sent');logger[_0x5530('0x18')](_0x5530('0x19'),_0x1456d9,'request\x20sent',JSON[_0x5530('0x1a')](_0x45d01d));if(_0x45d01d[_0x5530('0x1b')]){if(_0x45d01d[_0x5530('0x1b')][_0x5530('0x1c')]===0x1f4){logger[_0x5530('0x1b')]('MailMessage,\x20%s,\x20%s',_0x1456d9,_0x45d01d[_0x5530('0x1b')][_0x5530('0x1d')]);return _0x5d4844(_0x45d01d[_0x5530('0x1b')][_0x5530('0x1d')]);}logger[_0x5530('0x1b')](_0x5530('0x17'),_0x1456d9,_0x45d01d['error'][_0x5530('0x1d')]);return _0x3c9529(_0x45d01d[_0x5530('0x1b')][_0x5530('0x1d')]);}else{logger[_0x5530('0x16')](_0x5530('0x17'),_0x1456d9,_0x5530('0x1e'));_0x3c9529(_0x45d01d[_0x5530('0x1f')][_0x5530('0x1d')]);}})[_0x5530('0x20')](function(_0x11470d){logger[_0x5530('0x1b')](_0x5530('0x17'),_0x1456d9,_0x11470d);_0x5d4844(_0x11470d);});});}function respondWithResult(_0x3fb785,_0x36ba5){_0x36ba5=_0x36ba5||0xc8;return function(_0xdabbb8){if(_0xdabbb8){return _0x3fb785[_0x5530('0x21')](_0x36ba5)['json'](_0xdabbb8);}};}function respondWithFilteredResult(_0x314682,_0x466304){return function(_0x374c17){if(_0x374c17){var _0x21d6b6=typeof _0x466304[_0x5530('0x22')]===_0x5530('0x23')&&typeof _0x466304['limit']===_0x5530('0x23');var _0x6c1fdc=_0x374c17[_0x5530('0x24')];var _0x43dacc=_0x21d6b6?0x0:_0x466304[_0x5530('0x22')];var _0x370723=_0x21d6b6?_0x374c17[_0x5530('0x24')]:_0x466304[_0x5530('0x22')]+_0x466304[_0x5530('0x25')];var _0x1321ec;if(_0x370723>=_0x6c1fdc){_0x370723=_0x6c1fdc;_0x1321ec=0xc8;}else{_0x1321ec=0xce;}_0x314682[_0x5530('0x21')](_0x1321ec);return _0x314682['set'](_0x5530('0x26'),_0x43dacc+'-'+_0x370723+'/'+_0x6c1fdc)[_0x5530('0x27')](_0x374c17);}return null;};}function saveUpdates(_0x2e2b4e){return function(_0x24b018){if(_0x24b018){return _0x24b018['update'](_0x2e2b4e)['then'](function(_0x3922f3){return _0x3922f3;});}return null;};}function removeEntity(_0x5c30f0){return function(_0x3731c7){if(_0x3731c7){return _0x3731c7[_0x5530('0x28')]()[_0x5530('0x29')](function(){_0x5c30f0['status'](0xcc)[_0x5530('0x2a')]();});}};}function handleEntityNotFound(_0x4563e7){return function(_0x4824e7){if(!_0x4824e7){_0x4563e7['sendStatus'](0x194);}return _0x4824e7;};}function handleError(_0x5f53fd,_0x36d0f4){_0x36d0f4=_0x36d0f4||0x1f4;return function(_0xb67b3e){logger['error'](_0xb67b3e[_0x5530('0x2b')]);if(_0xb67b3e[_0x5530('0x2c')]){delete _0xb67b3e[_0x5530('0x2c')];}_0x5f53fd['status'](_0x36d0f4)['send'](_0xb67b3e);};}exports['index']=function(_0x1cf582,_0x452bd2){var _0x35cdde={},_0x39114e={},_0x444cb6={'count':0x0,'rows':[]};var _0x416220=_[_0x5530('0x2d')](db['MailMessage']['rawAttributes'],function(_0x5c65c6){return{'name':_0x5c65c6[_0x5530('0x2e')],'type':_0x5c65c6[_0x5530('0x2f')][_0x5530('0x30')]};});_0x39114e[_0x5530('0x31')]=_['map'](_0x416220,_0x5530('0x2c'));_0x39114e[_0x5530('0x32')]=_[_0x5530('0x33')](_0x1cf582['query']);_0x39114e['filters']=_[_0x5530('0x34')](_0x39114e[_0x5530('0x31')],_0x39114e[_0x5530('0x32')]);_0x35cdde[_0x5530('0x35')]=_[_0x5530('0x34')](_0x39114e[_0x5530('0x31')],qs[_0x5530('0x36')](_0x1cf582['query'][_0x5530('0x36')]));_0x35cdde['attributes']=_0x35cdde[_0x5530('0x35')][_0x5530('0x37')]?_0x35cdde[_0x5530('0x35')]:_0x39114e[_0x5530('0x31')];if(!_0x1cf582[_0x5530('0x32')][_0x5530('0x38')](_0x5530('0x39'))){_0x35cdde[_0x5530('0x25')]=qs[_0x5530('0x25')](_0x1cf582[_0x5530('0x32')][_0x5530('0x25')]);_0x35cdde[_0x5530('0x22')]=qs['offset'](_0x1cf582['query']['offset']);}_0x35cdde[_0x5530('0x3a')]=qs[_0x5530('0x3b')](_0x1cf582[_0x5530('0x32')][_0x5530('0x3b')]);_0x35cdde['where']=qs[_0x5530('0x3c')](_['pick'](_0x1cf582[_0x5530('0x32')],_0x39114e['filters']),_0x416220);if(_0x1cf582[_0x5530('0x32')]['filter']){_0x35cdde[_0x5530('0x3d')]=_['merge'](_0x35cdde[_0x5530('0x3d')],{'$or':_[_0x5530('0x2d')](_0x416220,function(_0x34821e){if(_0x34821e[_0x5530('0x2f')]!==_0x5530('0x3e')){var _0x2e35e5={};_0x2e35e5[_0x34821e[_0x5530('0x2c')]]={'$like':'%'+_0x1cf582[_0x5530('0x32')][_0x5530('0x3f')]+'%'};return _0x2e35e5;}})});}_0x35cdde=_[_0x5530('0x40')]({},_0x35cdde,_0x1cf582[_0x5530('0x41')]);var _0x3b233b={'where':_0x35cdde[_0x5530('0x3d')]};return db[_0x5530('0x42')][_0x5530('0x24')](_0x3b233b)[_0x5530('0x29')](function(_0x4e6798){_0x444cb6[_0x5530('0x24')]=_0x4e6798;if(_0x1cf582[_0x5530('0x32')]['includeAll']){_0x35cdde['include']=[{'all':!![]}];}return db[_0x5530('0x42')][_0x5530('0x43')](_0x35cdde);})['then'](function(_0x1d0d58){_0x444cb6['rows']=_0x1d0d58;return _0x444cb6;})[_0x5530('0x29')](respondWithFilteredResult(_0x452bd2,_0x35cdde))['catch'](handleError(_0x452bd2,null));};exports[_0x5530('0x44')]=function(_0x31c880,_0x4dcf95){var _0x5d56ca={'raw':!![],'where':{'id':_0x31c880[_0x5530('0x45')]['id']}},_0x51d45f={};_0x51d45f[_0x5530('0x31')]=_[_0x5530('0x33')](db[_0x5530('0x42')][_0x5530('0x46')]);_0x51d45f[_0x5530('0x32')]=_[_0x5530('0x33')](_0x31c880[_0x5530('0x32')]);_0x51d45f[_0x5530('0x3c')]=_['intersection'](_0x51d45f['model'],_0x51d45f[_0x5530('0x32')]);_0x5d56ca[_0x5530('0x35')]=_[_0x5530('0x34')](_0x51d45f['model'],qs[_0x5530('0x36')](_0x31c880['query'][_0x5530('0x36')]));_0x5d56ca[_0x5530('0x35')]=_0x5d56ca[_0x5530('0x35')][_0x5530('0x37')]?_0x5d56ca['attributes']:_0x51d45f['model'];if(_0x31c880[_0x5530('0x32')][_0x5530('0x47')]){_0x5d56ca[_0x5530('0x48')]=[{'all':!![]}];}_0x5d56ca=_[_0x5530('0x40')]({},_0x5d56ca,_0x31c880[_0x5530('0x41')]);return db[_0x5530('0x42')]['find'](_0x5d56ca)['then'](handleEntityNotFound(_0x4dcf95,null))['then'](respondWithResult(_0x4dcf95,null))[_0x5530('0x20')](handleError(_0x4dcf95,null));};exports['update']=function(_0x218fcb,_0x217f69){if(_0x218fcb[_0x5530('0x49')]['id']){delete _0x218fcb[_0x5530('0x49')]['id'];}return db[_0x5530('0x42')][_0x5530('0x4a')]({'where':{'id':_0x218fcb[_0x5530('0x45')]['id']}})[_0x5530('0x29')](handleEntityNotFound(_0x217f69,null))[_0x5530('0x29')](saveUpdates(_0x218fcb[_0x5530('0x49')],null))[_0x5530('0x29')](respondWithResult(_0x217f69,null))[_0x5530('0x20')](handleError(_0x217f69,null));};exports[_0x5530('0x28')]=function(_0x50170c,_0x376c4f){return db[_0x5530('0x42')]['find']({'where':{'id':_0x50170c[_0x5530('0x45')]['id']}})['then'](handleEntityNotFound(_0x376c4f,null))[_0x5530('0x29')](removeEntity(_0x376c4f,null))[_0x5530('0x20')](handleError(_0x376c4f,null));};exports[_0x5530('0x4b')]=function(_0x39514c,_0x511f0d){return db[_0x5530('0x42')][_0x5530('0x4b')]()['then'](respondWithResult(_0x511f0d,null))[_0x5530('0x20')](handleError(_0x511f0d,null));};exports[_0x5530('0x4c')]=function(_0x268f55,_0x313db8){return db['MailMessage'][_0x5530('0x4c')](_0x268f55[_0x5530('0x49')])[_0x5530('0x29')](function(_0x3cc819){if(_0x3cc819){if(_0x3cc819[_0x5530('0x4d')]===_0x5530('0x4e')&&!_0x3cc819[_0x5530('0x4f')]){var _0x12df74,_0x314281,_0x1bdb4b;if(_0x268f55[_0x5530('0x49')]['to']){_0x314281=_0x268f55[_0x5530('0x49')]['to'][_0x5530('0x50')](',')[0x0];}return db[_0x5530('0x51')][_0x5530('0x52')]({'where':{'id':_0x3cc819[_0x5530('0x53')]},'include':[{'model':db[_0x5530('0x54')],'as':_0x5530('0x55'),'include':[{'model':db[_0x5530('0x56')],'as':'Contacts','where':{'email':_0x314281},'limit':0x1,'order':[[_0x5530('0x57'),_0x5530('0x58')]]}]},{'model':db[_0x5530('0x59')],'as':_0x5530('0x5a'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':'CloudProvider','raw':!![]}]}]})[_0x5530('0x29')](function(_0x4dc264){_0x12df74=_0x4dc264;if(!_0x12df74||!_0x12df74[_0x5530('0x5a')])return;var _0x46bf77=_0x12df74[_0x5530('0x5b')]();if(_0x268f55[_0x5530('0x49')][_0x5530('0x5c')]&&_0x268f55[_0x5530('0x49')][_0x5530('0x5c')]['length']){for(var _0x617381=0x0;_0x617381<_0x268f55[_0x5530('0x49')][_0x5530('0x5c')][_0x5530('0x37')];_0x617381+=0x1){_0x268f55[_0x5530('0x49')][_0x5530('0x5c')][_0x617381]={'filename':_0x268f55['body'][_0x5530('0x5c')][_0x617381][_0x5530('0x2c')],'path':path['join'](config['root'],_0x5530('0x5d'),_0x268f55[_0x5530('0x49')][_0x5530('0x5c')][_0x617381][_0x5530('0x5e')])};}}_0x1bdb4b={'account':_0x46bf77,'message':_0x268f55[_0x5530('0x49')]};return;})['then'](function(){if(_0x12df74[_0x5530('0x55')]){if(_0x12df74['List'][_0x5530('0x5f')][_0x5530('0x37')]){return _0x12df74['List'][_0x5530('0x5f')][0x0];}else{return db[_0x5530('0x56')][_0x5530('0x4c')](_[_0x5530('0xe')](_0x268f55[_0x5530('0x49')],{'firstName':_0x268f55[_0x5530('0x49')]['to'],'email':_0x268f55[_0x5530('0x49')]['to'],'phone':_0x268f55['body']['to'],'ListId':_0x12df74[_0x5530('0x60')]}));}}else{throw new Error('List\x20not\x20found');}})['then'](function(){if(_0x1bdb4b){return respondWithRpcPromise(_0x5530('0x61'),_0x5530('0x62'),_0x1bdb4b,client9003)[_0x5530('0x29')](function(_0x3cd055){return _0x3cc819[_0x5530('0x63')]({'read':!![],'messageId':_0x3cd055[_0x5530('0x64')],'sentAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss')});})[_0x5530('0x20')](function(_0x434eca){logger['error']('%s',JSON[_0x5530('0x1a')](_0x434eca));return _0x3cc819;});}return _0x3cc819;});}return _0x3cc819;}})['then'](respondWithResult(_0x313db8,0xc9))[_0x5530('0x20')](handleError(_0x313db8,null));};exports[_0x5530('0x65')]=function(_0x556a10,_0x19ed20){var _0x3f7942={'agent':{},'channel':_0x5530('0x66')};if(_0x556a10['body']['id']){delete _0x556a10[_0x5530('0x49')]['id'];}_0x556a10[_0x5530('0x49')][_0x5530('0x67')]=!![];_0x556a10[_0x5530('0x49')][_0x5530('0x68')]=moment()[_0x5530('0x69')](_0x5530('0x6a'));_0x556a10[_0x5530('0x49')]['UserId']=_0x556a10[_0x5530('0x49')]['UserId']||_0x556a10[_0x5530('0x6b')]['id'];_0x3f7942['agent']['id']=_0x556a10['body'][_0x5530('0x6c')];return db[_0x5530('0x42')][_0x5530('0x4a')]({'where':{'id':_0x556a10[_0x5530('0x45')]['id'],'UserId':null}})[_0x5530('0x29')](handleEntityNotFound(_0x19ed20,null))['then'](saveUpdates(_0x556a10[_0x5530('0x49')],null))[_0x5530('0x29')](function(_0x3f55c7){if(_0x3f55c7){_0x3f7942['message']=_0x3f55c7[_0x5530('0x6d')]({'plain':!![]});return db['MailInteraction'][_0x5530('0x4a')]({'where':{'id':_0x3f55c7[_0x5530('0x6e')]}});}return null;})['then'](handleEntityNotFound(_0x19ed20,null))['then'](function(_0x312079){if(_0x312079){return _0x312079[_0x5530('0x63')]({'UserId':_0x556a10[_0x5530('0x49')][_0x5530('0x6c')],'read1stAt':_[_0x5530('0x6f')](_0x312079[_0x5530('0x70')])?moment()[_0x5530('0x69')]('YYYY-MM-DD\x20HH:mm:ss'):undefined});}return null;})[_0x5530('0x29')](function(_0x543e9){if(_0x543e9){_0x3f7942['interaction']=_0x543e9[_0x5530('0x6d')]({'plain':!![]});interaction_log[_0x5530('0x16')]('[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x556a10[_0x5530('0x6b')]['id'],_0x556a10[_0x5530('0x6b')][_0x5530('0x2c')],_0x556a10['user']['role'],_0x3f7942[_0x5530('0x71')]['id'],_0x556a10[_0x5530('0x49')]?JSON[_0x5530('0x1a')](_0x556a10['body']):_0x5530('0x72'));return respondWithRpcPromise('AcceptMessage','acceptMessage',_0x3f7942);}return null;})['then'](function(_0x4571ae){var _0x4b70f0=_0x5530('0x73')+_0x4571ae[_0x5530('0x1d')][_0x5530('0x74')];return db['sequelize'][_0x5530('0x32')](_0x4b70f0,{'type':db[_0x5530('0x75')][_0x5530('0x76')][_0x5530('0x77')],'raw':!![]})['then'](function(_0x5c046d){return _0x5c046d;});})[_0x5530('0x29')](function(_0x3a36fc){if(_0x3a36fc){_0x3f7942[_0x5530('0x1d')][_0x5530('0x78')]=_0x3a36fc[0x0];if(!_0x556a10[_0x5530('0x49')][_0x5530('0x6c')])return;return db[_0x5530('0x79')][_0x5530('0x4a')]({'where':{'id':_0x556a10[_0x5530('0x49')][_0x5530('0x6c')],'role':_0x5530('0x7a')},'attributes':['id','name',_0x5530('0x7b'),'email',_0x5530('0x7c')],'raw':!![]});}return null;})['then'](function(_0x4e52c5){if(!_0x4e52c5)return null;_0x3f7942[_0x5530('0x1d')][_0x5530('0x7a')]=_0x4e52c5;return _0x3f7942;})['then'](function(_0x5b9d88){if(_0x5b9d88){if(_0x556a10['body'][_0x5530('0x7d')]){_0x3f7942['message']['interface']=util['format']('SIP/%s',_0x556a10[_0x5530('0x6b')][_0x5530('0x2c')]);_0x3f7942[_0x5530('0x1d')][_0x5530('0x7e')]=_0x3f7942[_0x5530('0x7e')];_0x3f7942[_0x5530('0x1d')][_0x5530('0x7f')]=_0x3f7942[_0x5530('0x7e')];_0x3f7942['message']['event']='accept';_0x3f7942['message'][_0x5530('0x49')]=htmlToText[_0x5530('0x80')](_0x3f7942[_0x5530('0x1d')]['body']);return respondWithRpcPromise(_0x5530('0x81'),_0x5530('0x81'),{'event':_0x5530('0x82'),'message':_0x3f7942[_0x5530('0x1d')]},client9002)[_0x5530('0x29')](function(){return _0x3f7942;});}return _0x3f7942;}return null;})['then'](respondWithResult(_0x19ed20,null))[_0x5530('0x20')](handleError(_0x19ed20,null));};exports['reject']=function(_0x3e2375,_0x40fdae){var _0x26de6d={'agent':{},'channel':'mail'};if(_0x3e2375['body']['id']){delete _0x3e2375[_0x5530('0x49')]['id'];}_0x3e2375[_0x5530('0x49')][_0x5530('0x6c')]=_0x3e2375['body'][_0x5530('0x6c')]||_0x3e2375[_0x5530('0x6b')]['id'];_0x26de6d['agent']['id']=_0x3e2375[_0x5530('0x49')]['UserId'];return db[_0x5530('0x42')][_0x5530('0x4a')]({'where':{'id':_0x3e2375['params']['id'],'UserId':null}})['then'](handleEntityNotFound(_0x40fdae,null))[_0x5530('0x29')](function(_0x30b047){if(_0x30b047){_0x26de6d[_0x5530('0x1d')]=_0x30b047['get']({'plain':!![]});return db[_0x5530('0x83')]['find']({'where':{'id':_0x30b047[_0x5530('0x6e')]}});}return null;})[_0x5530('0x29')](handleEntityNotFound(_0x40fdae,null))[_0x5530('0x29')](function(_0x176fdb){if(_0x176fdb){_0x26de6d['interaction']=_0x176fdb[_0x5530('0x6d')]({'plain':!![]});interaction_log['info'](_0x5530('0x84'),_0x3e2375[_0x5530('0x6b')]['id'],_0x3e2375[_0x5530('0x6b')]['name'],_0x3e2375[_0x5530('0x6b')][_0x5530('0x85')],_0x26de6d['interaction']['id'],_0x3e2375['body']?JSON[_0x5530('0x1a')](_0x3e2375['body']):_0x5530('0x72'));return respondWithRpcPromise('RejectMessage',_0x5530('0x86'),_0x26de6d);}return null;})[_0x5530('0x29')](function(_0x2f5a21){var _0x541bad='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x2f5a21[_0x5530('0x1d')]['ContactId'];return db[_0x5530('0x87')][_0x5530('0x32')](_0x541bad,{'type':db[_0x5530('0x75')][_0x5530('0x76')][_0x5530('0x77')],'raw':!![]})['then'](function(_0x231937){return _0x231937;});})[_0x5530('0x29')](function(_0x2f82ba){if(_0x2f82ba){_0x26de6d[_0x5530('0x1d')][_0x5530('0x78')]=_0x2f82ba[0x0];if(!_0x3e2375[_0x5530('0x49')]['UserId'])return;return db[_0x5530('0x79')][_0x5530('0x4a')]({'where':{'id':_0x3e2375[_0x5530('0x49')][_0x5530('0x6c')],'role':_0x5530('0x7a')},'attributes':['id',_0x5530('0x2c'),_0x5530('0x7b'),_0x5530('0x88'),_0x5530('0x7c')],'raw':!![]});}return null;})[_0x5530('0x29')](function(_0x4d2127){if(!_0x4d2127)return null;_0x26de6d[_0x5530('0x1d')]['agent']=_0x4d2127;return _0x26de6d;})[_0x5530('0x29')](function(_0x3822fd){if(_0x3822fd){_0x3822fd[_0x5530('0x1d')]['interface']=util['format'](_0x5530('0x89'),_0x3e2375[_0x5530('0x6b')]['name']);_0x3822fd[_0x5530('0x1d')][_0x5530('0x7e')]=_0x26de6d['channel'];_0x3822fd['message']['motionChannel']=_0x26de6d[_0x5530('0x7e')];_0x3822fd[_0x5530('0x1d')][_0x5530('0x8a')]='reject';_0x3822fd[_0x5530('0x1d')][_0x5530('0x49')]=htmlToText[_0x5530('0x80')](_0x26de6d[_0x5530('0x1d')][_0x5530('0x49')]);respondWithRpcPromise(_0x5530('0x81'),_0x5530('0x81'),{'event':'rejectmessage','message':_0x3822fd[_0x5530('0x1d')]},client9002);return _0x26de6d;}return null;})[_0x5530('0x29')](respondWithResult(_0x40fdae,null))[_0x5530('0x20')](handleError(_0x40fdae,null));};exports[_0x5530('0x8b')]=function(_0x55a179,_0x544996){var _0x1941d5=moment()[_0x5530('0x8c')]()[_0x5530('0x8d')]();var _0xffabe=path[_0x5530('0x8e')](config['root'],_0x5530('0x8f'),_0x5530('0x90'),_0x5530('0x91'));var _0x567a83=path[_0x5530('0x8e')](config['root'],_0x5530('0x8f'),_0x5530('0x90'),_0x5530('0x5c'));var _0x18c2b1=util[_0x5530('0x69')]('message-%s.eml',_0x1941d5);return db[_0x5530('0x42')]['find']({'where':{'id':_0x55a179[_0x5530('0x45')]['id']},'attributes':['id',_0x5530('0x49'),_0x5530('0x92'),'to','cc',_0x5530('0x93'),'subject','createdAt'],'include':_0x55a179[_0x5530('0x32')][_0x5530('0x5c')]?[{'model':db[_0x5530('0x94')],'as':_0x5530('0x95')}]:undefined})['then'](handleEntityNotFound(_0x544996,null))[_0x5530('0x29')](function(_0x5b762f){if(_0x5b762f){var _0x3ca3c5=_0x5b762f;var _0x3ac1a4={'from':_0x3ca3c5[_0x5530('0x92')],'to':_0x3ca3c5['to'],'subject':_0x3ca3c5[_0x5530('0x96')],'html':htmlEntities[_0x5530('0x97')](_0x3ca3c5[_0x5530('0x49')]),'headers':{'Date':moment(_0x3ca3c5['createdAt'])[_0x5530('0x69')](_0x5530('0x98'))},'attachments':[]};if(_0x5b762f['cc']){_0x3ac1a4[_0x5530('0x99')]['Cc']=_0x5b762f['cc'];}if(_0x5b762f[_0x5530('0x93')]){_0x3ac1a4['headers']['Bcc']=_0x5b762f[_0x5530('0x93')];}return new BPromise(function(_0x1db60f,_0x10e8dc){if(_0x5b762f[_0x5530('0x95')]){for(var _0x145a86=0x0;_0x145a86<_0x5b762f[_0x5530('0x95')]['length'];_0x145a86++){var _0x45530d=_0x5b762f[_0x5530('0x95')][_0x145a86];var _0x450031=path['join'](_0x567a83,_0x45530d[_0x5530('0x5e')]);if(fs[_0x5530('0x9a')](_0x450031)){_0x3ac1a4[_0x5530('0x5c')][_0x5530('0x9b')]({'name':_0x45530d['name'],'contentType':_0x45530d['type'],'data':fs[_0x5530('0x9c')](_0x450031)});}}}emlformat[_0x5530('0x9d')](_0x3ac1a4,function(_0x26d036,_0x588bfe){if(_0x26d036)return _0x10e8dc(_0x26d036);fs['writeFileSync'](path[_0x5530('0x8e')](_0xffabe,_0x18c2b1),_0x588bfe);return _0x1db60f(_0x588bfe);});});}})[_0x5530('0x29')](function(_0x3a3048){if(_0x3a3048){return _0x544996[_0x5530('0x8b')](path[_0x5530('0x8e')](_0xffabe,_0x18c2b1),_0x18c2b1,function(_0x2e92c5){if(!_0x2e92c5)fs[_0x5530('0x9e')](path[_0x5530('0x8e')](_0xffabe,_0x18c2b1));});}})['catch'](handleError(_0x544996,null));};