Built motion from commit c116dc8b.|2.6.30
[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 _0x3e23=['filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','VIRTUAL','filter','merge','options','MailMessage','count','rows','catch','params','includeAll','include','find','body','describe','create','out','secret','MailAccount','findOne','MailAccountId','CmList','List','Contacts','updatedAt','DESC','Smtp','getSmtpOptions','attachments','join','server/files/attachments','basename','CmContact','ListId','SendMail','sendMail','messageId','format','accept','mail','read','readAt','YYYY-MM-DD\x20HH:mm:ss','UserId','user','agent','get','MailInteraction','MailInteractionId','isNil','read1stAt','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','sequelize','Sequelize','contact','User','email','internal','manual','channel','motionChannel','event','fromString','EventManager','acceptmessage','reject','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','RejectMessage','rejectMessage','ContactId','SELECT','fullname','interface','rejectmessage','download','unix','toString','root','tmp','server','files','from','bcc','Attachment','Attachments','decode','createdAt','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','existsSync','push','readFileSync','build','writeFileSync','unlinkSync','eml-format','path','lodash','ioredis','../../components/parsers/qs','api','mail-interactions','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','html-entities','./mailMessage.socket','client','http','request','MailMessage,\x20%s,\x20%s','debug','MailMessage,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','message','info','status','json','offset','undefined','limit','set','update','destroy','then','end','sendStatus','stack','name','send','map','rawAttributes','fieldName','type','key','model','keys','query'];(function(_0x2605b7,_0x111f5f){var _0x226210=function(_0x1a13e1){while(--_0x1a13e1){_0x2605b7['push'](_0x2605b7['shift']());}};_0x226210(++_0x111f5f);}(_0x3e23,0x108));var _0x33e2=function(_0x15c421,_0x6366f7){_0x15c421=_0x15c421-0x0;var _0x5e5ed5=_0x3e23[_0x15c421];return _0x5e5ed5;};'use strict';var emlformat=require(_0x33e2('0x0'));var moment=require('moment');var BPromise=require('bluebird');var util=require('util');var path=require(_0x33e2('0x1'));var fs=require('fs');var _=require(_0x33e2('0x2'));var Redis=require(_0x33e2('0x3'));var htmlToText=require('html-to-text');var qs=require(_0x33e2('0x4'));var logger=require('../../config/logger')(_0x33e2('0x5'));var interaction_log=require('../../config/logger')(_0x33e2('0x6'));var config=require(_0x33e2('0x7'));var db=require(_0x33e2('0x8'))['db'];config[_0x33e2('0x9')]=_[_0x33e2('0xa')](config['redis'],{'host':_0x33e2('0xb'),'port':0x18eb});var socket=require(_0x33e2('0xc'))(new Redis(config[_0x33e2('0x9')]));var htmlEntities=require(_0x33e2('0xd'));require(_0x33e2('0xe'))['register'](socket);var jayson=require('jayson/promise');var client=jayson[_0x33e2('0xf')][_0x33e2('0x10')]({'port':0x232c});var client9003=jayson[_0x33e2('0xf')][_0x33e2('0x10')]({'port':0x232b});var client9002=jayson['client'][_0x33e2('0x10')]({'port':0x232a});function respondWithRpcPromise(_0x3c7c98,_0x4c314f,_0x1b95de,_0xaa1b88){return new BPromise(function(_0x48f83a,_0x4d175e){var _0x3466ea=_0xaa1b88||client;return _0x3466ea[_0x33e2('0x11')](_0x3c7c98,_0x1b95de)['then'](function(_0x1fd70c){logger['info'](_0x33e2('0x12'),_0x4c314f,'request\x20sent');logger[_0x33e2('0x13')](_0x33e2('0x14'),_0x4c314f,_0x33e2('0x15'),JSON[_0x33e2('0x16')](_0x1fd70c));if(_0x1fd70c['error']){if(_0x1fd70c['error']['code']===0x1f4){logger[_0x33e2('0x17')](_0x33e2('0x12'),_0x4c314f,_0x1fd70c['error'][_0x33e2('0x18')]);return _0x4d175e(_0x1fd70c[_0x33e2('0x17')]['message']);}logger[_0x33e2('0x17')](_0x33e2('0x12'),_0x4c314f,_0x1fd70c[_0x33e2('0x17')][_0x33e2('0x18')]);return _0x48f83a(_0x1fd70c[_0x33e2('0x17')][_0x33e2('0x18')]);}else{logger[_0x33e2('0x19')](_0x33e2('0x12'),_0x4c314f,_0x33e2('0x15'));_0x48f83a(_0x1fd70c['result'][_0x33e2('0x18')]);}})['catch'](function(_0x41c9ce){logger['error'](_0x33e2('0x12'),_0x4c314f,_0x41c9ce);_0x4d175e(_0x41c9ce);});});}function respondWithResult(_0x387b65,_0x508a5d){_0x508a5d=_0x508a5d||0xc8;return function(_0x14a16a){if(_0x14a16a){return _0x387b65[_0x33e2('0x1a')](_0x508a5d)[_0x33e2('0x1b')](_0x14a16a);}};}function respondWithFilteredResult(_0x165bf3,_0x3a73d2){return function(_0x448c9e){if(_0x448c9e){var _0x2af749=typeof _0x3a73d2[_0x33e2('0x1c')]===_0x33e2('0x1d')&&typeof _0x3a73d2[_0x33e2('0x1e')]===_0x33e2('0x1d');var _0x59c33c=_0x448c9e['count'];var _0x5a5616=_0x2af749?0x0:_0x3a73d2['offset'];var _0x59e672=_0x2af749?_0x448c9e['count']:_0x3a73d2['offset']+_0x3a73d2['limit'];var _0x568d47;if(_0x59e672>=_0x59c33c){_0x59e672=_0x59c33c;_0x568d47=0xc8;}else{_0x568d47=0xce;}_0x165bf3[_0x33e2('0x1a')](_0x568d47);return _0x165bf3[_0x33e2('0x1f')]('Content-Range',_0x5a5616+'-'+_0x59e672+'/'+_0x59c33c)[_0x33e2('0x1b')](_0x448c9e);}return null;};}function saveUpdates(_0x59e53b){return function(_0x3d0fe1){if(_0x3d0fe1){return _0x3d0fe1[_0x33e2('0x20')](_0x59e53b)['then'](function(_0x428326){return _0x428326;});}return null;};}function removeEntity(_0x343891){return function(_0x254bb7){if(_0x254bb7){return _0x254bb7[_0x33e2('0x21')]()[_0x33e2('0x22')](function(){_0x343891[_0x33e2('0x1a')](0xcc)[_0x33e2('0x23')]();});}};}function handleEntityNotFound(_0x231276){return function(_0x5b1115){if(!_0x5b1115){_0x231276[_0x33e2('0x24')](0x194);}return _0x5b1115;};}function handleError(_0x5b8642,_0x514415){_0x514415=_0x514415||0x1f4;return function(_0x1862c7){logger[_0x33e2('0x17')](_0x1862c7[_0x33e2('0x25')]);if(_0x1862c7['name']){delete _0x1862c7[_0x33e2('0x26')];}_0x5b8642['status'](_0x514415)[_0x33e2('0x27')](_0x1862c7);};}exports['index']=function(_0x1249c1,_0x51d361){var _0x776f0b={},_0x1129b1={},_0x148e4c={'count':0x0,'rows':[]};var _0x441233=_[_0x33e2('0x28')](db['MailMessage'][_0x33e2('0x29')],function(_0x412c04){return{'name':_0x412c04[_0x33e2('0x2a')],'type':_0x412c04[_0x33e2('0x2b')][_0x33e2('0x2c')]};});_0x1129b1[_0x33e2('0x2d')]=_[_0x33e2('0x28')](_0x441233,_0x33e2('0x26'));_0x1129b1['query']=_[_0x33e2('0x2e')](_0x1249c1[_0x33e2('0x2f')]);_0x1129b1[_0x33e2('0x30')]=_[_0x33e2('0x31')](_0x1129b1[_0x33e2('0x2d')],_0x1129b1[_0x33e2('0x2f')]);_0x776f0b[_0x33e2('0x32')]=_['intersection'](_0x1129b1[_0x33e2('0x2d')],qs[_0x33e2('0x33')](_0x1249c1[_0x33e2('0x2f')][_0x33e2('0x33')]));_0x776f0b['attributes']=_0x776f0b[_0x33e2('0x32')][_0x33e2('0x34')]?_0x776f0b['attributes']:_0x1129b1[_0x33e2('0x2d')];if(!_0x1249c1[_0x33e2('0x2f')][_0x33e2('0x35')](_0x33e2('0x36'))){_0x776f0b['limit']=qs[_0x33e2('0x1e')](_0x1249c1[_0x33e2('0x2f')][_0x33e2('0x1e')]);_0x776f0b[_0x33e2('0x1c')]=qs[_0x33e2('0x1c')](_0x1249c1[_0x33e2('0x2f')][_0x33e2('0x1c')]);}_0x776f0b['order']=qs[_0x33e2('0x37')](_0x1249c1['query'][_0x33e2('0x37')]);_0x776f0b[_0x33e2('0x38')]=qs[_0x33e2('0x30')](_['pick'](_0x1249c1['query'],_0x1129b1['filters']),_0x441233);if(_0x1249c1[_0x33e2('0x2f')]['filter']){_0x776f0b['where']=_['merge'](_0x776f0b[_0x33e2('0x38')],{'$or':_[_0x33e2('0x28')](_0x441233,function(_0x2b6061){if(_0x2b6061['type']!==_0x33e2('0x39')){var _0x50d069={};_0x50d069[_0x2b6061[_0x33e2('0x26')]]={'$like':'%'+_0x1249c1[_0x33e2('0x2f')][_0x33e2('0x3a')]+'%'};return _0x50d069;}})});}_0x776f0b=_[_0x33e2('0x3b')]({},_0x776f0b,_0x1249c1[_0x33e2('0x3c')]);var _0x3027e9={'where':_0x776f0b[_0x33e2('0x38')]};return db[_0x33e2('0x3d')][_0x33e2('0x3e')](_0x3027e9)[_0x33e2('0x22')](function(_0x55bf66){_0x148e4c[_0x33e2('0x3e')]=_0x55bf66;if(_0x1249c1['query']['includeAll']){_0x776f0b['include']=[{'all':!![]}];}return db[_0x33e2('0x3d')]['findAll'](_0x776f0b);})[_0x33e2('0x22')](function(_0xa0d65a){_0x148e4c[_0x33e2('0x3f')]=_0xa0d65a;return _0x148e4c;})[_0x33e2('0x22')](respondWithFilteredResult(_0x51d361,_0x776f0b))[_0x33e2('0x40')](handleError(_0x51d361,null));};exports['show']=function(_0x1664ba,_0x55c158){var _0x43ddb0={'raw':!![],'where':{'id':_0x1664ba[_0x33e2('0x41')]['id']}},_0x8be28a={};_0x8be28a['model']=_[_0x33e2('0x2e')](db[_0x33e2('0x3d')][_0x33e2('0x29')]);_0x8be28a['query']=_['keys'](_0x1664ba[_0x33e2('0x2f')]);_0x8be28a['filters']=_[_0x33e2('0x31')](_0x8be28a['model'],_0x8be28a[_0x33e2('0x2f')]);_0x43ddb0[_0x33e2('0x32')]=_['intersection'](_0x8be28a[_0x33e2('0x2d')],qs[_0x33e2('0x33')](_0x1664ba['query']['fields']));_0x43ddb0[_0x33e2('0x32')]=_0x43ddb0[_0x33e2('0x32')][_0x33e2('0x34')]?_0x43ddb0[_0x33e2('0x32')]:_0x8be28a[_0x33e2('0x2d')];if(_0x1664ba['query'][_0x33e2('0x42')]){_0x43ddb0[_0x33e2('0x43')]=[{'all':!![]}];}_0x43ddb0=_['merge']({},_0x43ddb0,_0x1664ba['options']);return db['MailMessage'][_0x33e2('0x44')](_0x43ddb0)[_0x33e2('0x22')](handleEntityNotFound(_0x55c158,null))[_0x33e2('0x22')](respondWithResult(_0x55c158,null))[_0x33e2('0x40')](handleError(_0x55c158,null));};exports[_0x33e2('0x20')]=function(_0x2482b5,_0x48718f){if(_0x2482b5[_0x33e2('0x45')]['id']){delete _0x2482b5[_0x33e2('0x45')]['id'];}return db[_0x33e2('0x3d')][_0x33e2('0x44')]({'where':{'id':_0x2482b5[_0x33e2('0x41')]['id']}})['then'](handleEntityNotFound(_0x48718f,null))[_0x33e2('0x22')](saveUpdates(_0x2482b5[_0x33e2('0x45')],null))[_0x33e2('0x22')](respondWithResult(_0x48718f,null))['catch'](handleError(_0x48718f,null));};exports[_0x33e2('0x21')]=function(_0x3c3305,_0x3fd108){return db[_0x33e2('0x3d')][_0x33e2('0x44')]({'where':{'id':_0x3c3305[_0x33e2('0x41')]['id']}})[_0x33e2('0x22')](handleEntityNotFound(_0x3fd108,null))[_0x33e2('0x22')](removeEntity(_0x3fd108,null))[_0x33e2('0x40')](handleError(_0x3fd108,null));};exports[_0x33e2('0x46')]=function(_0x53b5fb,_0x4ab69b){return db['MailMessage'][_0x33e2('0x46')]()[_0x33e2('0x22')](respondWithResult(_0x4ab69b,null))[_0x33e2('0x40')](handleError(_0x4ab69b,null));};exports['create']=function(_0x90caa,_0x5fad0d){return db['MailMessage'][_0x33e2('0x47')](_0x90caa[_0x33e2('0x45')])[_0x33e2('0x22')](function(_0x5b5ae4){if(_0x5b5ae4){if(_0x5b5ae4['direction']===_0x33e2('0x48')&&!_0x5b5ae4[_0x33e2('0x49')]){var _0xca1916,_0x2c8da0,_0x2fc913;if(_0x90caa[_0x33e2('0x45')]['to']){_0x2c8da0=_0x90caa['body']['to']['split'](',')[0x0];}return db[_0x33e2('0x4a')][_0x33e2('0x4b')]({'where':{'id':_0x5b5ae4[_0x33e2('0x4c')]},'include':[{'model':db[_0x33e2('0x4d')],'as':_0x33e2('0x4e'),'include':[{'model':db['CmContact'],'as':_0x33e2('0x4f'),'where':{'email':_0x2c8da0},'limit':0x1,'order':[[_0x33e2('0x50'),_0x33e2('0x51')]]}]},{'model':db['MailServerOut'],'as':_0x33e2('0x52'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':'CloudProvider','raw':!![]}]}]})[_0x33e2('0x22')](function(_0x5da590){_0xca1916=_0x5da590;if(!_0xca1916||!_0xca1916[_0x33e2('0x52')])return;var _0x167b02=_0xca1916[_0x33e2('0x53')]();if(_0x90caa[_0x33e2('0x45')][_0x33e2('0x54')]&&_0x90caa['body'][_0x33e2('0x54')]['length']){for(var _0x2a0d98=0x0;_0x2a0d98<_0x90caa[_0x33e2('0x45')][_0x33e2('0x54')]['length'];_0x2a0d98+=0x1){_0x90caa['body'][_0x33e2('0x54')][_0x2a0d98]={'filename':_0x90caa['body'][_0x33e2('0x54')][_0x2a0d98]['name'],'path':path[_0x33e2('0x55')](config['root'],_0x33e2('0x56'),_0x90caa[_0x33e2('0x45')]['attachments'][_0x2a0d98][_0x33e2('0x57')])};}}_0x2fc913={'account':_0x167b02,'message':_0x90caa[_0x33e2('0x45')]};return;})['then'](function(){if(_0xca1916[_0x33e2('0x4e')]){if(_0xca1916[_0x33e2('0x4e')][_0x33e2('0x4f')]['length']){return _0xca1916[_0x33e2('0x4e')][_0x33e2('0x4f')][0x0];}else{return db[_0x33e2('0x58')][_0x33e2('0x47')](_[_0x33e2('0xa')](_0x90caa[_0x33e2('0x45')],{'firstName':_0x90caa[_0x33e2('0x45')]['to'],'email':_0x90caa[_0x33e2('0x45')]['to'],'phone':_0x90caa['body']['to'],'ListId':_0xca1916[_0x33e2('0x59')]}));}}else{throw new Error('List\x20not\x20found');}})[_0x33e2('0x22')](function(){if(_0x2fc913){return respondWithRpcPromise(_0x33e2('0x5a'),_0x33e2('0x5b'),_0x2fc913,client9003)[_0x33e2('0x22')](function(_0x5c0232){return _0x5b5ae4['update']({'read':!![],'messageId':_0x5c0232[_0x33e2('0x5c')],'sentAt':moment()[_0x33e2('0x5d')]('YYYY-MM-DD\x20HH:mm:ss')});})['catch'](function(_0x2a1cf8){logger[_0x33e2('0x17')]('%s',JSON[_0x33e2('0x16')](_0x2a1cf8));return _0x5b5ae4;});}return _0x5b5ae4;});}return _0x5b5ae4;}})[_0x33e2('0x22')](respondWithResult(_0x5fad0d,0xc9))[_0x33e2('0x40')](handleError(_0x5fad0d,null));};exports[_0x33e2('0x5e')]=function(_0x147408,_0x527700){var _0x55f6e8={'agent':{},'channel':_0x33e2('0x5f')};if(_0x147408[_0x33e2('0x45')]['id']){delete _0x147408[_0x33e2('0x45')]['id'];}_0x147408[_0x33e2('0x45')][_0x33e2('0x60')]=!![];_0x147408[_0x33e2('0x45')][_0x33e2('0x61')]=moment()[_0x33e2('0x5d')](_0x33e2('0x62'));_0x147408[_0x33e2('0x45')]['UserId']=_0x147408['body'][_0x33e2('0x63')]||_0x147408[_0x33e2('0x64')]['id'];_0x55f6e8[_0x33e2('0x65')]['id']=_0x147408[_0x33e2('0x45')][_0x33e2('0x63')];return db[_0x33e2('0x3d')]['find']({'where':{'id':_0x147408['params']['id'],'UserId':null}})[_0x33e2('0x22')](handleEntityNotFound(_0x527700,null))['then'](saveUpdates(_0x147408[_0x33e2('0x45')],null))['then'](function(_0x296f65){if(_0x296f65){_0x55f6e8[_0x33e2('0x18')]=_0x296f65[_0x33e2('0x66')]({'plain':!![]});return db[_0x33e2('0x67')][_0x33e2('0x44')]({'where':{'id':_0x296f65[_0x33e2('0x68')]}});}return null;})[_0x33e2('0x22')](handleEntityNotFound(_0x527700,null))['then'](function(_0x299adc){if(_0x299adc){return _0x299adc['update']({'UserId':_0x147408[_0x33e2('0x45')][_0x33e2('0x63')],'read1stAt':_[_0x33e2('0x69')](_0x299adc[_0x33e2('0x6a')])?moment()['format'](_0x33e2('0x62')):undefined});}return null;})[_0x33e2('0x22')](function(_0xf759ea){if(_0xf759ea){_0x55f6e8[_0x33e2('0x6b')]=_0xf759ea[_0x33e2('0x66')]({'plain':!![]});interaction_log[_0x33e2('0x19')](_0x33e2('0x6c'),_0x147408['user']['id'],_0x147408[_0x33e2('0x64')][_0x33e2('0x26')],_0x147408[_0x33e2('0x64')][_0x33e2('0x6d')],_0x55f6e8[_0x33e2('0x6b')]['id'],_0x147408['body']?JSON[_0x33e2('0x16')](_0x147408['body']):'null');return respondWithRpcPromise('AcceptMessage',_0x33e2('0x6e'),_0x55f6e8);}return null;})[_0x33e2('0x22')](function(_0x147771){var _0x38a344=_0x33e2('0x6f')+_0x147771['message']['ContactId'];return db[_0x33e2('0x70')]['query'](_0x38a344,{'type':db[_0x33e2('0x71')]['QueryTypes']['SELECT'],'raw':!![]})[_0x33e2('0x22')](function(_0x3d5156){return _0x3d5156;});})[_0x33e2('0x22')](function(_0x283661){if(_0x283661){_0x55f6e8[_0x33e2('0x18')][_0x33e2('0x72')]=_0x283661[0x0];if(!_0x147408[_0x33e2('0x45')][_0x33e2('0x63')])return;return db[_0x33e2('0x73')]['find']({'where':{'id':_0x147408[_0x33e2('0x45')][_0x33e2('0x63')],'role':_0x33e2('0x65')},'attributes':['id','name','fullname',_0x33e2('0x74'),_0x33e2('0x75')],'raw':!![]});}return null;})[_0x33e2('0x22')](function(_0x468b15){if(!_0x468b15)return null;_0x55f6e8[_0x33e2('0x18')][_0x33e2('0x65')]=_0x468b15;return _0x55f6e8;})[_0x33e2('0x22')](function(_0x3dd971){if(_0x3dd971){if(_0x147408[_0x33e2('0x45')][_0x33e2('0x76')]){_0x55f6e8[_0x33e2('0x18')]['interface']=util['format']('SIP/%s',_0x147408[_0x33e2('0x64')]['name']);_0x55f6e8[_0x33e2('0x18')][_0x33e2('0x77')]=_0x55f6e8['channel'];_0x55f6e8[_0x33e2('0x18')][_0x33e2('0x78')]=_0x55f6e8['channel'];_0x55f6e8['message'][_0x33e2('0x79')]=_0x33e2('0x5e');_0x55f6e8[_0x33e2('0x18')][_0x33e2('0x45')]=htmlToText[_0x33e2('0x7a')](_0x55f6e8['message'][_0x33e2('0x45')]);return respondWithRpcPromise(_0x33e2('0x7b'),_0x33e2('0x7b'),{'event':_0x33e2('0x7c'),'message':_0x55f6e8[_0x33e2('0x18')]},client9002)[_0x33e2('0x22')](function(){return _0x55f6e8;});}return _0x55f6e8;}return null;})[_0x33e2('0x22')](respondWithResult(_0x527700,null))[_0x33e2('0x40')](handleError(_0x527700,null));};exports[_0x33e2('0x7d')]=function(_0xa22124,_0x368d67){var _0x408e4c={'agent':{},'channel':_0x33e2('0x5f')};if(_0xa22124[_0x33e2('0x45')]['id']){delete _0xa22124['body']['id'];}_0xa22124['body']['UserId']=_0xa22124[_0x33e2('0x45')][_0x33e2('0x63')]||_0xa22124[_0x33e2('0x64')]['id'];_0x408e4c['agent']['id']=_0xa22124['body']['UserId'];return db[_0x33e2('0x3d')][_0x33e2('0x44')]({'where':{'id':_0xa22124[_0x33e2('0x41')]['id'],'UserId':null}})[_0x33e2('0x22')](handleEntityNotFound(_0x368d67,null))[_0x33e2('0x22')](function(_0x454e41){if(_0x454e41){_0x408e4c['message']=_0x454e41[_0x33e2('0x66')]({'plain':!![]});return db['MailInteraction'][_0x33e2('0x44')]({'where':{'id':_0x454e41[_0x33e2('0x68')]}});}return null;})[_0x33e2('0x22')](handleEntityNotFound(_0x368d67,null))[_0x33e2('0x22')](function(_0xa15bbb){if(_0xa15bbb){_0x408e4c[_0x33e2('0x6b')]=_0xa15bbb['get']({'plain':!![]});interaction_log[_0x33e2('0x19')](_0x33e2('0x7e'),_0xa22124[_0x33e2('0x64')]['id'],_0xa22124[_0x33e2('0x64')][_0x33e2('0x26')],_0xa22124[_0x33e2('0x64')][_0x33e2('0x6d')],_0x408e4c[_0x33e2('0x6b')]['id'],_0xa22124[_0x33e2('0x45')]?JSON['stringify'](_0xa22124[_0x33e2('0x45')]):_0x33e2('0x7f'));return respondWithRpcPromise(_0x33e2('0x80'),_0x33e2('0x81'),_0x408e4c);}return null;})[_0x33e2('0x22')](function(_0x37b353){var _0x85eee4=_0x33e2('0x6f')+_0x37b353[_0x33e2('0x18')][_0x33e2('0x82')];return db[_0x33e2('0x70')]['query'](_0x85eee4,{'type':db[_0x33e2('0x71')]['QueryTypes'][_0x33e2('0x83')],'raw':!![]})[_0x33e2('0x22')](function(_0x4845be){return _0x4845be;});})[_0x33e2('0x22')](function(_0x5d36de){if(_0x5d36de){_0x408e4c['message'][_0x33e2('0x72')]=_0x5d36de[0x0];if(!_0xa22124[_0x33e2('0x45')][_0x33e2('0x63')])return;return db[_0x33e2('0x73')][_0x33e2('0x44')]({'where':{'id':_0xa22124['body']['UserId'],'role':'agent'},'attributes':['id',_0x33e2('0x26'),_0x33e2('0x84'),_0x33e2('0x74'),_0x33e2('0x75')],'raw':!![]});}return null;})[_0x33e2('0x22')](function(_0x3a1479){if(!_0x3a1479)return null;_0x408e4c[_0x33e2('0x18')][_0x33e2('0x65')]=_0x3a1479;return _0x408e4c;})['then'](function(_0x2b21a8){if(_0x2b21a8){_0x2b21a8[_0x33e2('0x18')][_0x33e2('0x85')]=util[_0x33e2('0x5d')]('SIP/%s',_0xa22124[_0x33e2('0x64')][_0x33e2('0x26')]);_0x2b21a8[_0x33e2('0x18')][_0x33e2('0x77')]=_0x408e4c[_0x33e2('0x77')];_0x2b21a8['message'][_0x33e2('0x78')]=_0x408e4c[_0x33e2('0x77')];_0x2b21a8[_0x33e2('0x18')][_0x33e2('0x79')]=_0x33e2('0x7d');_0x2b21a8['message']['body']=htmlToText[_0x33e2('0x7a')](_0x408e4c['message'][_0x33e2('0x45')]);respondWithRpcPromise('EventManager','EventManager',{'event':_0x33e2('0x86'),'message':_0x2b21a8[_0x33e2('0x18')]},client9002);return _0x408e4c;}return null;})['then'](respondWithResult(_0x368d67,null))[_0x33e2('0x40')](handleError(_0x368d67,null));};exports[_0x33e2('0x87')]=function(_0x26085c,_0x5cd6c0){var _0x4c5f12=moment()[_0x33e2('0x88')]()[_0x33e2('0x89')]();var _0x34c69e=path[_0x33e2('0x55')](config[_0x33e2('0x8a')],'server','files',_0x33e2('0x8b'));var _0x586377=path['join'](config[_0x33e2('0x8a')],_0x33e2('0x8c'),_0x33e2('0x8d'),_0x33e2('0x54'));var _0x3716fd=util[_0x33e2('0x5d')]('message-%s.eml',_0x4c5f12);return db['MailMessage'][_0x33e2('0x44')]({'where':{'id':_0x26085c[_0x33e2('0x41')]['id']},'attributes':['id',_0x33e2('0x45'),_0x33e2('0x8e'),'to','cc',_0x33e2('0x8f'),'subject','createdAt'],'include':_0x26085c[_0x33e2('0x2f')][_0x33e2('0x54')]?[{'model':db[_0x33e2('0x90')],'as':_0x33e2('0x91')}]:undefined})[_0x33e2('0x22')](handleEntityNotFound(_0x5cd6c0,null))[_0x33e2('0x22')](function(_0x351cbf){if(_0x351cbf){var _0x142fff=_0x351cbf;var _0x4dde15={'from':_0x142fff[_0x33e2('0x8e')],'to':_0x142fff['to'],'subject':_0x142fff['subject'],'html':htmlEntities[_0x33e2('0x92')](_0x142fff[_0x33e2('0x45')]),'headers':{'Date':moment(_0x142fff[_0x33e2('0x93')])[_0x33e2('0x5d')](_0x33e2('0x94'))},'attachments':[]};if(_0x351cbf['cc']){_0x4dde15['headers']['Cc']=_0x351cbf['cc'];}if(_0x351cbf[_0x33e2('0x8f')]){_0x4dde15[_0x33e2('0x95')]['Bcc']=_0x351cbf[_0x33e2('0x8f')];}return new BPromise(function(_0x263b4c,_0x2ad9e4){if(_0x351cbf['Attachments']){for(var _0x5a3d2a=0x0;_0x5a3d2a<_0x351cbf[_0x33e2('0x91')][_0x33e2('0x34')];_0x5a3d2a++){var _0x5f4b6c=_0x351cbf['Attachments'][_0x5a3d2a];var _0x265785=path[_0x33e2('0x55')](_0x586377,_0x5f4b6c[_0x33e2('0x57')]);if(fs[_0x33e2('0x96')](_0x265785)){_0x4dde15[_0x33e2('0x54')][_0x33e2('0x97')]({'name':_0x5f4b6c[_0x33e2('0x26')],'contentType':_0x5f4b6c['type'],'data':fs[_0x33e2('0x98')](_0x265785)});}}}emlformat[_0x33e2('0x99')](_0x4dde15,function(_0x52a578,_0x38117d){if(_0x52a578)return _0x2ad9e4(_0x52a578);fs[_0x33e2('0x9a')](path[_0x33e2('0x55')](_0x34c69e,_0x3716fd),_0x38117d);return _0x263b4c(_0x38117d);});});}})[_0x33e2('0x22')](function(_0x568f83){if(_0x568f83){return _0x5cd6c0[_0x33e2('0x87')](path[_0x33e2('0x55')](_0x34c69e,_0x3716fd),_0x3716fd,function(_0x322d7c){if(!_0x322d7c)fs[_0x33e2('0x9b')](path[_0x33e2('0x55')](_0x34c69e,_0x3716fd));});}})['catch'](handleError(_0x5cd6c0,null));};