Built motion from commit (unavailable).|2.3.1
[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 _0xa523=['channel','event','EventManager','mail-interactions','reject','agent','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','rejectmessage','unix','toString','server','files','tmp','message-%s.eml','from','subject','Attachment','Attachments','existsSync','push','type','build','writeFileSync','download','err','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','../../components/auth/service','../../config/license/hardware','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','client','http','request','info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','json','offset','status','set','Content-Range','update','then','destroy','end','stack','send','index','MailMessage','rawAttributes','keys','query','model','attributes','intersection','fields','length','hasOwnProperty','limit','order','sort','pick','filters','filter','where','merge','map','key','VIRTUAL','field','options','count','includeAll','include','findAll','rows','show','body','find','params','describe','create','direction','out','MailAccount','findOne','MailAccountId','Smtp','isNil','service','host','port','secure','auth','user','pass','attachments','join','root','server/files/attachments','basename','SendMail','sendMail','format','YYYY-MM-DD\x20HH:mm:ss','accept','mail','read','UserId','CmContact','Contact','get','MailInteraction','MailInteractionId','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','name','null','AcceptMessage','manual','interface','SIP/%s'];(function(_0x5a79e2,_0x319b1a){var _0x266c45=function(_0x172478){while(--_0x172478){_0x5a79e2['push'](_0x5a79e2['shift']());}};_0x266c45(++_0x319b1a);}(_0xa523,0xb9));var _0x3a52=function(_0x3832b1,_0x1636c6){_0x3832b1=_0x3832b1-0x0;var _0x33371c=_0xa523[_0x3832b1];return _0x33371c;};'use strict';var pdf=require(_0x3a52('0x0'));var emlformat=require(_0x3a52('0x1'));var rimraf=require(_0x3a52('0x2'));var zipdir=require(_0x3a52('0x3'));var jsonpatch=require(_0x3a52('0x4'));var rp=require(_0x3a52('0x5'));var moment=require('moment');var BPromise=require(_0x3a52('0x6'));var Mustache=require(_0x3a52('0x7'));var util=require(_0x3a52('0x8'));var path=require(_0x3a52('0x9'));var sox=require(_0x3a52('0xa'));var csv=require(_0x3a52('0xb'));var ejs=require(_0x3a52('0xc'));var fs=require('fs');var _=require(_0x3a52('0xd'));var squel=require(_0x3a52('0xe'));var crypto=require(_0x3a52('0xf'));var jsforce=require(_0x3a52('0x10'));var deskjs=require('desk.js');var toCsv=require(_0x3a52('0xb'));var querystring=require('querystring');var Papa=require(_0x3a52('0x11'));var authService=require(_0x3a52('0x12'));var hardwareService=require(_0x3a52('0x13'));var Redis=require(_0x3a52('0x14'));var qs=require(_0x3a52('0x15'));var logger=require(_0x3a52('0x16'))(_0x3a52('0x17'));var utils=require(_0x3a52('0x18'));var config=require(_0x3a52('0x19'));var db=require(_0x3a52('0x1a'))['db'];config[_0x3a52('0x1b')]=_['defaults'](config['redis'],{'host':_0x3a52('0x1c'),'port':0x18eb});var socket=require(_0x3a52('0x1d'))(new Redis(config['redis']));require('./mailMessage.socket')['register'](socket);var jayson=require('jayson/promise');var client=jayson['client']['http']({'port':0x232c});var client9003=jayson[_0x3a52('0x1e')][_0x3a52('0x1f')]({'port':0x232b});var client9002=jayson['client'][_0x3a52('0x1f')]({'port':0x232a});function respondWithRpcPromise(_0x2a3000,_0x568b05,_0x4e7212,_0x5942d6){return new BPromise(function(_0x3b0f6b,_0x51edc1){var _0x1b3485=_0x5942d6||client;return _0x1b3485[_0x3a52('0x20')](_0x2a3000,_0x4e7212)['then'](function(_0x4e458a){logger[_0x3a52('0x21')](_0x3a52('0x22'),_0x568b05,_0x3a52('0x23'));logger[_0x3a52('0x24')](_0x3a52('0x25'),_0x568b05,_0x3a52('0x23'),JSON[_0x3a52('0x26')](_0x4e458a));if(_0x4e458a[_0x3a52('0x27')]){if(_0x4e458a[_0x3a52('0x27')][_0x3a52('0x28')]===0x1f4){logger[_0x3a52('0x27')]('MailMessage,\x20%s,\x20%s',_0x568b05,_0x4e458a[_0x3a52('0x27')][_0x3a52('0x29')]);return _0x51edc1(_0x4e458a['error'][_0x3a52('0x29')]);}logger[_0x3a52('0x27')](_0x3a52('0x22'),_0x568b05,_0x4e458a[_0x3a52('0x27')][_0x3a52('0x29')]);return _0x3b0f6b(_0x4e458a[_0x3a52('0x27')][_0x3a52('0x29')]);}else{logger[_0x3a52('0x21')](_0x3a52('0x22'),_0x568b05,'request\x20sent');_0x3b0f6b(_0x4e458a[_0x3a52('0x2a')][_0x3a52('0x29')]);}})[_0x3a52('0x2b')](function(_0x417a0d){logger[_0x3a52('0x27')](_0x3a52('0x22'),_0x568b05,_0x417a0d);_0x51edc1(_0x417a0d);});});}function respondWithStatusCode(_0x5631d9,_0x2ee637){_0x2ee637=_0x2ee637||0xcc;return function(_0x299784){if(_0x299784){return _0x5631d9[_0x3a52('0x2c')](_0x2ee637);}return _0x5631d9['status'](_0x2ee637)['end']();};}function respondWithResult(_0x1a04f4,_0x1d01b1){_0x1d01b1=_0x1d01b1||0xc8;return function(_0x389a77){if(_0x389a77){return _0x1a04f4['status'](_0x1d01b1)[_0x3a52('0x2d')](_0x389a77);}};}function respondWithFilteredResult(_0x1e42f6,_0x366dba){return function(_0x2d170b){if(_0x2d170b){var _0x315d24=_0x2d170b['count'],_0x14b0b8=_0x366dba[_0x3a52('0x2e')],_0x2dcdf6=_0x366dba['offset']+_0x366dba['limit'],_0x2b2fcc;if(_0x2dcdf6>=_0x315d24){_0x2dcdf6=_0x315d24;_0x2b2fcc=0xc8;}else{_0x2b2fcc=0xce;}_0x1e42f6[_0x3a52('0x2f')](_0x2b2fcc);return _0x1e42f6[_0x3a52('0x30')](_0x3a52('0x31'),_0x14b0b8+'-'+_0x2dcdf6+'/'+_0x315d24)['json'](_0x2d170b);}return null;};}function patchUpdates(_0x8dc174){return function(_0x49732f){try{jsonpatch['apply'](_0x49732f,_0x8dc174,!![]);}catch(_0xcfb6bc){return BPromise['reject'](_0xcfb6bc);}return _0x49732f['save']();};}function saveUpdates(_0x4c4f67,_0x54baff){return function(_0x58498c){if(_0x58498c){return _0x58498c[_0x3a52('0x32')](_0x4c4f67)[_0x3a52('0x33')](function(_0x43d543){return _0x43d543;});}return null;};}function removeEntity(_0x3efbbd,_0x14ae64){return function(_0x1dee80){if(_0x1dee80){return _0x1dee80[_0x3a52('0x34')]()['then'](function(){_0x3efbbd[_0x3a52('0x2f')](0xcc)[_0x3a52('0x35')]();});}};}function handleEntityNotFound(_0x374193,_0x19438c){return function(_0x4e5666){if(!_0x4e5666){_0x374193[_0x3a52('0x2c')](0x194);}return _0x4e5666;};}function handleError(_0x1efd58,_0x5c6140){_0x5c6140=_0x5c6140||0x1f4;return function(_0x321eb5){logger[_0x3a52('0x27')](_0x321eb5[_0x3a52('0x36')]);if(_0x321eb5['name']){delete _0x321eb5['name'];}_0x1efd58['status'](_0x5c6140)[_0x3a52('0x37')](_0x321eb5);};}exports[_0x3a52('0x38')]=function(_0x1de402,_0x495e8d){var _0x26dc3f={},_0x1806a6={},_0x5e0bf6={'count':0x0,'rows':[]};var _0x25c277=db[_0x3a52('0x39')][_0x3a52('0x3a')];_0x1806a6['model']=_[_0x3a52('0x3b')](_0x25c277);_0x1806a6[_0x3a52('0x3c')]=_['keys'](_0x1de402[_0x3a52('0x3c')]);_0x1806a6['filters']=_['intersection'](_0x1806a6[_0x3a52('0x3d')],_0x1806a6[_0x3a52('0x3c')]);_0x26dc3f[_0x3a52('0x3e')]=_[_0x3a52('0x3f')](_0x1806a6[_0x3a52('0x3d')],qs[_0x3a52('0x40')](_0x1de402[_0x3a52('0x3c')][_0x3a52('0x40')]));_0x26dc3f[_0x3a52('0x3e')]=_0x26dc3f[_0x3a52('0x3e')][_0x3a52('0x41')]?_0x26dc3f[_0x3a52('0x3e')]:_0x1806a6[_0x3a52('0x3d')];if(!_0x1de402[_0x3a52('0x3c')][_0x3a52('0x42')]('nolimit')){_0x26dc3f['limit']=qs[_0x3a52('0x43')](_0x1de402[_0x3a52('0x3c')]['limit']);_0x26dc3f[_0x3a52('0x2e')]=qs[_0x3a52('0x2e')](_0x1de402['query'][_0x3a52('0x2e')]);}_0x26dc3f[_0x3a52('0x44')]=qs[_0x3a52('0x45')](_0x1de402[_0x3a52('0x3c')]['sort']);_0x26dc3f['where']=qs['filters'](_[_0x3a52('0x46')](_0x1de402[_0x3a52('0x3c')],_0x1806a6[_0x3a52('0x47')]));if(_0x1de402[_0x3a52('0x3c')][_0x3a52('0x48')]){_0x26dc3f[_0x3a52('0x49')]=_[_0x3a52('0x4a')](_0x26dc3f[_0x3a52('0x49')],{'$or':_[_0x3a52('0x4b')](_0x25c277,function(_0x40e10b){if(_0x40e10b['type'][_0x3a52('0x4c')]!==_0x3a52('0x4d')){var _0x517ff6={};_0x517ff6[_0x40e10b[_0x3a52('0x4e')]]={'$like':'%'+_0x1de402[_0x3a52('0x3c')][_0x3a52('0x48')]+'%'};return _0x517ff6;}})});}_0x26dc3f=_[_0x3a52('0x4a')]({},_0x26dc3f,_0x1de402[_0x3a52('0x4f')]);var _0xbd835e={'where':_0x26dc3f['where']};return db[_0x3a52('0x39')][_0x3a52('0x50')](_0xbd835e)[_0x3a52('0x33')](function(_0x87db46){_0x5e0bf6['count']=_0x87db46;if(_0x1de402[_0x3a52('0x3c')][_0x3a52('0x51')]){_0x26dc3f[_0x3a52('0x52')]=[{'all':!![]}];}return db['MailMessage'][_0x3a52('0x53')](_0x26dc3f);})[_0x3a52('0x33')](function(_0xe1a50b){_0x5e0bf6[_0x3a52('0x54')]=_0xe1a50b;return _0x5e0bf6;})[_0x3a52('0x33')](respondWithFilteredResult(_0x495e8d,_0x26dc3f))['catch'](handleError(_0x495e8d,null));};exports[_0x3a52('0x55')]=function(_0x515d6c,_0x548839){var _0x2965c7={'raw':!![],'where':{'id':_0x515d6c['params']['id']}},_0x1e7fde={};_0x1e7fde[_0x3a52('0x3d')]=_[_0x3a52('0x3b')](db[_0x3a52('0x39')]['rawAttributes']);_0x1e7fde[_0x3a52('0x3c')]=_['keys'](_0x515d6c[_0x3a52('0x3c')]);_0x1e7fde[_0x3a52('0x47')]=_[_0x3a52('0x3f')](_0x1e7fde['model'],_0x1e7fde[_0x3a52('0x3c')]);_0x2965c7[_0x3a52('0x3e')]=_['intersection'](_0x1e7fde[_0x3a52('0x3d')],qs[_0x3a52('0x40')](_0x515d6c['query'][_0x3a52('0x40')]));_0x2965c7[_0x3a52('0x3e')]=_0x2965c7['attributes']['length']?_0x2965c7['attributes']:_0x1e7fde[_0x3a52('0x3d')];if(_0x515d6c['query'][_0x3a52('0x51')]){_0x2965c7[_0x3a52('0x52')]=[{'all':!![]}];}_0x2965c7=_[_0x3a52('0x4a')]({},_0x2965c7,_0x515d6c[_0x3a52('0x4f')]);return db[_0x3a52('0x39')]['find'](_0x2965c7)['then'](handleEntityNotFound(_0x548839,null))['then'](respondWithResult(_0x548839,null))[_0x3a52('0x2b')](handleError(_0x548839,null));};exports[_0x3a52('0x32')]=function(_0x2d37fb,_0x2161b6){if(_0x2d37fb[_0x3a52('0x56')]['id']){delete _0x2d37fb[_0x3a52('0x56')]['id'];}return db['MailMessage'][_0x3a52('0x57')]({'where':{'id':_0x2d37fb[_0x3a52('0x58')]['id']}})[_0x3a52('0x33')](handleEntityNotFound(_0x2161b6,null))[_0x3a52('0x33')](saveUpdates(_0x2d37fb[_0x3a52('0x56')],null))['then'](respondWithResult(_0x2161b6,null))[_0x3a52('0x2b')](handleError(_0x2161b6,null));};exports[_0x3a52('0x34')]=function(_0x4cd687,_0x35d73a){return db[_0x3a52('0x39')][_0x3a52('0x57')]({'where':{'id':_0x4cd687[_0x3a52('0x58')]['id']}})['then'](handleEntityNotFound(_0x35d73a,null))[_0x3a52('0x33')](removeEntity(_0x35d73a,null))[_0x3a52('0x2b')](handleError(_0x35d73a,null));};exports[_0x3a52('0x59')]=function(_0x1113ee,_0x484312){return db['MailMessage'][_0x3a52('0x59')]()[_0x3a52('0x33')](respondWithResult(_0x484312,null))['catch'](handleError(_0x484312,null));};exports[_0x3a52('0x5a')]=function(_0x23e2ee,_0x182e34){return db[_0x3a52('0x39')][_0x3a52('0x5a')](_0x23e2ee[_0x3a52('0x56')])['then'](function(_0x1433e9){if(_0x1433e9){if(_0x1433e9[_0x3a52('0x5b')]===_0x3a52('0x5c')&&!_0x1433e9['secret']){return db[_0x3a52('0x5d')][_0x3a52('0x5e')]({'where':{'id':_0x1433e9[_0x3a52('0x5f')]},'include':[{'model':db['MailServerOut'],'as':_0x3a52('0x60'),'raw':!![]}]})[_0x3a52('0x33')](function(_0xc5b796){if(_0xc5b796&&_0xc5b796[_0x3a52('0x60')]){var _0x32dfac={'tls':{'rejectUnauthorized':![]}};if(_[_0x3a52('0x61')](_0xc5b796['Smtp'][_0x3a52('0x62')])){_0x32dfac[_0x3a52('0x63')]=_0xc5b796[_0x3a52('0x60')]['host'];_0x32dfac[_0x3a52('0x64')]=_0xc5b796[_0x3a52('0x60')]['port'];_0x32dfac[_0x3a52('0x65')]=_0xc5b796['Smtp'][_0x3a52('0x65')];if(_0xc5b796['Smtp']['authentication']){_0x32dfac[_0x3a52('0x66')]={'user':_0xc5b796[_0x3a52('0x60')][_0x3a52('0x67')],'pass':_0xc5b796[_0x3a52('0x60')][_0x3a52('0x68')]};}}else{_0x32dfac[_0x3a52('0x62')]=_0xc5b796[_0x3a52('0x60')][_0x3a52('0x62')];_0x32dfac[_0x3a52('0x66')]={'user':_0xc5b796['Smtp'][_0x3a52('0x67')],'pass':_0xc5b796[_0x3a52('0x60')][_0x3a52('0x68')]};_0x32dfac[_0x3a52('0x65')]=_0xc5b796['Smtp'][_0x3a52('0x65')];}if(_0x23e2ee[_0x3a52('0x56')][_0x3a52('0x69')]&&_0x23e2ee['body'][_0x3a52('0x69')][_0x3a52('0x41')]){for(var _0x5de28a=0x0;_0x5de28a<_0x23e2ee[_0x3a52('0x56')][_0x3a52('0x69')][_0x3a52('0x41')];_0x5de28a+=0x1){_0x23e2ee[_0x3a52('0x56')][_0x3a52('0x69')][_0x5de28a]={'filename':_0x23e2ee[_0x3a52('0x56')][_0x3a52('0x69')][_0x5de28a]['name'],'path':path[_0x3a52('0x6a')](config[_0x3a52('0x6b')],_0x3a52('0x6c'),_0x23e2ee[_0x3a52('0x56')][_0x3a52('0x69')][_0x5de28a][_0x3a52('0x6d')])};}}return{'account':_0x32dfac,'message':_0x23e2ee[_0x3a52('0x56')]};}})[_0x3a52('0x33')](function(_0x2e0b96){if(_0x2e0b96){return respondWithRpcPromise(_0x3a52('0x6e'),_0x3a52('0x6f'),_0x2e0b96,client9003)['then'](function(_0x373833){return _0x1433e9['update']({'read':!![],'messageId':_0x373833['messageId'],'sentAt':moment()[_0x3a52('0x70')](_0x3a52('0x71'))});})[_0x3a52('0x2b')](function(_0x2631cd){logger['error']('%s',JSON['stringify'](_0x2631cd));return _0x1433e9;});}return _0x1433e9;});}return _0x1433e9;}})[_0x3a52('0x33')](respondWithResult(_0x182e34,0xc9))[_0x3a52('0x2b')](handleError(_0x182e34,null));};var interaction_log=require(_0x3a52('0x16'))('mail-interactions');exports[_0x3a52('0x72')]=function(_0x3b6111,_0x43b8b3,_0x11a569){var _0x565919={'channel':_0x3a52('0x73')};if(_0x3b6111[_0x3a52('0x56')]['id']){delete _0x3b6111[_0x3a52('0x56')]['id'];}_0x3b6111[_0x3a52('0x56')][_0x3a52('0x74')]=!![];_0x3b6111[_0x3a52('0x56')]['readAt']=moment()['format'](_0x3a52('0x71'));_0x3b6111[_0x3a52('0x56')][_0x3a52('0x75')]=_0x3b6111[_0x3a52('0x56')][_0x3a52('0x75')]||_0x3b6111[_0x3a52('0x67')]['id'];return db[_0x3a52('0x39')]['find']({'where':{'id':_0x3b6111[_0x3a52('0x58')]['id'],'UserId':null},'include':[{'model':db[_0x3a52('0x76')],'as':_0x3a52('0x77')}]})['then'](handleEntityNotFound(_0x43b8b3,null))['then'](saveUpdates(_0x3b6111[_0x3a52('0x56')],null))['then'](function(_0x488dcc){if(_0x488dcc){_0x565919['message']=_0x488dcc[_0x3a52('0x78')]({'plain':!![]});return db[_0x3a52('0x79')][_0x3a52('0x57')]({'where':{'id':_0x488dcc[_0x3a52('0x7a')]}});}return null;})[_0x3a52('0x33')](handleEntityNotFound(_0x43b8b3,null))['then'](function(_0x3b2da0){if(_0x3b2da0){return _0x3b2da0[_0x3a52('0x32')]({'UserId':_0x3b6111[_0x3a52('0x56')]['UserId'],'read1stAt':_[_0x3a52('0x61')](_0x3b2da0['read1stAt'])?moment()[_0x3a52('0x70')](_0x3a52('0x71')):undefined});}return null;})[_0x3a52('0x33')](function(_0x25a5a5){if(_0x25a5a5){_0x565919[_0x3a52('0x7b')]=_0x25a5a5['get']({'plain':!![]});interaction_log['info'](_0x3a52('0x7c'),_0x3b6111[_0x3a52('0x67')]['id'],_0x3b6111[_0x3a52('0x67')][_0x3a52('0x7d')],_0x3b6111['user']['role'],_0x565919[_0x3a52('0x7b')]['id'],_0x3b6111['body']?JSON[_0x3a52('0x26')](_0x3b6111[_0x3a52('0x56')]):_0x3a52('0x7e'));return respondWithRpcPromise(_0x3a52('0x7f'),'acceptMessage',_0x565919);}return null;})[_0x3a52('0x33')](function(_0x435c58){if(_0x435c58){if(_0x3b6111[_0x3a52('0x56')][_0x3a52('0x80')]){_0x565919[_0x3a52('0x29')][_0x3a52('0x81')]=util[_0x3a52('0x70')](_0x3a52('0x82'),_0x3b6111[_0x3a52('0x67')][_0x3a52('0x7d')]);_0x565919[_0x3a52('0x29')][_0x3a52('0x83')]=_0x565919[_0x3a52('0x83')];_0x565919[_0x3a52('0x29')][_0x3a52('0x84')]='accept';return respondWithRpcPromise(_0x3a52('0x85'),'EventManager',{'event':'acceptmessage','message':_0x565919['message']},client9002)[_0x3a52('0x33')](function(){return _0x565919;});}return _0x565919;}return null;})[_0x3a52('0x33')](respondWithResult(_0x43b8b3,null))[_0x3a52('0x2b')](handleError(_0x43b8b3,null));};var interaction_log=require('../../config/logger')(_0x3a52('0x86'));exports[_0x3a52('0x87')]=function(_0x48ca02,_0xa06c3c,_0x398c00){var _0xe74dd7={'agent':{},'channel':_0x3a52('0x73')};if(_0x48ca02[_0x3a52('0x56')]['id']){delete _0x48ca02['body']['id'];}_0x48ca02[_0x3a52('0x56')][_0x3a52('0x75')]=_0x48ca02[_0x3a52('0x56')][_0x3a52('0x75')]||_0x48ca02[_0x3a52('0x67')]['id'];_0xe74dd7[_0x3a52('0x88')]['id']=_0x48ca02['body']['UserId'];return db['MailMessage']['find']({'where':{'id':_0x48ca02[_0x3a52('0x58')]['id'],'UserId':null}})[_0x3a52('0x33')](handleEntityNotFound(_0xa06c3c,null))[_0x3a52('0x33')](function(_0x336c1f){if(_0x336c1f){_0xe74dd7['message']=_0x336c1f[_0x3a52('0x78')]({'plain':!![]});return db['MailInteraction'][_0x3a52('0x57')]({'where':{'id':_0x336c1f[_0x3a52('0x7a')]}});}return null;})[_0x3a52('0x33')](handleEntityNotFound(_0xa06c3c,null))[_0x3a52('0x33')](function(_0x1b32c7){if(_0x1b32c7){_0xe74dd7[_0x3a52('0x7b')]=_0x1b32c7[_0x3a52('0x78')]({'plain':!![]});interaction_log[_0x3a52('0x21')](_0x3a52('0x89'),_0x48ca02[_0x3a52('0x67')]['id'],_0x48ca02['user'][_0x3a52('0x7d')],_0x48ca02[_0x3a52('0x67')][_0x3a52('0x8a')],_0xe74dd7[_0x3a52('0x7b')]['id'],_0x48ca02[_0x3a52('0x56')]?JSON[_0x3a52('0x26')](_0x48ca02['body']):'null');return respondWithRpcPromise('RejectMessage','rejectMessage',_0xe74dd7);}return null;})[_0x3a52('0x33')](function(_0x49652d){if(_0x49652d){_0x49652d[_0x3a52('0x29')]['interface']=util[_0x3a52('0x70')](_0x3a52('0x82'),_0x48ca02[_0x3a52('0x67')][_0x3a52('0x7d')]);_0x49652d['message'][_0x3a52('0x83')]=_0xe74dd7[_0x3a52('0x83')];_0x49652d['message'][_0x3a52('0x84')]=_0x3a52('0x87');respondWithRpcPromise(_0x3a52('0x85'),_0x3a52('0x85'),{'event':_0x3a52('0x8b'),'message':_0x49652d[_0x3a52('0x29')]},client9002);return _0xe74dd7;}return null;})[_0x3a52('0x33')](respondWithResult(_0xa06c3c,null))[_0x3a52('0x2b')](handleError(_0xa06c3c,null));};exports['download']=function(_0x32e702,_0x5853da){var _0x182c0d=moment()[_0x3a52('0x8c')]()[_0x3a52('0x8d')]();var _0x133f3e=path['join'](config[_0x3a52('0x6b')],_0x3a52('0x8e'),_0x3a52('0x8f'),_0x3a52('0x90'));var _0x3c5e85=path[_0x3a52('0x6a')](config[_0x3a52('0x6b')],_0x3a52('0x8e'),_0x3a52('0x8f'),_0x3a52('0x69'));var _0x11fd06=util[_0x3a52('0x70')](_0x3a52('0x91'),_0x182c0d);return db['MailMessage']['find']({'where':{'id':_0x32e702[_0x3a52('0x58')]['id']},'attributes':['id',_0x3a52('0x56'),_0x3a52('0x92'),'to','cc',_0x3a52('0x93'),'createdAt'],'include':_0x32e702[_0x3a52('0x3c')][_0x3a52('0x69')]?[{'model':db[_0x3a52('0x94')],'as':_0x3a52('0x95')}]:undefined})[_0x3a52('0x33')](handleEntityNotFound(_0x5853da,null))[_0x3a52('0x33')](function(_0xce3412){if(_0xce3412){var _0x403b53=_0xce3412;var _0x49a51d={'from':_0x403b53[_0x3a52('0x92')],'to':_0x403b53['to'],'subject':_0x403b53['subject'],'html':_0x403b53['body'],'attachments':[]};return new BPromise(function(_0x5e09a6,_0x45bbd1){if(_0xce3412[_0x3a52('0x95')]){for(var _0x41266d=0x0;_0x41266d<_0xce3412['Attachments'][_0x3a52('0x41')];_0x41266d++){var _0x4b6644=_0xce3412[_0x3a52('0x95')][_0x41266d];var _0xf53f4e=path[_0x3a52('0x6a')](_0x3c5e85,_0x4b6644[_0x3a52('0x6d')]);if(fs[_0x3a52('0x96')](_0xf53f4e)){_0x49a51d[_0x3a52('0x69')][_0x3a52('0x97')]({'name':_0x4b6644['name'],'contentType':_0x4b6644[_0x3a52('0x98')],'data':fs['readFileSync'](_0xf53f4e)});}}}emlformat[_0x3a52('0x99')](_0x49a51d,function(_0x45139f,_0x42eb6d){if(_0x45139f)return _0x45bbd1(_0x45139f);fs[_0x3a52('0x9a')](path['join'](_0x133f3e,_0x11fd06),_0x42eb6d);return _0x5e09a6(_0x42eb6d);});});}})[_0x3a52('0x33')](function(_0x47d06e){if(_0x47d06e){return _0x5853da[_0x3a52('0x9b')](path[_0x3a52('0x6a')](_0x133f3e,_0x11fd06),_0x11fd06,function(_0xc2f4dd){if(_0xc2f4dd){console['log'](_0x3a52('0x9c'),_0xc2f4dd);}else{fs[_0x3a52('0x9d')](path['join'](_0x133f3e,_0x11fd06));}});}})[_0x3a52('0x2b')](handleError(_0x5853da,null));};