Built motion from commit b58257bb.|2.5.37
[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 _0x259c=['message','result','json','offset','undefined','limit','status','set','Content-Range','destroy','end','sendStatus','stack','name','send','index','map','MailMessage','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','order','sort','pick','filter','where','merge','options','count','includeAll','include','findAll','catch','params','rawAttributes','body','find','describe','create','direction','secret','split','findOne','MailAccountId','CmList','List','CmContact','Contacts','MailServerOut','Smtp','isNil','service','host','port','secure','auth','user','pass','attachments','join','root','server/files/attachments','ListId','SendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','accept','mail','read','readAt','UserId','agent','get','MailInteraction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','interaction','null','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','sequelize','Sequelize','QueryTypes','SELECT','contact','fullname','email','internal','manual','SIP/%s','channel','motionChannel','event','fromString','EventManager','acceptmessage','MailInteractionId','RejectMessage','rejectMessage','User','interface','download','unix','toString','server','files','tmp','message-%s.eml','from','bcc','subject','Attachments','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','basename','existsSync','push','build','writeFileSync','unlinkSync','eml-format','bluebird','util','lodash','ioredis','html-to-text','api','mail-interactions','../../mysqldb','defaults','socket.io-emitter','./mailMessage.socket','register','jayson/promise','http','client','request','then','request\x20sent','debug','stringify','error','code','MailMessage,\x20%s,\x20%s'];(function(_0x3b72bb,_0x30c532){var _0x4041db=function(_0x1d8280){while(--_0x1d8280){_0x3b72bb['push'](_0x3b72bb['shift']());}};_0x4041db(++_0x30c532);}(_0x259c,0x84));var _0xc259=function(_0x5f8000,_0x4a56b1){_0x5f8000=_0x5f8000-0x0;var _0xc8f261=_0x259c[_0x5f8000];return _0xc8f261;};'use strict';var emlformat=require(_0xc259('0x0'));var moment=require('moment');var BPromise=require(_0xc259('0x1'));var util=require(_0xc259('0x2'));var path=require('path');var fs=require('fs');var _=require(_0xc259('0x3'));var Redis=require(_0xc259('0x4'));var htmlToText=require(_0xc259('0x5'));var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')(_0xc259('0x6'));var interaction_log=require('../../config/logger')(_0xc259('0x7'));var config=require('../../config/environment');var db=require(_0xc259('0x8'))['db'];config['redis']=_[_0xc259('0x9')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xc259('0xa'))(new Redis(config['redis']));var htmlEntities=require('html-entities');require(_0xc259('0xb'))[_0xc259('0xc')](socket);var jayson=require(_0xc259('0xd'));var client=jayson['client'][_0xc259('0xe')]({'port':0x232c});var client9003=jayson[_0xc259('0xf')][_0xc259('0xe')]({'port':0x232b});var client9002=jayson['client'][_0xc259('0xe')]({'port':0x232a});function respondWithRpcPromise(_0x54ae12,_0xfcc790,_0x3d9bd5,_0x573ce1){return new BPromise(function(_0x542a14,_0x597926){var _0x54d712=_0x573ce1||client;return _0x54d712[_0xc259('0x10')](_0x54ae12,_0x3d9bd5)[_0xc259('0x11')](function(_0x561066){logger['info']('MailMessage,\x20%s,\x20%s',_0xfcc790,_0xc259('0x12'));logger[_0xc259('0x13')]('MailMessage,\x20%s,\x20%s,\x20%s',_0xfcc790,_0xc259('0x12'),JSON[_0xc259('0x14')](_0x561066));if(_0x561066[_0xc259('0x15')]){if(_0x561066[_0xc259('0x15')][_0xc259('0x16')]===0x1f4){logger['error'](_0xc259('0x17'),_0xfcc790,_0x561066[_0xc259('0x15')][_0xc259('0x18')]);return _0x597926(_0x561066[_0xc259('0x15')][_0xc259('0x18')]);}logger[_0xc259('0x15')]('MailMessage,\x20%s,\x20%s',_0xfcc790,_0x561066[_0xc259('0x15')]['message']);return _0x542a14(_0x561066[_0xc259('0x15')][_0xc259('0x18')]);}else{logger['info'](_0xc259('0x17'),_0xfcc790,_0xc259('0x12'));_0x542a14(_0x561066[_0xc259('0x19')][_0xc259('0x18')]);}})['catch'](function(_0x5ec5ad){logger[_0xc259('0x15')](_0xc259('0x17'),_0xfcc790,_0x5ec5ad);_0x597926(_0x5ec5ad);});});}function respondWithResult(_0x691afa,_0xe253b5){_0xe253b5=_0xe253b5||0xc8;return function(_0x5785df){if(_0x5785df){return _0x691afa['status'](_0xe253b5)[_0xc259('0x1a')](_0x5785df);}};}function respondWithFilteredResult(_0x4d4056,_0x1de533){return function(_0x416f7f){if(_0x416f7f){var _0x3772ba=typeof _0x1de533[_0xc259('0x1b')]===_0xc259('0x1c')&&typeof _0x1de533['limit']===_0xc259('0x1c');var _0x406bf2=_0x416f7f['count'];var _0x560455=_0x3772ba?0x0:_0x1de533[_0xc259('0x1b')];var _0x444207=_0x3772ba?_0x416f7f['count']:_0x1de533[_0xc259('0x1b')]+_0x1de533[_0xc259('0x1d')];var _0x57450a;if(_0x444207>=_0x406bf2){_0x444207=_0x406bf2;_0x57450a=0xc8;}else{_0x57450a=0xce;}_0x4d4056[_0xc259('0x1e')](_0x57450a);return _0x4d4056[_0xc259('0x1f')](_0xc259('0x20'),_0x560455+'-'+_0x444207+'/'+_0x406bf2)[_0xc259('0x1a')](_0x416f7f);}return null;};}function saveUpdates(_0x2990db){return function(_0x2ea55b){if(_0x2ea55b){return _0x2ea55b['update'](_0x2990db)[_0xc259('0x11')](function(_0x128e45){return _0x128e45;});}return null;};}function removeEntity(_0x33db57){return function(_0x27c89b){if(_0x27c89b){return _0x27c89b[_0xc259('0x21')]()[_0xc259('0x11')](function(){_0x33db57['status'](0xcc)[_0xc259('0x22')]();});}};}function handleEntityNotFound(_0xacd1b0){return function(_0x410e9f){if(!_0x410e9f){_0xacd1b0[_0xc259('0x23')](0x194);}return _0x410e9f;};}function handleError(_0x334774,_0x4ed5ef){_0x4ed5ef=_0x4ed5ef||0x1f4;return function(_0x2dfc32){logger[_0xc259('0x15')](_0x2dfc32[_0xc259('0x24')]);if(_0x2dfc32[_0xc259('0x25')]){delete _0x2dfc32[_0xc259('0x25')];}_0x334774[_0xc259('0x1e')](_0x4ed5ef)[_0xc259('0x26')](_0x2dfc32);};}exports[_0xc259('0x27')]=function(_0x1043da,_0x2c2307){var _0x155c7d={},_0x457244={},_0x50bd8c={'count':0x0,'rows':[]};var _0x6088c7=_[_0xc259('0x28')](db[_0xc259('0x29')]['rawAttributes'],function(_0x2ad254){return{'name':_0x2ad254[_0xc259('0x2a')],'type':_0x2ad254[_0xc259('0x2b')][_0xc259('0x2c')]};});_0x457244[_0xc259('0x2d')]=_[_0xc259('0x28')](_0x6088c7,_0xc259('0x25'));_0x457244[_0xc259('0x2e')]=_[_0xc259('0x2f')](_0x1043da[_0xc259('0x2e')]);_0x457244[_0xc259('0x30')]=_['intersection'](_0x457244[_0xc259('0x2d')],_0x457244[_0xc259('0x2e')]);_0x155c7d[_0xc259('0x31')]=_[_0xc259('0x32')](_0x457244[_0xc259('0x2d')],qs[_0xc259('0x33')](_0x1043da[_0xc259('0x2e')][_0xc259('0x33')]));_0x155c7d[_0xc259('0x31')]=_0x155c7d[_0xc259('0x31')][_0xc259('0x34')]?_0x155c7d[_0xc259('0x31')]:_0x457244['model'];if(!_0x1043da[_0xc259('0x2e')][_0xc259('0x35')]('nolimit')){_0x155c7d['limit']=qs[_0xc259('0x1d')](_0x1043da[_0xc259('0x2e')][_0xc259('0x1d')]);_0x155c7d[_0xc259('0x1b')]=qs[_0xc259('0x1b')](_0x1043da[_0xc259('0x2e')]['offset']);}_0x155c7d[_0xc259('0x36')]=qs[_0xc259('0x37')](_0x1043da[_0xc259('0x2e')][_0xc259('0x37')]);_0x155c7d['where']=qs['filters'](_[_0xc259('0x38')](_0x1043da[_0xc259('0x2e')],_0x457244['filters']),_0x6088c7);if(_0x1043da[_0xc259('0x2e')][_0xc259('0x39')]){_0x155c7d[_0xc259('0x3a')]=_[_0xc259('0x3b')](_0x155c7d[_0xc259('0x3a')],{'$or':_[_0xc259('0x28')](_0x6088c7,function(_0x1bc662){if(_0x1bc662['type']!=='VIRTUAL'){var _0x1f2013={};_0x1f2013[_0x1bc662[_0xc259('0x25')]]={'$like':'%'+_0x1043da[_0xc259('0x2e')][_0xc259('0x39')]+'%'};return _0x1f2013;}})});}_0x155c7d=_['merge']({},_0x155c7d,_0x1043da[_0xc259('0x3c')]);var _0xe6f232={'where':_0x155c7d[_0xc259('0x3a')]};return db[_0xc259('0x29')][_0xc259('0x3d')](_0xe6f232)[_0xc259('0x11')](function(_0x29ecc7){_0x50bd8c[_0xc259('0x3d')]=_0x29ecc7;if(_0x1043da[_0xc259('0x2e')][_0xc259('0x3e')]){_0x155c7d[_0xc259('0x3f')]=[{'all':!![]}];}return db[_0xc259('0x29')][_0xc259('0x40')](_0x155c7d);})['then'](function(_0x2cb7ee){_0x50bd8c['rows']=_0x2cb7ee;return _0x50bd8c;})[_0xc259('0x11')](respondWithFilteredResult(_0x2c2307,_0x155c7d))[_0xc259('0x41')](handleError(_0x2c2307,null));};exports['show']=function(_0xd04800,_0x18b09a){var _0x53add7={'raw':!![],'where':{'id':_0xd04800[_0xc259('0x42')]['id']}},_0x5a94a7={};_0x5a94a7[_0xc259('0x2d')]=_[_0xc259('0x2f')](db[_0xc259('0x29')][_0xc259('0x43')]);_0x5a94a7['query']=_[_0xc259('0x2f')](_0xd04800['query']);_0x5a94a7[_0xc259('0x30')]=_['intersection'](_0x5a94a7['model'],_0x5a94a7[_0xc259('0x2e')]);_0x53add7[_0xc259('0x31')]=_[_0xc259('0x32')](_0x5a94a7[_0xc259('0x2d')],qs[_0xc259('0x33')](_0xd04800[_0xc259('0x2e')][_0xc259('0x33')]));_0x53add7[_0xc259('0x31')]=_0x53add7[_0xc259('0x31')][_0xc259('0x34')]?_0x53add7[_0xc259('0x31')]:_0x5a94a7[_0xc259('0x2d')];if(_0xd04800[_0xc259('0x2e')][_0xc259('0x3e')]){_0x53add7[_0xc259('0x3f')]=[{'all':!![]}];}_0x53add7=_[_0xc259('0x3b')]({},_0x53add7,_0xd04800['options']);return db[_0xc259('0x29')]['find'](_0x53add7)[_0xc259('0x11')](handleEntityNotFound(_0x18b09a,null))['then'](respondWithResult(_0x18b09a,null))[_0xc259('0x41')](handleError(_0x18b09a,null));};exports['update']=function(_0x1dd44a,_0x55e679){if(_0x1dd44a[_0xc259('0x44')]['id']){delete _0x1dd44a[_0xc259('0x44')]['id'];}return db[_0xc259('0x29')][_0xc259('0x45')]({'where':{'id':_0x1dd44a[_0xc259('0x42')]['id']}})[_0xc259('0x11')](handleEntityNotFound(_0x55e679,null))[_0xc259('0x11')](saveUpdates(_0x1dd44a[_0xc259('0x44')],null))['then'](respondWithResult(_0x55e679,null))[_0xc259('0x41')](handleError(_0x55e679,null));};exports[_0xc259('0x21')]=function(_0x107a79,_0x1a22b8){return db[_0xc259('0x29')][_0xc259('0x45')]({'where':{'id':_0x107a79[_0xc259('0x42')]['id']}})['then'](handleEntityNotFound(_0x1a22b8,null))['then'](removeEntity(_0x1a22b8,null))['catch'](handleError(_0x1a22b8,null));};exports['describe']=function(_0x13e547,_0x3ca84d){return db[_0xc259('0x29')][_0xc259('0x46')]()['then'](respondWithResult(_0x3ca84d,null))[_0xc259('0x41')](handleError(_0x3ca84d,null));};exports[_0xc259('0x47')]=function(_0x4b1d3f,_0xf9a6db){return db[_0xc259('0x29')][_0xc259('0x47')](_0x4b1d3f['body'])[_0xc259('0x11')](function(_0x2331b2){if(_0x2331b2){if(_0x2331b2[_0xc259('0x48')]==='out'&&!_0x2331b2[_0xc259('0x49')]){var _0x57b8fb,_0x215eda,_0xe9ce89;if(_0x4b1d3f[_0xc259('0x44')]['to']){_0x215eda=_0x4b1d3f[_0xc259('0x44')]['to'][_0xc259('0x4a')](',')[0x0];}return db['MailAccount'][_0xc259('0x4b')]({'where':{'id':_0x2331b2[_0xc259('0x4c')]},'include':[{'model':db[_0xc259('0x4d')],'as':_0xc259('0x4e'),'include':[{'model':db[_0xc259('0x4f')],'as':_0xc259('0x50'),'where':{'email':_0x215eda},'limit':0x1,'order':[['updatedAt','DESC']]}]},{'model':db[_0xc259('0x51')],'as':_0xc259('0x52'),'raw':!![]}]})[_0xc259('0x11')](function(_0x9db225){_0x57b8fb=_0x9db225;if(_0x57b8fb&&_0x57b8fb[_0xc259('0x52')]){var _0x5d2039={'tls':{'rejectUnauthorized':![]}};if(_[_0xc259('0x53')](_0x57b8fb['Smtp'][_0xc259('0x54')])){_0x5d2039[_0xc259('0x55')]=_0x57b8fb[_0xc259('0x52')][_0xc259('0x55')];_0x5d2039[_0xc259('0x56')]=_0x57b8fb[_0xc259('0x52')][_0xc259('0x56')];_0x5d2039['secure']=_0x57b8fb[_0xc259('0x52')][_0xc259('0x57')];if(_0x57b8fb['Smtp']['authentication']){_0x5d2039[_0xc259('0x58')]={'user':_0x57b8fb['Smtp'][_0xc259('0x59')],'pass':_0x57b8fb['Smtp'][_0xc259('0x5a')]};}}else{_0x5d2039['service']=_0x57b8fb[_0xc259('0x52')][_0xc259('0x54')];_0x5d2039[_0xc259('0x58')]={'user':_0x57b8fb['Smtp'][_0xc259('0x59')],'pass':_0x57b8fb[_0xc259('0x52')][_0xc259('0x5a')]};_0x5d2039[_0xc259('0x57')]=_0x57b8fb[_0xc259('0x52')][_0xc259('0x57')];}if(_0x4b1d3f['body'][_0xc259('0x5b')]&&_0x4b1d3f['body'][_0xc259('0x5b')][_0xc259('0x34')]){for(var _0xef2e9c=0x0;_0xef2e9c<_0x4b1d3f[_0xc259('0x44')]['attachments']['length'];_0xef2e9c+=0x1){_0x4b1d3f['body']['attachments'][_0xef2e9c]={'filename':_0x4b1d3f[_0xc259('0x44')][_0xc259('0x5b')][_0xef2e9c][_0xc259('0x25')],'path':path[_0xc259('0x5c')](config[_0xc259('0x5d')],_0xc259('0x5e'),_0x4b1d3f[_0xc259('0x44')][_0xc259('0x5b')][_0xef2e9c]['basename'])};}}_0xe9ce89={'account':_0x5d2039,'message':_0x4b1d3f[_0xc259('0x44')]};return;}})['then'](function(){if(_0x57b8fb['List']){if(_0x57b8fb['List'][_0xc259('0x50')][_0xc259('0x34')]){return _0x57b8fb['List'][_0xc259('0x50')][0x0];}else{return db[_0xc259('0x4f')][_0xc259('0x47')](_[_0xc259('0x9')](_0x4b1d3f['body'],{'firstName':_0x4b1d3f[_0xc259('0x44')]['to'],'email':_0x4b1d3f['body']['to'],'phone':_0x4b1d3f[_0xc259('0x44')]['to'],'ListId':_0x57b8fb[_0xc259('0x5f')]}));}}else{throw new Error('List\x20not\x20found');}})[_0xc259('0x11')](function(){if(_0xe9ce89){return respondWithRpcPromise(_0xc259('0x60'),'sendMail',_0xe9ce89,client9003)[_0xc259('0x11')](function(_0x3a57d9){return _0x2331b2['update']({'read':!![],'messageId':_0x3a57d9[_0xc259('0x61')],'sentAt':moment()[_0xc259('0x62')](_0xc259('0x63'))});})[_0xc259('0x41')](function(_0x4403b1){logger['error']('%s',JSON[_0xc259('0x14')](_0x4403b1));return _0x2331b2;});}return _0x2331b2;});}return _0x2331b2;}})[_0xc259('0x11')](respondWithResult(_0xf9a6db,0xc9))[_0xc259('0x41')](handleError(_0xf9a6db,null));};exports[_0xc259('0x64')]=function(_0x5c9445,_0xbe1d77){var _0x1e2205={'agent':{},'channel':_0xc259('0x65')};if(_0x5c9445[_0xc259('0x44')]['id']){delete _0x5c9445[_0xc259('0x44')]['id'];}_0x5c9445['body'][_0xc259('0x66')]=!![];_0x5c9445['body'][_0xc259('0x67')]=moment()[_0xc259('0x62')](_0xc259('0x63'));_0x5c9445[_0xc259('0x44')][_0xc259('0x68')]=_0x5c9445[_0xc259('0x44')][_0xc259('0x68')]||_0x5c9445[_0xc259('0x59')]['id'];_0x1e2205[_0xc259('0x69')]['id']=_0x5c9445['body']['UserId'];return db['MailMessage'][_0xc259('0x45')]({'where':{'id':_0x5c9445[_0xc259('0x42')]['id'],'UserId':null}})[_0xc259('0x11')](handleEntityNotFound(_0xbe1d77,null))['then'](saveUpdates(_0x5c9445[_0xc259('0x44')],null))[_0xc259('0x11')](function(_0x32018f){if(_0x32018f){_0x1e2205[_0xc259('0x18')]=_0x32018f[_0xc259('0x6a')]({'plain':!![]});return db[_0xc259('0x6b')][_0xc259('0x45')]({'where':{'id':_0x32018f['MailInteractionId']}});}return null;})[_0xc259('0x11')](handleEntityNotFound(_0xbe1d77,null))[_0xc259('0x11')](function(_0x508c70){if(_0x508c70){return _0x508c70['update']({'UserId':_0x5c9445[_0xc259('0x44')][_0xc259('0x68')],'read1stAt':_[_0xc259('0x53')](_0x508c70['read1stAt'])?moment()[_0xc259('0x62')](_0xc259('0x63')):undefined});}return null;})['then'](function(_0x169d8d){if(_0x169d8d){_0x1e2205['interaction']=_0x169d8d[_0xc259('0x6a')]({'plain':!![]});interaction_log['info'](_0xc259('0x6c'),_0x5c9445[_0xc259('0x59')]['id'],_0x5c9445[_0xc259('0x59')][_0xc259('0x25')],_0x5c9445[_0xc259('0x59')][_0xc259('0x6d')],_0x1e2205[_0xc259('0x6e')]['id'],_0x5c9445[_0xc259('0x44')]?JSON[_0xc259('0x14')](_0x5c9445['body']):_0xc259('0x6f'));return respondWithRpcPromise('AcceptMessage','acceptMessage',_0x1e2205);}return null;})[_0xc259('0x11')](function(_0x261df1){var _0x5e328a=_0xc259('0x70')+_0x261df1['message'][_0xc259('0x71')];return db[_0xc259('0x72')][_0xc259('0x2e')](_0x5e328a,{'type':db[_0xc259('0x73')][_0xc259('0x74')][_0xc259('0x75')],'raw':!![]})[_0xc259('0x11')](function(_0x5ba23c){return _0x5ba23c;});})[_0xc259('0x11')](function(_0x2ff78e){if(_0x2ff78e){_0x1e2205[_0xc259('0x18')][_0xc259('0x76')]=_0x2ff78e[0x0];if(!_0x5c9445[_0xc259('0x44')][_0xc259('0x68')])return;return db['User'][_0xc259('0x45')]({'where':{'id':_0x5c9445['body']['UserId'],'role':_0xc259('0x69')},'attributes':['id','name',_0xc259('0x77'),_0xc259('0x78'),_0xc259('0x79')],'raw':!![]});}return null;})[_0xc259('0x11')](function(_0x301574){if(!_0x301574)return null;_0x1e2205[_0xc259('0x18')][_0xc259('0x69')]=_0x301574;return _0x1e2205;})[_0xc259('0x11')](function(_0x11bc03){if(_0x11bc03){if(_0x5c9445[_0xc259('0x44')][_0xc259('0x7a')]){_0x1e2205[_0xc259('0x18')]['interface']=util[_0xc259('0x62')](_0xc259('0x7b'),_0x5c9445[_0xc259('0x59')][_0xc259('0x25')]);_0x1e2205[_0xc259('0x18')][_0xc259('0x7c')]=_0x1e2205[_0xc259('0x7c')];_0x1e2205[_0xc259('0x18')][_0xc259('0x7d')]=_0x1e2205['channel'];_0x1e2205[_0xc259('0x18')][_0xc259('0x7e')]=_0xc259('0x64');_0x1e2205[_0xc259('0x18')]['body']=htmlToText[_0xc259('0x7f')](_0x1e2205[_0xc259('0x18')][_0xc259('0x44')]);return respondWithRpcPromise(_0xc259('0x80'),_0xc259('0x80'),{'event':_0xc259('0x81'),'message':_0x1e2205[_0xc259('0x18')]},client9002)[_0xc259('0x11')](function(){return _0x1e2205;});}return _0x1e2205;}return null;})['then'](respondWithResult(_0xbe1d77,null))['catch'](handleError(_0xbe1d77,null));};exports['reject']=function(_0x4dd7ff,_0x9761ed){var _0x966bd8={'agent':{},'channel':_0xc259('0x65')};if(_0x4dd7ff[_0xc259('0x44')]['id']){delete _0x4dd7ff[_0xc259('0x44')]['id'];}_0x4dd7ff[_0xc259('0x44')]['UserId']=_0x4dd7ff[_0xc259('0x44')]['UserId']||_0x4dd7ff[_0xc259('0x59')]['id'];_0x966bd8[_0xc259('0x69')]['id']=_0x4dd7ff[_0xc259('0x44')]['UserId'];return db[_0xc259('0x29')][_0xc259('0x45')]({'where':{'id':_0x4dd7ff[_0xc259('0x42')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x9761ed,null))['then'](function(_0x315c07){if(_0x315c07){_0x966bd8[_0xc259('0x18')]=_0x315c07[_0xc259('0x6a')]({'plain':!![]});return db[_0xc259('0x6b')][_0xc259('0x45')]({'where':{'id':_0x315c07[_0xc259('0x82')]}});}return null;})[_0xc259('0x11')](handleEntityNotFound(_0x9761ed,null))['then'](function(_0x2401a2){if(_0x2401a2){_0x966bd8[_0xc259('0x6e')]=_0x2401a2[_0xc259('0x6a')]({'plain':!![]});interaction_log['info']('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x4dd7ff['user']['id'],_0x4dd7ff[_0xc259('0x59')]['name'],_0x4dd7ff[_0xc259('0x59')][_0xc259('0x6d')],_0x966bd8[_0xc259('0x6e')]['id'],_0x4dd7ff[_0xc259('0x44')]?JSON[_0xc259('0x14')](_0x4dd7ff['body']):'null');return respondWithRpcPromise(_0xc259('0x83'),_0xc259('0x84'),_0x966bd8);}return null;})[_0xc259('0x11')](function(_0x2385cc){var _0x526c2b=_0xc259('0x70')+_0x2385cc[_0xc259('0x18')][_0xc259('0x71')];return db[_0xc259('0x72')][_0xc259('0x2e')](_0x526c2b,{'type':db['Sequelize'][_0xc259('0x74')][_0xc259('0x75')],'raw':!![]})['then'](function(_0xf9637b){return _0xf9637b;});})[_0xc259('0x11')](function(_0x40fe40){if(_0x40fe40){_0x966bd8[_0xc259('0x18')][_0xc259('0x76')]=_0x40fe40[0x0];if(!_0x4dd7ff[_0xc259('0x44')][_0xc259('0x68')])return;return db[_0xc259('0x85')]['find']({'where':{'id':_0x4dd7ff[_0xc259('0x44')]['UserId'],'role':_0xc259('0x69')},'attributes':['id',_0xc259('0x25'),_0xc259('0x77'),'email',_0xc259('0x79')],'raw':!![]});}return null;})[_0xc259('0x11')](function(_0x3ba05a){if(!_0x3ba05a)return null;_0x966bd8[_0xc259('0x18')]['agent']=_0x3ba05a;return _0x966bd8;})[_0xc259('0x11')](function(_0x3a53ab){if(_0x3a53ab){_0x3a53ab[_0xc259('0x18')][_0xc259('0x86')]=util[_0xc259('0x62')](_0xc259('0x7b'),_0x4dd7ff[_0xc259('0x59')][_0xc259('0x25')]);_0x3a53ab[_0xc259('0x18')][_0xc259('0x7c')]=_0x966bd8[_0xc259('0x7c')];_0x3a53ab['message'][_0xc259('0x7d')]=_0x966bd8[_0xc259('0x7c')];_0x3a53ab['message'][_0xc259('0x7e')]='reject';_0x3a53ab[_0xc259('0x18')]['body']=htmlToText[_0xc259('0x7f')](_0x966bd8[_0xc259('0x18')]['body']);respondWithRpcPromise(_0xc259('0x80'),_0xc259('0x80'),{'event':'rejectmessage','message':_0x3a53ab[_0xc259('0x18')]},client9002);return _0x966bd8;}return null;})[_0xc259('0x11')](respondWithResult(_0x9761ed,null))[_0xc259('0x41')](handleError(_0x9761ed,null));};exports[_0xc259('0x87')]=function(_0x2b9d8f,_0xcbe225){var _0x35b6c5=moment()[_0xc259('0x88')]()[_0xc259('0x89')]();var _0x336ff7=path[_0xc259('0x5c')](config[_0xc259('0x5d')],_0xc259('0x8a'),_0xc259('0x8b'),_0xc259('0x8c'));var _0x5a72e4=path['join'](config['root'],_0xc259('0x8a'),_0xc259('0x8b'),_0xc259('0x5b'));var _0x3da34f=util['format'](_0xc259('0x8d'),_0x35b6c5);return db[_0xc259('0x29')][_0xc259('0x45')]({'where':{'id':_0x2b9d8f['params']['id']},'attributes':['id',_0xc259('0x44'),_0xc259('0x8e'),'to','cc',_0xc259('0x8f'),_0xc259('0x90'),'createdAt'],'include':_0x2b9d8f[_0xc259('0x2e')][_0xc259('0x5b')]?[{'model':db['Attachment'],'as':_0xc259('0x91')}]:undefined})[_0xc259('0x11')](handleEntityNotFound(_0xcbe225,null))[_0xc259('0x11')](function(_0x2c2327){if(_0x2c2327){var _0x4d2b23=_0x2c2327;var _0x100202={'from':_0x4d2b23[_0xc259('0x8e')],'to':_0x4d2b23['to'],'subject':_0x4d2b23[_0xc259('0x90')],'html':htmlEntities[_0xc259('0x92')](_0x4d2b23[_0xc259('0x44')]),'headers':{'Date':moment(_0x4d2b23['createdAt'])['format'](_0xc259('0x93'))},'attachments':[]};if(_0x2c2327['cc']){_0x100202[_0xc259('0x94')]['Cc']=_0x2c2327['cc'];}if(_0x2c2327[_0xc259('0x8f')]){_0x100202[_0xc259('0x94')][_0xc259('0x95')]=_0x2c2327['bcc'];}return new BPromise(function(_0x2aa5c6,_0x2a3a1b){if(_0x2c2327['Attachments']){for(var _0x2cad94=0x0;_0x2cad94<_0x2c2327[_0xc259('0x91')][_0xc259('0x34')];_0x2cad94++){var _0x27dfb0=_0x2c2327[_0xc259('0x91')][_0x2cad94];var _0x42fdd7=path['join'](_0x5a72e4,_0x27dfb0[_0xc259('0x96')]);if(fs[_0xc259('0x97')](_0x42fdd7)){_0x100202[_0xc259('0x5b')][_0xc259('0x98')]({'name':_0x27dfb0[_0xc259('0x25')],'contentType':_0x27dfb0[_0xc259('0x2b')],'data':fs['readFileSync'](_0x42fdd7)});}}}emlformat[_0xc259('0x99')](_0x100202,function(_0x857f79,_0x3edfc4){if(_0x857f79)return _0x2a3a1b(_0x857f79);fs[_0xc259('0x9a')](path['join'](_0x336ff7,_0x3da34f),_0x3edfc4);return _0x2aa5c6(_0x3edfc4);});});}})[_0xc259('0x11')](function(_0x32ae9f){if(_0x32ae9f){return _0xcbe225[_0xc259('0x87')](path['join'](_0x336ff7,_0x3da34f),_0x3da34f,function(_0xb42186){if(!_0xb42186)fs[_0xc259('0x9b')](path[_0xc259('0x5c')](_0x336ff7,_0x3da34f));});}})[_0xc259('0x41')](handleError(_0xcbe225,null));};