e7f2e7ee155c3a94b88be79613533acaae7fabed
[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 _0xac7c=['from','subject','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','push','build','download','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailMessage.socket','register','jayson/promise','client','http','request','then','info','MailMessage,\x20%s,\x20%s','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','destroy','stack','index','map','MailMessage','rawAttributes','fieldName','type','model','name','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','VIRTUAL','merge','options','includeAll','findAll','rows','show','keys','include','find','body','params','describe','create','direction','out','split','MailAccount','findOne','MailAccountId','CmContact','Contacts','DESC','MailServerOut','Smtp','isNil','service','host','port','user','auth','secure','attachments','join','server/files/attachments','basename','List','ListId','List\x20not\x20found','sendMail','messageId','format','YYYY-MM-DD\x20HH:mm:ss','mail-interactions','accept','mail','read','UserId','agent','Contact','get','MailInteraction','MailInteractionId','read1stAt','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','acceptMessage','SIP/%s','channel','event','EventManager','acceptmessage','../../config/logger','interaction','[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','RejectMessage','rejectMessage','rejectmessage','unix','toString','root','files','server','message-%s.eml','bcc','createdAt','Attachments'];(function(_0x3436f6,_0xc22b38){var _0x346a25=function(_0x3057c6){while(--_0x3057c6){_0x3436f6['push'](_0x3436f6['shift']());}};_0x346a25(++_0xc22b38);}(_0xac7c,0xb7));var _0xcac7=function(_0x870b62,_0x2143f9){_0x870b62=_0x870b62-0x0;var _0x2dcb39=_0xac7c[_0x870b62];return _0x2dcb39;};'use strict';var emlformat=require(_0xcac7('0x0'));var rimraf=require(_0xcac7('0x1'));var zipdir=require(_0xcac7('0x2'));var jsonpatch=require(_0xcac7('0x3'));var rp=require(_0xcac7('0x4'));var moment=require(_0xcac7('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xcac7('0x6'));var path=require(_0xcac7('0x7'));var sox=require(_0xcac7('0x8'));var csv=require(_0xcac7('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xcac7('0xa'));var _=require(_0xcac7('0xb'));var squel=require(_0xcac7('0xc'));var crypto=require(_0xcac7('0xd'));var jsforce=require(_0xcac7('0xe'));var deskjs=require(_0xcac7('0xf'));var toCsv=require('to-csv');var querystring=require(_0xcac7('0x10'));var Papa=require(_0xcac7('0x11'));var Redis=require(_0xcac7('0x12'));var authService=require(_0xcac7('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xcac7('0x14'));var hardwareService=require(_0xcac7('0x15'));var logger=require('../../config/logger')(_0xcac7('0x16'));var utils=require(_0xcac7('0x17'));var config=require(_0xcac7('0x18'));var licenseUtil=require(_0xcac7('0x19'));var db=require(_0xcac7('0x1a'))['db'];config[_0xcac7('0x1b')]=_[_0xcac7('0x1c')](config[_0xcac7('0x1b')],{'host':_0xcac7('0x1d'),'port':0x18eb});var socket=require(_0xcac7('0x1e'))(new Redis(config[_0xcac7('0x1b')]));require(_0xcac7('0x1f'))[_0xcac7('0x20')](socket);var jayson=require(_0xcac7('0x21'));var client=jayson[_0xcac7('0x22')][_0xcac7('0x23')]({'port':0x232c});var client9003=jayson['client'][_0xcac7('0x23')]({'port':0x232b});var client9002=jayson[_0xcac7('0x22')]['http']({'port':0x232a});function respondWithRpcPromise(_0x124195,_0x25c791,_0x2bba8a,_0x5ebe04){return new BPromise(function(_0x226215,_0x28932d){var _0x4eeff4=_0x5ebe04||client;return _0x4eeff4[_0xcac7('0x24')](_0x124195,_0x2bba8a)[_0xcac7('0x25')](function(_0x494daf){logger[_0xcac7('0x26')](_0xcac7('0x27'),_0x25c791,_0xcac7('0x28'));logger[_0xcac7('0x29')](_0xcac7('0x2a'),_0x25c791,_0xcac7('0x28'),JSON[_0xcac7('0x2b')](_0x494daf));if(_0x494daf['error']){if(_0x494daf[_0xcac7('0x2c')][_0xcac7('0x2d')]===0x1f4){logger[_0xcac7('0x2c')]('MailMessage,\x20%s,\x20%s',_0x25c791,_0x494daf[_0xcac7('0x2c')][_0xcac7('0x2e')]);return _0x28932d(_0x494daf[_0xcac7('0x2c')][_0xcac7('0x2e')]);}logger[_0xcac7('0x2c')](_0xcac7('0x27'),_0x25c791,_0x494daf['error']['message']);return _0x226215(_0x494daf[_0xcac7('0x2c')][_0xcac7('0x2e')]);}else{logger[_0xcac7('0x26')]('MailMessage,\x20%s,\x20%s',_0x25c791,_0xcac7('0x28'));_0x226215(_0x494daf[_0xcac7('0x2f')][_0xcac7('0x2e')]);}})[_0xcac7('0x30')](function(_0xe1f95a){logger[_0xcac7('0x2c')]('MailMessage,\x20%s,\x20%s',_0x25c791,_0xe1f95a);_0x28932d(_0xe1f95a);});});}function respondWithStatusCode(_0xa831e0,_0x3e384c){_0x3e384c=_0x3e384c||0xcc;return function(_0x200ef5){if(_0x200ef5){return _0xa831e0[_0xcac7('0x31')](_0x3e384c);}return _0xa831e0[_0xcac7('0x32')](_0x3e384c)[_0xcac7('0x33')]();};}function respondWithResult(_0x2e4a4b,_0x481a5d){_0x481a5d=_0x481a5d||0xc8;return function(_0x404dae){if(_0x404dae){return _0x2e4a4b[_0xcac7('0x32')](_0x481a5d)[_0xcac7('0x34')](_0x404dae);}};}function respondWithFilteredResult(_0x53143b,_0x13bdd7){return function(_0xcf07e9){if(_0xcf07e9){var _0x57f559=typeof _0x13bdd7[_0xcac7('0x35')]===_0xcac7('0x36')&&typeof _0x13bdd7[_0xcac7('0x37')]===_0xcac7('0x36');var _0x464820=_0xcf07e9[_0xcac7('0x38')];var _0x519f35=_0x57f559?0x0:_0x13bdd7['offset'];var _0x70f50=_0x57f559?_0xcf07e9[_0xcac7('0x38')]:_0x13bdd7['offset']+_0x13bdd7['limit'];var _0xe23dbb;if(_0x70f50>=_0x464820){_0x70f50=_0x464820;_0xe23dbb=0xc8;}else{_0xe23dbb=0xce;}_0x53143b['status'](_0xe23dbb);return _0x53143b[_0xcac7('0x39')](_0xcac7('0x3a'),_0x519f35+'-'+_0x70f50+'/'+_0x464820)['json'](_0xcf07e9);}return null;};}function patchUpdates(_0x43b3fe){return function(_0xec2474){try{jsonpatch[_0xcac7('0x3b')](_0xec2474,_0x43b3fe,!![]);}catch(_0x39c453){return BPromise[_0xcac7('0x3c')](_0x39c453);}return _0xec2474[_0xcac7('0x3d')]();};}function saveUpdates(_0x150b57,_0x27934f){return function(_0x231ec5){if(_0x231ec5){return _0x231ec5[_0xcac7('0x3e')](_0x150b57)[_0xcac7('0x25')](function(_0x1d2e5e){return _0x1d2e5e;});}return null;};}function removeEntity(_0x44621a,_0x569f9d){return function(_0x19efaf){if(_0x19efaf){return _0x19efaf[_0xcac7('0x3f')]()[_0xcac7('0x25')](function(){_0x44621a[_0xcac7('0x32')](0xcc)[_0xcac7('0x33')]();});}};}function handleEntityNotFound(_0x3370f6,_0x1074f9){return function(_0x261a7a){if(!_0x261a7a){_0x3370f6[_0xcac7('0x31')](0x194);}return _0x261a7a;};}function handleError(_0x2c2589,_0x3b030a){_0x3b030a=_0x3b030a||0x1f4;return function(_0x3ace9a){logger[_0xcac7('0x2c')](_0x3ace9a[_0xcac7('0x40')]);if(_0x3ace9a['name']){delete _0x3ace9a['name'];}_0x2c2589[_0xcac7('0x32')](_0x3b030a)['send'](_0x3ace9a);};}exports[_0xcac7('0x41')]=function(_0x20b471,_0x2ea4e6){var _0x10b6b4={},_0x2e8266={},_0x839461={'count':0x0,'rows':[]};var _0x5cc1f0=_[_0xcac7('0x42')](db[_0xcac7('0x43')][_0xcac7('0x44')],function(_0x255328){return{'name':_0x255328[_0xcac7('0x45')],'type':_0x255328[_0xcac7('0x46')]['key']};});_0x2e8266[_0xcac7('0x47')]=_['map'](_0x5cc1f0,_0xcac7('0x48'));_0x2e8266[_0xcac7('0x49')]=_['keys'](_0x20b471[_0xcac7('0x49')]);_0x2e8266[_0xcac7('0x4a')]=_[_0xcac7('0x4b')](_0x2e8266[_0xcac7('0x47')],_0x2e8266[_0xcac7('0x49')]);_0x10b6b4['attributes']=_[_0xcac7('0x4b')](_0x2e8266[_0xcac7('0x47')],qs[_0xcac7('0x4c')](_0x20b471[_0xcac7('0x49')][_0xcac7('0x4c')]));_0x10b6b4[_0xcac7('0x4d')]=_0x10b6b4[_0xcac7('0x4d')][_0xcac7('0x4e')]?_0x10b6b4['attributes']:_0x2e8266['model'];if(!_0x20b471['query'][_0xcac7('0x4f')](_0xcac7('0x50'))){_0x10b6b4[_0xcac7('0x37')]=qs[_0xcac7('0x37')](_0x20b471[_0xcac7('0x49')][_0xcac7('0x37')]);_0x10b6b4['offset']=qs[_0xcac7('0x35')](_0x20b471[_0xcac7('0x49')]['offset']);}_0x10b6b4['order']=qs[_0xcac7('0x51')](_0x20b471[_0xcac7('0x49')][_0xcac7('0x51')]);_0x10b6b4['where']=qs[_0xcac7('0x4a')](_['pick'](_0x20b471['query'],_0x2e8266[_0xcac7('0x4a')]),_0x5cc1f0);if(_0x20b471[_0xcac7('0x49')]['filter']){_0x10b6b4[_0xcac7('0x52')]=_['merge'](_0x10b6b4[_0xcac7('0x52')],{'$or':_[_0xcac7('0x42')](_0x5cc1f0,function(_0xb7f2cd){if(_0xb7f2cd[_0xcac7('0x46')]!==_0xcac7('0x53')){var _0x540252={};_0x540252[_0xb7f2cd[_0xcac7('0x48')]]={'$like':'%'+_0x20b471['query']['filter']+'%'};return _0x540252;}})});}_0x10b6b4=_[_0xcac7('0x54')]({},_0x10b6b4,_0x20b471[_0xcac7('0x55')]);var _0x20cb5f={'where':_0x10b6b4[_0xcac7('0x52')]};return db['MailMessage']['count'](_0x20cb5f)['then'](function(_0x16740c){_0x839461[_0xcac7('0x38')]=_0x16740c;if(_0x20b471[_0xcac7('0x49')][_0xcac7('0x56')]){_0x10b6b4['include']=[{'all':!![]}];}return db[_0xcac7('0x43')][_0xcac7('0x57')](_0x10b6b4);})[_0xcac7('0x25')](function(_0xa1fe93){_0x839461[_0xcac7('0x58')]=_0xa1fe93;return _0x839461;})[_0xcac7('0x25')](respondWithFilteredResult(_0x2ea4e6,_0x10b6b4))[_0xcac7('0x30')](handleError(_0x2ea4e6,null));};exports[_0xcac7('0x59')]=function(_0x113830,_0x1b130d){var _0x2c18f7={'raw':!![],'where':{'id':_0x113830['params']['id']}},_0x5186d7={};_0x5186d7[_0xcac7('0x47')]=_[_0xcac7('0x5a')](db[_0xcac7('0x43')][_0xcac7('0x44')]);_0x5186d7[_0xcac7('0x49')]=_[_0xcac7('0x5a')](_0x113830[_0xcac7('0x49')]);_0x5186d7[_0xcac7('0x4a')]=_[_0xcac7('0x4b')](_0x5186d7['model'],_0x5186d7['query']);_0x2c18f7[_0xcac7('0x4d')]=_[_0xcac7('0x4b')](_0x5186d7[_0xcac7('0x47')],qs['fields'](_0x113830['query'][_0xcac7('0x4c')]));_0x2c18f7[_0xcac7('0x4d')]=_0x2c18f7[_0xcac7('0x4d')]['length']?_0x2c18f7[_0xcac7('0x4d')]:_0x5186d7['model'];if(_0x113830[_0xcac7('0x49')]['includeAll']){_0x2c18f7[_0xcac7('0x5b')]=[{'all':!![]}];}_0x2c18f7=_[_0xcac7('0x54')]({},_0x2c18f7,_0x113830[_0xcac7('0x55')]);return db[_0xcac7('0x43')][_0xcac7('0x5c')](_0x2c18f7)[_0xcac7('0x25')](handleEntityNotFound(_0x1b130d,null))['then'](respondWithResult(_0x1b130d,null))[_0xcac7('0x30')](handleError(_0x1b130d,null));};exports[_0xcac7('0x3e')]=function(_0x181d1c,_0x41c665){if(_0x181d1c[_0xcac7('0x5d')]['id']){delete _0x181d1c[_0xcac7('0x5d')]['id'];}return db['MailMessage']['find']({'where':{'id':_0x181d1c[_0xcac7('0x5e')]['id']}})[_0xcac7('0x25')](handleEntityNotFound(_0x41c665,null))[_0xcac7('0x25')](saveUpdates(_0x181d1c[_0xcac7('0x5d')],null))[_0xcac7('0x25')](respondWithResult(_0x41c665,null))['catch'](handleError(_0x41c665,null));};exports[_0xcac7('0x3f')]=function(_0xa73b99,_0x486a2a){return db[_0xcac7('0x43')][_0xcac7('0x5c')]({'where':{'id':_0xa73b99[_0xcac7('0x5e')]['id']}})[_0xcac7('0x25')](handleEntityNotFound(_0x486a2a,null))[_0xcac7('0x25')](removeEntity(_0x486a2a,null))[_0xcac7('0x30')](handleError(_0x486a2a,null));};exports[_0xcac7('0x5f')]=function(_0x595162,_0x11c3bf){return db['MailMessage'][_0xcac7('0x5f')]()[_0xcac7('0x25')](respondWithResult(_0x11c3bf,null))[_0xcac7('0x30')](handleError(_0x11c3bf,null));};exports[_0xcac7('0x60')]=function(_0x23ded0,_0x1845e6){return db[_0xcac7('0x43')][_0xcac7('0x60')](_0x23ded0['body'])['then'](function(_0x234716){if(_0x234716){if(_0x234716[_0xcac7('0x61')]===_0xcac7('0x62')&&!_0x234716['secret']){var _0x1c2f8c,_0xa7e405,_0x178a55;if(_0x23ded0[_0xcac7('0x5d')]['to']){_0xa7e405=_0x23ded0['body']['to'][_0xcac7('0x63')](',')[0x0];}return db[_0xcac7('0x64')][_0xcac7('0x65')]({'where':{'id':_0x234716[_0xcac7('0x66')]},'include':[{'model':db['CmList'],'as':'List','include':[{'model':db[_0xcac7('0x67')],'as':_0xcac7('0x68'),'where':{'email':_0xa7e405},'limit':0x1,'order':[['updatedAt',_0xcac7('0x69')]]}]},{'model':db[_0xcac7('0x6a')],'as':_0xcac7('0x6b'),'raw':!![]}]})[_0xcac7('0x25')](function(_0x40118b){_0x1c2f8c=_0x40118b;if(_0x1c2f8c&&_0x1c2f8c[_0xcac7('0x6b')]){var _0x1370cf={'tls':{'rejectUnauthorized':![]}};if(_[_0xcac7('0x6c')](_0x1c2f8c[_0xcac7('0x6b')][_0xcac7('0x6d')])){_0x1370cf[_0xcac7('0x6e')]=_0x1c2f8c[_0xcac7('0x6b')][_0xcac7('0x6e')];_0x1370cf[_0xcac7('0x6f')]=_0x1c2f8c['Smtp'][_0xcac7('0x6f')];_0x1370cf['secure']=_0x1c2f8c[_0xcac7('0x6b')]['secure'];if(_0x1c2f8c['Smtp']['authentication']){_0x1370cf['auth']={'user':_0x1c2f8c[_0xcac7('0x6b')][_0xcac7('0x70')],'pass':_0x1c2f8c['Smtp']['pass']};}}else{_0x1370cf[_0xcac7('0x6d')]=_0x1c2f8c[_0xcac7('0x6b')][_0xcac7('0x6d')];_0x1370cf[_0xcac7('0x71')]={'user':_0x1c2f8c[_0xcac7('0x6b')][_0xcac7('0x70')],'pass':_0x1c2f8c['Smtp']['pass']};_0x1370cf[_0xcac7('0x72')]=_0x1c2f8c[_0xcac7('0x6b')][_0xcac7('0x72')];}if(_0x23ded0[_0xcac7('0x5d')][_0xcac7('0x73')]&&_0x23ded0[_0xcac7('0x5d')][_0xcac7('0x73')][_0xcac7('0x4e')]){for(var _0xbbca94=0x0;_0xbbca94<_0x23ded0[_0xcac7('0x5d')]['attachments'][_0xcac7('0x4e')];_0xbbca94+=0x1){_0x23ded0['body'][_0xcac7('0x73')][_0xbbca94]={'filename':_0x23ded0[_0xcac7('0x5d')]['attachments'][_0xbbca94]['name'],'path':path[_0xcac7('0x74')](config['root'],_0xcac7('0x75'),_0x23ded0[_0xcac7('0x5d')][_0xcac7('0x73')][_0xbbca94][_0xcac7('0x76')])};}}_0x178a55={'account':_0x1370cf,'message':_0x23ded0[_0xcac7('0x5d')]};return;}})[_0xcac7('0x25')](function(){if(_0x1c2f8c[_0xcac7('0x77')]){if(_0x1c2f8c[_0xcac7('0x77')][_0xcac7('0x68')][_0xcac7('0x4e')]){return _0x1c2f8c[_0xcac7('0x77')][_0xcac7('0x68')][0x0];}else{return db[_0xcac7('0x67')][_0xcac7('0x60')](_[_0xcac7('0x1c')](_0x23ded0['body'],{'firstName':_0x23ded0[_0xcac7('0x5d')]['to'],'email':_0x23ded0[_0xcac7('0x5d')]['to'],'phone':_0x23ded0['body']['to'],'ListId':_0x1c2f8c[_0xcac7('0x78')]}));}}else{throw new Error(_0xcac7('0x79'));}})['then'](function(){if(_0x178a55){return respondWithRpcPromise('SendMail',_0xcac7('0x7a'),_0x178a55,client9003)['then'](function(_0x240a9f){return _0x234716[_0xcac7('0x3e')]({'read':!![],'messageId':_0x240a9f[_0xcac7('0x7b')],'sentAt':moment()[_0xcac7('0x7c')](_0xcac7('0x7d'))});})[_0xcac7('0x30')](function(_0x33900d){logger[_0xcac7('0x2c')]('%s',JSON[_0xcac7('0x2b')](_0x33900d));return _0x234716;});}return _0x234716;});}return _0x234716;}})[_0xcac7('0x25')](respondWithResult(_0x1845e6,0xc9))[_0xcac7('0x30')](handleError(_0x1845e6,null));};var interaction_log=require('../../config/logger')(_0xcac7('0x7e'));exports[_0xcac7('0x7f')]=function(_0x73751d,_0x1cd5fc,_0x4350df){var _0x1a6d07={'agent':{},'channel':_0xcac7('0x80')};if(_0x73751d['body']['id']){delete _0x73751d[_0xcac7('0x5d')]['id'];}_0x73751d[_0xcac7('0x5d')][_0xcac7('0x81')]=!![];_0x73751d[_0xcac7('0x5d')]['readAt']=moment()[_0xcac7('0x7c')](_0xcac7('0x7d'));_0x73751d[_0xcac7('0x5d')]['UserId']=_0x73751d[_0xcac7('0x5d')][_0xcac7('0x82')]||_0x73751d[_0xcac7('0x70')]['id'];_0x1a6d07[_0xcac7('0x83')]['id']=_0x73751d[_0xcac7('0x5d')][_0xcac7('0x82')];return db[_0xcac7('0x43')][_0xcac7('0x5c')]({'where':{'id':_0x73751d[_0xcac7('0x5e')]['id'],'UserId':null},'include':[{'model':db[_0xcac7('0x67')],'as':_0xcac7('0x84')}]})[_0xcac7('0x25')](handleEntityNotFound(_0x1cd5fc,null))[_0xcac7('0x25')](saveUpdates(_0x73751d[_0xcac7('0x5d')],null))['then'](function(_0x12749d){if(_0x12749d){_0x1a6d07[_0xcac7('0x2e')]=_0x12749d[_0xcac7('0x85')]({'plain':!![]});return db[_0xcac7('0x86')][_0xcac7('0x5c')]({'where':{'id':_0x12749d[_0xcac7('0x87')]}});}return null;})[_0xcac7('0x25')](handleEntityNotFound(_0x1cd5fc,null))['then'](function(_0x501555){if(_0x501555){return _0x501555[_0xcac7('0x3e')]({'UserId':_0x73751d['body'][_0xcac7('0x82')],'read1stAt':_['isNil'](_0x501555[_0xcac7('0x88')])?moment()[_0xcac7('0x7c')](_0xcac7('0x7d')):undefined});}return null;})[_0xcac7('0x25')](function(_0x400cb5){if(_0x400cb5){_0x1a6d07['interaction']=_0x400cb5[_0xcac7('0x85')]({'plain':!![]});interaction_log['info'](_0xcac7('0x89'),_0x73751d[_0xcac7('0x70')]['id'],_0x73751d[_0xcac7('0x70')][_0xcac7('0x48')],_0x73751d[_0xcac7('0x70')]['role'],_0x1a6d07['interaction']['id'],_0x73751d['body']?JSON[_0xcac7('0x2b')](_0x73751d['body']):_0xcac7('0x8a'));return respondWithRpcPromise('AcceptMessage',_0xcac7('0x8b'),_0x1a6d07);}return null;})[_0xcac7('0x25')](function(_0x2f3314){if(_0x2f3314){if(_0x73751d[_0xcac7('0x5d')]['manual']){_0x1a6d07[_0xcac7('0x2e')]['interface']=util[_0xcac7('0x7c')](_0xcac7('0x8c'),_0x73751d['user'][_0xcac7('0x48')]);_0x1a6d07[_0xcac7('0x2e')][_0xcac7('0x8d')]=_0x1a6d07[_0xcac7('0x8d')];_0x1a6d07['message'][_0xcac7('0x8e')]=_0xcac7('0x7f');return respondWithRpcPromise(_0xcac7('0x8f'),_0xcac7('0x8f'),{'event':_0xcac7('0x90'),'message':_0x1a6d07['message']},client9002)[_0xcac7('0x25')](function(){return _0x1a6d07;});}return _0x1a6d07;}return null;})[_0xcac7('0x25')](respondWithResult(_0x1cd5fc,null))[_0xcac7('0x30')](handleError(_0x1cd5fc,null));};var interaction_log=require(_0xcac7('0x91'))(_0xcac7('0x7e'));exports['reject']=function(_0x472b5c,_0x5e9b2c,_0x45b66d){var _0x190e93={'agent':{},'channel':'mail'};if(_0x472b5c[_0xcac7('0x5d')]['id']){delete _0x472b5c[_0xcac7('0x5d')]['id'];}_0x472b5c[_0xcac7('0x5d')]['UserId']=_0x472b5c['body']['UserId']||_0x472b5c[_0xcac7('0x70')]['id'];_0x190e93[_0xcac7('0x83')]['id']=_0x472b5c[_0xcac7('0x5d')][_0xcac7('0x82')];return db[_0xcac7('0x43')][_0xcac7('0x5c')]({'where':{'id':_0x472b5c['params']['id'],'UserId':null}})[_0xcac7('0x25')](handleEntityNotFound(_0x5e9b2c,null))[_0xcac7('0x25')](function(_0x7172d8){if(_0x7172d8){_0x190e93[_0xcac7('0x2e')]=_0x7172d8[_0xcac7('0x85')]({'plain':!![]});return db[_0xcac7('0x86')][_0xcac7('0x5c')]({'where':{'id':_0x7172d8[_0xcac7('0x87')]}});}return null;})['then'](handleEntityNotFound(_0x5e9b2c,null))[_0xcac7('0x25')](function(_0x3239cd){if(_0x3239cd){_0x190e93[_0xcac7('0x92')]=_0x3239cd[_0xcac7('0x85')]({'plain':!![]});interaction_log[_0xcac7('0x26')](_0xcac7('0x93'),_0x472b5c[_0xcac7('0x70')]['id'],_0x472b5c[_0xcac7('0x70')]['name'],_0x472b5c[_0xcac7('0x70')][_0xcac7('0x94')],_0x190e93[_0xcac7('0x92')]['id'],_0x472b5c[_0xcac7('0x5d')]?JSON[_0xcac7('0x2b')](_0x472b5c[_0xcac7('0x5d')]):_0xcac7('0x8a'));return respondWithRpcPromise(_0xcac7('0x95'),_0xcac7('0x96'),_0x190e93);}return null;})[_0xcac7('0x25')](function(_0x5b5bd6){if(_0x5b5bd6){_0x5b5bd6[_0xcac7('0x2e')]['interface']=util[_0xcac7('0x7c')](_0xcac7('0x8c'),_0x472b5c[_0xcac7('0x70')]['name']);_0x5b5bd6[_0xcac7('0x2e')][_0xcac7('0x8d')]=_0x190e93[_0xcac7('0x8d')];_0x5b5bd6[_0xcac7('0x2e')]['event']=_0xcac7('0x3c');respondWithRpcPromise('EventManager',_0xcac7('0x8f'),{'event':_0xcac7('0x97'),'message':_0x5b5bd6[_0xcac7('0x2e')]},client9002);return _0x190e93;}return null;})['then'](respondWithResult(_0x5e9b2c,null))[_0xcac7('0x30')](handleError(_0x5e9b2c,null));};exports['download']=function(_0x1643e3,_0x2f55cf){var _0x30e9fc=moment()[_0xcac7('0x98')]()[_0xcac7('0x99')]();var _0x3fab21=path[_0xcac7('0x74')](config[_0xcac7('0x9a')],'server',_0xcac7('0x9b'),'tmp');var _0x3dacda=path[_0xcac7('0x74')](config[_0xcac7('0x9a')],_0xcac7('0x9c'),_0xcac7('0x9b'),_0xcac7('0x73'));var _0x51e725=util[_0xcac7('0x7c')](_0xcac7('0x9d'),_0x30e9fc);return db[_0xcac7('0x43')]['find']({'where':{'id':_0x1643e3[_0xcac7('0x5e')]['id']},'attributes':['id',_0xcac7('0x5d'),'from','to','cc',_0xcac7('0x9e'),'subject',_0xcac7('0x9f')],'include':_0x1643e3['query'][_0xcac7('0x73')]?[{'model':db['Attachment'],'as':_0xcac7('0xa0')}]:undefined})[_0xcac7('0x25')](handleEntityNotFound(_0x2f55cf,null))[_0xcac7('0x25')](function(_0x43cb56){if(_0x43cb56){var _0x32093d=_0x43cb56;var _0x2b39fe={'from':_0x32093d[_0xcac7('0xa1')],'to':_0x32093d['to'],'subject':_0x32093d[_0xcac7('0xa2')],'html':_0x32093d[_0xcac7('0x5d')],'headers':{'Date':moment(_0x32093d[_0xcac7('0x9f')])[_0xcac7('0x7c')](_0xcac7('0xa3'))},'attachments':[]};if(_0x43cb56['cc']){_0x2b39fe[_0xcac7('0xa4')]['Cc']=_0x43cb56['cc'];}if(_0x43cb56[_0xcac7('0x9e')]){_0x2b39fe[_0xcac7('0xa4')][_0xcac7('0xa5')]=_0x43cb56[_0xcac7('0x9e')];}return new BPromise(function(_0x49fde9,_0x325040){if(_0x43cb56[_0xcac7('0xa0')]){for(var _0x32a7c7=0x0;_0x32a7c7<_0x43cb56[_0xcac7('0xa0')][_0xcac7('0x4e')];_0x32a7c7++){var _0x55e87c=_0x43cb56[_0xcac7('0xa0')][_0x32a7c7];var _0x14cd22=path[_0xcac7('0x74')](_0x3dacda,_0x55e87c[_0xcac7('0x76')]);if(fs['existsSync'](_0x14cd22)){_0x2b39fe[_0xcac7('0x73')][_0xcac7('0xa6')]({'name':_0x55e87c['name'],'contentType':_0x55e87c[_0xcac7('0x46')],'data':fs['readFileSync'](_0x14cd22)});}}}emlformat[_0xcac7('0xa7')](_0x2b39fe,function(_0x111cc6,_0x11d2f5){if(_0x111cc6)return _0x325040(_0x111cc6);fs['writeFileSync'](path[_0xcac7('0x74')](_0x3fab21,_0x51e725),_0x11d2f5);return _0x49fde9(_0x11d2f5);});});}})['then'](function(_0x3eeb48){if(_0x3eeb48){return _0x2f55cf[_0xcac7('0xa8')](path[_0xcac7('0x74')](_0x3fab21,_0x51e725),_0x51e725,function(_0x1be51b){if(_0x1be51b){console[_0xcac7('0xa9')](_0xcac7('0xaa'),_0x1be51b);}else{fs[_0xcac7('0xab')](path[_0xcac7('0x74')](_0x3fab21,_0x51e725));}});}})['catch'](handleError(_0x2f55cf,null));};