Built motion from commit (unavailable).|2.5.28
[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 _0x8f17=['length','includeAll','find','body','describe','create','direction','secret','split','MailAccount','findOne','CmList','List','CmContact','MailServerOut','Smtp','isNil','host','port','secure','authentication','service','auth','pass','attachments','root','server/files/attachments','basename','Contacts','ListId','List\x20not\x20found','SendMail','messageId','YYYY-MM-DD\x20HH:mm:ss','mail-interactions','accept','mail','read','readAt','format','UserId','user','agent','get','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','acceptMessage','manual','channel','event','EventManager','acceptmessage','MailInteractionId','interaction','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','SIP/%s','rejectmessage','unix','toString','join','files','tmp','server','message-%s.eml','from','bcc','subject','createdAt','Attachments','headers','Bcc','existsSync','push','readFileSync','build','writeFileSync','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','defaults','redis','socket.io-emitter','./mailMessage.socket','client','http','request','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','end','status','count','offset','limit','set','Content-Range','json','apply','reject','save','update','destroy','stack','send','map','MailMessage','rawAttributes','fieldName','type','key','model','name','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','pick','merge','VIRTUAL','options','findAll','rows','show','params'];(function(_0x39443c,_0x25bf1f){var _0x39a016=function(_0x352fc3){while(--_0x352fc3){_0x39443c['push'](_0x39443c['shift']());}};_0x39a016(++_0x25bf1f);}(_0x8f17,0xfb));var _0x78f1=function(_0x24d06a,_0x59c850){_0x24d06a=_0x24d06a-0x0;var _0x4a987d=_0x8f17[_0x24d06a];return _0x4a987d;};'use strict';var emlformat=require(_0x78f1('0x0'));var rimraf=require(_0x78f1('0x1'));var zipdir=require(_0x78f1('0x2'));var jsonpatch=require(_0x78f1('0x3'));var rp=require(_0x78f1('0x4'));var moment=require('moment');var BPromise=require(_0x78f1('0x5'));var Mustache=require(_0x78f1('0x6'));var util=require(_0x78f1('0x7'));var path=require(_0x78f1('0x8'));var sox=require(_0x78f1('0x9'));var csv=require(_0x78f1('0xa'));var ejs=require(_0x78f1('0xb'));var fs=require('fs');var fs_extra=require(_0x78f1('0xc'));var _=require(_0x78f1('0xd'));var squel=require('squel');var crypto=require(_0x78f1('0xe'));var jsforce=require(_0x78f1('0xf'));var deskjs=require(_0x78f1('0x10'));var toCsv=require('to-csv');var querystring=require(_0x78f1('0x11'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x78f1('0x12'));var qs=require(_0x78f1('0x13'));var as=require(_0x78f1('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x78f1('0x15'))(_0x78f1('0x16'));var utils=require(_0x78f1('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x78f1('0x18'));var db=require(_0x78f1('0x19'))['db'];config['redis']=_[_0x78f1('0x1a')](config[_0x78f1('0x1b')],{'host':'localhost','port':0x18eb});var socket=require(_0x78f1('0x1c'))(new Redis(config[_0x78f1('0x1b')]));require(_0x78f1('0x1d'))['register'](socket);var jayson=require('jayson/promise');var client=jayson[_0x78f1('0x1e')][_0x78f1('0x1f')]({'port':0x232c});var client9003=jayson['client']['http']({'port':0x232b});var client9002=jayson[_0x78f1('0x1e')]['http']({'port':0x232a});function respondWithRpcPromise(_0x3807e9,_0x5108b6,_0x59f315,_0x5f7fc7){return new BPromise(function(_0x4b0492,_0x469759){var _0x550993=_0x5f7fc7||client;return _0x550993[_0x78f1('0x20')](_0x3807e9,_0x59f315)[_0x78f1('0x21')](function(_0x17c4f5){logger[_0x78f1('0x22')](_0x78f1('0x23'),_0x5108b6,_0x78f1('0x24'));logger[_0x78f1('0x25')](_0x78f1('0x26'),_0x5108b6,_0x78f1('0x24'),JSON[_0x78f1('0x27')](_0x17c4f5));if(_0x17c4f5[_0x78f1('0x28')]){if(_0x17c4f5['error'][_0x78f1('0x29')]===0x1f4){logger[_0x78f1('0x28')](_0x78f1('0x23'),_0x5108b6,_0x17c4f5[_0x78f1('0x28')][_0x78f1('0x2a')]);return _0x469759(_0x17c4f5[_0x78f1('0x28')][_0x78f1('0x2a')]);}logger[_0x78f1('0x28')](_0x78f1('0x23'),_0x5108b6,_0x17c4f5[_0x78f1('0x28')]['message']);return _0x4b0492(_0x17c4f5[_0x78f1('0x28')][_0x78f1('0x2a')]);}else{logger[_0x78f1('0x22')](_0x78f1('0x23'),_0x5108b6,_0x78f1('0x24'));_0x4b0492(_0x17c4f5[_0x78f1('0x2b')][_0x78f1('0x2a')]);}})[_0x78f1('0x2c')](function(_0x1261bb){logger[_0x78f1('0x28')](_0x78f1('0x23'),_0x5108b6,_0x1261bb);_0x469759(_0x1261bb);});});}function respondWithStatusCode(_0x5e8cc3,_0x4c59ca){_0x4c59ca=_0x4c59ca||0xcc;return function(_0x5f04e9){if(_0x5f04e9){return _0x5e8cc3[_0x78f1('0x2d')](_0x4c59ca);}return _0x5e8cc3['status'](_0x4c59ca)[_0x78f1('0x2e')]();};}function respondWithResult(_0x368de1,_0x306063){_0x306063=_0x306063||0xc8;return function(_0x44ad8c){if(_0x44ad8c){return _0x368de1[_0x78f1('0x2f')](_0x306063)['json'](_0x44ad8c);}};}function respondWithFilteredResult(_0x47f798,_0x59efcd){return function(_0x281573){if(_0x281573){var _0x20734c=_0x281573[_0x78f1('0x30')],_0x5cc0e1=_0x59efcd[_0x78f1('0x31')],_0x3de6b3=_0x59efcd[_0x78f1('0x31')]+_0x59efcd[_0x78f1('0x32')],_0x50fc6d;if(_0x3de6b3>=_0x20734c){_0x3de6b3=_0x20734c;_0x50fc6d=0xc8;}else{_0x50fc6d=0xce;}_0x47f798[_0x78f1('0x2f')](_0x50fc6d);return _0x47f798[_0x78f1('0x33')](_0x78f1('0x34'),_0x5cc0e1+'-'+_0x3de6b3+'/'+_0x20734c)[_0x78f1('0x35')](_0x281573);}return null;};}function patchUpdates(_0x501d17){return function(_0x4e34c2){try{jsonpatch[_0x78f1('0x36')](_0x4e34c2,_0x501d17,!![]);}catch(_0x2f43e){return BPromise[_0x78f1('0x37')](_0x2f43e);}return _0x4e34c2[_0x78f1('0x38')]();};}function saveUpdates(_0x3451e7,_0x3ebc17){return function(_0x182e7d){if(_0x182e7d){return _0x182e7d[_0x78f1('0x39')](_0x3451e7)[_0x78f1('0x21')](function(_0x3f34c3){return _0x3f34c3;});}return null;};}function removeEntity(_0x43a942,_0x17d6c3){return function(_0x47e757){if(_0x47e757){return _0x47e757[_0x78f1('0x3a')]()[_0x78f1('0x21')](function(){_0x43a942['status'](0xcc)[_0x78f1('0x2e')]();});}};}function handleEntityNotFound(_0x4911a6,_0x247762){return function(_0x4f2d17){if(!_0x4f2d17){_0x4911a6[_0x78f1('0x2d')](0x194);}return _0x4f2d17;};}function handleError(_0x3ebc5c,_0x366c2f){_0x366c2f=_0x366c2f||0x1f4;return function(_0x2cfdf3){logger[_0x78f1('0x28')](_0x2cfdf3[_0x78f1('0x3b')]);if(_0x2cfdf3['name']){delete _0x2cfdf3['name'];}_0x3ebc5c[_0x78f1('0x2f')](_0x366c2f)[_0x78f1('0x3c')](_0x2cfdf3);};}exports['index']=function(_0x484769,_0x34debb){var _0x3fb010={},_0x52bccd={},_0xe804d4={'count':0x0,'rows':[]};var _0x475f54=_[_0x78f1('0x3d')](db[_0x78f1('0x3e')][_0x78f1('0x3f')],function(_0x215198){return{'name':_0x215198[_0x78f1('0x40')],'type':_0x215198[_0x78f1('0x41')][_0x78f1('0x42')]};});_0x52bccd[_0x78f1('0x43')]=_['map'](_0x475f54,_0x78f1('0x44'));_0x52bccd[_0x78f1('0x45')]=_[_0x78f1('0x46')](_0x484769['query']);_0x52bccd[_0x78f1('0x47')]=_[_0x78f1('0x48')](_0x52bccd[_0x78f1('0x43')],_0x52bccd[_0x78f1('0x45')]);_0x3fb010[_0x78f1('0x49')]=_[_0x78f1('0x48')](_0x52bccd['model'],qs[_0x78f1('0x4a')](_0x484769[_0x78f1('0x45')][_0x78f1('0x4a')]));_0x3fb010['attributes']=_0x3fb010[_0x78f1('0x49')]['length']?_0x3fb010[_0x78f1('0x49')]:_0x52bccd['model'];if(!_0x484769['query'][_0x78f1('0x4b')]('nolimit')){_0x3fb010[_0x78f1('0x32')]=qs[_0x78f1('0x32')](_0x484769[_0x78f1('0x45')][_0x78f1('0x32')]);_0x3fb010['offset']=qs[_0x78f1('0x31')](_0x484769['query'][_0x78f1('0x31')]);}_0x3fb010[_0x78f1('0x4c')]=qs['sort'](_0x484769[_0x78f1('0x45')][_0x78f1('0x4d')]);_0x3fb010[_0x78f1('0x4e')]=qs[_0x78f1('0x47')](_[_0x78f1('0x4f')](_0x484769[_0x78f1('0x45')],_0x52bccd[_0x78f1('0x47')]),_0x475f54);if(_0x484769[_0x78f1('0x45')]['filter']){_0x3fb010['where']=_[_0x78f1('0x50')](_0x3fb010[_0x78f1('0x4e')],{'$or':_[_0x78f1('0x3d')](_0x475f54,function(_0x321340){if(_0x321340[_0x78f1('0x41')]!==_0x78f1('0x51')){var _0x3255ad={};_0x3255ad[_0x321340[_0x78f1('0x44')]]={'$like':'%'+_0x484769[_0x78f1('0x45')]['filter']+'%'};return _0x3255ad;}})});}_0x3fb010=_[_0x78f1('0x50')]({},_0x3fb010,_0x484769[_0x78f1('0x52')]);var _0x4b91c0={'where':_0x3fb010[_0x78f1('0x4e')]};return db['MailMessage']['count'](_0x4b91c0)['then'](function(_0x19b23e){_0xe804d4[_0x78f1('0x30')]=_0x19b23e;if(_0x484769['query']['includeAll']){_0x3fb010['include']=[{'all':!![]}];}return db[_0x78f1('0x3e')][_0x78f1('0x53')](_0x3fb010);})['then'](function(_0x86d9b){_0xe804d4[_0x78f1('0x54')]=_0x86d9b;return _0xe804d4;})[_0x78f1('0x21')](respondWithFilteredResult(_0x34debb,_0x3fb010))[_0x78f1('0x2c')](handleError(_0x34debb,null));};exports[_0x78f1('0x55')]=function(_0x5cfbda,_0x1b0d38){var _0x143b6e={'raw':!![],'where':{'id':_0x5cfbda[_0x78f1('0x56')]['id']}},_0x586c2c={};_0x586c2c['model']=_[_0x78f1('0x46')](db[_0x78f1('0x3e')][_0x78f1('0x3f')]);_0x586c2c[_0x78f1('0x45')]=_[_0x78f1('0x46')](_0x5cfbda[_0x78f1('0x45')]);_0x586c2c[_0x78f1('0x47')]=_[_0x78f1('0x48')](_0x586c2c[_0x78f1('0x43')],_0x586c2c['query']);_0x143b6e[_0x78f1('0x49')]=_[_0x78f1('0x48')](_0x586c2c[_0x78f1('0x43')],qs[_0x78f1('0x4a')](_0x5cfbda[_0x78f1('0x45')][_0x78f1('0x4a')]));_0x143b6e[_0x78f1('0x49')]=_0x143b6e['attributes'][_0x78f1('0x57')]?_0x143b6e[_0x78f1('0x49')]:_0x586c2c[_0x78f1('0x43')];if(_0x5cfbda['query'][_0x78f1('0x58')]){_0x143b6e['include']=[{'all':!![]}];}_0x143b6e=_[_0x78f1('0x50')]({},_0x143b6e,_0x5cfbda['options']);return db['MailMessage'][_0x78f1('0x59')](_0x143b6e)[_0x78f1('0x21')](handleEntityNotFound(_0x1b0d38,null))[_0x78f1('0x21')](respondWithResult(_0x1b0d38,null))['catch'](handleError(_0x1b0d38,null));};exports[_0x78f1('0x39')]=function(_0x229736,_0xc5328){if(_0x229736[_0x78f1('0x5a')]['id']){delete _0x229736[_0x78f1('0x5a')]['id'];}return db['MailMessage'][_0x78f1('0x59')]({'where':{'id':_0x229736['params']['id']}})[_0x78f1('0x21')](handleEntityNotFound(_0xc5328,null))['then'](saveUpdates(_0x229736[_0x78f1('0x5a')],null))[_0x78f1('0x21')](respondWithResult(_0xc5328,null))[_0x78f1('0x2c')](handleError(_0xc5328,null));};exports[_0x78f1('0x3a')]=function(_0x153991,_0x39840d){return db[_0x78f1('0x3e')][_0x78f1('0x59')]({'where':{'id':_0x153991[_0x78f1('0x56')]['id']}})['then'](handleEntityNotFound(_0x39840d,null))[_0x78f1('0x21')](removeEntity(_0x39840d,null))[_0x78f1('0x2c')](handleError(_0x39840d,null));};exports[_0x78f1('0x5b')]=function(_0x3f6f48,_0x538253){return db[_0x78f1('0x3e')][_0x78f1('0x5b')]()[_0x78f1('0x21')](respondWithResult(_0x538253,null))[_0x78f1('0x2c')](handleError(_0x538253,null));};exports[_0x78f1('0x5c')]=function(_0x3c2cd6,_0x450289){return db[_0x78f1('0x3e')][_0x78f1('0x5c')](_0x3c2cd6[_0x78f1('0x5a')])[_0x78f1('0x21')](function(_0x36b020){if(_0x36b020){if(_0x36b020[_0x78f1('0x5d')]==='out'&&!_0x36b020[_0x78f1('0x5e')]){var _0x1390ee,_0x2797b1,_0xa6fde6;if(_0x3c2cd6[_0x78f1('0x5a')]['to']){_0x2797b1=_0x3c2cd6[_0x78f1('0x5a')]['to'][_0x78f1('0x5f')](',')[0x0];}return db[_0x78f1('0x60')][_0x78f1('0x61')]({'where':{'id':_0x36b020['MailAccountId']},'include':[{'model':db[_0x78f1('0x62')],'as':_0x78f1('0x63'),'include':[{'model':db[_0x78f1('0x64')],'as':'Contacts','where':{'email':_0x2797b1},'limit':0x1,'order':[['updatedAt','DESC']]}]},{'model':db[_0x78f1('0x65')],'as':_0x78f1('0x66'),'raw':!![]}]})[_0x78f1('0x21')](function(_0xd5d344){_0x1390ee=_0xd5d344;if(_0x1390ee&&_0x1390ee[_0x78f1('0x66')]){var _0x148ba5={'tls':{'rejectUnauthorized':![]}};if(_[_0x78f1('0x67')](_0x1390ee[_0x78f1('0x66')]['service'])){_0x148ba5['host']=_0x1390ee[_0x78f1('0x66')][_0x78f1('0x68')];_0x148ba5[_0x78f1('0x69')]=_0x1390ee[_0x78f1('0x66')][_0x78f1('0x69')];_0x148ba5[_0x78f1('0x6a')]=_0x1390ee['Smtp'][_0x78f1('0x6a')];if(_0x1390ee[_0x78f1('0x66')][_0x78f1('0x6b')]){_0x148ba5['auth']={'user':_0x1390ee[_0x78f1('0x66')]['user'],'pass':_0x1390ee[_0x78f1('0x66')]['pass']};}}else{_0x148ba5[_0x78f1('0x6c')]=_0x1390ee['Smtp']['service'];_0x148ba5[_0x78f1('0x6d')]={'user':_0x1390ee[_0x78f1('0x66')]['user'],'pass':_0x1390ee['Smtp'][_0x78f1('0x6e')]};_0x148ba5['secure']=_0x1390ee[_0x78f1('0x66')]['secure'];}if(_0x3c2cd6['body'][_0x78f1('0x6f')]&&_0x3c2cd6[_0x78f1('0x5a')][_0x78f1('0x6f')][_0x78f1('0x57')]){for(var _0x1d0da6=0x0;_0x1d0da6<_0x3c2cd6[_0x78f1('0x5a')]['attachments']['length'];_0x1d0da6+=0x1){_0x3c2cd6[_0x78f1('0x5a')][_0x78f1('0x6f')][_0x1d0da6]={'filename':_0x3c2cd6['body'][_0x78f1('0x6f')][_0x1d0da6][_0x78f1('0x44')],'path':path['join'](config[_0x78f1('0x70')],_0x78f1('0x71'),_0x3c2cd6[_0x78f1('0x5a')][_0x78f1('0x6f')][_0x1d0da6][_0x78f1('0x72')])};}}_0xa6fde6={'account':_0x148ba5,'message':_0x3c2cd6[_0x78f1('0x5a')]};return;}})[_0x78f1('0x21')](function(){if(_0x1390ee['List']){if(_0x1390ee['List'][_0x78f1('0x73')][_0x78f1('0x57')]){return _0x1390ee[_0x78f1('0x63')][_0x78f1('0x73')][0x0];}else{return db[_0x78f1('0x64')][_0x78f1('0x5c')](_[_0x78f1('0x1a')](_0x3c2cd6[_0x78f1('0x5a')],{'firstName':_0x3c2cd6[_0x78f1('0x5a')]['to'],'email':_0x3c2cd6[_0x78f1('0x5a')]['to'],'phone':_0x3c2cd6['body']['to'],'ListId':_0x1390ee[_0x78f1('0x74')]}));}}else{throw new Error(_0x78f1('0x75'));}})[_0x78f1('0x21')](function(){if(_0xa6fde6){return respondWithRpcPromise(_0x78f1('0x76'),'sendMail',_0xa6fde6,client9003)[_0x78f1('0x21')](function(_0x9733d2){return _0x36b020[_0x78f1('0x39')]({'read':!![],'messageId':_0x9733d2[_0x78f1('0x77')],'sentAt':moment()['format'](_0x78f1('0x78'))});})[_0x78f1('0x2c')](function(_0x52b10f){logger[_0x78f1('0x28')]('%s',JSON['stringify'](_0x52b10f));return _0x36b020;});}return _0x36b020;});}return _0x36b020;}})[_0x78f1('0x21')](respondWithResult(_0x450289,0xc9))[_0x78f1('0x2c')](handleError(_0x450289,null));};var interaction_log=require(_0x78f1('0x15'))(_0x78f1('0x79'));exports[_0x78f1('0x7a')]=function(_0x5891e6,_0xfe441c,_0x11b00f){var _0x5ed60a={'agent':{},'channel':_0x78f1('0x7b')};if(_0x5891e6[_0x78f1('0x5a')]['id']){delete _0x5891e6[_0x78f1('0x5a')]['id'];}_0x5891e6['body'][_0x78f1('0x7c')]=!![];_0x5891e6[_0x78f1('0x5a')][_0x78f1('0x7d')]=moment()[_0x78f1('0x7e')](_0x78f1('0x78'));_0x5891e6[_0x78f1('0x5a')][_0x78f1('0x7f')]=_0x5891e6['body']['UserId']||_0x5891e6[_0x78f1('0x80')]['id'];_0x5ed60a[_0x78f1('0x81')]['id']=_0x5891e6[_0x78f1('0x5a')]['UserId'];return db[_0x78f1('0x3e')][_0x78f1('0x59')]({'where':{'id':_0x5891e6[_0x78f1('0x56')]['id'],'UserId':null},'include':[{'model':db['CmContact'],'as':'Contact'}]})[_0x78f1('0x21')](handleEntityNotFound(_0xfe441c,null))[_0x78f1('0x21')](saveUpdates(_0x5891e6[_0x78f1('0x5a')],null))[_0x78f1('0x21')](function(_0x3901b1){if(_0x3901b1){_0x5ed60a[_0x78f1('0x2a')]=_0x3901b1[_0x78f1('0x82')]({'plain':!![]});return db['MailInteraction'][_0x78f1('0x59')]({'where':{'id':_0x3901b1['MailInteractionId']}});}return null;})[_0x78f1('0x21')](handleEntityNotFound(_0xfe441c,null))[_0x78f1('0x21')](function(_0x117899){if(_0x117899){return _0x117899['update']({'UserId':_0x5891e6[_0x78f1('0x5a')][_0x78f1('0x7f')],'read1stAt':_['isNil'](_0x117899['read1stAt'])?moment()[_0x78f1('0x7e')](_0x78f1('0x78')):undefined});}return null;})[_0x78f1('0x21')](function(_0x118d4f){if(_0x118d4f){_0x5ed60a['interaction']=_0x118d4f[_0x78f1('0x82')]({'plain':!![]});interaction_log[_0x78f1('0x22')](_0x78f1('0x83'),_0x5891e6[_0x78f1('0x80')]['id'],_0x5891e6[_0x78f1('0x80')]['name'],_0x5891e6[_0x78f1('0x80')][_0x78f1('0x84')],_0x5ed60a['interaction']['id'],_0x5891e6['body']?JSON['stringify'](_0x5891e6[_0x78f1('0x5a')]):_0x78f1('0x85'));return respondWithRpcPromise('AcceptMessage',_0x78f1('0x86'),_0x5ed60a);}return null;})[_0x78f1('0x21')](function(_0x383cc1){if(_0x383cc1){if(_0x5891e6['body'][_0x78f1('0x87')]){_0x5ed60a[_0x78f1('0x2a')]['interface']=util['format']('SIP/%s',_0x5891e6['user'][_0x78f1('0x44')]);_0x5ed60a['message'][_0x78f1('0x88')]=_0x5ed60a[_0x78f1('0x88')];_0x5ed60a[_0x78f1('0x2a')][_0x78f1('0x89')]='accept';return respondWithRpcPromise(_0x78f1('0x8a'),_0x78f1('0x8a'),{'event':_0x78f1('0x8b'),'message':_0x5ed60a[_0x78f1('0x2a')]},client9002)[_0x78f1('0x21')](function(){return _0x5ed60a;});}return _0x5ed60a;}return null;})[_0x78f1('0x21')](respondWithResult(_0xfe441c,null))['catch'](handleError(_0xfe441c,null));};var interaction_log=require(_0x78f1('0x15'))(_0x78f1('0x79'));exports[_0x78f1('0x37')]=function(_0x3f2e1b,_0x46585a,_0x5cc573){var _0xbd7c63={'agent':{},'channel':_0x78f1('0x7b')};if(_0x3f2e1b['body']['id']){delete _0x3f2e1b[_0x78f1('0x5a')]['id'];}_0x3f2e1b['body'][_0x78f1('0x7f')]=_0x3f2e1b[_0x78f1('0x5a')][_0x78f1('0x7f')]||_0x3f2e1b['user']['id'];_0xbd7c63[_0x78f1('0x81')]['id']=_0x3f2e1b[_0x78f1('0x5a')][_0x78f1('0x7f')];return db[_0x78f1('0x3e')][_0x78f1('0x59')]({'where':{'id':_0x3f2e1b[_0x78f1('0x56')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x46585a,null))[_0x78f1('0x21')](function(_0x1a59d1){if(_0x1a59d1){_0xbd7c63['message']=_0x1a59d1['get']({'plain':!![]});return db['MailInteraction'][_0x78f1('0x59')]({'where':{'id':_0x1a59d1[_0x78f1('0x8c')]}});}return null;})[_0x78f1('0x21')](handleEntityNotFound(_0x46585a,null))[_0x78f1('0x21')](function(_0x201c72){if(_0x201c72){_0xbd7c63[_0x78f1('0x8d')]=_0x201c72[_0x78f1('0x82')]({'plain':!![]});interaction_log['info'](_0x78f1('0x8e'),_0x3f2e1b[_0x78f1('0x80')]['id'],_0x3f2e1b[_0x78f1('0x80')][_0x78f1('0x44')],_0x3f2e1b[_0x78f1('0x80')][_0x78f1('0x84')],_0xbd7c63[_0x78f1('0x8d')]['id'],_0x3f2e1b[_0x78f1('0x5a')]?JSON['stringify'](_0x3f2e1b[_0x78f1('0x5a')]):_0x78f1('0x85'));return respondWithRpcPromise(_0x78f1('0x8f'),_0x78f1('0x90'),_0xbd7c63);}return null;})[_0x78f1('0x21')](function(_0x2a1350){if(_0x2a1350){_0x2a1350[_0x78f1('0x2a')]['interface']=util[_0x78f1('0x7e')](_0x78f1('0x91'),_0x3f2e1b[_0x78f1('0x80')][_0x78f1('0x44')]);_0x2a1350[_0x78f1('0x2a')]['channel']=_0xbd7c63[_0x78f1('0x88')];_0x2a1350['message'][_0x78f1('0x89')]='reject';respondWithRpcPromise(_0x78f1('0x8a'),_0x78f1('0x8a'),{'event':_0x78f1('0x92'),'message':_0x2a1350[_0x78f1('0x2a')]},client9002);return _0xbd7c63;}return null;})['then'](respondWithResult(_0x46585a,null))['catch'](handleError(_0x46585a,null));};exports['download']=function(_0x179d9c,_0x4bab29){var _0x4208ca=moment()[_0x78f1('0x93')]()[_0x78f1('0x94')]();var _0xa4190e=path[_0x78f1('0x95')](config[_0x78f1('0x70')],'server',_0x78f1('0x96'),_0x78f1('0x97'));var _0x26df7e=path[_0x78f1('0x95')](config[_0x78f1('0x70')],_0x78f1('0x98'),_0x78f1('0x96'),_0x78f1('0x6f'));var _0x16ba87=util[_0x78f1('0x7e')](_0x78f1('0x99'),_0x4208ca);return db['MailMessage'][_0x78f1('0x59')]({'where':{'id':_0x179d9c[_0x78f1('0x56')]['id']},'attributes':['id',_0x78f1('0x5a'),_0x78f1('0x9a'),'to','cc',_0x78f1('0x9b'),_0x78f1('0x9c'),_0x78f1('0x9d')],'include':_0x179d9c['query']['attachments']?[{'model':db['Attachment'],'as':_0x78f1('0x9e')}]:undefined})[_0x78f1('0x21')](handleEntityNotFound(_0x4bab29,null))[_0x78f1('0x21')](function(_0x97b722){if(_0x97b722){var _0x15efe4=_0x97b722;var _0x3d1151={'from':_0x15efe4[_0x78f1('0x9a')],'to':_0x15efe4['to'],'subject':_0x15efe4[_0x78f1('0x9c')],'html':_0x15efe4[_0x78f1('0x5a')],'headers':{'Date':moment(_0x15efe4[_0x78f1('0x9d')])[_0x78f1('0x7e')]('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x97b722['cc']){_0x3d1151[_0x78f1('0x9f')]['Cc']=_0x97b722['cc'];}if(_0x97b722[_0x78f1('0x9b')]){_0x3d1151[_0x78f1('0x9f')][_0x78f1('0xa0')]=_0x97b722[_0x78f1('0x9b')];}return new BPromise(function(_0x46bf5d,_0x59b726){if(_0x97b722['Attachments']){for(var _0x3979d2=0x0;_0x3979d2<_0x97b722[_0x78f1('0x9e')][_0x78f1('0x57')];_0x3979d2++){var _0x515782=_0x97b722[_0x78f1('0x9e')][_0x3979d2];var _0xeb2560=path[_0x78f1('0x95')](_0x26df7e,_0x515782[_0x78f1('0x72')]);if(fs[_0x78f1('0xa1')](_0xeb2560)){_0x3d1151['attachments'][_0x78f1('0xa2')]({'name':_0x515782[_0x78f1('0x44')],'contentType':_0x515782[_0x78f1('0x41')],'data':fs[_0x78f1('0xa3')](_0xeb2560)});}}}emlformat[_0x78f1('0xa4')](_0x3d1151,function(_0x1eef70,_0x1536a7){if(_0x1eef70)return _0x59b726(_0x1eef70);fs[_0x78f1('0xa5')](path['join'](_0xa4190e,_0x16ba87),_0x1536a7);return _0x46bf5d(_0x1536a7);});});}})[_0x78f1('0x21')](function(_0x1885c4){if(_0x1885c4){return _0x4bab29['download'](path[_0x78f1('0x95')](_0xa4190e,_0x16ba87),_0x16ba87,function(_0xf663e6){if(_0xf663e6){console[_0x78f1('0xa6')](_0x78f1('0xa7'),_0xf663e6);}else{fs[_0x78f1('0xa8')](path[_0x78f1('0x95')](_0xa4190e,_0x16ba87));}});}})[_0x78f1('0x2c')](handleError(_0x4bab29,null));};