Built motion from commit (unavailable).|2.4.17
[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 _0x3ee0=['apply','reject','update','then','destroy','stack','name','send','map','MailMessage','rawAttributes','type','model','query','filters','intersection','fields','attributes','hasOwnProperty','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','params','find','body','describe','create','direction','out','secret','MailAccount','findOne','CmList','List','CmContact','Contacts','DESC','MailServerOut','Smtp','service','host','port','secure','authentication','auth','user','pass','attachments','length','server/files/attachments','ListId','List\x20not\x20found','SendMail','sendMail','format','YYYY-MM-DD\x20HH:mm:ss','mail-interactions','accept','mail','read','readAt','get','MailInteraction','MailInteractionId','UserId','read1stAt','interaction','[MAILMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','AcceptMessage','acceptMessage','manual','interface','SIP/%s','channel','EventManager','acceptmessage','agent','RejectMessage','rejectMessage','event','toString','join','root','server','files','tmp','message-%s.eml','bcc','subject','createdAt','Attachment','Attachments','from','headers','Bcc','basename','push','build','writeFileSync','download','log','unlinkSync','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','defaults','redis','socket.io-emitter','register','jayson/promise','client','http','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','request\x20sent','debug','MailMessage,\x20%s,\x20%s,\x20%s','stringify','error','message','info','result','catch','sendStatus','end','json','count','offset','limit','status','Content-Range'];(function(_0x1976bf,_0x22e930){var _0x3754be=function(_0x52a5a7){while(--_0x52a5a7){_0x1976bf['push'](_0x1976bf['shift']());}};_0x3754be(++_0x22e930);}(_0x3ee0,0x6f));var _0x03ee=function(_0x3b380d,_0x4bf247){_0x3b380d=_0x3b380d-0x0;var _0x54502b=_0x3ee0[_0x3b380d];return _0x54502b;};'use strict';var pdf=require(_0x03ee('0x0'));var emlformat=require(_0x03ee('0x1'));var rimraf=require(_0x03ee('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x03ee('0x3'));var rp=require(_0x03ee('0x4'));var moment=require(_0x03ee('0x5'));var BPromise=require(_0x03ee('0x6'));var Mustache=require(_0x03ee('0x7'));var util=require('util');var path=require(_0x03ee('0x8'));var sox=require(_0x03ee('0x9'));var csv=require(_0x03ee('0xa'));var ejs=require(_0x03ee('0xb'));var fs=require('fs');var _=require(_0x03ee('0xc'));var squel=require(_0x03ee('0xd'));var crypto=require(_0x03ee('0xe'));var jsforce=require(_0x03ee('0xf'));var deskjs=require(_0x03ee('0x10'));var toCsv=require('to-csv');var querystring=require(_0x03ee('0x11'));var Papa=require(_0x03ee('0x12'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x03ee('0x13'));var as=require(_0x03ee('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x03ee('0x15'))(_0x03ee('0x16'));var utils=require(_0x03ee('0x17'));var config=require(_0x03ee('0x18'));var db=require(_0x03ee('0x19'))['db'];config['redis']=_[_0x03ee('0x1a')](config[_0x03ee('0x1b')],{'host':'localhost','port':0x18eb});var socket=require(_0x03ee('0x1c'))(new Redis(config[_0x03ee('0x1b')]));require('./mailMessage.socket')[_0x03ee('0x1d')](socket);var jayson=require(_0x03ee('0x1e'));var client=jayson[_0x03ee('0x1f')][_0x03ee('0x20')]({'port':0x232c});var client9003=jayson[_0x03ee('0x1f')]['http']({'port':0x232b});var client9002=jayson['client'][_0x03ee('0x20')]({'port':0x232a});function checkPasswordPattern(_0x11a7f6,_0x38c2ff,_0x176022){if(_0x176022){var _0x2ad666=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x2ad666['test'](_0x38c2ff)){return _0x11a7f6;}else{throw new db[(_0x03ee('0x21'))][(_0x03ee('0x22'))](_0x03ee('0x23'));}}else{return _0x11a7f6;}}function respondWithRpcPromise(_0x3c0fc9,_0x1b67ad,_0x4cd801,_0x8d98f6){return new BPromise(function(_0x406747,_0x2dc028){var _0x16e6d0=_0x8d98f6||client;return _0x16e6d0[_0x03ee('0x24')](_0x3c0fc9,_0x4cd801)['then'](function(_0xfd8bc7){logger['info']('MailMessage,\x20%s,\x20%s',_0x1b67ad,_0x03ee('0x25'));logger[_0x03ee('0x26')](_0x03ee('0x27'),_0x1b67ad,_0x03ee('0x25'),JSON[_0x03ee('0x28')](_0xfd8bc7));if(_0xfd8bc7[_0x03ee('0x29')]){if(_0xfd8bc7[_0x03ee('0x29')]['code']===0x1f4){logger['error']('MailMessage,\x20%s,\x20%s',_0x1b67ad,_0xfd8bc7[_0x03ee('0x29')]['message']);return _0x2dc028(_0xfd8bc7[_0x03ee('0x29')][_0x03ee('0x2a')]);}logger[_0x03ee('0x29')]('MailMessage,\x20%s,\x20%s',_0x1b67ad,_0xfd8bc7['error'][_0x03ee('0x2a')]);return _0x406747(_0xfd8bc7[_0x03ee('0x29')][_0x03ee('0x2a')]);}else{logger[_0x03ee('0x2b')]('MailMessage,\x20%s,\x20%s',_0x1b67ad,_0x03ee('0x25'));_0x406747(_0xfd8bc7[_0x03ee('0x2c')][_0x03ee('0x2a')]);}})[_0x03ee('0x2d')](function(_0x3da07e){logger[_0x03ee('0x29')]('MailMessage,\x20%s,\x20%s',_0x1b67ad,_0x3da07e);_0x2dc028(_0x3da07e);});});}function respondWithStatusCode(_0x3be12b,_0x59ef70){_0x59ef70=_0x59ef70||0xcc;return function(_0x98e0d){if(_0x98e0d){return _0x3be12b[_0x03ee('0x2e')](_0x59ef70);}return _0x3be12b['status'](_0x59ef70)[_0x03ee('0x2f')]();};}function respondWithResult(_0x5f4e07,_0x3d12f4){_0x3d12f4=_0x3d12f4||0xc8;return function(_0x24ce9d){if(_0x24ce9d){return _0x5f4e07['status'](_0x3d12f4)[_0x03ee('0x30')](_0x24ce9d);}};}function respondWithFilteredResult(_0x5436cb,_0x1a3511){return function(_0x2505c9){if(_0x2505c9){var _0x21ad85=_0x2505c9[_0x03ee('0x31')],_0x1aa7dc=_0x1a3511[_0x03ee('0x32')],_0x2e42cf=_0x1a3511[_0x03ee('0x32')]+_0x1a3511[_0x03ee('0x33')],_0x78ad60;if(_0x2e42cf>=_0x21ad85){_0x2e42cf=_0x21ad85;_0x78ad60=0xc8;}else{_0x78ad60=0xce;}_0x5436cb[_0x03ee('0x34')](_0x78ad60);return _0x5436cb['set'](_0x03ee('0x35'),_0x1aa7dc+'-'+_0x2e42cf+'/'+_0x21ad85)['json'](_0x2505c9);}return null;};}function patchUpdates(_0x22d2c9){return function(_0x54de3a){try{jsonpatch[_0x03ee('0x36')](_0x54de3a,_0x22d2c9,!![]);}catch(_0x4b2a6f){return BPromise[_0x03ee('0x37')](_0x4b2a6f);}return _0x54de3a['save']();};}function saveUpdates(_0x559788,_0x3bdf5b){return function(_0x1e6c1b){if(_0x1e6c1b){return _0x1e6c1b[_0x03ee('0x38')](_0x559788)[_0x03ee('0x39')](function(_0x388c33){return _0x388c33;});}return null;};}function removeEntity(_0x212ce3,_0x35f211){return function(_0x2f5985){if(_0x2f5985){return _0x2f5985[_0x03ee('0x3a')]()['then'](function(){_0x212ce3[_0x03ee('0x34')](0xcc)['end']();});}};}function handleEntityNotFound(_0x14071,_0x471a49){return function(_0x58e803){if(!_0x58e803){_0x14071[_0x03ee('0x2e')](0x194);}return _0x58e803;};}function handleError(_0x1fc137,_0x5478bb){_0x5478bb=_0x5478bb||0x1f4;return function(_0x5cb02b){logger[_0x03ee('0x29')](_0x5cb02b[_0x03ee('0x3b')]);if(_0x5cb02b[_0x03ee('0x3c')]){delete _0x5cb02b['name'];}_0x1fc137[_0x03ee('0x34')](_0x5478bb)[_0x03ee('0x3d')](_0x5cb02b);};}exports['index']=function(_0x23731d,_0x2752ba){var _0x21e10e={},_0x49f5bc={},_0x20d188={'count':0x0,'rows':[]};var _0x33c63b=_[_0x03ee('0x3e')](db[_0x03ee('0x3f')][_0x03ee('0x40')],function(_0x13e16c){return{'name':_0x13e16c['fieldName'],'type':_0x13e16c[_0x03ee('0x41')]['key']};});_0x49f5bc[_0x03ee('0x42')]=_[_0x03ee('0x3e')](_0x33c63b,_0x03ee('0x3c'));_0x49f5bc[_0x03ee('0x43')]=_['keys'](_0x23731d[_0x03ee('0x43')]);_0x49f5bc[_0x03ee('0x44')]=_[_0x03ee('0x45')](_0x49f5bc[_0x03ee('0x42')],_0x49f5bc[_0x03ee('0x43')]);_0x21e10e['attributes']=_[_0x03ee('0x45')](_0x49f5bc[_0x03ee('0x42')],qs[_0x03ee('0x46')](_0x23731d[_0x03ee('0x43')][_0x03ee('0x46')]));_0x21e10e['attributes']=_0x21e10e[_0x03ee('0x47')]['length']?_0x21e10e[_0x03ee('0x47')]:_0x49f5bc[_0x03ee('0x42')];if(!_0x23731d[_0x03ee('0x43')][_0x03ee('0x48')]('nolimit')){_0x21e10e[_0x03ee('0x33')]=qs[_0x03ee('0x33')](_0x23731d[_0x03ee('0x43')][_0x03ee('0x33')]);_0x21e10e[_0x03ee('0x32')]=qs[_0x03ee('0x32')](_0x23731d['query'][_0x03ee('0x32')]);}_0x21e10e['order']=qs[_0x03ee('0x49')](_0x23731d[_0x03ee('0x43')]['sort']);_0x21e10e[_0x03ee('0x4a')]=qs[_0x03ee('0x44')](_[_0x03ee('0x4b')](_0x23731d[_0x03ee('0x43')],_0x49f5bc['filters']));if(_0x23731d[_0x03ee('0x43')][_0x03ee('0x4c')]){_0x21e10e[_0x03ee('0x4a')]=_[_0x03ee('0x4d')](_0x21e10e[_0x03ee('0x4a')],{'$or':_[_0x03ee('0x3e')](_0x33c63b,function(_0xa7eae3){if(_0xa7eae3['type']!==_0x03ee('0x4e')){var _0x1d421d={};_0x1d421d[_0xa7eae3['name']]={'$like':'%'+_0x23731d[_0x03ee('0x43')]['filter']+'%'};return _0x1d421d;}})});}_0x21e10e=_[_0x03ee('0x4d')]({},_0x21e10e,_0x23731d[_0x03ee('0x4f')]);var _0x35ce97={'where':_0x21e10e[_0x03ee('0x4a')]};return db[_0x03ee('0x3f')]['count'](_0x35ce97)[_0x03ee('0x39')](function(_0x5ed6c1){_0x20d188[_0x03ee('0x31')]=_0x5ed6c1;if(_0x23731d[_0x03ee('0x43')][_0x03ee('0x50')]){_0x21e10e[_0x03ee('0x51')]=[{'all':!![]}];}return db[_0x03ee('0x3f')]['findAll'](_0x21e10e);})[_0x03ee('0x39')](function(_0x3d6a0b){_0x20d188[_0x03ee('0x52')]=_0x3d6a0b;return _0x20d188;})[_0x03ee('0x39')](respondWithFilteredResult(_0x2752ba,_0x21e10e))[_0x03ee('0x2d')](handleError(_0x2752ba,null));};exports['show']=function(_0x3e79bb,_0x1f96d1){var _0x478235={'raw':!![],'where':{'id':_0x3e79bb[_0x03ee('0x53')]['id']}},_0x4d1197={};_0x4d1197['model']=_['keys'](db[_0x03ee('0x3f')][_0x03ee('0x40')]);_0x4d1197[_0x03ee('0x43')]=_['keys'](_0x3e79bb['query']);_0x4d1197['filters']=_[_0x03ee('0x45')](_0x4d1197[_0x03ee('0x42')],_0x4d1197['query']);_0x478235[_0x03ee('0x47')]=_['intersection'](_0x4d1197[_0x03ee('0x42')],qs['fields'](_0x3e79bb['query'][_0x03ee('0x46')]));_0x478235[_0x03ee('0x47')]=_0x478235[_0x03ee('0x47')]['length']?_0x478235[_0x03ee('0x47')]:_0x4d1197[_0x03ee('0x42')];if(_0x3e79bb['query'][_0x03ee('0x50')]){_0x478235[_0x03ee('0x51')]=[{'all':!![]}];}_0x478235=_[_0x03ee('0x4d')]({},_0x478235,_0x3e79bb[_0x03ee('0x4f')]);return db[_0x03ee('0x3f')][_0x03ee('0x54')](_0x478235)['then'](handleEntityNotFound(_0x1f96d1,null))[_0x03ee('0x39')](respondWithResult(_0x1f96d1,null))[_0x03ee('0x2d')](handleError(_0x1f96d1,null));};exports[_0x03ee('0x38')]=function(_0x31a01d,_0x83ceca){if(_0x31a01d[_0x03ee('0x55')]['id']){delete _0x31a01d[_0x03ee('0x55')]['id'];}return db['MailMessage'][_0x03ee('0x54')]({'where':{'id':_0x31a01d[_0x03ee('0x53')]['id']}})['then'](handleEntityNotFound(_0x83ceca,null))['then'](saveUpdates(_0x31a01d[_0x03ee('0x55')],null))[_0x03ee('0x39')](respondWithResult(_0x83ceca,null))['catch'](handleError(_0x83ceca,null));};exports[_0x03ee('0x3a')]=function(_0x3f8af6,_0x11d0bc){return db[_0x03ee('0x3f')][_0x03ee('0x54')]({'where':{'id':_0x3f8af6[_0x03ee('0x53')]['id']}})[_0x03ee('0x39')](handleEntityNotFound(_0x11d0bc,null))['then'](removeEntity(_0x11d0bc,null))[_0x03ee('0x2d')](handleError(_0x11d0bc,null));};exports[_0x03ee('0x56')]=function(_0x5990a4,_0x2c79ae){return db[_0x03ee('0x3f')][_0x03ee('0x56')]()['then'](respondWithResult(_0x2c79ae,null))[_0x03ee('0x2d')](handleError(_0x2c79ae,null));};exports[_0x03ee('0x57')]=function(_0x5e0dec,_0x3c1cde){return db[_0x03ee('0x3f')][_0x03ee('0x57')](_0x5e0dec[_0x03ee('0x55')])['then'](function(_0xad6c9a){if(_0xad6c9a){if(_0xad6c9a[_0x03ee('0x58')]===_0x03ee('0x59')&&!_0xad6c9a[_0x03ee('0x5a')]){var _0x547ca9,_0x40ba89,_0x2642df;if(_0x5e0dec[_0x03ee('0x55')]['to']){_0x40ba89=_0x5e0dec[_0x03ee('0x55')]['to']['split'](',')[0x0];}return db[_0x03ee('0x5b')][_0x03ee('0x5c')]({'where':{'id':_0xad6c9a['MailAccountId']},'include':[{'model':db[_0x03ee('0x5d')],'as':_0x03ee('0x5e'),'include':[{'model':db[_0x03ee('0x5f')],'as':_0x03ee('0x60'),'where':{'email':_0x40ba89},'limit':0x1,'order':[['updatedAt',_0x03ee('0x61')]]}]},{'model':db[_0x03ee('0x62')],'as':'Smtp','raw':!![]}]})['then'](function(_0x30274b){_0x547ca9=_0x30274b;if(_0x547ca9&&_0x547ca9[_0x03ee('0x63')]){var _0x3903ec={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x547ca9[_0x03ee('0x63')][_0x03ee('0x64')])){_0x3903ec[_0x03ee('0x65')]=_0x547ca9[_0x03ee('0x63')][_0x03ee('0x65')];_0x3903ec[_0x03ee('0x66')]=_0x547ca9['Smtp'][_0x03ee('0x66')];_0x3903ec[_0x03ee('0x67')]=_0x547ca9['Smtp'][_0x03ee('0x67')];if(_0x547ca9[_0x03ee('0x63')][_0x03ee('0x68')]){_0x3903ec[_0x03ee('0x69')]={'user':_0x547ca9[_0x03ee('0x63')][_0x03ee('0x6a')],'pass':_0x547ca9[_0x03ee('0x63')][_0x03ee('0x6b')]};}}else{_0x3903ec[_0x03ee('0x64')]=_0x547ca9[_0x03ee('0x63')]['service'];_0x3903ec[_0x03ee('0x69')]={'user':_0x547ca9[_0x03ee('0x63')]['user'],'pass':_0x547ca9[_0x03ee('0x63')][_0x03ee('0x6b')]};_0x3903ec[_0x03ee('0x67')]=_0x547ca9[_0x03ee('0x63')]['secure'];}if(_0x5e0dec[_0x03ee('0x55')][_0x03ee('0x6c')]&&_0x5e0dec[_0x03ee('0x55')][_0x03ee('0x6c')][_0x03ee('0x6d')]){for(var _0x48b101=0x0;_0x48b101<_0x5e0dec['body']['attachments'][_0x03ee('0x6d')];_0x48b101+=0x1){_0x5e0dec[_0x03ee('0x55')]['attachments'][_0x48b101]={'filename':_0x5e0dec[_0x03ee('0x55')][_0x03ee('0x6c')][_0x48b101][_0x03ee('0x3c')],'path':path['join'](config['root'],_0x03ee('0x6e'),_0x5e0dec['body'][_0x03ee('0x6c')][_0x48b101]['basename'])};}}_0x2642df={'account':_0x3903ec,'message':_0x5e0dec[_0x03ee('0x55')]};return;}})[_0x03ee('0x39')](function(){if(_0x547ca9[_0x03ee('0x5e')]){if(_0x547ca9['List'][_0x03ee('0x60')]['length']){return _0x547ca9[_0x03ee('0x5e')][_0x03ee('0x60')][0x0];}else{return db['CmContact'][_0x03ee('0x57')](_[_0x03ee('0x1a')](_0x5e0dec['body'],{'firstName':_0x5e0dec[_0x03ee('0x55')]['to'],'email':_0x5e0dec['body']['to'],'phone':_0x5e0dec[_0x03ee('0x55')]['to'],'ListId':_0x547ca9[_0x03ee('0x6f')]}));}}else{throw new Error(_0x03ee('0x70'));}})[_0x03ee('0x39')](function(){if(_0x2642df){return respondWithRpcPromise(_0x03ee('0x71'),_0x03ee('0x72'),_0x2642df,client9003)[_0x03ee('0x39')](function(_0x47ba1c){return _0xad6c9a['update']({'read':!![],'messageId':_0x47ba1c['messageId'],'sentAt':moment()[_0x03ee('0x73')](_0x03ee('0x74'))});})['catch'](function(_0x5619f9){logger[_0x03ee('0x29')]('%s',JSON['stringify'](_0x5619f9));return _0xad6c9a;});}return _0xad6c9a;});}return _0xad6c9a;}})[_0x03ee('0x39')](respondWithResult(_0x3c1cde,0xc9))[_0x03ee('0x2d')](handleError(_0x3c1cde,null));};var interaction_log=require(_0x03ee('0x15'))(_0x03ee('0x75'));exports[_0x03ee('0x76')]=function(_0x94dac,_0x487fcd,_0x168d03){var _0x4d6687={'channel':_0x03ee('0x77')};if(_0x94dac[_0x03ee('0x55')]['id']){delete _0x94dac[_0x03ee('0x55')]['id'];}_0x94dac[_0x03ee('0x55')][_0x03ee('0x78')]=!![];_0x94dac[_0x03ee('0x55')][_0x03ee('0x79')]=moment()[_0x03ee('0x73')](_0x03ee('0x74'));_0x94dac['body']['UserId']=_0x94dac[_0x03ee('0x55')]['UserId']||_0x94dac[_0x03ee('0x6a')]['id'];return db[_0x03ee('0x3f')][_0x03ee('0x54')]({'where':{'id':_0x94dac[_0x03ee('0x53')]['id'],'UserId':null},'include':[{'model':db['CmContact'],'as':'Contact'}]})[_0x03ee('0x39')](handleEntityNotFound(_0x487fcd,null))['then'](saveUpdates(_0x94dac[_0x03ee('0x55')],null))['then'](function(_0x140481){if(_0x140481){_0x4d6687['message']=_0x140481[_0x03ee('0x7a')]({'plain':!![]});return db[_0x03ee('0x7b')][_0x03ee('0x54')]({'where':{'id':_0x140481[_0x03ee('0x7c')]}});}return null;})[_0x03ee('0x39')](handleEntityNotFound(_0x487fcd,null))[_0x03ee('0x39')](function(_0x380d44){if(_0x380d44){return _0x380d44[_0x03ee('0x38')]({'UserId':_0x94dac[_0x03ee('0x55')][_0x03ee('0x7d')],'read1stAt':_['isNil'](_0x380d44[_0x03ee('0x7e')])?moment()['format'](_0x03ee('0x74')):undefined});}return null;})[_0x03ee('0x39')](function(_0x5f5631){if(_0x5f5631){_0x4d6687[_0x03ee('0x7f')]=_0x5f5631[_0x03ee('0x7a')]({'plain':!![]});interaction_log[_0x03ee('0x2b')](_0x03ee('0x80'),_0x94dac[_0x03ee('0x6a')]['id'],_0x94dac[_0x03ee('0x6a')][_0x03ee('0x3c')],_0x94dac[_0x03ee('0x6a')][_0x03ee('0x81')],_0x4d6687[_0x03ee('0x7f')]['id'],_0x94dac[_0x03ee('0x55')]?JSON[_0x03ee('0x28')](_0x94dac[_0x03ee('0x55')]):_0x03ee('0x82'));return respondWithRpcPromise(_0x03ee('0x83'),_0x03ee('0x84'),_0x4d6687);}return null;})[_0x03ee('0x39')](function(_0x459d4f){if(_0x459d4f){if(_0x94dac[_0x03ee('0x55')][_0x03ee('0x85')]){_0x4d6687[_0x03ee('0x2a')][_0x03ee('0x86')]=util['format'](_0x03ee('0x87'),_0x94dac['user'][_0x03ee('0x3c')]);_0x4d6687[_0x03ee('0x2a')][_0x03ee('0x88')]=_0x4d6687[_0x03ee('0x88')];_0x4d6687['message']['event']=_0x03ee('0x76');return respondWithRpcPromise(_0x03ee('0x89'),_0x03ee('0x89'),{'event':_0x03ee('0x8a'),'message':_0x4d6687[_0x03ee('0x2a')]},client9002)['then'](function(){return _0x4d6687;});}return _0x4d6687;}return null;})[_0x03ee('0x39')](respondWithResult(_0x487fcd,null))[_0x03ee('0x2d')](handleError(_0x487fcd,null));};var interaction_log=require(_0x03ee('0x15'))('mail-interactions');exports[_0x03ee('0x37')]=function(_0x3b7308,_0x3485f9,_0x13ec42){var _0x169e23={'agent':{},'channel':_0x03ee('0x77')};if(_0x3b7308[_0x03ee('0x55')]['id']){delete _0x3b7308[_0x03ee('0x55')]['id'];}_0x3b7308['body'][_0x03ee('0x7d')]=_0x3b7308['body'][_0x03ee('0x7d')]||_0x3b7308[_0x03ee('0x6a')]['id'];_0x169e23[_0x03ee('0x8b')]['id']=_0x3b7308[_0x03ee('0x55')][_0x03ee('0x7d')];return db[_0x03ee('0x3f')][_0x03ee('0x54')]({'where':{'id':_0x3b7308[_0x03ee('0x53')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x3485f9,null))[_0x03ee('0x39')](function(_0x4c2927){if(_0x4c2927){_0x169e23[_0x03ee('0x2a')]=_0x4c2927[_0x03ee('0x7a')]({'plain':!![]});return db[_0x03ee('0x7b')]['find']({'where':{'id':_0x4c2927[_0x03ee('0x7c')]}});}return null;})[_0x03ee('0x39')](handleEntityNotFound(_0x3485f9,null))[_0x03ee('0x39')](function(_0x35e730){if(_0x35e730){_0x169e23[_0x03ee('0x7f')]=_0x35e730['get']({'plain':!![]});interaction_log['info']('[MAILMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x3b7308[_0x03ee('0x6a')]['id'],_0x3b7308[_0x03ee('0x6a')][_0x03ee('0x3c')],_0x3b7308[_0x03ee('0x6a')]['role'],_0x169e23[_0x03ee('0x7f')]['id'],_0x3b7308[_0x03ee('0x55')]?JSON[_0x03ee('0x28')](_0x3b7308[_0x03ee('0x55')]):_0x03ee('0x82'));return respondWithRpcPromise(_0x03ee('0x8c'),_0x03ee('0x8d'),_0x169e23);}return null;})[_0x03ee('0x39')](function(_0x430e47){if(_0x430e47){_0x430e47[_0x03ee('0x2a')][_0x03ee('0x86')]=util[_0x03ee('0x73')](_0x03ee('0x87'),_0x3b7308[_0x03ee('0x6a')][_0x03ee('0x3c')]);_0x430e47[_0x03ee('0x2a')][_0x03ee('0x88')]=_0x169e23[_0x03ee('0x88')];_0x430e47['message'][_0x03ee('0x8e')]='reject';respondWithRpcPromise('EventManager',_0x03ee('0x89'),{'event':'rejectmessage','message':_0x430e47['message']},client9002);return _0x169e23;}return null;})[_0x03ee('0x39')](respondWithResult(_0x3485f9,null))['catch'](handleError(_0x3485f9,null));};exports['download']=function(_0xff9faa,_0x217699){var _0x376087=moment()['unix']()[_0x03ee('0x8f')]();var _0x2d9f00=path[_0x03ee('0x90')](config[_0x03ee('0x91')],_0x03ee('0x92'),_0x03ee('0x93'),_0x03ee('0x94'));var _0xb50ec1=path[_0x03ee('0x90')](config['root'],_0x03ee('0x92'),_0x03ee('0x93'),_0x03ee('0x6c'));var _0x177c30=util[_0x03ee('0x73')](_0x03ee('0x95'),_0x376087);return db['MailMessage'][_0x03ee('0x54')]({'where':{'id':_0xff9faa[_0x03ee('0x53')]['id']},'attributes':['id',_0x03ee('0x55'),'from','to','cc',_0x03ee('0x96'),_0x03ee('0x97'),_0x03ee('0x98')],'include':_0xff9faa[_0x03ee('0x43')][_0x03ee('0x6c')]?[{'model':db[_0x03ee('0x99')],'as':_0x03ee('0x9a')}]:undefined})['then'](handleEntityNotFound(_0x217699,null))[_0x03ee('0x39')](function(_0x132eea){if(_0x132eea){var _0x246939=_0x132eea;var _0x33e7a7={'from':_0x246939[_0x03ee('0x9b')],'to':_0x246939['to'],'subject':_0x246939['subject'],'html':_0x246939['body'],'headers':{'Date':moment(_0x246939[_0x03ee('0x98')])['format']('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x132eea['cc']){_0x33e7a7[_0x03ee('0x9c')]['Cc']=_0x132eea['cc'];}if(_0x132eea['bcc']){_0x33e7a7[_0x03ee('0x9c')][_0x03ee('0x9d')]=_0x132eea[_0x03ee('0x96')];}return new BPromise(function(_0x38d957,_0x43d6a5){if(_0x132eea[_0x03ee('0x9a')]){for(var _0x987e85=0x0;_0x987e85<_0x132eea[_0x03ee('0x9a')][_0x03ee('0x6d')];_0x987e85++){var _0x32dfc8=_0x132eea['Attachments'][_0x987e85];var _0x1317ac=path[_0x03ee('0x90')](_0xb50ec1,_0x32dfc8[_0x03ee('0x9e')]);if(fs['existsSync'](_0x1317ac)){_0x33e7a7['attachments'][_0x03ee('0x9f')]({'name':_0x32dfc8[_0x03ee('0x3c')],'contentType':_0x32dfc8[_0x03ee('0x41')],'data':fs['readFileSync'](_0x1317ac)});}}}emlformat[_0x03ee('0xa0')](_0x33e7a7,function(_0x2215e2,_0x41a67d){if(_0x2215e2)return _0x43d6a5(_0x2215e2);fs[_0x03ee('0xa1')](path[_0x03ee('0x90')](_0x2d9f00,_0x177c30),_0x41a67d);return _0x38d957(_0x41a67d);});});}})[_0x03ee('0x39')](function(_0x46bf13){if(_0x46bf13){return _0x217699[_0x03ee('0xa2')](path['join'](_0x2d9f00,_0x177c30),_0x177c30,function(_0x3e261b){if(_0x3e261b){console[_0x03ee('0xa3')]('err',_0x3e261b);}else{fs[_0x03ee('0xa4')](path[_0x03ee('0x90')](_0x2d9f00,_0x177c30));}});}})[_0x03ee('0x2d')](handleError(_0x217699,null));};