4e9a394453ca100f3effcfee7a8f5c4d4245fd58
[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 _0x9a63=['sendStatus','stack','name','index','MailMessage','rawAttributes','fieldName','type','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','map','VIRTUAL','filter','includeAll','include','findAll','rows','show','params','options','body','destroy','find','describe','create','out','secret','split','MailAccount','findOne','CmList','List','Contacts','updatedAt','MailServerOut','CloudProvider','Smtp','getSmtpOptions','attachments','join','root','CmContact','ListId','List\x20not\x20found','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','accept','mail','readAt','UserId','get','MailInteraction','isNil','read1stAt','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','user','role','AcceptMessage','acceptMessage','ContactId','Sequelize','QueryTypes','SELECT','contact','agent','fullname','email','manual','interface','SIP/%s','channel','event','acceptmessage','reject','MailInteractionId','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','rejectMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','User','internal','motionChannel','EventManager','rejectmessage','download','unix','toString','server','files','tmp','from','bcc','subject','Attachment','Attachments','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','basename','push','readFileSync','build','writeFileSync','unlinkSync','eml-format','moment','bluebird','util','lodash','html-to-text','../../components/parsers/qs','../../config/logger','mail-interactions','../../config/environment','../../mysqldb','defaults','socket.io-emitter','redis','html-entities','./mailMessage.socket','register','jayson/promise','client','http','request','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','status','json','offset','undefined','limit','count','set','update','end'];(function(_0x35901a,_0x3d7b3b){var _0x1cfd4e=function(_0x592e4d){while(--_0x592e4d){_0x35901a['push'](_0x35901a['shift']());}};_0x1cfd4e(++_0x3d7b3b);}(_0x9a63,0x11c));var _0x39a6=function(_0x29e030,_0x1c60cd){_0x29e030=_0x29e030-0x0;var _0x375763=_0x9a63[_0x29e030];return _0x375763;};'use strict';var emlformat=require(_0x39a6('0x0'));var moment=require(_0x39a6('0x1'));var BPromise=require(_0x39a6('0x2'));var util=require(_0x39a6('0x3'));var path=require('path');var fs=require('fs');var _=require(_0x39a6('0x4'));var Redis=require('ioredis');var htmlToText=require(_0x39a6('0x5'));var qs=require(_0x39a6('0x6'));var logger=require(_0x39a6('0x7'))('api');var interaction_log=require(_0x39a6('0x7'))(_0x39a6('0x8'));var config=require(_0x39a6('0x9'));var db=require(_0x39a6('0xa'))['db'];config['redis']=_[_0x39a6('0xb')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x39a6('0xc'))(new Redis(config[_0x39a6('0xd')]));var htmlEntities=require(_0x39a6('0xe'));require(_0x39a6('0xf'))[_0x39a6('0x10')](socket);var jayson=require(_0x39a6('0x11'));var client=jayson[_0x39a6('0x12')]['http']({'port':0x232c});var client9003=jayson[_0x39a6('0x12')][_0x39a6('0x13')]({'port':0x232b});var client9002=jayson[_0x39a6('0x12')]['http']({'port':0x232a});function respondWithRpcPromise(_0x16e569,_0x49cc7f,_0x509a46,_0x47c47e){return new BPromise(function(_0x23dccd,_0xf20faf){var _0x334daf=_0x47c47e||client;return _0x334daf[_0x39a6('0x14')](_0x16e569,_0x509a46)[_0x39a6('0x15')](function(_0x2d8195){logger[_0x39a6('0x16')](_0x39a6('0x17'),_0x49cc7f,_0x39a6('0x18'));logger[_0x39a6('0x19')](_0x39a6('0x1a'),_0x49cc7f,_0x39a6('0x18'),JSON[_0x39a6('0x1b')](_0x2d8195));if(_0x2d8195[_0x39a6('0x1c')]){if(_0x2d8195['error'][_0x39a6('0x1d')]===0x1f4){logger['error']('MailMessage,\x20%s,\x20%s',_0x49cc7f,_0x2d8195[_0x39a6('0x1c')][_0x39a6('0x1e')]);return _0xf20faf(_0x2d8195['error'][_0x39a6('0x1e')]);}logger[_0x39a6('0x1c')](_0x39a6('0x17'),_0x49cc7f,_0x2d8195[_0x39a6('0x1c')][_0x39a6('0x1e')]);return _0x23dccd(_0x2d8195[_0x39a6('0x1c')]['message']);}else{logger[_0x39a6('0x16')](_0x39a6('0x17'),_0x49cc7f,'request\x20sent');_0x23dccd(_0x2d8195[_0x39a6('0x1f')][_0x39a6('0x1e')]);}})[_0x39a6('0x20')](function(_0x945ed9){logger[_0x39a6('0x1c')](_0x39a6('0x17'),_0x49cc7f,_0x945ed9);_0xf20faf(_0x945ed9);});});}function respondWithResult(_0x18a5b5,_0x4931c5){_0x4931c5=_0x4931c5||0xc8;return function(_0x5d7e12){if(_0x5d7e12){return _0x18a5b5[_0x39a6('0x21')](_0x4931c5)[_0x39a6('0x22')](_0x5d7e12);}};}function respondWithFilteredResult(_0xabd9ee,_0x704aba){return function(_0x354b71){if(_0x354b71){var _0x48e7ea=typeof _0x704aba[_0x39a6('0x23')]===_0x39a6('0x24')&&typeof _0x704aba[_0x39a6('0x25')]===_0x39a6('0x24');var _0x3a25d5=_0x354b71[_0x39a6('0x26')];var _0x12ec09=_0x48e7ea?0x0:_0x704aba[_0x39a6('0x23')];var _0x5e3c02=_0x48e7ea?_0x354b71[_0x39a6('0x26')]:_0x704aba['offset']+_0x704aba['limit'];var _0x5784f2;if(_0x5e3c02>=_0x3a25d5){_0x5e3c02=_0x3a25d5;_0x5784f2=0xc8;}else{_0x5784f2=0xce;}_0xabd9ee[_0x39a6('0x21')](_0x5784f2);return _0xabd9ee[_0x39a6('0x27')]('Content-Range',_0x12ec09+'-'+_0x5e3c02+'/'+_0x3a25d5)[_0x39a6('0x22')](_0x354b71);}return null;};}function saveUpdates(_0x2d1f80){return function(_0x50fa6e){if(_0x50fa6e){return _0x50fa6e[_0x39a6('0x28')](_0x2d1f80)[_0x39a6('0x15')](function(_0x599580){return _0x599580;});}return null;};}function removeEntity(_0x4439a7){return function(_0x1f0940){if(_0x1f0940){return _0x1f0940['destroy']()['then'](function(){_0x4439a7[_0x39a6('0x21')](0xcc)[_0x39a6('0x29')]();});}};}function handleEntityNotFound(_0x4b96a7){return function(_0x2ede5a){if(!_0x2ede5a){_0x4b96a7[_0x39a6('0x2a')](0x194);}return _0x2ede5a;};}function handleError(_0x25ecaa,_0x5a4397){_0x5a4397=_0x5a4397||0x1f4;return function(_0x395a47){logger[_0x39a6('0x1c')](_0x395a47[_0x39a6('0x2b')]);if(_0x395a47[_0x39a6('0x2c')]){delete _0x395a47[_0x39a6('0x2c')];}_0x25ecaa[_0x39a6('0x21')](_0x5a4397)['send'](_0x395a47);};}exports[_0x39a6('0x2d')]=function(_0x537f94,_0x46fcaa){var _0x33e48c={},_0x190993={},_0x191f70={'count':0x0,'rows':[]};var _0x5f4fff=_['map'](db[_0x39a6('0x2e')][_0x39a6('0x2f')],function(_0x2f2652){return{'name':_0x2f2652[_0x39a6('0x30')],'type':_0x2f2652[_0x39a6('0x31')]['key']};});_0x190993[_0x39a6('0x32')]=_['map'](_0x5f4fff,_0x39a6('0x2c'));_0x190993['query']=_[_0x39a6('0x33')](_0x537f94[_0x39a6('0x34')]);_0x190993[_0x39a6('0x35')]=_[_0x39a6('0x36')](_0x190993['model'],_0x190993[_0x39a6('0x34')]);_0x33e48c['attributes']=_[_0x39a6('0x36')](_0x190993['model'],qs[_0x39a6('0x37')](_0x537f94[_0x39a6('0x34')][_0x39a6('0x37')]));_0x33e48c[_0x39a6('0x38')]=_0x33e48c[_0x39a6('0x38')][_0x39a6('0x39')]?_0x33e48c['attributes']:_0x190993[_0x39a6('0x32')];if(!_0x537f94[_0x39a6('0x34')][_0x39a6('0x3a')](_0x39a6('0x3b'))){_0x33e48c[_0x39a6('0x25')]=qs['limit'](_0x537f94['query']['limit']);_0x33e48c[_0x39a6('0x23')]=qs[_0x39a6('0x23')](_0x537f94['query'][_0x39a6('0x23')]);}_0x33e48c[_0x39a6('0x3c')]=qs['sort'](_0x537f94['query'][_0x39a6('0x3d')]);_0x33e48c[_0x39a6('0x3e')]=qs[_0x39a6('0x35')](_[_0x39a6('0x3f')](_0x537f94[_0x39a6('0x34')],_0x190993[_0x39a6('0x35')]),_0x5f4fff);if(_0x537f94['query']['filter']){_0x33e48c[_0x39a6('0x3e')]=_[_0x39a6('0x40')](_0x33e48c[_0x39a6('0x3e')],{'$or':_[_0x39a6('0x41')](_0x5f4fff,function(_0x59dba2){if(_0x59dba2[_0x39a6('0x31')]!==_0x39a6('0x42')){var _0x4d6e8e={};_0x4d6e8e[_0x59dba2['name']]={'$like':'%'+_0x537f94[_0x39a6('0x34')][_0x39a6('0x43')]+'%'};return _0x4d6e8e;}})});}_0x33e48c=_[_0x39a6('0x40')]({},_0x33e48c,_0x537f94['options']);var _0x1d868b={'where':_0x33e48c['where']};return db['MailMessage'][_0x39a6('0x26')](_0x1d868b)[_0x39a6('0x15')](function(_0x2dba5f){_0x191f70[_0x39a6('0x26')]=_0x2dba5f;if(_0x537f94[_0x39a6('0x34')][_0x39a6('0x44')]){_0x33e48c[_0x39a6('0x45')]=[{'all':!![]}];}return db['MailMessage'][_0x39a6('0x46')](_0x33e48c);})[_0x39a6('0x15')](function(_0x3b12d6){_0x191f70[_0x39a6('0x47')]=_0x3b12d6;return _0x191f70;})[_0x39a6('0x15')](respondWithFilteredResult(_0x46fcaa,_0x33e48c))[_0x39a6('0x20')](handleError(_0x46fcaa,null));};exports[_0x39a6('0x48')]=function(_0x269e7a,_0x3bba3a){var _0x312c57={'raw':!![],'where':{'id':_0x269e7a[_0x39a6('0x49')]['id']}},_0x33df5e={};_0x33df5e[_0x39a6('0x32')]=_[_0x39a6('0x33')](db['MailMessage'][_0x39a6('0x2f')]);_0x33df5e['query']=_[_0x39a6('0x33')](_0x269e7a[_0x39a6('0x34')]);_0x33df5e[_0x39a6('0x35')]=_['intersection'](_0x33df5e[_0x39a6('0x32')],_0x33df5e['query']);_0x312c57['attributes']=_[_0x39a6('0x36')](_0x33df5e[_0x39a6('0x32')],qs[_0x39a6('0x37')](_0x269e7a[_0x39a6('0x34')][_0x39a6('0x37')]));_0x312c57['attributes']=_0x312c57['attributes']['length']?_0x312c57[_0x39a6('0x38')]:_0x33df5e[_0x39a6('0x32')];if(_0x269e7a[_0x39a6('0x34')][_0x39a6('0x44')]){_0x312c57[_0x39a6('0x45')]=[{'all':!![]}];}_0x312c57=_['merge']({},_0x312c57,_0x269e7a[_0x39a6('0x4a')]);return db[_0x39a6('0x2e')]['find'](_0x312c57)['then'](handleEntityNotFound(_0x3bba3a,null))[_0x39a6('0x15')](respondWithResult(_0x3bba3a,null))[_0x39a6('0x20')](handleError(_0x3bba3a,null));};exports[_0x39a6('0x28')]=function(_0xf0fec,_0x4d0f52){if(_0xf0fec['body']['id']){delete _0xf0fec[_0x39a6('0x4b')]['id'];}return db[_0x39a6('0x2e')]['find']({'where':{'id':_0xf0fec['params']['id']}})['then'](handleEntityNotFound(_0x4d0f52,null))[_0x39a6('0x15')](saveUpdates(_0xf0fec[_0x39a6('0x4b')],null))[_0x39a6('0x15')](respondWithResult(_0x4d0f52,null))[_0x39a6('0x20')](handleError(_0x4d0f52,null));};exports[_0x39a6('0x4c')]=function(_0x5707f1,_0x2e747c){return db[_0x39a6('0x2e')][_0x39a6('0x4d')]({'where':{'id':_0x5707f1[_0x39a6('0x49')]['id']}})[_0x39a6('0x15')](handleEntityNotFound(_0x2e747c,null))[_0x39a6('0x15')](removeEntity(_0x2e747c,null))[_0x39a6('0x20')](handleError(_0x2e747c,null));};exports['describe']=function(_0x2b5d9c,_0x2dc4de){return db[_0x39a6('0x2e')][_0x39a6('0x4e')]()[_0x39a6('0x15')](respondWithResult(_0x2dc4de,null))[_0x39a6('0x20')](handleError(_0x2dc4de,null));};exports[_0x39a6('0x4f')]=function(_0x54c652,_0x30fd11){return db[_0x39a6('0x2e')]['create'](_0x54c652['body'])[_0x39a6('0x15')](function(_0x25ccbf){if(_0x25ccbf){if(_0x25ccbf['direction']===_0x39a6('0x50')&&!_0x25ccbf[_0x39a6('0x51')]){var _0x506008,_0x11efef,_0x312833;if(_0x54c652[_0x39a6('0x4b')]['to']){_0x11efef=_0x54c652[_0x39a6('0x4b')]['to'][_0x39a6('0x52')](',')[0x0];}return db[_0x39a6('0x53')][_0x39a6('0x54')]({'where':{'id':_0x25ccbf['MailAccountId']},'include':[{'model':db[_0x39a6('0x55')],'as':_0x39a6('0x56'),'include':[{'model':db['CmContact'],'as':_0x39a6('0x57'),'where':{'email':_0x11efef},'limit':0x1,'order':[[_0x39a6('0x58'),'DESC']]}]},{'model':db[_0x39a6('0x59')],'as':'Smtp','raw':!![],'include':[{'model':db[_0x39a6('0x5a')],'as':_0x39a6('0x5a'),'raw':!![]}]}]})[_0x39a6('0x15')](function(_0x280b9a){_0x506008=_0x280b9a;if(!_0x506008||!_0x506008[_0x39a6('0x5b')])return;var _0x50fb1d=_0x506008[_0x39a6('0x5c')]();if(_0x54c652[_0x39a6('0x4b')][_0x39a6('0x5d')]&&_0x54c652[_0x39a6('0x4b')][_0x39a6('0x5d')][_0x39a6('0x39')]){for(var _0x2f1342=0x0;_0x2f1342<_0x54c652[_0x39a6('0x4b')][_0x39a6('0x5d')][_0x39a6('0x39')];_0x2f1342+=0x1){_0x54c652['body'][_0x39a6('0x5d')][_0x2f1342]={'filename':_0x54c652['body'][_0x39a6('0x5d')][_0x2f1342][_0x39a6('0x2c')],'path':path[_0x39a6('0x5e')](config[_0x39a6('0x5f')],'server/files/attachments',_0x54c652[_0x39a6('0x4b')][_0x39a6('0x5d')][_0x2f1342]['basename'])};}}_0x312833={'account':_0x50fb1d,'message':_0x54c652[_0x39a6('0x4b')]};return;})['then'](function(){if(_0x506008['List']){if(_0x506008[_0x39a6('0x56')]['Contacts'][_0x39a6('0x39')]){return _0x506008[_0x39a6('0x56')]['Contacts'][0x0];}else{return db[_0x39a6('0x60')][_0x39a6('0x4f')](_[_0x39a6('0xb')](_0x54c652[_0x39a6('0x4b')],{'firstName':_0x54c652[_0x39a6('0x4b')]['to'],'email':_0x54c652[_0x39a6('0x4b')]['to'],'phone':_0x54c652['body']['to'],'ListId':_0x506008[_0x39a6('0x61')]}));}}else{throw new Error(_0x39a6('0x62'));}})[_0x39a6('0x15')](function(){if(_0x312833){return respondWithRpcPromise('SendMail',_0x39a6('0x63'),_0x312833,client9003)[_0x39a6('0x15')](function(_0x28297f){return _0x25ccbf[_0x39a6('0x28')]({'read':!![],'messageId':_0x28297f[_0x39a6('0x64')],'sentAt':moment()[_0x39a6('0x65')](_0x39a6('0x66'))});})[_0x39a6('0x20')](function(_0x338969){logger['error']('%s',JSON['stringify'](_0x338969));return _0x25ccbf;});}return _0x25ccbf;});}return _0x25ccbf;}})[_0x39a6('0x15')](respondWithResult(_0x30fd11,0xc9))[_0x39a6('0x20')](handleError(_0x30fd11,null));};exports[_0x39a6('0x67')]=function(_0x3490a5,_0x2d70b3){var _0x2e1603={'agent':{},'channel':_0x39a6('0x68')};if(_0x3490a5[_0x39a6('0x4b')]['id']){delete _0x3490a5['body']['id'];}_0x3490a5[_0x39a6('0x4b')]['read']=!![];_0x3490a5[_0x39a6('0x4b')][_0x39a6('0x69')]=moment()['format'](_0x39a6('0x66'));_0x3490a5['body'][_0x39a6('0x6a')]=_0x3490a5[_0x39a6('0x4b')][_0x39a6('0x6a')]||_0x3490a5['user']['id'];_0x2e1603['agent']['id']=_0x3490a5['body'][_0x39a6('0x6a')];return db[_0x39a6('0x2e')][_0x39a6('0x4d')]({'where':{'id':_0x3490a5['params']['id'],'UserId':null}})[_0x39a6('0x15')](handleEntityNotFound(_0x2d70b3,null))['then'](saveUpdates(_0x3490a5[_0x39a6('0x4b')],null))[_0x39a6('0x15')](function(_0x5e1a42){if(_0x5e1a42){_0x2e1603[_0x39a6('0x1e')]=_0x5e1a42[_0x39a6('0x6b')]({'plain':!![]});return db[_0x39a6('0x6c')]['find']({'where':{'id':_0x5e1a42['MailInteractionId']}});}return null;})[_0x39a6('0x15')](handleEntityNotFound(_0x2d70b3,null))[_0x39a6('0x15')](function(_0xd2c9b7){if(_0xd2c9b7){return _0xd2c9b7[_0x39a6('0x28')]({'UserId':_0x3490a5[_0x39a6('0x4b')][_0x39a6('0x6a')],'read1stAt':_[_0x39a6('0x6d')](_0xd2c9b7[_0x39a6('0x6e')])?moment()[_0x39a6('0x65')](_0x39a6('0x66')):undefined});}return null;})[_0x39a6('0x15')](function(_0x38b157){if(_0x38b157){_0x2e1603[_0x39a6('0x6f')]=_0x38b157['get']({'plain':!![]});interaction_log['info'](_0x39a6('0x70'),_0x3490a5[_0x39a6('0x71')]['id'],_0x3490a5['user'][_0x39a6('0x2c')],_0x3490a5[_0x39a6('0x71')][_0x39a6('0x72')],_0x2e1603[_0x39a6('0x6f')]['id'],_0x3490a5[_0x39a6('0x4b')]?JSON[_0x39a6('0x1b')](_0x3490a5['body']):'null');return respondWithRpcPromise(_0x39a6('0x73'),_0x39a6('0x74'),_0x2e1603);}return null;})[_0x39a6('0x15')](function(_0x472157){var _0x224db3='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x472157[_0x39a6('0x1e')][_0x39a6('0x75')];return db['sequelize'][_0x39a6('0x34')](_0x224db3,{'type':db[_0x39a6('0x76')][_0x39a6('0x77')][_0x39a6('0x78')],'raw':!![]})['then'](function(_0x500a80){return _0x500a80;});})[_0x39a6('0x15')](function(_0x4815cc){if(_0x4815cc){_0x2e1603[_0x39a6('0x1e')][_0x39a6('0x79')]=_0x4815cc[0x0];if(!_0x3490a5[_0x39a6('0x4b')][_0x39a6('0x6a')])return;return db['User'][_0x39a6('0x4d')]({'where':{'id':_0x3490a5[_0x39a6('0x4b')][_0x39a6('0x6a')],'role':_0x39a6('0x7a')},'attributes':['id',_0x39a6('0x2c'),_0x39a6('0x7b'),_0x39a6('0x7c'),'internal'],'raw':!![]});}return null;})['then'](function(_0x350248){if(!_0x350248)return null;_0x2e1603['message'][_0x39a6('0x7a')]=_0x350248;return _0x2e1603;})[_0x39a6('0x15')](function(_0x3df062){if(_0x3df062){if(_0x3490a5[_0x39a6('0x4b')][_0x39a6('0x7d')]){_0x2e1603[_0x39a6('0x1e')][_0x39a6('0x7e')]=util[_0x39a6('0x65')](_0x39a6('0x7f'),_0x3490a5['user'][_0x39a6('0x2c')]);_0x2e1603[_0x39a6('0x1e')][_0x39a6('0x80')]=_0x2e1603[_0x39a6('0x80')];_0x2e1603['message']['motionChannel']=_0x2e1603[_0x39a6('0x80')];_0x2e1603[_0x39a6('0x1e')][_0x39a6('0x81')]='accept';_0x2e1603[_0x39a6('0x1e')][_0x39a6('0x4b')]=htmlToText['fromString'](_0x2e1603[_0x39a6('0x1e')][_0x39a6('0x4b')]);return respondWithRpcPromise('EventManager','EventManager',{'event':_0x39a6('0x82'),'message':_0x2e1603[_0x39a6('0x1e')]},client9002)[_0x39a6('0x15')](function(){return _0x2e1603;});}return _0x2e1603;}return null;})['then'](respondWithResult(_0x2d70b3,null))[_0x39a6('0x20')](handleError(_0x2d70b3,null));};exports[_0x39a6('0x83')]=function(_0x4d89f2,_0x45a669){var _0x460ba2={'agent':{},'channel':_0x39a6('0x68')};if(_0x4d89f2[_0x39a6('0x4b')]['id']){delete _0x4d89f2[_0x39a6('0x4b')]['id'];}_0x4d89f2['body']['UserId']=_0x4d89f2['body'][_0x39a6('0x6a')]||_0x4d89f2[_0x39a6('0x71')]['id'];_0x460ba2[_0x39a6('0x7a')]['id']=_0x4d89f2[_0x39a6('0x4b')]['UserId'];return db['MailMessage']['find']({'where':{'id':_0x4d89f2['params']['id'],'UserId':null}})[_0x39a6('0x15')](handleEntityNotFound(_0x45a669,null))[_0x39a6('0x15')](function(_0x3458aa){if(_0x3458aa){_0x460ba2[_0x39a6('0x1e')]=_0x3458aa[_0x39a6('0x6b')]({'plain':!![]});return db[_0x39a6('0x6c')][_0x39a6('0x4d')]({'where':{'id':_0x3458aa[_0x39a6('0x84')]}});}return null;})[_0x39a6('0x15')](handleEntityNotFound(_0x45a669,null))[_0x39a6('0x15')](function(_0x3e04bf){if(_0x3e04bf){_0x460ba2[_0x39a6('0x6f')]=_0x3e04bf[_0x39a6('0x6b')]({'plain':!![]});interaction_log[_0x39a6('0x16')](_0x39a6('0x85'),_0x4d89f2['user']['id'],_0x4d89f2[_0x39a6('0x71')][_0x39a6('0x2c')],_0x4d89f2[_0x39a6('0x71')][_0x39a6('0x72')],_0x460ba2[_0x39a6('0x6f')]['id'],_0x4d89f2[_0x39a6('0x4b')]?JSON[_0x39a6('0x1b')](_0x4d89f2[_0x39a6('0x4b')]):_0x39a6('0x86'));return respondWithRpcPromise('RejectMessage',_0x39a6('0x87'),_0x460ba2);}return null;})[_0x39a6('0x15')](function(_0x54e59b){var _0x356f39=_0x39a6('0x88')+_0x54e59b['message'][_0x39a6('0x75')];return db['sequelize'][_0x39a6('0x34')](_0x356f39,{'type':db[_0x39a6('0x76')][_0x39a6('0x77')][_0x39a6('0x78')],'raw':!![]})[_0x39a6('0x15')](function(_0x55ab52){return _0x55ab52;});})[_0x39a6('0x15')](function(_0x28174e){if(_0x28174e){_0x460ba2[_0x39a6('0x1e')][_0x39a6('0x79')]=_0x28174e[0x0];if(!_0x4d89f2[_0x39a6('0x4b')][_0x39a6('0x6a')])return;return db[_0x39a6('0x89')][_0x39a6('0x4d')]({'where':{'id':_0x4d89f2[_0x39a6('0x4b')][_0x39a6('0x6a')],'role':_0x39a6('0x7a')},'attributes':['id',_0x39a6('0x2c'),_0x39a6('0x7b'),_0x39a6('0x7c'),_0x39a6('0x8a')],'raw':!![]});}return null;})[_0x39a6('0x15')](function(_0x1cda0f){if(!_0x1cda0f)return null;_0x460ba2['message']['agent']=_0x1cda0f;return _0x460ba2;})['then'](function(_0x3e6ba9){if(_0x3e6ba9){_0x3e6ba9[_0x39a6('0x1e')]['interface']=util[_0x39a6('0x65')](_0x39a6('0x7f'),_0x4d89f2[_0x39a6('0x71')]['name']);_0x3e6ba9[_0x39a6('0x1e')]['channel']=_0x460ba2['channel'];_0x3e6ba9['message'][_0x39a6('0x8b')]=_0x460ba2[_0x39a6('0x80')];_0x3e6ba9[_0x39a6('0x1e')][_0x39a6('0x81')]=_0x39a6('0x83');_0x3e6ba9['message'][_0x39a6('0x4b')]=htmlToText['fromString'](_0x460ba2[_0x39a6('0x1e')][_0x39a6('0x4b')]);respondWithRpcPromise(_0x39a6('0x8c'),_0x39a6('0x8c'),{'event':_0x39a6('0x8d'),'message':_0x3e6ba9[_0x39a6('0x1e')]},client9002);return _0x460ba2;}return null;})[_0x39a6('0x15')](respondWithResult(_0x45a669,null))[_0x39a6('0x20')](handleError(_0x45a669,null));};exports[_0x39a6('0x8e')]=function(_0x26f21f,_0xf5b38b){var _0x3ac3f4=moment()[_0x39a6('0x8f')]()[_0x39a6('0x90')]();var _0x50323f=path[_0x39a6('0x5e')](config['root'],_0x39a6('0x91'),_0x39a6('0x92'),_0x39a6('0x93'));var _0x193b4d=path[_0x39a6('0x5e')](config[_0x39a6('0x5f')],'server',_0x39a6('0x92'),_0x39a6('0x5d'));var _0x8c96ac=util[_0x39a6('0x65')]('message-%s.eml',_0x3ac3f4);return db['MailMessage']['find']({'where':{'id':_0x26f21f[_0x39a6('0x49')]['id']},'attributes':['id',_0x39a6('0x4b'),_0x39a6('0x94'),'to','cc',_0x39a6('0x95'),_0x39a6('0x96'),'createdAt'],'include':_0x26f21f[_0x39a6('0x34')][_0x39a6('0x5d')]?[{'model':db[_0x39a6('0x97')],'as':_0x39a6('0x98')}]:undefined})[_0x39a6('0x15')](handleEntityNotFound(_0xf5b38b,null))[_0x39a6('0x15')](function(_0xfb139){if(_0xfb139){var _0x1a22ce=_0xfb139;var _0x4c5809={'from':_0x1a22ce['from'],'to':_0x1a22ce['to'],'subject':_0x1a22ce[_0x39a6('0x96')],'html':htmlEntities[_0x39a6('0x99')](_0x1a22ce['body']),'headers':{'Date':moment(_0x1a22ce['createdAt'])[_0x39a6('0x65')](_0x39a6('0x9a'))},'attachments':[]};if(_0xfb139['cc']){_0x4c5809['headers']['Cc']=_0xfb139['cc'];}if(_0xfb139[_0x39a6('0x95')]){_0x4c5809[_0x39a6('0x9b')][_0x39a6('0x9c')]=_0xfb139[_0x39a6('0x95')];}return new BPromise(function(_0x151a3a,_0x261902){if(_0xfb139['Attachments']){for(var _0x2f92a6=0x0;_0x2f92a6<_0xfb139['Attachments'][_0x39a6('0x39')];_0x2f92a6++){var _0x1e68cd=_0xfb139[_0x39a6('0x98')][_0x2f92a6];var _0x5b4324=path[_0x39a6('0x5e')](_0x193b4d,_0x1e68cd[_0x39a6('0x9d')]);if(fs['existsSync'](_0x5b4324)){_0x4c5809['attachments'][_0x39a6('0x9e')]({'name':_0x1e68cd[_0x39a6('0x2c')],'contentType':_0x1e68cd[_0x39a6('0x31')],'data':fs[_0x39a6('0x9f')](_0x5b4324)});}}}emlformat[_0x39a6('0xa0')](_0x4c5809,function(_0x50eaf4,_0x3e36a3){if(_0x50eaf4)return _0x261902(_0x50eaf4);fs[_0x39a6('0xa1')](path[_0x39a6('0x5e')](_0x50323f,_0x8c96ac),_0x3e36a3);return _0x151a3a(_0x3e36a3);});});}})['then'](function(_0x5f062c){if(_0x5f062c){return _0xf5b38b[_0x39a6('0x8e')](path[_0x39a6('0x5e')](_0x50323f,_0x8c96ac),_0x8c96ac,function(_0x2d2dc1){if(!_0x2d2dc1)fs[_0x39a6('0xa2')](path[_0x39a6('0x5e')](_0x50323f,_0x8c96ac));});}})[_0x39a6('0x20')](handleError(_0xf5b38b,null));};