Built motion from commit bab6f49e.|2.6.17
[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 _0x6995=['messageId','format','accept','read','readAt','UserId','user','get','MailInteraction','MailInteractionId','isNil','read1stAt','YYYY-MM-DD\x20HH:mm:ss','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','AcceptMessage','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','sequelize','SELECT','contact','User','agent','fullname','email','internal','manual','interface','SIP/%s','channel','motionChannel','event','fromString','EventManager','acceptmessage','mail','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','rejectMessage','ContactId','Sequelize','QueryTypes','reject','rejectmessage','unix','toString','server','files','tmp','message-%s.eml','bcc','subject','createdAt','from','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','Attachments','readFileSync','build','writeFileSync','download','unlinkSync','eml-format','util','path','lodash','ioredis','html-to-text','../../components/parsers/qs','../../config/logger','mail-interactions','../../config/environment','../../mysqldb','defaults','redis','html-entities','register','jayson/promise','http','client','request','then','MailMessage,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','info','catch','json','offset','limit','undefined','count','status','set','Content-Range','update','destroy','end','sendStatus','stack','name','send','index','MailMessage','fieldName','type','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filters','filter','VIRTUAL','options','includeAll','rows','params','merge','find','body','describe','create','direction','secret','split','MailAccount','findOne','MailAccountId','CmList','List','Contacts','updatedAt','DESC','MailServerOut','Smtp','getSmtpOptions','join','root','server/files/attachments','attachments','basename','CmContact','ListId','SendMail'];(function(_0x28239a,_0x339e0f){var _0x548615=function(_0x482977){while(--_0x482977){_0x28239a['push'](_0x28239a['shift']());}};_0x548615(++_0x339e0f);}(_0x6995,0x17b));var _0x5699=function(_0x2641f9,_0x26715f){_0x2641f9=_0x2641f9-0x0;var _0x585741=_0x6995[_0x2641f9];return _0x585741;};'use strict';var emlformat=require(_0x5699('0x0'));var moment=require('moment');var BPromise=require('bluebird');var util=require(_0x5699('0x1'));var path=require(_0x5699('0x2'));var fs=require('fs');var _=require(_0x5699('0x3'));var Redis=require(_0x5699('0x4'));var htmlToText=require(_0x5699('0x5'));var qs=require(_0x5699('0x6'));var logger=require(_0x5699('0x7'))('api');var interaction_log=require(_0x5699('0x7'))(_0x5699('0x8'));var config=require(_0x5699('0x9'));var db=require(_0x5699('0xa'))['db'];config['redis']=_[_0x5699('0xb')](config[_0x5699('0xc')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x5699('0xc')]));var htmlEntities=require(_0x5699('0xd'));require('./mailMessage.socket')[_0x5699('0xe')](socket);var jayson=require(_0x5699('0xf'));var client=jayson['client'][_0x5699('0x10')]({'port':0x232c});var client9003=jayson['client']['http']({'port':0x232b});var client9002=jayson[_0x5699('0x11')]['http']({'port':0x232a});function respondWithRpcPromise(_0x1b5cea,_0x4a1f49,_0x2cd385,_0x3b0fab){return new BPromise(function(_0x46828f,_0x3412a4){var _0x2c353c=_0x3b0fab||client;return _0x2c353c[_0x5699('0x12')](_0x1b5cea,_0x2cd385)[_0x5699('0x13')](function(_0x59a38f){logger['info'](_0x5699('0x14'),_0x4a1f49,_0x5699('0x15'));logger['debug']('MailMessage,\x20%s,\x20%s,\x20%s',_0x4a1f49,'request\x20sent',JSON[_0x5699('0x16')](_0x59a38f));if(_0x59a38f[_0x5699('0x17')]){if(_0x59a38f[_0x5699('0x17')][_0x5699('0x18')]===0x1f4){logger['error']('MailMessage,\x20%s,\x20%s',_0x4a1f49,_0x59a38f[_0x5699('0x17')][_0x5699('0x19')]);return _0x3412a4(_0x59a38f[_0x5699('0x17')]['message']);}logger[_0x5699('0x17')]('MailMessage,\x20%s,\x20%s',_0x4a1f49,_0x59a38f['error'][_0x5699('0x19')]);return _0x46828f(_0x59a38f[_0x5699('0x17')][_0x5699('0x19')]);}else{logger[_0x5699('0x1a')](_0x5699('0x14'),_0x4a1f49,'request\x20sent');_0x46828f(_0x59a38f['result'][_0x5699('0x19')]);}})[_0x5699('0x1b')](function(_0x28b593){logger['error'](_0x5699('0x14'),_0x4a1f49,_0x28b593);_0x3412a4(_0x28b593);});});}function respondWithResult(_0xfda909,_0x5dfaa4){_0x5dfaa4=_0x5dfaa4||0xc8;return function(_0x548926){if(_0x548926){return _0xfda909['status'](_0x5dfaa4)[_0x5699('0x1c')](_0x548926);}};}function respondWithFilteredResult(_0x5c22b5,_0x106bb7){return function(_0x5f4efa){if(_0x5f4efa){var _0x56b234=typeof _0x106bb7[_0x5699('0x1d')]==='undefined'&&typeof _0x106bb7[_0x5699('0x1e')]===_0x5699('0x1f');var _0x56a559=_0x5f4efa[_0x5699('0x20')];var _0x308a08=_0x56b234?0x0:_0x106bb7[_0x5699('0x1d')];var _0x944852=_0x56b234?_0x5f4efa['count']:_0x106bb7[_0x5699('0x1d')]+_0x106bb7[_0x5699('0x1e')];var _0x1fc1bd;if(_0x944852>=_0x56a559){_0x944852=_0x56a559;_0x1fc1bd=0xc8;}else{_0x1fc1bd=0xce;}_0x5c22b5[_0x5699('0x21')](_0x1fc1bd);return _0x5c22b5[_0x5699('0x22')](_0x5699('0x23'),_0x308a08+'-'+_0x944852+'/'+_0x56a559)[_0x5699('0x1c')](_0x5f4efa);}return null;};}function saveUpdates(_0x13bf6d){return function(_0x1eaf5d){if(_0x1eaf5d){return _0x1eaf5d[_0x5699('0x24')](_0x13bf6d)[_0x5699('0x13')](function(_0x5ceea8){return _0x5ceea8;});}return null;};}function removeEntity(_0xd9cf04){return function(_0x2d45b9){if(_0x2d45b9){return _0x2d45b9[_0x5699('0x25')]()[_0x5699('0x13')](function(){_0xd9cf04[_0x5699('0x21')](0xcc)[_0x5699('0x26')]();});}};}function handleEntityNotFound(_0x185787){return function(_0x6c1199){if(!_0x6c1199){_0x185787[_0x5699('0x27')](0x194);}return _0x6c1199;};}function handleError(_0x19ad47,_0x3cd22a){_0x3cd22a=_0x3cd22a||0x1f4;return function(_0x5a25b5){logger[_0x5699('0x17')](_0x5a25b5[_0x5699('0x28')]);if(_0x5a25b5[_0x5699('0x29')]){delete _0x5a25b5[_0x5699('0x29')];}_0x19ad47[_0x5699('0x21')](_0x3cd22a)[_0x5699('0x2a')](_0x5a25b5);};}exports[_0x5699('0x2b')]=function(_0xec1385,_0x351814){var _0x347937={},_0x51b715={},_0x155abb={'count':0x0,'rows':[]};var _0x20b76d=_['map'](db[_0x5699('0x2c')]['rawAttributes'],function(_0x14df6d){return{'name':_0x14df6d[_0x5699('0x2d')],'type':_0x14df6d[_0x5699('0x2e')][_0x5699('0x2f')]};});_0x51b715[_0x5699('0x30')]=_[_0x5699('0x31')](_0x20b76d,_0x5699('0x29'));_0x51b715[_0x5699('0x32')]=_[_0x5699('0x33')](_0xec1385[_0x5699('0x32')]);_0x51b715['filters']=_[_0x5699('0x34')](_0x51b715[_0x5699('0x30')],_0x51b715['query']);_0x347937[_0x5699('0x35')]=_[_0x5699('0x34')](_0x51b715[_0x5699('0x30')],qs[_0x5699('0x36')](_0xec1385[_0x5699('0x32')][_0x5699('0x36')]));_0x347937['attributes']=_0x347937[_0x5699('0x35')][_0x5699('0x37')]?_0x347937[_0x5699('0x35')]:_0x51b715[_0x5699('0x30')];if(!_0xec1385[_0x5699('0x32')][_0x5699('0x38')](_0x5699('0x39'))){_0x347937[_0x5699('0x1e')]=qs['limit'](_0xec1385[_0x5699('0x32')][_0x5699('0x1e')]);_0x347937['offset']=qs[_0x5699('0x1d')](_0xec1385[_0x5699('0x32')][_0x5699('0x1d')]);}_0x347937['order']=qs[_0x5699('0x3a')](_0xec1385[_0x5699('0x32')][_0x5699('0x3a')]);_0x347937[_0x5699('0x3b')]=qs['filters'](_[_0x5699('0x3c')](_0xec1385[_0x5699('0x32')],_0x51b715[_0x5699('0x3d')]),_0x20b76d);if(_0xec1385['query'][_0x5699('0x3e')]){_0x347937[_0x5699('0x3b')]=_['merge'](_0x347937[_0x5699('0x3b')],{'$or':_['map'](_0x20b76d,function(_0x1037ce){if(_0x1037ce[_0x5699('0x2e')]!==_0x5699('0x3f')){var _0x4c8fe6={};_0x4c8fe6[_0x1037ce[_0x5699('0x29')]]={'$like':'%'+_0xec1385[_0x5699('0x32')][_0x5699('0x3e')]+'%'};return _0x4c8fe6;}})});}_0x347937=_['merge']({},_0x347937,_0xec1385[_0x5699('0x40')]);var _0x533648={'where':_0x347937[_0x5699('0x3b')]};return db[_0x5699('0x2c')][_0x5699('0x20')](_0x533648)[_0x5699('0x13')](function(_0x4706c9){_0x155abb[_0x5699('0x20')]=_0x4706c9;if(_0xec1385['query'][_0x5699('0x41')]){_0x347937['include']=[{'all':!![]}];}return db['MailMessage']['findAll'](_0x347937);})['then'](function(_0x67e0f1){_0x155abb[_0x5699('0x42')]=_0x67e0f1;return _0x155abb;})[_0x5699('0x13')](respondWithFilteredResult(_0x351814,_0x347937))[_0x5699('0x1b')](handleError(_0x351814,null));};exports['show']=function(_0x1e8e31,_0x14ffa5){var _0x55fd55={'raw':!![],'where':{'id':_0x1e8e31[_0x5699('0x43')]['id']}},_0x3340fb={};_0x3340fb['model']=_['keys'](db['MailMessage']['rawAttributes']);_0x3340fb[_0x5699('0x32')]=_[_0x5699('0x33')](_0x1e8e31['query']);_0x3340fb[_0x5699('0x3d')]=_[_0x5699('0x34')](_0x3340fb[_0x5699('0x30')],_0x3340fb[_0x5699('0x32')]);_0x55fd55[_0x5699('0x35')]=_[_0x5699('0x34')](_0x3340fb[_0x5699('0x30')],qs['fields'](_0x1e8e31[_0x5699('0x32')][_0x5699('0x36')]));_0x55fd55['attributes']=_0x55fd55[_0x5699('0x35')][_0x5699('0x37')]?_0x55fd55[_0x5699('0x35')]:_0x3340fb[_0x5699('0x30')];if(_0x1e8e31['query'][_0x5699('0x41')]){_0x55fd55['include']=[{'all':!![]}];}_0x55fd55=_[_0x5699('0x44')]({},_0x55fd55,_0x1e8e31[_0x5699('0x40')]);return db[_0x5699('0x2c')][_0x5699('0x45')](_0x55fd55)[_0x5699('0x13')](handleEntityNotFound(_0x14ffa5,null))[_0x5699('0x13')](respondWithResult(_0x14ffa5,null))[_0x5699('0x1b')](handleError(_0x14ffa5,null));};exports['update']=function(_0x382989,_0x5f3a69){if(_0x382989[_0x5699('0x46')]['id']){delete _0x382989['body']['id'];}return db[_0x5699('0x2c')][_0x5699('0x45')]({'where':{'id':_0x382989[_0x5699('0x43')]['id']}})[_0x5699('0x13')](handleEntityNotFound(_0x5f3a69,null))['then'](saveUpdates(_0x382989[_0x5699('0x46')],null))[_0x5699('0x13')](respondWithResult(_0x5f3a69,null))['catch'](handleError(_0x5f3a69,null));};exports['destroy']=function(_0x2b8dbd,_0x19652a){return db[_0x5699('0x2c')][_0x5699('0x45')]({'where':{'id':_0x2b8dbd[_0x5699('0x43')]['id']}})[_0x5699('0x13')](handleEntityNotFound(_0x19652a,null))[_0x5699('0x13')](removeEntity(_0x19652a,null))[_0x5699('0x1b')](handleError(_0x19652a,null));};exports[_0x5699('0x47')]=function(_0x575821,_0x3e02dc){return db[_0x5699('0x2c')][_0x5699('0x47')]()[_0x5699('0x13')](respondWithResult(_0x3e02dc,null))['catch'](handleError(_0x3e02dc,null));};exports[_0x5699('0x48')]=function(_0x3dbd90,_0x31f58f){return db['MailMessage'][_0x5699('0x48')](_0x3dbd90[_0x5699('0x46')])['then'](function(_0x2f2cf7){if(_0x2f2cf7){if(_0x2f2cf7[_0x5699('0x49')]==='out'&&!_0x2f2cf7[_0x5699('0x4a')]){var _0x3e06a2,_0x69a482,_0x7ffd;if(_0x3dbd90[_0x5699('0x46')]['to']){_0x69a482=_0x3dbd90['body']['to'][_0x5699('0x4b')](',')[0x0];}return db[_0x5699('0x4c')][_0x5699('0x4d')]({'where':{'id':_0x2f2cf7[_0x5699('0x4e')]},'include':[{'model':db[_0x5699('0x4f')],'as':_0x5699('0x50'),'include':[{'model':db['CmContact'],'as':_0x5699('0x51'),'where':{'email':_0x69a482},'limit':0x1,'order':[[_0x5699('0x52'),_0x5699('0x53')]]}]},{'model':db[_0x5699('0x54')],'as':'Smtp','raw':!![],'include':[{'model':db['CloudProvider'],'as':'CloudProvider','raw':!![]}]}]})['then'](function(_0x48d75c){_0x3e06a2=_0x48d75c;if(!_0x3e06a2||!_0x3e06a2[_0x5699('0x55')])return;var _0x42b4bc=_0x3e06a2[_0x5699('0x56')]();if(_0x3dbd90[_0x5699('0x46')]['attachments']&&_0x3dbd90[_0x5699('0x46')]['attachments'][_0x5699('0x37')]){for(var _0x134568=0x0;_0x134568<_0x3dbd90['body']['attachments'][_0x5699('0x37')];_0x134568+=0x1){_0x3dbd90['body']['attachments'][_0x134568]={'filename':_0x3dbd90[_0x5699('0x46')]['attachments'][_0x134568][_0x5699('0x29')],'path':path[_0x5699('0x57')](config[_0x5699('0x58')],_0x5699('0x59'),_0x3dbd90[_0x5699('0x46')][_0x5699('0x5a')][_0x134568][_0x5699('0x5b')])};}}_0x7ffd={'account':_0x42b4bc,'message':_0x3dbd90[_0x5699('0x46')]};return;})[_0x5699('0x13')](function(){if(_0x3e06a2['List']){if(_0x3e06a2['List'][_0x5699('0x51')][_0x5699('0x37')]){return _0x3e06a2['List'][_0x5699('0x51')][0x0];}else{return db[_0x5699('0x5c')][_0x5699('0x48')](_['defaults'](_0x3dbd90['body'],{'firstName':_0x3dbd90[_0x5699('0x46')]['to'],'email':_0x3dbd90['body']['to'],'phone':_0x3dbd90[_0x5699('0x46')]['to'],'ListId':_0x3e06a2[_0x5699('0x5d')]}));}}else{throw new Error('List\x20not\x20found');}})[_0x5699('0x13')](function(){if(_0x7ffd){return respondWithRpcPromise(_0x5699('0x5e'),'sendMail',_0x7ffd,client9003)[_0x5699('0x13')](function(_0x2fd1ea){return _0x2f2cf7[_0x5699('0x24')]({'read':!![],'messageId':_0x2fd1ea[_0x5699('0x5f')],'sentAt':moment()[_0x5699('0x60')]('YYYY-MM-DD\x20HH:mm:ss')});})['catch'](function(_0x13419e){logger['error']('%s',JSON[_0x5699('0x16')](_0x13419e));return _0x2f2cf7;});}return _0x2f2cf7;});}return _0x2f2cf7;}})[_0x5699('0x13')](respondWithResult(_0x31f58f,0xc9))['catch'](handleError(_0x31f58f,null));};exports[_0x5699('0x61')]=function(_0x2daca9,_0x13e73b){var _0x5898e0={'agent':{},'channel':'mail'};if(_0x2daca9['body']['id']){delete _0x2daca9['body']['id'];}_0x2daca9[_0x5699('0x46')][_0x5699('0x62')]=!![];_0x2daca9[_0x5699('0x46')][_0x5699('0x63')]=moment()[_0x5699('0x60')]('YYYY-MM-DD\x20HH:mm:ss');_0x2daca9[_0x5699('0x46')][_0x5699('0x64')]=_0x2daca9[_0x5699('0x46')][_0x5699('0x64')]||_0x2daca9[_0x5699('0x65')]['id'];_0x5898e0['agent']['id']=_0x2daca9[_0x5699('0x46')][_0x5699('0x64')];return db['MailMessage']['find']({'where':{'id':_0x2daca9[_0x5699('0x43')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x13e73b,null))[_0x5699('0x13')](saveUpdates(_0x2daca9['body'],null))[_0x5699('0x13')](function(_0x69a988){if(_0x69a988){_0x5898e0[_0x5699('0x19')]=_0x69a988[_0x5699('0x66')]({'plain':!![]});return db[_0x5699('0x67')]['find']({'where':{'id':_0x69a988[_0x5699('0x68')]}});}return null;})[_0x5699('0x13')](handleEntityNotFound(_0x13e73b,null))[_0x5699('0x13')](function(_0x47794b){if(_0x47794b){return _0x47794b['update']({'UserId':_0x2daca9[_0x5699('0x46')][_0x5699('0x64')],'read1stAt':_[_0x5699('0x69')](_0x47794b[_0x5699('0x6a')])?moment()[_0x5699('0x60')](_0x5699('0x6b')):undefined});}return null;})['then'](function(_0x3d9fca){if(_0x3d9fca){_0x5898e0[_0x5699('0x6c')]=_0x3d9fca[_0x5699('0x66')]({'plain':!![]});interaction_log['info'](_0x5699('0x6d'),_0x2daca9[_0x5699('0x65')]['id'],_0x2daca9['user']['name'],_0x2daca9[_0x5699('0x65')]['role'],_0x5898e0[_0x5699('0x6c')]['id'],_0x2daca9[_0x5699('0x46')]?JSON[_0x5699('0x16')](_0x2daca9[_0x5699('0x46')]):_0x5699('0x6e'));return respondWithRpcPromise(_0x5699('0x6f'),_0x5699('0x70'),_0x5898e0);}return null;})[_0x5699('0x13')](function(_0x58ab0e){var _0xf4ef18=_0x5699('0x71')+_0x58ab0e[_0x5699('0x19')]['ContactId'];return db[_0x5699('0x72')][_0x5699('0x32')](_0xf4ef18,{'type':db['Sequelize']['QueryTypes'][_0x5699('0x73')],'raw':!![]})['then'](function(_0xffdae2){return _0xffdae2;});})[_0x5699('0x13')](function(_0x5dc27b){if(_0x5dc27b){_0x5898e0[_0x5699('0x19')][_0x5699('0x74')]=_0x5dc27b[0x0];if(!_0x2daca9[_0x5699('0x46')][_0x5699('0x64')])return;return db[_0x5699('0x75')]['find']({'where':{'id':_0x2daca9[_0x5699('0x46')][_0x5699('0x64')],'role':_0x5699('0x76')},'attributes':['id',_0x5699('0x29'),_0x5699('0x77'),_0x5699('0x78'),_0x5699('0x79')],'raw':!![]});}return null;})[_0x5699('0x13')](function(_0x150b80){if(!_0x150b80)return null;_0x5898e0['message'][_0x5699('0x76')]=_0x150b80;return _0x5898e0;})[_0x5699('0x13')](function(_0x164950){if(_0x164950){if(_0x2daca9[_0x5699('0x46')][_0x5699('0x7a')]){_0x5898e0[_0x5699('0x19')][_0x5699('0x7b')]=util[_0x5699('0x60')](_0x5699('0x7c'),_0x2daca9[_0x5699('0x65')][_0x5699('0x29')]);_0x5898e0[_0x5699('0x19')][_0x5699('0x7d')]=_0x5898e0[_0x5699('0x7d')];_0x5898e0[_0x5699('0x19')][_0x5699('0x7e')]=_0x5898e0['channel'];_0x5898e0[_0x5699('0x19')][_0x5699('0x7f')]=_0x5699('0x61');_0x5898e0[_0x5699('0x19')]['body']=htmlToText[_0x5699('0x80')](_0x5898e0[_0x5699('0x19')][_0x5699('0x46')]);return respondWithRpcPromise('EventManager',_0x5699('0x81'),{'event':_0x5699('0x82'),'message':_0x5898e0[_0x5699('0x19')]},client9002)[_0x5699('0x13')](function(){return _0x5898e0;});}return _0x5898e0;}return null;})[_0x5699('0x13')](respondWithResult(_0x13e73b,null))[_0x5699('0x1b')](handleError(_0x13e73b,null));};exports['reject']=function(_0x1706b8,_0x27ab58){var _0x4ae1c6={'agent':{},'channel':_0x5699('0x83')};if(_0x1706b8[_0x5699('0x46')]['id']){delete _0x1706b8[_0x5699('0x46')]['id'];}_0x1706b8[_0x5699('0x46')]['UserId']=_0x1706b8['body'][_0x5699('0x64')]||_0x1706b8[_0x5699('0x65')]['id'];_0x4ae1c6[_0x5699('0x76')]['id']=_0x1706b8[_0x5699('0x46')][_0x5699('0x64')];return db[_0x5699('0x2c')]['find']({'where':{'id':_0x1706b8['params']['id'],'UserId':null}})[_0x5699('0x13')](handleEntityNotFound(_0x27ab58,null))[_0x5699('0x13')](function(_0x491f94){if(_0x491f94){_0x4ae1c6[_0x5699('0x19')]=_0x491f94[_0x5699('0x66')]({'plain':!![]});return db[_0x5699('0x67')][_0x5699('0x45')]({'where':{'id':_0x491f94['MailInteractionId']}});}return null;})[_0x5699('0x13')](handleEntityNotFound(_0x27ab58,null))[_0x5699('0x13')](function(_0xfbaa93){if(_0xfbaa93){_0x4ae1c6['interaction']=_0xfbaa93[_0x5699('0x66')]({'plain':!![]});interaction_log[_0x5699('0x1a')](_0x5699('0x84'),_0x1706b8[_0x5699('0x65')]['id'],_0x1706b8[_0x5699('0x65')][_0x5699('0x29')],_0x1706b8[_0x5699('0x65')]['role'],_0x4ae1c6['interaction']['id'],_0x1706b8[_0x5699('0x46')]?JSON[_0x5699('0x16')](_0x1706b8['body']):_0x5699('0x6e'));return respondWithRpcPromise('RejectMessage',_0x5699('0x85'),_0x4ae1c6);}return null;})[_0x5699('0x13')](function(_0x718d37){var _0xf868db=_0x5699('0x71')+_0x718d37[_0x5699('0x19')][_0x5699('0x86')];return db[_0x5699('0x72')][_0x5699('0x32')](_0xf868db,{'type':db[_0x5699('0x87')][_0x5699('0x88')]['SELECT'],'raw':!![]})[_0x5699('0x13')](function(_0x37c0a1){return _0x37c0a1;});})[_0x5699('0x13')](function(_0x49ff47){if(_0x49ff47){_0x4ae1c6[_0x5699('0x19')][_0x5699('0x74')]=_0x49ff47[0x0];if(!_0x1706b8[_0x5699('0x46')][_0x5699('0x64')])return;return db[_0x5699('0x75')][_0x5699('0x45')]({'where':{'id':_0x1706b8[_0x5699('0x46')]['UserId'],'role':_0x5699('0x76')},'attributes':['id',_0x5699('0x29'),_0x5699('0x77'),_0x5699('0x78'),_0x5699('0x79')],'raw':!![]});}return null;})['then'](function(_0x22d207){if(!_0x22d207)return null;_0x4ae1c6[_0x5699('0x19')]['agent']=_0x22d207;return _0x4ae1c6;})[_0x5699('0x13')](function(_0x5dc465){if(_0x5dc465){_0x5dc465[_0x5699('0x19')][_0x5699('0x7b')]=util['format'](_0x5699('0x7c'),_0x1706b8[_0x5699('0x65')]['name']);_0x5dc465[_0x5699('0x19')][_0x5699('0x7d')]=_0x4ae1c6['channel'];_0x5dc465['message'][_0x5699('0x7e')]=_0x4ae1c6['channel'];_0x5dc465[_0x5699('0x19')][_0x5699('0x7f')]=_0x5699('0x89');_0x5dc465[_0x5699('0x19')]['body']=htmlToText[_0x5699('0x80')](_0x4ae1c6[_0x5699('0x19')]['body']);respondWithRpcPromise(_0x5699('0x81'),_0x5699('0x81'),{'event':_0x5699('0x8a'),'message':_0x5dc465['message']},client9002);return _0x4ae1c6;}return null;})['then'](respondWithResult(_0x27ab58,null))['catch'](handleError(_0x27ab58,null));};exports['download']=function(_0x242b6d,_0x2271e6){var _0x505781=moment()[_0x5699('0x8b')]()[_0x5699('0x8c')]();var _0x54c4d3=path[_0x5699('0x57')](config['root'],_0x5699('0x8d'),_0x5699('0x8e'),_0x5699('0x8f'));var _0x460945=path[_0x5699('0x57')](config['root'],_0x5699('0x8d'),_0x5699('0x8e'),'attachments');var _0x5e1e85=util[_0x5699('0x60')](_0x5699('0x90'),_0x505781);return db['MailMessage'][_0x5699('0x45')]({'where':{'id':_0x242b6d[_0x5699('0x43')]['id']},'attributes':['id',_0x5699('0x46'),'from','to','cc',_0x5699('0x91'),_0x5699('0x92'),_0x5699('0x93')],'include':_0x242b6d[_0x5699('0x32')][_0x5699('0x5a')]?[{'model':db['Attachment'],'as':'Attachments'}]:undefined})[_0x5699('0x13')](handleEntityNotFound(_0x2271e6,null))[_0x5699('0x13')](function(_0x128e36){if(_0x128e36){var _0x1e786b=_0x128e36;var _0x2da379={'from':_0x1e786b[_0x5699('0x94')],'to':_0x1e786b['to'],'subject':_0x1e786b[_0x5699('0x92')],'html':htmlEntities['decode'](_0x1e786b['body']),'headers':{'Date':moment(_0x1e786b[_0x5699('0x93')])[_0x5699('0x60')](_0x5699('0x95'))},'attachments':[]};if(_0x128e36['cc']){_0x2da379[_0x5699('0x96')]['Cc']=_0x128e36['cc'];}if(_0x128e36[_0x5699('0x91')]){_0x2da379[_0x5699('0x96')][_0x5699('0x97')]=_0x128e36['bcc'];}return new BPromise(function(_0x1bdff6,_0x1699ff){if(_0x128e36[_0x5699('0x98')]){for(var _0x50f669=0x0;_0x50f669<_0x128e36[_0x5699('0x98')][_0x5699('0x37')];_0x50f669++){var _0x3d02f9=_0x128e36[_0x5699('0x98')][_0x50f669];var _0x402279=path[_0x5699('0x57')](_0x460945,_0x3d02f9[_0x5699('0x5b')]);if(fs['existsSync'](_0x402279)){_0x2da379[_0x5699('0x5a')]['push']({'name':_0x3d02f9[_0x5699('0x29')],'contentType':_0x3d02f9['type'],'data':fs[_0x5699('0x99')](_0x402279)});}}}emlformat[_0x5699('0x9a')](_0x2da379,function(_0x53e299,_0x1ad8b5){if(_0x53e299)return _0x1699ff(_0x53e299);fs[_0x5699('0x9b')](path[_0x5699('0x57')](_0x54c4d3,_0x5e1e85),_0x1ad8b5);return _0x1bdff6(_0x1ad8b5);});});}})[_0x5699('0x13')](function(_0x4ed74d){if(_0x4ed74d){return _0x2271e6[_0x5699('0x9c')](path['join'](_0x54c4d3,_0x5e1e85),_0x5e1e85,function(_0x3c24f7){if(!_0x3c24f7)fs[_0x5699('0x9d')](path[_0x5699('0x57')](_0x54c4d3,_0x5e1e85));});}})[_0x5699('0x1b')](handleError(_0x2271e6,null));};