4b17a192d899c00be2c7680835b9546290a56958
[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 _0x8271=['sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','accept','mail','read','readAt','UserId','user','agent','get','MailInteraction','MailInteractionId','isNil','interaction','null','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','sequelize','Sequelize','SELECT','User','email','internal','manual','SIP/%s','channel','motionChannel','event','fromString','EventManager','acceptmessage','reject','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','RejectMessage','rejectMessage','QueryTypes','contact','fullname','interface','download','unix','toString','server','files','tmp','from','bcc','subject','createdAt','Attachment','Attachments','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','existsSync','push','readFileSync','writeFileSync','unlinkSync','moment','bluebird','path','lodash','ioredis','../../components/parsers/qs','api','../../config/logger','mail-interactions','../../config/environment','redis','defaults','localhost','socket.io-emitter','html-entities','./mailMessage.socket','client','http','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','status','json','offset','limit','undefined','count','set','Content-Range','update','sendStatus','stack','name','send','index','map','MailMessage','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','where','filter','merge','includeAll','findAll','show','params','keys','rawAttributes','include','options','find','body','destroy','describe','create','direction','out','secret','split','MailAccount','findOne','List','CmContact','Contacts','DESC','MailServerOut','Smtp','CloudProvider','getSmtpOptions','attachments','join','root','server/files/attachments','basename','List\x20not\x20found'];(function(_0x242683,_0x2b6fc3){var _0x4aa712=function(_0x56522f){while(--_0x56522f){_0x242683['push'](_0x242683['shift']());}};_0x4aa712(++_0x2b6fc3);}(_0x8271,0x173));var _0x1827=function(_0x2cd1fb,_0x291f55){_0x2cd1fb=_0x2cd1fb-0x0;var _0x48fd2b=_0x8271[_0x2cd1fb];return _0x48fd2b;};'use strict';var emlformat=require('eml-format');var moment=require(_0x1827('0x0'));var BPromise=require(_0x1827('0x1'));var util=require('util');var path=require(_0x1827('0x2'));var fs=require('fs');var _=require(_0x1827('0x3'));var Redis=require(_0x1827('0x4'));var htmlToText=require('html-to-text');var qs=require(_0x1827('0x5'));var logger=require('../../config/logger')(_0x1827('0x6'));var interaction_log=require(_0x1827('0x7'))(_0x1827('0x8'));var config=require(_0x1827('0x9'));var db=require('../../mysqldb')['db'];config[_0x1827('0xa')]=_[_0x1827('0xb')](config[_0x1827('0xa')],{'host':_0x1827('0xc'),'port':0x18eb});var socket=require(_0x1827('0xd'))(new Redis(config['redis']));var htmlEntities=require(_0x1827('0xe'));require(_0x1827('0xf'))['register'](socket);var jayson=require('jayson/promise');var client=jayson[_0x1827('0x10')][_0x1827('0x11')]({'port':0x232c});var client9003=jayson['client'][_0x1827('0x11')]({'port':0x232b});var client9002=jayson[_0x1827('0x10')][_0x1827('0x11')]({'port':0x232a});function respondWithRpcPromise(_0x176ac4,_0x5e12ea,_0x1c1082,_0x3e3a2a){return new BPromise(function(_0x457d34,_0x56c795){var _0x4e98b7=_0x3e3a2a||client;return _0x4e98b7['request'](_0x176ac4,_0x1c1082)[_0x1827('0x12')](function(_0x23a1f8){logger[_0x1827('0x13')](_0x1827('0x14'),_0x5e12ea,_0x1827('0x15'));logger['debug'](_0x1827('0x16'),_0x5e12ea,_0x1827('0x15'),JSON[_0x1827('0x17')](_0x23a1f8));if(_0x23a1f8[_0x1827('0x18')]){if(_0x23a1f8[_0x1827('0x18')]['code']===0x1f4){logger['error'](_0x1827('0x14'),_0x5e12ea,_0x23a1f8[_0x1827('0x18')]['message']);return _0x56c795(_0x23a1f8['error'][_0x1827('0x19')]);}logger[_0x1827('0x18')](_0x1827('0x14'),_0x5e12ea,_0x23a1f8[_0x1827('0x18')][_0x1827('0x19')]);return _0x457d34(_0x23a1f8[_0x1827('0x18')][_0x1827('0x19')]);}else{logger[_0x1827('0x13')](_0x1827('0x14'),_0x5e12ea,_0x1827('0x15'));_0x457d34(_0x23a1f8[_0x1827('0x1a')]['message']);}})[_0x1827('0x1b')](function(_0x398e3f){logger[_0x1827('0x18')](_0x1827('0x14'),_0x5e12ea,_0x398e3f);_0x56c795(_0x398e3f);});});}function respondWithResult(_0x1b190c,_0x136318){_0x136318=_0x136318||0xc8;return function(_0x155449){if(_0x155449){return _0x1b190c[_0x1827('0x1c')](_0x136318)[_0x1827('0x1d')](_0x155449);}};}function respondWithFilteredResult(_0x46681b,_0x32914f){return function(_0xf08fe6){if(_0xf08fe6){var _0x11bd4a=typeof _0x32914f[_0x1827('0x1e')]==='undefined'&&typeof _0x32914f[_0x1827('0x1f')]===_0x1827('0x20');var _0x50d2c3=_0xf08fe6[_0x1827('0x21')];var _0x5bf574=_0x11bd4a?0x0:_0x32914f['offset'];var _0x4c58d9=_0x11bd4a?_0xf08fe6[_0x1827('0x21')]:_0x32914f[_0x1827('0x1e')]+_0x32914f[_0x1827('0x1f')];var _0x1c59e6;if(_0x4c58d9>=_0x50d2c3){_0x4c58d9=_0x50d2c3;_0x1c59e6=0xc8;}else{_0x1c59e6=0xce;}_0x46681b['status'](_0x1c59e6);return _0x46681b[_0x1827('0x22')](_0x1827('0x23'),_0x5bf574+'-'+_0x4c58d9+'/'+_0x50d2c3)[_0x1827('0x1d')](_0xf08fe6);}return null;};}function saveUpdates(_0x466110){return function(_0x1c5da8){if(_0x1c5da8){return _0x1c5da8[_0x1827('0x24')](_0x466110)[_0x1827('0x12')](function(_0x1d2c05){return _0x1d2c05;});}return null;};}function removeEntity(_0x5ead44){return function(_0x43843e){if(_0x43843e){return _0x43843e['destroy']()[_0x1827('0x12')](function(){_0x5ead44['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x338ef9){return function(_0x4b5595){if(!_0x4b5595){_0x338ef9[_0x1827('0x25')](0x194);}return _0x4b5595;};}function handleError(_0x3782ea,_0x41ccb9){_0x41ccb9=_0x41ccb9||0x1f4;return function(_0x143cb1){logger['error'](_0x143cb1[_0x1827('0x26')]);if(_0x143cb1[_0x1827('0x27')]){delete _0x143cb1[_0x1827('0x27')];}_0x3782ea[_0x1827('0x1c')](_0x41ccb9)[_0x1827('0x28')](_0x143cb1);};}exports[_0x1827('0x29')]=function(_0x1e4c81,_0x1561ff){var _0x25364d={},_0x28c1db={},_0x1ced78={'count':0x0,'rows':[]};var _0x68336f=_[_0x1827('0x2a')](db[_0x1827('0x2b')]['rawAttributes'],function(_0x10b6b5){return{'name':_0x10b6b5[_0x1827('0x2c')],'type':_0x10b6b5[_0x1827('0x2d')]['key']};});_0x28c1db[_0x1827('0x2e')]=_[_0x1827('0x2a')](_0x68336f,_0x1827('0x27'));_0x28c1db[_0x1827('0x2f')]=_['keys'](_0x1e4c81[_0x1827('0x2f')]);_0x28c1db[_0x1827('0x30')]=_[_0x1827('0x31')](_0x28c1db[_0x1827('0x2e')],_0x28c1db[_0x1827('0x2f')]);_0x25364d[_0x1827('0x32')]=_[_0x1827('0x31')](_0x28c1db[_0x1827('0x2e')],qs[_0x1827('0x33')](_0x1e4c81[_0x1827('0x2f')][_0x1827('0x33')]));_0x25364d[_0x1827('0x32')]=_0x25364d[_0x1827('0x32')][_0x1827('0x34')]?_0x25364d['attributes']:_0x28c1db[_0x1827('0x2e')];if(!_0x1e4c81[_0x1827('0x2f')][_0x1827('0x35')](_0x1827('0x36'))){_0x25364d[_0x1827('0x1f')]=qs['limit'](_0x1e4c81[_0x1827('0x2f')]['limit']);_0x25364d['offset']=qs[_0x1827('0x1e')](_0x1e4c81['query'][_0x1827('0x1e')]);}_0x25364d['order']=qs['sort'](_0x1e4c81['query']['sort']);_0x25364d[_0x1827('0x37')]=qs[_0x1827('0x30')](_['pick'](_0x1e4c81[_0x1827('0x2f')],_0x28c1db[_0x1827('0x30')]),_0x68336f);if(_0x1e4c81[_0x1827('0x2f')][_0x1827('0x38')]){_0x25364d['where']=_[_0x1827('0x39')](_0x25364d[_0x1827('0x37')],{'$or':_['map'](_0x68336f,function(_0x29a900){if(_0x29a900[_0x1827('0x2d')]!=='VIRTUAL'){var _0xa271d5={};_0xa271d5[_0x29a900[_0x1827('0x27')]]={'$like':'%'+_0x1e4c81[_0x1827('0x2f')][_0x1827('0x38')]+'%'};return _0xa271d5;}})});}_0x25364d=_[_0x1827('0x39')]({},_0x25364d,_0x1e4c81['options']);var _0x59547a={'where':_0x25364d[_0x1827('0x37')]};return db[_0x1827('0x2b')][_0x1827('0x21')](_0x59547a)[_0x1827('0x12')](function(_0x4edf8b){_0x1ced78[_0x1827('0x21')]=_0x4edf8b;if(_0x1e4c81[_0x1827('0x2f')][_0x1827('0x3a')]){_0x25364d['include']=[{'all':!![]}];}return db[_0x1827('0x2b')][_0x1827('0x3b')](_0x25364d);})[_0x1827('0x12')](function(_0x55e0c9){_0x1ced78['rows']=_0x55e0c9;return _0x1ced78;})['then'](respondWithFilteredResult(_0x1561ff,_0x25364d))[_0x1827('0x1b')](handleError(_0x1561ff,null));};exports[_0x1827('0x3c')]=function(_0xf39952,_0x471818){var _0x47b369={'raw':!![],'where':{'id':_0xf39952[_0x1827('0x3d')]['id']}},_0x194151={};_0x194151[_0x1827('0x2e')]=_[_0x1827('0x3e')](db[_0x1827('0x2b')][_0x1827('0x3f')]);_0x194151[_0x1827('0x2f')]=_[_0x1827('0x3e')](_0xf39952[_0x1827('0x2f')]);_0x194151['filters']=_[_0x1827('0x31')](_0x194151[_0x1827('0x2e')],_0x194151['query']);_0x47b369[_0x1827('0x32')]=_[_0x1827('0x31')](_0x194151[_0x1827('0x2e')],qs[_0x1827('0x33')](_0xf39952['query']['fields']));_0x47b369[_0x1827('0x32')]=_0x47b369[_0x1827('0x32')][_0x1827('0x34')]?_0x47b369[_0x1827('0x32')]:_0x194151[_0x1827('0x2e')];if(_0xf39952[_0x1827('0x2f')]['includeAll']){_0x47b369[_0x1827('0x40')]=[{'all':!![]}];}_0x47b369=_[_0x1827('0x39')]({},_0x47b369,_0xf39952[_0x1827('0x41')]);return db[_0x1827('0x2b')][_0x1827('0x42')](_0x47b369)['then'](handleEntityNotFound(_0x471818,null))[_0x1827('0x12')](respondWithResult(_0x471818,null))[_0x1827('0x1b')](handleError(_0x471818,null));};exports['update']=function(_0x43609c,_0x1e9a03){if(_0x43609c[_0x1827('0x43')]['id']){delete _0x43609c['body']['id'];}return db['MailMessage']['find']({'where':{'id':_0x43609c['params']['id']}})[_0x1827('0x12')](handleEntityNotFound(_0x1e9a03,null))[_0x1827('0x12')](saveUpdates(_0x43609c[_0x1827('0x43')],null))[_0x1827('0x12')](respondWithResult(_0x1e9a03,null))[_0x1827('0x1b')](handleError(_0x1e9a03,null));};exports[_0x1827('0x44')]=function(_0x3d4156,_0x5cdb6f){return db[_0x1827('0x2b')]['find']({'where':{'id':_0x3d4156[_0x1827('0x3d')]['id']}})[_0x1827('0x12')](handleEntityNotFound(_0x5cdb6f,null))[_0x1827('0x12')](removeEntity(_0x5cdb6f,null))[_0x1827('0x1b')](handleError(_0x5cdb6f,null));};exports[_0x1827('0x45')]=function(_0xf1b5ce,_0x37bf88){return db[_0x1827('0x2b')][_0x1827('0x45')]()['then'](respondWithResult(_0x37bf88,null))['catch'](handleError(_0x37bf88,null));};exports[_0x1827('0x46')]=function(_0x3e4fc5,_0x4691f3){return db[_0x1827('0x2b')][_0x1827('0x46')](_0x3e4fc5[_0x1827('0x43')])[_0x1827('0x12')](function(_0xa5e1bf){if(_0xa5e1bf){if(_0xa5e1bf[_0x1827('0x47')]===_0x1827('0x48')&&!_0xa5e1bf[_0x1827('0x49')]){var _0x462b63,_0x5783e2,_0x274d66;if(_0x3e4fc5[_0x1827('0x43')]['to']){_0x5783e2=_0x3e4fc5['body']['to'][_0x1827('0x4a')](',')[0x0];}return db[_0x1827('0x4b')][_0x1827('0x4c')]({'where':{'id':_0xa5e1bf['MailAccountId']},'include':[{'model':db['CmList'],'as':_0x1827('0x4d'),'include':[{'model':db[_0x1827('0x4e')],'as':_0x1827('0x4f'),'where':{'email':_0x5783e2},'limit':0x1,'order':[['updatedAt',_0x1827('0x50')]]}]},{'model':db[_0x1827('0x51')],'as':_0x1827('0x52'),'raw':!![],'include':[{'model':db[_0x1827('0x53')],'as':_0x1827('0x53'),'raw':!![]}]}]})['then'](function(_0x21e3ae){_0x462b63=_0x21e3ae;if(!_0x462b63||!_0x462b63[_0x1827('0x52')])return;var _0x2c98ec=_0x462b63[_0x1827('0x54')]();if(_0x3e4fc5[_0x1827('0x43')][_0x1827('0x55')]&&_0x3e4fc5[_0x1827('0x43')][_0x1827('0x55')]['length']){for(var _0x5d050d=0x0;_0x5d050d<_0x3e4fc5['body'][_0x1827('0x55')]['length'];_0x5d050d+=0x1){_0x3e4fc5[_0x1827('0x43')]['attachments'][_0x5d050d]={'filename':_0x3e4fc5[_0x1827('0x43')][_0x1827('0x55')][_0x5d050d]['name'],'path':path[_0x1827('0x56')](config[_0x1827('0x57')],_0x1827('0x58'),_0x3e4fc5[_0x1827('0x43')][_0x1827('0x55')][_0x5d050d][_0x1827('0x59')])};}}_0x274d66={'account':_0x2c98ec,'message':_0x3e4fc5['body']};return;})[_0x1827('0x12')](function(){if(_0x462b63['List']){if(_0x462b63[_0x1827('0x4d')][_0x1827('0x4f')][_0x1827('0x34')]){return _0x462b63[_0x1827('0x4d')]['Contacts'][0x0];}else{return db['CmContact'][_0x1827('0x46')](_[_0x1827('0xb')](_0x3e4fc5['body'],{'firstName':_0x3e4fc5['body']['to'],'email':_0x3e4fc5[_0x1827('0x43')]['to'],'phone':_0x3e4fc5[_0x1827('0x43')]['to'],'ListId':_0x462b63['ListId']}));}}else{throw new Error(_0x1827('0x5a'));}})[_0x1827('0x12')](function(){if(_0x274d66){return respondWithRpcPromise('SendMail',_0x1827('0x5b'),_0x274d66,client9003)[_0x1827('0x12')](function(_0x305147){return _0xa5e1bf[_0x1827('0x24')]({'read':!![],'messageId':_0x305147[_0x1827('0x5c')],'sentAt':moment()[_0x1827('0x5d')](_0x1827('0x5e'))});})[_0x1827('0x1b')](function(_0x52fd49){logger[_0x1827('0x18')]('%s',JSON['stringify'](_0x52fd49));return _0xa5e1bf;});}return _0xa5e1bf;});}return _0xa5e1bf;}})[_0x1827('0x12')](respondWithResult(_0x4691f3,0xc9))[_0x1827('0x1b')](handleError(_0x4691f3,null));};exports[_0x1827('0x5f')]=function(_0x4bbaa4,_0x5f06d9){var _0x356480={'agent':{},'channel':_0x1827('0x60')};if(_0x4bbaa4[_0x1827('0x43')]['id']){delete _0x4bbaa4['body']['id'];}_0x4bbaa4['body'][_0x1827('0x61')]=!![];_0x4bbaa4[_0x1827('0x43')][_0x1827('0x62')]=moment()[_0x1827('0x5d')](_0x1827('0x5e'));_0x4bbaa4['body'][_0x1827('0x63')]=_0x4bbaa4[_0x1827('0x43')]['UserId']||_0x4bbaa4[_0x1827('0x64')]['id'];_0x356480[_0x1827('0x65')]['id']=_0x4bbaa4[_0x1827('0x43')][_0x1827('0x63')];return db[_0x1827('0x2b')]['find']({'where':{'id':_0x4bbaa4[_0x1827('0x3d')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x5f06d9,null))[_0x1827('0x12')](saveUpdates(_0x4bbaa4[_0x1827('0x43')],null))[_0x1827('0x12')](function(_0x681061){if(_0x681061){_0x356480[_0x1827('0x19')]=_0x681061[_0x1827('0x66')]({'plain':!![]});return db[_0x1827('0x67')][_0x1827('0x42')]({'where':{'id':_0x681061[_0x1827('0x68')]}});}return null;})[_0x1827('0x12')](handleEntityNotFound(_0x5f06d9,null))[_0x1827('0x12')](function(_0xa3eabb){if(_0xa3eabb){return _0xa3eabb[_0x1827('0x24')]({'UserId':_0x4bbaa4['body'][_0x1827('0x63')],'read1stAt':_[_0x1827('0x69')](_0xa3eabb['read1stAt'])?moment()[_0x1827('0x5d')](_0x1827('0x5e')):undefined});}return null;})[_0x1827('0x12')](function(_0xaf8d77){if(_0xaf8d77){_0x356480[_0x1827('0x6a')]=_0xaf8d77[_0x1827('0x66')]({'plain':!![]});interaction_log['info']('[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x4bbaa4['user']['id'],_0x4bbaa4[_0x1827('0x64')][_0x1827('0x27')],_0x4bbaa4[_0x1827('0x64')]['role'],_0x356480['interaction']['id'],_0x4bbaa4['body']?JSON['stringify'](_0x4bbaa4[_0x1827('0x43')]):_0x1827('0x6b'));return respondWithRpcPromise('AcceptMessage',_0x1827('0x6c'),_0x356480);}return null;})[_0x1827('0x12')](function(_0x397753){var _0x216c42=_0x1827('0x6d')+_0x397753[_0x1827('0x19')][_0x1827('0x6e')];return db[_0x1827('0x6f')][_0x1827('0x2f')](_0x216c42,{'type':db[_0x1827('0x70')]['QueryTypes'][_0x1827('0x71')],'raw':!![]})[_0x1827('0x12')](function(_0x2dd00d){return _0x2dd00d;});})[_0x1827('0x12')](function(_0x52fe29){if(_0x52fe29){_0x356480['message']['contact']=_0x52fe29[0x0];if(!_0x4bbaa4[_0x1827('0x43')]['UserId'])return;return db[_0x1827('0x72')]['find']({'where':{'id':_0x4bbaa4['body']['UserId'],'role':_0x1827('0x65')},'attributes':['id',_0x1827('0x27'),'fullname',_0x1827('0x73'),_0x1827('0x74')],'raw':!![]});}return null;})['then'](function(_0xea237a){if(!_0xea237a)return null;_0x356480[_0x1827('0x19')][_0x1827('0x65')]=_0xea237a;return _0x356480;})[_0x1827('0x12')](function(_0x1a0604){if(_0x1a0604){if(_0x4bbaa4['body'][_0x1827('0x75')]){_0x356480[_0x1827('0x19')]['interface']=util[_0x1827('0x5d')](_0x1827('0x76'),_0x4bbaa4['user'][_0x1827('0x27')]);_0x356480[_0x1827('0x19')][_0x1827('0x77')]=_0x356480[_0x1827('0x77')];_0x356480[_0x1827('0x19')][_0x1827('0x78')]=_0x356480[_0x1827('0x77')];_0x356480[_0x1827('0x19')][_0x1827('0x79')]=_0x1827('0x5f');_0x356480[_0x1827('0x19')][_0x1827('0x43')]=htmlToText[_0x1827('0x7a')](_0x356480[_0x1827('0x19')][_0x1827('0x43')]);return respondWithRpcPromise('EventManager',_0x1827('0x7b'),{'event':_0x1827('0x7c'),'message':_0x356480[_0x1827('0x19')]},client9002)[_0x1827('0x12')](function(){return _0x356480;});}return _0x356480;}return null;})[_0x1827('0x12')](respondWithResult(_0x5f06d9,null))[_0x1827('0x1b')](handleError(_0x5f06d9,null));};exports[_0x1827('0x7d')]=function(_0x5952db,_0x3f90a6){var _0x28395f={'agent':{},'channel':'mail'};if(_0x5952db['body']['id']){delete _0x5952db[_0x1827('0x43')]['id'];}_0x5952db[_0x1827('0x43')][_0x1827('0x63')]=_0x5952db[_0x1827('0x43')][_0x1827('0x63')]||_0x5952db[_0x1827('0x64')]['id'];_0x28395f[_0x1827('0x65')]['id']=_0x5952db['body']['UserId'];return db['MailMessage']['find']({'where':{'id':_0x5952db[_0x1827('0x3d')]['id'],'UserId':null}})[_0x1827('0x12')](handleEntityNotFound(_0x3f90a6,null))[_0x1827('0x12')](function(_0x3697a1){if(_0x3697a1){_0x28395f[_0x1827('0x19')]=_0x3697a1[_0x1827('0x66')]({'plain':!![]});return db[_0x1827('0x67')][_0x1827('0x42')]({'where':{'id':_0x3697a1[_0x1827('0x68')]}});}return null;})['then'](handleEntityNotFound(_0x3f90a6,null))[_0x1827('0x12')](function(_0x587032){if(_0x587032){_0x28395f[_0x1827('0x6a')]=_0x587032[_0x1827('0x66')]({'plain':!![]});interaction_log['info'](_0x1827('0x7e'),_0x5952db[_0x1827('0x64')]['id'],_0x5952db[_0x1827('0x64')][_0x1827('0x27')],_0x5952db['user'][_0x1827('0x7f')],_0x28395f[_0x1827('0x6a')]['id'],_0x5952db[_0x1827('0x43')]?JSON['stringify'](_0x5952db[_0x1827('0x43')]):'null');return respondWithRpcPromise(_0x1827('0x80'),_0x1827('0x81'),_0x28395f);}return null;})[_0x1827('0x12')](function(_0x4c2309){var _0xcf06c=_0x1827('0x6d')+_0x4c2309[_0x1827('0x19')][_0x1827('0x6e')];return db[_0x1827('0x6f')][_0x1827('0x2f')](_0xcf06c,{'type':db['Sequelize'][_0x1827('0x82')][_0x1827('0x71')],'raw':!![]})['then'](function(_0x4ba8a6){return _0x4ba8a6;});})[_0x1827('0x12')](function(_0x332f19){if(_0x332f19){_0x28395f['message'][_0x1827('0x83')]=_0x332f19[0x0];if(!_0x5952db[_0x1827('0x43')][_0x1827('0x63')])return;return db[_0x1827('0x72')][_0x1827('0x42')]({'where':{'id':_0x5952db[_0x1827('0x43')][_0x1827('0x63')],'role':_0x1827('0x65')},'attributes':['id',_0x1827('0x27'),_0x1827('0x84'),'email',_0x1827('0x74')],'raw':!![]});}return null;})[_0x1827('0x12')](function(_0x2fae52){if(!_0x2fae52)return null;_0x28395f['message'][_0x1827('0x65')]=_0x2fae52;return _0x28395f;})[_0x1827('0x12')](function(_0x1cdcbc){if(_0x1cdcbc){_0x1cdcbc[_0x1827('0x19')][_0x1827('0x85')]=util[_0x1827('0x5d')](_0x1827('0x76'),_0x5952db[_0x1827('0x64')]['name']);_0x1cdcbc[_0x1827('0x19')][_0x1827('0x77')]=_0x28395f[_0x1827('0x77')];_0x1cdcbc[_0x1827('0x19')][_0x1827('0x78')]=_0x28395f[_0x1827('0x77')];_0x1cdcbc[_0x1827('0x19')]['event']=_0x1827('0x7d');_0x1cdcbc[_0x1827('0x19')][_0x1827('0x43')]=htmlToText[_0x1827('0x7a')](_0x28395f['message'][_0x1827('0x43')]);respondWithRpcPromise(_0x1827('0x7b'),_0x1827('0x7b'),{'event':'rejectmessage','message':_0x1cdcbc[_0x1827('0x19')]},client9002);return _0x28395f;}return null;})[_0x1827('0x12')](respondWithResult(_0x3f90a6,null))[_0x1827('0x1b')](handleError(_0x3f90a6,null));};exports[_0x1827('0x86')]=function(_0x1cf97f,_0x464b33){var _0x5bf51b=moment()[_0x1827('0x87')]()[_0x1827('0x88')]();var _0x46e8b3=path['join'](config['root'],_0x1827('0x89'),_0x1827('0x8a'),_0x1827('0x8b'));var _0x57499a=path['join'](config[_0x1827('0x57')],'server',_0x1827('0x8a'),'attachments');var _0x46d22b=util['format']('message-%s.eml',_0x5bf51b);return db[_0x1827('0x2b')][_0x1827('0x42')]({'where':{'id':_0x1cf97f[_0x1827('0x3d')]['id']},'attributes':['id',_0x1827('0x43'),_0x1827('0x8c'),'to','cc',_0x1827('0x8d'),_0x1827('0x8e'),_0x1827('0x8f')],'include':_0x1cf97f['query'][_0x1827('0x55')]?[{'model':db[_0x1827('0x90')],'as':_0x1827('0x91')}]:undefined})[_0x1827('0x12')](handleEntityNotFound(_0x464b33,null))['then'](function(_0x4b53b4){if(_0x4b53b4){var _0x2b13a0=_0x4b53b4;var _0x844726={'from':_0x2b13a0[_0x1827('0x8c')],'to':_0x2b13a0['to'],'subject':_0x2b13a0[_0x1827('0x8e')],'html':htmlEntities[_0x1827('0x92')](_0x2b13a0[_0x1827('0x43')]),'headers':{'Date':moment(_0x2b13a0[_0x1827('0x8f')])[_0x1827('0x5d')](_0x1827('0x93'))},'attachments':[]};if(_0x4b53b4['cc']){_0x844726[_0x1827('0x94')]['Cc']=_0x4b53b4['cc'];}if(_0x4b53b4['bcc']){_0x844726[_0x1827('0x94')]['Bcc']=_0x4b53b4[_0x1827('0x8d')];}return new BPromise(function(_0x5735b5,_0x1c400d){if(_0x4b53b4['Attachments']){for(var _0x1ab2be=0x0;_0x1ab2be<_0x4b53b4[_0x1827('0x91')][_0x1827('0x34')];_0x1ab2be++){var _0x5aeaa4=_0x4b53b4['Attachments'][_0x1ab2be];var _0xa37761=path['join'](_0x57499a,_0x5aeaa4[_0x1827('0x59')]);if(fs[_0x1827('0x95')](_0xa37761)){_0x844726['attachments'][_0x1827('0x96')]({'name':_0x5aeaa4[_0x1827('0x27')],'contentType':_0x5aeaa4[_0x1827('0x2d')],'data':fs[_0x1827('0x97')](_0xa37761)});}}}emlformat['build'](_0x844726,function(_0x3214d3,_0x250f4d){if(_0x3214d3)return _0x1c400d(_0x3214d3);fs[_0x1827('0x98')](path[_0x1827('0x56')](_0x46e8b3,_0x46d22b),_0x250f4d);return _0x5735b5(_0x250f4d);});});}})[_0x1827('0x12')](function(_0x3bac0c){if(_0x3bac0c){return _0x464b33[_0x1827('0x86')](path[_0x1827('0x56')](_0x46e8b3,_0x46d22b),_0x46d22b,function(_0x16b4ea){if(!_0x16b4ea)fs[_0x1827('0x99')](path[_0x1827('0x56')](_0x46e8b3,_0x46d22b));});}})[_0x1827('0x1b')](handleError(_0x464b33,null));};