Built motion from commit 753c950e.|2.5.42
[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 _0x6759=['secure','authentication','user','pass','auth','attachments','join','root','basename','List','ListId','List\x20not\x20found','SendMail','sendMail','messageId','YYYY-MM-DD\x20HH:mm:ss','mail','readAt','format','UserId','agent','get','MailInteraction','read1stAt','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','AcceptMessage','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','Sequelize','QueryTypes','SELECT','contact','fullname','email','internal','manual','interface','SIP/%s','channel','event','accept','EventManager','acceptmessage','reject','MailInteractionId','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','User','motionChannel','fromString','rejectmessage','unix','toString','files','tmp','from','bcc','subject','createdAt','Attachment','Attachments','decode','headers','Bcc','push','readFileSync','build','writeFileSync','download','unlinkSync','eml-format','moment','bluebird','util','path','lodash','ioredis','html-to-text','../../components/parsers/qs','../../config/logger','mail-interactions','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','html-entities','jayson/promise','http','client','request','then','info','MailMessage,\x20%s,\x20%s','debug','MailMessage,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','status','json','undefined','count','offset','set','Content-Range','update','destroy','name','send','index','MailMessage','fieldName','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','filters','pick','filter','merge','map','VIRTUAL','includeAll','rows','catch','show','params','keys','rawAttributes','include','options','find','body','describe','create','out','secret','split','MailAccount','MailAccountId','CmList','CmContact','Contacts','updatedAt','DESC','MailServerOut','Smtp','isNil','service','host','port'];(function(_0x11121c,_0x1075e0){var _0x2ef372=function(_0x4faa10){while(--_0x4faa10){_0x11121c['push'](_0x11121c['shift']());}};_0x2ef372(++_0x1075e0);}(_0x6759,0xf2));var _0x9675=function(_0x4b3ec4,_0x3c573c){_0x4b3ec4=_0x4b3ec4-0x0;var _0x192836=_0x6759[_0x4b3ec4];return _0x192836;};'use strict';var emlformat=require(_0x9675('0x0'));var moment=require(_0x9675('0x1'));var BPromise=require(_0x9675('0x2'));var util=require(_0x9675('0x3'));var path=require(_0x9675('0x4'));var fs=require('fs');var _=require(_0x9675('0x5'));var Redis=require(_0x9675('0x6'));var htmlToText=require(_0x9675('0x7'));var qs=require(_0x9675('0x8'));var logger=require(_0x9675('0x9'))('api');var interaction_log=require(_0x9675('0x9'))(_0x9675('0xa'));var config=require(_0x9675('0xb'));var db=require(_0x9675('0xc'))['db'];config[_0x9675('0xd')]=_[_0x9675('0xe')](config['redis'],{'host':_0x9675('0xf'),'port':0x18eb});var socket=require(_0x9675('0x10'))(new Redis(config[_0x9675('0xd')]));var htmlEntities=require(_0x9675('0x11'));require('./mailMessage.socket')['register'](socket);var jayson=require(_0x9675('0x12'));var client=jayson['client'][_0x9675('0x13')]({'port':0x232c});var client9003=jayson[_0x9675('0x14')][_0x9675('0x13')]({'port':0x232b});var client9002=jayson['client'][_0x9675('0x13')]({'port':0x232a});function respondWithRpcPromise(_0x5b38d0,_0x16388a,_0x2ecd60,_0x510afe){return new BPromise(function(_0x3ab62a,_0x37b254){var _0x1dfaad=_0x510afe||client;return _0x1dfaad[_0x9675('0x15')](_0x5b38d0,_0x2ecd60)[_0x9675('0x16')](function(_0x293bc4){logger[_0x9675('0x17')](_0x9675('0x18'),_0x16388a,'request\x20sent');logger[_0x9675('0x19')](_0x9675('0x1a'),_0x16388a,_0x9675('0x1b'),JSON[_0x9675('0x1c')](_0x293bc4));if(_0x293bc4[_0x9675('0x1d')]){if(_0x293bc4[_0x9675('0x1d')][_0x9675('0x1e')]===0x1f4){logger[_0x9675('0x1d')](_0x9675('0x18'),_0x16388a,_0x293bc4[_0x9675('0x1d')][_0x9675('0x1f')]);return _0x37b254(_0x293bc4[_0x9675('0x1d')][_0x9675('0x1f')]);}logger[_0x9675('0x1d')]('MailMessage,\x20%s,\x20%s',_0x16388a,_0x293bc4[_0x9675('0x1d')][_0x9675('0x1f')]);return _0x3ab62a(_0x293bc4[_0x9675('0x1d')][_0x9675('0x1f')]);}else{logger[_0x9675('0x17')](_0x9675('0x18'),_0x16388a,_0x9675('0x1b'));_0x3ab62a(_0x293bc4[_0x9675('0x20')][_0x9675('0x1f')]);}})['catch'](function(_0x166c4f){logger[_0x9675('0x1d')]('MailMessage,\x20%s,\x20%s',_0x16388a,_0x166c4f);_0x37b254(_0x166c4f);});});}function respondWithResult(_0x2bec45,_0x4b1b94){_0x4b1b94=_0x4b1b94||0xc8;return function(_0x16085a){if(_0x16085a){return _0x2bec45[_0x9675('0x21')](_0x4b1b94)[_0x9675('0x22')](_0x16085a);}};}function respondWithFilteredResult(_0xee0050,_0x3b35ec){return function(_0x1b12a4){if(_0x1b12a4){var _0x3ec76c=typeof _0x3b35ec['offset']===_0x9675('0x23')&&typeof _0x3b35ec['limit']===_0x9675('0x23');var _0x49c4aa=_0x1b12a4[_0x9675('0x24')];var _0xbeb645=_0x3ec76c?0x0:_0x3b35ec[_0x9675('0x25')];var _0x1c7c03=_0x3ec76c?_0x1b12a4['count']:_0x3b35ec['offset']+_0x3b35ec['limit'];var _0x38152d;if(_0x1c7c03>=_0x49c4aa){_0x1c7c03=_0x49c4aa;_0x38152d=0xc8;}else{_0x38152d=0xce;}_0xee0050[_0x9675('0x21')](_0x38152d);return _0xee0050[_0x9675('0x26')](_0x9675('0x27'),_0xbeb645+'-'+_0x1c7c03+'/'+_0x49c4aa)[_0x9675('0x22')](_0x1b12a4);}return null;};}function saveUpdates(_0x56eadd){return function(_0x42cd99){if(_0x42cd99){return _0x42cd99[_0x9675('0x28')](_0x56eadd)[_0x9675('0x16')](function(_0xf6822f){return _0xf6822f;});}return null;};}function removeEntity(_0x28b24b){return function(_0x506146){if(_0x506146){return _0x506146[_0x9675('0x29')]()[_0x9675('0x16')](function(){_0x28b24b[_0x9675('0x21')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2e2e0f){return function(_0x4c543d){if(!_0x4c543d){_0x2e2e0f['sendStatus'](0x194);}return _0x4c543d;};}function handleError(_0x303431,_0x25e584){_0x25e584=_0x25e584||0x1f4;return function(_0x606d3f){logger['error'](_0x606d3f['stack']);if(_0x606d3f[_0x9675('0x2a')]){delete _0x606d3f[_0x9675('0x2a')];}_0x303431[_0x9675('0x21')](_0x25e584)[_0x9675('0x2b')](_0x606d3f);};}exports[_0x9675('0x2c')]=function(_0x168aff,_0x5573b0){var _0x175dfe={},_0x4f2a57={},_0x16e54f={'count':0x0,'rows':[]};var _0x25a5c0=_['map'](db[_0x9675('0x2d')]['rawAttributes'],function(_0x42f8a1){return{'name':_0x42f8a1[_0x9675('0x2e')],'type':_0x42f8a1[_0x9675('0x2f')][_0x9675('0x30')]};});_0x4f2a57[_0x9675('0x31')]=_['map'](_0x25a5c0,_0x9675('0x2a'));_0x4f2a57['query']=_['keys'](_0x168aff[_0x9675('0x32')]);_0x4f2a57['filters']=_[_0x9675('0x33')](_0x4f2a57[_0x9675('0x31')],_0x4f2a57[_0x9675('0x32')]);_0x175dfe[_0x9675('0x34')]=_[_0x9675('0x33')](_0x4f2a57[_0x9675('0x31')],qs['fields'](_0x168aff['query'][_0x9675('0x35')]));_0x175dfe[_0x9675('0x34')]=_0x175dfe[_0x9675('0x34')][_0x9675('0x36')]?_0x175dfe[_0x9675('0x34')]:_0x4f2a57[_0x9675('0x31')];if(!_0x168aff[_0x9675('0x32')][_0x9675('0x37')](_0x9675('0x38'))){_0x175dfe['limit']=qs[_0x9675('0x39')](_0x168aff[_0x9675('0x32')][_0x9675('0x39')]);_0x175dfe[_0x9675('0x25')]=qs[_0x9675('0x25')](_0x168aff[_0x9675('0x32')][_0x9675('0x25')]);}_0x175dfe[_0x9675('0x3a')]=qs[_0x9675('0x3b')](_0x168aff[_0x9675('0x32')][_0x9675('0x3b')]);_0x175dfe[_0x9675('0x3c')]=qs[_0x9675('0x3d')](_[_0x9675('0x3e')](_0x168aff[_0x9675('0x32')],_0x4f2a57['filters']),_0x25a5c0);if(_0x168aff[_0x9675('0x32')][_0x9675('0x3f')]){_0x175dfe['where']=_[_0x9675('0x40')](_0x175dfe[_0x9675('0x3c')],{'$or':_[_0x9675('0x41')](_0x25a5c0,function(_0xec271d){if(_0xec271d[_0x9675('0x2f')]!==_0x9675('0x42')){var _0x1d791b={};_0x1d791b[_0xec271d[_0x9675('0x2a')]]={'$like':'%'+_0x168aff[_0x9675('0x32')][_0x9675('0x3f')]+'%'};return _0x1d791b;}})});}_0x175dfe=_[_0x9675('0x40')]({},_0x175dfe,_0x168aff['options']);var _0x88fcb2={'where':_0x175dfe[_0x9675('0x3c')]};return db[_0x9675('0x2d')]['count'](_0x88fcb2)[_0x9675('0x16')](function(_0x10d7d5){_0x16e54f['count']=_0x10d7d5;if(_0x168aff['query'][_0x9675('0x43')]){_0x175dfe['include']=[{'all':!![]}];}return db[_0x9675('0x2d')]['findAll'](_0x175dfe);})['then'](function(_0x4adee5){_0x16e54f[_0x9675('0x44')]=_0x4adee5;return _0x16e54f;})[_0x9675('0x16')](respondWithFilteredResult(_0x5573b0,_0x175dfe))[_0x9675('0x45')](handleError(_0x5573b0,null));};exports[_0x9675('0x46')]=function(_0x2d75b7,_0x4a63d2){var _0x4499cc={'raw':!![],'where':{'id':_0x2d75b7[_0x9675('0x47')]['id']}},_0x474475={};_0x474475[_0x9675('0x31')]=_[_0x9675('0x48')](db[_0x9675('0x2d')][_0x9675('0x49')]);_0x474475[_0x9675('0x32')]=_['keys'](_0x2d75b7['query']);_0x474475[_0x9675('0x3d')]=_[_0x9675('0x33')](_0x474475['model'],_0x474475[_0x9675('0x32')]);_0x4499cc[_0x9675('0x34')]=_[_0x9675('0x33')](_0x474475[_0x9675('0x31')],qs[_0x9675('0x35')](_0x2d75b7[_0x9675('0x32')][_0x9675('0x35')]));_0x4499cc[_0x9675('0x34')]=_0x4499cc[_0x9675('0x34')][_0x9675('0x36')]?_0x4499cc['attributes']:_0x474475['model'];if(_0x2d75b7[_0x9675('0x32')]['includeAll']){_0x4499cc[_0x9675('0x4a')]=[{'all':!![]}];}_0x4499cc=_['merge']({},_0x4499cc,_0x2d75b7[_0x9675('0x4b')]);return db[_0x9675('0x2d')][_0x9675('0x4c')](_0x4499cc)[_0x9675('0x16')](handleEntityNotFound(_0x4a63d2,null))[_0x9675('0x16')](respondWithResult(_0x4a63d2,null))[_0x9675('0x45')](handleError(_0x4a63d2,null));};exports[_0x9675('0x28')]=function(_0x15126f,_0x3cb441){if(_0x15126f[_0x9675('0x4d')]['id']){delete _0x15126f[_0x9675('0x4d')]['id'];}return db[_0x9675('0x2d')][_0x9675('0x4c')]({'where':{'id':_0x15126f['params']['id']}})[_0x9675('0x16')](handleEntityNotFound(_0x3cb441,null))['then'](saveUpdates(_0x15126f[_0x9675('0x4d')],null))['then'](respondWithResult(_0x3cb441,null))[_0x9675('0x45')](handleError(_0x3cb441,null));};exports[_0x9675('0x29')]=function(_0x237b29,_0x34dc60){return db[_0x9675('0x2d')][_0x9675('0x4c')]({'where':{'id':_0x237b29['params']['id']}})[_0x9675('0x16')](handleEntityNotFound(_0x34dc60,null))[_0x9675('0x16')](removeEntity(_0x34dc60,null))[_0x9675('0x45')](handleError(_0x34dc60,null));};exports[_0x9675('0x4e')]=function(_0x136b1e,_0x8dcd22){return db[_0x9675('0x2d')][_0x9675('0x4e')]()['then'](respondWithResult(_0x8dcd22,null))[_0x9675('0x45')](handleError(_0x8dcd22,null));};exports['create']=function(_0x8e0f4f,_0x35f7d0){return db['MailMessage'][_0x9675('0x4f')](_0x8e0f4f['body'])['then'](function(_0x1c4d1b){if(_0x1c4d1b){if(_0x1c4d1b['direction']===_0x9675('0x50')&&!_0x1c4d1b[_0x9675('0x51')]){var _0x2ac9cf,_0x1e5ecc,_0x3cbd12;if(_0x8e0f4f[_0x9675('0x4d')]['to']){_0x1e5ecc=_0x8e0f4f[_0x9675('0x4d')]['to'][_0x9675('0x52')](',')[0x0];}return db[_0x9675('0x53')]['findOne']({'where':{'id':_0x1c4d1b[_0x9675('0x54')]},'include':[{'model':db[_0x9675('0x55')],'as':'List','include':[{'model':db[_0x9675('0x56')],'as':_0x9675('0x57'),'where':{'email':_0x1e5ecc},'limit':0x1,'order':[[_0x9675('0x58'),_0x9675('0x59')]]}]},{'model':db[_0x9675('0x5a')],'as':_0x9675('0x5b'),'raw':!![]}]})[_0x9675('0x16')](function(_0x3fc737){_0x2ac9cf=_0x3fc737;if(_0x2ac9cf&&_0x2ac9cf[_0x9675('0x5b')]){var _0x454c98={'tls':{'rejectUnauthorized':![]}};if(_[_0x9675('0x5c')](_0x2ac9cf['Smtp'][_0x9675('0x5d')])){_0x454c98[_0x9675('0x5e')]=_0x2ac9cf[_0x9675('0x5b')][_0x9675('0x5e')];_0x454c98[_0x9675('0x5f')]=_0x2ac9cf[_0x9675('0x5b')][_0x9675('0x5f')];_0x454c98[_0x9675('0x60')]=_0x2ac9cf[_0x9675('0x5b')][_0x9675('0x60')];if(_0x2ac9cf[_0x9675('0x5b')][_0x9675('0x61')]){_0x454c98['auth']={'user':_0x2ac9cf['Smtp'][_0x9675('0x62')],'pass':_0x2ac9cf[_0x9675('0x5b')][_0x9675('0x63')]};}}else{_0x454c98[_0x9675('0x5d')]=_0x2ac9cf[_0x9675('0x5b')][_0x9675('0x5d')];_0x454c98[_0x9675('0x64')]={'user':_0x2ac9cf[_0x9675('0x5b')][_0x9675('0x62')],'pass':_0x2ac9cf[_0x9675('0x5b')][_0x9675('0x63')]};_0x454c98[_0x9675('0x60')]=_0x2ac9cf[_0x9675('0x5b')][_0x9675('0x60')];}if(_0x8e0f4f['body'][_0x9675('0x65')]&&_0x8e0f4f[_0x9675('0x4d')][_0x9675('0x65')][_0x9675('0x36')]){for(var _0x275efe=0x0;_0x275efe<_0x8e0f4f['body']['attachments'][_0x9675('0x36')];_0x275efe+=0x1){_0x8e0f4f[_0x9675('0x4d')][_0x9675('0x65')][_0x275efe]={'filename':_0x8e0f4f[_0x9675('0x4d')][_0x9675('0x65')][_0x275efe][_0x9675('0x2a')],'path':path[_0x9675('0x66')](config[_0x9675('0x67')],'server/files/attachments',_0x8e0f4f['body'][_0x9675('0x65')][_0x275efe][_0x9675('0x68')])};}}_0x3cbd12={'account':_0x454c98,'message':_0x8e0f4f[_0x9675('0x4d')]};return;}})[_0x9675('0x16')](function(){if(_0x2ac9cf[_0x9675('0x69')]){if(_0x2ac9cf['List']['Contacts'][_0x9675('0x36')]){return _0x2ac9cf['List'][_0x9675('0x57')][0x0];}else{return db[_0x9675('0x56')][_0x9675('0x4f')](_[_0x9675('0xe')](_0x8e0f4f['body'],{'firstName':_0x8e0f4f['body']['to'],'email':_0x8e0f4f[_0x9675('0x4d')]['to'],'phone':_0x8e0f4f[_0x9675('0x4d')]['to'],'ListId':_0x2ac9cf[_0x9675('0x6a')]}));}}else{throw new Error(_0x9675('0x6b'));}})[_0x9675('0x16')](function(){if(_0x3cbd12){return respondWithRpcPromise(_0x9675('0x6c'),_0x9675('0x6d'),_0x3cbd12,client9003)['then'](function(_0x32e7a9){return _0x1c4d1b[_0x9675('0x28')]({'read':!![],'messageId':_0x32e7a9[_0x9675('0x6e')],'sentAt':moment()['format'](_0x9675('0x6f'))});})[_0x9675('0x45')](function(_0x444aa6){logger['error']('%s',JSON['stringify'](_0x444aa6));return _0x1c4d1b;});}return _0x1c4d1b;});}return _0x1c4d1b;}})[_0x9675('0x16')](respondWithResult(_0x35f7d0,0xc9))[_0x9675('0x45')](handleError(_0x35f7d0,null));};exports['accept']=function(_0x258d78,_0xd61e07){var _0x30602e={'agent':{},'channel':_0x9675('0x70')};if(_0x258d78[_0x9675('0x4d')]['id']){delete _0x258d78[_0x9675('0x4d')]['id'];}_0x258d78[_0x9675('0x4d')]['read']=!![];_0x258d78[_0x9675('0x4d')][_0x9675('0x71')]=moment()[_0x9675('0x72')]('YYYY-MM-DD\x20HH:mm:ss');_0x258d78[_0x9675('0x4d')][_0x9675('0x73')]=_0x258d78['body']['UserId']||_0x258d78['user']['id'];_0x30602e[_0x9675('0x74')]['id']=_0x258d78['body'][_0x9675('0x73')];return db[_0x9675('0x2d')][_0x9675('0x4c')]({'where':{'id':_0x258d78[_0x9675('0x47')]['id'],'UserId':null}})[_0x9675('0x16')](handleEntityNotFound(_0xd61e07,null))[_0x9675('0x16')](saveUpdates(_0x258d78[_0x9675('0x4d')],null))[_0x9675('0x16')](function(_0x315d8f){if(_0x315d8f){_0x30602e[_0x9675('0x1f')]=_0x315d8f[_0x9675('0x75')]({'plain':!![]});return db[_0x9675('0x76')][_0x9675('0x4c')]({'where':{'id':_0x315d8f['MailInteractionId']}});}return null;})[_0x9675('0x16')](handleEntityNotFound(_0xd61e07,null))[_0x9675('0x16')](function(_0xbb3851){if(_0xbb3851){return _0xbb3851[_0x9675('0x28')]({'UserId':_0x258d78[_0x9675('0x4d')][_0x9675('0x73')],'read1stAt':_[_0x9675('0x5c')](_0xbb3851[_0x9675('0x77')])?moment()[_0x9675('0x72')](_0x9675('0x6f')):undefined});}return null;})['then'](function(_0x2c7766){if(_0x2c7766){_0x30602e[_0x9675('0x78')]=_0x2c7766[_0x9675('0x75')]({'plain':!![]});interaction_log['info'](_0x9675('0x79'),_0x258d78['user']['id'],_0x258d78[_0x9675('0x62')]['name'],_0x258d78['user'][_0x9675('0x7a')],_0x30602e[_0x9675('0x78')]['id'],_0x258d78[_0x9675('0x4d')]?JSON[_0x9675('0x1c')](_0x258d78[_0x9675('0x4d')]):_0x9675('0x7b'));return respondWithRpcPromise(_0x9675('0x7c'),_0x9675('0x7d'),_0x30602e);}return null;})[_0x9675('0x16')](function(_0x496583){var _0x2f58f0=_0x9675('0x7e')+_0x496583[_0x9675('0x1f')][_0x9675('0x7f')];return db['sequelize'][_0x9675('0x32')](_0x2f58f0,{'type':db[_0x9675('0x80')][_0x9675('0x81')][_0x9675('0x82')],'raw':!![]})['then'](function(_0x4f79dd){return _0x4f79dd;});})['then'](function(_0x42c85a){if(_0x42c85a){_0x30602e[_0x9675('0x1f')][_0x9675('0x83')]=_0x42c85a[0x0];if(!_0x258d78['body'][_0x9675('0x73')])return;return db['User']['find']({'where':{'id':_0x258d78['body'][_0x9675('0x73')],'role':_0x9675('0x74')},'attributes':['id',_0x9675('0x2a'),_0x9675('0x84'),_0x9675('0x85'),_0x9675('0x86')],'raw':!![]});}return null;})[_0x9675('0x16')](function(_0x377c57){if(!_0x377c57)return null;_0x30602e[_0x9675('0x1f')][_0x9675('0x74')]=_0x377c57;return _0x30602e;})['then'](function(_0x34bf07){if(_0x34bf07){if(_0x258d78[_0x9675('0x4d')][_0x9675('0x87')]){_0x30602e[_0x9675('0x1f')][_0x9675('0x88')]=util[_0x9675('0x72')](_0x9675('0x89'),_0x258d78[_0x9675('0x62')][_0x9675('0x2a')]);_0x30602e[_0x9675('0x1f')]['channel']=_0x30602e[_0x9675('0x8a')];_0x30602e[_0x9675('0x1f')]['motionChannel']=_0x30602e['channel'];_0x30602e['message'][_0x9675('0x8b')]=_0x9675('0x8c');_0x30602e[_0x9675('0x1f')]['body']=htmlToText['fromString'](_0x30602e[_0x9675('0x1f')][_0x9675('0x4d')]);return respondWithRpcPromise(_0x9675('0x8d'),_0x9675('0x8d'),{'event':_0x9675('0x8e'),'message':_0x30602e[_0x9675('0x1f')]},client9002)['then'](function(){return _0x30602e;});}return _0x30602e;}return null;})['then'](respondWithResult(_0xd61e07,null))[_0x9675('0x45')](handleError(_0xd61e07,null));};exports[_0x9675('0x8f')]=function(_0x122213,_0x5111f4){var _0x529f45={'agent':{},'channel':_0x9675('0x70')};if(_0x122213[_0x9675('0x4d')]['id']){delete _0x122213[_0x9675('0x4d')]['id'];}_0x122213[_0x9675('0x4d')][_0x9675('0x73')]=_0x122213[_0x9675('0x4d')][_0x9675('0x73')]||_0x122213[_0x9675('0x62')]['id'];_0x529f45[_0x9675('0x74')]['id']=_0x122213[_0x9675('0x4d')][_0x9675('0x73')];return db[_0x9675('0x2d')]['find']({'where':{'id':_0x122213[_0x9675('0x47')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x5111f4,null))['then'](function(_0x3da104){if(_0x3da104){_0x529f45[_0x9675('0x1f')]=_0x3da104['get']({'plain':!![]});return db['MailInteraction'][_0x9675('0x4c')]({'where':{'id':_0x3da104[_0x9675('0x90')]}});}return null;})[_0x9675('0x16')](handleEntityNotFound(_0x5111f4,null))[_0x9675('0x16')](function(_0x4b4d79){if(_0x4b4d79){_0x529f45[_0x9675('0x78')]=_0x4b4d79[_0x9675('0x75')]({'plain':!![]});interaction_log[_0x9675('0x17')](_0x9675('0x91'),_0x122213['user']['id'],_0x122213['user'][_0x9675('0x2a')],_0x122213[_0x9675('0x62')][_0x9675('0x7a')],_0x529f45[_0x9675('0x78')]['id'],_0x122213[_0x9675('0x4d')]?JSON[_0x9675('0x1c')](_0x122213[_0x9675('0x4d')]):_0x9675('0x7b'));return respondWithRpcPromise('RejectMessage','rejectMessage',_0x529f45);}return null;})[_0x9675('0x16')](function(_0x3672e5){var _0x262f54=_0x9675('0x7e')+_0x3672e5['message'][_0x9675('0x7f')];return db['sequelize']['query'](_0x262f54,{'type':db[_0x9675('0x80')]['QueryTypes']['SELECT'],'raw':!![]})[_0x9675('0x16')](function(_0x521f7e){return _0x521f7e;});})[_0x9675('0x16')](function(_0x11c459){if(_0x11c459){_0x529f45[_0x9675('0x1f')][_0x9675('0x83')]=_0x11c459[0x0];if(!_0x122213[_0x9675('0x4d')][_0x9675('0x73')])return;return db[_0x9675('0x92')][_0x9675('0x4c')]({'where':{'id':_0x122213[_0x9675('0x4d')]['UserId'],'role':_0x9675('0x74')},'attributes':['id',_0x9675('0x2a'),_0x9675('0x84'),_0x9675('0x85'),_0x9675('0x86')],'raw':!![]});}return null;})['then'](function(_0x357295){if(!_0x357295)return null;_0x529f45[_0x9675('0x1f')][_0x9675('0x74')]=_0x357295;return _0x529f45;})[_0x9675('0x16')](function(_0x3a13d4){if(_0x3a13d4){_0x3a13d4[_0x9675('0x1f')]['interface']=util[_0x9675('0x72')]('SIP/%s',_0x122213['user'][_0x9675('0x2a')]);_0x3a13d4[_0x9675('0x1f')][_0x9675('0x8a')]=_0x529f45[_0x9675('0x8a')];_0x3a13d4[_0x9675('0x1f')][_0x9675('0x93')]=_0x529f45['channel'];_0x3a13d4[_0x9675('0x1f')][_0x9675('0x8b')]=_0x9675('0x8f');_0x3a13d4[_0x9675('0x1f')][_0x9675('0x4d')]=htmlToText[_0x9675('0x94')](_0x529f45[_0x9675('0x1f')][_0x9675('0x4d')]);respondWithRpcPromise(_0x9675('0x8d'),'EventManager',{'event':_0x9675('0x95'),'message':_0x3a13d4['message']},client9002);return _0x529f45;}return null;})[_0x9675('0x16')](respondWithResult(_0x5111f4,null))['catch'](handleError(_0x5111f4,null));};exports['download']=function(_0x3b37c5,_0xdadcc7){var _0x2174bb=moment()[_0x9675('0x96')]()[_0x9675('0x97')]();var _0x61d421=path[_0x9675('0x66')](config[_0x9675('0x67')],'server',_0x9675('0x98'),_0x9675('0x99'));var _0x4f2a73=path['join'](config['root'],'server',_0x9675('0x98'),_0x9675('0x65'));var _0x30b436=util[_0x9675('0x72')]('message-%s.eml',_0x2174bb);return db[_0x9675('0x2d')][_0x9675('0x4c')]({'where':{'id':_0x3b37c5['params']['id']},'attributes':['id',_0x9675('0x4d'),_0x9675('0x9a'),'to','cc',_0x9675('0x9b'),_0x9675('0x9c'),_0x9675('0x9d')],'include':_0x3b37c5[_0x9675('0x32')][_0x9675('0x65')]?[{'model':db[_0x9675('0x9e')],'as':_0x9675('0x9f')}]:undefined})[_0x9675('0x16')](handleEntityNotFound(_0xdadcc7,null))['then'](function(_0x831b5e){if(_0x831b5e){var _0x4155a6=_0x831b5e;var _0x52ee02={'from':_0x4155a6[_0x9675('0x9a')],'to':_0x4155a6['to'],'subject':_0x4155a6['subject'],'html':htmlEntities[_0x9675('0xa0')](_0x4155a6[_0x9675('0x4d')]),'headers':{'Date':moment(_0x4155a6['createdAt'])[_0x9675('0x72')]('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x831b5e['cc']){_0x52ee02[_0x9675('0xa1')]['Cc']=_0x831b5e['cc'];}if(_0x831b5e[_0x9675('0x9b')]){_0x52ee02[_0x9675('0xa1')][_0x9675('0xa2')]=_0x831b5e[_0x9675('0x9b')];}return new BPromise(function(_0x4e3b49,_0x34a969){if(_0x831b5e[_0x9675('0x9f')]){for(var _0x31731e=0x0;_0x31731e<_0x831b5e[_0x9675('0x9f')]['length'];_0x31731e++){var _0x496b01=_0x831b5e['Attachments'][_0x31731e];var _0x1aca79=path[_0x9675('0x66')](_0x4f2a73,_0x496b01[_0x9675('0x68')]);if(fs['existsSync'](_0x1aca79)){_0x52ee02[_0x9675('0x65')][_0x9675('0xa3')]({'name':_0x496b01[_0x9675('0x2a')],'contentType':_0x496b01[_0x9675('0x2f')],'data':fs[_0x9675('0xa4')](_0x1aca79)});}}}emlformat[_0x9675('0xa5')](_0x52ee02,function(_0x40122a,_0x5d5b5a){if(_0x40122a)return _0x34a969(_0x40122a);fs[_0x9675('0xa6')](path[_0x9675('0x66')](_0x61d421,_0x30b436),_0x5d5b5a);return _0x4e3b49(_0x5d5b5a);});});}})[_0x9675('0x16')](function(_0x4e48f2){if(_0x4e48f2){return _0xdadcc7[_0x9675('0xa7')](path[_0x9675('0x66')](_0x61d421,_0x30b436),_0x30b436,function(_0x5b273b){if(!_0x5b273b)fs[_0x9675('0xa8')](path[_0x9675('0x66')](_0x61d421,_0x30b436));});}})['catch'](handleError(_0xdadcc7,null));};