Built motion from commit 85328c08.|2.5.50
[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 _0x8669=['from','bcc','subject','Attachment','decode','createdAt','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Attachments','push','readFileSync','writeFileSync','eml-format','moment','bluebird','util','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','jayson/promise','client','http','request','info','request\x20sent','debug','stringify','error','code','MailMessage,\x20%s,\x20%s','message','result','catch','status','json','offset','undefined','count','limit','set','Content-Range','update','then','end','sendStatus','stack','name','index','map','MailMessage','rawAttributes','fieldName','type','key','model','keys','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','show','params','filters','options','body','find','destroy','describe','create','direction','out','secret','MailAccount','findOne','MailAccountId','CmList','CmContact','updatedAt','DESC','MailServerOut','Smtp','CloudProvider','getSmtpOptions','attachments','join','root','server/files/attachments','basename','List','Contacts','ListId','List\x20not\x20found','SendMail','sendMail','messageId','format','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','null','AcceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','sequelize','SELECT','contact','User','fullname','manual','interface','channel','accept','EventManager','acceptmessage','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','rejectMessage','Sequelize','email','internal','SIP/%s','motionChannel','reject','fromString','rejectmessage','download','unix','toString','files','tmp','server'];(function(_0x1e5df0,_0x1aa134){var _0x564e0c=function(_0x4270a8){while(--_0x4270a8){_0x1e5df0['push'](_0x1e5df0['shift']());}};_0x564e0c(++_0x1aa134);}(_0x8669,0xb4));var _0x9866=function(_0x127731,_0xe9b93f){_0x127731=_0x127731-0x0;var _0x1d8cfb=_0x8669[_0x127731];return _0x1d8cfb;};'use strict';var emlformat=require(_0x9866('0x0'));var moment=require(_0x9866('0x1'));var BPromise=require(_0x9866('0x2'));var util=require(_0x9866('0x3'));var path=require('path');var fs=require('fs');var _=require(_0x9866('0x4'));var Redis=require(_0x9866('0x5'));var htmlToText=require(_0x9866('0x6'));var qs=require(_0x9866('0x7'));var logger=require(_0x9866('0x8'))(_0x9866('0x9'));var interaction_log=require(_0x9866('0x8'))('mail-interactions');var config=require(_0x9866('0xa'));var db=require(_0x9866('0xb'))['db'];config[_0x9866('0xc')]=_[_0x9866('0xd')](config[_0x9866('0xc')],{'host':_0x9866('0xe'),'port':0x18eb});var socket=require(_0x9866('0xf'))(new Redis(config[_0x9866('0xc')]));var htmlEntities=require(_0x9866('0x10'));require(_0x9866('0x11'))[_0x9866('0x12')](socket);var jayson=require(_0x9866('0x13'));var client=jayson[_0x9866('0x14')][_0x9866('0x15')]({'port':0x232c});var client9003=jayson['client'][_0x9866('0x15')]({'port':0x232b});var client9002=jayson[_0x9866('0x14')][_0x9866('0x15')]({'port':0x232a});function respondWithRpcPromise(_0x4bedb3,_0x204e39,_0x915d77,_0x256a97){return new BPromise(function(_0x35098d,_0x475058){var _0x27e411=_0x256a97||client;return _0x27e411[_0x9866('0x16')](_0x4bedb3,_0x915d77)['then'](function(_0x14bd44){logger[_0x9866('0x17')]('MailMessage,\x20%s,\x20%s',_0x204e39,_0x9866('0x18'));logger[_0x9866('0x19')]('MailMessage,\x20%s,\x20%s,\x20%s',_0x204e39,'request\x20sent',JSON[_0x9866('0x1a')](_0x14bd44));if(_0x14bd44[_0x9866('0x1b')]){if(_0x14bd44['error'][_0x9866('0x1c')]===0x1f4){logger[_0x9866('0x1b')](_0x9866('0x1d'),_0x204e39,_0x14bd44[_0x9866('0x1b')][_0x9866('0x1e')]);return _0x475058(_0x14bd44[_0x9866('0x1b')][_0x9866('0x1e')]);}logger[_0x9866('0x1b')](_0x9866('0x1d'),_0x204e39,_0x14bd44[_0x9866('0x1b')][_0x9866('0x1e')]);return _0x35098d(_0x14bd44['error'][_0x9866('0x1e')]);}else{logger[_0x9866('0x17')](_0x9866('0x1d'),_0x204e39,'request\x20sent');_0x35098d(_0x14bd44[_0x9866('0x1f')][_0x9866('0x1e')]);}})[_0x9866('0x20')](function(_0x18dd41){logger[_0x9866('0x1b')]('MailMessage,\x20%s,\x20%s',_0x204e39,_0x18dd41);_0x475058(_0x18dd41);});});}function respondWithResult(_0x35c908,_0x16cdae){_0x16cdae=_0x16cdae||0xc8;return function(_0xff7061){if(_0xff7061){return _0x35c908[_0x9866('0x21')](_0x16cdae)[_0x9866('0x22')](_0xff7061);}};}function respondWithFilteredResult(_0xc60683,_0x19285a){return function(_0x3d95c3){if(_0x3d95c3){var _0x141a83=typeof _0x19285a[_0x9866('0x23')]===_0x9866('0x24')&&typeof _0x19285a['limit']===_0x9866('0x24');var _0x40a12e=_0x3d95c3[_0x9866('0x25')];var _0x5dd2fc=_0x141a83?0x0:_0x19285a[_0x9866('0x23')];var _0x3c5a83=_0x141a83?_0x3d95c3['count']:_0x19285a[_0x9866('0x23')]+_0x19285a[_0x9866('0x26')];var _0x1abc47;if(_0x3c5a83>=_0x40a12e){_0x3c5a83=_0x40a12e;_0x1abc47=0xc8;}else{_0x1abc47=0xce;}_0xc60683['status'](_0x1abc47);return _0xc60683[_0x9866('0x27')](_0x9866('0x28'),_0x5dd2fc+'-'+_0x3c5a83+'/'+_0x40a12e)[_0x9866('0x22')](_0x3d95c3);}return null;};}function saveUpdates(_0x3e6e98){return function(_0x240de3){if(_0x240de3){return _0x240de3[_0x9866('0x29')](_0x3e6e98)[_0x9866('0x2a')](function(_0x2673c7){return _0x2673c7;});}return null;};}function removeEntity(_0x1c2485){return function(_0x282dc4){if(_0x282dc4){return _0x282dc4['destroy']()[_0x9866('0x2a')](function(){_0x1c2485['status'](0xcc)[_0x9866('0x2b')]();});}};}function handleEntityNotFound(_0x5474ce){return function(_0x2da74f){if(!_0x2da74f){_0x5474ce[_0x9866('0x2c')](0x194);}return _0x2da74f;};}function handleError(_0x304093,_0x36f235){_0x36f235=_0x36f235||0x1f4;return function(_0x26d0fd){logger['error'](_0x26d0fd[_0x9866('0x2d')]);if(_0x26d0fd['name']){delete _0x26d0fd[_0x9866('0x2e')];}_0x304093[_0x9866('0x21')](_0x36f235)['send'](_0x26d0fd);};}exports[_0x9866('0x2f')]=function(_0x36396c,_0x2128e8){var _0x11d24b={},_0x3862ae={},_0x33c376={'count':0x0,'rows':[]};var _0x113d02=_[_0x9866('0x30')](db[_0x9866('0x31')][_0x9866('0x32')],function(_0x53511d){return{'name':_0x53511d[_0x9866('0x33')],'type':_0x53511d[_0x9866('0x34')][_0x9866('0x35')]};});_0x3862ae[_0x9866('0x36')]=_['map'](_0x113d02,_0x9866('0x2e'));_0x3862ae['query']=_[_0x9866('0x37')](_0x36396c[_0x9866('0x38')]);_0x3862ae['filters']=_[_0x9866('0x39')](_0x3862ae['model'],_0x3862ae[_0x9866('0x38')]);_0x11d24b[_0x9866('0x3a')]=_[_0x9866('0x39')](_0x3862ae[_0x9866('0x36')],qs['fields'](_0x36396c[_0x9866('0x38')][_0x9866('0x3b')]));_0x11d24b[_0x9866('0x3a')]=_0x11d24b[_0x9866('0x3a')][_0x9866('0x3c')]?_0x11d24b[_0x9866('0x3a')]:_0x3862ae[_0x9866('0x36')];if(!_0x36396c[_0x9866('0x38')][_0x9866('0x3d')](_0x9866('0x3e'))){_0x11d24b['limit']=qs['limit'](_0x36396c[_0x9866('0x38')][_0x9866('0x26')]);_0x11d24b[_0x9866('0x23')]=qs[_0x9866('0x23')](_0x36396c[_0x9866('0x38')]['offset']);}_0x11d24b[_0x9866('0x3f')]=qs[_0x9866('0x40')](_0x36396c[_0x9866('0x38')][_0x9866('0x40')]);_0x11d24b[_0x9866('0x41')]=qs['filters'](_[_0x9866('0x42')](_0x36396c[_0x9866('0x38')],_0x3862ae['filters']),_0x113d02);if(_0x36396c[_0x9866('0x38')][_0x9866('0x43')]){_0x11d24b[_0x9866('0x41')]=_[_0x9866('0x44')](_0x11d24b[_0x9866('0x41')],{'$or':_[_0x9866('0x30')](_0x113d02,function(_0x51ff05){if(_0x51ff05['type']!==_0x9866('0x45')){var _0x1e6071={};_0x1e6071[_0x51ff05[_0x9866('0x2e')]]={'$like':'%'+_0x36396c[_0x9866('0x38')]['filter']+'%'};return _0x1e6071;}})});}_0x11d24b=_[_0x9866('0x44')]({},_0x11d24b,_0x36396c['options']);var _0x309b6c={'where':_0x11d24b['where']};return db['MailMessage'][_0x9866('0x25')](_0x309b6c)[_0x9866('0x2a')](function(_0x5ddfa1){_0x33c376[_0x9866('0x25')]=_0x5ddfa1;if(_0x36396c[_0x9866('0x38')][_0x9866('0x46')]){_0x11d24b[_0x9866('0x47')]=[{'all':!![]}];}return db[_0x9866('0x31')][_0x9866('0x48')](_0x11d24b);})[_0x9866('0x2a')](function(_0x17775f){_0x33c376[_0x9866('0x49')]=_0x17775f;return _0x33c376;})[_0x9866('0x2a')](respondWithFilteredResult(_0x2128e8,_0x11d24b))['catch'](handleError(_0x2128e8,null));};exports[_0x9866('0x4a')]=function(_0x53b32f,_0x438587){var _0x2a4a08={'raw':!![],'where':{'id':_0x53b32f[_0x9866('0x4b')]['id']}},_0x402d6f={};_0x402d6f[_0x9866('0x36')]=_[_0x9866('0x37')](db[_0x9866('0x31')][_0x9866('0x32')]);_0x402d6f[_0x9866('0x38')]=_[_0x9866('0x37')](_0x53b32f[_0x9866('0x38')]);_0x402d6f[_0x9866('0x4c')]=_[_0x9866('0x39')](_0x402d6f[_0x9866('0x36')],_0x402d6f[_0x9866('0x38')]);_0x2a4a08[_0x9866('0x3a')]=_[_0x9866('0x39')](_0x402d6f[_0x9866('0x36')],qs[_0x9866('0x3b')](_0x53b32f[_0x9866('0x38')]['fields']));_0x2a4a08[_0x9866('0x3a')]=_0x2a4a08[_0x9866('0x3a')][_0x9866('0x3c')]?_0x2a4a08[_0x9866('0x3a')]:_0x402d6f[_0x9866('0x36')];if(_0x53b32f[_0x9866('0x38')][_0x9866('0x46')]){_0x2a4a08[_0x9866('0x47')]=[{'all':!![]}];}_0x2a4a08=_[_0x9866('0x44')]({},_0x2a4a08,_0x53b32f[_0x9866('0x4d')]);return db[_0x9866('0x31')]['find'](_0x2a4a08)[_0x9866('0x2a')](handleEntityNotFound(_0x438587,null))[_0x9866('0x2a')](respondWithResult(_0x438587,null))[_0x9866('0x20')](handleError(_0x438587,null));};exports['update']=function(_0x387b12,_0x6377a4){if(_0x387b12[_0x9866('0x4e')]['id']){delete _0x387b12['body']['id'];}return db[_0x9866('0x31')][_0x9866('0x4f')]({'where':{'id':_0x387b12['params']['id']}})[_0x9866('0x2a')](handleEntityNotFound(_0x6377a4,null))[_0x9866('0x2a')](saveUpdates(_0x387b12[_0x9866('0x4e')],null))[_0x9866('0x2a')](respondWithResult(_0x6377a4,null))['catch'](handleError(_0x6377a4,null));};exports[_0x9866('0x50')]=function(_0xc0d4ba,_0x150d39){return db[_0x9866('0x31')]['find']({'where':{'id':_0xc0d4ba[_0x9866('0x4b')]['id']}})[_0x9866('0x2a')](handleEntityNotFound(_0x150d39,null))['then'](removeEntity(_0x150d39,null))[_0x9866('0x20')](handleError(_0x150d39,null));};exports[_0x9866('0x51')]=function(_0x5949bd,_0x46c0b8){return db[_0x9866('0x31')]['describe']()['then'](respondWithResult(_0x46c0b8,null))['catch'](handleError(_0x46c0b8,null));};exports[_0x9866('0x52')]=function(_0x3cd362,_0x19214d){return db[_0x9866('0x31')][_0x9866('0x52')](_0x3cd362[_0x9866('0x4e')])[_0x9866('0x2a')](function(_0x12a3a0){if(_0x12a3a0){if(_0x12a3a0[_0x9866('0x53')]===_0x9866('0x54')&&!_0x12a3a0[_0x9866('0x55')]){var _0x5a36d3,_0x3811d0,_0x3d1931;if(_0x3cd362[_0x9866('0x4e')]['to']){_0x3811d0=_0x3cd362['body']['to']['split'](',')[0x0];}return db[_0x9866('0x56')][_0x9866('0x57')]({'where':{'id':_0x12a3a0[_0x9866('0x58')]},'include':[{'model':db[_0x9866('0x59')],'as':'List','include':[{'model':db[_0x9866('0x5a')],'as':'Contacts','where':{'email':_0x3811d0},'limit':0x1,'order':[[_0x9866('0x5b'),_0x9866('0x5c')]]}]},{'model':db[_0x9866('0x5d')],'as':_0x9866('0x5e'),'raw':!![],'include':[{'model':db[_0x9866('0x5f')],'as':'CloudProvider','raw':!![]}]}]})[_0x9866('0x2a')](function(_0x338d4b){_0x5a36d3=_0x338d4b;if(!_0x5a36d3||!_0x5a36d3[_0x9866('0x5e')])return;var _0x54401d=_0x5a36d3[_0x9866('0x60')]();if(_0x3cd362[_0x9866('0x4e')][_0x9866('0x61')]&&_0x3cd362[_0x9866('0x4e')][_0x9866('0x61')][_0x9866('0x3c')]){for(var _0x129369=0x0;_0x129369<_0x3cd362[_0x9866('0x4e')][_0x9866('0x61')][_0x9866('0x3c')];_0x129369+=0x1){_0x3cd362['body'][_0x9866('0x61')][_0x129369]={'filename':_0x3cd362[_0x9866('0x4e')]['attachments'][_0x129369][_0x9866('0x2e')],'path':path[_0x9866('0x62')](config[_0x9866('0x63')],_0x9866('0x64'),_0x3cd362['body']['attachments'][_0x129369][_0x9866('0x65')])};}}_0x3d1931={'account':_0x54401d,'message':_0x3cd362[_0x9866('0x4e')]};return;})[_0x9866('0x2a')](function(){if(_0x5a36d3[_0x9866('0x66')]){if(_0x5a36d3[_0x9866('0x66')][_0x9866('0x67')][_0x9866('0x3c')]){return _0x5a36d3[_0x9866('0x66')][_0x9866('0x67')][0x0];}else{return db[_0x9866('0x5a')]['create'](_[_0x9866('0xd')](_0x3cd362[_0x9866('0x4e')],{'firstName':_0x3cd362[_0x9866('0x4e')]['to'],'email':_0x3cd362[_0x9866('0x4e')]['to'],'phone':_0x3cd362['body']['to'],'ListId':_0x5a36d3[_0x9866('0x68')]}));}}else{throw new Error(_0x9866('0x69'));}})[_0x9866('0x2a')](function(){if(_0x3d1931){return respondWithRpcPromise(_0x9866('0x6a'),_0x9866('0x6b'),_0x3d1931,client9003)['then'](function(_0x3a7999){return _0x12a3a0['update']({'read':!![],'messageId':_0x3a7999[_0x9866('0x6c')],'sentAt':moment()[_0x9866('0x6d')]('YYYY-MM-DD\x20HH:mm:ss')});})[_0x9866('0x20')](function(_0x41654f){logger[_0x9866('0x1b')]('%s',JSON[_0x9866('0x1a')](_0x41654f));return _0x12a3a0;});}return _0x12a3a0;});}return _0x12a3a0;}})[_0x9866('0x2a')](respondWithResult(_0x19214d,0xc9))[_0x9866('0x20')](handleError(_0x19214d,null));};exports['accept']=function(_0x1a499f,_0x215406){var _0x1eb8fc={'agent':{},'channel':_0x9866('0x6e')};if(_0x1a499f[_0x9866('0x4e')]['id']){delete _0x1a499f['body']['id'];}_0x1a499f[_0x9866('0x4e')][_0x9866('0x6f')]=!![];_0x1a499f[_0x9866('0x4e')][_0x9866('0x70')]=moment()[_0x9866('0x6d')](_0x9866('0x71'));_0x1a499f[_0x9866('0x4e')]['UserId']=_0x1a499f['body'][_0x9866('0x72')]||_0x1a499f[_0x9866('0x73')]['id'];_0x1eb8fc[_0x9866('0x74')]['id']=_0x1a499f['body'][_0x9866('0x72')];return db['MailMessage'][_0x9866('0x4f')]({'where':{'id':_0x1a499f[_0x9866('0x4b')]['id'],'UserId':null}})[_0x9866('0x2a')](handleEntityNotFound(_0x215406,null))[_0x9866('0x2a')](saveUpdates(_0x1a499f[_0x9866('0x4e')],null))[_0x9866('0x2a')](function(_0x387725){if(_0x387725){_0x1eb8fc['message']=_0x387725[_0x9866('0x75')]({'plain':!![]});return db[_0x9866('0x76')][_0x9866('0x4f')]({'where':{'id':_0x387725[_0x9866('0x77')]}});}return null;})['then'](handleEntityNotFound(_0x215406,null))[_0x9866('0x2a')](function(_0x12aa41){if(_0x12aa41){return _0x12aa41[_0x9866('0x29')]({'UserId':_0x1a499f[_0x9866('0x4e')][_0x9866('0x72')],'read1stAt':_[_0x9866('0x78')](_0x12aa41[_0x9866('0x79')])?moment()[_0x9866('0x6d')](_0x9866('0x71')):undefined});}return null;})[_0x9866('0x2a')](function(_0x7d6480){if(_0x7d6480){_0x1eb8fc[_0x9866('0x7a')]=_0x7d6480[_0x9866('0x75')]({'plain':!![]});interaction_log[_0x9866('0x17')](_0x9866('0x7b'),_0x1a499f[_0x9866('0x73')]['id'],_0x1a499f[_0x9866('0x73')]['name'],_0x1a499f[_0x9866('0x73')][_0x9866('0x7c')],_0x1eb8fc[_0x9866('0x7a')]['id'],_0x1a499f[_0x9866('0x4e')]?JSON['stringify'](_0x1a499f['body']):_0x9866('0x7d'));return respondWithRpcPromise(_0x9866('0x7e'),'acceptMessage',_0x1eb8fc);}return null;})[_0x9866('0x2a')](function(_0xf48680){var _0x368317=_0x9866('0x7f')+_0xf48680['message'][_0x9866('0x80')];return db[_0x9866('0x81')][_0x9866('0x38')](_0x368317,{'type':db['Sequelize']['QueryTypes'][_0x9866('0x82')],'raw':!![]})[_0x9866('0x2a')](function(_0x6b119){return _0x6b119;});})[_0x9866('0x2a')](function(_0x8d0b2a){if(_0x8d0b2a){_0x1eb8fc[_0x9866('0x1e')][_0x9866('0x83')]=_0x8d0b2a[0x0];if(!_0x1a499f[_0x9866('0x4e')]['UserId'])return;return db[_0x9866('0x84')][_0x9866('0x4f')]({'where':{'id':_0x1a499f[_0x9866('0x4e')][_0x9866('0x72')],'role':_0x9866('0x74')},'attributes':['id',_0x9866('0x2e'),_0x9866('0x85'),'email','internal'],'raw':!![]});}return null;})[_0x9866('0x2a')](function(_0x3c52c9){if(!_0x3c52c9)return null;_0x1eb8fc[_0x9866('0x1e')][_0x9866('0x74')]=_0x3c52c9;return _0x1eb8fc;})[_0x9866('0x2a')](function(_0x1ff844){if(_0x1ff844){if(_0x1a499f[_0x9866('0x4e')][_0x9866('0x86')]){_0x1eb8fc[_0x9866('0x1e')][_0x9866('0x87')]=util['format']('SIP/%s',_0x1a499f[_0x9866('0x73')][_0x9866('0x2e')]);_0x1eb8fc[_0x9866('0x1e')]['channel']=_0x1eb8fc[_0x9866('0x88')];_0x1eb8fc[_0x9866('0x1e')]['motionChannel']=_0x1eb8fc[_0x9866('0x88')];_0x1eb8fc[_0x9866('0x1e')]['event']=_0x9866('0x89');_0x1eb8fc[_0x9866('0x1e')][_0x9866('0x4e')]=htmlToText['fromString'](_0x1eb8fc[_0x9866('0x1e')]['body']);return respondWithRpcPromise('EventManager',_0x9866('0x8a'),{'event':_0x9866('0x8b'),'message':_0x1eb8fc[_0x9866('0x1e')]},client9002)[_0x9866('0x2a')](function(){return _0x1eb8fc;});}return _0x1eb8fc;}return null;})[_0x9866('0x2a')](respondWithResult(_0x215406,null))[_0x9866('0x20')](handleError(_0x215406,null));};exports['reject']=function(_0x5cab81,_0x47cffb){var _0x132181={'agent':{},'channel':_0x9866('0x6e')};if(_0x5cab81[_0x9866('0x4e')]['id']){delete _0x5cab81[_0x9866('0x4e')]['id'];}_0x5cab81[_0x9866('0x4e')]['UserId']=_0x5cab81[_0x9866('0x4e')]['UserId']||_0x5cab81[_0x9866('0x73')]['id'];_0x132181[_0x9866('0x74')]['id']=_0x5cab81[_0x9866('0x4e')][_0x9866('0x72')];return db[_0x9866('0x31')][_0x9866('0x4f')]({'where':{'id':_0x5cab81[_0x9866('0x4b')]['id'],'UserId':null}})[_0x9866('0x2a')](handleEntityNotFound(_0x47cffb,null))[_0x9866('0x2a')](function(_0x2cf080){if(_0x2cf080){_0x132181[_0x9866('0x1e')]=_0x2cf080['get']({'plain':!![]});return db['MailInteraction'][_0x9866('0x4f')]({'where':{'id':_0x2cf080['MailInteractionId']}});}return null;})[_0x9866('0x2a')](handleEntityNotFound(_0x47cffb,null))[_0x9866('0x2a')](function(_0x50a694){if(_0x50a694){_0x132181['interaction']=_0x50a694['get']({'plain':!![]});interaction_log[_0x9866('0x17')](_0x9866('0x8c'),_0x5cab81[_0x9866('0x73')]['id'],_0x5cab81[_0x9866('0x73')]['name'],_0x5cab81[_0x9866('0x73')][_0x9866('0x7c')],_0x132181[_0x9866('0x7a')]['id'],_0x5cab81[_0x9866('0x4e')]?JSON['stringify'](_0x5cab81['body']):_0x9866('0x7d'));return respondWithRpcPromise('RejectMessage',_0x9866('0x8d'),_0x132181);}return null;})['then'](function(_0x1b511a){var _0x34a545=_0x9866('0x7f')+_0x1b511a['message']['ContactId'];return db['sequelize'][_0x9866('0x38')](_0x34a545,{'type':db[_0x9866('0x8e')]['QueryTypes'][_0x9866('0x82')],'raw':!![]})[_0x9866('0x2a')](function(_0x1d69c5){return _0x1d69c5;});})[_0x9866('0x2a')](function(_0x31b896){if(_0x31b896){_0x132181['message'][_0x9866('0x83')]=_0x31b896[0x0];if(!_0x5cab81[_0x9866('0x4e')][_0x9866('0x72')])return;return db[_0x9866('0x84')][_0x9866('0x4f')]({'where':{'id':_0x5cab81['body']['UserId'],'role':'agent'},'attributes':['id',_0x9866('0x2e'),_0x9866('0x85'),_0x9866('0x8f'),_0x9866('0x90')],'raw':!![]});}return null;})[_0x9866('0x2a')](function(_0x3bd032){if(!_0x3bd032)return null;_0x132181[_0x9866('0x1e')]['agent']=_0x3bd032;return _0x132181;})[_0x9866('0x2a')](function(_0x14dde3){if(_0x14dde3){_0x14dde3['message']['interface']=util[_0x9866('0x6d')](_0x9866('0x91'),_0x5cab81[_0x9866('0x73')]['name']);_0x14dde3[_0x9866('0x1e')][_0x9866('0x88')]=_0x132181[_0x9866('0x88')];_0x14dde3[_0x9866('0x1e')][_0x9866('0x92')]=_0x132181[_0x9866('0x88')];_0x14dde3[_0x9866('0x1e')]['event']=_0x9866('0x93');_0x14dde3[_0x9866('0x1e')]['body']=htmlToText[_0x9866('0x94')](_0x132181[_0x9866('0x1e')][_0x9866('0x4e')]);respondWithRpcPromise('EventManager',_0x9866('0x8a'),{'event':_0x9866('0x95'),'message':_0x14dde3[_0x9866('0x1e')]},client9002);return _0x132181;}return null;})[_0x9866('0x2a')](respondWithResult(_0x47cffb,null))['catch'](handleError(_0x47cffb,null));};exports[_0x9866('0x96')]=function(_0x6089f9,_0xa19d94){var _0x276c51=moment()[_0x9866('0x97')]()[_0x9866('0x98')]();var _0x1e8282=path[_0x9866('0x62')](config[_0x9866('0x63')],'server',_0x9866('0x99'),_0x9866('0x9a'));var _0x1548f1=path[_0x9866('0x62')](config['root'],_0x9866('0x9b'),_0x9866('0x99'),_0x9866('0x61'));var _0x1d39e8=util[_0x9866('0x6d')]('message-%s.eml',_0x276c51);return db[_0x9866('0x31')][_0x9866('0x4f')]({'where':{'id':_0x6089f9['params']['id']},'attributes':['id',_0x9866('0x4e'),_0x9866('0x9c'),'to','cc',_0x9866('0x9d'),_0x9866('0x9e'),'createdAt'],'include':_0x6089f9['query'][_0x9866('0x61')]?[{'model':db[_0x9866('0x9f')],'as':'Attachments'}]:undefined})[_0x9866('0x2a')](handleEntityNotFound(_0xa19d94,null))['then'](function(_0xd6683e){if(_0xd6683e){var _0x24cb44=_0xd6683e;var _0x29056e={'from':_0x24cb44[_0x9866('0x9c')],'to':_0x24cb44['to'],'subject':_0x24cb44[_0x9866('0x9e')],'html':htmlEntities[_0x9866('0xa0')](_0x24cb44[_0x9866('0x4e')]),'headers':{'Date':moment(_0x24cb44[_0x9866('0xa1')])[_0x9866('0x6d')](_0x9866('0xa2'))},'attachments':[]};if(_0xd6683e['cc']){_0x29056e[_0x9866('0xa3')]['Cc']=_0xd6683e['cc'];}if(_0xd6683e[_0x9866('0x9d')]){_0x29056e[_0x9866('0xa3')]['Bcc']=_0xd6683e[_0x9866('0x9d')];}return new BPromise(function(_0x2a3688,_0x5c5680){if(_0xd6683e[_0x9866('0xa4')]){for(var _0x529f92=0x0;_0x529f92<_0xd6683e[_0x9866('0xa4')]['length'];_0x529f92++){var _0x53356c=_0xd6683e[_0x9866('0xa4')][_0x529f92];var _0x596105=path[_0x9866('0x62')](_0x1548f1,_0x53356c[_0x9866('0x65')]);if(fs['existsSync'](_0x596105)){_0x29056e[_0x9866('0x61')][_0x9866('0xa5')]({'name':_0x53356c[_0x9866('0x2e')],'contentType':_0x53356c[_0x9866('0x34')],'data':fs[_0x9866('0xa6')](_0x596105)});}}}emlformat['build'](_0x29056e,function(_0xe2f837,_0x28a510){if(_0xe2f837)return _0x5c5680(_0xe2f837);fs[_0x9866('0xa7')](path['join'](_0x1e8282,_0x1d39e8),_0x28a510);return _0x2a3688(_0x28a510);});});}})[_0x9866('0x2a')](function(_0x27ed6f){if(_0x27ed6f){return _0xa19d94[_0x9866('0x96')](path[_0x9866('0x62')](_0x1e8282,_0x1d39e8),_0x1d39e8,function(_0x54e23c){if(!_0x54e23c)fs['unlinkSync'](path[_0x9866('0x62')](_0x1e8282,_0x1d39e8));});}})[_0x9866('0x20')](handleError(_0xa19d94,null));};