8984e94dfadae944895a22229ef9d92347ca84e5
[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 _0x4e8f=['lodash','ioredis','html-to-text','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','html-entities','./mailMessage.socket','register','jayson/promise','http','client','request','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','code','error','message','result','status','offset','undefined','limit','set','Content-Range','json','update','destroy','end','sendStatus','stack','name','send','index','MailMessage','rawAttributes','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','count','includeAll','findAll','rows','catch','show','params','include','find','body','describe','create','direction','secret','split','MailAccount','findOne','CmContact','Contacts','updatedAt','DESC','MailServerOut','Smtp','getSmtpOptions','attachments','root','server/files/attachments','basename','List','List\x20not\x20found','sendMail','messageId','format','stringify','accept','mail','read','readAt','YYYY-MM-DD\x20HH:mm:ss','UserId','user','agent','MailInteraction','MailInteractionId','isNil','read1stAt','interaction','get','null','AcceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','sequelize','QueryTypes','contact','User','fullname','manual','interface','SIP/%s','motionChannel','channel','event','EventManager','acceptmessage','reject','role','RejectMessage','rejectMessage','Sequelize','SELECT','email','internal','fromString','rejectmessage','download','unix','join','files','tmp','server','message-%s.eml','from','bcc','subject','createdAt','Attachment','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','Attachments','existsSync','push','readFileSync','build','unlinkSync','eml-format','bluebird','util','path'];(function(_0x77488e,_0x85bf02){var _0x1bcbe9=function(_0x3a54c1){while(--_0x3a54c1){_0x77488e['push'](_0x77488e['shift']());}};_0x1bcbe9(++_0x85bf02);}(_0x4e8f,0xa3));var _0xf4e8=function(_0x40ae99,_0x367d91){_0x40ae99=_0x40ae99-0x0;var _0x44a193=_0x4e8f[_0x40ae99];return _0x44a193;};'use strict';var emlformat=require(_0xf4e8('0x0'));var moment=require('moment');var BPromise=require(_0xf4e8('0x1'));var util=require(_0xf4e8('0x2'));var path=require(_0xf4e8('0x3'));var fs=require('fs');var _=require(_0xf4e8('0x4'));var Redis=require(_0xf4e8('0x5'));var htmlToText=require(_0xf4e8('0x6'));var qs=require(_0xf4e8('0x7'));var logger=require(_0xf4e8('0x8'))(_0xf4e8('0x9'));var interaction_log=require(_0xf4e8('0x8'))('mail-interactions');var config=require(_0xf4e8('0xa'));var db=require(_0xf4e8('0xb'))['db'];config[_0xf4e8('0xc')]=_[_0xf4e8('0xd')](config[_0xf4e8('0xc')],{'host':_0xf4e8('0xe'),'port':0x18eb});var socket=require(_0xf4e8('0xf'))(new Redis(config[_0xf4e8('0xc')]));var htmlEntities=require(_0xf4e8('0x10'));require(_0xf4e8('0x11'))[_0xf4e8('0x12')](socket);var jayson=require(_0xf4e8('0x13'));var client=jayson['client'][_0xf4e8('0x14')]({'port':0x232c});var client9003=jayson[_0xf4e8('0x15')]['http']({'port':0x232b});var client9002=jayson[_0xf4e8('0x15')][_0xf4e8('0x14')]({'port':0x232a});function respondWithRpcPromise(_0x504632,_0x16b6ef,_0x1cfa70,_0x5d47c1){return new BPromise(function(_0x1acbc6,_0x20bf1b){var _0x18398d=_0x5d47c1||client;return _0x18398d[_0xf4e8('0x16')](_0x504632,_0x1cfa70)[_0xf4e8('0x17')](function(_0x3976e4){logger[_0xf4e8('0x18')](_0xf4e8('0x19'),_0x16b6ef,_0xf4e8('0x1a'));logger[_0xf4e8('0x1b')](_0xf4e8('0x1c'),_0x16b6ef,'request\x20sent',JSON['stringify'](_0x3976e4));if(_0x3976e4['error']){if(_0x3976e4['error'][_0xf4e8('0x1d')]===0x1f4){logger[_0xf4e8('0x1e')](_0xf4e8('0x19'),_0x16b6ef,_0x3976e4['error'][_0xf4e8('0x1f')]);return _0x20bf1b(_0x3976e4['error'][_0xf4e8('0x1f')]);}logger[_0xf4e8('0x1e')]('MailMessage,\x20%s,\x20%s',_0x16b6ef,_0x3976e4['error'][_0xf4e8('0x1f')]);return _0x1acbc6(_0x3976e4[_0xf4e8('0x1e')][_0xf4e8('0x1f')]);}else{logger['info']('MailMessage,\x20%s,\x20%s',_0x16b6ef,_0xf4e8('0x1a'));_0x1acbc6(_0x3976e4[_0xf4e8('0x20')][_0xf4e8('0x1f')]);}})['catch'](function(_0x5f09ca){logger[_0xf4e8('0x1e')](_0xf4e8('0x19'),_0x16b6ef,_0x5f09ca);_0x20bf1b(_0x5f09ca);});});}function respondWithResult(_0x409971,_0x5db4fb){_0x5db4fb=_0x5db4fb||0xc8;return function(_0x5c7f46){if(_0x5c7f46){return _0x409971[_0xf4e8('0x21')](_0x5db4fb)['json'](_0x5c7f46);}};}function respondWithFilteredResult(_0x5cfeff,_0x255476){return function(_0x43c650){if(_0x43c650){var _0xf15eb8=typeof _0x255476[_0xf4e8('0x22')]===_0xf4e8('0x23')&&typeof _0x255476[_0xf4e8('0x24')]==='undefined';var _0x1e0493=_0x43c650['count'];var _0x10855c=_0xf15eb8?0x0:_0x255476['offset'];var _0x217f7a=_0xf15eb8?_0x43c650['count']:_0x255476[_0xf4e8('0x22')]+_0x255476['limit'];var _0x43342f;if(_0x217f7a>=_0x1e0493){_0x217f7a=_0x1e0493;_0x43342f=0xc8;}else{_0x43342f=0xce;}_0x5cfeff[_0xf4e8('0x21')](_0x43342f);return _0x5cfeff[_0xf4e8('0x25')](_0xf4e8('0x26'),_0x10855c+'-'+_0x217f7a+'/'+_0x1e0493)[_0xf4e8('0x27')](_0x43c650);}return null;};}function saveUpdates(_0x50129a){return function(_0x36c837){if(_0x36c837){return _0x36c837[_0xf4e8('0x28')](_0x50129a)['then'](function(_0xceb36a){return _0xceb36a;});}return null;};}function removeEntity(_0x3958a8){return function(_0x4941f3){if(_0x4941f3){return _0x4941f3[_0xf4e8('0x29')]()[_0xf4e8('0x17')](function(){_0x3958a8[_0xf4e8('0x21')](0xcc)[_0xf4e8('0x2a')]();});}};}function handleEntityNotFound(_0x307685){return function(_0x556c76){if(!_0x556c76){_0x307685[_0xf4e8('0x2b')](0x194);}return _0x556c76;};}function handleError(_0xa67ce7,_0x29d6c3){_0x29d6c3=_0x29d6c3||0x1f4;return function(_0xb25380){logger[_0xf4e8('0x1e')](_0xb25380[_0xf4e8('0x2c')]);if(_0xb25380[_0xf4e8('0x2d')]){delete _0xb25380[_0xf4e8('0x2d')];}_0xa67ce7[_0xf4e8('0x21')](_0x29d6c3)[_0xf4e8('0x2e')](_0xb25380);};}exports[_0xf4e8('0x2f')]=function(_0x46a3f0,_0x573f6b){var _0x590ff4={},_0x2690f7={},_0x1ea93d={'count':0x0,'rows':[]};var _0x308cd7=_['map'](db[_0xf4e8('0x30')][_0xf4e8('0x31')],function(_0x5436f2){return{'name':_0x5436f2['fieldName'],'type':_0x5436f2[_0xf4e8('0x32')][_0xf4e8('0x33')]};});_0x2690f7[_0xf4e8('0x34')]=_[_0xf4e8('0x35')](_0x308cd7,_0xf4e8('0x2d'));_0x2690f7[_0xf4e8('0x36')]=_[_0xf4e8('0x37')](_0x46a3f0['query']);_0x2690f7[_0xf4e8('0x38')]=_[_0xf4e8('0x39')](_0x2690f7[_0xf4e8('0x34')],_0x2690f7[_0xf4e8('0x36')]);_0x590ff4[_0xf4e8('0x3a')]=_[_0xf4e8('0x39')](_0x2690f7[_0xf4e8('0x34')],qs[_0xf4e8('0x3b')](_0x46a3f0['query'][_0xf4e8('0x3b')]));_0x590ff4[_0xf4e8('0x3a')]=_0x590ff4[_0xf4e8('0x3a')][_0xf4e8('0x3c')]?_0x590ff4[_0xf4e8('0x3a')]:_0x2690f7[_0xf4e8('0x34')];if(!_0x46a3f0[_0xf4e8('0x36')]['hasOwnProperty'](_0xf4e8('0x3d'))){_0x590ff4[_0xf4e8('0x24')]=qs[_0xf4e8('0x24')](_0x46a3f0[_0xf4e8('0x36')][_0xf4e8('0x24')]);_0x590ff4[_0xf4e8('0x22')]=qs[_0xf4e8('0x22')](_0x46a3f0[_0xf4e8('0x36')][_0xf4e8('0x22')]);}_0x590ff4[_0xf4e8('0x3e')]=qs[_0xf4e8('0x3f')](_0x46a3f0[_0xf4e8('0x36')][_0xf4e8('0x3f')]);_0x590ff4[_0xf4e8('0x40')]=qs[_0xf4e8('0x38')](_[_0xf4e8('0x41')](_0x46a3f0[_0xf4e8('0x36')],_0x2690f7[_0xf4e8('0x38')]),_0x308cd7);if(_0x46a3f0[_0xf4e8('0x36')]['filter']){_0x590ff4['where']=_[_0xf4e8('0x42')](_0x590ff4[_0xf4e8('0x40')],{'$or':_[_0xf4e8('0x35')](_0x308cd7,function(_0x518c66){if(_0x518c66[_0xf4e8('0x32')]!==_0xf4e8('0x43')){var _0x912044={};_0x912044[_0x518c66[_0xf4e8('0x2d')]]={'$like':'%'+_0x46a3f0[_0xf4e8('0x36')][_0xf4e8('0x44')]+'%'};return _0x912044;}})});}_0x590ff4=_[_0xf4e8('0x42')]({},_0x590ff4,_0x46a3f0[_0xf4e8('0x45')]);var _0x16d8fb={'where':_0x590ff4[_0xf4e8('0x40')]};return db[_0xf4e8('0x30')]['count'](_0x16d8fb)[_0xf4e8('0x17')](function(_0xa65b8b){_0x1ea93d[_0xf4e8('0x46')]=_0xa65b8b;if(_0x46a3f0[_0xf4e8('0x36')][_0xf4e8('0x47')]){_0x590ff4['include']=[{'all':!![]}];}return db[_0xf4e8('0x30')][_0xf4e8('0x48')](_0x590ff4);})[_0xf4e8('0x17')](function(_0x229af4){_0x1ea93d[_0xf4e8('0x49')]=_0x229af4;return _0x1ea93d;})[_0xf4e8('0x17')](respondWithFilteredResult(_0x573f6b,_0x590ff4))[_0xf4e8('0x4a')](handleError(_0x573f6b,null));};exports[_0xf4e8('0x4b')]=function(_0x1149a5,_0x1d8287){var _0x4f6748={'raw':!![],'where':{'id':_0x1149a5[_0xf4e8('0x4c')]['id']}},_0x56a9ae={};_0x56a9ae['model']=_['keys'](db[_0xf4e8('0x30')]['rawAttributes']);_0x56a9ae[_0xf4e8('0x36')]=_[_0xf4e8('0x37')](_0x1149a5[_0xf4e8('0x36')]);_0x56a9ae[_0xf4e8('0x38')]=_[_0xf4e8('0x39')](_0x56a9ae[_0xf4e8('0x34')],_0x56a9ae['query']);_0x4f6748[_0xf4e8('0x3a')]=_[_0xf4e8('0x39')](_0x56a9ae['model'],qs['fields'](_0x1149a5[_0xf4e8('0x36')][_0xf4e8('0x3b')]));_0x4f6748[_0xf4e8('0x3a')]=_0x4f6748[_0xf4e8('0x3a')]['length']?_0x4f6748[_0xf4e8('0x3a')]:_0x56a9ae['model'];if(_0x1149a5[_0xf4e8('0x36')]['includeAll']){_0x4f6748[_0xf4e8('0x4d')]=[{'all':!![]}];}_0x4f6748=_[_0xf4e8('0x42')]({},_0x4f6748,_0x1149a5[_0xf4e8('0x45')]);return db[_0xf4e8('0x30')][_0xf4e8('0x4e')](_0x4f6748)['then'](handleEntityNotFound(_0x1d8287,null))[_0xf4e8('0x17')](respondWithResult(_0x1d8287,null))[_0xf4e8('0x4a')](handleError(_0x1d8287,null));};exports[_0xf4e8('0x28')]=function(_0x4b733d,_0x55d91c){if(_0x4b733d[_0xf4e8('0x4f')]['id']){delete _0x4b733d['body']['id'];}return db['MailMessage'][_0xf4e8('0x4e')]({'where':{'id':_0x4b733d[_0xf4e8('0x4c')]['id']}})[_0xf4e8('0x17')](handleEntityNotFound(_0x55d91c,null))[_0xf4e8('0x17')](saveUpdates(_0x4b733d[_0xf4e8('0x4f')],null))['then'](respondWithResult(_0x55d91c,null))['catch'](handleError(_0x55d91c,null));};exports[_0xf4e8('0x29')]=function(_0x56bad2,_0x5e1858){return db[_0xf4e8('0x30')][_0xf4e8('0x4e')]({'where':{'id':_0x56bad2[_0xf4e8('0x4c')]['id']}})[_0xf4e8('0x17')](handleEntityNotFound(_0x5e1858,null))[_0xf4e8('0x17')](removeEntity(_0x5e1858,null))[_0xf4e8('0x4a')](handleError(_0x5e1858,null));};exports[_0xf4e8('0x50')]=function(_0x15dc21,_0x4a2510){return db[_0xf4e8('0x30')][_0xf4e8('0x50')]()[_0xf4e8('0x17')](respondWithResult(_0x4a2510,null))['catch'](handleError(_0x4a2510,null));};exports[_0xf4e8('0x51')]=function(_0x28a245,_0x40f938){return db[_0xf4e8('0x30')][_0xf4e8('0x51')](_0x28a245[_0xf4e8('0x4f')])[_0xf4e8('0x17')](function(_0x31a32a){if(_0x31a32a){if(_0x31a32a[_0xf4e8('0x52')]==='out'&&!_0x31a32a[_0xf4e8('0x53')]){var _0x2b4334,_0x245782,_0x459620;if(_0x28a245[_0xf4e8('0x4f')]['to']){_0x245782=_0x28a245['body']['to'][_0xf4e8('0x54')](',')[0x0];}return db[_0xf4e8('0x55')][_0xf4e8('0x56')]({'where':{'id':_0x31a32a['MailAccountId']},'include':[{'model':db['CmList'],'as':'List','include':[{'model':db[_0xf4e8('0x57')],'as':_0xf4e8('0x58'),'where':{'email':_0x245782},'limit':0x1,'order':[[_0xf4e8('0x59'),_0xf4e8('0x5a')]]}]},{'model':db[_0xf4e8('0x5b')],'as':_0xf4e8('0x5c'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':'CloudProvider','raw':!![]}]}]})['then'](function(_0x37ce66){_0x2b4334=_0x37ce66;if(!_0x2b4334||!_0x2b4334[_0xf4e8('0x5c')])return;var _0x274b90=_0x2b4334[_0xf4e8('0x5d')]();if(_0x28a245[_0xf4e8('0x4f')][_0xf4e8('0x5e')]&&_0x28a245['body'][_0xf4e8('0x5e')][_0xf4e8('0x3c')]){for(var _0x53a473=0x0;_0x53a473<_0x28a245[_0xf4e8('0x4f')][_0xf4e8('0x5e')]['length'];_0x53a473+=0x1){_0x28a245['body'][_0xf4e8('0x5e')][_0x53a473]={'filename':_0x28a245[_0xf4e8('0x4f')][_0xf4e8('0x5e')][_0x53a473][_0xf4e8('0x2d')],'path':path['join'](config[_0xf4e8('0x5f')],_0xf4e8('0x60'),_0x28a245[_0xf4e8('0x4f')][_0xf4e8('0x5e')][_0x53a473][_0xf4e8('0x61')])};}}_0x459620={'account':_0x274b90,'message':_0x28a245[_0xf4e8('0x4f')]};return;})[_0xf4e8('0x17')](function(){if(_0x2b4334[_0xf4e8('0x62')]){if(_0x2b4334[_0xf4e8('0x62')][_0xf4e8('0x58')]['length']){return _0x2b4334[_0xf4e8('0x62')][_0xf4e8('0x58')][0x0];}else{return db['CmContact'][_0xf4e8('0x51')](_[_0xf4e8('0xd')](_0x28a245[_0xf4e8('0x4f')],{'firstName':_0x28a245[_0xf4e8('0x4f')]['to'],'email':_0x28a245['body']['to'],'phone':_0x28a245[_0xf4e8('0x4f')]['to'],'ListId':_0x2b4334['ListId']}));}}else{throw new Error(_0xf4e8('0x63'));}})[_0xf4e8('0x17')](function(){if(_0x459620){return respondWithRpcPromise('SendMail',_0xf4e8('0x64'),_0x459620,client9003)[_0xf4e8('0x17')](function(_0x410156){return _0x31a32a['update']({'read':!![],'messageId':_0x410156[_0xf4e8('0x65')],'sentAt':moment()[_0xf4e8('0x66')]('YYYY-MM-DD\x20HH:mm:ss')});})[_0xf4e8('0x4a')](function(_0x372461){logger[_0xf4e8('0x1e')]('%s',JSON[_0xf4e8('0x67')](_0x372461));return _0x31a32a;});}return _0x31a32a;});}return _0x31a32a;}})[_0xf4e8('0x17')](respondWithResult(_0x40f938,0xc9))[_0xf4e8('0x4a')](handleError(_0x40f938,null));};exports[_0xf4e8('0x68')]=function(_0xae226,_0x573677){var _0x1758fa={'agent':{},'channel':_0xf4e8('0x69')};if(_0xae226[_0xf4e8('0x4f')]['id']){delete _0xae226[_0xf4e8('0x4f')]['id'];}_0xae226[_0xf4e8('0x4f')][_0xf4e8('0x6a')]=!![];_0xae226[_0xf4e8('0x4f')][_0xf4e8('0x6b')]=moment()['format'](_0xf4e8('0x6c'));_0xae226['body'][_0xf4e8('0x6d')]=_0xae226[_0xf4e8('0x4f')][_0xf4e8('0x6d')]||_0xae226[_0xf4e8('0x6e')]['id'];_0x1758fa[_0xf4e8('0x6f')]['id']=_0xae226[_0xf4e8('0x4f')][_0xf4e8('0x6d')];return db[_0xf4e8('0x30')][_0xf4e8('0x4e')]({'where':{'id':_0xae226[_0xf4e8('0x4c')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x573677,null))[_0xf4e8('0x17')](saveUpdates(_0xae226[_0xf4e8('0x4f')],null))[_0xf4e8('0x17')](function(_0x1a3fe4){if(_0x1a3fe4){_0x1758fa['message']=_0x1a3fe4['get']({'plain':!![]});return db[_0xf4e8('0x70')][_0xf4e8('0x4e')]({'where':{'id':_0x1a3fe4[_0xf4e8('0x71')]}});}return null;})[_0xf4e8('0x17')](handleEntityNotFound(_0x573677,null))[_0xf4e8('0x17')](function(_0xdf8303){if(_0xdf8303){return _0xdf8303[_0xf4e8('0x28')]({'UserId':_0xae226['body'][_0xf4e8('0x6d')],'read1stAt':_[_0xf4e8('0x72')](_0xdf8303[_0xf4e8('0x73')])?moment()[_0xf4e8('0x66')](_0xf4e8('0x6c')):undefined});}return null;})[_0xf4e8('0x17')](function(_0x59bb96){if(_0x59bb96){_0x1758fa[_0xf4e8('0x74')]=_0x59bb96[_0xf4e8('0x75')]({'plain':!![]});interaction_log[_0xf4e8('0x18')]('[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0xae226[_0xf4e8('0x6e')]['id'],_0xae226[_0xf4e8('0x6e')][_0xf4e8('0x2d')],_0xae226[_0xf4e8('0x6e')]['role'],_0x1758fa[_0xf4e8('0x74')]['id'],_0xae226[_0xf4e8('0x4f')]?JSON[_0xf4e8('0x67')](_0xae226[_0xf4e8('0x4f')]):_0xf4e8('0x76'));return respondWithRpcPromise(_0xf4e8('0x77'),'acceptMessage',_0x1758fa);}return null;})[_0xf4e8('0x17')](function(_0x259538){var _0x4c6c68=_0xf4e8('0x78')+_0x259538[_0xf4e8('0x1f')][_0xf4e8('0x79')];return db[_0xf4e8('0x7a')][_0xf4e8('0x36')](_0x4c6c68,{'type':db['Sequelize'][_0xf4e8('0x7b')]['SELECT'],'raw':!![]})[_0xf4e8('0x17')](function(_0xd62b60){return _0xd62b60;});})[_0xf4e8('0x17')](function(_0x4d5f1f){if(_0x4d5f1f){_0x1758fa[_0xf4e8('0x1f')][_0xf4e8('0x7c')]=_0x4d5f1f[0x0];if(!_0xae226['body'][_0xf4e8('0x6d')])return;return db[_0xf4e8('0x7d')][_0xf4e8('0x4e')]({'where':{'id':_0xae226['body'][_0xf4e8('0x6d')],'role':'agent'},'attributes':['id',_0xf4e8('0x2d'),_0xf4e8('0x7e'),'email','internal'],'raw':!![]});}return null;})[_0xf4e8('0x17')](function(_0xc6291e){if(!_0xc6291e)return null;_0x1758fa[_0xf4e8('0x1f')]['agent']=_0xc6291e;return _0x1758fa;})[_0xf4e8('0x17')](function(_0x67953c){if(_0x67953c){if(_0xae226[_0xf4e8('0x4f')][_0xf4e8('0x7f')]){_0x1758fa[_0xf4e8('0x1f')][_0xf4e8('0x80')]=util[_0xf4e8('0x66')](_0xf4e8('0x81'),_0xae226[_0xf4e8('0x6e')][_0xf4e8('0x2d')]);_0x1758fa[_0xf4e8('0x1f')]['channel']=_0x1758fa['channel'];_0x1758fa[_0xf4e8('0x1f')][_0xf4e8('0x82')]=_0x1758fa[_0xf4e8('0x83')];_0x1758fa[_0xf4e8('0x1f')][_0xf4e8('0x84')]=_0xf4e8('0x68');_0x1758fa[_0xf4e8('0x1f')]['body']=htmlToText['fromString'](_0x1758fa[_0xf4e8('0x1f')][_0xf4e8('0x4f')]);return respondWithRpcPromise(_0xf4e8('0x85'),_0xf4e8('0x85'),{'event':_0xf4e8('0x86'),'message':_0x1758fa[_0xf4e8('0x1f')]},client9002)[_0xf4e8('0x17')](function(){return _0x1758fa;});}return _0x1758fa;}return null;})[_0xf4e8('0x17')](respondWithResult(_0x573677,null))[_0xf4e8('0x4a')](handleError(_0x573677,null));};exports[_0xf4e8('0x87')]=function(_0xe19255,_0x4a84e4){var _0x2b2803={'agent':{},'channel':_0xf4e8('0x69')};if(_0xe19255[_0xf4e8('0x4f')]['id']){delete _0xe19255['body']['id'];}_0xe19255[_0xf4e8('0x4f')]['UserId']=_0xe19255[_0xf4e8('0x4f')][_0xf4e8('0x6d')]||_0xe19255[_0xf4e8('0x6e')]['id'];_0x2b2803[_0xf4e8('0x6f')]['id']=_0xe19255[_0xf4e8('0x4f')][_0xf4e8('0x6d')];return db[_0xf4e8('0x30')][_0xf4e8('0x4e')]({'where':{'id':_0xe19255[_0xf4e8('0x4c')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x4a84e4,null))[_0xf4e8('0x17')](function(_0x3ce433){if(_0x3ce433){_0x2b2803[_0xf4e8('0x1f')]=_0x3ce433['get']({'plain':!![]});return db[_0xf4e8('0x70')][_0xf4e8('0x4e')]({'where':{'id':_0x3ce433['MailInteractionId']}});}return null;})['then'](handleEntityNotFound(_0x4a84e4,null))['then'](function(_0x118ad0){if(_0x118ad0){_0x2b2803['interaction']=_0x118ad0[_0xf4e8('0x75')]({'plain':!![]});interaction_log['info']('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0xe19255[_0xf4e8('0x6e')]['id'],_0xe19255[_0xf4e8('0x6e')][_0xf4e8('0x2d')],_0xe19255[_0xf4e8('0x6e')][_0xf4e8('0x88')],_0x2b2803[_0xf4e8('0x74')]['id'],_0xe19255[_0xf4e8('0x4f')]?JSON['stringify'](_0xe19255[_0xf4e8('0x4f')]):_0xf4e8('0x76'));return respondWithRpcPromise(_0xf4e8('0x89'),_0xf4e8('0x8a'),_0x2b2803);}return null;})[_0xf4e8('0x17')](function(_0x333613){var _0x684244=_0xf4e8('0x78')+_0x333613[_0xf4e8('0x1f')][_0xf4e8('0x79')];return db['sequelize']['query'](_0x684244,{'type':db[_0xf4e8('0x8b')]['QueryTypes'][_0xf4e8('0x8c')],'raw':!![]})[_0xf4e8('0x17')](function(_0x2b527d){return _0x2b527d;});})[_0xf4e8('0x17')](function(_0x5a55c5){if(_0x5a55c5){_0x2b2803[_0xf4e8('0x1f')][_0xf4e8('0x7c')]=_0x5a55c5[0x0];if(!_0xe19255[_0xf4e8('0x4f')][_0xf4e8('0x6d')])return;return db[_0xf4e8('0x7d')][_0xf4e8('0x4e')]({'where':{'id':_0xe19255['body']['UserId'],'role':_0xf4e8('0x6f')},'attributes':['id',_0xf4e8('0x2d'),_0xf4e8('0x7e'),_0xf4e8('0x8d'),_0xf4e8('0x8e')],'raw':!![]});}return null;})[_0xf4e8('0x17')](function(_0x27e3d5){if(!_0x27e3d5)return null;_0x2b2803[_0xf4e8('0x1f')]['agent']=_0x27e3d5;return _0x2b2803;})['then'](function(_0x51d17b){if(_0x51d17b){_0x51d17b['message'][_0xf4e8('0x80')]=util[_0xf4e8('0x66')](_0xf4e8('0x81'),_0xe19255[_0xf4e8('0x6e')][_0xf4e8('0x2d')]);_0x51d17b[_0xf4e8('0x1f')][_0xf4e8('0x83')]=_0x2b2803[_0xf4e8('0x83')];_0x51d17b[_0xf4e8('0x1f')][_0xf4e8('0x82')]=_0x2b2803[_0xf4e8('0x83')];_0x51d17b[_0xf4e8('0x1f')][_0xf4e8('0x84')]=_0xf4e8('0x87');_0x51d17b['message'][_0xf4e8('0x4f')]=htmlToText[_0xf4e8('0x8f')](_0x2b2803['message'][_0xf4e8('0x4f')]);respondWithRpcPromise(_0xf4e8('0x85'),_0xf4e8('0x85'),{'event':_0xf4e8('0x90'),'message':_0x51d17b[_0xf4e8('0x1f')]},client9002);return _0x2b2803;}return null;})[_0xf4e8('0x17')](respondWithResult(_0x4a84e4,null))[_0xf4e8('0x4a')](handleError(_0x4a84e4,null));};exports[_0xf4e8('0x91')]=function(_0xa7820a,_0x321dc0){var _0x479058=moment()[_0xf4e8('0x92')]()['toString']();var _0x192904=path[_0xf4e8('0x93')](config[_0xf4e8('0x5f')],'server',_0xf4e8('0x94'),_0xf4e8('0x95'));var _0x58871e=path[_0xf4e8('0x93')](config['root'],_0xf4e8('0x96'),_0xf4e8('0x94'),_0xf4e8('0x5e'));var _0x1fee0b=util[_0xf4e8('0x66')](_0xf4e8('0x97'),_0x479058);return db[_0xf4e8('0x30')][_0xf4e8('0x4e')]({'where':{'id':_0xa7820a[_0xf4e8('0x4c')]['id']},'attributes':['id',_0xf4e8('0x4f'),_0xf4e8('0x98'),'to','cc',_0xf4e8('0x99'),_0xf4e8('0x9a'),_0xf4e8('0x9b')],'include':_0xa7820a['query'][_0xf4e8('0x5e')]?[{'model':db[_0xf4e8('0x9c')],'as':'Attachments'}]:undefined})[_0xf4e8('0x17')](handleEntityNotFound(_0x321dc0,null))['then'](function(_0x259563){if(_0x259563){var _0x4647c0=_0x259563;var _0xeef227={'from':_0x4647c0[_0xf4e8('0x98')],'to':_0x4647c0['to'],'subject':_0x4647c0['subject'],'html':htmlEntities[_0xf4e8('0x9d')](_0x4647c0[_0xf4e8('0x4f')]),'headers':{'Date':moment(_0x4647c0[_0xf4e8('0x9b')])[_0xf4e8('0x66')](_0xf4e8('0x9e'))},'attachments':[]};if(_0x259563['cc']){_0xeef227[_0xf4e8('0x9f')]['Cc']=_0x259563['cc'];}if(_0x259563[_0xf4e8('0x99')]){_0xeef227[_0xf4e8('0x9f')][_0xf4e8('0xa0')]=_0x259563[_0xf4e8('0x99')];}return new BPromise(function(_0x13234b,_0xf5754f){if(_0x259563['Attachments']){for(var _0x1fb89f=0x0;_0x1fb89f<_0x259563[_0xf4e8('0xa1')][_0xf4e8('0x3c')];_0x1fb89f++){var _0x418373=_0x259563[_0xf4e8('0xa1')][_0x1fb89f];var _0x31e763=path[_0xf4e8('0x93')](_0x58871e,_0x418373[_0xf4e8('0x61')]);if(fs[_0xf4e8('0xa2')](_0x31e763)){_0xeef227[_0xf4e8('0x5e')][_0xf4e8('0xa3')]({'name':_0x418373[_0xf4e8('0x2d')],'contentType':_0x418373[_0xf4e8('0x32')],'data':fs[_0xf4e8('0xa4')](_0x31e763)});}}}emlformat[_0xf4e8('0xa5')](_0xeef227,function(_0x4262bc,_0x26a90d){if(_0x4262bc)return _0xf5754f(_0x4262bc);fs['writeFileSync'](path['join'](_0x192904,_0x1fee0b),_0x26a90d);return _0x13234b(_0x26a90d);});});}})['then'](function(_0x4d9efd){if(_0x4d9efd){return _0x321dc0[_0xf4e8('0x91')](path['join'](_0x192904,_0x1fee0b),_0x1fee0b,function(_0x2addf2){if(!_0x2addf2)fs[_0xf4e8('0xa6')](path[_0xf4e8('0x93')](_0x192904,_0x1fee0b));});}})[_0xf4e8('0x4a')](handleError(_0x321dc0,null));};