Built motion from commit 639a1a7f.|2.6.19
[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 _0x9644=['filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','includeAll','include','findAll','rows','catch','params','options','find','body','describe','create','direction','out','secret','split','MailAccount','CmList','updatedAt','DESC','MailServerOut','CloudProvider','Smtp','getSmtpOptions','attachments','server/files/attachments','basename','List','Contacts','CmContact','defaults','ListId','messageId','format','YYYY-MM-DD\x20HH:mm:ss','accept','mail','read','readAt','UserId','user','agent','get','MailInteractionId','isNil','read1stAt','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','ContactId','sequelize','Sequelize','QueryTypes','SELECT','User','fullname','email','internal','interface','SIP/%s','channel','fromString','EventManager','acceptmessage','reject','MailInteraction','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','contact','motionChannel','event','rejectmessage','unix','join','server','files','tmp','root','message-%s.eml','from','bcc','subject','createdAt','Attachment','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','Attachments','existsSync','push','type','readFileSync','build','unlinkSync','eml-format','moment','path','lodash','ioredis','html-to-text','../../config/logger','api','mail-interactions','../../config/environment','../../mysqldb','redis','socket.io-emitter','html-entities','./mailMessage.socket','register','jayson/promise','http','client','request','then','info','request\x20sent','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','MailMessage,\x20%s,\x20%s','message','result','status','json','offset','limit','undefined','count','set','Content-Range','update','destroy','stack','name','map','MailMessage','key','query','keys'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x9644,0x1ae));var _0x4964=function(_0x1de01d,_0xeb122c){_0x1de01d=_0x1de01d-0x0;var _0x2865ef=_0x9644[_0x1de01d];return _0x2865ef;};'use strict';var emlformat=require(_0x4964('0x0'));var moment=require(_0x4964('0x1'));var BPromise=require('bluebird');var util=require('util');var path=require(_0x4964('0x2'));var fs=require('fs');var _=require(_0x4964('0x3'));var Redis=require(_0x4964('0x4'));var htmlToText=require(_0x4964('0x5'));var qs=require('../../components/parsers/qs');var logger=require(_0x4964('0x6'))(_0x4964('0x7'));var interaction_log=require(_0x4964('0x6'))(_0x4964('0x8'));var config=require(_0x4964('0x9'));var db=require(_0x4964('0xa'))['db'];config['redis']=_['defaults'](config[_0x4964('0xb')],{'host':'localhost','port':0x18eb});var socket=require(_0x4964('0xc'))(new Redis(config[_0x4964('0xb')]));var htmlEntities=require(_0x4964('0xd'));require(_0x4964('0xe'))[_0x4964('0xf')](socket);var jayson=require(_0x4964('0x10'));var client=jayson['client'][_0x4964('0x11')]({'port':0x232c});var client9003=jayson[_0x4964('0x12')][_0x4964('0x11')]({'port':0x232b});var client9002=jayson[_0x4964('0x12')][_0x4964('0x11')]({'port':0x232a});function respondWithRpcPromise(_0x169977,_0x2c94af,_0x377a96,_0x4db8d1){return new BPromise(function(_0x1eb87a,_0x56e3ed){var _0x1ec04b=_0x4db8d1||client;return _0x1ec04b[_0x4964('0x13')](_0x169977,_0x377a96)[_0x4964('0x14')](function(_0x1cf8be){logger[_0x4964('0x15')]('MailMessage,\x20%s,\x20%s',_0x2c94af,_0x4964('0x16'));logger['debug'](_0x4964('0x17'),_0x2c94af,'request\x20sent',JSON[_0x4964('0x18')](_0x1cf8be));if(_0x1cf8be[_0x4964('0x19')]){if(_0x1cf8be[_0x4964('0x19')][_0x4964('0x1a')]===0x1f4){logger['error'](_0x4964('0x1b'),_0x2c94af,_0x1cf8be[_0x4964('0x19')][_0x4964('0x1c')]);return _0x56e3ed(_0x1cf8be[_0x4964('0x19')][_0x4964('0x1c')]);}logger[_0x4964('0x19')]('MailMessage,\x20%s,\x20%s',_0x2c94af,_0x1cf8be[_0x4964('0x19')][_0x4964('0x1c')]);return _0x1eb87a(_0x1cf8be[_0x4964('0x19')][_0x4964('0x1c')]);}else{logger[_0x4964('0x15')](_0x4964('0x1b'),_0x2c94af,'request\x20sent');_0x1eb87a(_0x1cf8be[_0x4964('0x1d')][_0x4964('0x1c')]);}})['catch'](function(_0x16282b){logger[_0x4964('0x19')](_0x4964('0x1b'),_0x2c94af,_0x16282b);_0x56e3ed(_0x16282b);});});}function respondWithResult(_0x598813,_0x568642){_0x568642=_0x568642||0xc8;return function(_0x353cc4){if(_0x353cc4){return _0x598813[_0x4964('0x1e')](_0x568642)[_0x4964('0x1f')](_0x353cc4);}};}function respondWithFilteredResult(_0x4eac79,_0x52e227){return function(_0x477d13){if(_0x477d13){var _0x553cf8=typeof _0x52e227[_0x4964('0x20')]==='undefined'&&typeof _0x52e227[_0x4964('0x21')]===_0x4964('0x22');var _0x42a6b6=_0x477d13[_0x4964('0x23')];var _0x39676e=_0x553cf8?0x0:_0x52e227[_0x4964('0x20')];var _0x500f4a=_0x553cf8?_0x477d13[_0x4964('0x23')]:_0x52e227[_0x4964('0x20')]+_0x52e227[_0x4964('0x21')];var _0x544abc;if(_0x500f4a>=_0x42a6b6){_0x500f4a=_0x42a6b6;_0x544abc=0xc8;}else{_0x544abc=0xce;}_0x4eac79[_0x4964('0x1e')](_0x544abc);return _0x4eac79[_0x4964('0x24')](_0x4964('0x25'),_0x39676e+'-'+_0x500f4a+'/'+_0x42a6b6)[_0x4964('0x1f')](_0x477d13);}return null;};}function saveUpdates(_0x5ceabd){return function(_0x53888a){if(_0x53888a){return _0x53888a[_0x4964('0x26')](_0x5ceabd)['then'](function(_0x50be64){return _0x50be64;});}return null;};}function removeEntity(_0x258a6b){return function(_0x341067){if(_0x341067){return _0x341067[_0x4964('0x27')]()[_0x4964('0x14')](function(){_0x258a6b['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x3af9f6){return function(_0x3c2722){if(!_0x3c2722){_0x3af9f6['sendStatus'](0x194);}return _0x3c2722;};}function handleError(_0x9712db,_0x2c8007){_0x2c8007=_0x2c8007||0x1f4;return function(_0x37d371){logger['error'](_0x37d371[_0x4964('0x28')]);if(_0x37d371[_0x4964('0x29')]){delete _0x37d371[_0x4964('0x29')];}_0x9712db[_0x4964('0x1e')](_0x2c8007)['send'](_0x37d371);};}exports['index']=function(_0x119184,_0x7f7f84){var _0x238c52={},_0x51839d={},_0x5f2f19={'count':0x0,'rows':[]};var _0x962c8d=_[_0x4964('0x2a')](db[_0x4964('0x2b')]['rawAttributes'],function(_0x591d8c){return{'name':_0x591d8c['fieldName'],'type':_0x591d8c['type'][_0x4964('0x2c')]};});_0x51839d['model']=_[_0x4964('0x2a')](_0x962c8d,_0x4964('0x29'));_0x51839d[_0x4964('0x2d')]=_[_0x4964('0x2e')](_0x119184[_0x4964('0x2d')]);_0x51839d[_0x4964('0x2f')]=_[_0x4964('0x30')](_0x51839d['model'],_0x51839d['query']);_0x238c52['attributes']=_[_0x4964('0x30')](_0x51839d[_0x4964('0x31')],qs[_0x4964('0x32')](_0x119184[_0x4964('0x2d')]['fields']));_0x238c52[_0x4964('0x33')]=_0x238c52[_0x4964('0x33')][_0x4964('0x34')]?_0x238c52[_0x4964('0x33')]:_0x51839d[_0x4964('0x31')];if(!_0x119184['query'][_0x4964('0x35')](_0x4964('0x36'))){_0x238c52['limit']=qs[_0x4964('0x21')](_0x119184['query'][_0x4964('0x21')]);_0x238c52['offset']=qs[_0x4964('0x20')](_0x119184[_0x4964('0x2d')][_0x4964('0x20')]);}_0x238c52[_0x4964('0x37')]=qs[_0x4964('0x38')](_0x119184['query'][_0x4964('0x38')]);_0x238c52['where']=qs['filters'](_[_0x4964('0x39')](_0x119184['query'],_0x51839d[_0x4964('0x2f')]),_0x962c8d);if(_0x119184[_0x4964('0x2d')][_0x4964('0x3a')]){_0x238c52['where']=_['merge'](_0x238c52[_0x4964('0x3b')],{'$or':_['map'](_0x962c8d,function(_0x1def27){if(_0x1def27['type']!=='VIRTUAL'){var _0x4c590a={};_0x4c590a[_0x1def27['name']]={'$like':'%'+_0x119184['query']['filter']+'%'};return _0x4c590a;}})});}_0x238c52=_[_0x4964('0x3c')]({},_0x238c52,_0x119184['options']);var _0x4b92d1={'where':_0x238c52[_0x4964('0x3b')]};return db['MailMessage'][_0x4964('0x23')](_0x4b92d1)[_0x4964('0x14')](function(_0x47b82f){_0x5f2f19[_0x4964('0x23')]=_0x47b82f;if(_0x119184[_0x4964('0x2d')][_0x4964('0x3d')]){_0x238c52[_0x4964('0x3e')]=[{'all':!![]}];}return db[_0x4964('0x2b')][_0x4964('0x3f')](_0x238c52);})['then'](function(_0x4a6ef4){_0x5f2f19[_0x4964('0x40')]=_0x4a6ef4;return _0x5f2f19;})['then'](respondWithFilteredResult(_0x7f7f84,_0x238c52))[_0x4964('0x41')](handleError(_0x7f7f84,null));};exports['show']=function(_0x28b946,_0x30c4cd){var _0x1a3627={'raw':!![],'where':{'id':_0x28b946[_0x4964('0x42')]['id']}},_0x2287e2={};_0x2287e2['model']=_[_0x4964('0x2e')](db['MailMessage']['rawAttributes']);_0x2287e2[_0x4964('0x2d')]=_[_0x4964('0x2e')](_0x28b946['query']);_0x2287e2[_0x4964('0x2f')]=_['intersection'](_0x2287e2['model'],_0x2287e2[_0x4964('0x2d')]);_0x1a3627[_0x4964('0x33')]=_[_0x4964('0x30')](_0x2287e2['model'],qs[_0x4964('0x32')](_0x28b946['query'][_0x4964('0x32')]));_0x1a3627[_0x4964('0x33')]=_0x1a3627[_0x4964('0x33')][_0x4964('0x34')]?_0x1a3627[_0x4964('0x33')]:_0x2287e2[_0x4964('0x31')];if(_0x28b946[_0x4964('0x2d')][_0x4964('0x3d')]){_0x1a3627[_0x4964('0x3e')]=[{'all':!![]}];}_0x1a3627=_[_0x4964('0x3c')]({},_0x1a3627,_0x28b946[_0x4964('0x43')]);return db[_0x4964('0x2b')][_0x4964('0x44')](_0x1a3627)['then'](handleEntityNotFound(_0x30c4cd,null))[_0x4964('0x14')](respondWithResult(_0x30c4cd,null))[_0x4964('0x41')](handleError(_0x30c4cd,null));};exports[_0x4964('0x26')]=function(_0x3f4238,_0x3524bf){if(_0x3f4238[_0x4964('0x45')]['id']){delete _0x3f4238[_0x4964('0x45')]['id'];}return db['MailMessage'][_0x4964('0x44')]({'where':{'id':_0x3f4238['params']['id']}})[_0x4964('0x14')](handleEntityNotFound(_0x3524bf,null))['then'](saveUpdates(_0x3f4238[_0x4964('0x45')],null))[_0x4964('0x14')](respondWithResult(_0x3524bf,null))[_0x4964('0x41')](handleError(_0x3524bf,null));};exports[_0x4964('0x27')]=function(_0x4c6800,_0x2a4a45){return db[_0x4964('0x2b')]['find']({'where':{'id':_0x4c6800[_0x4964('0x42')]['id']}})[_0x4964('0x14')](handleEntityNotFound(_0x2a4a45,null))[_0x4964('0x14')](removeEntity(_0x2a4a45,null))[_0x4964('0x41')](handleError(_0x2a4a45,null));};exports['describe']=function(_0x1efca3,_0x3ff539){return db[_0x4964('0x2b')][_0x4964('0x46')]()[_0x4964('0x14')](respondWithResult(_0x3ff539,null))[_0x4964('0x41')](handleError(_0x3ff539,null));};exports['create']=function(_0x26f742,_0x5c1025){return db[_0x4964('0x2b')][_0x4964('0x47')](_0x26f742['body'])['then'](function(_0x17287e){if(_0x17287e){if(_0x17287e[_0x4964('0x48')]===_0x4964('0x49')&&!_0x17287e[_0x4964('0x4a')]){var _0x61ca94,_0x96683a,_0x466de9;if(_0x26f742[_0x4964('0x45')]['to']){_0x96683a=_0x26f742[_0x4964('0x45')]['to'][_0x4964('0x4b')](',')[0x0];}return db[_0x4964('0x4c')]['findOne']({'where':{'id':_0x17287e['MailAccountId']},'include':[{'model':db[_0x4964('0x4d')],'as':'List','include':[{'model':db['CmContact'],'as':'Contacts','where':{'email':_0x96683a},'limit':0x1,'order':[[_0x4964('0x4e'),_0x4964('0x4f')]]}]},{'model':db[_0x4964('0x50')],'as':'Smtp','raw':!![],'include':[{'model':db[_0x4964('0x51')],'as':_0x4964('0x51'),'raw':!![]}]}]})[_0x4964('0x14')](function(_0xc66fe8){_0x61ca94=_0xc66fe8;if(!_0x61ca94||!_0x61ca94[_0x4964('0x52')])return;var _0xa175b8=_0x61ca94[_0x4964('0x53')]();if(_0x26f742[_0x4964('0x45')]['attachments']&&_0x26f742[_0x4964('0x45')]['attachments']['length']){for(var _0x245f48=0x0;_0x245f48<_0x26f742[_0x4964('0x45')]['attachments']['length'];_0x245f48+=0x1){_0x26f742[_0x4964('0x45')][_0x4964('0x54')][_0x245f48]={'filename':_0x26f742[_0x4964('0x45')][_0x4964('0x54')][_0x245f48][_0x4964('0x29')],'path':path['join'](config['root'],_0x4964('0x55'),_0x26f742[_0x4964('0x45')][_0x4964('0x54')][_0x245f48][_0x4964('0x56')])};}}_0x466de9={'account':_0xa175b8,'message':_0x26f742[_0x4964('0x45')]};return;})[_0x4964('0x14')](function(){if(_0x61ca94[_0x4964('0x57')]){if(_0x61ca94[_0x4964('0x57')][_0x4964('0x58')]['length']){return _0x61ca94['List']['Contacts'][0x0];}else{return db[_0x4964('0x59')]['create'](_[_0x4964('0x5a')](_0x26f742['body'],{'firstName':_0x26f742['body']['to'],'email':_0x26f742[_0x4964('0x45')]['to'],'phone':_0x26f742[_0x4964('0x45')]['to'],'ListId':_0x61ca94[_0x4964('0x5b')]}));}}else{throw new Error('List\x20not\x20found');}})[_0x4964('0x14')](function(){if(_0x466de9){return respondWithRpcPromise('SendMail','sendMail',_0x466de9,client9003)[_0x4964('0x14')](function(_0x278bc4){return _0x17287e['update']({'read':!![],'messageId':_0x278bc4[_0x4964('0x5c')],'sentAt':moment()[_0x4964('0x5d')](_0x4964('0x5e'))});})[_0x4964('0x41')](function(_0x1af629){logger[_0x4964('0x19')]('%s',JSON[_0x4964('0x18')](_0x1af629));return _0x17287e;});}return _0x17287e;});}return _0x17287e;}})[_0x4964('0x14')](respondWithResult(_0x5c1025,0xc9))['catch'](handleError(_0x5c1025,null));};exports[_0x4964('0x5f')]=function(_0x8310e5,_0x25f091){var _0x139e27={'agent':{},'channel':_0x4964('0x60')};if(_0x8310e5[_0x4964('0x45')]['id']){delete _0x8310e5[_0x4964('0x45')]['id'];}_0x8310e5['body'][_0x4964('0x61')]=!![];_0x8310e5[_0x4964('0x45')][_0x4964('0x62')]=moment()[_0x4964('0x5d')](_0x4964('0x5e'));_0x8310e5['body']['UserId']=_0x8310e5[_0x4964('0x45')][_0x4964('0x63')]||_0x8310e5[_0x4964('0x64')]['id'];_0x139e27[_0x4964('0x65')]['id']=_0x8310e5[_0x4964('0x45')][_0x4964('0x63')];return db[_0x4964('0x2b')]['find']({'where':{'id':_0x8310e5['params']['id'],'UserId':null}})[_0x4964('0x14')](handleEntityNotFound(_0x25f091,null))['then'](saveUpdates(_0x8310e5[_0x4964('0x45')],null))[_0x4964('0x14')](function(_0x26d8de){if(_0x26d8de){_0x139e27[_0x4964('0x1c')]=_0x26d8de[_0x4964('0x66')]({'plain':!![]});return db['MailInteraction'][_0x4964('0x44')]({'where':{'id':_0x26d8de[_0x4964('0x67')]}});}return null;})[_0x4964('0x14')](handleEntityNotFound(_0x25f091,null))['then'](function(_0x1ddbbb){if(_0x1ddbbb){return _0x1ddbbb[_0x4964('0x26')]({'UserId':_0x8310e5[_0x4964('0x45')][_0x4964('0x63')],'read1stAt':_[_0x4964('0x68')](_0x1ddbbb[_0x4964('0x69')])?moment()[_0x4964('0x5d')](_0x4964('0x5e')):undefined});}return null;})[_0x4964('0x14')](function(_0xe95d61){if(_0xe95d61){_0x139e27[_0x4964('0x6a')]=_0xe95d61[_0x4964('0x66')]({'plain':!![]});interaction_log[_0x4964('0x15')](_0x4964('0x6b'),_0x8310e5[_0x4964('0x64')]['id'],_0x8310e5[_0x4964('0x64')][_0x4964('0x29')],_0x8310e5['user']['role'],_0x139e27[_0x4964('0x6a')]['id'],_0x8310e5['body']?JSON[_0x4964('0x18')](_0x8310e5['body']):_0x4964('0x6c'));return respondWithRpcPromise(_0x4964('0x6d'),_0x4964('0x6e'),_0x139e27);}return null;})['then'](function(_0x4e9aae){var _0x2a6cc3=_0x4964('0x6f')+_0x4e9aae['message'][_0x4964('0x70')];return db[_0x4964('0x71')]['query'](_0x2a6cc3,{'type':db[_0x4964('0x72')][_0x4964('0x73')][_0x4964('0x74')],'raw':!![]})['then'](function(_0x33df75){return _0x33df75;});})[_0x4964('0x14')](function(_0x37ea0a){if(_0x37ea0a){_0x139e27[_0x4964('0x1c')]['contact']=_0x37ea0a[0x0];if(!_0x8310e5[_0x4964('0x45')][_0x4964('0x63')])return;return db[_0x4964('0x75')]['find']({'where':{'id':_0x8310e5['body'][_0x4964('0x63')],'role':_0x4964('0x65')},'attributes':['id','name',_0x4964('0x76'),_0x4964('0x77'),_0x4964('0x78')],'raw':!![]});}return null;})[_0x4964('0x14')](function(_0x2e07ba){if(!_0x2e07ba)return null;_0x139e27[_0x4964('0x1c')][_0x4964('0x65')]=_0x2e07ba;return _0x139e27;})['then'](function(_0x449d35){if(_0x449d35){if(_0x8310e5[_0x4964('0x45')]['manual']){_0x139e27[_0x4964('0x1c')][_0x4964('0x79')]=util['format'](_0x4964('0x7a'),_0x8310e5[_0x4964('0x64')][_0x4964('0x29')]);_0x139e27[_0x4964('0x1c')][_0x4964('0x7b')]=_0x139e27[_0x4964('0x7b')];_0x139e27['message']['motionChannel']=_0x139e27[_0x4964('0x7b')];_0x139e27['message']['event']=_0x4964('0x5f');_0x139e27[_0x4964('0x1c')][_0x4964('0x45')]=htmlToText[_0x4964('0x7c')](_0x139e27[_0x4964('0x1c')][_0x4964('0x45')]);return respondWithRpcPromise(_0x4964('0x7d'),_0x4964('0x7d'),{'event':_0x4964('0x7e'),'message':_0x139e27[_0x4964('0x1c')]},client9002)[_0x4964('0x14')](function(){return _0x139e27;});}return _0x139e27;}return null;})[_0x4964('0x14')](respondWithResult(_0x25f091,null))[_0x4964('0x41')](handleError(_0x25f091,null));};exports[_0x4964('0x7f')]=function(_0x4a3b82,_0x567715){var _0x315df7={'agent':{},'channel':'mail'};if(_0x4a3b82['body']['id']){delete _0x4a3b82[_0x4964('0x45')]['id'];}_0x4a3b82['body']['UserId']=_0x4a3b82[_0x4964('0x45')][_0x4964('0x63')]||_0x4a3b82[_0x4964('0x64')]['id'];_0x315df7['agent']['id']=_0x4a3b82['body'][_0x4964('0x63')];return db['MailMessage']['find']({'where':{'id':_0x4a3b82['params']['id'],'UserId':null}})['then'](handleEntityNotFound(_0x567715,null))[_0x4964('0x14')](function(_0x2a8ca8){if(_0x2a8ca8){_0x315df7['message']=_0x2a8ca8[_0x4964('0x66')]({'plain':!![]});return db[_0x4964('0x80')][_0x4964('0x44')]({'where':{'id':_0x2a8ca8['MailInteractionId']}});}return null;})['then'](handleEntityNotFound(_0x567715,null))[_0x4964('0x14')](function(_0x4c0066){if(_0x4c0066){_0x315df7[_0x4964('0x6a')]=_0x4c0066[_0x4964('0x66')]({'plain':!![]});interaction_log[_0x4964('0x15')](_0x4964('0x81'),_0x4a3b82[_0x4964('0x64')]['id'],_0x4a3b82[_0x4964('0x64')][_0x4964('0x29')],_0x4a3b82[_0x4964('0x64')]['role'],_0x315df7['interaction']['id'],_0x4a3b82['body']?JSON[_0x4964('0x18')](_0x4a3b82[_0x4964('0x45')]):'null');return respondWithRpcPromise(_0x4964('0x82'),_0x4964('0x83'),_0x315df7);}return null;})['then'](function(_0x594d59){var _0x7b128f=_0x4964('0x6f')+_0x594d59['message'][_0x4964('0x70')];return db[_0x4964('0x71')]['query'](_0x7b128f,{'type':db[_0x4964('0x72')]['QueryTypes'][_0x4964('0x74')],'raw':!![]})['then'](function(_0x561abd){return _0x561abd;});})[_0x4964('0x14')](function(_0x478139){if(_0x478139){_0x315df7[_0x4964('0x1c')][_0x4964('0x84')]=_0x478139[0x0];if(!_0x4a3b82[_0x4964('0x45')][_0x4964('0x63')])return;return db[_0x4964('0x75')][_0x4964('0x44')]({'where':{'id':_0x4a3b82[_0x4964('0x45')][_0x4964('0x63')],'role':'agent'},'attributes':['id',_0x4964('0x29'),'fullname',_0x4964('0x77'),_0x4964('0x78')],'raw':!![]});}return null;})['then'](function(_0x3e8c25){if(!_0x3e8c25)return null;_0x315df7['message'][_0x4964('0x65')]=_0x3e8c25;return _0x315df7;})['then'](function(_0x444eef){if(_0x444eef){_0x444eef[_0x4964('0x1c')]['interface']=util[_0x4964('0x5d')]('SIP/%s',_0x4a3b82[_0x4964('0x64')][_0x4964('0x29')]);_0x444eef[_0x4964('0x1c')][_0x4964('0x7b')]=_0x315df7[_0x4964('0x7b')];_0x444eef[_0x4964('0x1c')][_0x4964('0x85')]=_0x315df7[_0x4964('0x7b')];_0x444eef[_0x4964('0x1c')][_0x4964('0x86')]=_0x4964('0x7f');_0x444eef[_0x4964('0x1c')][_0x4964('0x45')]=htmlToText['fromString'](_0x315df7[_0x4964('0x1c')][_0x4964('0x45')]);respondWithRpcPromise(_0x4964('0x7d'),_0x4964('0x7d'),{'event':_0x4964('0x87'),'message':_0x444eef['message']},client9002);return _0x315df7;}return null;})[_0x4964('0x14')](respondWithResult(_0x567715,null))[_0x4964('0x41')](handleError(_0x567715,null));};exports['download']=function(_0x45101c,_0x3f6ef6){var _0x57db80=moment()[_0x4964('0x88')]()['toString']();var _0x5db56d=path[_0x4964('0x89')](config['root'],_0x4964('0x8a'),_0x4964('0x8b'),_0x4964('0x8c'));var _0x28e5bd=path[_0x4964('0x89')](config[_0x4964('0x8d')],_0x4964('0x8a'),_0x4964('0x8b'),'attachments');var _0x16a0af=util[_0x4964('0x5d')](_0x4964('0x8e'),_0x57db80);return db[_0x4964('0x2b')]['find']({'where':{'id':_0x45101c[_0x4964('0x42')]['id']},'attributes':['id',_0x4964('0x45'),_0x4964('0x8f'),'to','cc',_0x4964('0x90'),_0x4964('0x91'),_0x4964('0x92')],'include':_0x45101c[_0x4964('0x2d')][_0x4964('0x54')]?[{'model':db[_0x4964('0x93')],'as':'Attachments'}]:undefined})[_0x4964('0x14')](handleEntityNotFound(_0x3f6ef6,null))[_0x4964('0x14')](function(_0x23b449){if(_0x23b449){var _0x425be2=_0x23b449;var _0x8a56cb={'from':_0x425be2[_0x4964('0x8f')],'to':_0x425be2['to'],'subject':_0x425be2['subject'],'html':htmlEntities[_0x4964('0x94')](_0x425be2[_0x4964('0x45')]),'headers':{'Date':moment(_0x425be2[_0x4964('0x92')])[_0x4964('0x5d')](_0x4964('0x95'))},'attachments':[]};if(_0x23b449['cc']){_0x8a56cb['headers']['Cc']=_0x23b449['cc'];}if(_0x23b449[_0x4964('0x90')]){_0x8a56cb[_0x4964('0x96')][_0x4964('0x97')]=_0x23b449[_0x4964('0x90')];}return new BPromise(function(_0x15985f,_0x4f3fd7){if(_0x23b449['Attachments']){for(var _0x5b48da=0x0;_0x5b48da<_0x23b449[_0x4964('0x98')][_0x4964('0x34')];_0x5b48da++){var _0x321195=_0x23b449[_0x4964('0x98')][_0x5b48da];var _0x1b4ba2=path[_0x4964('0x89')](_0x28e5bd,_0x321195['basename']);if(fs[_0x4964('0x99')](_0x1b4ba2)){_0x8a56cb[_0x4964('0x54')][_0x4964('0x9a')]({'name':_0x321195['name'],'contentType':_0x321195[_0x4964('0x9b')],'data':fs[_0x4964('0x9c')](_0x1b4ba2)});}}}emlformat[_0x4964('0x9d')](_0x8a56cb,function(_0xc95951,_0xcfda99){if(_0xc95951)return _0x4f3fd7(_0xc95951);fs['writeFileSync'](path[_0x4964('0x89')](_0x5db56d,_0x16a0af),_0xcfda99);return _0x15985f(_0xcfda99);});});}})['then'](function(_0x44f0b4){if(_0x44f0b4){return _0x3f6ef6['download'](path[_0x4964('0x89')](_0x5db56d,_0x16a0af),_0x16a0af,function(_0x3fb44d){if(!_0x3fb44d)fs[_0x4964('0x9e')](path[_0x4964('0x89')](_0x5db56d,_0x16a0af));});}})[_0x4964('0x41')](handleError(_0x3f6ef6,null));};