Built motion from commit d5e4af8c.|2.6.23
[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 _0xe811=['findOne','MailAccountId','CmContact','Contacts','DESC','CloudProvider','attachments','join','root','server/files/attachments','List','ListId','SendMail','sendMail','YYYY-MM-DD\x20HH:mm:ss','stringify','mail','read','readAt','format','UserId','user','agent','get','isNil','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','acceptMessage','ContactId','QueryTypes','SELECT','contact','User','internal','interface','channel','event','fromString','EventManager','acceptmessage','reject','MailInteraction','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','sequelize','Sequelize','email','SIP/%s','download','server','files','tmp','message-%s.eml','bcc','createdAt','Attachment','Attachments','subject','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','existsSync','readFileSync','writeFileSync','unlinkSync','eml-format','moment','bluebird','path','lodash','ioredis','../../components/parsers/qs','../../config/logger','api','mail-interactions','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./mailMessage.socket','jayson/promise','client','http','request','info','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','error','code','MailMessage,\x20%s,\x20%s','message','result','catch','status','json','undefined','count','limit','Content-Range','update','then','destroy','sendStatus','stack','name','send','index','MailMessage','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','nolimit','offset','order','sort','where','pick','filter','merge','map','VIRTUAL','options','includeAll','include','findAll','rows','length','find','body','params','describe','create','out','secret'];(function(_0x803bb6,_0x59debd){var _0x5570fb=function(_0x1aecdc){while(--_0x1aecdc){_0x803bb6['push'](_0x803bb6['shift']());}};_0x5570fb(++_0x59debd);}(_0xe811,0x16d));var _0x1e81=function(_0x24fd0a,_0x3603b2){_0x24fd0a=_0x24fd0a-0x0;var _0x545ec8=_0xe811[_0x24fd0a];return _0x545ec8;};'use strict';var emlformat=require(_0x1e81('0x0'));var moment=require(_0x1e81('0x1'));var BPromise=require(_0x1e81('0x2'));var util=require('util');var path=require(_0x1e81('0x3'));var fs=require('fs');var _=require(_0x1e81('0x4'));var Redis=require(_0x1e81('0x5'));var htmlToText=require('html-to-text');var qs=require(_0x1e81('0x6'));var logger=require(_0x1e81('0x7'))(_0x1e81('0x8'));var interaction_log=require('../../config/logger')(_0x1e81('0x9'));var config=require(_0x1e81('0xa'));var db=require(_0x1e81('0xb'))['db'];config[_0x1e81('0xc')]=_[_0x1e81('0xd')](config[_0x1e81('0xc')],{'host':'localhost','port':0x18eb});var socket=require(_0x1e81('0xe'))(new Redis(config[_0x1e81('0xc')]));var htmlEntities=require('html-entities');require(_0x1e81('0xf'))['register'](socket);var jayson=require(_0x1e81('0x10'));var client=jayson[_0x1e81('0x11')][_0x1e81('0x12')]({'port':0x232c});var client9003=jayson[_0x1e81('0x11')]['http']({'port':0x232b});var client9002=jayson[_0x1e81('0x11')]['http']({'port':0x232a});function respondWithRpcPromise(_0x32bd84,_0x21e37d,_0x2e8289,_0x387c01){return new BPromise(function(_0x1fec96,_0x4e4e5f){var _0x2415bb=_0x387c01||client;return _0x2415bb[_0x1e81('0x13')](_0x32bd84,_0x2e8289)['then'](function(_0x2e2dd1){logger[_0x1e81('0x14')]('MailMessage,\x20%s,\x20%s',_0x21e37d,_0x1e81('0x15'));logger[_0x1e81('0x16')](_0x1e81('0x17'),_0x21e37d,_0x1e81('0x15'),JSON['stringify'](_0x2e2dd1));if(_0x2e2dd1[_0x1e81('0x18')]){if(_0x2e2dd1['error'][_0x1e81('0x19')]===0x1f4){logger[_0x1e81('0x18')](_0x1e81('0x1a'),_0x21e37d,_0x2e2dd1['error']['message']);return _0x4e4e5f(_0x2e2dd1['error'][_0x1e81('0x1b')]);}logger['error'](_0x1e81('0x1a'),_0x21e37d,_0x2e2dd1['error']['message']);return _0x1fec96(_0x2e2dd1['error'][_0x1e81('0x1b')]);}else{logger[_0x1e81('0x14')]('MailMessage,\x20%s,\x20%s',_0x21e37d,_0x1e81('0x15'));_0x1fec96(_0x2e2dd1[_0x1e81('0x1c')][_0x1e81('0x1b')]);}})[_0x1e81('0x1d')](function(_0x221631){logger['error']('MailMessage,\x20%s,\x20%s',_0x21e37d,_0x221631);_0x4e4e5f(_0x221631);});});}function respondWithResult(_0x583b24,_0x1129e2){_0x1129e2=_0x1129e2||0xc8;return function(_0xc03975){if(_0xc03975){return _0x583b24[_0x1e81('0x1e')](_0x1129e2)[_0x1e81('0x1f')](_0xc03975);}};}function respondWithFilteredResult(_0x17d082,_0x4d163d){return function(_0x49bc10){if(_0x49bc10){var _0x25b6a9=typeof _0x4d163d['offset']===_0x1e81('0x20')&&typeof _0x4d163d['limit']===_0x1e81('0x20');var _0x3bfac5=_0x49bc10[_0x1e81('0x21')];var _0x28d600=_0x25b6a9?0x0:_0x4d163d['offset'];var _0x59bf47=_0x25b6a9?_0x49bc10[_0x1e81('0x21')]:_0x4d163d['offset']+_0x4d163d[_0x1e81('0x22')];var _0x29743c;if(_0x59bf47>=_0x3bfac5){_0x59bf47=_0x3bfac5;_0x29743c=0xc8;}else{_0x29743c=0xce;}_0x17d082[_0x1e81('0x1e')](_0x29743c);return _0x17d082['set'](_0x1e81('0x23'),_0x28d600+'-'+_0x59bf47+'/'+_0x3bfac5)[_0x1e81('0x1f')](_0x49bc10);}return null;};}function saveUpdates(_0x13ca9a){return function(_0x160fbb){if(_0x160fbb){return _0x160fbb[_0x1e81('0x24')](_0x13ca9a)[_0x1e81('0x25')](function(_0xf784c0){return _0xf784c0;});}return null;};}function removeEntity(_0x592eb1){return function(_0x9bd556){if(_0x9bd556){return _0x9bd556[_0x1e81('0x26')]()[_0x1e81('0x25')](function(){_0x592eb1[_0x1e81('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2f66f9){return function(_0x5c2ad1){if(!_0x5c2ad1){_0x2f66f9[_0x1e81('0x27')](0x194);}return _0x5c2ad1;};}function handleError(_0x1e7946,_0x23c275){_0x23c275=_0x23c275||0x1f4;return function(_0x4f79c9){logger[_0x1e81('0x18')](_0x4f79c9[_0x1e81('0x28')]);if(_0x4f79c9[_0x1e81('0x29')]){delete _0x4f79c9['name'];}_0x1e7946[_0x1e81('0x1e')](_0x23c275)[_0x1e81('0x2a')](_0x4f79c9);};}exports[_0x1e81('0x2b')]=function(_0x2a9ba2,_0x5d38b5){var _0x5f5731={},_0x5c540f={},_0x374c11={'count':0x0,'rows':[]};var _0x350832=_['map'](db[_0x1e81('0x2c')][_0x1e81('0x2d')],function(_0x5d08d3){return{'name':_0x5d08d3[_0x1e81('0x2e')],'type':_0x5d08d3[_0x1e81('0x2f')][_0x1e81('0x30')]};});_0x5c540f[_0x1e81('0x31')]=_['map'](_0x350832,_0x1e81('0x29'));_0x5c540f[_0x1e81('0x32')]=_[_0x1e81('0x33')](_0x2a9ba2[_0x1e81('0x32')]);_0x5c540f[_0x1e81('0x34')]=_['intersection'](_0x5c540f['model'],_0x5c540f[_0x1e81('0x32')]);_0x5f5731[_0x1e81('0x35')]=_[_0x1e81('0x36')](_0x5c540f[_0x1e81('0x31')],qs[_0x1e81('0x37')](_0x2a9ba2[_0x1e81('0x32')][_0x1e81('0x37')]));_0x5f5731[_0x1e81('0x35')]=_0x5f5731['attributes']['length']?_0x5f5731[_0x1e81('0x35')]:_0x5c540f[_0x1e81('0x31')];if(!_0x2a9ba2[_0x1e81('0x32')]['hasOwnProperty'](_0x1e81('0x38'))){_0x5f5731['limit']=qs[_0x1e81('0x22')](_0x2a9ba2[_0x1e81('0x32')][_0x1e81('0x22')]);_0x5f5731[_0x1e81('0x39')]=qs[_0x1e81('0x39')](_0x2a9ba2[_0x1e81('0x32')][_0x1e81('0x39')]);}_0x5f5731[_0x1e81('0x3a')]=qs[_0x1e81('0x3b')](_0x2a9ba2['query'][_0x1e81('0x3b')]);_0x5f5731[_0x1e81('0x3c')]=qs['filters'](_[_0x1e81('0x3d')](_0x2a9ba2[_0x1e81('0x32')],_0x5c540f[_0x1e81('0x34')]),_0x350832);if(_0x2a9ba2[_0x1e81('0x32')][_0x1e81('0x3e')]){_0x5f5731[_0x1e81('0x3c')]=_[_0x1e81('0x3f')](_0x5f5731[_0x1e81('0x3c')],{'$or':_[_0x1e81('0x40')](_0x350832,function(_0x4dbf4f){if(_0x4dbf4f[_0x1e81('0x2f')]!==_0x1e81('0x41')){var _0x439b29={};_0x439b29[_0x4dbf4f[_0x1e81('0x29')]]={'$like':'%'+_0x2a9ba2[_0x1e81('0x32')][_0x1e81('0x3e')]+'%'};return _0x439b29;}})});}_0x5f5731=_[_0x1e81('0x3f')]({},_0x5f5731,_0x2a9ba2[_0x1e81('0x42')]);var _0xafee12={'where':_0x5f5731[_0x1e81('0x3c')]};return db[_0x1e81('0x2c')][_0x1e81('0x21')](_0xafee12)[_0x1e81('0x25')](function(_0x8fb8d7){_0x374c11[_0x1e81('0x21')]=_0x8fb8d7;if(_0x2a9ba2[_0x1e81('0x32')][_0x1e81('0x43')]){_0x5f5731[_0x1e81('0x44')]=[{'all':!![]}];}return db['MailMessage'][_0x1e81('0x45')](_0x5f5731);})[_0x1e81('0x25')](function(_0x119953){_0x374c11[_0x1e81('0x46')]=_0x119953;return _0x374c11;})[_0x1e81('0x25')](respondWithFilteredResult(_0x5d38b5,_0x5f5731))[_0x1e81('0x1d')](handleError(_0x5d38b5,null));};exports['show']=function(_0x18bdab,_0x342d7e){var _0x2cc424={'raw':!![],'where':{'id':_0x18bdab['params']['id']}},_0x4ff9a6={};_0x4ff9a6['model']=_[_0x1e81('0x33')](db[_0x1e81('0x2c')][_0x1e81('0x2d')]);_0x4ff9a6[_0x1e81('0x32')]=_[_0x1e81('0x33')](_0x18bdab['query']);_0x4ff9a6[_0x1e81('0x34')]=_[_0x1e81('0x36')](_0x4ff9a6[_0x1e81('0x31')],_0x4ff9a6[_0x1e81('0x32')]);_0x2cc424[_0x1e81('0x35')]=_[_0x1e81('0x36')](_0x4ff9a6[_0x1e81('0x31')],qs[_0x1e81('0x37')](_0x18bdab[_0x1e81('0x32')][_0x1e81('0x37')]));_0x2cc424[_0x1e81('0x35')]=_0x2cc424[_0x1e81('0x35')][_0x1e81('0x47')]?_0x2cc424[_0x1e81('0x35')]:_0x4ff9a6[_0x1e81('0x31')];if(_0x18bdab[_0x1e81('0x32')]['includeAll']){_0x2cc424[_0x1e81('0x44')]=[{'all':!![]}];}_0x2cc424=_['merge']({},_0x2cc424,_0x18bdab[_0x1e81('0x42')]);return db['MailMessage'][_0x1e81('0x48')](_0x2cc424)[_0x1e81('0x25')](handleEntityNotFound(_0x342d7e,null))[_0x1e81('0x25')](respondWithResult(_0x342d7e,null))[_0x1e81('0x1d')](handleError(_0x342d7e,null));};exports[_0x1e81('0x24')]=function(_0x3ea2d9,_0x524c90){if(_0x3ea2d9[_0x1e81('0x49')]['id']){delete _0x3ea2d9[_0x1e81('0x49')]['id'];}return db[_0x1e81('0x2c')][_0x1e81('0x48')]({'where':{'id':_0x3ea2d9[_0x1e81('0x4a')]['id']}})[_0x1e81('0x25')](handleEntityNotFound(_0x524c90,null))['then'](saveUpdates(_0x3ea2d9[_0x1e81('0x49')],null))['then'](respondWithResult(_0x524c90,null))[_0x1e81('0x1d')](handleError(_0x524c90,null));};exports['destroy']=function(_0x475c8e,_0x3e5594){return db[_0x1e81('0x2c')][_0x1e81('0x48')]({'where':{'id':_0x475c8e[_0x1e81('0x4a')]['id']}})['then'](handleEntityNotFound(_0x3e5594,null))[_0x1e81('0x25')](removeEntity(_0x3e5594,null))[_0x1e81('0x1d')](handleError(_0x3e5594,null));};exports[_0x1e81('0x4b')]=function(_0x1616bd,_0x4d9bf7){return db[_0x1e81('0x2c')]['describe']()[_0x1e81('0x25')](respondWithResult(_0x4d9bf7,null))[_0x1e81('0x1d')](handleError(_0x4d9bf7,null));};exports['create']=function(_0x10d0af,_0x2b93dc){return db['MailMessage'][_0x1e81('0x4c')](_0x10d0af['body'])['then'](function(_0x2d916d){if(_0x2d916d){if(_0x2d916d['direction']===_0x1e81('0x4d')&&!_0x2d916d[_0x1e81('0x4e')]){var _0x5dffa5,_0x18c152,_0x8c06f7;if(_0x10d0af[_0x1e81('0x49')]['to']){_0x18c152=_0x10d0af[_0x1e81('0x49')]['to']['split'](',')[0x0];}return db['MailAccount'][_0x1e81('0x4f')]({'where':{'id':_0x2d916d[_0x1e81('0x50')]},'include':[{'model':db['CmList'],'as':'List','include':[{'model':db[_0x1e81('0x51')],'as':_0x1e81('0x52'),'where':{'email':_0x18c152},'limit':0x1,'order':[['updatedAt',_0x1e81('0x53')]]}]},{'model':db['MailServerOut'],'as':'Smtp','raw':!![],'include':[{'model':db[_0x1e81('0x54')],'as':_0x1e81('0x54'),'raw':!![]}]}]})[_0x1e81('0x25')](function(_0x25c3d9){_0x5dffa5=_0x25c3d9;if(!_0x5dffa5||!_0x5dffa5['Smtp'])return;var _0x59dc29=_0x5dffa5['getSmtpOptions']();if(_0x10d0af[_0x1e81('0x49')][_0x1e81('0x55')]&&_0x10d0af['body'][_0x1e81('0x55')][_0x1e81('0x47')]){for(var _0x2cee45=0x0;_0x2cee45<_0x10d0af[_0x1e81('0x49')][_0x1e81('0x55')][_0x1e81('0x47')];_0x2cee45+=0x1){_0x10d0af[_0x1e81('0x49')][_0x1e81('0x55')][_0x2cee45]={'filename':_0x10d0af['body'][_0x1e81('0x55')][_0x2cee45]['name'],'path':path[_0x1e81('0x56')](config[_0x1e81('0x57')],_0x1e81('0x58'),_0x10d0af[_0x1e81('0x49')][_0x1e81('0x55')][_0x2cee45]['basename'])};}}_0x8c06f7={'account':_0x59dc29,'message':_0x10d0af['body']};return;})[_0x1e81('0x25')](function(){if(_0x5dffa5[_0x1e81('0x59')]){if(_0x5dffa5[_0x1e81('0x59')][_0x1e81('0x52')]['length']){return _0x5dffa5['List'][_0x1e81('0x52')][0x0];}else{return db[_0x1e81('0x51')][_0x1e81('0x4c')](_[_0x1e81('0xd')](_0x10d0af[_0x1e81('0x49')],{'firstName':_0x10d0af[_0x1e81('0x49')]['to'],'email':_0x10d0af[_0x1e81('0x49')]['to'],'phone':_0x10d0af[_0x1e81('0x49')]['to'],'ListId':_0x5dffa5[_0x1e81('0x5a')]}));}}else{throw new Error('List\x20not\x20found');}})[_0x1e81('0x25')](function(){if(_0x8c06f7){return respondWithRpcPromise(_0x1e81('0x5b'),_0x1e81('0x5c'),_0x8c06f7,client9003)['then'](function(_0x310983){return _0x2d916d[_0x1e81('0x24')]({'read':!![],'messageId':_0x310983['messageId'],'sentAt':moment()['format'](_0x1e81('0x5d'))});})[_0x1e81('0x1d')](function(_0xcb8982){logger[_0x1e81('0x18')]('%s',JSON[_0x1e81('0x5e')](_0xcb8982));return _0x2d916d;});}return _0x2d916d;});}return _0x2d916d;}})[_0x1e81('0x25')](respondWithResult(_0x2b93dc,0xc9))[_0x1e81('0x1d')](handleError(_0x2b93dc,null));};exports['accept']=function(_0x5742d6,_0x381893){var _0x5d6326={'agent':{},'channel':_0x1e81('0x5f')};if(_0x5742d6[_0x1e81('0x49')]['id']){delete _0x5742d6[_0x1e81('0x49')]['id'];}_0x5742d6[_0x1e81('0x49')][_0x1e81('0x60')]=!![];_0x5742d6[_0x1e81('0x49')][_0x1e81('0x61')]=moment()[_0x1e81('0x62')](_0x1e81('0x5d'));_0x5742d6[_0x1e81('0x49')][_0x1e81('0x63')]=_0x5742d6['body'][_0x1e81('0x63')]||_0x5742d6[_0x1e81('0x64')]['id'];_0x5d6326[_0x1e81('0x65')]['id']=_0x5742d6[_0x1e81('0x49')][_0x1e81('0x63')];return db['MailMessage'][_0x1e81('0x48')]({'where':{'id':_0x5742d6[_0x1e81('0x4a')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x381893,null))[_0x1e81('0x25')](saveUpdates(_0x5742d6[_0x1e81('0x49')],null))[_0x1e81('0x25')](function(_0x48f30c){if(_0x48f30c){_0x5d6326['message']=_0x48f30c[_0x1e81('0x66')]({'plain':!![]});return db['MailInteraction'][_0x1e81('0x48')]({'where':{'id':_0x48f30c['MailInteractionId']}});}return null;})['then'](handleEntityNotFound(_0x381893,null))[_0x1e81('0x25')](function(_0x4e63df){if(_0x4e63df){return _0x4e63df[_0x1e81('0x24')]({'UserId':_0x5742d6[_0x1e81('0x49')][_0x1e81('0x63')],'read1stAt':_[_0x1e81('0x67')](_0x4e63df['read1stAt'])?moment()['format'](_0x1e81('0x5d')):undefined});}return null;})[_0x1e81('0x25')](function(_0x29d4c4){if(_0x29d4c4){_0x5d6326[_0x1e81('0x68')]=_0x29d4c4[_0x1e81('0x66')]({'plain':!![]});interaction_log[_0x1e81('0x14')](_0x1e81('0x69'),_0x5742d6[_0x1e81('0x64')]['id'],_0x5742d6[_0x1e81('0x64')][_0x1e81('0x29')],_0x5742d6[_0x1e81('0x64')][_0x1e81('0x6a')],_0x5d6326[_0x1e81('0x68')]['id'],_0x5742d6[_0x1e81('0x49')]?JSON[_0x1e81('0x5e')](_0x5742d6[_0x1e81('0x49')]):_0x1e81('0x6b'));return respondWithRpcPromise('AcceptMessage',_0x1e81('0x6c'),_0x5d6326);}return null;})['then'](function(_0x594096){var _0x464e98='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x594096[_0x1e81('0x1b')][_0x1e81('0x6d')];return db['sequelize'][_0x1e81('0x32')](_0x464e98,{'type':db['Sequelize'][_0x1e81('0x6e')][_0x1e81('0x6f')],'raw':!![]})[_0x1e81('0x25')](function(_0x3a6f13){return _0x3a6f13;});})[_0x1e81('0x25')](function(_0x1db5de){if(_0x1db5de){_0x5d6326[_0x1e81('0x1b')][_0x1e81('0x70')]=_0x1db5de[0x0];if(!_0x5742d6[_0x1e81('0x49')][_0x1e81('0x63')])return;return db[_0x1e81('0x71')]['find']({'where':{'id':_0x5742d6['body'][_0x1e81('0x63')],'role':'agent'},'attributes':['id',_0x1e81('0x29'),'fullname','email',_0x1e81('0x72')],'raw':!![]});}return null;})[_0x1e81('0x25')](function(_0x50ee83){if(!_0x50ee83)return null;_0x5d6326['message'][_0x1e81('0x65')]=_0x50ee83;return _0x5d6326;})['then'](function(_0x1dd701){if(_0x1dd701){if(_0x5742d6['body']['manual']){_0x5d6326['message'][_0x1e81('0x73')]=util['format']('SIP/%s',_0x5742d6[_0x1e81('0x64')][_0x1e81('0x29')]);_0x5d6326[_0x1e81('0x1b')][_0x1e81('0x74')]=_0x5d6326[_0x1e81('0x74')];_0x5d6326['message']['motionChannel']=_0x5d6326['channel'];_0x5d6326[_0x1e81('0x1b')][_0x1e81('0x75')]='accept';_0x5d6326['message'][_0x1e81('0x49')]=htmlToText[_0x1e81('0x76')](_0x5d6326[_0x1e81('0x1b')]['body']);return respondWithRpcPromise(_0x1e81('0x77'),_0x1e81('0x77'),{'event':_0x1e81('0x78'),'message':_0x5d6326[_0x1e81('0x1b')]},client9002)[_0x1e81('0x25')](function(){return _0x5d6326;});}return _0x5d6326;}return null;})[_0x1e81('0x25')](respondWithResult(_0x381893,null))['catch'](handleError(_0x381893,null));};exports[_0x1e81('0x79')]=function(_0x33e216,_0x55c654){var _0x1975f9={'agent':{},'channel':'mail'};if(_0x33e216[_0x1e81('0x49')]['id']){delete _0x33e216[_0x1e81('0x49')]['id'];}_0x33e216[_0x1e81('0x49')][_0x1e81('0x63')]=_0x33e216[_0x1e81('0x49')][_0x1e81('0x63')]||_0x33e216['user']['id'];_0x1975f9[_0x1e81('0x65')]['id']=_0x33e216['body'][_0x1e81('0x63')];return db[_0x1e81('0x2c')][_0x1e81('0x48')]({'where':{'id':_0x33e216[_0x1e81('0x4a')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x55c654,null))[_0x1e81('0x25')](function(_0x3d6ab4){if(_0x3d6ab4){_0x1975f9[_0x1e81('0x1b')]=_0x3d6ab4[_0x1e81('0x66')]({'plain':!![]});return db[_0x1e81('0x7a')]['find']({'where':{'id':_0x3d6ab4['MailInteractionId']}});}return null;})[_0x1e81('0x25')](handleEntityNotFound(_0x55c654,null))[_0x1e81('0x25')](function(_0x47664b){if(_0x47664b){_0x1975f9[_0x1e81('0x68')]=_0x47664b['get']({'plain':!![]});interaction_log['info'](_0x1e81('0x7b'),_0x33e216[_0x1e81('0x64')]['id'],_0x33e216['user'][_0x1e81('0x29')],_0x33e216['user']['role'],_0x1975f9['interaction']['id'],_0x33e216[_0x1e81('0x49')]?JSON[_0x1e81('0x5e')](_0x33e216[_0x1e81('0x49')]):'null');return respondWithRpcPromise(_0x1e81('0x7c'),'rejectMessage',_0x1975f9);}return null;})['then'](function(_0x262e57){var _0x9a3774=_0x1e81('0x7d')+_0x262e57[_0x1e81('0x1b')][_0x1e81('0x6d')];return db[_0x1e81('0x7e')][_0x1e81('0x32')](_0x9a3774,{'type':db[_0x1e81('0x7f')]['QueryTypes'][_0x1e81('0x6f')],'raw':!![]})[_0x1e81('0x25')](function(_0x5c4ecc){return _0x5c4ecc;});})[_0x1e81('0x25')](function(_0x3d65f5){if(_0x3d65f5){_0x1975f9[_0x1e81('0x1b')][_0x1e81('0x70')]=_0x3d65f5[0x0];if(!_0x33e216[_0x1e81('0x49')][_0x1e81('0x63')])return;return db[_0x1e81('0x71')]['find']({'where':{'id':_0x33e216['body']['UserId'],'role':'agent'},'attributes':['id',_0x1e81('0x29'),'fullname',_0x1e81('0x80'),_0x1e81('0x72')],'raw':!![]});}return null;})['then'](function(_0x47fd36){if(!_0x47fd36)return null;_0x1975f9['message'][_0x1e81('0x65')]=_0x47fd36;return _0x1975f9;})[_0x1e81('0x25')](function(_0x12f135){if(_0x12f135){_0x12f135[_0x1e81('0x1b')][_0x1e81('0x73')]=util[_0x1e81('0x62')](_0x1e81('0x81'),_0x33e216[_0x1e81('0x64')][_0x1e81('0x29')]);_0x12f135[_0x1e81('0x1b')][_0x1e81('0x74')]=_0x1975f9[_0x1e81('0x74')];_0x12f135[_0x1e81('0x1b')]['motionChannel']=_0x1975f9[_0x1e81('0x74')];_0x12f135[_0x1e81('0x1b')][_0x1e81('0x75')]='reject';_0x12f135['message']['body']=htmlToText[_0x1e81('0x76')](_0x1975f9['message'][_0x1e81('0x49')]);respondWithRpcPromise(_0x1e81('0x77'),'EventManager',{'event':'rejectmessage','message':_0x12f135[_0x1e81('0x1b')]},client9002);return _0x1975f9;}return null;})[_0x1e81('0x25')](respondWithResult(_0x55c654,null))['catch'](handleError(_0x55c654,null));};exports[_0x1e81('0x82')]=function(_0x20f35e,_0x4275e7){var _0x41c0d3=moment()['unix']()['toString']();var _0x4e9137=path[_0x1e81('0x56')](config[_0x1e81('0x57')],_0x1e81('0x83'),_0x1e81('0x84'),_0x1e81('0x85'));var _0x5ef2f0=path['join'](config['root'],_0x1e81('0x83'),'files',_0x1e81('0x55'));var _0x48fd11=util['format'](_0x1e81('0x86'),_0x41c0d3);return db[_0x1e81('0x2c')]['find']({'where':{'id':_0x20f35e[_0x1e81('0x4a')]['id']},'attributes':['id','body','from','to','cc',_0x1e81('0x87'),'subject',_0x1e81('0x88')],'include':_0x20f35e['query'][_0x1e81('0x55')]?[{'model':db[_0x1e81('0x89')],'as':_0x1e81('0x8a')}]:undefined})[_0x1e81('0x25')](handleEntityNotFound(_0x4275e7,null))[_0x1e81('0x25')](function(_0x1ac7ba){if(_0x1ac7ba){var _0x3a3d4d=_0x1ac7ba;var _0x433ec4={'from':_0x3a3d4d['from'],'to':_0x3a3d4d['to'],'subject':_0x3a3d4d[_0x1e81('0x8b')],'html':htmlEntities[_0x1e81('0x8c')](_0x3a3d4d['body']),'headers':{'Date':moment(_0x3a3d4d['createdAt'])['format'](_0x1e81('0x8d'))},'attachments':[]};if(_0x1ac7ba['cc']){_0x433ec4[_0x1e81('0x8e')]['Cc']=_0x1ac7ba['cc'];}if(_0x1ac7ba[_0x1e81('0x87')]){_0x433ec4[_0x1e81('0x8e')][_0x1e81('0x8f')]=_0x1ac7ba['bcc'];}return new BPromise(function(_0x2ef115,_0x5b186e){if(_0x1ac7ba['Attachments']){for(var _0x1c043d=0x0;_0x1c043d<_0x1ac7ba[_0x1e81('0x8a')][_0x1e81('0x47')];_0x1c043d++){var _0x24287f=_0x1ac7ba[_0x1e81('0x8a')][_0x1c043d];var _0x4e4432=path['join'](_0x5ef2f0,_0x24287f['basename']);if(fs[_0x1e81('0x90')](_0x4e4432)){_0x433ec4[_0x1e81('0x55')]['push']({'name':_0x24287f[_0x1e81('0x29')],'contentType':_0x24287f[_0x1e81('0x2f')],'data':fs[_0x1e81('0x91')](_0x4e4432)});}}}emlformat['build'](_0x433ec4,function(_0x9c9aa6,_0x7633be){if(_0x9c9aa6)return _0x5b186e(_0x9c9aa6);fs[_0x1e81('0x92')](path[_0x1e81('0x56')](_0x4e9137,_0x48fd11),_0x7633be);return _0x2ef115(_0x7633be);});});}})[_0x1e81('0x25')](function(_0x583844){if(_0x583844){return _0x4275e7['download'](path['join'](_0x4e9137,_0x48fd11),_0x48fd11,function(_0x15bc13){if(!_0x15bc13)fs[_0x1e81('0x93')](path[_0x1e81('0x56')](_0x4e9137,_0x48fd11));});}})[_0x1e81('0x1d')](handleError(_0x4275e7,null));};