Built motion from commit da617fac.|2.6.6
[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 _0x7c71=['query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','params','find','body','describe','create','direction','out','split','findOne','MailAccountId','CmList','updatedAt','DESC','Smtp','getSmtpOptions','attachments','join','server/files/attachments','basename','List','Contacts','CmContact','ListId','List\x20not\x20found','SendMail','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','accept','readAt','UserId','user','agent','MailInteraction','MailInteractionId','isNil','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','Sequelize','QueryTypes','SELECT','User','fullname','email','interface','channel','motionChannel','fromString','EventManager','reject','get','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','ContactId','sequelize','contact','internal','SIP/%s','rejectmessage','download','unix','toString','root','server','files','tmp','message-%s.eml','from','bcc','createdAt','subject','headers','Bcc','Attachments','push','readFileSync','build','writeFileSync','unlinkSync','eml-format','bluebird','util','lodash','html-to-text','../../components/parsers/qs','../../config/logger','api','mail-interactions','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./mailMessage.socket','jayson/promise','client','http','request','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','status','json','offset','undefined','limit','count','set','Content-Range','update','destroy','sendStatus','stack','name','send','index','map','MailMessage','rawAttributes','fieldName','model','keys'];(function(_0x2e403d,_0x5674a3){var _0x5e5154=function(_0x185a1f){while(--_0x185a1f){_0x2e403d['push'](_0x2e403d['shift']());}};_0x5e5154(++_0x5674a3);}(_0x7c71,0x68));var _0x17c7=function(_0x4c0622,_0x5dacaf){_0x4c0622=_0x4c0622-0x0;var _0x1799d8=_0x7c71[_0x4c0622];return _0x1799d8;};'use strict';var emlformat=require(_0x17c7('0x0'));var moment=require('moment');var BPromise=require(_0x17c7('0x1'));var util=require(_0x17c7('0x2'));var path=require('path');var fs=require('fs');var _=require(_0x17c7('0x3'));var Redis=require('ioredis');var htmlToText=require(_0x17c7('0x4'));var qs=require(_0x17c7('0x5'));var logger=require(_0x17c7('0x6'))(_0x17c7('0x7'));var interaction_log=require(_0x17c7('0x6'))(_0x17c7('0x8'));var config=require(_0x17c7('0x9'));var db=require(_0x17c7('0xa'))['db'];config['redis']=_[_0x17c7('0xb')](config[_0x17c7('0xc')],{'host':_0x17c7('0xd'),'port':0x18eb});var socket=require(_0x17c7('0xe'))(new Redis(config[_0x17c7('0xc')]));var htmlEntities=require('html-entities');require(_0x17c7('0xf'))['register'](socket);var jayson=require(_0x17c7('0x10'));var client=jayson['client']['http']({'port':0x232c});var client9003=jayson['client']['http']({'port':0x232b});var client9002=jayson[_0x17c7('0x11')][_0x17c7('0x12')]({'port':0x232a});function respondWithRpcPromise(_0x3d75dd,_0x13893e,_0x437994,_0x345be0){return new BPromise(function(_0x487604,_0x2d5279){var _0x363e93=_0x345be0||client;return _0x363e93[_0x17c7('0x13')](_0x3d75dd,_0x437994)[_0x17c7('0x14')](function(_0x148e15){logger[_0x17c7('0x15')](_0x17c7('0x16'),_0x13893e,_0x17c7('0x17'));logger['debug'](_0x17c7('0x18'),_0x13893e,_0x17c7('0x17'),JSON[_0x17c7('0x19')](_0x148e15));if(_0x148e15[_0x17c7('0x1a')]){if(_0x148e15['error'][_0x17c7('0x1b')]===0x1f4){logger['error'](_0x17c7('0x16'),_0x13893e,_0x148e15[_0x17c7('0x1a')][_0x17c7('0x1c')]);return _0x2d5279(_0x148e15[_0x17c7('0x1a')][_0x17c7('0x1c')]);}logger['error'](_0x17c7('0x16'),_0x13893e,_0x148e15[_0x17c7('0x1a')]['message']);return _0x487604(_0x148e15[_0x17c7('0x1a')][_0x17c7('0x1c')]);}else{logger[_0x17c7('0x15')](_0x17c7('0x16'),_0x13893e,'request\x20sent');_0x487604(_0x148e15[_0x17c7('0x1d')]['message']);}})[_0x17c7('0x1e')](function(_0x2ab3bc){logger['error'](_0x17c7('0x16'),_0x13893e,_0x2ab3bc);_0x2d5279(_0x2ab3bc);});});}function respondWithResult(_0x21214e,_0x7c6a92){_0x7c6a92=_0x7c6a92||0xc8;return function(_0x8379a){if(_0x8379a){return _0x21214e[_0x17c7('0x1f')](_0x7c6a92)[_0x17c7('0x20')](_0x8379a);}};}function respondWithFilteredResult(_0x4e504b,_0x19bcd7){return function(_0x2d48c1){if(_0x2d48c1){var _0x5d21a9=typeof _0x19bcd7[_0x17c7('0x21')]===_0x17c7('0x22')&&typeof _0x19bcd7[_0x17c7('0x23')]===_0x17c7('0x22');var _0x5d56b2=_0x2d48c1[_0x17c7('0x24')];var _0x34497e=_0x5d21a9?0x0:_0x19bcd7[_0x17c7('0x21')];var _0x4adc86=_0x5d21a9?_0x2d48c1[_0x17c7('0x24')]:_0x19bcd7[_0x17c7('0x21')]+_0x19bcd7['limit'];var _0x36cf57;if(_0x4adc86>=_0x5d56b2){_0x4adc86=_0x5d56b2;_0x36cf57=0xc8;}else{_0x36cf57=0xce;}_0x4e504b[_0x17c7('0x1f')](_0x36cf57);return _0x4e504b[_0x17c7('0x25')](_0x17c7('0x26'),_0x34497e+'-'+_0x4adc86+'/'+_0x5d56b2)['json'](_0x2d48c1);}return null;};}function saveUpdates(_0x2a2100){return function(_0x50750c){if(_0x50750c){return _0x50750c[_0x17c7('0x27')](_0x2a2100)[_0x17c7('0x14')](function(_0x4def8){return _0x4def8;});}return null;};}function removeEntity(_0x364902){return function(_0x5be4d2){if(_0x5be4d2){return _0x5be4d2[_0x17c7('0x28')]()[_0x17c7('0x14')](function(){_0x364902[_0x17c7('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x327d64){return function(_0x4fe136){if(!_0x4fe136){_0x327d64[_0x17c7('0x29')](0x194);}return _0x4fe136;};}function handleError(_0xccf95d,_0x14d015){_0x14d015=_0x14d015||0x1f4;return function(_0x27fe4b){logger[_0x17c7('0x1a')](_0x27fe4b[_0x17c7('0x2a')]);if(_0x27fe4b[_0x17c7('0x2b')]){delete _0x27fe4b[_0x17c7('0x2b')];}_0xccf95d[_0x17c7('0x1f')](_0x14d015)[_0x17c7('0x2c')](_0x27fe4b);};}exports[_0x17c7('0x2d')]=function(_0x375a50,_0x2daebf){var _0x5d59c0={},_0x47c978={},_0xdcf06a={'count':0x0,'rows':[]};var _0x56baf1=_[_0x17c7('0x2e')](db[_0x17c7('0x2f')][_0x17c7('0x30')],function(_0x35c914){return{'name':_0x35c914[_0x17c7('0x31')],'type':_0x35c914['type']['key']};});_0x47c978[_0x17c7('0x32')]=_[_0x17c7('0x2e')](_0x56baf1,'name');_0x47c978['query']=_[_0x17c7('0x33')](_0x375a50[_0x17c7('0x34')]);_0x47c978['filters']=_[_0x17c7('0x35')](_0x47c978[_0x17c7('0x32')],_0x47c978[_0x17c7('0x34')]);_0x5d59c0[_0x17c7('0x36')]=_[_0x17c7('0x35')](_0x47c978[_0x17c7('0x32')],qs['fields'](_0x375a50['query'][_0x17c7('0x37')]));_0x5d59c0['attributes']=_0x5d59c0['attributes'][_0x17c7('0x38')]?_0x5d59c0[_0x17c7('0x36')]:_0x47c978[_0x17c7('0x32')];if(!_0x375a50['query'][_0x17c7('0x39')](_0x17c7('0x3a'))){_0x5d59c0['limit']=qs['limit'](_0x375a50[_0x17c7('0x34')]['limit']);_0x5d59c0[_0x17c7('0x21')]=qs[_0x17c7('0x21')](_0x375a50[_0x17c7('0x34')][_0x17c7('0x21')]);}_0x5d59c0[_0x17c7('0x3b')]=qs['sort'](_0x375a50[_0x17c7('0x34')][_0x17c7('0x3c')]);_0x5d59c0[_0x17c7('0x3d')]=qs[_0x17c7('0x3e')](_[_0x17c7('0x3f')](_0x375a50[_0x17c7('0x34')],_0x47c978['filters']),_0x56baf1);if(_0x375a50[_0x17c7('0x34')][_0x17c7('0x40')]){_0x5d59c0[_0x17c7('0x3d')]=_[_0x17c7('0x41')](_0x5d59c0[_0x17c7('0x3d')],{'$or':_['map'](_0x56baf1,function(_0x4b5aae){if(_0x4b5aae['type']!==_0x17c7('0x42')){var _0x57ea6f={};_0x57ea6f[_0x4b5aae[_0x17c7('0x2b')]]={'$like':'%'+_0x375a50[_0x17c7('0x34')][_0x17c7('0x40')]+'%'};return _0x57ea6f;}})});}_0x5d59c0=_[_0x17c7('0x41')]({},_0x5d59c0,_0x375a50['options']);var _0x63e115={'where':_0x5d59c0[_0x17c7('0x3d')]};return db[_0x17c7('0x2f')][_0x17c7('0x24')](_0x63e115)[_0x17c7('0x14')](function(_0x1610a6){_0xdcf06a[_0x17c7('0x24')]=_0x1610a6;if(_0x375a50[_0x17c7('0x34')][_0x17c7('0x43')]){_0x5d59c0[_0x17c7('0x44')]=[{'all':!![]}];}return db[_0x17c7('0x2f')][_0x17c7('0x45')](_0x5d59c0);})[_0x17c7('0x14')](function(_0x270a87){_0xdcf06a[_0x17c7('0x46')]=_0x270a87;return _0xdcf06a;})[_0x17c7('0x14')](respondWithFilteredResult(_0x2daebf,_0x5d59c0))['catch'](handleError(_0x2daebf,null));};exports['show']=function(_0x15364b,_0x519a80){var _0x36ac78={'raw':!![],'where':{'id':_0x15364b[_0x17c7('0x47')]['id']}},_0x31b8aa={};_0x31b8aa['model']=_['keys'](db[_0x17c7('0x2f')][_0x17c7('0x30')]);_0x31b8aa['query']=_[_0x17c7('0x33')](_0x15364b[_0x17c7('0x34')]);_0x31b8aa[_0x17c7('0x3e')]=_['intersection'](_0x31b8aa['model'],_0x31b8aa[_0x17c7('0x34')]);_0x36ac78['attributes']=_[_0x17c7('0x35')](_0x31b8aa[_0x17c7('0x32')],qs[_0x17c7('0x37')](_0x15364b[_0x17c7('0x34')][_0x17c7('0x37')]));_0x36ac78[_0x17c7('0x36')]=_0x36ac78['attributes'][_0x17c7('0x38')]?_0x36ac78[_0x17c7('0x36')]:_0x31b8aa[_0x17c7('0x32')];if(_0x15364b[_0x17c7('0x34')][_0x17c7('0x43')]){_0x36ac78['include']=[{'all':!![]}];}_0x36ac78=_[_0x17c7('0x41')]({},_0x36ac78,_0x15364b['options']);return db[_0x17c7('0x2f')][_0x17c7('0x48')](_0x36ac78)[_0x17c7('0x14')](handleEntityNotFound(_0x519a80,null))[_0x17c7('0x14')](respondWithResult(_0x519a80,null))[_0x17c7('0x1e')](handleError(_0x519a80,null));};exports['update']=function(_0x23c197,_0x436eea){if(_0x23c197['body']['id']){delete _0x23c197[_0x17c7('0x49')]['id'];}return db['MailMessage'][_0x17c7('0x48')]({'where':{'id':_0x23c197[_0x17c7('0x47')]['id']}})[_0x17c7('0x14')](handleEntityNotFound(_0x436eea,null))[_0x17c7('0x14')](saveUpdates(_0x23c197['body'],null))['then'](respondWithResult(_0x436eea,null))['catch'](handleError(_0x436eea,null));};exports['destroy']=function(_0x3cfc77,_0x4c9813){return db[_0x17c7('0x2f')][_0x17c7('0x48')]({'where':{'id':_0x3cfc77[_0x17c7('0x47')]['id']}})[_0x17c7('0x14')](handleEntityNotFound(_0x4c9813,null))['then'](removeEntity(_0x4c9813,null))[_0x17c7('0x1e')](handleError(_0x4c9813,null));};exports[_0x17c7('0x4a')]=function(_0x45980f,_0x7d58a8){return db[_0x17c7('0x2f')][_0x17c7('0x4a')]()[_0x17c7('0x14')](respondWithResult(_0x7d58a8,null))[_0x17c7('0x1e')](handleError(_0x7d58a8,null));};exports[_0x17c7('0x4b')]=function(_0x1c6267,_0x4e3171){return db['MailMessage'][_0x17c7('0x4b')](_0x1c6267['body'])[_0x17c7('0x14')](function(_0x160c50){if(_0x160c50){if(_0x160c50[_0x17c7('0x4c')]===_0x17c7('0x4d')&&!_0x160c50['secret']){var _0x3b94d0,_0x397f4f,_0x2e8afc;if(_0x1c6267['body']['to']){_0x397f4f=_0x1c6267[_0x17c7('0x49')]['to'][_0x17c7('0x4e')](',')[0x0];}return db['MailAccount'][_0x17c7('0x4f')]({'where':{'id':_0x160c50[_0x17c7('0x50')]},'include':[{'model':db[_0x17c7('0x51')],'as':'List','include':[{'model':db['CmContact'],'as':'Contacts','where':{'email':_0x397f4f},'limit':0x1,'order':[[_0x17c7('0x52'),_0x17c7('0x53')]]}]},{'model':db['MailServerOut'],'as':_0x17c7('0x54'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':'CloudProvider','raw':!![]}]}]})[_0x17c7('0x14')](function(_0x2c56f0){_0x3b94d0=_0x2c56f0;if(!_0x3b94d0||!_0x3b94d0[_0x17c7('0x54')])return;var _0x24d090=_0x3b94d0[_0x17c7('0x55')]();if(_0x1c6267['body']['attachments']&&_0x1c6267[_0x17c7('0x49')][_0x17c7('0x56')][_0x17c7('0x38')]){for(var _0x2e0913=0x0;_0x2e0913<_0x1c6267['body'][_0x17c7('0x56')][_0x17c7('0x38')];_0x2e0913+=0x1){_0x1c6267[_0x17c7('0x49')][_0x17c7('0x56')][_0x2e0913]={'filename':_0x1c6267[_0x17c7('0x49')][_0x17c7('0x56')][_0x2e0913][_0x17c7('0x2b')],'path':path[_0x17c7('0x57')](config['root'],_0x17c7('0x58'),_0x1c6267[_0x17c7('0x49')][_0x17c7('0x56')][_0x2e0913][_0x17c7('0x59')])};}}_0x2e8afc={'account':_0x24d090,'message':_0x1c6267[_0x17c7('0x49')]};return;})[_0x17c7('0x14')](function(){if(_0x3b94d0[_0x17c7('0x5a')]){if(_0x3b94d0[_0x17c7('0x5a')][_0x17c7('0x5b')]['length']){return _0x3b94d0['List'][_0x17c7('0x5b')][0x0];}else{return db[_0x17c7('0x5c')][_0x17c7('0x4b')](_['defaults'](_0x1c6267[_0x17c7('0x49')],{'firstName':_0x1c6267[_0x17c7('0x49')]['to'],'email':_0x1c6267[_0x17c7('0x49')]['to'],'phone':_0x1c6267[_0x17c7('0x49')]['to'],'ListId':_0x3b94d0[_0x17c7('0x5d')]}));}}else{throw new Error(_0x17c7('0x5e'));}})[_0x17c7('0x14')](function(){if(_0x2e8afc){return respondWithRpcPromise(_0x17c7('0x5f'),_0x17c7('0x60'),_0x2e8afc,client9003)[_0x17c7('0x14')](function(_0x2c9e0e){return _0x160c50['update']({'read':!![],'messageId':_0x2c9e0e[_0x17c7('0x61')],'sentAt':moment()[_0x17c7('0x62')](_0x17c7('0x63'))});})[_0x17c7('0x1e')](function(_0x24cc69){logger[_0x17c7('0x1a')]('%s',JSON[_0x17c7('0x19')](_0x24cc69));return _0x160c50;});}return _0x160c50;});}return _0x160c50;}})['then'](respondWithResult(_0x4e3171,0xc9))[_0x17c7('0x1e')](handleError(_0x4e3171,null));};exports[_0x17c7('0x64')]=function(_0x97a905,_0x14fda2){var _0x4fffaa={'agent':{},'channel':'mail'};if(_0x97a905[_0x17c7('0x49')]['id']){delete _0x97a905[_0x17c7('0x49')]['id'];}_0x97a905['body']['read']=!![];_0x97a905[_0x17c7('0x49')][_0x17c7('0x65')]=moment()[_0x17c7('0x62')](_0x17c7('0x63'));_0x97a905[_0x17c7('0x49')][_0x17c7('0x66')]=_0x97a905[_0x17c7('0x49')][_0x17c7('0x66')]||_0x97a905[_0x17c7('0x67')]['id'];_0x4fffaa[_0x17c7('0x68')]['id']=_0x97a905[_0x17c7('0x49')][_0x17c7('0x66')];return db[_0x17c7('0x2f')]['find']({'where':{'id':_0x97a905['params']['id'],'UserId':null}})[_0x17c7('0x14')](handleEntityNotFound(_0x14fda2,null))['then'](saveUpdates(_0x97a905[_0x17c7('0x49')],null))[_0x17c7('0x14')](function(_0x1f01a5){if(_0x1f01a5){_0x4fffaa[_0x17c7('0x1c')]=_0x1f01a5['get']({'plain':!![]});return db[_0x17c7('0x69')][_0x17c7('0x48')]({'where':{'id':_0x1f01a5[_0x17c7('0x6a')]}});}return null;})[_0x17c7('0x14')](handleEntityNotFound(_0x14fda2,null))['then'](function(_0xbd6aca){if(_0xbd6aca){return _0xbd6aca['update']({'UserId':_0x97a905['body'][_0x17c7('0x66')],'read1stAt':_[_0x17c7('0x6b')](_0xbd6aca[_0x17c7('0x6c')])?moment()['format'](_0x17c7('0x63')):undefined});}return null;})[_0x17c7('0x14')](function(_0xef456a){if(_0xef456a){_0x4fffaa[_0x17c7('0x6d')]=_0xef456a['get']({'plain':!![]});interaction_log[_0x17c7('0x15')](_0x17c7('0x6e'),_0x97a905[_0x17c7('0x67')]['id'],_0x97a905['user'][_0x17c7('0x2b')],_0x97a905['user'][_0x17c7('0x6f')],_0x4fffaa[_0x17c7('0x6d')]['id'],_0x97a905[_0x17c7('0x49')]?JSON[_0x17c7('0x19')](_0x97a905[_0x17c7('0x49')]):_0x17c7('0x70'));return respondWithRpcPromise(_0x17c7('0x71'),_0x17c7('0x72'),_0x4fffaa);}return null;})[_0x17c7('0x14')](function(_0xadcb93){var _0xfb2354=_0x17c7('0x73')+_0xadcb93[_0x17c7('0x1c')]['ContactId'];return db['sequelize']['query'](_0xfb2354,{'type':db[_0x17c7('0x74')][_0x17c7('0x75')][_0x17c7('0x76')],'raw':!![]})[_0x17c7('0x14')](function(_0xbb3761){return _0xbb3761;});})[_0x17c7('0x14')](function(_0x3a5abd){if(_0x3a5abd){_0x4fffaa[_0x17c7('0x1c')]['contact']=_0x3a5abd[0x0];if(!_0x97a905[_0x17c7('0x49')][_0x17c7('0x66')])return;return db[_0x17c7('0x77')][_0x17c7('0x48')]({'where':{'id':_0x97a905['body']['UserId'],'role':_0x17c7('0x68')},'attributes':['id','name',_0x17c7('0x78'),_0x17c7('0x79'),'internal'],'raw':!![]});}return null;})['then'](function(_0x43b356){if(!_0x43b356)return null;_0x4fffaa[_0x17c7('0x1c')][_0x17c7('0x68')]=_0x43b356;return _0x4fffaa;})[_0x17c7('0x14')](function(_0x38ffc1){if(_0x38ffc1){if(_0x97a905['body']['manual']){_0x4fffaa[_0x17c7('0x1c')][_0x17c7('0x7a')]=util[_0x17c7('0x62')]('SIP/%s',_0x97a905['user'][_0x17c7('0x2b')]);_0x4fffaa['message'][_0x17c7('0x7b')]=_0x4fffaa[_0x17c7('0x7b')];_0x4fffaa[_0x17c7('0x1c')][_0x17c7('0x7c')]=_0x4fffaa[_0x17c7('0x7b')];_0x4fffaa[_0x17c7('0x1c')]['event']=_0x17c7('0x64');_0x4fffaa['message'][_0x17c7('0x49')]=htmlToText[_0x17c7('0x7d')](_0x4fffaa['message'][_0x17c7('0x49')]);return respondWithRpcPromise(_0x17c7('0x7e'),_0x17c7('0x7e'),{'event':'acceptmessage','message':_0x4fffaa['message']},client9002)[_0x17c7('0x14')](function(){return _0x4fffaa;});}return _0x4fffaa;}return null;})[_0x17c7('0x14')](respondWithResult(_0x14fda2,null))['catch'](handleError(_0x14fda2,null));};exports[_0x17c7('0x7f')]=function(_0x263965,_0x28deeb){var _0xba7b00={'agent':{},'channel':'mail'};if(_0x263965['body']['id']){delete _0x263965[_0x17c7('0x49')]['id'];}_0x263965[_0x17c7('0x49')]['UserId']=_0x263965['body'][_0x17c7('0x66')]||_0x263965[_0x17c7('0x67')]['id'];_0xba7b00[_0x17c7('0x68')]['id']=_0x263965[_0x17c7('0x49')][_0x17c7('0x66')];return db[_0x17c7('0x2f')][_0x17c7('0x48')]({'where':{'id':_0x263965[_0x17c7('0x47')]['id'],'UserId':null}})[_0x17c7('0x14')](handleEntityNotFound(_0x28deeb,null))[_0x17c7('0x14')](function(_0x1533d1){if(_0x1533d1){_0xba7b00[_0x17c7('0x1c')]=_0x1533d1[_0x17c7('0x80')]({'plain':!![]});return db[_0x17c7('0x69')][_0x17c7('0x48')]({'where':{'id':_0x1533d1[_0x17c7('0x6a')]}});}return null;})[_0x17c7('0x14')](handleEntityNotFound(_0x28deeb,null))['then'](function(_0xfbf090){if(_0xfbf090){_0xba7b00[_0x17c7('0x6d')]=_0xfbf090['get']({'plain':!![]});interaction_log['info'](_0x17c7('0x81'),_0x263965['user']['id'],_0x263965[_0x17c7('0x67')][_0x17c7('0x2b')],_0x263965[_0x17c7('0x67')][_0x17c7('0x6f')],_0xba7b00[_0x17c7('0x6d')]['id'],_0x263965[_0x17c7('0x49')]?JSON['stringify'](_0x263965['body']):_0x17c7('0x70'));return respondWithRpcPromise('RejectMessage','rejectMessage',_0xba7b00);}return null;})[_0x17c7('0x14')](function(_0x97849d){var _0xf4dcd2=_0x17c7('0x73')+_0x97849d[_0x17c7('0x1c')][_0x17c7('0x82')];return db[_0x17c7('0x83')][_0x17c7('0x34')](_0xf4dcd2,{'type':db[_0x17c7('0x74')][_0x17c7('0x75')][_0x17c7('0x76')],'raw':!![]})[_0x17c7('0x14')](function(_0x4d3546){return _0x4d3546;});})['then'](function(_0x4b0fc6){if(_0x4b0fc6){_0xba7b00[_0x17c7('0x1c')][_0x17c7('0x84')]=_0x4b0fc6[0x0];if(!_0x263965['body'][_0x17c7('0x66')])return;return db[_0x17c7('0x77')][_0x17c7('0x48')]({'where':{'id':_0x263965[_0x17c7('0x49')]['UserId'],'role':_0x17c7('0x68')},'attributes':['id','name',_0x17c7('0x78'),_0x17c7('0x79'),_0x17c7('0x85')],'raw':!![]});}return null;})[_0x17c7('0x14')](function(_0x18d32c){if(!_0x18d32c)return null;_0xba7b00['message']['agent']=_0x18d32c;return _0xba7b00;})[_0x17c7('0x14')](function(_0x4e17d5){if(_0x4e17d5){_0x4e17d5[_0x17c7('0x1c')][_0x17c7('0x7a')]=util[_0x17c7('0x62')](_0x17c7('0x86'),_0x263965[_0x17c7('0x67')][_0x17c7('0x2b')]);_0x4e17d5[_0x17c7('0x1c')][_0x17c7('0x7b')]=_0xba7b00[_0x17c7('0x7b')];_0x4e17d5[_0x17c7('0x1c')]['motionChannel']=_0xba7b00['channel'];_0x4e17d5[_0x17c7('0x1c')]['event']='reject';_0x4e17d5['message'][_0x17c7('0x49')]=htmlToText['fromString'](_0xba7b00[_0x17c7('0x1c')][_0x17c7('0x49')]);respondWithRpcPromise('EventManager',_0x17c7('0x7e'),{'event':_0x17c7('0x87'),'message':_0x4e17d5['message']},client9002);return _0xba7b00;}return null;})['then'](respondWithResult(_0x28deeb,null))[_0x17c7('0x1e')](handleError(_0x28deeb,null));};exports[_0x17c7('0x88')]=function(_0x4956d5,_0x3ca01d){var _0x192d24=moment()[_0x17c7('0x89')]()[_0x17c7('0x8a')]();var _0x5c992f=path[_0x17c7('0x57')](config[_0x17c7('0x8b')],_0x17c7('0x8c'),_0x17c7('0x8d'),_0x17c7('0x8e'));var _0x41c6e5=path[_0x17c7('0x57')](config[_0x17c7('0x8b')],_0x17c7('0x8c'),_0x17c7('0x8d'),_0x17c7('0x56'));var _0x47a49e=util[_0x17c7('0x62')](_0x17c7('0x8f'),_0x192d24);return db[_0x17c7('0x2f')][_0x17c7('0x48')]({'where':{'id':_0x4956d5[_0x17c7('0x47')]['id']},'attributes':['id','body',_0x17c7('0x90'),'to','cc',_0x17c7('0x91'),'subject',_0x17c7('0x92')],'include':_0x4956d5[_0x17c7('0x34')]['attachments']?[{'model':db['Attachment'],'as':'Attachments'}]:undefined})[_0x17c7('0x14')](handleEntityNotFound(_0x3ca01d,null))[_0x17c7('0x14')](function(_0x268e50){if(_0x268e50){var _0x5e1f77=_0x268e50;var _0xabad25={'from':_0x5e1f77[_0x17c7('0x90')],'to':_0x5e1f77['to'],'subject':_0x5e1f77[_0x17c7('0x93')],'html':htmlEntities['decode'](_0x5e1f77[_0x17c7('0x49')]),'headers':{'Date':moment(_0x5e1f77[_0x17c7('0x92')])[_0x17c7('0x62')]('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x268e50['cc']){_0xabad25[_0x17c7('0x94')]['Cc']=_0x268e50['cc'];}if(_0x268e50[_0x17c7('0x91')]){_0xabad25[_0x17c7('0x94')][_0x17c7('0x95')]=_0x268e50[_0x17c7('0x91')];}return new BPromise(function(_0xf7c7be,_0xc9628b){if(_0x268e50['Attachments']){for(var _0x28319e=0x0;_0x28319e<_0x268e50[_0x17c7('0x96')][_0x17c7('0x38')];_0x28319e++){var _0x36acd5=_0x268e50[_0x17c7('0x96')][_0x28319e];var _0x3fd347=path[_0x17c7('0x57')](_0x41c6e5,_0x36acd5[_0x17c7('0x59')]);if(fs['existsSync'](_0x3fd347)){_0xabad25[_0x17c7('0x56')][_0x17c7('0x97')]({'name':_0x36acd5['name'],'contentType':_0x36acd5['type'],'data':fs[_0x17c7('0x98')](_0x3fd347)});}}}emlformat[_0x17c7('0x99')](_0xabad25,function(_0xa1d346,_0xbe3088){if(_0xa1d346)return _0xc9628b(_0xa1d346);fs[_0x17c7('0x9a')](path[_0x17c7('0x57')](_0x5c992f,_0x47a49e),_0xbe3088);return _0xf7c7be(_0xbe3088);});});}})[_0x17c7('0x14')](function(_0x3939c7){if(_0x3939c7){return _0x3ca01d[_0x17c7('0x88')](path[_0x17c7('0x57')](_0x5c992f,_0x47a49e),_0x47a49e,function(_0xc9472f){if(!_0xc9472f)fs[_0x17c7('0x9b')](path['join'](_0x5c992f,_0x47a49e));});}})['catch'](handleError(_0x3ca01d,null));};