Built motion from commit 47436d59.|2.6.7
[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 _0x88c3=['Content-Range','update','destroy','end','sendStatus','stack','name','send','index','rawAttributes','fieldName','type','map','query','filters','model','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','MailMessage','include','findAll','rows','params','keys','includeAll','find','body','describe','create','direction','out','split','MailAccountId','CmList','List','CmContact','Contacts','updatedAt','CloudProvider','Smtp','getSmtpOptions','attachments','join','root','basename','List\x20not\x20found','SendMail','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','accept','read','readAt','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','QueryTypes','SELECT','contact','fullname','internal','manual','interface','SIP/%s','channel','motionChannel','event','fromString','EventManager','acceptmessage','reject','mail','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','sequelize','User','download','unix','toString','files','server','bcc','subject','Attachments','from','decode','createdAt','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','push','readFileSync','writeFileSync','bluebird','util','lodash','ioredis','html-to-text','../../components/parsers/qs','../../config/logger','api','mail-interactions','../../mysqldb','redis','defaults','localhost','socket.io-emitter','html-entities','./mailMessage.socket','jayson/promise','client','http','request','then','info','debug','MailMessage,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','MailMessage,\x20%s,\x20%s','result','catch','status','json','undefined','limit','offset','count','set'];(function(_0x525c7b,_0x488fcc){var _0x27b33e=function(_0x56d43b){while(--_0x56d43b){_0x525c7b['push'](_0x525c7b['shift']());}};_0x27b33e(++_0x488fcc);}(_0x88c3,0x115));var _0x388c=function(_0x4f3d18,_0x2dbe6c){_0x4f3d18=_0x4f3d18-0x0;var _0x1d0412=_0x88c3[_0x4f3d18];return _0x1d0412;};'use strict';var emlformat=require('eml-format');var moment=require('moment');var BPromise=require(_0x388c('0x0'));var util=require(_0x388c('0x1'));var path=require('path');var fs=require('fs');var _=require(_0x388c('0x2'));var Redis=require(_0x388c('0x3'));var htmlToText=require(_0x388c('0x4'));var qs=require(_0x388c('0x5'));var logger=require(_0x388c('0x6'))(_0x388c('0x7'));var interaction_log=require('../../config/logger')(_0x388c('0x8'));var config=require('../../config/environment');var db=require(_0x388c('0x9'))['db'];config[_0x388c('0xa')]=_[_0x388c('0xb')](config['redis'],{'host':_0x388c('0xc'),'port':0x18eb});var socket=require(_0x388c('0xd'))(new Redis(config['redis']));var htmlEntities=require(_0x388c('0xe'));require(_0x388c('0xf'))['register'](socket);var jayson=require(_0x388c('0x10'));var client=jayson['client']['http']({'port':0x232c});var client9003=jayson[_0x388c('0x11')][_0x388c('0x12')]({'port':0x232b});var client9002=jayson['client'][_0x388c('0x12')]({'port':0x232a});function respondWithRpcPromise(_0x17d6be,_0x42270f,_0x463141,_0x4f1c22){return new BPromise(function(_0x2f5e64,_0xc56519){var _0x3a3f38=_0x4f1c22||client;return _0x3a3f38[_0x388c('0x13')](_0x17d6be,_0x463141)[_0x388c('0x14')](function(_0x3924a0){logger[_0x388c('0x15')]('MailMessage,\x20%s,\x20%s',_0x42270f,'request\x20sent');logger[_0x388c('0x16')](_0x388c('0x17'),_0x42270f,_0x388c('0x18'),JSON[_0x388c('0x19')](_0x3924a0));if(_0x3924a0[_0x388c('0x1a')]){if(_0x3924a0[_0x388c('0x1a')][_0x388c('0x1b')]===0x1f4){logger[_0x388c('0x1a')]('MailMessage,\x20%s,\x20%s',_0x42270f,_0x3924a0[_0x388c('0x1a')][_0x388c('0x1c')]);return _0xc56519(_0x3924a0['error'][_0x388c('0x1c')]);}logger['error'](_0x388c('0x1d'),_0x42270f,_0x3924a0['error'][_0x388c('0x1c')]);return _0x2f5e64(_0x3924a0['error']['message']);}else{logger['info'](_0x388c('0x1d'),_0x42270f,_0x388c('0x18'));_0x2f5e64(_0x3924a0[_0x388c('0x1e')]['message']);}})[_0x388c('0x1f')](function(_0x1a883b){logger[_0x388c('0x1a')]('MailMessage,\x20%s,\x20%s',_0x42270f,_0x1a883b);_0xc56519(_0x1a883b);});});}function respondWithResult(_0xe43981,_0x1118e1){_0x1118e1=_0x1118e1||0xc8;return function(_0x131eaf){if(_0x131eaf){return _0xe43981[_0x388c('0x20')](_0x1118e1)[_0x388c('0x21')](_0x131eaf);}};}function respondWithFilteredResult(_0x5637f7,_0x4701a3){return function(_0x4112f6){if(_0x4112f6){var _0x5434db=typeof _0x4701a3['offset']===_0x388c('0x22')&&typeof _0x4701a3[_0x388c('0x23')]==='undefined';var _0x576193=_0x4112f6['count'];var _0x20aec5=_0x5434db?0x0:_0x4701a3[_0x388c('0x24')];var _0x50ed62=_0x5434db?_0x4112f6[_0x388c('0x25')]:_0x4701a3[_0x388c('0x24')]+_0x4701a3[_0x388c('0x23')];var _0x2b2899;if(_0x50ed62>=_0x576193){_0x50ed62=_0x576193;_0x2b2899=0xc8;}else{_0x2b2899=0xce;}_0x5637f7['status'](_0x2b2899);return _0x5637f7[_0x388c('0x26')](_0x388c('0x27'),_0x20aec5+'-'+_0x50ed62+'/'+_0x576193)['json'](_0x4112f6);}return null;};}function saveUpdates(_0x5567bd){return function(_0x2369f0){if(_0x2369f0){return _0x2369f0[_0x388c('0x28')](_0x5567bd)[_0x388c('0x14')](function(_0x1484e4){return _0x1484e4;});}return null;};}function removeEntity(_0x5dd379){return function(_0x454d23){if(_0x454d23){return _0x454d23[_0x388c('0x29')]()[_0x388c('0x14')](function(){_0x5dd379['status'](0xcc)[_0x388c('0x2a')]();});}};}function handleEntityNotFound(_0x1211fd){return function(_0x3e6414){if(!_0x3e6414){_0x1211fd[_0x388c('0x2b')](0x194);}return _0x3e6414;};}function handleError(_0x33a3a2,_0x4ad8b8){_0x4ad8b8=_0x4ad8b8||0x1f4;return function(_0x309583){logger[_0x388c('0x1a')](_0x309583[_0x388c('0x2c')]);if(_0x309583[_0x388c('0x2d')]){delete _0x309583[_0x388c('0x2d')];}_0x33a3a2[_0x388c('0x20')](_0x4ad8b8)[_0x388c('0x2e')](_0x309583);};}exports[_0x388c('0x2f')]=function(_0x2f2be3,_0x5a28b3){var _0x52ee12={},_0x3ec64c={},_0x24cd63={'count':0x0,'rows':[]};var _0x2d05de=_['map'](db['MailMessage'][_0x388c('0x30')],function(_0x2f75cd){return{'name':_0x2f75cd[_0x388c('0x31')],'type':_0x2f75cd[_0x388c('0x32')]['key']};});_0x3ec64c['model']=_[_0x388c('0x33')](_0x2d05de,'name');_0x3ec64c[_0x388c('0x34')]=_['keys'](_0x2f2be3[_0x388c('0x34')]);_0x3ec64c[_0x388c('0x35')]=_['intersection'](_0x3ec64c[_0x388c('0x36')],_0x3ec64c['query']);_0x52ee12['attributes']=_[_0x388c('0x37')](_0x3ec64c[_0x388c('0x36')],qs[_0x388c('0x38')](_0x2f2be3[_0x388c('0x34')]['fields']));_0x52ee12[_0x388c('0x39')]=_0x52ee12[_0x388c('0x39')][_0x388c('0x3a')]?_0x52ee12[_0x388c('0x39')]:_0x3ec64c[_0x388c('0x36')];if(!_0x2f2be3[_0x388c('0x34')][_0x388c('0x3b')](_0x388c('0x3c'))){_0x52ee12[_0x388c('0x23')]=qs[_0x388c('0x23')](_0x2f2be3[_0x388c('0x34')]['limit']);_0x52ee12[_0x388c('0x24')]=qs[_0x388c('0x24')](_0x2f2be3[_0x388c('0x34')][_0x388c('0x24')]);}_0x52ee12[_0x388c('0x3d')]=qs['sort'](_0x2f2be3[_0x388c('0x34')][_0x388c('0x3e')]);_0x52ee12[_0x388c('0x3f')]=qs[_0x388c('0x35')](_['pick'](_0x2f2be3[_0x388c('0x34')],_0x3ec64c['filters']),_0x2d05de);if(_0x2f2be3[_0x388c('0x34')][_0x388c('0x40')]){_0x52ee12[_0x388c('0x3f')]=_[_0x388c('0x41')](_0x52ee12['where'],{'$or':_[_0x388c('0x33')](_0x2d05de,function(_0x3c638c){if(_0x3c638c[_0x388c('0x32')]!==_0x388c('0x42')){var _0x8f9695={};_0x8f9695[_0x3c638c[_0x388c('0x2d')]]={'$like':'%'+_0x2f2be3['query'][_0x388c('0x40')]+'%'};return _0x8f9695;}})});}_0x52ee12=_[_0x388c('0x41')]({},_0x52ee12,_0x2f2be3[_0x388c('0x43')]);var _0x3560d4={'where':_0x52ee12['where']};return db[_0x388c('0x44')]['count'](_0x3560d4)[_0x388c('0x14')](function(_0x4f964b){_0x24cd63['count']=_0x4f964b;if(_0x2f2be3[_0x388c('0x34')]['includeAll']){_0x52ee12[_0x388c('0x45')]=[{'all':!![]}];}return db[_0x388c('0x44')][_0x388c('0x46')](_0x52ee12);})[_0x388c('0x14')](function(_0x270d45){_0x24cd63[_0x388c('0x47')]=_0x270d45;return _0x24cd63;})[_0x388c('0x14')](respondWithFilteredResult(_0x5a28b3,_0x52ee12))['catch'](handleError(_0x5a28b3,null));};exports['show']=function(_0x4585be,_0x1b0ea6){var _0x9c640e={'raw':!![],'where':{'id':_0x4585be[_0x388c('0x48')]['id']}},_0x3b44f5={};_0x3b44f5[_0x388c('0x36')]=_[_0x388c('0x49')](db[_0x388c('0x44')][_0x388c('0x30')]);_0x3b44f5[_0x388c('0x34')]=_[_0x388c('0x49')](_0x4585be[_0x388c('0x34')]);_0x3b44f5['filters']=_['intersection'](_0x3b44f5[_0x388c('0x36')],_0x3b44f5['query']);_0x9c640e[_0x388c('0x39')]=_[_0x388c('0x37')](_0x3b44f5[_0x388c('0x36')],qs[_0x388c('0x38')](_0x4585be[_0x388c('0x34')]['fields']));_0x9c640e[_0x388c('0x39')]=_0x9c640e[_0x388c('0x39')]['length']?_0x9c640e[_0x388c('0x39')]:_0x3b44f5['model'];if(_0x4585be['query'][_0x388c('0x4a')]){_0x9c640e[_0x388c('0x45')]=[{'all':!![]}];}_0x9c640e=_['merge']({},_0x9c640e,_0x4585be['options']);return db[_0x388c('0x44')][_0x388c('0x4b')](_0x9c640e)['then'](handleEntityNotFound(_0x1b0ea6,null))[_0x388c('0x14')](respondWithResult(_0x1b0ea6,null))['catch'](handleError(_0x1b0ea6,null));};exports['update']=function(_0x5ef0d3,_0x2da470){if(_0x5ef0d3[_0x388c('0x4c')]['id']){delete _0x5ef0d3['body']['id'];}return db[_0x388c('0x44')]['find']({'where':{'id':_0x5ef0d3[_0x388c('0x48')]['id']}})[_0x388c('0x14')](handleEntityNotFound(_0x2da470,null))[_0x388c('0x14')](saveUpdates(_0x5ef0d3['body'],null))[_0x388c('0x14')](respondWithResult(_0x2da470,null))['catch'](handleError(_0x2da470,null));};exports[_0x388c('0x29')]=function(_0x15fcfb,_0xdd5bf5){return db[_0x388c('0x44')][_0x388c('0x4b')]({'where':{'id':_0x15fcfb['params']['id']}})[_0x388c('0x14')](handleEntityNotFound(_0xdd5bf5,null))[_0x388c('0x14')](removeEntity(_0xdd5bf5,null))['catch'](handleError(_0xdd5bf5,null));};exports[_0x388c('0x4d')]=function(_0x30fc67,_0x56a192){return db[_0x388c('0x44')][_0x388c('0x4d')]()['then'](respondWithResult(_0x56a192,null))['catch'](handleError(_0x56a192,null));};exports[_0x388c('0x4e')]=function(_0x5121a7,_0x5d699b){return db['MailMessage'][_0x388c('0x4e')](_0x5121a7[_0x388c('0x4c')])['then'](function(_0x3f5fee){if(_0x3f5fee){if(_0x3f5fee[_0x388c('0x4f')]===_0x388c('0x50')&&!_0x3f5fee['secret']){var _0x41504d,_0x3a869f,_0x54ac73;if(_0x5121a7[_0x388c('0x4c')]['to']){_0x3a869f=_0x5121a7[_0x388c('0x4c')]['to'][_0x388c('0x51')](',')[0x0];}return db['MailAccount']['findOne']({'where':{'id':_0x3f5fee[_0x388c('0x52')]},'include':[{'model':db[_0x388c('0x53')],'as':_0x388c('0x54'),'include':[{'model':db[_0x388c('0x55')],'as':_0x388c('0x56'),'where':{'email':_0x3a869f},'limit':0x1,'order':[[_0x388c('0x57'),'DESC']]}]},{'model':db['MailServerOut'],'as':'Smtp','raw':!![],'include':[{'model':db['CloudProvider'],'as':_0x388c('0x58'),'raw':!![]}]}]})[_0x388c('0x14')](function(_0x30421e){_0x41504d=_0x30421e;if(!_0x41504d||!_0x41504d[_0x388c('0x59')])return;var _0x23b0e0=_0x41504d[_0x388c('0x5a')]();if(_0x5121a7[_0x388c('0x4c')][_0x388c('0x5b')]&&_0x5121a7[_0x388c('0x4c')]['attachments'][_0x388c('0x3a')]){for(var _0x5a3865=0x0;_0x5a3865<_0x5121a7[_0x388c('0x4c')][_0x388c('0x5b')][_0x388c('0x3a')];_0x5a3865+=0x1){_0x5121a7[_0x388c('0x4c')]['attachments'][_0x5a3865]={'filename':_0x5121a7[_0x388c('0x4c')][_0x388c('0x5b')][_0x5a3865]['name'],'path':path[_0x388c('0x5c')](config[_0x388c('0x5d')],'server/files/attachments',_0x5121a7[_0x388c('0x4c')]['attachments'][_0x5a3865][_0x388c('0x5e')])};}}_0x54ac73={'account':_0x23b0e0,'message':_0x5121a7[_0x388c('0x4c')]};return;})[_0x388c('0x14')](function(){if(_0x41504d['List']){if(_0x41504d[_0x388c('0x54')][_0x388c('0x56')][_0x388c('0x3a')]){return _0x41504d[_0x388c('0x54')]['Contacts'][0x0];}else{return db[_0x388c('0x55')][_0x388c('0x4e')](_[_0x388c('0xb')](_0x5121a7[_0x388c('0x4c')],{'firstName':_0x5121a7[_0x388c('0x4c')]['to'],'email':_0x5121a7['body']['to'],'phone':_0x5121a7['body']['to'],'ListId':_0x41504d['ListId']}));}}else{throw new Error(_0x388c('0x5f'));}})[_0x388c('0x14')](function(){if(_0x54ac73){return respondWithRpcPromise(_0x388c('0x60'),_0x388c('0x61'),_0x54ac73,client9003)[_0x388c('0x14')](function(_0x369ea1){return _0x3f5fee[_0x388c('0x28')]({'read':!![],'messageId':_0x369ea1[_0x388c('0x62')],'sentAt':moment()[_0x388c('0x63')](_0x388c('0x64'))});})['catch'](function(_0x4776f1){logger[_0x388c('0x1a')]('%s',JSON[_0x388c('0x19')](_0x4776f1));return _0x3f5fee;});}return _0x3f5fee;});}return _0x3f5fee;}})[_0x388c('0x14')](respondWithResult(_0x5d699b,0xc9))[_0x388c('0x1f')](handleError(_0x5d699b,null));};exports[_0x388c('0x65')]=function(_0x51d8cb,_0x326cc4){var _0x1baad5={'agent':{},'channel':'mail'};if(_0x51d8cb[_0x388c('0x4c')]['id']){delete _0x51d8cb['body']['id'];}_0x51d8cb[_0x388c('0x4c')][_0x388c('0x66')]=!![];_0x51d8cb['body'][_0x388c('0x67')]=moment()[_0x388c('0x63')](_0x388c('0x64'));_0x51d8cb[_0x388c('0x4c')][_0x388c('0x68')]=_0x51d8cb['body'][_0x388c('0x68')]||_0x51d8cb[_0x388c('0x69')]['id'];_0x1baad5[_0x388c('0x6a')]['id']=_0x51d8cb[_0x388c('0x4c')][_0x388c('0x68')];return db[_0x388c('0x44')][_0x388c('0x4b')]({'where':{'id':_0x51d8cb['params']['id'],'UserId':null}})[_0x388c('0x14')](handleEntityNotFound(_0x326cc4,null))['then'](saveUpdates(_0x51d8cb[_0x388c('0x4c')],null))[_0x388c('0x14')](function(_0xeacc0e){if(_0xeacc0e){_0x1baad5['message']=_0xeacc0e[_0x388c('0x6b')]({'plain':!![]});return db[_0x388c('0x6c')][_0x388c('0x4b')]({'where':{'id':_0xeacc0e[_0x388c('0x6d')]}});}return null;})[_0x388c('0x14')](handleEntityNotFound(_0x326cc4,null))[_0x388c('0x14')](function(_0x2c6fed){if(_0x2c6fed){return _0x2c6fed['update']({'UserId':_0x51d8cb[_0x388c('0x4c')][_0x388c('0x68')],'read1stAt':_[_0x388c('0x6e')](_0x2c6fed[_0x388c('0x6f')])?moment()[_0x388c('0x63')](_0x388c('0x64')):undefined});}return null;})[_0x388c('0x14')](function(_0x16ea83){if(_0x16ea83){_0x1baad5[_0x388c('0x70')]=_0x16ea83[_0x388c('0x6b')]({'plain':!![]});interaction_log['info'](_0x388c('0x71'),_0x51d8cb[_0x388c('0x69')]['id'],_0x51d8cb[_0x388c('0x69')][_0x388c('0x2d')],_0x51d8cb[_0x388c('0x69')][_0x388c('0x72')],_0x1baad5[_0x388c('0x70')]['id'],_0x51d8cb[_0x388c('0x4c')]?JSON[_0x388c('0x19')](_0x51d8cb[_0x388c('0x4c')]):_0x388c('0x73'));return respondWithRpcPromise(_0x388c('0x74'),'acceptMessage',_0x1baad5);}return null;})[_0x388c('0x14')](function(_0x3a68ed){var _0x5ea06b=_0x388c('0x75')+_0x3a68ed[_0x388c('0x1c')][_0x388c('0x76')];return db['sequelize'][_0x388c('0x34')](_0x5ea06b,{'type':db[_0x388c('0x77')][_0x388c('0x78')][_0x388c('0x79')],'raw':!![]})[_0x388c('0x14')](function(_0x4036f5){return _0x4036f5;});})['then'](function(_0x306c6d){if(_0x306c6d){_0x1baad5[_0x388c('0x1c')][_0x388c('0x7a')]=_0x306c6d[0x0];if(!_0x51d8cb[_0x388c('0x4c')]['UserId'])return;return db['User']['find']({'where':{'id':_0x51d8cb[_0x388c('0x4c')][_0x388c('0x68')],'role':_0x388c('0x6a')},'attributes':['id',_0x388c('0x2d'),_0x388c('0x7b'),'email',_0x388c('0x7c')],'raw':!![]});}return null;})[_0x388c('0x14')](function(_0x3a0441){if(!_0x3a0441)return null;_0x1baad5[_0x388c('0x1c')][_0x388c('0x6a')]=_0x3a0441;return _0x1baad5;})[_0x388c('0x14')](function(_0x1e8168){if(_0x1e8168){if(_0x51d8cb[_0x388c('0x4c')][_0x388c('0x7d')]){_0x1baad5[_0x388c('0x1c')][_0x388c('0x7e')]=util['format'](_0x388c('0x7f'),_0x51d8cb[_0x388c('0x69')][_0x388c('0x2d')]);_0x1baad5['message'][_0x388c('0x80')]=_0x1baad5[_0x388c('0x80')];_0x1baad5[_0x388c('0x1c')][_0x388c('0x81')]=_0x1baad5[_0x388c('0x80')];_0x1baad5[_0x388c('0x1c')][_0x388c('0x82')]='accept';_0x1baad5['message']['body']=htmlToText[_0x388c('0x83')](_0x1baad5[_0x388c('0x1c')][_0x388c('0x4c')]);return respondWithRpcPromise(_0x388c('0x84'),'EventManager',{'event':_0x388c('0x85'),'message':_0x1baad5[_0x388c('0x1c')]},client9002)[_0x388c('0x14')](function(){return _0x1baad5;});}return _0x1baad5;}return null;})['then'](respondWithResult(_0x326cc4,null))['catch'](handleError(_0x326cc4,null));};exports[_0x388c('0x86')]=function(_0x4c94fb,_0x48001b){var _0x1f6843={'agent':{},'channel':_0x388c('0x87')};if(_0x4c94fb[_0x388c('0x4c')]['id']){delete _0x4c94fb[_0x388c('0x4c')]['id'];}_0x4c94fb[_0x388c('0x4c')][_0x388c('0x68')]=_0x4c94fb[_0x388c('0x4c')][_0x388c('0x68')]||_0x4c94fb[_0x388c('0x69')]['id'];_0x1f6843[_0x388c('0x6a')]['id']=_0x4c94fb[_0x388c('0x4c')]['UserId'];return db[_0x388c('0x44')][_0x388c('0x4b')]({'where':{'id':_0x4c94fb[_0x388c('0x48')]['id'],'UserId':null}})[_0x388c('0x14')](handleEntityNotFound(_0x48001b,null))['then'](function(_0x385bff){if(_0x385bff){_0x1f6843[_0x388c('0x1c')]=_0x385bff['get']({'plain':!![]});return db[_0x388c('0x6c')]['find']({'where':{'id':_0x385bff[_0x388c('0x6d')]}});}return null;})[_0x388c('0x14')](handleEntityNotFound(_0x48001b,null))[_0x388c('0x14')](function(_0x2c9307){if(_0x2c9307){_0x1f6843[_0x388c('0x70')]=_0x2c9307[_0x388c('0x6b')]({'plain':!![]});interaction_log['info'](_0x388c('0x88'),_0x4c94fb[_0x388c('0x69')]['id'],_0x4c94fb[_0x388c('0x69')][_0x388c('0x2d')],_0x4c94fb['user'][_0x388c('0x72')],_0x1f6843['interaction']['id'],_0x4c94fb['body']?JSON[_0x388c('0x19')](_0x4c94fb[_0x388c('0x4c')]):'null');return respondWithRpcPromise(_0x388c('0x89'),_0x388c('0x8a'),_0x1f6843);}return null;})[_0x388c('0x14')](function(_0x266e6f){var _0x31df08=_0x388c('0x75')+_0x266e6f[_0x388c('0x1c')][_0x388c('0x76')];return db[_0x388c('0x8b')][_0x388c('0x34')](_0x31df08,{'type':db[_0x388c('0x77')][_0x388c('0x78')][_0x388c('0x79')],'raw':!![]})[_0x388c('0x14')](function(_0x23ae05){return _0x23ae05;});})['then'](function(_0x48c3d1){if(_0x48c3d1){_0x1f6843[_0x388c('0x1c')][_0x388c('0x7a')]=_0x48c3d1[0x0];if(!_0x4c94fb[_0x388c('0x4c')][_0x388c('0x68')])return;return db[_0x388c('0x8c')]['find']({'where':{'id':_0x4c94fb[_0x388c('0x4c')][_0x388c('0x68')],'role':_0x388c('0x6a')},'attributes':['id',_0x388c('0x2d'),_0x388c('0x7b'),'email',_0x388c('0x7c')],'raw':!![]});}return null;})[_0x388c('0x14')](function(_0x3e02f4){if(!_0x3e02f4)return null;_0x1f6843['message'][_0x388c('0x6a')]=_0x3e02f4;return _0x1f6843;})[_0x388c('0x14')](function(_0x2b399a){if(_0x2b399a){_0x2b399a[_0x388c('0x1c')][_0x388c('0x7e')]=util[_0x388c('0x63')](_0x388c('0x7f'),_0x4c94fb[_0x388c('0x69')][_0x388c('0x2d')]);_0x2b399a[_0x388c('0x1c')][_0x388c('0x80')]=_0x1f6843[_0x388c('0x80')];_0x2b399a[_0x388c('0x1c')][_0x388c('0x81')]=_0x1f6843['channel'];_0x2b399a[_0x388c('0x1c')][_0x388c('0x82')]=_0x388c('0x86');_0x2b399a['message'][_0x388c('0x4c')]=htmlToText[_0x388c('0x83')](_0x1f6843[_0x388c('0x1c')][_0x388c('0x4c')]);respondWithRpcPromise(_0x388c('0x84'),_0x388c('0x84'),{'event':'rejectmessage','message':_0x2b399a['message']},client9002);return _0x1f6843;}return null;})[_0x388c('0x14')](respondWithResult(_0x48001b,null))[_0x388c('0x1f')](handleError(_0x48001b,null));};exports[_0x388c('0x8d')]=function(_0xf44fc0,_0x50d512){var _0x2885c4=moment()[_0x388c('0x8e')]()[_0x388c('0x8f')]();var _0x349133=path[_0x388c('0x5c')](config[_0x388c('0x5d')],'server',_0x388c('0x90'),'tmp');var _0x35b3d2=path[_0x388c('0x5c')](config[_0x388c('0x5d')],_0x388c('0x91'),'files','attachments');var _0x38ef60=util['format']('message-%s.eml',_0x2885c4);return db[_0x388c('0x44')][_0x388c('0x4b')]({'where':{'id':_0xf44fc0[_0x388c('0x48')]['id']},'attributes':['id',_0x388c('0x4c'),'from','to','cc',_0x388c('0x92'),_0x388c('0x93'),'createdAt'],'include':_0xf44fc0[_0x388c('0x34')]['attachments']?[{'model':db['Attachment'],'as':_0x388c('0x94')}]:undefined})[_0x388c('0x14')](handleEntityNotFound(_0x50d512,null))['then'](function(_0xb3dc0b){if(_0xb3dc0b){var _0x3a8456=_0xb3dc0b;var _0x22a53e={'from':_0x3a8456[_0x388c('0x95')],'to':_0x3a8456['to'],'subject':_0x3a8456[_0x388c('0x93')],'html':htmlEntities[_0x388c('0x96')](_0x3a8456[_0x388c('0x4c')]),'headers':{'Date':moment(_0x3a8456[_0x388c('0x97')])[_0x388c('0x63')](_0x388c('0x98'))},'attachments':[]};if(_0xb3dc0b['cc']){_0x22a53e[_0x388c('0x99')]['Cc']=_0xb3dc0b['cc'];}if(_0xb3dc0b[_0x388c('0x92')]){_0x22a53e[_0x388c('0x99')][_0x388c('0x9a')]=_0xb3dc0b['bcc'];}return new BPromise(function(_0x5b410d,_0x28576d){if(_0xb3dc0b[_0x388c('0x94')]){for(var _0x2cdabc=0x0;_0x2cdabc<_0xb3dc0b[_0x388c('0x94')]['length'];_0x2cdabc++){var _0x2adf85=_0xb3dc0b[_0x388c('0x94')][_0x2cdabc];var _0x23e68c=path['join'](_0x35b3d2,_0x2adf85['basename']);if(fs['existsSync'](_0x23e68c)){_0x22a53e[_0x388c('0x5b')][_0x388c('0x9b')]({'name':_0x2adf85['name'],'contentType':_0x2adf85[_0x388c('0x32')],'data':fs[_0x388c('0x9c')](_0x23e68c)});}}}emlformat['build'](_0x22a53e,function(_0x24da1c,_0x5f22d3){if(_0x24da1c)return _0x28576d(_0x24da1c);fs[_0x388c('0x9d')](path[_0x388c('0x5c')](_0x349133,_0x38ef60),_0x5f22d3);return _0x5b410d(_0x5f22d3);});});}})[_0x388c('0x14')](function(_0x531538){if(_0x531538){return _0x50d512[_0x388c('0x8d')](path[_0x388c('0x5c')](_0x349133,_0x38ef60),_0x38ef60,function(_0x1b2b9e){if(!_0x1b2b9e)fs['unlinkSync'](path[_0x388c('0x5c')](_0x349133,_0x38ef60));});}})[_0x388c('0x1f')](handleError(_0x50d512,null));};