Built motion from commit 19a84241.|2.5.34
[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 _0x2074=['message','info','request\x20sent','result','status','json','undefined','limit','count','offset','set','Content-Range','update','destroy','end','sendStatus','name','index','map','MailMessage','fieldName','type','key','query','filters','model','attributes','fields','length','nolimit','order','sort','pick','where','merge','VIRTUAL','filter','options','include','findAll','rows','catch','show','params','keys','rawAttributes','intersection','includeAll','find','body','describe','create','direction','out','secret','MailAccount','findOne','MailAccountId','CmList','List','Contacts','updatedAt','DESC','MailServerOut','Smtp','isNil','service','host','port','secure','authentication','auth','user','pass','attachments','join','root','server/files/attachments','ListId','List\x20not\x20found','SendMail','sendMail','messageId','format','accept','mail','read','readAt','YYYY-MM-DD\x20HH:mm:ss','UserId','agent','get','MailInteractionId','interaction','AcceptMessage','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','sequelize','contact','User','email','internal','manual','interface','SIP/%s','motionChannel','channel','event','fromString','EventManager','acceptmessage','reject','null','rejectMessage','ContactId','Sequelize','QueryTypes','fullname','rejectmessage','download','unix','toString','server','files','message-%s.eml','from','subject','createdAt','Attachments','bcc','Bcc','basename','existsSync','push','readFileSync','build','writeFileSync','moment','bluebird','util','lodash','html-to-text','../../config/logger','mail-interactions','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailMessage.socket','jayson/promise','http','client','request','then','MailMessage,\x20%s,\x20%s','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x2074,0x129));var _0x4207=function(_0x57b54c,_0x54ce0d){_0x57b54c=_0x57b54c-0x0;var _0x59cc19=_0x2074[_0x57b54c];return _0x59cc19;};'use strict';var emlformat=require('eml-format');var moment=require(_0x4207('0x0'));var BPromise=require(_0x4207('0x1'));var util=require(_0x4207('0x2'));var path=require('path');var fs=require('fs');var _=require(_0x4207('0x3'));var Redis=require('ioredis');var htmlToText=require(_0x4207('0x4'));var qs=require('../../components/parsers/qs');var logger=require(_0x4207('0x5'))('api');var interaction_log=require('../../config/logger')(_0x4207('0x6'));var config=require('../../config/environment');var db=require(_0x4207('0x7'))['db'];config[_0x4207('0x8')]=_[_0x4207('0x9')](config['redis'],{'host':_0x4207('0xa'),'port':0x18eb});var socket=require(_0x4207('0xb'))(new Redis(config[_0x4207('0x8')]));require(_0x4207('0xc'))['register'](socket);var jayson=require(_0x4207('0xd'));var client=jayson['client'][_0x4207('0xe')]({'port':0x232c});var client9003=jayson[_0x4207('0xf')][_0x4207('0xe')]({'port':0x232b});var client9002=jayson[_0x4207('0xf')][_0x4207('0xe')]({'port':0x232a});function respondWithRpcPromise(_0x4f1098,_0x44c523,_0x4b7956,_0x69d2d8){return new BPromise(function(_0x3f413c,_0x4fd5c7){var _0x4e4e5b=_0x69d2d8||client;return _0x4e4e5b[_0x4207('0x10')](_0x4f1098,_0x4b7956)[_0x4207('0x11')](function(_0xff0ffe){logger['info'](_0x4207('0x12'),_0x44c523,'request\x20sent');logger['debug'](_0x4207('0x13'),_0x44c523,'request\x20sent',JSON[_0x4207('0x14')](_0xff0ffe));if(_0xff0ffe[_0x4207('0x15')]){if(_0xff0ffe[_0x4207('0x15')][_0x4207('0x16')]===0x1f4){logger[_0x4207('0x15')]('MailMessage,\x20%s,\x20%s',_0x44c523,_0xff0ffe[_0x4207('0x15')][_0x4207('0x17')]);return _0x4fd5c7(_0xff0ffe[_0x4207('0x15')][_0x4207('0x17')]);}logger[_0x4207('0x15')](_0x4207('0x12'),_0x44c523,_0xff0ffe['error'][_0x4207('0x17')]);return _0x3f413c(_0xff0ffe[_0x4207('0x15')][_0x4207('0x17')]);}else{logger[_0x4207('0x18')](_0x4207('0x12'),_0x44c523,_0x4207('0x19'));_0x3f413c(_0xff0ffe[_0x4207('0x1a')]['message']);}})['catch'](function(_0x4dec05){logger[_0x4207('0x15')]('MailMessage,\x20%s,\x20%s',_0x44c523,_0x4dec05);_0x4fd5c7(_0x4dec05);});});}function respondWithResult(_0x3e9661,_0x269b27){_0x269b27=_0x269b27||0xc8;return function(_0x2e5fb0){if(_0x2e5fb0){return _0x3e9661[_0x4207('0x1b')](_0x269b27)[_0x4207('0x1c')](_0x2e5fb0);}};}function respondWithFilteredResult(_0x5693ca,_0x28ded8){return function(_0x3a66c8){if(_0x3a66c8){var _0x4ec9cd=typeof _0x28ded8['offset']===_0x4207('0x1d')&&typeof _0x28ded8[_0x4207('0x1e')]===_0x4207('0x1d');var _0x3da74e=_0x3a66c8[_0x4207('0x1f')];var _0x1fd43e=_0x4ec9cd?0x0:_0x28ded8[_0x4207('0x20')];var _0x2d2b4d=_0x4ec9cd?_0x3a66c8[_0x4207('0x1f')]:_0x28ded8[_0x4207('0x20')]+_0x28ded8[_0x4207('0x1e')];var _0x53158f;if(_0x2d2b4d>=_0x3da74e){_0x2d2b4d=_0x3da74e;_0x53158f=0xc8;}else{_0x53158f=0xce;}_0x5693ca['status'](_0x53158f);return _0x5693ca[_0x4207('0x21')](_0x4207('0x22'),_0x1fd43e+'-'+_0x2d2b4d+'/'+_0x3da74e)[_0x4207('0x1c')](_0x3a66c8);}return null;};}function saveUpdates(_0x537f9e){return function(_0x39bd53){if(_0x39bd53){return _0x39bd53[_0x4207('0x23')](_0x537f9e)[_0x4207('0x11')](function(_0x3aa807){return _0x3aa807;});}return null;};}function removeEntity(_0x1eae61){return function(_0x944abf){if(_0x944abf){return _0x944abf[_0x4207('0x24')]()[_0x4207('0x11')](function(){_0x1eae61[_0x4207('0x1b')](0xcc)[_0x4207('0x25')]();});}};}function handleEntityNotFound(_0x445d8f){return function(_0x9c0f3f){if(!_0x9c0f3f){_0x445d8f[_0x4207('0x26')](0x194);}return _0x9c0f3f;};}function handleError(_0x4e4866,_0x4d988d){_0x4d988d=_0x4d988d||0x1f4;return function(_0x3b4ee1){logger['error'](_0x3b4ee1['stack']);if(_0x3b4ee1[_0x4207('0x27')]){delete _0x3b4ee1['name'];}_0x4e4866[_0x4207('0x1b')](_0x4d988d)['send'](_0x3b4ee1);};}exports[_0x4207('0x28')]=function(_0x3df0c9,_0x7b48b7){var _0x5c849b={},_0x239f96={},_0x1d8d46={'count':0x0,'rows':[]};var _0x47634e=_[_0x4207('0x29')](db[_0x4207('0x2a')]['rawAttributes'],function(_0x1bf11c){return{'name':_0x1bf11c[_0x4207('0x2b')],'type':_0x1bf11c[_0x4207('0x2c')][_0x4207('0x2d')]};});_0x239f96['model']=_[_0x4207('0x29')](_0x47634e,_0x4207('0x27'));_0x239f96[_0x4207('0x2e')]=_['keys'](_0x3df0c9[_0x4207('0x2e')]);_0x239f96[_0x4207('0x2f')]=_['intersection'](_0x239f96[_0x4207('0x30')],_0x239f96[_0x4207('0x2e')]);_0x5c849b[_0x4207('0x31')]=_['intersection'](_0x239f96[_0x4207('0x30')],qs['fields'](_0x3df0c9[_0x4207('0x2e')][_0x4207('0x32')]));_0x5c849b[_0x4207('0x31')]=_0x5c849b[_0x4207('0x31')][_0x4207('0x33')]?_0x5c849b[_0x4207('0x31')]:_0x239f96[_0x4207('0x30')];if(!_0x3df0c9[_0x4207('0x2e')]['hasOwnProperty'](_0x4207('0x34'))){_0x5c849b['limit']=qs[_0x4207('0x1e')](_0x3df0c9[_0x4207('0x2e')][_0x4207('0x1e')]);_0x5c849b[_0x4207('0x20')]=qs[_0x4207('0x20')](_0x3df0c9[_0x4207('0x2e')][_0x4207('0x20')]);}_0x5c849b[_0x4207('0x35')]=qs['sort'](_0x3df0c9[_0x4207('0x2e')][_0x4207('0x36')]);_0x5c849b['where']=qs[_0x4207('0x2f')](_[_0x4207('0x37')](_0x3df0c9[_0x4207('0x2e')],_0x239f96[_0x4207('0x2f')]),_0x47634e);if(_0x3df0c9[_0x4207('0x2e')]['filter']){_0x5c849b[_0x4207('0x38')]=_[_0x4207('0x39')](_0x5c849b[_0x4207('0x38')],{'$or':_[_0x4207('0x29')](_0x47634e,function(_0x696d3a){if(_0x696d3a[_0x4207('0x2c')]!==_0x4207('0x3a')){var _0x2850cb={};_0x2850cb[_0x696d3a[_0x4207('0x27')]]={'$like':'%'+_0x3df0c9[_0x4207('0x2e')][_0x4207('0x3b')]+'%'};return _0x2850cb;}})});}_0x5c849b=_[_0x4207('0x39')]({},_0x5c849b,_0x3df0c9[_0x4207('0x3c')]);var _0x4bba8e={'where':_0x5c849b[_0x4207('0x38')]};return db['MailMessage'][_0x4207('0x1f')](_0x4bba8e)['then'](function(_0x581178){_0x1d8d46[_0x4207('0x1f')]=_0x581178;if(_0x3df0c9[_0x4207('0x2e')]['includeAll']){_0x5c849b[_0x4207('0x3d')]=[{'all':!![]}];}return db['MailMessage'][_0x4207('0x3e')](_0x5c849b);})[_0x4207('0x11')](function(_0x118f0e){_0x1d8d46[_0x4207('0x3f')]=_0x118f0e;return _0x1d8d46;})[_0x4207('0x11')](respondWithFilteredResult(_0x7b48b7,_0x5c849b))[_0x4207('0x40')](handleError(_0x7b48b7,null));};exports[_0x4207('0x41')]=function(_0x13e2c6,_0xf5caaa){var _0x4af8c6={'raw':!![],'where':{'id':_0x13e2c6[_0x4207('0x42')]['id']}},_0x4232b4={};_0x4232b4[_0x4207('0x30')]=_[_0x4207('0x43')](db[_0x4207('0x2a')][_0x4207('0x44')]);_0x4232b4[_0x4207('0x2e')]=_[_0x4207('0x43')](_0x13e2c6['query']);_0x4232b4[_0x4207('0x2f')]=_[_0x4207('0x45')](_0x4232b4[_0x4207('0x30')],_0x4232b4['query']);_0x4af8c6['attributes']=_['intersection'](_0x4232b4[_0x4207('0x30')],qs[_0x4207('0x32')](_0x13e2c6[_0x4207('0x2e')][_0x4207('0x32')]));_0x4af8c6[_0x4207('0x31')]=_0x4af8c6[_0x4207('0x31')][_0x4207('0x33')]?_0x4af8c6[_0x4207('0x31')]:_0x4232b4[_0x4207('0x30')];if(_0x13e2c6[_0x4207('0x2e')][_0x4207('0x46')]){_0x4af8c6['include']=[{'all':!![]}];}_0x4af8c6=_[_0x4207('0x39')]({},_0x4af8c6,_0x13e2c6[_0x4207('0x3c')]);return db[_0x4207('0x2a')][_0x4207('0x47')](_0x4af8c6)[_0x4207('0x11')](handleEntityNotFound(_0xf5caaa,null))[_0x4207('0x11')](respondWithResult(_0xf5caaa,null))['catch'](handleError(_0xf5caaa,null));};exports[_0x4207('0x23')]=function(_0x4b2bf1,_0x1e6853){if(_0x4b2bf1[_0x4207('0x48')]['id']){delete _0x4b2bf1[_0x4207('0x48')]['id'];}return db[_0x4207('0x2a')][_0x4207('0x47')]({'where':{'id':_0x4b2bf1[_0x4207('0x42')]['id']}})[_0x4207('0x11')](handleEntityNotFound(_0x1e6853,null))['then'](saveUpdates(_0x4b2bf1[_0x4207('0x48')],null))[_0x4207('0x11')](respondWithResult(_0x1e6853,null))['catch'](handleError(_0x1e6853,null));};exports[_0x4207('0x24')]=function(_0x11845f,_0x4aa269){return db[_0x4207('0x2a')]['find']({'where':{'id':_0x11845f[_0x4207('0x42')]['id']}})['then'](handleEntityNotFound(_0x4aa269,null))[_0x4207('0x11')](removeEntity(_0x4aa269,null))[_0x4207('0x40')](handleError(_0x4aa269,null));};exports[_0x4207('0x49')]=function(_0x27e41d,_0x5b3bd9){return db['MailMessage'][_0x4207('0x49')]()['then'](respondWithResult(_0x5b3bd9,null))[_0x4207('0x40')](handleError(_0x5b3bd9,null));};exports[_0x4207('0x4a')]=function(_0x3c0f6a,_0xc7cfe6){return db[_0x4207('0x2a')][_0x4207('0x4a')](_0x3c0f6a[_0x4207('0x48')])['then'](function(_0x504205){if(_0x504205){if(_0x504205[_0x4207('0x4b')]===_0x4207('0x4c')&&!_0x504205[_0x4207('0x4d')]){var _0x1bce5f,_0x10392c,_0x41997e;if(_0x3c0f6a[_0x4207('0x48')]['to']){_0x10392c=_0x3c0f6a[_0x4207('0x48')]['to']['split'](',')[0x0];}return db[_0x4207('0x4e')][_0x4207('0x4f')]({'where':{'id':_0x504205[_0x4207('0x50')]},'include':[{'model':db[_0x4207('0x51')],'as':_0x4207('0x52'),'include':[{'model':db['CmContact'],'as':_0x4207('0x53'),'where':{'email':_0x10392c},'limit':0x1,'order':[[_0x4207('0x54'),_0x4207('0x55')]]}]},{'model':db[_0x4207('0x56')],'as':_0x4207('0x57'),'raw':!![]}]})['then'](function(_0x299f09){_0x1bce5f=_0x299f09;if(_0x1bce5f&&_0x1bce5f[_0x4207('0x57')]){var _0x27efe4={'tls':{'rejectUnauthorized':![]}};if(_[_0x4207('0x58')](_0x1bce5f['Smtp'][_0x4207('0x59')])){_0x27efe4[_0x4207('0x5a')]=_0x1bce5f['Smtp'][_0x4207('0x5a')];_0x27efe4['port']=_0x1bce5f[_0x4207('0x57')][_0x4207('0x5b')];_0x27efe4[_0x4207('0x5c')]=_0x1bce5f[_0x4207('0x57')][_0x4207('0x5c')];if(_0x1bce5f['Smtp'][_0x4207('0x5d')]){_0x27efe4[_0x4207('0x5e')]={'user':_0x1bce5f[_0x4207('0x57')]['user'],'pass':_0x1bce5f[_0x4207('0x57')]['pass']};}}else{_0x27efe4['service']=_0x1bce5f[_0x4207('0x57')][_0x4207('0x59')];_0x27efe4[_0x4207('0x5e')]={'user':_0x1bce5f['Smtp'][_0x4207('0x5f')],'pass':_0x1bce5f[_0x4207('0x57')][_0x4207('0x60')]};_0x27efe4[_0x4207('0x5c')]=_0x1bce5f['Smtp']['secure'];}if(_0x3c0f6a[_0x4207('0x48')][_0x4207('0x61')]&&_0x3c0f6a[_0x4207('0x48')][_0x4207('0x61')]['length']){for(var _0x4230a1=0x0;_0x4230a1<_0x3c0f6a[_0x4207('0x48')][_0x4207('0x61')]['length'];_0x4230a1+=0x1){_0x3c0f6a[_0x4207('0x48')]['attachments'][_0x4230a1]={'filename':_0x3c0f6a[_0x4207('0x48')]['attachments'][_0x4230a1][_0x4207('0x27')],'path':path[_0x4207('0x62')](config[_0x4207('0x63')],_0x4207('0x64'),_0x3c0f6a[_0x4207('0x48')]['attachments'][_0x4230a1]['basename'])};}}_0x41997e={'account':_0x27efe4,'message':_0x3c0f6a[_0x4207('0x48')]};return;}})[_0x4207('0x11')](function(){if(_0x1bce5f[_0x4207('0x52')]){if(_0x1bce5f[_0x4207('0x52')]['Contacts'][_0x4207('0x33')]){return _0x1bce5f[_0x4207('0x52')][_0x4207('0x53')][0x0];}else{return db['CmContact'][_0x4207('0x4a')](_['defaults'](_0x3c0f6a[_0x4207('0x48')],{'firstName':_0x3c0f6a[_0x4207('0x48')]['to'],'email':_0x3c0f6a[_0x4207('0x48')]['to'],'phone':_0x3c0f6a[_0x4207('0x48')]['to'],'ListId':_0x1bce5f[_0x4207('0x65')]}));}}else{throw new Error(_0x4207('0x66'));}})['then'](function(){if(_0x41997e){return respondWithRpcPromise(_0x4207('0x67'),_0x4207('0x68'),_0x41997e,client9003)['then'](function(_0x2f8023){return _0x504205['update']({'read':!![],'messageId':_0x2f8023[_0x4207('0x69')],'sentAt':moment()[_0x4207('0x6a')]('YYYY-MM-DD\x20HH:mm:ss')});})[_0x4207('0x40')](function(_0x793270){logger[_0x4207('0x15')]('%s',JSON[_0x4207('0x14')](_0x793270));return _0x504205;});}return _0x504205;});}return _0x504205;}})[_0x4207('0x11')](respondWithResult(_0xc7cfe6,0xc9))[_0x4207('0x40')](handleError(_0xc7cfe6,null));};exports[_0x4207('0x6b')]=function(_0x5619e6,_0x131817){var _0x3d121a={'agent':{},'channel':_0x4207('0x6c')};if(_0x5619e6[_0x4207('0x48')]['id']){delete _0x5619e6[_0x4207('0x48')]['id'];}_0x5619e6[_0x4207('0x48')][_0x4207('0x6d')]=!![];_0x5619e6[_0x4207('0x48')][_0x4207('0x6e')]=moment()['format'](_0x4207('0x6f'));_0x5619e6[_0x4207('0x48')][_0x4207('0x70')]=_0x5619e6[_0x4207('0x48')][_0x4207('0x70')]||_0x5619e6[_0x4207('0x5f')]['id'];_0x3d121a[_0x4207('0x71')]['id']=_0x5619e6[_0x4207('0x48')][_0x4207('0x70')];return db[_0x4207('0x2a')][_0x4207('0x47')]({'where':{'id':_0x5619e6['params']['id'],'UserId':null}})[_0x4207('0x11')](handleEntityNotFound(_0x131817,null))[_0x4207('0x11')](saveUpdates(_0x5619e6[_0x4207('0x48')],null))['then'](function(_0x3b5c0e){if(_0x3b5c0e){_0x3d121a['message']=_0x3b5c0e[_0x4207('0x72')]({'plain':!![]});return db['MailInteraction']['find']({'where':{'id':_0x3b5c0e[_0x4207('0x73')]}});}return null;})['then'](handleEntityNotFound(_0x131817,null))[_0x4207('0x11')](function(_0x12ed5c){if(_0x12ed5c){return _0x12ed5c[_0x4207('0x23')]({'UserId':_0x5619e6['body'][_0x4207('0x70')],'read1stAt':_[_0x4207('0x58')](_0x12ed5c['read1stAt'])?moment()[_0x4207('0x6a')](_0x4207('0x6f')):undefined});}return null;})['then'](function(_0x33a404){if(_0x33a404){_0x3d121a[_0x4207('0x74')]=_0x33a404[_0x4207('0x72')]({'plain':!![]});interaction_log[_0x4207('0x18')]('[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x5619e6[_0x4207('0x5f')]['id'],_0x5619e6[_0x4207('0x5f')][_0x4207('0x27')],_0x5619e6[_0x4207('0x5f')]['role'],_0x3d121a['interaction']['id'],_0x5619e6[_0x4207('0x48')]?JSON[_0x4207('0x14')](_0x5619e6[_0x4207('0x48')]):'null');return respondWithRpcPromise(_0x4207('0x75'),_0x4207('0x76'),_0x3d121a);}return null;})[_0x4207('0x11')](function(_0x32c570){var _0x366188=_0x4207('0x77')+_0x32c570[_0x4207('0x17')]['ContactId'];return db[_0x4207('0x78')]['query'](_0x366188,{'type':db['Sequelize']['QueryTypes']['SELECT'],'raw':!![]})[_0x4207('0x11')](function(_0x3f5f4e){return _0x3f5f4e;});})[_0x4207('0x11')](function(_0x54b4f4){if(_0x54b4f4){_0x3d121a[_0x4207('0x17')][_0x4207('0x79')]=_0x54b4f4[0x0];if(!_0x5619e6[_0x4207('0x48')][_0x4207('0x70')])return;return db[_0x4207('0x7a')][_0x4207('0x47')]({'where':{'id':_0x5619e6['body'][_0x4207('0x70')],'role':_0x4207('0x71')},'attributes':['id',_0x4207('0x27'),'fullname',_0x4207('0x7b'),_0x4207('0x7c')],'raw':!![]});}return null;})[_0x4207('0x11')](function(_0x2b3c1a){if(!_0x2b3c1a)return null;_0x3d121a[_0x4207('0x17')][_0x4207('0x71')]=_0x2b3c1a;return _0x3d121a;})[_0x4207('0x11')](function(_0x4305ea){if(_0x4305ea){if(_0x5619e6[_0x4207('0x48')][_0x4207('0x7d')]){_0x3d121a[_0x4207('0x17')][_0x4207('0x7e')]=util[_0x4207('0x6a')](_0x4207('0x7f'),_0x5619e6[_0x4207('0x5f')][_0x4207('0x27')]);_0x3d121a[_0x4207('0x17')]['channel']=_0x3d121a['channel'];_0x3d121a[_0x4207('0x17')][_0x4207('0x80')]=_0x3d121a[_0x4207('0x81')];_0x3d121a[_0x4207('0x17')][_0x4207('0x82')]=_0x4207('0x6b');_0x3d121a['message'][_0x4207('0x48')]=htmlToText[_0x4207('0x83')](_0x3d121a['message']['body']);return respondWithRpcPromise(_0x4207('0x84'),_0x4207('0x84'),{'event':_0x4207('0x85'),'message':_0x3d121a[_0x4207('0x17')]},client9002)[_0x4207('0x11')](function(){return _0x3d121a;});}return _0x3d121a;}return null;})['then'](respondWithResult(_0x131817,null))['catch'](handleError(_0x131817,null));};exports[_0x4207('0x86')]=function(_0x1c8c0c,_0xaef6d7){var _0x296f87={'agent':{},'channel':_0x4207('0x6c')};if(_0x1c8c0c[_0x4207('0x48')]['id']){delete _0x1c8c0c[_0x4207('0x48')]['id'];}_0x1c8c0c[_0x4207('0x48')]['UserId']=_0x1c8c0c[_0x4207('0x48')][_0x4207('0x70')]||_0x1c8c0c['user']['id'];_0x296f87[_0x4207('0x71')]['id']=_0x1c8c0c['body'][_0x4207('0x70')];return db[_0x4207('0x2a')]['find']({'where':{'id':_0x1c8c0c[_0x4207('0x42')]['id'],'UserId':null}})[_0x4207('0x11')](handleEntityNotFound(_0xaef6d7,null))['then'](function(_0x411f27){if(_0x411f27){_0x296f87[_0x4207('0x17')]=_0x411f27[_0x4207('0x72')]({'plain':!![]});return db['MailInteraction']['find']({'where':{'id':_0x411f27[_0x4207('0x73')]}});}return null;})[_0x4207('0x11')](handleEntityNotFound(_0xaef6d7,null))[_0x4207('0x11')](function(_0xd19903){if(_0xd19903){_0x296f87[_0x4207('0x74')]=_0xd19903[_0x4207('0x72')]({'plain':!![]});interaction_log['info']('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x1c8c0c[_0x4207('0x5f')]['id'],_0x1c8c0c[_0x4207('0x5f')][_0x4207('0x27')],_0x1c8c0c[_0x4207('0x5f')]['role'],_0x296f87[_0x4207('0x74')]['id'],_0x1c8c0c[_0x4207('0x48')]?JSON[_0x4207('0x14')](_0x1c8c0c[_0x4207('0x48')]):_0x4207('0x87'));return respondWithRpcPromise('RejectMessage',_0x4207('0x88'),_0x296f87);}return null;})[_0x4207('0x11')](function(_0x317cc6){var _0x48da2f=_0x4207('0x77')+_0x317cc6[_0x4207('0x17')][_0x4207('0x89')];return db[_0x4207('0x78')]['query'](_0x48da2f,{'type':db[_0x4207('0x8a')][_0x4207('0x8b')]['SELECT'],'raw':!![]})[_0x4207('0x11')](function(_0x4af879){return _0x4af879;});})[_0x4207('0x11')](function(_0x4b4a28){if(_0x4b4a28){_0x296f87[_0x4207('0x17')][_0x4207('0x79')]=_0x4b4a28[0x0];if(!_0x1c8c0c[_0x4207('0x48')][_0x4207('0x70')])return;return db[_0x4207('0x7a')][_0x4207('0x47')]({'where':{'id':_0x1c8c0c[_0x4207('0x48')][_0x4207('0x70')],'role':'agent'},'attributes':['id',_0x4207('0x27'),_0x4207('0x8c'),_0x4207('0x7b'),_0x4207('0x7c')],'raw':!![]});}return null;})[_0x4207('0x11')](function(_0x3897bc){if(!_0x3897bc)return null;_0x296f87[_0x4207('0x17')][_0x4207('0x71')]=_0x3897bc;return _0x296f87;})['then'](function(_0x106fa7){if(_0x106fa7){_0x106fa7['message'][_0x4207('0x7e')]=util[_0x4207('0x6a')](_0x4207('0x7f'),_0x1c8c0c[_0x4207('0x5f')][_0x4207('0x27')]);_0x106fa7['message']['channel']=_0x296f87['channel'];_0x106fa7['message'][_0x4207('0x80')]=_0x296f87['channel'];_0x106fa7['message']['event']=_0x4207('0x86');_0x106fa7[_0x4207('0x17')]['body']=htmlToText['fromString'](_0x296f87[_0x4207('0x17')][_0x4207('0x48')]);respondWithRpcPromise('EventManager',_0x4207('0x84'),{'event':_0x4207('0x8d'),'message':_0x106fa7[_0x4207('0x17')]},client9002);return _0x296f87;}return null;})[_0x4207('0x11')](respondWithResult(_0xaef6d7,null))[_0x4207('0x40')](handleError(_0xaef6d7,null));};exports[_0x4207('0x8e')]=function(_0xeaafb3,_0x10a04d){var _0xe99ef8=moment()[_0x4207('0x8f')]()[_0x4207('0x90')]();var _0x266f73=path['join'](config['root'],_0x4207('0x91'),_0x4207('0x92'),'tmp');var _0x2c99f3=path['join'](config[_0x4207('0x63')],_0x4207('0x91'),'files',_0x4207('0x61'));var _0x2d19cd=util[_0x4207('0x6a')](_0x4207('0x93'),_0xe99ef8);return db[_0x4207('0x2a')][_0x4207('0x47')]({'where':{'id':_0xeaafb3['params']['id']},'attributes':['id',_0x4207('0x48'),_0x4207('0x94'),'to','cc','bcc',_0x4207('0x95'),_0x4207('0x96')],'include':_0xeaafb3[_0x4207('0x2e')][_0x4207('0x61')]?[{'model':db['Attachment'],'as':_0x4207('0x97')}]:undefined})[_0x4207('0x11')](handleEntityNotFound(_0x10a04d,null))[_0x4207('0x11')](function(_0x1a1194){if(_0x1a1194){var _0x598668=_0x1a1194;var _0x3b186c={'from':_0x598668[_0x4207('0x94')],'to':_0x598668['to'],'subject':_0x598668[_0x4207('0x95')],'html':_0x598668[_0x4207('0x48')],'headers':{'Date':moment(_0x598668[_0x4207('0x96')])[_0x4207('0x6a')]('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x1a1194['cc']){_0x3b186c['headers']['Cc']=_0x1a1194['cc'];}if(_0x1a1194[_0x4207('0x98')]){_0x3b186c['headers'][_0x4207('0x99')]=_0x1a1194['bcc'];}return new BPromise(function(_0x4eb38e,_0xea8ea2){if(_0x1a1194[_0x4207('0x97')]){for(var _0xdca567=0x0;_0xdca567<_0x1a1194[_0x4207('0x97')][_0x4207('0x33')];_0xdca567++){var _0x197a2f=_0x1a1194[_0x4207('0x97')][_0xdca567];var _0x525798=path['join'](_0x2c99f3,_0x197a2f[_0x4207('0x9a')]);if(fs[_0x4207('0x9b')](_0x525798)){_0x3b186c[_0x4207('0x61')][_0x4207('0x9c')]({'name':_0x197a2f[_0x4207('0x27')],'contentType':_0x197a2f['type'],'data':fs[_0x4207('0x9d')](_0x525798)});}}}emlformat[_0x4207('0x9e')](_0x3b186c,function(_0x52bd96,_0xe1e28b){if(_0x52bd96)return _0xea8ea2(_0x52bd96);fs[_0x4207('0x9f')](path['join'](_0x266f73,_0x2d19cd),_0xe1e28b);return _0x4eb38e(_0xe1e28b);});});}})[_0x4207('0x11')](function(_0x279458){if(_0x279458){return _0x10a04d[_0x4207('0x8e')](path[_0x4207('0x62')](_0x266f73,_0x2d19cd),_0x2d19cd,function(_0x7000e2){if(!_0x7000e2)fs['unlinkSync'](path[_0x4207('0x62')](_0x266f73,_0x2d19cd));});}})[_0x4207('0x40')](handleError(_0x10a04d,null));};