7bfdeb6bf84e125187242c15687f7f991c1144a5
[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 _0x5568=['RejectMessage','rejectMessage','sequelize','interface','rejectmessage','download','unix','toString','server','files','tmp','from','bcc','subject','Attachment','Attachments','decode','createdAt','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','existsSync','readFileSync','writeFileSync','unlinkSync','eml-format','moment','bluebird','util','path','lodash','html-to-text','../../components/parsers/qs','../../config/logger','api','mail-interactions','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','html-entities','register','jayson/promise','client','http','request','then','info','request\x20sent','debug','error','code','MailMessage,\x20%s,\x20%s','message','result','catch','status','json','offset','undefined','limit','count','update','destroy','end','sendStatus','stack','name','send','map','rawAttributes','fieldName','type','key','model','query','keys','attributes','intersection','fields','length','nolimit','sort','where','filters','pick','filter','VIRTUAL','MailMessage','includeAll','include','findAll','rows','show','params','merge','options','find','body','describe','direction','split','MailAccount','findOne','MailAccountId','CmList','List','CmContact','Contacts','updatedAt','DESC','CloudProvider','Smtp','getSmtpOptions','attachments','join','root','server/files/attachments','List\x20not\x20found','SendMail','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','stringify','accept','UserId','user','agent','get','MailInteraction','MailInteractionId','isNil','read1stAt','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','Sequelize','QueryTypes','SELECT','contact','User','fullname','email','internal','manual','SIP/%s','channel','motionChannel','event','fromString','EventManager','acceptmessage','reject','mail','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role'];(function(_0x54853e,_0x4ba4a9){var _0x391ead=function(_0x2e09e7){while(--_0x2e09e7){_0x54853e['push'](_0x54853e['shift']());}};_0x391ead(++_0x4ba4a9);}(_0x5568,0xb8));var _0x8556=function(_0x3ab4af,_0x388a83){_0x3ab4af=_0x3ab4af-0x0;var _0x2b574c=_0x5568[_0x3ab4af];return _0x2b574c;};'use strict';var emlformat=require(_0x8556('0x0'));var moment=require(_0x8556('0x1'));var BPromise=require(_0x8556('0x2'));var util=require(_0x8556('0x3'));var path=require(_0x8556('0x4'));var fs=require('fs');var _=require(_0x8556('0x5'));var Redis=require('ioredis');var htmlToText=require(_0x8556('0x6'));var qs=require(_0x8556('0x7'));var logger=require(_0x8556('0x8'))(_0x8556('0x9'));var interaction_log=require(_0x8556('0x8'))(_0x8556('0xa'));var config=require(_0x8556('0xb'));var db=require(_0x8556('0xc'))['db'];config['redis']=_[_0x8556('0xd')](config[_0x8556('0xe')],{'host':_0x8556('0xf'),'port':0x18eb});var socket=require(_0x8556('0x10'))(new Redis(config[_0x8556('0xe')]));var htmlEntities=require(_0x8556('0x11'));require('./mailMessage.socket')[_0x8556('0x12')](socket);var jayson=require(_0x8556('0x13'));var client=jayson[_0x8556('0x14')][_0x8556('0x15')]({'port':0x232c});var client9003=jayson[_0x8556('0x14')][_0x8556('0x15')]({'port':0x232b});var client9002=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x5dae9f,_0x585460,_0x57e074,_0xec9c95){return new BPromise(function(_0x37449c,_0x5ad826){var _0x55aa10=_0xec9c95||client;return _0x55aa10[_0x8556('0x16')](_0x5dae9f,_0x57e074)[_0x8556('0x17')](function(_0x154b87){logger[_0x8556('0x18')]('MailMessage,\x20%s,\x20%s',_0x585460,_0x8556('0x19'));logger[_0x8556('0x1a')]('MailMessage,\x20%s,\x20%s,\x20%s',_0x585460,_0x8556('0x19'),JSON['stringify'](_0x154b87));if(_0x154b87[_0x8556('0x1b')]){if(_0x154b87[_0x8556('0x1b')][_0x8556('0x1c')]===0x1f4){logger['error'](_0x8556('0x1d'),_0x585460,_0x154b87['error'][_0x8556('0x1e')]);return _0x5ad826(_0x154b87[_0x8556('0x1b')][_0x8556('0x1e')]);}logger[_0x8556('0x1b')](_0x8556('0x1d'),_0x585460,_0x154b87['error']['message']);return _0x37449c(_0x154b87[_0x8556('0x1b')]['message']);}else{logger[_0x8556('0x18')](_0x8556('0x1d'),_0x585460,'request\x20sent');_0x37449c(_0x154b87[_0x8556('0x1f')][_0x8556('0x1e')]);}})[_0x8556('0x20')](function(_0x235489){logger[_0x8556('0x1b')]('MailMessage,\x20%s,\x20%s',_0x585460,_0x235489);_0x5ad826(_0x235489);});});}function respondWithResult(_0x2eba36,_0x3fd68f){_0x3fd68f=_0x3fd68f||0xc8;return function(_0x22cddc){if(_0x22cddc){return _0x2eba36[_0x8556('0x21')](_0x3fd68f)[_0x8556('0x22')](_0x22cddc);}};}function respondWithFilteredResult(_0x148ccd,_0x340f70){return function(_0x178974){if(_0x178974){var _0x2f5633=typeof _0x340f70[_0x8556('0x23')]===_0x8556('0x24')&&typeof _0x340f70[_0x8556('0x25')]===_0x8556('0x24');var _0x35fa52=_0x178974[_0x8556('0x26')];var _0xb880fe=_0x2f5633?0x0:_0x340f70[_0x8556('0x23')];var _0x4adbfc=_0x2f5633?_0x178974[_0x8556('0x26')]:_0x340f70[_0x8556('0x23')]+_0x340f70[_0x8556('0x25')];var _0x2b9fb3;if(_0x4adbfc>=_0x35fa52){_0x4adbfc=_0x35fa52;_0x2b9fb3=0xc8;}else{_0x2b9fb3=0xce;}_0x148ccd[_0x8556('0x21')](_0x2b9fb3);return _0x148ccd['set']('Content-Range',_0xb880fe+'-'+_0x4adbfc+'/'+_0x35fa52)[_0x8556('0x22')](_0x178974);}return null;};}function saveUpdates(_0x389332){return function(_0x5356e7){if(_0x5356e7){return _0x5356e7[_0x8556('0x27')](_0x389332)[_0x8556('0x17')](function(_0x4d860f){return _0x4d860f;});}return null;};}function removeEntity(_0x14aa7b){return function(_0x21a8cb){if(_0x21a8cb){return _0x21a8cb[_0x8556('0x28')]()[_0x8556('0x17')](function(){_0x14aa7b[_0x8556('0x21')](0xcc)[_0x8556('0x29')]();});}};}function handleEntityNotFound(_0x5d3b93){return function(_0x121058){if(!_0x121058){_0x5d3b93[_0x8556('0x2a')](0x194);}return _0x121058;};}function handleError(_0x4cde26,_0xfaeb91){_0xfaeb91=_0xfaeb91||0x1f4;return function(_0x50fa53){logger[_0x8556('0x1b')](_0x50fa53[_0x8556('0x2b')]);if(_0x50fa53[_0x8556('0x2c')]){delete _0x50fa53[_0x8556('0x2c')];}_0x4cde26['status'](_0xfaeb91)[_0x8556('0x2d')](_0x50fa53);};}exports['index']=function(_0x174af3,_0x1d02e5){var _0x25f068={},_0x3791dc={},_0x11ae18={'count':0x0,'rows':[]};var _0x1c765f=_[_0x8556('0x2e')](db['MailMessage'][_0x8556('0x2f')],function(_0x5ce539){return{'name':_0x5ce539[_0x8556('0x30')],'type':_0x5ce539[_0x8556('0x31')][_0x8556('0x32')]};});_0x3791dc[_0x8556('0x33')]=_[_0x8556('0x2e')](_0x1c765f,_0x8556('0x2c'));_0x3791dc[_0x8556('0x34')]=_[_0x8556('0x35')](_0x174af3[_0x8556('0x34')]);_0x3791dc['filters']=_['intersection'](_0x3791dc[_0x8556('0x33')],_0x3791dc['query']);_0x25f068[_0x8556('0x36')]=_[_0x8556('0x37')](_0x3791dc[_0x8556('0x33')],qs[_0x8556('0x38')](_0x174af3['query'][_0x8556('0x38')]));_0x25f068[_0x8556('0x36')]=_0x25f068[_0x8556('0x36')][_0x8556('0x39')]?_0x25f068[_0x8556('0x36')]:_0x3791dc[_0x8556('0x33')];if(!_0x174af3['query']['hasOwnProperty'](_0x8556('0x3a'))){_0x25f068[_0x8556('0x25')]=qs[_0x8556('0x25')](_0x174af3['query'][_0x8556('0x25')]);_0x25f068[_0x8556('0x23')]=qs[_0x8556('0x23')](_0x174af3[_0x8556('0x34')][_0x8556('0x23')]);}_0x25f068['order']=qs[_0x8556('0x3b')](_0x174af3[_0x8556('0x34')][_0x8556('0x3b')]);_0x25f068[_0x8556('0x3c')]=qs[_0x8556('0x3d')](_[_0x8556('0x3e')](_0x174af3[_0x8556('0x34')],_0x3791dc[_0x8556('0x3d')]),_0x1c765f);if(_0x174af3[_0x8556('0x34')][_0x8556('0x3f')]){_0x25f068['where']=_['merge'](_0x25f068[_0x8556('0x3c')],{'$or':_[_0x8556('0x2e')](_0x1c765f,function(_0x498c80){if(_0x498c80['type']!==_0x8556('0x40')){var _0x250192={};_0x250192[_0x498c80[_0x8556('0x2c')]]={'$like':'%'+_0x174af3['query'][_0x8556('0x3f')]+'%'};return _0x250192;}})});}_0x25f068=_['merge']({},_0x25f068,_0x174af3['options']);var _0x44ff8f={'where':_0x25f068[_0x8556('0x3c')]};return db[_0x8556('0x41')][_0x8556('0x26')](_0x44ff8f)[_0x8556('0x17')](function(_0x58bf48){_0x11ae18['count']=_0x58bf48;if(_0x174af3['query'][_0x8556('0x42')]){_0x25f068[_0x8556('0x43')]=[{'all':!![]}];}return db[_0x8556('0x41')][_0x8556('0x44')](_0x25f068);})[_0x8556('0x17')](function(_0x202a6f){_0x11ae18[_0x8556('0x45')]=_0x202a6f;return _0x11ae18;})[_0x8556('0x17')](respondWithFilteredResult(_0x1d02e5,_0x25f068))[_0x8556('0x20')](handleError(_0x1d02e5,null));};exports[_0x8556('0x46')]=function(_0xd76249,_0x38f70a){var _0x2bc989={'raw':!![],'where':{'id':_0xd76249[_0x8556('0x47')]['id']}},_0x480fe9={};_0x480fe9[_0x8556('0x33')]=_['keys'](db['MailMessage'][_0x8556('0x2f')]);_0x480fe9[_0x8556('0x34')]=_[_0x8556('0x35')](_0xd76249[_0x8556('0x34')]);_0x480fe9[_0x8556('0x3d')]=_[_0x8556('0x37')](_0x480fe9[_0x8556('0x33')],_0x480fe9[_0x8556('0x34')]);_0x2bc989[_0x8556('0x36')]=_[_0x8556('0x37')](_0x480fe9['model'],qs[_0x8556('0x38')](_0xd76249[_0x8556('0x34')][_0x8556('0x38')]));_0x2bc989[_0x8556('0x36')]=_0x2bc989[_0x8556('0x36')][_0x8556('0x39')]?_0x2bc989[_0x8556('0x36')]:_0x480fe9[_0x8556('0x33')];if(_0xd76249[_0x8556('0x34')][_0x8556('0x42')]){_0x2bc989[_0x8556('0x43')]=[{'all':!![]}];}_0x2bc989=_[_0x8556('0x48')]({},_0x2bc989,_0xd76249[_0x8556('0x49')]);return db[_0x8556('0x41')][_0x8556('0x4a')](_0x2bc989)[_0x8556('0x17')](handleEntityNotFound(_0x38f70a,null))[_0x8556('0x17')](respondWithResult(_0x38f70a,null))['catch'](handleError(_0x38f70a,null));};exports[_0x8556('0x27')]=function(_0x3a460b,_0x2cd67f){if(_0x3a460b['body']['id']){delete _0x3a460b[_0x8556('0x4b')]['id'];}return db['MailMessage'][_0x8556('0x4a')]({'where':{'id':_0x3a460b[_0x8556('0x47')]['id']}})[_0x8556('0x17')](handleEntityNotFound(_0x2cd67f,null))['then'](saveUpdates(_0x3a460b['body'],null))['then'](respondWithResult(_0x2cd67f,null))['catch'](handleError(_0x2cd67f,null));};exports[_0x8556('0x28')]=function(_0x5dc443,_0xd5b577){return db[_0x8556('0x41')][_0x8556('0x4a')]({'where':{'id':_0x5dc443['params']['id']}})[_0x8556('0x17')](handleEntityNotFound(_0xd5b577,null))[_0x8556('0x17')](removeEntity(_0xd5b577,null))['catch'](handleError(_0xd5b577,null));};exports[_0x8556('0x4c')]=function(_0x28c856,_0x465cf4){return db[_0x8556('0x41')][_0x8556('0x4c')]()[_0x8556('0x17')](respondWithResult(_0x465cf4,null))['catch'](handleError(_0x465cf4,null));};exports['create']=function(_0x5e8e47,_0x74d783){return db['MailMessage']['create'](_0x5e8e47[_0x8556('0x4b')])[_0x8556('0x17')](function(_0x225f5c){if(_0x225f5c){if(_0x225f5c[_0x8556('0x4d')]==='out'&&!_0x225f5c['secret']){var _0x462a99,_0x3693d3,_0x240a7f;if(_0x5e8e47[_0x8556('0x4b')]['to']){_0x3693d3=_0x5e8e47[_0x8556('0x4b')]['to'][_0x8556('0x4e')](',')[0x0];}return db[_0x8556('0x4f')][_0x8556('0x50')]({'where':{'id':_0x225f5c[_0x8556('0x51')]},'include':[{'model':db[_0x8556('0x52')],'as':_0x8556('0x53'),'include':[{'model':db[_0x8556('0x54')],'as':_0x8556('0x55'),'where':{'email':_0x3693d3},'limit':0x1,'order':[[_0x8556('0x56'),_0x8556('0x57')]]}]},{'model':db['MailServerOut'],'as':'Smtp','raw':!![],'include':[{'model':db[_0x8556('0x58')],'as':'CloudProvider','raw':!![]}]}]})[_0x8556('0x17')](function(_0x4d09bc){_0x462a99=_0x4d09bc;if(!_0x462a99||!_0x462a99[_0x8556('0x59')])return;var _0x11413d=_0x462a99[_0x8556('0x5a')]();if(_0x5e8e47[_0x8556('0x4b')][_0x8556('0x5b')]&&_0x5e8e47[_0x8556('0x4b')][_0x8556('0x5b')]['length']){for(var _0x10ab91=0x0;_0x10ab91<_0x5e8e47[_0x8556('0x4b')][_0x8556('0x5b')][_0x8556('0x39')];_0x10ab91+=0x1){_0x5e8e47['body'][_0x8556('0x5b')][_0x10ab91]={'filename':_0x5e8e47['body'][_0x8556('0x5b')][_0x10ab91][_0x8556('0x2c')],'path':path[_0x8556('0x5c')](config[_0x8556('0x5d')],_0x8556('0x5e'),_0x5e8e47[_0x8556('0x4b')][_0x8556('0x5b')][_0x10ab91]['basename'])};}}_0x240a7f={'account':_0x11413d,'message':_0x5e8e47[_0x8556('0x4b')]};return;})['then'](function(){if(_0x462a99[_0x8556('0x53')]){if(_0x462a99['List'][_0x8556('0x55')][_0x8556('0x39')]){return _0x462a99[_0x8556('0x53')][_0x8556('0x55')][0x0];}else{return db[_0x8556('0x54')]['create'](_[_0x8556('0xd')](_0x5e8e47[_0x8556('0x4b')],{'firstName':_0x5e8e47['body']['to'],'email':_0x5e8e47['body']['to'],'phone':_0x5e8e47[_0x8556('0x4b')]['to'],'ListId':_0x462a99['ListId']}));}}else{throw new Error(_0x8556('0x5f'));}})[_0x8556('0x17')](function(){if(_0x240a7f){return respondWithRpcPromise(_0x8556('0x60'),_0x8556('0x61'),_0x240a7f,client9003)[_0x8556('0x17')](function(_0x1ada6a){return _0x225f5c[_0x8556('0x27')]({'read':!![],'messageId':_0x1ada6a[_0x8556('0x62')],'sentAt':moment()[_0x8556('0x63')](_0x8556('0x64'))});})[_0x8556('0x20')](function(_0x4dbfb7){logger['error']('%s',JSON[_0x8556('0x65')](_0x4dbfb7));return _0x225f5c;});}return _0x225f5c;});}return _0x225f5c;}})['then'](respondWithResult(_0x74d783,0xc9))['catch'](handleError(_0x74d783,null));};exports[_0x8556('0x66')]=function(_0x4d1bc1,_0x4099e9){var _0x2bec36={'agent':{},'channel':'mail'};if(_0x4d1bc1['body']['id']){delete _0x4d1bc1[_0x8556('0x4b')]['id'];}_0x4d1bc1['body']['read']=!![];_0x4d1bc1[_0x8556('0x4b')]['readAt']=moment()[_0x8556('0x63')](_0x8556('0x64'));_0x4d1bc1[_0x8556('0x4b')][_0x8556('0x67')]=_0x4d1bc1[_0x8556('0x4b')]['UserId']||_0x4d1bc1[_0x8556('0x68')]['id'];_0x2bec36[_0x8556('0x69')]['id']=_0x4d1bc1['body'][_0x8556('0x67')];return db[_0x8556('0x41')][_0x8556('0x4a')]({'where':{'id':_0x4d1bc1['params']['id'],'UserId':null}})[_0x8556('0x17')](handleEntityNotFound(_0x4099e9,null))[_0x8556('0x17')](saveUpdates(_0x4d1bc1[_0x8556('0x4b')],null))['then'](function(_0x29f595){if(_0x29f595){_0x2bec36[_0x8556('0x1e')]=_0x29f595[_0x8556('0x6a')]({'plain':!![]});return db[_0x8556('0x6b')][_0x8556('0x4a')]({'where':{'id':_0x29f595[_0x8556('0x6c')]}});}return null;})['then'](handleEntityNotFound(_0x4099e9,null))[_0x8556('0x17')](function(_0x4c0b2c){if(_0x4c0b2c){return _0x4c0b2c[_0x8556('0x27')]({'UserId':_0x4d1bc1[_0x8556('0x4b')][_0x8556('0x67')],'read1stAt':_[_0x8556('0x6d')](_0x4c0b2c[_0x8556('0x6e')])?moment()[_0x8556('0x63')](_0x8556('0x64')):undefined});}return null;})[_0x8556('0x17')](function(_0x2bd3b4){if(_0x2bd3b4){_0x2bec36[_0x8556('0x6f')]=_0x2bd3b4[_0x8556('0x6a')]({'plain':!![]});interaction_log[_0x8556('0x18')](_0x8556('0x70'),_0x4d1bc1['user']['id'],_0x4d1bc1[_0x8556('0x68')][_0x8556('0x2c')],_0x4d1bc1[_0x8556('0x68')]['role'],_0x2bec36[_0x8556('0x6f')]['id'],_0x4d1bc1[_0x8556('0x4b')]?JSON[_0x8556('0x65')](_0x4d1bc1['body']):_0x8556('0x71'));return respondWithRpcPromise('AcceptMessage',_0x8556('0x72'),_0x2bec36);}return null;})[_0x8556('0x17')](function(_0x380c2c){var _0x483850=_0x8556('0x73')+_0x380c2c[_0x8556('0x1e')]['ContactId'];return db['sequelize'][_0x8556('0x34')](_0x483850,{'type':db[_0x8556('0x74')][_0x8556('0x75')][_0x8556('0x76')],'raw':!![]})['then'](function(_0x35d5b5){return _0x35d5b5;});})[_0x8556('0x17')](function(_0x4ad7c5){if(_0x4ad7c5){_0x2bec36['message'][_0x8556('0x77')]=_0x4ad7c5[0x0];if(!_0x4d1bc1['body'][_0x8556('0x67')])return;return db[_0x8556('0x78')][_0x8556('0x4a')]({'where':{'id':_0x4d1bc1['body'][_0x8556('0x67')],'role':_0x8556('0x69')},'attributes':['id',_0x8556('0x2c'),_0x8556('0x79'),_0x8556('0x7a'),_0x8556('0x7b')],'raw':!![]});}return null;})[_0x8556('0x17')](function(_0x4bec65){if(!_0x4bec65)return null;_0x2bec36['message'][_0x8556('0x69')]=_0x4bec65;return _0x2bec36;})[_0x8556('0x17')](function(_0x82b92f){if(_0x82b92f){if(_0x4d1bc1[_0x8556('0x4b')][_0x8556('0x7c')]){_0x2bec36[_0x8556('0x1e')]['interface']=util[_0x8556('0x63')](_0x8556('0x7d'),_0x4d1bc1[_0x8556('0x68')][_0x8556('0x2c')]);_0x2bec36[_0x8556('0x1e')][_0x8556('0x7e')]=_0x2bec36[_0x8556('0x7e')];_0x2bec36[_0x8556('0x1e')][_0x8556('0x7f')]=_0x2bec36[_0x8556('0x7e')];_0x2bec36[_0x8556('0x1e')][_0x8556('0x80')]=_0x8556('0x66');_0x2bec36[_0x8556('0x1e')][_0x8556('0x4b')]=htmlToText[_0x8556('0x81')](_0x2bec36[_0x8556('0x1e')][_0x8556('0x4b')]);return respondWithRpcPromise(_0x8556('0x82'),_0x8556('0x82'),{'event':_0x8556('0x83'),'message':_0x2bec36['message']},client9002)[_0x8556('0x17')](function(){return _0x2bec36;});}return _0x2bec36;}return null;})['then'](respondWithResult(_0x4099e9,null))[_0x8556('0x20')](handleError(_0x4099e9,null));};exports[_0x8556('0x84')]=function(_0x3b377a,_0x376591){var _0x4bba47={'agent':{},'channel':_0x8556('0x85')};if(_0x3b377a[_0x8556('0x4b')]['id']){delete _0x3b377a[_0x8556('0x4b')]['id'];}_0x3b377a[_0x8556('0x4b')]['UserId']=_0x3b377a['body'][_0x8556('0x67')]||_0x3b377a[_0x8556('0x68')]['id'];_0x4bba47[_0x8556('0x69')]['id']=_0x3b377a['body'][_0x8556('0x67')];return db[_0x8556('0x41')][_0x8556('0x4a')]({'where':{'id':_0x3b377a[_0x8556('0x47')]['id'],'UserId':null}})[_0x8556('0x17')](handleEntityNotFound(_0x376591,null))['then'](function(_0x5458fc){if(_0x5458fc){_0x4bba47[_0x8556('0x1e')]=_0x5458fc[_0x8556('0x6a')]({'plain':!![]});return db[_0x8556('0x6b')]['find']({'where':{'id':_0x5458fc[_0x8556('0x6c')]}});}return null;})[_0x8556('0x17')](handleEntityNotFound(_0x376591,null))['then'](function(_0x52b424){if(_0x52b424){_0x4bba47[_0x8556('0x6f')]=_0x52b424[_0x8556('0x6a')]({'plain':!![]});interaction_log[_0x8556('0x18')](_0x8556('0x86'),_0x3b377a[_0x8556('0x68')]['id'],_0x3b377a[_0x8556('0x68')][_0x8556('0x2c')],_0x3b377a['user'][_0x8556('0x87')],_0x4bba47[_0x8556('0x6f')]['id'],_0x3b377a[_0x8556('0x4b')]?JSON['stringify'](_0x3b377a['body']):_0x8556('0x71'));return respondWithRpcPromise(_0x8556('0x88'),_0x8556('0x89'),_0x4bba47);}return null;})[_0x8556('0x17')](function(_0xbc887c){var _0x1d62c9=_0x8556('0x73')+_0xbc887c[_0x8556('0x1e')]['ContactId'];return db[_0x8556('0x8a')][_0x8556('0x34')](_0x1d62c9,{'type':db['Sequelize'][_0x8556('0x75')]['SELECT'],'raw':!![]})[_0x8556('0x17')](function(_0x4ec209){return _0x4ec209;});})[_0x8556('0x17')](function(_0x17a03c){if(_0x17a03c){_0x4bba47['message']['contact']=_0x17a03c[0x0];if(!_0x3b377a[_0x8556('0x4b')]['UserId'])return;return db[_0x8556('0x78')][_0x8556('0x4a')]({'where':{'id':_0x3b377a['body'][_0x8556('0x67')],'role':_0x8556('0x69')},'attributes':['id',_0x8556('0x2c'),_0x8556('0x79'),_0x8556('0x7a'),_0x8556('0x7b')],'raw':!![]});}return null;})[_0x8556('0x17')](function(_0x224e11){if(!_0x224e11)return null;_0x4bba47['message'][_0x8556('0x69')]=_0x224e11;return _0x4bba47;})[_0x8556('0x17')](function(_0x41b846){if(_0x41b846){_0x41b846[_0x8556('0x1e')][_0x8556('0x8b')]=util[_0x8556('0x63')](_0x8556('0x7d'),_0x3b377a['user'][_0x8556('0x2c')]);_0x41b846['message'][_0x8556('0x7e')]=_0x4bba47[_0x8556('0x7e')];_0x41b846[_0x8556('0x1e')][_0x8556('0x7f')]=_0x4bba47['channel'];_0x41b846['message'][_0x8556('0x80')]=_0x8556('0x84');_0x41b846[_0x8556('0x1e')]['body']=htmlToText[_0x8556('0x81')](_0x4bba47[_0x8556('0x1e')][_0x8556('0x4b')]);respondWithRpcPromise(_0x8556('0x82'),_0x8556('0x82'),{'event':_0x8556('0x8c'),'message':_0x41b846[_0x8556('0x1e')]},client9002);return _0x4bba47;}return null;})['then'](respondWithResult(_0x376591,null))[_0x8556('0x20')](handleError(_0x376591,null));};exports[_0x8556('0x8d')]=function(_0x220c7a,_0x321a5f){var _0x2dae96=moment()[_0x8556('0x8e')]()[_0x8556('0x8f')]();var _0x152093=path[_0x8556('0x5c')](config[_0x8556('0x5d')],_0x8556('0x90'),_0x8556('0x91'),_0x8556('0x92'));var _0x9c39b0=path[_0x8556('0x5c')](config[_0x8556('0x5d')],_0x8556('0x90'),'files',_0x8556('0x5b'));var _0x213056=util[_0x8556('0x63')]('message-%s.eml',_0x2dae96);return db[_0x8556('0x41')][_0x8556('0x4a')]({'where':{'id':_0x220c7a[_0x8556('0x47')]['id']},'attributes':['id',_0x8556('0x4b'),_0x8556('0x93'),'to','cc',_0x8556('0x94'),_0x8556('0x95'),'createdAt'],'include':_0x220c7a['query'][_0x8556('0x5b')]?[{'model':db[_0x8556('0x96')],'as':_0x8556('0x97')}]:undefined})['then'](handleEntityNotFound(_0x321a5f,null))['then'](function(_0x25dd84){if(_0x25dd84){var _0xf1b347=_0x25dd84;var _0x563335={'from':_0xf1b347[_0x8556('0x93')],'to':_0xf1b347['to'],'subject':_0xf1b347[_0x8556('0x95')],'html':htmlEntities[_0x8556('0x98')](_0xf1b347[_0x8556('0x4b')]),'headers':{'Date':moment(_0xf1b347[_0x8556('0x99')])[_0x8556('0x63')](_0x8556('0x9a'))},'attachments':[]};if(_0x25dd84['cc']){_0x563335[_0x8556('0x9b')]['Cc']=_0x25dd84['cc'];}if(_0x25dd84[_0x8556('0x94')]){_0x563335[_0x8556('0x9b')]['Bcc']=_0x25dd84[_0x8556('0x94')];}return new BPromise(function(_0x1cd2a4,_0x6c33d9){if(_0x25dd84[_0x8556('0x97')]){for(var _0x598473=0x0;_0x598473<_0x25dd84[_0x8556('0x97')]['length'];_0x598473++){var _0xb72845=_0x25dd84['Attachments'][_0x598473];var _0x422b66=path[_0x8556('0x5c')](_0x9c39b0,_0xb72845['basename']);if(fs[_0x8556('0x9c')](_0x422b66)){_0x563335[_0x8556('0x5b')]['push']({'name':_0xb72845[_0x8556('0x2c')],'contentType':_0xb72845[_0x8556('0x31')],'data':fs[_0x8556('0x9d')](_0x422b66)});}}}emlformat['build'](_0x563335,function(_0xad070e,_0xca0e48){if(_0xad070e)return _0x6c33d9(_0xad070e);fs[_0x8556('0x9e')](path[_0x8556('0x5c')](_0x152093,_0x213056),_0xca0e48);return _0x1cd2a4(_0xca0e48);});});}})[_0x8556('0x17')](function(_0x18b9da){if(_0x18b9da){return _0x321a5f[_0x8556('0x8d')](path[_0x8556('0x5c')](_0x152093,_0x213056),_0x213056,function(_0x49d75a){if(!_0x49d75a)fs[_0x8556('0x9f')](path[_0x8556('0x5c')](_0x152093,_0x213056));});}})[_0x8556('0x20')](handleError(_0x321a5f,null));};