Built motion from commit 25580385.|2.6.2
[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 _0x812a=['redis','localhost','socket.io-emitter','./mailMessage.socket','register','jayson/promise','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','status','json','offset','undefined','limit','count','set','Content-Range','update','destroy','end','sendStatus','stack','name','send','index','map','MailMessage','rawAttributes','fieldName','key','keys','query','model','attributes','fields','length','hasOwnProperty','sort','filters','pick','where','merge','options','includeAll','include','findAll','rows','show','params','intersection','find','body','describe','create','split','MailAccount','findOne','CmList','List','CmContact','Contacts','updatedAt','DESC','MailServerOut','Smtp','attachments','root','server/files/attachments','basename','ListId','List\x20not\x20found','SendMail','messageId','accept','mail','read','readAt','format','YYYY-MM-DD\x20HH:mm:ss','UserId','agent','get','MailInteraction','isNil','read1stAt','interaction','user','role','null','acceptMessage','Sequelize','QueryTypes','SELECT','contact','User','fullname','email','internal','manual','SIP/%s','channel','motionChannel','event','fromString','EventManager','acceptmessage','reject','RejectMessage','rejectMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','sequelize','interface','rejectmessage','download','unix','toString','join','server','files','tmp','message-%s.eml','bcc','subject','from','createdAt','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','Attachments','existsSync','type','readFileSync','writeFileSync','unlinkSync','eml-format','moment','util','path','lodash','ioredis','html-to-text','../../components/parsers/qs','../../config/logger','mail-interactions','../../config/environment','../../mysqldb','defaults'];(function(_0x6bca48,_0x454186){var _0x5dd29d=function(_0x39642f){while(--_0x39642f){_0x6bca48['push'](_0x6bca48['shift']());}};_0x5dd29d(++_0x454186);}(_0x812a,0x1d0));var _0xa812=function(_0x194d60,_0x1c4efa){_0x194d60=_0x194d60-0x0;var _0x2cec22=_0x812a[_0x194d60];return _0x2cec22;};'use strict';var emlformat=require(_0xa812('0x0'));var moment=require(_0xa812('0x1'));var BPromise=require('bluebird');var util=require(_0xa812('0x2'));var path=require(_0xa812('0x3'));var fs=require('fs');var _=require(_0xa812('0x4'));var Redis=require(_0xa812('0x5'));var htmlToText=require(_0xa812('0x6'));var qs=require(_0xa812('0x7'));var logger=require(_0xa812('0x8'))('api');var interaction_log=require(_0xa812('0x8'))(_0xa812('0x9'));var config=require(_0xa812('0xa'));var db=require(_0xa812('0xb'))['db'];config['redis']=_[_0xa812('0xc')](config[_0xa812('0xd')],{'host':_0xa812('0xe'),'port':0x18eb});var socket=require(_0xa812('0xf'))(new Redis(config[_0xa812('0xd')]));var htmlEntities=require('html-entities');require(_0xa812('0x10'))[_0xa812('0x11')](socket);var jayson=require(_0xa812('0x12'));var client=jayson[_0xa812('0x13')][_0xa812('0x14')]({'port':0x232c});var client9003=jayson[_0xa812('0x13')][_0xa812('0x14')]({'port':0x232b});var client9002=jayson[_0xa812('0x13')]['http']({'port':0x232a});function respondWithRpcPromise(_0x1fae25,_0x5d0091,_0x91adab,_0x126d72){return new BPromise(function(_0x4f5b47,_0x49b8b5){var _0xc8f123=_0x126d72||client;return _0xc8f123[_0xa812('0x15')](_0x1fae25,_0x91adab)[_0xa812('0x16')](function(_0x15f8d2){logger[_0xa812('0x17')](_0xa812('0x18'),_0x5d0091,_0xa812('0x19'));logger[_0xa812('0x1a')](_0xa812('0x1b'),_0x5d0091,_0xa812('0x19'),JSON[_0xa812('0x1c')](_0x15f8d2));if(_0x15f8d2[_0xa812('0x1d')]){if(_0x15f8d2[_0xa812('0x1d')][_0xa812('0x1e')]===0x1f4){logger['error']('MailMessage,\x20%s,\x20%s',_0x5d0091,_0x15f8d2['error'][_0xa812('0x1f')]);return _0x49b8b5(_0x15f8d2['error'][_0xa812('0x1f')]);}logger['error'](_0xa812('0x18'),_0x5d0091,_0x15f8d2[_0xa812('0x1d')][_0xa812('0x1f')]);return _0x4f5b47(_0x15f8d2[_0xa812('0x1d')][_0xa812('0x1f')]);}else{logger['info'](_0xa812('0x18'),_0x5d0091,'request\x20sent');_0x4f5b47(_0x15f8d2[_0xa812('0x20')][_0xa812('0x1f')]);}})[_0xa812('0x21')](function(_0xccddd7){logger[_0xa812('0x1d')](_0xa812('0x18'),_0x5d0091,_0xccddd7);_0x49b8b5(_0xccddd7);});});}function respondWithResult(_0x24787a,_0x23d7e3){_0x23d7e3=_0x23d7e3||0xc8;return function(_0x1fd355){if(_0x1fd355){return _0x24787a[_0xa812('0x22')](_0x23d7e3)[_0xa812('0x23')](_0x1fd355);}};}function respondWithFilteredResult(_0x1f9178,_0x1a3e47){return function(_0x37eb1c){if(_0x37eb1c){var _0x1bce84=typeof _0x1a3e47[_0xa812('0x24')]===_0xa812('0x25')&&typeof _0x1a3e47[_0xa812('0x26')]===_0xa812('0x25');var _0x409420=_0x37eb1c['count'];var _0x3eeaa8=_0x1bce84?0x0:_0x1a3e47[_0xa812('0x24')];var _0x3797de=_0x1bce84?_0x37eb1c[_0xa812('0x27')]:_0x1a3e47[_0xa812('0x24')]+_0x1a3e47[_0xa812('0x26')];var _0x2e8e0f;if(_0x3797de>=_0x409420){_0x3797de=_0x409420;_0x2e8e0f=0xc8;}else{_0x2e8e0f=0xce;}_0x1f9178[_0xa812('0x22')](_0x2e8e0f);return _0x1f9178[_0xa812('0x28')](_0xa812('0x29'),_0x3eeaa8+'-'+_0x3797de+'/'+_0x409420)[_0xa812('0x23')](_0x37eb1c);}return null;};}function saveUpdates(_0x53af89){return function(_0xa1803d){if(_0xa1803d){return _0xa1803d[_0xa812('0x2a')](_0x53af89)[_0xa812('0x16')](function(_0x10212e){return _0x10212e;});}return null;};}function removeEntity(_0x390dff){return function(_0x534080){if(_0x534080){return _0x534080[_0xa812('0x2b')]()[_0xa812('0x16')](function(){_0x390dff['status'](0xcc)[_0xa812('0x2c')]();});}};}function handleEntityNotFound(_0x1ce64b){return function(_0x41d144){if(!_0x41d144){_0x1ce64b[_0xa812('0x2d')](0x194);}return _0x41d144;};}function handleError(_0x573d65,_0x5a7ae3){_0x5a7ae3=_0x5a7ae3||0x1f4;return function(_0x40338c){logger['error'](_0x40338c[_0xa812('0x2e')]);if(_0x40338c['name']){delete _0x40338c[_0xa812('0x2f')];}_0x573d65['status'](_0x5a7ae3)[_0xa812('0x30')](_0x40338c);};}exports[_0xa812('0x31')]=function(_0x2c0197,_0x1166bc){var _0x553f5f={},_0x559d32={},_0x519682={'count':0x0,'rows':[]};var _0x2b1a76=_[_0xa812('0x32')](db[_0xa812('0x33')][_0xa812('0x34')],function(_0x3d6167){return{'name':_0x3d6167[_0xa812('0x35')],'type':_0x3d6167['type'][_0xa812('0x36')]};});_0x559d32['model']=_[_0xa812('0x32')](_0x2b1a76,_0xa812('0x2f'));_0x559d32['query']=_[_0xa812('0x37')](_0x2c0197[_0xa812('0x38')]);_0x559d32['filters']=_['intersection'](_0x559d32[_0xa812('0x39')],_0x559d32['query']);_0x553f5f[_0xa812('0x3a')]=_['intersection'](_0x559d32['model'],qs[_0xa812('0x3b')](_0x2c0197[_0xa812('0x38')][_0xa812('0x3b')]));_0x553f5f[_0xa812('0x3a')]=_0x553f5f[_0xa812('0x3a')][_0xa812('0x3c')]?_0x553f5f[_0xa812('0x3a')]:_0x559d32[_0xa812('0x39')];if(!_0x2c0197[_0xa812('0x38')][_0xa812('0x3d')]('nolimit')){_0x553f5f[_0xa812('0x26')]=qs[_0xa812('0x26')](_0x2c0197[_0xa812('0x38')][_0xa812('0x26')]);_0x553f5f[_0xa812('0x24')]=qs[_0xa812('0x24')](_0x2c0197[_0xa812('0x38')][_0xa812('0x24')]);}_0x553f5f['order']=qs[_0xa812('0x3e')](_0x2c0197[_0xa812('0x38')]['sort']);_0x553f5f['where']=qs[_0xa812('0x3f')](_[_0xa812('0x40')](_0x2c0197[_0xa812('0x38')],_0x559d32[_0xa812('0x3f')]),_0x2b1a76);if(_0x2c0197[_0xa812('0x38')]['filter']){_0x553f5f[_0xa812('0x41')]=_[_0xa812('0x42')](_0x553f5f['where'],{'$or':_[_0xa812('0x32')](_0x2b1a76,function(_0x49d8b5){if(_0x49d8b5['type']!=='VIRTUAL'){var _0x3d81f1={};_0x3d81f1[_0x49d8b5['name']]={'$like':'%'+_0x2c0197['query']['filter']+'%'};return _0x3d81f1;}})});}_0x553f5f=_[_0xa812('0x42')]({},_0x553f5f,_0x2c0197[_0xa812('0x43')]);var _0x4723f0={'where':_0x553f5f[_0xa812('0x41')]};return db['MailMessage'][_0xa812('0x27')](_0x4723f0)[_0xa812('0x16')](function(_0x4f6aa4){_0x519682['count']=_0x4f6aa4;if(_0x2c0197[_0xa812('0x38')][_0xa812('0x44')]){_0x553f5f[_0xa812('0x45')]=[{'all':!![]}];}return db[_0xa812('0x33')][_0xa812('0x46')](_0x553f5f);})['then'](function(_0x3cd9a5){_0x519682[_0xa812('0x47')]=_0x3cd9a5;return _0x519682;})['then'](respondWithFilteredResult(_0x1166bc,_0x553f5f))[_0xa812('0x21')](handleError(_0x1166bc,null));};exports[_0xa812('0x48')]=function(_0x142169,_0x59fa18){var _0x43dc3c={'raw':!![],'where':{'id':_0x142169[_0xa812('0x49')]['id']}},_0x2cc8db={};_0x2cc8db['model']=_[_0xa812('0x37')](db[_0xa812('0x33')][_0xa812('0x34')]);_0x2cc8db[_0xa812('0x38')]=_[_0xa812('0x37')](_0x142169[_0xa812('0x38')]);_0x2cc8db[_0xa812('0x3f')]=_[_0xa812('0x4a')](_0x2cc8db[_0xa812('0x39')],_0x2cc8db[_0xa812('0x38')]);_0x43dc3c[_0xa812('0x3a')]=_[_0xa812('0x4a')](_0x2cc8db[_0xa812('0x39')],qs[_0xa812('0x3b')](_0x142169['query']['fields']));_0x43dc3c[_0xa812('0x3a')]=_0x43dc3c[_0xa812('0x3a')][_0xa812('0x3c')]?_0x43dc3c[_0xa812('0x3a')]:_0x2cc8db[_0xa812('0x39')];if(_0x142169['query'][_0xa812('0x44')]){_0x43dc3c['include']=[{'all':!![]}];}_0x43dc3c=_[_0xa812('0x42')]({},_0x43dc3c,_0x142169[_0xa812('0x43')]);return db[_0xa812('0x33')][_0xa812('0x4b')](_0x43dc3c)[_0xa812('0x16')](handleEntityNotFound(_0x59fa18,null))[_0xa812('0x16')](respondWithResult(_0x59fa18,null))['catch'](handleError(_0x59fa18,null));};exports[_0xa812('0x2a')]=function(_0x265fc2,_0x3e7829){if(_0x265fc2[_0xa812('0x4c')]['id']){delete _0x265fc2[_0xa812('0x4c')]['id'];}return db[_0xa812('0x33')][_0xa812('0x4b')]({'where':{'id':_0x265fc2[_0xa812('0x49')]['id']}})['then'](handleEntityNotFound(_0x3e7829,null))[_0xa812('0x16')](saveUpdates(_0x265fc2[_0xa812('0x4c')],null))['then'](respondWithResult(_0x3e7829,null))[_0xa812('0x21')](handleError(_0x3e7829,null));};exports['destroy']=function(_0x4756af,_0x3b283d){return db['MailMessage'][_0xa812('0x4b')]({'where':{'id':_0x4756af[_0xa812('0x49')]['id']}})[_0xa812('0x16')](handleEntityNotFound(_0x3b283d,null))[_0xa812('0x16')](removeEntity(_0x3b283d,null))[_0xa812('0x21')](handleError(_0x3b283d,null));};exports[_0xa812('0x4d')]=function(_0x394cb1,_0x1bcf2a){return db['MailMessage'][_0xa812('0x4d')]()[_0xa812('0x16')](respondWithResult(_0x1bcf2a,null))[_0xa812('0x21')](handleError(_0x1bcf2a,null));};exports[_0xa812('0x4e')]=function(_0x57be46,_0x40fb11){return db[_0xa812('0x33')]['create'](_0x57be46[_0xa812('0x4c')])[_0xa812('0x16')](function(_0x4e6e59){if(_0x4e6e59){if(_0x4e6e59['direction']==='out'&&!_0x4e6e59['secret']){var _0x44b7f1,_0x2a31fe,_0x21ff55;if(_0x57be46[_0xa812('0x4c')]['to']){_0x2a31fe=_0x57be46[_0xa812('0x4c')]['to'][_0xa812('0x4f')](',')[0x0];}return db[_0xa812('0x50')][_0xa812('0x51')]({'where':{'id':_0x4e6e59['MailAccountId']},'include':[{'model':db[_0xa812('0x52')],'as':_0xa812('0x53'),'include':[{'model':db[_0xa812('0x54')],'as':_0xa812('0x55'),'where':{'email':_0x2a31fe},'limit':0x1,'order':[[_0xa812('0x56'),_0xa812('0x57')]]}]},{'model':db[_0xa812('0x58')],'as':_0xa812('0x59'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':'CloudProvider','raw':!![]}]}]})['then'](function(_0x1ccb35){_0x44b7f1=_0x1ccb35;if(!_0x44b7f1||!_0x44b7f1[_0xa812('0x59')])return;var _0x11118c=_0x44b7f1['getSmtpOptions']();if(_0x57be46[_0xa812('0x4c')]['attachments']&&_0x57be46[_0xa812('0x4c')]['attachments'][_0xa812('0x3c')]){for(var _0x3641cd=0x0;_0x3641cd<_0x57be46[_0xa812('0x4c')][_0xa812('0x5a')][_0xa812('0x3c')];_0x3641cd+=0x1){_0x57be46[_0xa812('0x4c')][_0xa812('0x5a')][_0x3641cd]={'filename':_0x57be46['body']['attachments'][_0x3641cd]['name'],'path':path['join'](config[_0xa812('0x5b')],_0xa812('0x5c'),_0x57be46[_0xa812('0x4c')][_0xa812('0x5a')][_0x3641cd][_0xa812('0x5d')])};}}_0x21ff55={'account':_0x11118c,'message':_0x57be46[_0xa812('0x4c')]};return;})[_0xa812('0x16')](function(){if(_0x44b7f1[_0xa812('0x53')]){if(_0x44b7f1['List'][_0xa812('0x55')]['length']){return _0x44b7f1['List']['Contacts'][0x0];}else{return db[_0xa812('0x54')][_0xa812('0x4e')](_[_0xa812('0xc')](_0x57be46[_0xa812('0x4c')],{'firstName':_0x57be46[_0xa812('0x4c')]['to'],'email':_0x57be46[_0xa812('0x4c')]['to'],'phone':_0x57be46[_0xa812('0x4c')]['to'],'ListId':_0x44b7f1[_0xa812('0x5e')]}));}}else{throw new Error(_0xa812('0x5f'));}})['then'](function(){if(_0x21ff55){return respondWithRpcPromise(_0xa812('0x60'),'sendMail',_0x21ff55,client9003)[_0xa812('0x16')](function(_0x1329f1){return _0x4e6e59[_0xa812('0x2a')]({'read':!![],'messageId':_0x1329f1[_0xa812('0x61')],'sentAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss')});})[_0xa812('0x21')](function(_0x6d7e9d){logger['error']('%s',JSON[_0xa812('0x1c')](_0x6d7e9d));return _0x4e6e59;});}return _0x4e6e59;});}return _0x4e6e59;}})[_0xa812('0x16')](respondWithResult(_0x40fb11,0xc9))[_0xa812('0x21')](handleError(_0x40fb11,null));};exports[_0xa812('0x62')]=function(_0x24cf06,_0x3aa936){var _0xdc7a3={'agent':{},'channel':_0xa812('0x63')};if(_0x24cf06[_0xa812('0x4c')]['id']){delete _0x24cf06[_0xa812('0x4c')]['id'];}_0x24cf06['body'][_0xa812('0x64')]=!![];_0x24cf06[_0xa812('0x4c')][_0xa812('0x65')]=moment()[_0xa812('0x66')](_0xa812('0x67'));_0x24cf06[_0xa812('0x4c')][_0xa812('0x68')]=_0x24cf06['body'][_0xa812('0x68')]||_0x24cf06['user']['id'];_0xdc7a3[_0xa812('0x69')]['id']=_0x24cf06['body'][_0xa812('0x68')];return db[_0xa812('0x33')][_0xa812('0x4b')]({'where':{'id':_0x24cf06['params']['id'],'UserId':null}})[_0xa812('0x16')](handleEntityNotFound(_0x3aa936,null))['then'](saveUpdates(_0x24cf06[_0xa812('0x4c')],null))[_0xa812('0x16')](function(_0x3bb143){if(_0x3bb143){_0xdc7a3[_0xa812('0x1f')]=_0x3bb143[_0xa812('0x6a')]({'plain':!![]});return db[_0xa812('0x6b')][_0xa812('0x4b')]({'where':{'id':_0x3bb143['MailInteractionId']}});}return null;})[_0xa812('0x16')](handleEntityNotFound(_0x3aa936,null))[_0xa812('0x16')](function(_0x2645fa){if(_0x2645fa){return _0x2645fa[_0xa812('0x2a')]({'UserId':_0x24cf06[_0xa812('0x4c')][_0xa812('0x68')],'read1stAt':_[_0xa812('0x6c')](_0x2645fa[_0xa812('0x6d')])?moment()[_0xa812('0x66')](_0xa812('0x67')):undefined});}return null;})[_0xa812('0x16')](function(_0x55f019){if(_0x55f019){_0xdc7a3[_0xa812('0x6e')]=_0x55f019[_0xa812('0x6a')]({'plain':!![]});interaction_log['info']('[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x24cf06[_0xa812('0x6f')]['id'],_0x24cf06[_0xa812('0x6f')][_0xa812('0x2f')],_0x24cf06[_0xa812('0x6f')][_0xa812('0x70')],_0xdc7a3[_0xa812('0x6e')]['id'],_0x24cf06['body']?JSON[_0xa812('0x1c')](_0x24cf06[_0xa812('0x4c')]):_0xa812('0x71'));return respondWithRpcPromise('AcceptMessage',_0xa812('0x72'),_0xdc7a3);}return null;})[_0xa812('0x16')](function(_0x332b4f){var _0x43c3cb='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x332b4f['message']['ContactId'];return db['sequelize'][_0xa812('0x38')](_0x43c3cb,{'type':db[_0xa812('0x73')][_0xa812('0x74')][_0xa812('0x75')],'raw':!![]})['then'](function(_0x36a220){return _0x36a220;});})[_0xa812('0x16')](function(_0x49c0e8){if(_0x49c0e8){_0xdc7a3[_0xa812('0x1f')][_0xa812('0x76')]=_0x49c0e8[0x0];if(!_0x24cf06[_0xa812('0x4c')]['UserId'])return;return db[_0xa812('0x77')][_0xa812('0x4b')]({'where':{'id':_0x24cf06[_0xa812('0x4c')][_0xa812('0x68')],'role':_0xa812('0x69')},'attributes':['id',_0xa812('0x2f'),_0xa812('0x78'),_0xa812('0x79'),_0xa812('0x7a')],'raw':!![]});}return null;})[_0xa812('0x16')](function(_0x32c7e5){if(!_0x32c7e5)return null;_0xdc7a3['message'][_0xa812('0x69')]=_0x32c7e5;return _0xdc7a3;})[_0xa812('0x16')](function(_0x5b6520){if(_0x5b6520){if(_0x24cf06[_0xa812('0x4c')][_0xa812('0x7b')]){_0xdc7a3[_0xa812('0x1f')]['interface']=util['format'](_0xa812('0x7c'),_0x24cf06[_0xa812('0x6f')][_0xa812('0x2f')]);_0xdc7a3[_0xa812('0x1f')][_0xa812('0x7d')]=_0xdc7a3['channel'];_0xdc7a3[_0xa812('0x1f')][_0xa812('0x7e')]=_0xdc7a3[_0xa812('0x7d')];_0xdc7a3[_0xa812('0x1f')][_0xa812('0x7f')]=_0xa812('0x62');_0xdc7a3[_0xa812('0x1f')][_0xa812('0x4c')]=htmlToText[_0xa812('0x80')](_0xdc7a3[_0xa812('0x1f')][_0xa812('0x4c')]);return respondWithRpcPromise(_0xa812('0x81'),_0xa812('0x81'),{'event':_0xa812('0x82'),'message':_0xdc7a3[_0xa812('0x1f')]},client9002)[_0xa812('0x16')](function(){return _0xdc7a3;});}return _0xdc7a3;}return null;})[_0xa812('0x16')](respondWithResult(_0x3aa936,null))[_0xa812('0x21')](handleError(_0x3aa936,null));};exports[_0xa812('0x83')]=function(_0x2fe4a1,_0x47f3fe){var _0x5808ea={'agent':{},'channel':_0xa812('0x63')};if(_0x2fe4a1[_0xa812('0x4c')]['id']){delete _0x2fe4a1[_0xa812('0x4c')]['id'];}_0x2fe4a1[_0xa812('0x4c')][_0xa812('0x68')]=_0x2fe4a1[_0xa812('0x4c')][_0xa812('0x68')]||_0x2fe4a1['user']['id'];_0x5808ea[_0xa812('0x69')]['id']=_0x2fe4a1[_0xa812('0x4c')][_0xa812('0x68')];return db[_0xa812('0x33')]['find']({'where':{'id':_0x2fe4a1['params']['id'],'UserId':null}})[_0xa812('0x16')](handleEntityNotFound(_0x47f3fe,null))[_0xa812('0x16')](function(_0x37f7d8){if(_0x37f7d8){_0x5808ea[_0xa812('0x1f')]=_0x37f7d8['get']({'plain':!![]});return db[_0xa812('0x6b')][_0xa812('0x4b')]({'where':{'id':_0x37f7d8['MailInteractionId']}});}return null;})[_0xa812('0x16')](handleEntityNotFound(_0x47f3fe,null))[_0xa812('0x16')](function(_0x47e93d){if(_0x47e93d){_0x5808ea['interaction']=_0x47e93d['get']({'plain':!![]});interaction_log[_0xa812('0x17')]('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x2fe4a1[_0xa812('0x6f')]['id'],_0x2fe4a1[_0xa812('0x6f')]['name'],_0x2fe4a1[_0xa812('0x6f')][_0xa812('0x70')],_0x5808ea[_0xa812('0x6e')]['id'],_0x2fe4a1[_0xa812('0x4c')]?JSON[_0xa812('0x1c')](_0x2fe4a1[_0xa812('0x4c')]):'null');return respondWithRpcPromise(_0xa812('0x84'),_0xa812('0x85'),_0x5808ea);}return null;})[_0xa812('0x16')](function(_0x4c0f9b){var _0x3b6d15=_0xa812('0x86')+_0x4c0f9b[_0xa812('0x1f')]['ContactId'];return db[_0xa812('0x87')]['query'](_0x3b6d15,{'type':db[_0xa812('0x73')]['QueryTypes'][_0xa812('0x75')],'raw':!![]})[_0xa812('0x16')](function(_0x26a107){return _0x26a107;});})[_0xa812('0x16')](function(_0x2c199b){if(_0x2c199b){_0x5808ea['message'][_0xa812('0x76')]=_0x2c199b[0x0];if(!_0x2fe4a1[_0xa812('0x4c')][_0xa812('0x68')])return;return db[_0xa812('0x77')]['find']({'where':{'id':_0x2fe4a1[_0xa812('0x4c')][_0xa812('0x68')],'role':_0xa812('0x69')},'attributes':['id',_0xa812('0x2f'),'fullname','email',_0xa812('0x7a')],'raw':!![]});}return null;})['then'](function(_0x12af5a){if(!_0x12af5a)return null;_0x5808ea[_0xa812('0x1f')][_0xa812('0x69')]=_0x12af5a;return _0x5808ea;})['then'](function(_0x28b87c){if(_0x28b87c){_0x28b87c['message'][_0xa812('0x88')]=util[_0xa812('0x66')](_0xa812('0x7c'),_0x2fe4a1[_0xa812('0x6f')]['name']);_0x28b87c[_0xa812('0x1f')][_0xa812('0x7d')]=_0x5808ea[_0xa812('0x7d')];_0x28b87c[_0xa812('0x1f')]['motionChannel']=_0x5808ea[_0xa812('0x7d')];_0x28b87c[_0xa812('0x1f')][_0xa812('0x7f')]=_0xa812('0x83');_0x28b87c[_0xa812('0x1f')][_0xa812('0x4c')]=htmlToText['fromString'](_0x5808ea[_0xa812('0x1f')][_0xa812('0x4c')]);respondWithRpcPromise('EventManager',_0xa812('0x81'),{'event':_0xa812('0x89'),'message':_0x28b87c[_0xa812('0x1f')]},client9002);return _0x5808ea;}return null;})[_0xa812('0x16')](respondWithResult(_0x47f3fe,null))['catch'](handleError(_0x47f3fe,null));};exports[_0xa812('0x8a')]=function(_0x25b09c,_0x4f9702){var _0x467946=moment()[_0xa812('0x8b')]()[_0xa812('0x8c')]();var _0x1a31a3=path[_0xa812('0x8d')](config[_0xa812('0x5b')],_0xa812('0x8e'),_0xa812('0x8f'),_0xa812('0x90'));var _0x5d3f6a=path[_0xa812('0x8d')](config['root'],'server',_0xa812('0x8f'),_0xa812('0x5a'));var _0x511151=util[_0xa812('0x66')](_0xa812('0x91'),_0x467946);return db['MailMessage'][_0xa812('0x4b')]({'where':{'id':_0x25b09c[_0xa812('0x49')]['id']},'attributes':['id',_0xa812('0x4c'),'from','to','cc',_0xa812('0x92'),_0xa812('0x93'),'createdAt'],'include':_0x25b09c[_0xa812('0x38')][_0xa812('0x5a')]?[{'model':db['Attachment'],'as':'Attachments'}]:undefined})[_0xa812('0x16')](handleEntityNotFound(_0x4f9702,null))[_0xa812('0x16')](function(_0x4a375d){if(_0x4a375d){var _0x58d35d=_0x4a375d;var _0x4c4732={'from':_0x58d35d[_0xa812('0x94')],'to':_0x58d35d['to'],'subject':_0x58d35d['subject'],'html':htmlEntities['decode'](_0x58d35d[_0xa812('0x4c')]),'headers':{'Date':moment(_0x58d35d[_0xa812('0x95')])[_0xa812('0x66')](_0xa812('0x96'))},'attachments':[]};if(_0x4a375d['cc']){_0x4c4732['headers']['Cc']=_0x4a375d['cc'];}if(_0x4a375d['bcc']){_0x4c4732[_0xa812('0x97')][_0xa812('0x98')]=_0x4a375d[_0xa812('0x92')];}return new BPromise(function(_0x49a61d,_0x543129){if(_0x4a375d[_0xa812('0x99')]){for(var _0x4dd5b9=0x0;_0x4dd5b9<_0x4a375d['Attachments'][_0xa812('0x3c')];_0x4dd5b9++){var _0x51b54d=_0x4a375d[_0xa812('0x99')][_0x4dd5b9];var _0x4ca3d9=path['join'](_0x5d3f6a,_0x51b54d[_0xa812('0x5d')]);if(fs[_0xa812('0x9a')](_0x4ca3d9)){_0x4c4732[_0xa812('0x5a')]['push']({'name':_0x51b54d[_0xa812('0x2f')],'contentType':_0x51b54d[_0xa812('0x9b')],'data':fs[_0xa812('0x9c')](_0x4ca3d9)});}}}emlformat['build'](_0x4c4732,function(_0x2e476c,_0x1ea914){if(_0x2e476c)return _0x543129(_0x2e476c);fs[_0xa812('0x9d')](path[_0xa812('0x8d')](_0x1a31a3,_0x511151),_0x1ea914);return _0x49a61d(_0x1ea914);});});}})[_0xa812('0x16')](function(_0x5756b6){if(_0x5756b6){return _0x4f9702['download'](path['join'](_0x1a31a3,_0x511151),_0x511151,function(_0x23971a){if(!_0x23971a)fs[_0xa812('0x9e')](path[_0xa812('0x8d')](_0x1a31a3,_0x511151));});}})[_0xa812('0x21')](handleError(_0x4f9702,null));};