bed6a7f7784ab134491d86d1d3c11cdcb7cb248e
[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 _0xd147=['count','status','Content-Range','update','destroy','end','sendStatus','stack','name','send','index','map','MailMessage','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','include','rows','show','params','includeAll','find','body','describe','create','direction','out','secret','findOne','MailAccountId','CmList','List','Contacts','updatedAt','DESC','MailServerOut','Smtp','CloudProvider','getSmtpOptions','attachments','join','root','server/files/attachments','basename','CmContact','ListId','List\x20not\x20found','SendMail','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','accept','read','UserId','user','get','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','ContactId','Sequelize','SELECT','contact','User','agent','email','internal','manual','interface','SIP/%s','channel','event','fromString','EventManager','acceptmessage','mail','RejectMessage','rejectMessage','sequelize','QueryTypes','fullname','download','unix','toString','server','files','message-%s.eml','bcc','subject','createdAt','Attachment','Attachments','from','decode','headers','Bcc','existsSync','readFileSync','build','writeFileSync','moment','util','lodash','ioredis','html-to-text','../../components/parsers/qs','../../config/logger','api','mail-interactions','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','html-entities','./mailMessage.socket','register','jayson/promise','client','http','request','then','MailMessage,\x20%s,\x20%s','request\x20sent','debug','stringify','code','error','message','info','result','catch','json','offset','undefined','limit'];(function(_0x4edc08,_0x2febb6){var _0x75be67=function(_0x577029){while(--_0x577029){_0x4edc08['push'](_0x4edc08['shift']());}};_0x75be67(++_0x2febb6);}(_0xd147,0x1c2));var _0x7d14=function(_0x2576a,_0x21b836){_0x2576a=_0x2576a-0x0;var _0x20acdc=_0xd147[_0x2576a];return _0x20acdc;};'use strict';var emlformat=require('eml-format');var moment=require(_0x7d14('0x0'));var BPromise=require('bluebird');var util=require(_0x7d14('0x1'));var path=require('path');var fs=require('fs');var _=require(_0x7d14('0x2'));var Redis=require(_0x7d14('0x3'));var htmlToText=require(_0x7d14('0x4'));var qs=require(_0x7d14('0x5'));var logger=require(_0x7d14('0x6'))(_0x7d14('0x7'));var interaction_log=require(_0x7d14('0x6'))(_0x7d14('0x8'));var config=require(_0x7d14('0x9'));var db=require(_0x7d14('0xa'))['db'];config[_0x7d14('0xb')]=_[_0x7d14('0xc')](config[_0x7d14('0xb')],{'host':'localhost','port':0x18eb});var socket=require(_0x7d14('0xd'))(new Redis(config[_0x7d14('0xb')]));var htmlEntities=require(_0x7d14('0xe'));require(_0x7d14('0xf'))[_0x7d14('0x10')](socket);var jayson=require(_0x7d14('0x11'));var client=jayson[_0x7d14('0x12')][_0x7d14('0x13')]({'port':0x232c});var client9003=jayson['client'][_0x7d14('0x13')]({'port':0x232b});var client9002=jayson[_0x7d14('0x12')][_0x7d14('0x13')]({'port':0x232a});function respondWithRpcPromise(_0x5e4f1f,_0x5b790b,_0x5f1484,_0x270f1d){return new BPromise(function(_0x48131b,_0x1eafe2){var _0xee648c=_0x270f1d||client;return _0xee648c[_0x7d14('0x14')](_0x5e4f1f,_0x5f1484)[_0x7d14('0x15')](function(_0x5d15c0){logger['info'](_0x7d14('0x16'),_0x5b790b,_0x7d14('0x17'));logger[_0x7d14('0x18')]('MailMessage,\x20%s,\x20%s,\x20%s',_0x5b790b,_0x7d14('0x17'),JSON[_0x7d14('0x19')](_0x5d15c0));if(_0x5d15c0['error']){if(_0x5d15c0['error'][_0x7d14('0x1a')]===0x1f4){logger[_0x7d14('0x1b')](_0x7d14('0x16'),_0x5b790b,_0x5d15c0[_0x7d14('0x1b')][_0x7d14('0x1c')]);return _0x1eafe2(_0x5d15c0[_0x7d14('0x1b')][_0x7d14('0x1c')]);}logger['error']('MailMessage,\x20%s,\x20%s',_0x5b790b,_0x5d15c0[_0x7d14('0x1b')][_0x7d14('0x1c')]);return _0x48131b(_0x5d15c0['error'][_0x7d14('0x1c')]);}else{logger[_0x7d14('0x1d')](_0x7d14('0x16'),_0x5b790b,_0x7d14('0x17'));_0x48131b(_0x5d15c0[_0x7d14('0x1e')][_0x7d14('0x1c')]);}})[_0x7d14('0x1f')](function(_0x14fdda){logger[_0x7d14('0x1b')](_0x7d14('0x16'),_0x5b790b,_0x14fdda);_0x1eafe2(_0x14fdda);});});}function respondWithResult(_0x16c831,_0x119ef1){_0x119ef1=_0x119ef1||0xc8;return function(_0x3d3253){if(_0x3d3253){return _0x16c831['status'](_0x119ef1)[_0x7d14('0x20')](_0x3d3253);}};}function respondWithFilteredResult(_0x3f76a8,_0x93c53f){return function(_0x43918d){if(_0x43918d){var _0x11748a=typeof _0x93c53f[_0x7d14('0x21')]===_0x7d14('0x22')&&typeof _0x93c53f[_0x7d14('0x23')]===_0x7d14('0x22');var _0xbf54ea=_0x43918d[_0x7d14('0x24')];var _0x24cdeb=_0x11748a?0x0:_0x93c53f[_0x7d14('0x21')];var _0x2de166=_0x11748a?_0x43918d['count']:_0x93c53f[_0x7d14('0x21')]+_0x93c53f[_0x7d14('0x23')];var _0x74158c;if(_0x2de166>=_0xbf54ea){_0x2de166=_0xbf54ea;_0x74158c=0xc8;}else{_0x74158c=0xce;}_0x3f76a8[_0x7d14('0x25')](_0x74158c);return _0x3f76a8['set'](_0x7d14('0x26'),_0x24cdeb+'-'+_0x2de166+'/'+_0xbf54ea)[_0x7d14('0x20')](_0x43918d);}return null;};}function saveUpdates(_0x5299f3){return function(_0x3a1671){if(_0x3a1671){return _0x3a1671[_0x7d14('0x27')](_0x5299f3)[_0x7d14('0x15')](function(_0x574509){return _0x574509;});}return null;};}function removeEntity(_0x2fe03c){return function(_0x50ddc){if(_0x50ddc){return _0x50ddc[_0x7d14('0x28')]()[_0x7d14('0x15')](function(){_0x2fe03c['status'](0xcc)[_0x7d14('0x29')]();});}};}function handleEntityNotFound(_0x27ac83){return function(_0x108881){if(!_0x108881){_0x27ac83[_0x7d14('0x2a')](0x194);}return _0x108881;};}function handleError(_0x391962,_0xac2f30){_0xac2f30=_0xac2f30||0x1f4;return function(_0x5d8049){logger[_0x7d14('0x1b')](_0x5d8049[_0x7d14('0x2b')]);if(_0x5d8049['name']){delete _0x5d8049[_0x7d14('0x2c')];}_0x391962[_0x7d14('0x25')](_0xac2f30)[_0x7d14('0x2d')](_0x5d8049);};}exports[_0x7d14('0x2e')]=function(_0x397c7a,_0x1105f2){var _0x3a7b1b={},_0x7dfbe2={},_0x5a155d={'count':0x0,'rows':[]};var _0x1d6cb1=_[_0x7d14('0x2f')](db[_0x7d14('0x30')][_0x7d14('0x31')],function(_0x41203a){return{'name':_0x41203a[_0x7d14('0x32')],'type':_0x41203a[_0x7d14('0x33')]['key']};});_0x7dfbe2[_0x7d14('0x34')]=_[_0x7d14('0x2f')](_0x1d6cb1,_0x7d14('0x2c'));_0x7dfbe2[_0x7d14('0x35')]=_[_0x7d14('0x36')](_0x397c7a[_0x7d14('0x35')]);_0x7dfbe2[_0x7d14('0x37')]=_[_0x7d14('0x38')](_0x7dfbe2[_0x7d14('0x34')],_0x7dfbe2[_0x7d14('0x35')]);_0x3a7b1b[_0x7d14('0x39')]=_['intersection'](_0x7dfbe2[_0x7d14('0x34')],qs[_0x7d14('0x3a')](_0x397c7a[_0x7d14('0x35')][_0x7d14('0x3a')]));_0x3a7b1b['attributes']=_0x3a7b1b['attributes'][_0x7d14('0x3b')]?_0x3a7b1b[_0x7d14('0x39')]:_0x7dfbe2[_0x7d14('0x34')];if(!_0x397c7a[_0x7d14('0x35')][_0x7d14('0x3c')](_0x7d14('0x3d'))){_0x3a7b1b['limit']=qs[_0x7d14('0x23')](_0x397c7a[_0x7d14('0x35')][_0x7d14('0x23')]);_0x3a7b1b['offset']=qs[_0x7d14('0x21')](_0x397c7a[_0x7d14('0x35')]['offset']);}_0x3a7b1b['order']=qs['sort'](_0x397c7a[_0x7d14('0x35')][_0x7d14('0x3e')]);_0x3a7b1b[_0x7d14('0x3f')]=qs['filters'](_[_0x7d14('0x40')](_0x397c7a[_0x7d14('0x35')],_0x7dfbe2[_0x7d14('0x37')]),_0x1d6cb1);if(_0x397c7a['query'][_0x7d14('0x41')]){_0x3a7b1b[_0x7d14('0x3f')]=_[_0x7d14('0x42')](_0x3a7b1b[_0x7d14('0x3f')],{'$or':_[_0x7d14('0x2f')](_0x1d6cb1,function(_0x44e29){if(_0x44e29['type']!==_0x7d14('0x43')){var _0x4cf18d={};_0x4cf18d[_0x44e29[_0x7d14('0x2c')]]={'$like':'%'+_0x397c7a['query']['filter']+'%'};return _0x4cf18d;}})});}_0x3a7b1b=_[_0x7d14('0x42')]({},_0x3a7b1b,_0x397c7a[_0x7d14('0x44')]);var _0x24e5db={'where':_0x3a7b1b[_0x7d14('0x3f')]};return db['MailMessage'][_0x7d14('0x24')](_0x24e5db)[_0x7d14('0x15')](function(_0x26e74e){_0x5a155d['count']=_0x26e74e;if(_0x397c7a[_0x7d14('0x35')]['includeAll']){_0x3a7b1b[_0x7d14('0x45')]=[{'all':!![]}];}return db['MailMessage']['findAll'](_0x3a7b1b);})[_0x7d14('0x15')](function(_0x18f4aa){_0x5a155d[_0x7d14('0x46')]=_0x18f4aa;return _0x5a155d;})[_0x7d14('0x15')](respondWithFilteredResult(_0x1105f2,_0x3a7b1b))[_0x7d14('0x1f')](handleError(_0x1105f2,null));};exports[_0x7d14('0x47')]=function(_0x3ff035,_0x4bcb6e){var _0x390aae={'raw':!![],'where':{'id':_0x3ff035[_0x7d14('0x48')]['id']}},_0x4b6fec={};_0x4b6fec['model']=_[_0x7d14('0x36')](db['MailMessage']['rawAttributes']);_0x4b6fec[_0x7d14('0x35')]=_[_0x7d14('0x36')](_0x3ff035[_0x7d14('0x35')]);_0x4b6fec[_0x7d14('0x37')]=_[_0x7d14('0x38')](_0x4b6fec[_0x7d14('0x34')],_0x4b6fec['query']);_0x390aae[_0x7d14('0x39')]=_['intersection'](_0x4b6fec[_0x7d14('0x34')],qs[_0x7d14('0x3a')](_0x3ff035[_0x7d14('0x35')][_0x7d14('0x3a')]));_0x390aae[_0x7d14('0x39')]=_0x390aae[_0x7d14('0x39')]['length']?_0x390aae[_0x7d14('0x39')]:_0x4b6fec[_0x7d14('0x34')];if(_0x3ff035[_0x7d14('0x35')][_0x7d14('0x49')]){_0x390aae[_0x7d14('0x45')]=[{'all':!![]}];}_0x390aae=_['merge']({},_0x390aae,_0x3ff035[_0x7d14('0x44')]);return db[_0x7d14('0x30')][_0x7d14('0x4a')](_0x390aae)[_0x7d14('0x15')](handleEntityNotFound(_0x4bcb6e,null))[_0x7d14('0x15')](respondWithResult(_0x4bcb6e,null))[_0x7d14('0x1f')](handleError(_0x4bcb6e,null));};exports[_0x7d14('0x27')]=function(_0x456f29,_0x40d4aa){if(_0x456f29[_0x7d14('0x4b')]['id']){delete _0x456f29[_0x7d14('0x4b')]['id'];}return db[_0x7d14('0x30')][_0x7d14('0x4a')]({'where':{'id':_0x456f29[_0x7d14('0x48')]['id']}})[_0x7d14('0x15')](handleEntityNotFound(_0x40d4aa,null))[_0x7d14('0x15')](saveUpdates(_0x456f29['body'],null))[_0x7d14('0x15')](respondWithResult(_0x40d4aa,null))[_0x7d14('0x1f')](handleError(_0x40d4aa,null));};exports[_0x7d14('0x28')]=function(_0x544b24,_0x39498b){return db['MailMessage'][_0x7d14('0x4a')]({'where':{'id':_0x544b24[_0x7d14('0x48')]['id']}})['then'](handleEntityNotFound(_0x39498b,null))['then'](removeEntity(_0x39498b,null))[_0x7d14('0x1f')](handleError(_0x39498b,null));};exports['describe']=function(_0x39e6ea,_0x207eea){return db[_0x7d14('0x30')][_0x7d14('0x4c')]()[_0x7d14('0x15')](respondWithResult(_0x207eea,null))['catch'](handleError(_0x207eea,null));};exports[_0x7d14('0x4d')]=function(_0x412779,_0x1a8bae){return db['MailMessage'][_0x7d14('0x4d')](_0x412779[_0x7d14('0x4b')])[_0x7d14('0x15')](function(_0x3c29bd){if(_0x3c29bd){if(_0x3c29bd[_0x7d14('0x4e')]===_0x7d14('0x4f')&&!_0x3c29bd[_0x7d14('0x50')]){var _0x35f2c8,_0x5dcab3,_0x19e444;if(_0x412779['body']['to']){_0x5dcab3=_0x412779['body']['to']['split'](',')[0x0];}return db['MailAccount'][_0x7d14('0x51')]({'where':{'id':_0x3c29bd[_0x7d14('0x52')]},'include':[{'model':db[_0x7d14('0x53')],'as':_0x7d14('0x54'),'include':[{'model':db['CmContact'],'as':_0x7d14('0x55'),'where':{'email':_0x5dcab3},'limit':0x1,'order':[[_0x7d14('0x56'),_0x7d14('0x57')]]}]},{'model':db[_0x7d14('0x58')],'as':_0x7d14('0x59'),'raw':!![],'include':[{'model':db[_0x7d14('0x5a')],'as':_0x7d14('0x5a'),'raw':!![]}]}]})[_0x7d14('0x15')](function(_0x5ce185){_0x35f2c8=_0x5ce185;if(!_0x35f2c8||!_0x35f2c8[_0x7d14('0x59')])return;var _0x16464a=_0x35f2c8[_0x7d14('0x5b')]();if(_0x412779[_0x7d14('0x4b')][_0x7d14('0x5c')]&&_0x412779[_0x7d14('0x4b')][_0x7d14('0x5c')][_0x7d14('0x3b')]){for(var _0x39cb32=0x0;_0x39cb32<_0x412779['body'][_0x7d14('0x5c')]['length'];_0x39cb32+=0x1){_0x412779['body']['attachments'][_0x39cb32]={'filename':_0x412779['body']['attachments'][_0x39cb32][_0x7d14('0x2c')],'path':path[_0x7d14('0x5d')](config[_0x7d14('0x5e')],_0x7d14('0x5f'),_0x412779[_0x7d14('0x4b')][_0x7d14('0x5c')][_0x39cb32][_0x7d14('0x60')])};}}_0x19e444={'account':_0x16464a,'message':_0x412779[_0x7d14('0x4b')]};return;})[_0x7d14('0x15')](function(){if(_0x35f2c8[_0x7d14('0x54')]){if(_0x35f2c8[_0x7d14('0x54')]['Contacts'][_0x7d14('0x3b')]){return _0x35f2c8[_0x7d14('0x54')]['Contacts'][0x0];}else{return db[_0x7d14('0x61')]['create'](_[_0x7d14('0xc')](_0x412779[_0x7d14('0x4b')],{'firstName':_0x412779[_0x7d14('0x4b')]['to'],'email':_0x412779[_0x7d14('0x4b')]['to'],'phone':_0x412779[_0x7d14('0x4b')]['to'],'ListId':_0x35f2c8[_0x7d14('0x62')]}));}}else{throw new Error(_0x7d14('0x63'));}})[_0x7d14('0x15')](function(){if(_0x19e444){return respondWithRpcPromise(_0x7d14('0x64'),_0x7d14('0x65'),_0x19e444,client9003)[_0x7d14('0x15')](function(_0xd6ee0e){return _0x3c29bd['update']({'read':!![],'messageId':_0xd6ee0e[_0x7d14('0x66')],'sentAt':moment()[_0x7d14('0x67')](_0x7d14('0x68'))});})[_0x7d14('0x1f')](function(_0x425901){logger['error']('%s',JSON[_0x7d14('0x19')](_0x425901));return _0x3c29bd;});}return _0x3c29bd;});}return _0x3c29bd;}})[_0x7d14('0x15')](respondWithResult(_0x1a8bae,0xc9))['catch'](handleError(_0x1a8bae,null));};exports[_0x7d14('0x69')]=function(_0x34653f,_0x544302){var _0xd595c3={'agent':{},'channel':'mail'};if(_0x34653f['body']['id']){delete _0x34653f[_0x7d14('0x4b')]['id'];}_0x34653f[_0x7d14('0x4b')][_0x7d14('0x6a')]=!![];_0x34653f[_0x7d14('0x4b')]['readAt']=moment()[_0x7d14('0x67')](_0x7d14('0x68'));_0x34653f[_0x7d14('0x4b')]['UserId']=_0x34653f[_0x7d14('0x4b')][_0x7d14('0x6b')]||_0x34653f[_0x7d14('0x6c')]['id'];_0xd595c3['agent']['id']=_0x34653f[_0x7d14('0x4b')][_0x7d14('0x6b')];return db[_0x7d14('0x30')][_0x7d14('0x4a')]({'where':{'id':_0x34653f[_0x7d14('0x48')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x544302,null))[_0x7d14('0x15')](saveUpdates(_0x34653f[_0x7d14('0x4b')],null))[_0x7d14('0x15')](function(_0x416347){if(_0x416347){_0xd595c3['message']=_0x416347[_0x7d14('0x6d')]({'plain':!![]});return db[_0x7d14('0x6e')][_0x7d14('0x4a')]({'where':{'id':_0x416347[_0x7d14('0x6f')]}});}return null;})[_0x7d14('0x15')](handleEntityNotFound(_0x544302,null))[_0x7d14('0x15')](function(_0x5702c4){if(_0x5702c4){return _0x5702c4[_0x7d14('0x27')]({'UserId':_0x34653f[_0x7d14('0x4b')]['UserId'],'read1stAt':_[_0x7d14('0x70')](_0x5702c4[_0x7d14('0x71')])?moment()[_0x7d14('0x67')](_0x7d14('0x68')):undefined});}return null;})[_0x7d14('0x15')](function(_0x49d89f){if(_0x49d89f){_0xd595c3[_0x7d14('0x72')]=_0x49d89f[_0x7d14('0x6d')]({'plain':!![]});interaction_log[_0x7d14('0x1d')](_0x7d14('0x73'),_0x34653f[_0x7d14('0x6c')]['id'],_0x34653f[_0x7d14('0x6c')][_0x7d14('0x2c')],_0x34653f[_0x7d14('0x6c')][_0x7d14('0x74')],_0xd595c3['interaction']['id'],_0x34653f['body']?JSON[_0x7d14('0x19')](_0x34653f[_0x7d14('0x4b')]):_0x7d14('0x75'));return respondWithRpcPromise(_0x7d14('0x76'),_0x7d14('0x77'),_0xd595c3);}return null;})['then'](function(_0x594628){var _0x198225=_0x7d14('0x78')+_0x594628[_0x7d14('0x1c')][_0x7d14('0x79')];return db['sequelize']['query'](_0x198225,{'type':db[_0x7d14('0x7a')]['QueryTypes'][_0x7d14('0x7b')],'raw':!![]})['then'](function(_0x93219){return _0x93219;});})['then'](function(_0x475ae4){if(_0x475ae4){_0xd595c3[_0x7d14('0x1c')][_0x7d14('0x7c')]=_0x475ae4[0x0];if(!_0x34653f[_0x7d14('0x4b')][_0x7d14('0x6b')])return;return db[_0x7d14('0x7d')][_0x7d14('0x4a')]({'where':{'id':_0x34653f[_0x7d14('0x4b')][_0x7d14('0x6b')],'role':_0x7d14('0x7e')},'attributes':['id',_0x7d14('0x2c'),'fullname',_0x7d14('0x7f'),_0x7d14('0x80')],'raw':!![]});}return null;})[_0x7d14('0x15')](function(_0x3f1507){if(!_0x3f1507)return null;_0xd595c3['message'][_0x7d14('0x7e')]=_0x3f1507;return _0xd595c3;})[_0x7d14('0x15')](function(_0x590b96){if(_0x590b96){if(_0x34653f[_0x7d14('0x4b')][_0x7d14('0x81')]){_0xd595c3[_0x7d14('0x1c')][_0x7d14('0x82')]=util[_0x7d14('0x67')](_0x7d14('0x83'),_0x34653f[_0x7d14('0x6c')]['name']);_0xd595c3[_0x7d14('0x1c')][_0x7d14('0x84')]=_0xd595c3[_0x7d14('0x84')];_0xd595c3['message']['motionChannel']=_0xd595c3[_0x7d14('0x84')];_0xd595c3[_0x7d14('0x1c')][_0x7d14('0x85')]=_0x7d14('0x69');_0xd595c3[_0x7d14('0x1c')][_0x7d14('0x4b')]=htmlToText[_0x7d14('0x86')](_0xd595c3['message'][_0x7d14('0x4b')]);return respondWithRpcPromise(_0x7d14('0x87'),_0x7d14('0x87'),{'event':_0x7d14('0x88'),'message':_0xd595c3[_0x7d14('0x1c')]},client9002)[_0x7d14('0x15')](function(){return _0xd595c3;});}return _0xd595c3;}return null;})[_0x7d14('0x15')](respondWithResult(_0x544302,null))[_0x7d14('0x1f')](handleError(_0x544302,null));};exports['reject']=function(_0x2445f6,_0x56cae2){var _0x37ba93={'agent':{},'channel':_0x7d14('0x89')};if(_0x2445f6[_0x7d14('0x4b')]['id']){delete _0x2445f6['body']['id'];}_0x2445f6[_0x7d14('0x4b')][_0x7d14('0x6b')]=_0x2445f6['body']['UserId']||_0x2445f6[_0x7d14('0x6c')]['id'];_0x37ba93[_0x7d14('0x7e')]['id']=_0x2445f6[_0x7d14('0x4b')][_0x7d14('0x6b')];return db['MailMessage']['find']({'where':{'id':_0x2445f6[_0x7d14('0x48')]['id'],'UserId':null}})[_0x7d14('0x15')](handleEntityNotFound(_0x56cae2,null))[_0x7d14('0x15')](function(_0x31be9a){if(_0x31be9a){_0x37ba93[_0x7d14('0x1c')]=_0x31be9a[_0x7d14('0x6d')]({'plain':!![]});return db[_0x7d14('0x6e')][_0x7d14('0x4a')]({'where':{'id':_0x31be9a[_0x7d14('0x6f')]}});}return null;})[_0x7d14('0x15')](handleEntityNotFound(_0x56cae2,null))['then'](function(_0x21b6ac){if(_0x21b6ac){_0x37ba93[_0x7d14('0x72')]=_0x21b6ac[_0x7d14('0x6d')]({'plain':!![]});interaction_log['info']('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x2445f6[_0x7d14('0x6c')]['id'],_0x2445f6[_0x7d14('0x6c')][_0x7d14('0x2c')],_0x2445f6['user']['role'],_0x37ba93['interaction']['id'],_0x2445f6[_0x7d14('0x4b')]?JSON[_0x7d14('0x19')](_0x2445f6['body']):'null');return respondWithRpcPromise(_0x7d14('0x8a'),_0x7d14('0x8b'),_0x37ba93);}return null;})[_0x7d14('0x15')](function(_0x3ad470){var _0x19d0f5=_0x7d14('0x78')+_0x3ad470['message']['ContactId'];return db[_0x7d14('0x8c')][_0x7d14('0x35')](_0x19d0f5,{'type':db['Sequelize'][_0x7d14('0x8d')][_0x7d14('0x7b')],'raw':!![]})[_0x7d14('0x15')](function(_0x73cd2){return _0x73cd2;});})[_0x7d14('0x15')](function(_0xddebb3){if(_0xddebb3){_0x37ba93['message']['contact']=_0xddebb3[0x0];if(!_0x2445f6['body'][_0x7d14('0x6b')])return;return db[_0x7d14('0x7d')]['find']({'where':{'id':_0x2445f6[_0x7d14('0x4b')]['UserId'],'role':_0x7d14('0x7e')},'attributes':['id',_0x7d14('0x2c'),_0x7d14('0x8e'),'email','internal'],'raw':!![]});}return null;})[_0x7d14('0x15')](function(_0x498b29){if(!_0x498b29)return null;_0x37ba93['message']['agent']=_0x498b29;return _0x37ba93;})['then'](function(_0x13ccd4){if(_0x13ccd4){_0x13ccd4[_0x7d14('0x1c')][_0x7d14('0x82')]=util[_0x7d14('0x67')](_0x7d14('0x83'),_0x2445f6[_0x7d14('0x6c')][_0x7d14('0x2c')]);_0x13ccd4[_0x7d14('0x1c')]['channel']=_0x37ba93[_0x7d14('0x84')];_0x13ccd4[_0x7d14('0x1c')]['motionChannel']=_0x37ba93[_0x7d14('0x84')];_0x13ccd4['message'][_0x7d14('0x85')]='reject';_0x13ccd4[_0x7d14('0x1c')][_0x7d14('0x4b')]=htmlToText[_0x7d14('0x86')](_0x37ba93[_0x7d14('0x1c')]['body']);respondWithRpcPromise(_0x7d14('0x87'),'EventManager',{'event':'rejectmessage','message':_0x13ccd4['message']},client9002);return _0x37ba93;}return null;})['then'](respondWithResult(_0x56cae2,null))[_0x7d14('0x1f')](handleError(_0x56cae2,null));};exports[_0x7d14('0x8f')]=function(_0x26f1cb,_0x57ab62){var _0x17a81d=moment()[_0x7d14('0x90')]()[_0x7d14('0x91')]();var _0x1ddfb6=path[_0x7d14('0x5d')](config[_0x7d14('0x5e')],_0x7d14('0x92'),_0x7d14('0x93'),'tmp');var _0x4c72f3=path[_0x7d14('0x5d')](config[_0x7d14('0x5e')],_0x7d14('0x92'),'files',_0x7d14('0x5c'));var _0x3c0642=util[_0x7d14('0x67')](_0x7d14('0x94'),_0x17a81d);return db[_0x7d14('0x30')][_0x7d14('0x4a')]({'where':{'id':_0x26f1cb[_0x7d14('0x48')]['id']},'attributes':['id',_0x7d14('0x4b'),'from','to','cc',_0x7d14('0x95'),_0x7d14('0x96'),_0x7d14('0x97')],'include':_0x26f1cb[_0x7d14('0x35')][_0x7d14('0x5c')]?[{'model':db[_0x7d14('0x98')],'as':_0x7d14('0x99')}]:undefined})[_0x7d14('0x15')](handleEntityNotFound(_0x57ab62,null))[_0x7d14('0x15')](function(_0x3164ff){if(_0x3164ff){var _0xd576fb=_0x3164ff;var _0x28a3e2={'from':_0xd576fb[_0x7d14('0x9a')],'to':_0xd576fb['to'],'subject':_0xd576fb['subject'],'html':htmlEntities[_0x7d14('0x9b')](_0xd576fb[_0x7d14('0x4b')]),'headers':{'Date':moment(_0xd576fb['createdAt'])[_0x7d14('0x67')]('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x3164ff['cc']){_0x28a3e2[_0x7d14('0x9c')]['Cc']=_0x3164ff['cc'];}if(_0x3164ff[_0x7d14('0x95')]){_0x28a3e2['headers'][_0x7d14('0x9d')]=_0x3164ff['bcc'];}return new BPromise(function(_0x3cbd6c,_0xc6a330){if(_0x3164ff['Attachments']){for(var _0x3ecee0=0x0;_0x3ecee0<_0x3164ff[_0x7d14('0x99')][_0x7d14('0x3b')];_0x3ecee0++){var _0x8ca0a4=_0x3164ff[_0x7d14('0x99')][_0x3ecee0];var _0x1815a5=path[_0x7d14('0x5d')](_0x4c72f3,_0x8ca0a4[_0x7d14('0x60')]);if(fs[_0x7d14('0x9e')](_0x1815a5)){_0x28a3e2[_0x7d14('0x5c')]['push']({'name':_0x8ca0a4[_0x7d14('0x2c')],'contentType':_0x8ca0a4[_0x7d14('0x33')],'data':fs[_0x7d14('0x9f')](_0x1815a5)});}}}emlformat[_0x7d14('0xa0')](_0x28a3e2,function(_0x5c016c,_0x3bd75d){if(_0x5c016c)return _0xc6a330(_0x5c016c);fs[_0x7d14('0xa1')](path[_0x7d14('0x5d')](_0x1ddfb6,_0x3c0642),_0x3bd75d);return _0x3cbd6c(_0x3bd75d);});});}})[_0x7d14('0x15')](function(_0x44d2b7){if(_0x44d2b7){return _0x57ab62[_0x7d14('0x8f')](path[_0x7d14('0x5d')](_0x1ddfb6,_0x3c0642),_0x3c0642,function(_0x5d67f9){if(!_0x5d67f9)fs['unlinkSync'](path[_0x7d14('0x5d')](_0x1ddfb6,_0x3c0642));});}})[_0x7d14('0x1f')](handleError(_0x57ab62,null));};