8469006e7f754766942ee756fe7dd00013e6bc2d
[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 _0xe963=['User','fullname','EventManager','rejectmessage','download','server','files','tmp','root','message-%s.eml','from','bcc','subject','createdAt','Attachment','Attachments','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','existsSync','push','readFileSync','build','writeFileSync','unlinkSync','eml-format','moment','bluebird','util','path','lodash','../../config/logger','api','mail-interactions','../../config/environment','localhost','socket.io-emitter','redis','html-entities','register','jayson/promise','client','http','request','info','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','message','MailMessage,\x20%s,\x20%s','result','catch','json','limit','undefined','count','offset','status','set','Content-Range','update','then','end','sendStatus','stack','name','send','map','MailMessage','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','sort','where','filter','merge','VIRTUAL','options','includeAll','findAll','rows','show','params','include','find','body','destroy','describe','create','direction','out','split','MailAccount','findOne','MailAccountId','CmList','CmContact','Contacts','updatedAt','DESC','MailServerOut','Smtp','CloudProvider','getSmtpOptions','attachments','join','server/files/attachments','List','defaults','List\x20not\x20found','messageId','format','accept','mail','read','readAt','UserId','user','agent','get','isNil','YYYY-MM-DD\x20HH:mm:ss','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','interaction','null','AcceptMessage','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','sequelize','Sequelize','QueryTypes','SELECT','contact','email','internal','manual','interface','SIP/%s','channel','motionChannel','event','fromString','reject','MailInteraction','MailInteractionId','rejectMessage','ContactId'];(function(_0x1daed2,_0x1eef84){var _0x510f05=function(_0x38006f){while(--_0x38006f){_0x1daed2['push'](_0x1daed2['shift']());}};_0x510f05(++_0x1eef84);}(_0xe963,0x15c));var _0x3e96=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xe963[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x3e96('0x0'));var moment=require(_0x3e96('0x1'));var BPromise=require(_0x3e96('0x2'));var util=require(_0x3e96('0x3'));var path=require(_0x3e96('0x4'));var fs=require('fs');var _=require(_0x3e96('0x5'));var Redis=require('ioredis');var htmlToText=require('html-to-text');var qs=require('../../components/parsers/qs');var logger=require(_0x3e96('0x6'))(_0x3e96('0x7'));var interaction_log=require(_0x3e96('0x6'))(_0x3e96('0x8'));var config=require(_0x3e96('0x9'));var db=require('../../mysqldb')['db'];config['redis']=_['defaults'](config['redis'],{'host':_0x3e96('0xa'),'port':0x18eb});var socket=require(_0x3e96('0xb'))(new Redis(config[_0x3e96('0xc')]));var htmlEntities=require(_0x3e96('0xd'));require('./mailMessage.socket')[_0x3e96('0xe')](socket);var jayson=require(_0x3e96('0xf'));var client=jayson[_0x3e96('0x10')]['http']({'port':0x232c});var client9003=jayson[_0x3e96('0x10')][_0x3e96('0x11')]({'port':0x232b});var client9002=jayson[_0x3e96('0x10')][_0x3e96('0x11')]({'port':0x232a});function respondWithRpcPromise(_0xb0edbe,_0x4102e9,_0x20b0ea,_0x49ae48){return new BPromise(function(_0x20c36d,_0x663604){var _0x4c7d88=_0x49ae48||client;return _0x4c7d88[_0x3e96('0x12')](_0xb0edbe,_0x20b0ea)['then'](function(_0x2d205f){logger[_0x3e96('0x13')]('MailMessage,\x20%s,\x20%s',_0x4102e9,_0x3e96('0x14'));logger[_0x3e96('0x15')](_0x3e96('0x16'),_0x4102e9,_0x3e96('0x14'),JSON[_0x3e96('0x17')](_0x2d205f));if(_0x2d205f[_0x3e96('0x18')]){if(_0x2d205f[_0x3e96('0x18')]['code']===0x1f4){logger[_0x3e96('0x18')]('MailMessage,\x20%s,\x20%s',_0x4102e9,_0x2d205f['error'][_0x3e96('0x19')]);return _0x663604(_0x2d205f[_0x3e96('0x18')][_0x3e96('0x19')]);}logger[_0x3e96('0x18')](_0x3e96('0x1a'),_0x4102e9,_0x2d205f[_0x3e96('0x18')]['message']);return _0x20c36d(_0x2d205f[_0x3e96('0x18')][_0x3e96('0x19')]);}else{logger['info']('MailMessage,\x20%s,\x20%s',_0x4102e9,'request\x20sent');_0x20c36d(_0x2d205f[_0x3e96('0x1b')][_0x3e96('0x19')]);}})[_0x3e96('0x1c')](function(_0x3a456f){logger[_0x3e96('0x18')](_0x3e96('0x1a'),_0x4102e9,_0x3a456f);_0x663604(_0x3a456f);});});}function respondWithResult(_0x1c2071,_0x4cc9c3){_0x4cc9c3=_0x4cc9c3||0xc8;return function(_0x38ba0e){if(_0x38ba0e){return _0x1c2071['status'](_0x4cc9c3)[_0x3e96('0x1d')](_0x38ba0e);}};}function respondWithFilteredResult(_0x9ba8c4,_0x447053){return function(_0x7ca362){if(_0x7ca362){var _0x162768=typeof _0x447053['offset']==='undefined'&&typeof _0x447053[_0x3e96('0x1e')]===_0x3e96('0x1f');var _0x4d9408=_0x7ca362[_0x3e96('0x20')];var _0x485185=_0x162768?0x0:_0x447053[_0x3e96('0x21')];var _0x524f3a=_0x162768?_0x7ca362['count']:_0x447053[_0x3e96('0x21')]+_0x447053[_0x3e96('0x1e')];var _0x4fdf09;if(_0x524f3a>=_0x4d9408){_0x524f3a=_0x4d9408;_0x4fdf09=0xc8;}else{_0x4fdf09=0xce;}_0x9ba8c4[_0x3e96('0x22')](_0x4fdf09);return _0x9ba8c4[_0x3e96('0x23')](_0x3e96('0x24'),_0x485185+'-'+_0x524f3a+'/'+_0x4d9408)[_0x3e96('0x1d')](_0x7ca362);}return null;};}function saveUpdates(_0x372b80){return function(_0x13cf2b){if(_0x13cf2b){return _0x13cf2b[_0x3e96('0x25')](_0x372b80)['then'](function(_0x1a6818){return _0x1a6818;});}return null;};}function removeEntity(_0x12c72f){return function(_0x3cfe89){if(_0x3cfe89){return _0x3cfe89['destroy']()[_0x3e96('0x26')](function(){_0x12c72f[_0x3e96('0x22')](0xcc)[_0x3e96('0x27')]();});}};}function handleEntityNotFound(_0x3cb673){return function(_0x17ac9c){if(!_0x17ac9c){_0x3cb673[_0x3e96('0x28')](0x194);}return _0x17ac9c;};}function handleError(_0x35fb6b,_0x28c7cc){_0x28c7cc=_0x28c7cc||0x1f4;return function(_0x27a623){logger[_0x3e96('0x18')](_0x27a623[_0x3e96('0x29')]);if(_0x27a623[_0x3e96('0x2a')]){delete _0x27a623[_0x3e96('0x2a')];}_0x35fb6b[_0x3e96('0x22')](_0x28c7cc)[_0x3e96('0x2b')](_0x27a623);};}exports['index']=function(_0x273275,_0x390a1c){var _0x170fc4={},_0x3f97f2={},_0x82d674={'count':0x0,'rows':[]};var _0x39129f=_[_0x3e96('0x2c')](db[_0x3e96('0x2d')][_0x3e96('0x2e')],function(_0x5268f6){return{'name':_0x5268f6[_0x3e96('0x2f')],'type':_0x5268f6[_0x3e96('0x30')][_0x3e96('0x31')]};});_0x3f97f2['model']=_['map'](_0x39129f,_0x3e96('0x2a'));_0x3f97f2[_0x3e96('0x32')]=_[_0x3e96('0x33')](_0x273275['query']);_0x3f97f2[_0x3e96('0x34')]=_['intersection'](_0x3f97f2['model'],_0x3f97f2[_0x3e96('0x32')]);_0x170fc4['attributes']=_[_0x3e96('0x35')](_0x3f97f2[_0x3e96('0x36')],qs[_0x3e96('0x37')](_0x273275[_0x3e96('0x32')]['fields']));_0x170fc4[_0x3e96('0x38')]=_0x170fc4[_0x3e96('0x38')][_0x3e96('0x39')]?_0x170fc4[_0x3e96('0x38')]:_0x3f97f2['model'];if(!_0x273275[_0x3e96('0x32')][_0x3e96('0x3a')]('nolimit')){_0x170fc4[_0x3e96('0x1e')]=qs[_0x3e96('0x1e')](_0x273275['query']['limit']);_0x170fc4['offset']=qs['offset'](_0x273275[_0x3e96('0x32')][_0x3e96('0x21')]);}_0x170fc4['order']=qs[_0x3e96('0x3b')](_0x273275['query']['sort']);_0x170fc4[_0x3e96('0x3c')]=qs[_0x3e96('0x34')](_['pick'](_0x273275[_0x3e96('0x32')],_0x3f97f2[_0x3e96('0x34')]),_0x39129f);if(_0x273275[_0x3e96('0x32')][_0x3e96('0x3d')]){_0x170fc4[_0x3e96('0x3c')]=_[_0x3e96('0x3e')](_0x170fc4['where'],{'$or':_['map'](_0x39129f,function(_0x1ab00f){if(_0x1ab00f[_0x3e96('0x30')]!==_0x3e96('0x3f')){var _0x4f14ef={};_0x4f14ef[_0x1ab00f[_0x3e96('0x2a')]]={'$like':'%'+_0x273275[_0x3e96('0x32')][_0x3e96('0x3d')]+'%'};return _0x4f14ef;}})});}_0x170fc4=_[_0x3e96('0x3e')]({},_0x170fc4,_0x273275[_0x3e96('0x40')]);var _0x3bdf2e={'where':_0x170fc4[_0x3e96('0x3c')]};return db[_0x3e96('0x2d')][_0x3e96('0x20')](_0x3bdf2e)['then'](function(_0x2bad51){_0x82d674[_0x3e96('0x20')]=_0x2bad51;if(_0x273275[_0x3e96('0x32')][_0x3e96('0x41')]){_0x170fc4['include']=[{'all':!![]}];}return db['MailMessage'][_0x3e96('0x42')](_0x170fc4);})[_0x3e96('0x26')](function(_0xbbd8c1){_0x82d674[_0x3e96('0x43')]=_0xbbd8c1;return _0x82d674;})['then'](respondWithFilteredResult(_0x390a1c,_0x170fc4))['catch'](handleError(_0x390a1c,null));};exports[_0x3e96('0x44')]=function(_0x3db5ba,_0x14fe5b){var _0x4980b0={'raw':!![],'where':{'id':_0x3db5ba[_0x3e96('0x45')]['id']}},_0x466092={};_0x466092[_0x3e96('0x36')]=_[_0x3e96('0x33')](db[_0x3e96('0x2d')][_0x3e96('0x2e')]);_0x466092[_0x3e96('0x32')]=_[_0x3e96('0x33')](_0x3db5ba[_0x3e96('0x32')]);_0x466092['filters']=_[_0x3e96('0x35')](_0x466092[_0x3e96('0x36')],_0x466092[_0x3e96('0x32')]);_0x4980b0[_0x3e96('0x38')]=_[_0x3e96('0x35')](_0x466092['model'],qs[_0x3e96('0x37')](_0x3db5ba[_0x3e96('0x32')][_0x3e96('0x37')]));_0x4980b0[_0x3e96('0x38')]=_0x4980b0['attributes'][_0x3e96('0x39')]?_0x4980b0['attributes']:_0x466092[_0x3e96('0x36')];if(_0x3db5ba[_0x3e96('0x32')][_0x3e96('0x41')]){_0x4980b0[_0x3e96('0x46')]=[{'all':!![]}];}_0x4980b0=_['merge']({},_0x4980b0,_0x3db5ba['options']);return db['MailMessage'][_0x3e96('0x47')](_0x4980b0)[_0x3e96('0x26')](handleEntityNotFound(_0x14fe5b,null))[_0x3e96('0x26')](respondWithResult(_0x14fe5b,null))[_0x3e96('0x1c')](handleError(_0x14fe5b,null));};exports[_0x3e96('0x25')]=function(_0x400f13,_0x10fd91){if(_0x400f13[_0x3e96('0x48')]['id']){delete _0x400f13['body']['id'];}return db[_0x3e96('0x2d')][_0x3e96('0x47')]({'where':{'id':_0x400f13['params']['id']}})['then'](handleEntityNotFound(_0x10fd91,null))[_0x3e96('0x26')](saveUpdates(_0x400f13['body'],null))[_0x3e96('0x26')](respondWithResult(_0x10fd91,null))[_0x3e96('0x1c')](handleError(_0x10fd91,null));};exports[_0x3e96('0x49')]=function(_0x821c96,_0x37a378){return db[_0x3e96('0x2d')][_0x3e96('0x47')]({'where':{'id':_0x821c96['params']['id']}})[_0x3e96('0x26')](handleEntityNotFound(_0x37a378,null))['then'](removeEntity(_0x37a378,null))[_0x3e96('0x1c')](handleError(_0x37a378,null));};exports[_0x3e96('0x4a')]=function(_0x131d32,_0x2ef0b9){return db[_0x3e96('0x2d')][_0x3e96('0x4a')]()[_0x3e96('0x26')](respondWithResult(_0x2ef0b9,null))[_0x3e96('0x1c')](handleError(_0x2ef0b9,null));};exports[_0x3e96('0x4b')]=function(_0x33bdeb,_0x1cd578){return db[_0x3e96('0x2d')]['create'](_0x33bdeb[_0x3e96('0x48')])[_0x3e96('0x26')](function(_0x1bb005){if(_0x1bb005){if(_0x1bb005[_0x3e96('0x4c')]===_0x3e96('0x4d')&&!_0x1bb005['secret']){var _0x265451,_0xfcac81,_0x46dd7e;if(_0x33bdeb[_0x3e96('0x48')]['to']){_0xfcac81=_0x33bdeb[_0x3e96('0x48')]['to'][_0x3e96('0x4e')](',')[0x0];}return db[_0x3e96('0x4f')][_0x3e96('0x50')]({'where':{'id':_0x1bb005[_0x3e96('0x51')]},'include':[{'model':db[_0x3e96('0x52')],'as':'List','include':[{'model':db[_0x3e96('0x53')],'as':_0x3e96('0x54'),'where':{'email':_0xfcac81},'limit':0x1,'order':[[_0x3e96('0x55'),_0x3e96('0x56')]]}]},{'model':db[_0x3e96('0x57')],'as':_0x3e96('0x58'),'raw':!![],'include':[{'model':db[_0x3e96('0x59')],'as':_0x3e96('0x59'),'raw':!![]}]}]})[_0x3e96('0x26')](function(_0x4d40f9){_0x265451=_0x4d40f9;if(!_0x265451||!_0x265451[_0x3e96('0x58')])return;var _0x132be6=_0x265451[_0x3e96('0x5a')]();if(_0x33bdeb[_0x3e96('0x48')]['attachments']&&_0x33bdeb[_0x3e96('0x48')]['attachments']['length']){for(var _0x36c274=0x0;_0x36c274<_0x33bdeb[_0x3e96('0x48')][_0x3e96('0x5b')][_0x3e96('0x39')];_0x36c274+=0x1){_0x33bdeb[_0x3e96('0x48')][_0x3e96('0x5b')][_0x36c274]={'filename':_0x33bdeb[_0x3e96('0x48')][_0x3e96('0x5b')][_0x36c274][_0x3e96('0x2a')],'path':path[_0x3e96('0x5c')](config['root'],_0x3e96('0x5d'),_0x33bdeb[_0x3e96('0x48')]['attachments'][_0x36c274]['basename'])};}}_0x46dd7e={'account':_0x132be6,'message':_0x33bdeb[_0x3e96('0x48')]};return;})['then'](function(){if(_0x265451[_0x3e96('0x5e')]){if(_0x265451[_0x3e96('0x5e')]['Contacts'][_0x3e96('0x39')]){return _0x265451[_0x3e96('0x5e')][_0x3e96('0x54')][0x0];}else{return db[_0x3e96('0x53')]['create'](_[_0x3e96('0x5f')](_0x33bdeb[_0x3e96('0x48')],{'firstName':_0x33bdeb['body']['to'],'email':_0x33bdeb[_0x3e96('0x48')]['to'],'phone':_0x33bdeb[_0x3e96('0x48')]['to'],'ListId':_0x265451['ListId']}));}}else{throw new Error(_0x3e96('0x60'));}})[_0x3e96('0x26')](function(){if(_0x46dd7e){return respondWithRpcPromise('SendMail','sendMail',_0x46dd7e,client9003)[_0x3e96('0x26')](function(_0x1a4394){return _0x1bb005[_0x3e96('0x25')]({'read':!![],'messageId':_0x1a4394[_0x3e96('0x61')],'sentAt':moment()[_0x3e96('0x62')]('YYYY-MM-DD\x20HH:mm:ss')});})[_0x3e96('0x1c')](function(_0x329222){logger[_0x3e96('0x18')]('%s',JSON[_0x3e96('0x17')](_0x329222));return _0x1bb005;});}return _0x1bb005;});}return _0x1bb005;}})[_0x3e96('0x26')](respondWithResult(_0x1cd578,0xc9))['catch'](handleError(_0x1cd578,null));};exports[_0x3e96('0x63')]=function(_0x4e9d02,_0x48a3f3){var _0x194bb4={'agent':{},'channel':_0x3e96('0x64')};if(_0x4e9d02[_0x3e96('0x48')]['id']){delete _0x4e9d02[_0x3e96('0x48')]['id'];}_0x4e9d02[_0x3e96('0x48')][_0x3e96('0x65')]=!![];_0x4e9d02['body'][_0x3e96('0x66')]=moment()['format']('YYYY-MM-DD\x20HH:mm:ss');_0x4e9d02[_0x3e96('0x48')]['UserId']=_0x4e9d02['body'][_0x3e96('0x67')]||_0x4e9d02[_0x3e96('0x68')]['id'];_0x194bb4[_0x3e96('0x69')]['id']=_0x4e9d02['body'][_0x3e96('0x67')];return db['MailMessage'][_0x3e96('0x47')]({'where':{'id':_0x4e9d02[_0x3e96('0x45')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x48a3f3,null))[_0x3e96('0x26')](saveUpdates(_0x4e9d02[_0x3e96('0x48')],null))[_0x3e96('0x26')](function(_0x24a6c9){if(_0x24a6c9){_0x194bb4[_0x3e96('0x19')]=_0x24a6c9[_0x3e96('0x6a')]({'plain':!![]});return db['MailInteraction'][_0x3e96('0x47')]({'where':{'id':_0x24a6c9['MailInteractionId']}});}return null;})[_0x3e96('0x26')](handleEntityNotFound(_0x48a3f3,null))[_0x3e96('0x26')](function(_0x4076cf){if(_0x4076cf){return _0x4076cf[_0x3e96('0x25')]({'UserId':_0x4e9d02['body']['UserId'],'read1stAt':_[_0x3e96('0x6b')](_0x4076cf['read1stAt'])?moment()[_0x3e96('0x62')](_0x3e96('0x6c')):undefined});}return null;})[_0x3e96('0x26')](function(_0x8c21c){if(_0x8c21c){_0x194bb4['interaction']=_0x8c21c['get']({'plain':!![]});interaction_log['info'](_0x3e96('0x6d'),_0x4e9d02[_0x3e96('0x68')]['id'],_0x4e9d02['user'][_0x3e96('0x2a')],_0x4e9d02[_0x3e96('0x68')][_0x3e96('0x6e')],_0x194bb4[_0x3e96('0x6f')]['id'],_0x4e9d02['body']?JSON[_0x3e96('0x17')](_0x4e9d02[_0x3e96('0x48')]):_0x3e96('0x70'));return respondWithRpcPromise(_0x3e96('0x71'),_0x3e96('0x72'),_0x194bb4);}return null;})[_0x3e96('0x26')](function(_0x30f65f){var _0x599ca2=_0x3e96('0x73')+_0x30f65f[_0x3e96('0x19')]['ContactId'];return db[_0x3e96('0x74')][_0x3e96('0x32')](_0x599ca2,{'type':db[_0x3e96('0x75')][_0x3e96('0x76')][_0x3e96('0x77')],'raw':!![]})['then'](function(_0x19c4f1){return _0x19c4f1;});})[_0x3e96('0x26')](function(_0x1bee15){if(_0x1bee15){_0x194bb4[_0x3e96('0x19')][_0x3e96('0x78')]=_0x1bee15[0x0];if(!_0x4e9d02['body'][_0x3e96('0x67')])return;return db['User'][_0x3e96('0x47')]({'where':{'id':_0x4e9d02[_0x3e96('0x48')][_0x3e96('0x67')],'role':_0x3e96('0x69')},'attributes':['id',_0x3e96('0x2a'),'fullname',_0x3e96('0x79'),_0x3e96('0x7a')],'raw':!![]});}return null;})[_0x3e96('0x26')](function(_0x5b8e4e){if(!_0x5b8e4e)return null;_0x194bb4[_0x3e96('0x19')][_0x3e96('0x69')]=_0x5b8e4e;return _0x194bb4;})[_0x3e96('0x26')](function(_0x20b37b){if(_0x20b37b){if(_0x4e9d02[_0x3e96('0x48')][_0x3e96('0x7b')]){_0x194bb4['message'][_0x3e96('0x7c')]=util[_0x3e96('0x62')](_0x3e96('0x7d'),_0x4e9d02[_0x3e96('0x68')]['name']);_0x194bb4[_0x3e96('0x19')]['channel']=_0x194bb4[_0x3e96('0x7e')];_0x194bb4['message'][_0x3e96('0x7f')]=_0x194bb4[_0x3e96('0x7e')];_0x194bb4['message'][_0x3e96('0x80')]='accept';_0x194bb4[_0x3e96('0x19')][_0x3e96('0x48')]=htmlToText[_0x3e96('0x81')](_0x194bb4[_0x3e96('0x19')][_0x3e96('0x48')]);return respondWithRpcPromise('EventManager','EventManager',{'event':'acceptmessage','message':_0x194bb4[_0x3e96('0x19')]},client9002)['then'](function(){return _0x194bb4;});}return _0x194bb4;}return null;})[_0x3e96('0x26')](respondWithResult(_0x48a3f3,null))[_0x3e96('0x1c')](handleError(_0x48a3f3,null));};exports[_0x3e96('0x82')]=function(_0x4ce0,_0x2a1c79){var _0x2159d7={'agent':{},'channel':_0x3e96('0x64')};if(_0x4ce0[_0x3e96('0x48')]['id']){delete _0x4ce0[_0x3e96('0x48')]['id'];}_0x4ce0[_0x3e96('0x48')][_0x3e96('0x67')]=_0x4ce0[_0x3e96('0x48')][_0x3e96('0x67')]||_0x4ce0[_0x3e96('0x68')]['id'];_0x2159d7[_0x3e96('0x69')]['id']=_0x4ce0[_0x3e96('0x48')]['UserId'];return db[_0x3e96('0x2d')][_0x3e96('0x47')]({'where':{'id':_0x4ce0['params']['id'],'UserId':null}})[_0x3e96('0x26')](handleEntityNotFound(_0x2a1c79,null))['then'](function(_0x1e428a){if(_0x1e428a){_0x2159d7[_0x3e96('0x19')]=_0x1e428a[_0x3e96('0x6a')]({'plain':!![]});return db[_0x3e96('0x83')][_0x3e96('0x47')]({'where':{'id':_0x1e428a[_0x3e96('0x84')]}});}return null;})[_0x3e96('0x26')](handleEntityNotFound(_0x2a1c79,null))[_0x3e96('0x26')](function(_0x5124c6){if(_0x5124c6){_0x2159d7[_0x3e96('0x6f')]=_0x5124c6[_0x3e96('0x6a')]({'plain':!![]});interaction_log[_0x3e96('0x13')]('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x4ce0['user']['id'],_0x4ce0[_0x3e96('0x68')][_0x3e96('0x2a')],_0x4ce0[_0x3e96('0x68')][_0x3e96('0x6e')],_0x2159d7[_0x3e96('0x6f')]['id'],_0x4ce0[_0x3e96('0x48')]?JSON[_0x3e96('0x17')](_0x4ce0[_0x3e96('0x48')]):'null');return respondWithRpcPromise('RejectMessage',_0x3e96('0x85'),_0x2159d7);}return null;})[_0x3e96('0x26')](function(_0x288d2f){var _0x2cda11=_0x3e96('0x73')+_0x288d2f[_0x3e96('0x19')][_0x3e96('0x86')];return db['sequelize'][_0x3e96('0x32')](_0x2cda11,{'type':db['Sequelize'][_0x3e96('0x76')]['SELECT'],'raw':!![]})[_0x3e96('0x26')](function(_0x4dc368){return _0x4dc368;});})[_0x3e96('0x26')](function(_0x307228){if(_0x307228){_0x2159d7['message'][_0x3e96('0x78')]=_0x307228[0x0];if(!_0x4ce0['body'][_0x3e96('0x67')])return;return db[_0x3e96('0x87')][_0x3e96('0x47')]({'where':{'id':_0x4ce0[_0x3e96('0x48')][_0x3e96('0x67')],'role':_0x3e96('0x69')},'attributes':['id','name',_0x3e96('0x88'),'email',_0x3e96('0x7a')],'raw':!![]});}return null;})[_0x3e96('0x26')](function(_0x198430){if(!_0x198430)return null;_0x2159d7[_0x3e96('0x19')]['agent']=_0x198430;return _0x2159d7;})[_0x3e96('0x26')](function(_0x182a3d){if(_0x182a3d){_0x182a3d[_0x3e96('0x19')][_0x3e96('0x7c')]=util[_0x3e96('0x62')](_0x3e96('0x7d'),_0x4ce0[_0x3e96('0x68')][_0x3e96('0x2a')]);_0x182a3d[_0x3e96('0x19')][_0x3e96('0x7e')]=_0x2159d7['channel'];_0x182a3d[_0x3e96('0x19')]['motionChannel']=_0x2159d7['channel'];_0x182a3d['message'][_0x3e96('0x80')]=_0x3e96('0x82');_0x182a3d[_0x3e96('0x19')][_0x3e96('0x48')]=htmlToText[_0x3e96('0x81')](_0x2159d7[_0x3e96('0x19')][_0x3e96('0x48')]);respondWithRpcPromise('EventManager',_0x3e96('0x89'),{'event':_0x3e96('0x8a'),'message':_0x182a3d[_0x3e96('0x19')]},client9002);return _0x2159d7;}return null;})['then'](respondWithResult(_0x2a1c79,null))[_0x3e96('0x1c')](handleError(_0x2a1c79,null));};exports[_0x3e96('0x8b')]=function(_0x643fa1,_0x557b9f){var _0x541031=moment()['unix']()['toString']();var _0x392084=path[_0x3e96('0x5c')](config['root'],_0x3e96('0x8c'),_0x3e96('0x8d'),_0x3e96('0x8e'));var _0x2ec700=path['join'](config[_0x3e96('0x8f')],_0x3e96('0x8c'),_0x3e96('0x8d'),'attachments');var _0x4c9e0f=util[_0x3e96('0x62')](_0x3e96('0x90'),_0x541031);return db[_0x3e96('0x2d')][_0x3e96('0x47')]({'where':{'id':_0x643fa1[_0x3e96('0x45')]['id']},'attributes':['id','body',_0x3e96('0x91'),'to','cc',_0x3e96('0x92'),_0x3e96('0x93'),_0x3e96('0x94')],'include':_0x643fa1[_0x3e96('0x32')][_0x3e96('0x5b')]?[{'model':db[_0x3e96('0x95')],'as':_0x3e96('0x96')}]:undefined})[_0x3e96('0x26')](handleEntityNotFound(_0x557b9f,null))[_0x3e96('0x26')](function(_0x5a6e02){if(_0x5a6e02){var _0x40eab2=_0x5a6e02;var _0x1bcb16={'from':_0x40eab2[_0x3e96('0x91')],'to':_0x40eab2['to'],'subject':_0x40eab2[_0x3e96('0x93')],'html':htmlEntities[_0x3e96('0x97')](_0x40eab2[_0x3e96('0x48')]),'headers':{'Date':moment(_0x40eab2[_0x3e96('0x94')])['format'](_0x3e96('0x98'))},'attachments':[]};if(_0x5a6e02['cc']){_0x1bcb16[_0x3e96('0x99')]['Cc']=_0x5a6e02['cc'];}if(_0x5a6e02[_0x3e96('0x92')]){_0x1bcb16[_0x3e96('0x99')][_0x3e96('0x9a')]=_0x5a6e02[_0x3e96('0x92')];}return new BPromise(function(_0x3b8358,_0x15d567){if(_0x5a6e02['Attachments']){for(var _0xd4a7e=0x0;_0xd4a7e<_0x5a6e02[_0x3e96('0x96')][_0x3e96('0x39')];_0xd4a7e++){var _0x27b06a=_0x5a6e02['Attachments'][_0xd4a7e];var _0x79b1b5=path['join'](_0x2ec700,_0x27b06a['basename']);if(fs[_0x3e96('0x9b')](_0x79b1b5)){_0x1bcb16[_0x3e96('0x5b')][_0x3e96('0x9c')]({'name':_0x27b06a['name'],'contentType':_0x27b06a[_0x3e96('0x30')],'data':fs[_0x3e96('0x9d')](_0x79b1b5)});}}}emlformat[_0x3e96('0x9e')](_0x1bcb16,function(_0x35f146,_0x4c7ce6){if(_0x35f146)return _0x15d567(_0x35f146);fs[_0x3e96('0x9f')](path[_0x3e96('0x5c')](_0x392084,_0x4c9e0f),_0x4c7ce6);return _0x3b8358(_0x4c7ce6);});});}})[_0x3e96('0x26')](function(_0x2fd382){if(_0x2fd382){return _0x557b9f['download'](path[_0x3e96('0x5c')](_0x392084,_0x4c9e0f),_0x4c9e0f,function(_0xbc707c){if(!_0xbc707c)fs[_0x3e96('0xa0')](path[_0x3e96('0x5c')](_0x392084,_0x4c9e0f));});}})[_0x3e96('0x1c')](handleError(_0x557b9f,null));};