Built motion from commit (unavailable).|2.5.8
[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 _0xc670=['util','path','lodash','crypto','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','register','jayson/promise','client','http','request','info','request\x20sent','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','MailMessage,\x20%s,\x20%s','message','result','catch','status','offset','set','Content-Range','json','reject','save','update','then','destroy','end','sendStatus','stack','name','send','map','MailMessage','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','fields','length','hasOwnProperty','limit','sort','where','filter','merge','options','count','findAll','rows','show','intersection','includeAll','find','body','params','describe','create','direction','secret','split','MailAccount','MailAccountId','updatedAt','DESC','MailServerOut','Smtp','service','host','port','secure','authentication','auth','user','pass','attachments','root','server/files/attachments','List','Contacts','List\x20not\x20found','SendMail','sendMail','messageId','format','accept','mail','read','YYYY-MM-DD\x20HH:mm:ss','UserId','CmContact','Contact','get','MailInteraction','MailInteractionId','read1stAt','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','AcceptMessage','acceptMessage','interface','SIP/%s','channel','event','EventManager','acceptmessage','mail-interactions','agent','RejectMessage','unix','toString','join','server','files','tmp','bcc','Attachment','subject','createdAt','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','Attachments','basename','existsSync','push','readFileSync','build','download','log','err','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache'];(function(_0x5ea2d0,_0x1a3bb9){var _0x570561=function(_0x22484d){while(--_0x22484d){_0x5ea2d0['push'](_0x5ea2d0['shift']());}};_0x570561(++_0x1a3bb9);}(_0xc670,0x9c));var _0x0c67=function(_0xe0f906,_0x245cf8){_0xe0f906=_0xe0f906-0x0;var _0x77e102=_0xc670[_0xe0f906];return _0x77e102;};'use strict';var pdf=require(_0x0c67('0x0'));var emlformat=require(_0x0c67('0x1'));var rimraf=require(_0x0c67('0x2'));var zipdir=require(_0x0c67('0x3'));var jsonpatch=require(_0x0c67('0x4'));var rp=require(_0x0c67('0x5'));var moment=require(_0x0c67('0x6'));var BPromise=require(_0x0c67('0x7'));var Mustache=require(_0x0c67('0x8'));var util=require(_0x0c67('0x9'));var path=require(_0x0c67('0xa'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x0c67('0xb'));var squel=require('squel');var crypto=require(_0x0c67('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x0c67('0xd'));var querystring=require(_0x0c67('0xe'));var Papa=require(_0x0c67('0xf'));var Redis=require(_0x0c67('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x0c67('0x11'));var as=require(_0x0c67('0x12'));var hardwareService=require(_0x0c67('0x13'));var logger=require(_0x0c67('0x14'))(_0x0c67('0x15'));var utils=require(_0x0c67('0x16'));var config=require(_0x0c67('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x0c67('0x18'))['db'];config[_0x0c67('0x19')]=_[_0x0c67('0x1a')](config[_0x0c67('0x19')],{'host':_0x0c67('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x0c67('0x19')]));require('./mailMessage.socket')[_0x0c67('0x1c')](socket);var jayson=require(_0x0c67('0x1d'));var client=jayson[_0x0c67('0x1e')][_0x0c67('0x1f')]({'port':0x232c});var client9003=jayson[_0x0c67('0x1e')][_0x0c67('0x1f')]({'port':0x232b});var client9002=jayson['client'][_0x0c67('0x1f')]({'port':0x232a});function respondWithRpcPromise(_0x17bb95,_0x4118d7,_0x2f4a3e,_0x5253d8){return new BPromise(function(_0x530e83,_0xa42d80){var _0x686358=_0x5253d8||client;return _0x686358[_0x0c67('0x20')](_0x17bb95,_0x2f4a3e)['then'](function(_0x15b4d9){logger[_0x0c67('0x21')]('MailMessage,\x20%s,\x20%s',_0x4118d7,_0x0c67('0x22'));logger['debug'](_0x0c67('0x23'),_0x4118d7,_0x0c67('0x22'),JSON[_0x0c67('0x24')](_0x15b4d9));if(_0x15b4d9['error']){if(_0x15b4d9[_0x0c67('0x25')][_0x0c67('0x26')]===0x1f4){logger[_0x0c67('0x25')](_0x0c67('0x27'),_0x4118d7,_0x15b4d9[_0x0c67('0x25')][_0x0c67('0x28')]);return _0xa42d80(_0x15b4d9['error'][_0x0c67('0x28')]);}logger['error'](_0x0c67('0x27'),_0x4118d7,_0x15b4d9[_0x0c67('0x25')][_0x0c67('0x28')]);return _0x530e83(_0x15b4d9[_0x0c67('0x25')][_0x0c67('0x28')]);}else{logger[_0x0c67('0x21')](_0x0c67('0x27'),_0x4118d7,'request\x20sent');_0x530e83(_0x15b4d9[_0x0c67('0x29')][_0x0c67('0x28')]);}})[_0x0c67('0x2a')](function(_0x2ce460){logger[_0x0c67('0x25')](_0x0c67('0x27'),_0x4118d7,_0x2ce460);_0xa42d80(_0x2ce460);});});}function respondWithStatusCode(_0x18bc4d,_0x40eb78){_0x40eb78=_0x40eb78||0xcc;return function(_0x45118a){if(_0x45118a){return _0x18bc4d['sendStatus'](_0x40eb78);}return _0x18bc4d[_0x0c67('0x2b')](_0x40eb78)['end']();};}function respondWithResult(_0x3c5920,_0x20b604){_0x20b604=_0x20b604||0xc8;return function(_0x57c0d6){if(_0x57c0d6){return _0x3c5920[_0x0c67('0x2b')](_0x20b604)['json'](_0x57c0d6);}};}function respondWithFilteredResult(_0x294cb1,_0x4b5a07){return function(_0x22ad0){if(_0x22ad0){var _0x51b1dd=_0x22ad0['count'],_0x55b21c=_0x4b5a07['offset'],_0x15788a=_0x4b5a07[_0x0c67('0x2c')]+_0x4b5a07['limit'],_0x3f1fc3;if(_0x15788a>=_0x51b1dd){_0x15788a=_0x51b1dd;_0x3f1fc3=0xc8;}else{_0x3f1fc3=0xce;}_0x294cb1[_0x0c67('0x2b')](_0x3f1fc3);return _0x294cb1[_0x0c67('0x2d')](_0x0c67('0x2e'),_0x55b21c+'-'+_0x15788a+'/'+_0x51b1dd)[_0x0c67('0x2f')](_0x22ad0);}return null;};}function patchUpdates(_0x2b0e2a){return function(_0x4a84e9){try{jsonpatch['apply'](_0x4a84e9,_0x2b0e2a,!![]);}catch(_0x1c6f28){return BPromise[_0x0c67('0x30')](_0x1c6f28);}return _0x4a84e9[_0x0c67('0x31')]();};}function saveUpdates(_0x7c0b82,_0x3d7dc4){return function(_0x265241){if(_0x265241){return _0x265241[_0x0c67('0x32')](_0x7c0b82)[_0x0c67('0x33')](function(_0x3ab66b){return _0x3ab66b;});}return null;};}function removeEntity(_0x483094,_0xa213be){return function(_0x32f5bb){if(_0x32f5bb){return _0x32f5bb[_0x0c67('0x34')]()[_0x0c67('0x33')](function(){_0x483094[_0x0c67('0x2b')](0xcc)[_0x0c67('0x35')]();});}};}function handleEntityNotFound(_0x29bcd4,_0x4f3473){return function(_0x241f0a){if(!_0x241f0a){_0x29bcd4[_0x0c67('0x36')](0x194);}return _0x241f0a;};}function handleError(_0x2b9f5a,_0x240f0e){_0x240f0e=_0x240f0e||0x1f4;return function(_0x18adc8){logger['error'](_0x18adc8[_0x0c67('0x37')]);if(_0x18adc8[_0x0c67('0x38')]){delete _0x18adc8[_0x0c67('0x38')];}_0x2b9f5a[_0x0c67('0x2b')](_0x240f0e)[_0x0c67('0x39')](_0x18adc8);};}exports['index']=function(_0x1afeb7,_0x8601e2){var _0x6e7e59={},_0x3d450c={},_0xd8950b={'count':0x0,'rows':[]};var _0x41e93b=_[_0x0c67('0x3a')](db[_0x0c67('0x3b')][_0x0c67('0x3c')],function(_0x9b7b15){return{'name':_0x9b7b15[_0x0c67('0x3d')],'type':_0x9b7b15[_0x0c67('0x3e')][_0x0c67('0x3f')]};});_0x3d450c[_0x0c67('0x40')]=_[_0x0c67('0x3a')](_0x41e93b,_0x0c67('0x38'));_0x3d450c[_0x0c67('0x41')]=_[_0x0c67('0x42')](_0x1afeb7[_0x0c67('0x41')]);_0x3d450c[_0x0c67('0x43')]=_['intersection'](_0x3d450c['model'],_0x3d450c[_0x0c67('0x41')]);_0x6e7e59[_0x0c67('0x44')]=_['intersection'](_0x3d450c['model'],qs[_0x0c67('0x45')](_0x1afeb7[_0x0c67('0x41')][_0x0c67('0x45')]));_0x6e7e59[_0x0c67('0x44')]=_0x6e7e59['attributes'][_0x0c67('0x46')]?_0x6e7e59[_0x0c67('0x44')]:_0x3d450c[_0x0c67('0x40')];if(!_0x1afeb7['query'][_0x0c67('0x47')]('nolimit')){_0x6e7e59[_0x0c67('0x48')]=qs[_0x0c67('0x48')](_0x1afeb7[_0x0c67('0x41')][_0x0c67('0x48')]);_0x6e7e59[_0x0c67('0x2c')]=qs[_0x0c67('0x2c')](_0x1afeb7['query']['offset']);}_0x6e7e59['order']=qs[_0x0c67('0x49')](_0x1afeb7[_0x0c67('0x41')][_0x0c67('0x49')]);_0x6e7e59[_0x0c67('0x4a')]=qs['filters'](_['pick'](_0x1afeb7['query'],_0x3d450c[_0x0c67('0x43')]),_0x41e93b);if(_0x1afeb7['query'][_0x0c67('0x4b')]){_0x6e7e59['where']=_[_0x0c67('0x4c')](_0x6e7e59[_0x0c67('0x4a')],{'$or':_[_0x0c67('0x3a')](_0x41e93b,function(_0x358641){if(_0x358641['type']!=='VIRTUAL'){var _0x2fd4c3={};_0x2fd4c3[_0x358641[_0x0c67('0x38')]]={'$like':'%'+_0x1afeb7[_0x0c67('0x41')][_0x0c67('0x4b')]+'%'};return _0x2fd4c3;}})});}_0x6e7e59=_[_0x0c67('0x4c')]({},_0x6e7e59,_0x1afeb7[_0x0c67('0x4d')]);var _0x12ae19={'where':_0x6e7e59['where']};return db[_0x0c67('0x3b')][_0x0c67('0x4e')](_0x12ae19)[_0x0c67('0x33')](function(_0x8933e6){_0xd8950b[_0x0c67('0x4e')]=_0x8933e6;if(_0x1afeb7[_0x0c67('0x41')]['includeAll']){_0x6e7e59['include']=[{'all':!![]}];}return db['MailMessage'][_0x0c67('0x4f')](_0x6e7e59);})[_0x0c67('0x33')](function(_0x441a9e){_0xd8950b[_0x0c67('0x50')]=_0x441a9e;return _0xd8950b;})[_0x0c67('0x33')](respondWithFilteredResult(_0x8601e2,_0x6e7e59))[_0x0c67('0x2a')](handleError(_0x8601e2,null));};exports[_0x0c67('0x51')]=function(_0x2c9ece,_0x4ea91c){var _0x4a7b5c={'raw':!![],'where':{'id':_0x2c9ece['params']['id']}},_0x42d464={};_0x42d464['model']=_[_0x0c67('0x42')](db[_0x0c67('0x3b')][_0x0c67('0x3c')]);_0x42d464['query']=_[_0x0c67('0x42')](_0x2c9ece[_0x0c67('0x41')]);_0x42d464[_0x0c67('0x43')]=_['intersection'](_0x42d464[_0x0c67('0x40')],_0x42d464['query']);_0x4a7b5c[_0x0c67('0x44')]=_[_0x0c67('0x52')](_0x42d464[_0x0c67('0x40')],qs[_0x0c67('0x45')](_0x2c9ece[_0x0c67('0x41')][_0x0c67('0x45')]));_0x4a7b5c[_0x0c67('0x44')]=_0x4a7b5c[_0x0c67('0x44')][_0x0c67('0x46')]?_0x4a7b5c[_0x0c67('0x44')]:_0x42d464[_0x0c67('0x40')];if(_0x2c9ece[_0x0c67('0x41')][_0x0c67('0x53')]){_0x4a7b5c['include']=[{'all':!![]}];}_0x4a7b5c=_['merge']({},_0x4a7b5c,_0x2c9ece['options']);return db[_0x0c67('0x3b')][_0x0c67('0x54')](_0x4a7b5c)[_0x0c67('0x33')](handleEntityNotFound(_0x4ea91c,null))[_0x0c67('0x33')](respondWithResult(_0x4ea91c,null))[_0x0c67('0x2a')](handleError(_0x4ea91c,null));};exports[_0x0c67('0x32')]=function(_0x29ae61,_0x5d285d){if(_0x29ae61['body']['id']){delete _0x29ae61[_0x0c67('0x55')]['id'];}return db[_0x0c67('0x3b')][_0x0c67('0x54')]({'where':{'id':_0x29ae61[_0x0c67('0x56')]['id']}})[_0x0c67('0x33')](handleEntityNotFound(_0x5d285d,null))[_0x0c67('0x33')](saveUpdates(_0x29ae61[_0x0c67('0x55')],null))['then'](respondWithResult(_0x5d285d,null))[_0x0c67('0x2a')](handleError(_0x5d285d,null));};exports['destroy']=function(_0x5cfd32,_0xfbcc71){return db[_0x0c67('0x3b')][_0x0c67('0x54')]({'where':{'id':_0x5cfd32[_0x0c67('0x56')]['id']}})[_0x0c67('0x33')](handleEntityNotFound(_0xfbcc71,null))[_0x0c67('0x33')](removeEntity(_0xfbcc71,null))['catch'](handleError(_0xfbcc71,null));};exports['describe']=function(_0x53fc48,_0x32463d){return db[_0x0c67('0x3b')][_0x0c67('0x57')]()[_0x0c67('0x33')](respondWithResult(_0x32463d,null))['catch'](handleError(_0x32463d,null));};exports['create']=function(_0xfd3fea,_0x6b4019){return db[_0x0c67('0x3b')][_0x0c67('0x58')](_0xfd3fea[_0x0c67('0x55')])[_0x0c67('0x33')](function(_0x2579f6){if(_0x2579f6){if(_0x2579f6[_0x0c67('0x59')]==='out'&&!_0x2579f6[_0x0c67('0x5a')]){var _0x48ed58,_0x83d65e,_0x35a25c;if(_0xfd3fea[_0x0c67('0x55')]['to']){_0x83d65e=_0xfd3fea[_0x0c67('0x55')]['to'][_0x0c67('0x5b')](',')[0x0];}return db[_0x0c67('0x5c')]['findOne']({'where':{'id':_0x2579f6[_0x0c67('0x5d')]},'include':[{'model':db['CmList'],'as':'List','include':[{'model':db['CmContact'],'as':'Contacts','where':{'email':_0x83d65e},'limit':0x1,'order':[[_0x0c67('0x5e'),_0x0c67('0x5f')]]}]},{'model':db[_0x0c67('0x60')],'as':_0x0c67('0x61'),'raw':!![]}]})[_0x0c67('0x33')](function(_0x1eb83a){_0x48ed58=_0x1eb83a;if(_0x48ed58&&_0x48ed58['Smtp']){var _0x3f546d={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x48ed58['Smtp'][_0x0c67('0x62')])){_0x3f546d[_0x0c67('0x63')]=_0x48ed58[_0x0c67('0x61')][_0x0c67('0x63')];_0x3f546d[_0x0c67('0x64')]=_0x48ed58[_0x0c67('0x61')][_0x0c67('0x64')];_0x3f546d['secure']=_0x48ed58['Smtp'][_0x0c67('0x65')];if(_0x48ed58[_0x0c67('0x61')][_0x0c67('0x66')]){_0x3f546d[_0x0c67('0x67')]={'user':_0x48ed58[_0x0c67('0x61')][_0x0c67('0x68')],'pass':_0x48ed58[_0x0c67('0x61')][_0x0c67('0x69')]};}}else{_0x3f546d[_0x0c67('0x62')]=_0x48ed58[_0x0c67('0x61')][_0x0c67('0x62')];_0x3f546d[_0x0c67('0x67')]={'user':_0x48ed58[_0x0c67('0x61')]['user'],'pass':_0x48ed58['Smtp'][_0x0c67('0x69')]};_0x3f546d[_0x0c67('0x65')]=_0x48ed58['Smtp']['secure'];}if(_0xfd3fea['body'][_0x0c67('0x6a')]&&_0xfd3fea[_0x0c67('0x55')][_0x0c67('0x6a')]['length']){for(var _0x2e2388=0x0;_0x2e2388<_0xfd3fea[_0x0c67('0x55')]['attachments'][_0x0c67('0x46')];_0x2e2388+=0x1){_0xfd3fea[_0x0c67('0x55')]['attachments'][_0x2e2388]={'filename':_0xfd3fea[_0x0c67('0x55')]['attachments'][_0x2e2388][_0x0c67('0x38')],'path':path['join'](config[_0x0c67('0x6b')],_0x0c67('0x6c'),_0xfd3fea[_0x0c67('0x55')][_0x0c67('0x6a')][_0x2e2388]['basename'])};}}_0x35a25c={'account':_0x3f546d,'message':_0xfd3fea[_0x0c67('0x55')]};return;}})['then'](function(){if(_0x48ed58[_0x0c67('0x6d')]){if(_0x48ed58[_0x0c67('0x6d')][_0x0c67('0x6e')][_0x0c67('0x46')]){return _0x48ed58[_0x0c67('0x6d')][_0x0c67('0x6e')][0x0];}else{return db['CmContact'][_0x0c67('0x58')](_[_0x0c67('0x1a')](_0xfd3fea[_0x0c67('0x55')],{'firstName':_0xfd3fea[_0x0c67('0x55')]['to'],'email':_0xfd3fea[_0x0c67('0x55')]['to'],'phone':_0xfd3fea['body']['to'],'ListId':_0x48ed58['ListId']}));}}else{throw new Error(_0x0c67('0x6f'));}})[_0x0c67('0x33')](function(){if(_0x35a25c){return respondWithRpcPromise(_0x0c67('0x70'),_0x0c67('0x71'),_0x35a25c,client9003)[_0x0c67('0x33')](function(_0x4b55bf){return _0x2579f6[_0x0c67('0x32')]({'read':!![],'messageId':_0x4b55bf[_0x0c67('0x72')],'sentAt':moment()[_0x0c67('0x73')]('YYYY-MM-DD\x20HH:mm:ss')});})[_0x0c67('0x2a')](function(_0x1d207f){logger['error']('%s',JSON['stringify'](_0x1d207f));return _0x2579f6;});}return _0x2579f6;});}return _0x2579f6;}})[_0x0c67('0x33')](respondWithResult(_0x6b4019,0xc9))[_0x0c67('0x2a')](handleError(_0x6b4019,null));};var interaction_log=require(_0x0c67('0x14'))('mail-interactions');exports[_0x0c67('0x74')]=function(_0xaebfc,_0x4848af,_0x1a42ec){var _0x908a3d={'channel':_0x0c67('0x75')};if(_0xaebfc[_0x0c67('0x55')]['id']){delete _0xaebfc['body']['id'];}_0xaebfc[_0x0c67('0x55')][_0x0c67('0x76')]=!![];_0xaebfc['body']['readAt']=moment()[_0x0c67('0x73')](_0x0c67('0x77'));_0xaebfc['body'][_0x0c67('0x78')]=_0xaebfc['body'][_0x0c67('0x78')]||_0xaebfc[_0x0c67('0x68')]['id'];return db[_0x0c67('0x3b')]['find']({'where':{'id':_0xaebfc[_0x0c67('0x56')]['id'],'UserId':null},'include':[{'model':db[_0x0c67('0x79')],'as':_0x0c67('0x7a')}]})[_0x0c67('0x33')](handleEntityNotFound(_0x4848af,null))['then'](saveUpdates(_0xaebfc[_0x0c67('0x55')],null))[_0x0c67('0x33')](function(_0xe6466d){if(_0xe6466d){_0x908a3d[_0x0c67('0x28')]=_0xe6466d[_0x0c67('0x7b')]({'plain':!![]});return db[_0x0c67('0x7c')]['find']({'where':{'id':_0xe6466d[_0x0c67('0x7d')]}});}return null;})[_0x0c67('0x33')](handleEntityNotFound(_0x4848af,null))['then'](function(_0x1be771){if(_0x1be771){return _0x1be771[_0x0c67('0x32')]({'UserId':_0xaebfc[_0x0c67('0x55')]['UserId'],'read1stAt':_['isNil'](_0x1be771[_0x0c67('0x7e')])?moment()[_0x0c67('0x73')](_0x0c67('0x77')):undefined});}return null;})['then'](function(_0x143392){if(_0x143392){_0x908a3d[_0x0c67('0x7f')]=_0x143392['get']({'plain':!![]});interaction_log['info'](_0x0c67('0x80'),_0xaebfc['user']['id'],_0xaebfc[_0x0c67('0x68')][_0x0c67('0x38')],_0xaebfc[_0x0c67('0x68')][_0x0c67('0x81')],_0x908a3d[_0x0c67('0x7f')]['id'],_0xaebfc['body']?JSON[_0x0c67('0x24')](_0xaebfc[_0x0c67('0x55')]):_0x0c67('0x82'));return respondWithRpcPromise(_0x0c67('0x83'),_0x0c67('0x84'),_0x908a3d);}return null;})[_0x0c67('0x33')](function(_0x28cb0c){if(_0x28cb0c){if(_0xaebfc['body']['manual']){_0x908a3d[_0x0c67('0x28')][_0x0c67('0x85')]=util['format'](_0x0c67('0x86'),_0xaebfc['user']['name']);_0x908a3d[_0x0c67('0x28')]['channel']=_0x908a3d[_0x0c67('0x87')];_0x908a3d[_0x0c67('0x28')][_0x0c67('0x88')]=_0x0c67('0x74');return respondWithRpcPromise(_0x0c67('0x89'),'EventManager',{'event':_0x0c67('0x8a'),'message':_0x908a3d[_0x0c67('0x28')]},client9002)[_0x0c67('0x33')](function(){return _0x908a3d;});}return _0x908a3d;}return null;})[_0x0c67('0x33')](respondWithResult(_0x4848af,null))['catch'](handleError(_0x4848af,null));};var interaction_log=require(_0x0c67('0x14'))(_0x0c67('0x8b'));exports[_0x0c67('0x30')]=function(_0x4d4efb,_0x14698f,_0x302656){var _0x1de340={'agent':{},'channel':_0x0c67('0x75')};if(_0x4d4efb[_0x0c67('0x55')]['id']){delete _0x4d4efb[_0x0c67('0x55')]['id'];}_0x4d4efb[_0x0c67('0x55')][_0x0c67('0x78')]=_0x4d4efb[_0x0c67('0x55')]['UserId']||_0x4d4efb['user']['id'];_0x1de340[_0x0c67('0x8c')]['id']=_0x4d4efb[_0x0c67('0x55')][_0x0c67('0x78')];return db[_0x0c67('0x3b')][_0x0c67('0x54')]({'where':{'id':_0x4d4efb['params']['id'],'UserId':null}})['then'](handleEntityNotFound(_0x14698f,null))['then'](function(_0x3d3586){if(_0x3d3586){_0x1de340[_0x0c67('0x28')]=_0x3d3586[_0x0c67('0x7b')]({'plain':!![]});return db['MailInteraction']['find']({'where':{'id':_0x3d3586[_0x0c67('0x7d')]}});}return null;})['then'](handleEntityNotFound(_0x14698f,null))[_0x0c67('0x33')](function(_0x292dd0){if(_0x292dd0){_0x1de340['interaction']=_0x292dd0[_0x0c67('0x7b')]({'plain':!![]});interaction_log[_0x0c67('0x21')]('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x4d4efb[_0x0c67('0x68')]['id'],_0x4d4efb['user'][_0x0c67('0x38')],_0x4d4efb[_0x0c67('0x68')][_0x0c67('0x81')],_0x1de340[_0x0c67('0x7f')]['id'],_0x4d4efb[_0x0c67('0x55')]?JSON[_0x0c67('0x24')](_0x4d4efb[_0x0c67('0x55')]):_0x0c67('0x82'));return respondWithRpcPromise(_0x0c67('0x8d'),'rejectMessage',_0x1de340);}return null;})[_0x0c67('0x33')](function(_0x4a3bca){if(_0x4a3bca){_0x4a3bca[_0x0c67('0x28')]['interface']=util['format'](_0x0c67('0x86'),_0x4d4efb[_0x0c67('0x68')][_0x0c67('0x38')]);_0x4a3bca[_0x0c67('0x28')]['channel']=_0x1de340[_0x0c67('0x87')];_0x4a3bca[_0x0c67('0x28')][_0x0c67('0x88')]='reject';respondWithRpcPromise(_0x0c67('0x89'),_0x0c67('0x89'),{'event':'rejectmessage','message':_0x4a3bca['message']},client9002);return _0x1de340;}return null;})['then'](respondWithResult(_0x14698f,null))[_0x0c67('0x2a')](handleError(_0x14698f,null));};exports['download']=function(_0xa280b3,_0x2388c9){var _0x277201=moment()[_0x0c67('0x8e')]()[_0x0c67('0x8f')]();var _0x51e35d=path[_0x0c67('0x90')](config[_0x0c67('0x6b')],_0x0c67('0x91'),_0x0c67('0x92'),_0x0c67('0x93'));var _0xbbaeb0=path['join'](config[_0x0c67('0x6b')],'server','files',_0x0c67('0x6a'));var _0x439519=util[_0x0c67('0x73')]('message-%s.eml',_0x277201);return db['MailMessage'][_0x0c67('0x54')]({'where':{'id':_0xa280b3[_0x0c67('0x56')]['id']},'attributes':['id','body','from','to','cc',_0x0c67('0x94'),'subject','createdAt'],'include':_0xa280b3['query'][_0x0c67('0x6a')]?[{'model':db[_0x0c67('0x95')],'as':'Attachments'}]:undefined})[_0x0c67('0x33')](handleEntityNotFound(_0x2388c9,null))[_0x0c67('0x33')](function(_0x3f5d8c){if(_0x3f5d8c){var _0x320b38=_0x3f5d8c;var _0x5770f3={'from':_0x320b38['from'],'to':_0x320b38['to'],'subject':_0x320b38[_0x0c67('0x96')],'html':_0x320b38['body'],'headers':{'Date':moment(_0x320b38[_0x0c67('0x97')])[_0x0c67('0x73')](_0x0c67('0x98'))},'attachments':[]};if(_0x3f5d8c['cc']){_0x5770f3[_0x0c67('0x99')]['Cc']=_0x3f5d8c['cc'];}if(_0x3f5d8c[_0x0c67('0x94')]){_0x5770f3[_0x0c67('0x99')][_0x0c67('0x9a')]=_0x3f5d8c['bcc'];}return new BPromise(function(_0x174eac,_0x271d51){if(_0x3f5d8c[_0x0c67('0x9b')]){for(var _0x3f36f2=0x0;_0x3f36f2<_0x3f5d8c[_0x0c67('0x9b')]['length'];_0x3f36f2++){var _0x567b70=_0x3f5d8c[_0x0c67('0x9b')][_0x3f36f2];var _0x1acfa5=path[_0x0c67('0x90')](_0xbbaeb0,_0x567b70[_0x0c67('0x9c')]);if(fs[_0x0c67('0x9d')](_0x1acfa5)){_0x5770f3[_0x0c67('0x6a')][_0x0c67('0x9e')]({'name':_0x567b70[_0x0c67('0x38')],'contentType':_0x567b70['type'],'data':fs[_0x0c67('0x9f')](_0x1acfa5)});}}}emlformat[_0x0c67('0xa0')](_0x5770f3,function(_0x32d9d8,_0x49869b){if(_0x32d9d8)return _0x271d51(_0x32d9d8);fs['writeFileSync'](path['join'](_0x51e35d,_0x439519),_0x49869b);return _0x174eac(_0x49869b);});});}})['then'](function(_0x510b79){if(_0x510b79){return _0x2388c9[_0x0c67('0xa1')](path['join'](_0x51e35d,_0x439519),_0x439519,function(_0x5be3e5){if(_0x5be3e5){console[_0x0c67('0xa2')](_0x0c67('0xa3'),_0x5be3e5);}else{fs[_0x0c67('0xa4')](path[_0x0c67('0x90')](_0x51e35d,_0x439519));}});}})[_0x0c67('0x2a')](handleError(_0x2388c9,null));};