Built motion from commit 3c2ce842.|2.6.31
[motion2.git] / server / api / mailInteraction / mailInteraction.controller.js
index dcb7cc5..6f57e30 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xade9=['params','model','keys','query','filters','intersection','fields','attributes','length','include','merge','find','create','body','describe','addMessage','MailMessage','ids','findOne','hasOwnProperty','nolimit','order','sort','where','pick','MailInteractionId','filter','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','options','includeAll','inlineCss','true','rows','addTags','setTags','spread','Tag','color','emit','mailInteractionTags:save','removeTags','download','unix','toString','join','root','server','files','tmp','transcript-%d-%s.zip','attachments','push','Attachment','Attachments','Messages','from','subject','createdAt','get','mkdirSync','each','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','bcc','Bcc','basename','existsSync','readFileSync','build','writeFileSync','message%d.eml','unlinkSync','rimraf','zip-dir','moment','bluebird','lodash','juice','ioredis','../../components/interaction/service','../../components/parsers/qs','api','../../config/environment','../../mysqldb','html-entities','redis','defaults','localhost','socket.io-emitter','./mailInteraction.socket','register','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','update','then','destroy','error','stack','name','send','index','map','MailInteraction','rawAttributes','fieldName','type','key','getOptions','findAll','mail','catch','show'];(function(_0x2e8e99,_0x3eae1c){var _0x308334=function(_0x2d8a43){while(--_0x2d8a43){_0x2e8e99['push'](_0x2e8e99['shift']());}};_0x308334(++_0x3eae1c);}(_0xade9,0x1c0));var _0x9ade=function(_0x174a72,_0x46034c){_0x174a72=_0x174a72-0x0;var _0x32cecd=_0xade9[_0x174a72];return _0x32cecd;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x9ade('0x0'));var zipdir=require(_0x9ade('0x1'));var moment=require(_0x9ade('0x2'));var BPromise=require(_0x9ade('0x3'));var util=require('util');var path=require('path');var fs=require('fs');var _=require(_0x9ade('0x4'));var juice=require(_0x9ade('0x5'));var Redis=require(_0x9ade('0x6'));var interaction=require(_0x9ade('0x7'));var qs=require(_0x9ade('0x8'));var logger=require('../../config/logger')(_0x9ade('0x9'));var config=require(_0x9ade('0xa'));var db=require(_0x9ade('0xb'))['db'];var htmlEntities=require(_0x9ade('0xc'));config[_0x9ade('0xd')]=_[_0x9ade('0xe')](config['redis'],{'host':_0x9ade('0xf'),'port':0x18eb});var socket=require(_0x9ade('0x10'))(new Redis(config[_0x9ade('0xd')]));require(_0x9ade('0x11'))[_0x9ade('0x12')](socket);function respondWithStatusCode(_0x1b308a,_0x50c932){_0x50c932=_0x50c932||0xcc;return function(_0xb71fd0){if(_0xb71fd0){return _0x1b308a[_0x9ade('0x13')](_0x50c932);}return _0x1b308a['status'](_0x50c932)[_0x9ade('0x14')]();};}function respondWithResult(_0x485c78,_0x2b3027){_0x2b3027=_0x2b3027||0xc8;return function(_0xcf3d74){if(_0xcf3d74){return _0x485c78[_0x9ade('0x15')](_0x2b3027)[_0x9ade('0x16')](_0xcf3d74);}};}function respondWithFilteredResult(_0x40c707,_0x50d0e3){return function(_0x13cfaf){if(_0x13cfaf){var _0x5e4d8d=typeof _0x50d0e3[_0x9ade('0x17')]===_0x9ade('0x18')&&typeof _0x50d0e3[_0x9ade('0x19')]===_0x9ade('0x18');var _0x3a63c9=_0x13cfaf['count'];var _0x921b1b=_0x5e4d8d?0x0:_0x50d0e3[_0x9ade('0x17')];var _0x3b890=_0x5e4d8d?_0x13cfaf[_0x9ade('0x1a')]:_0x50d0e3[_0x9ade('0x17')]+_0x50d0e3['limit'];var _0xd4ef5b;if(_0x3b890>=_0x3a63c9){_0x3b890=_0x3a63c9;_0xd4ef5b=0xc8;}else{_0xd4ef5b=0xce;}_0x40c707['status'](_0xd4ef5b);return _0x40c707[_0x9ade('0x1b')](_0x9ade('0x1c'),_0x921b1b+'-'+_0x3b890+'/'+_0x3a63c9)[_0x9ade('0x16')](_0x13cfaf);}return null;};}function saveUpdates(_0x10c4a0){return function(_0x4f64aa){if(_0x4f64aa){return _0x4f64aa[_0x9ade('0x1d')](_0x10c4a0)[_0x9ade('0x1e')](function(_0x5b132e){return _0x5b132e;});}return null;};}function removeEntity(_0x33c6c8){return function(_0x7b34a2){if(_0x7b34a2){return _0x7b34a2[_0x9ade('0x1f')]()[_0x9ade('0x1e')](function(){_0x33c6c8[_0x9ade('0x15')](0xcc)[_0x9ade('0x14')]();});}};}function handleEntityNotFound(_0x4cb7c1){return function(_0x1e62ee){if(!_0x1e62ee){_0x4cb7c1[_0x9ade('0x13')](0x194);}return _0x1e62ee;};}function handleError(_0x3ed9ca,_0x341691){_0x341691=_0x341691||0x1f4;return function(_0x203aba){logger[_0x9ade('0x20')](_0x203aba[_0x9ade('0x21')]);if(_0x203aba[_0x9ade('0x22')]){delete _0x203aba[_0x9ade('0x22')];}_0x3ed9ca[_0x9ade('0x15')](_0x341691)[_0x9ade('0x23')](_0x203aba);};}exports[_0x9ade('0x24')]=function(_0x51a0dc,_0x12b879){var _0x2721cf={};var _0x5e7c96=_[_0x9ade('0x25')](db[_0x9ade('0x26')][_0x9ade('0x27')],function(_0x409ab9){return{'name':_0x409ab9[_0x9ade('0x28')],'type':_0x409ab9[_0x9ade('0x29')][_0x9ade('0x2a')]};});_0x2721cf=qs[_0x9ade('0x2b')](_0x5e7c96,_0x51a0dc);return interaction[_0x9ade('0x2c')](_0x9ade('0x2d'),_0x51a0dc['query'],_0x51a0dc['user'],_0x2721cf,_0x5e7c96)[_0x9ade('0x1e')](respondWithFilteredResult(_0x12b879,_0x2721cf))[_0x9ade('0x2e')](handleError(_0x12b879,null));};exports[_0x9ade('0x2f')]=function(_0x57f5b7,_0x3fc6ab){var _0xd77e18={'raw':![],'where':{'id':_0x57f5b7[_0x9ade('0x30')]['id']}},_0x5bf12f={};_0x5bf12f[_0x9ade('0x31')]=_[_0x9ade('0x32')](db['MailInteraction'][_0x9ade('0x27')]);_0x5bf12f[_0x9ade('0x33')]=_['keys'](_0x57f5b7[_0x9ade('0x33')]);_0x5bf12f[_0x9ade('0x34')]=_[_0x9ade('0x35')](_0x5bf12f[_0x9ade('0x31')],_0x5bf12f[_0x9ade('0x33')]);_0xd77e18['attributes']=_[_0x9ade('0x35')](_0x5bf12f[_0x9ade('0x31')],qs['fields'](_0x57f5b7[_0x9ade('0x33')][_0x9ade('0x36')]));_0xd77e18[_0x9ade('0x37')]=_0xd77e18[_0x9ade('0x37')][_0x9ade('0x38')]?_0xd77e18[_0x9ade('0x37')]:_0x5bf12f[_0x9ade('0x31')];if(_0x57f5b7[_0x9ade('0x33')]['includeAll']){_0xd77e18[_0x9ade('0x39')]=[{'all':!![]}];}_0xd77e18=_[_0x9ade('0x3a')]({},_0xd77e18,_0x57f5b7['options']);return db['MailInteraction'][_0x9ade('0x3b')](_0xd77e18)[_0x9ade('0x1e')](handleEntityNotFound(_0x3fc6ab,null))['then'](respondWithResult(_0x3fc6ab,null))['catch'](handleError(_0x3fc6ab,null));};exports[_0x9ade('0x3c')]=function(_0x52af24,_0x14ef51){return db[_0x9ade('0x26')]['create'](_0x52af24[_0x9ade('0x3d')],{})[_0x9ade('0x1e')](respondWithResult(_0x14ef51,0xc9))[_0x9ade('0x2e')](handleError(_0x14ef51,null));};exports[_0x9ade('0x1d')]=function(_0x3736bb,_0x17dddc){if(_0x3736bb[_0x9ade('0x3d')]['id']){delete _0x3736bb['body']['id'];}return db['MailInteraction']['find']({'where':{'id':_0x3736bb[_0x9ade('0x30')]['id']}})[_0x9ade('0x1e')](handleEntityNotFound(_0x17dddc,null))[_0x9ade('0x1e')](saveUpdates(_0x3736bb[_0x9ade('0x3d')],null))['then'](respondWithResult(_0x17dddc,null))[_0x9ade('0x2e')](handleError(_0x17dddc,null));};exports[_0x9ade('0x1f')]=function(_0xa02524,_0x208f78){return db[_0x9ade('0x26')][_0x9ade('0x3b')]({'where':{'id':_0xa02524['params']['id']}})[_0x9ade('0x1e')](handleEntityNotFound(_0x208f78,null))[_0x9ade('0x1e')](removeEntity(_0x208f78,null))[_0x9ade('0x2e')](handleError(_0x208f78,null));};exports[_0x9ade('0x3e')]=function(_0x4e810c,_0x160eed){return db[_0x9ade('0x26')][_0x9ade('0x3e')]()[_0x9ade('0x1e')](respondWithResult(_0x160eed,null))[_0x9ade('0x2e')](handleError(_0x160eed,null));};exports[_0x9ade('0x3f')]=function(_0x3d1246,_0x3bd681){return db[_0x9ade('0x40')]['find']({'where':{'id':_0x3d1246[_0x9ade('0x30')]['id']}})[_0x9ade('0x1e')](handleEntityNotFound(_0x3bd681,null))[_0x9ade('0x1e')](function(_0x59db3b){if(_0x59db3b){return _0x59db3b['addMessage'](_0x3d1246[_0x9ade('0x3d')]['ids'],_['omit'](_0x3d1246[_0x9ade('0x3d')],[_0x9ade('0x41'),'id'])||{});}})[_0x9ade('0x1e')](respondWithResult(_0x3bd681,null))[_0x9ade('0x2e')](handleError(_0x3bd681,null));};exports['getMessages']=function(_0xe33754,_0x45ccfd){var _0x2484bf={'raw':![],'where':{}};var _0x1b2df7={};var _0x21b1d6={'count':0x0,'rows':[]};return db[_0x9ade('0x26')][_0x9ade('0x42')]({'where':{'id':_0xe33754[_0x9ade('0x30')]['id']}})[_0x9ade('0x1e')](handleEntityNotFound(_0x45ccfd,null))['then'](function(_0x53f656){if(_0x53f656){_0x1b2df7[_0x9ade('0x31')]=_[_0x9ade('0x32')](db[_0x9ade('0x40')][_0x9ade('0x27')]);_0x1b2df7[_0x9ade('0x33')]=_['keys'](_0xe33754[_0x9ade('0x33')]);_0x1b2df7[_0x9ade('0x34')]=_[_0x9ade('0x35')](_0x1b2df7[_0x9ade('0x31')],_0x1b2df7[_0x9ade('0x33')]);_0x2484bf['attributes']=_[_0x9ade('0x35')](_0x1b2df7['model'],qs[_0x9ade('0x36')](_0xe33754['query'][_0x9ade('0x36')]));_0x2484bf[_0x9ade('0x37')]=_0x2484bf['attributes'][_0x9ade('0x38')]?_0x2484bf[_0x9ade('0x37')]:_0x1b2df7[_0x9ade('0x31')];if(!_0xe33754[_0x9ade('0x33')][_0x9ade('0x43')](_0x9ade('0x44'))){_0x2484bf[_0x9ade('0x19')]=qs[_0x9ade('0x19')](_0xe33754[_0x9ade('0x33')]['limit']);_0x2484bf[_0x9ade('0x17')]=qs[_0x9ade('0x17')](_0xe33754[_0x9ade('0x33')][_0x9ade('0x17')]);}_0x2484bf[_0x9ade('0x45')]=qs[_0x9ade('0x46')](_0xe33754[_0x9ade('0x33')][_0x9ade('0x46')]);_0x2484bf[_0x9ade('0x47')]=qs[_0x9ade('0x34')](_[_0x9ade('0x48')](_0xe33754[_0x9ade('0x33')],_0x1b2df7[_0x9ade('0x34')]));_0x2484bf[_0x9ade('0x47')][_0x9ade('0x49')]=_0x53f656['id'];if(_0xe33754['query'][_0x9ade('0x4a')]){_0x2484bf[_0x9ade('0x47')]=_[_0x9ade('0x3a')](_0x2484bf[_0x9ade('0x47')],{'$or':_[_0x9ade('0x25')](_0x2484bf[_0x9ade('0x37')],function(_0x52956b){var _0x3dd203={};_0x3dd203[_0x52956b]={'$like':'%'+_0xe33754[_0x9ade('0x33')][_0x9ade('0x4a')]+'%'};return _0x3dd203;})});}if(_0xe33754[_0x9ade('0x33')][_0x9ade('0x4b')]){var _0x100503=_0xe33754[_0x9ade('0x33')][_0x9ade('0x4b')][_0x9ade('0x4c')](',');var _0xa6a103={};_0xa6a103[_0x100503[0x0]]={'$gte':moment(_0x100503[0x1])[_0x9ade('0x4d')](_0x9ade('0x4e'))};_0x2484bf[_0x9ade('0x47')]=_[_0x9ade('0x3a')](_0x2484bf['where'],_0xa6a103);}_0x2484bf=_[_0x9ade('0x3a')]({},_0x2484bf,_0xe33754[_0x9ade('0x4f')]);return db[_0x9ade('0x40')][_0x9ade('0x1a')]({'where':_0x2484bf['where']})['then'](function(_0x30aaba){_0x21b1d6['count']=_0x30aaba;if(_0xe33754[_0x9ade('0x33')][_0x9ade('0x50')]){_0x2484bf['include']=[{'all':!![]}];}return db['MailMessage'][_0x9ade('0x2c')](_0x2484bf);})[_0x9ade('0x1e')](function(_0x44e8a9){if(_0xe33754[_0x9ade('0x33')][_0x9ade('0x51')]===_0x9ade('0x52')){for(var _0x4e46e7=0x0;_0x4e46e7<_0x44e8a9[_0x9ade('0x38')];_0x4e46e7++){_0x44e8a9[_0x4e46e7][_0x9ade('0x3d')]=juice(_0x44e8a9[_0x4e46e7][_0x9ade('0x3d')]);}}_0x21b1d6[_0x9ade('0x53')]=_0x44e8a9;return _0x21b1d6;});}})[_0x9ade('0x1e')](respondWithFilteredResult(_0x45ccfd,_0x2484bf))[_0x9ade('0x2e')](handleError(_0x45ccfd,null));};exports[_0x9ade('0x54')]=function(_0x6a4490,_0x2d3109){return db[_0x9ade('0x26')][_0x9ade('0x3b')]({'where':{'id':_0x6a4490[_0x9ade('0x30')]['id']}})[_0x9ade('0x1e')](handleEntityNotFound(_0x2d3109,null))[_0x9ade('0x1e')](function(_0x3a2275){if(_0x3a2275){return _0x3a2275[_0x9ade('0x55')](_0x6a4490[_0x9ade('0x3d')][_0x9ade('0x41')],_['omit'](_0x6a4490[_0x9ade('0x3d')],['ids','id'])||{})[_0x9ade('0x56')](function(){return db[_0x9ade('0x57')]['findAll']({'attributes':['id',_0x9ade('0x22'),_0x9ade('0x58')],'where':{'id':_0x6a4490[_0x9ade('0x3d')][_0x9ade('0x41')]}});})[_0x9ade('0x1e')](function(_0x3be650){socket[_0x9ade('0x59')](_0x9ade('0x5a'),{'id':Number(_0x6a4490[_0x9ade('0x30')]['id']),'tags':_0x3be650||[]});return{'id':Number(_0x6a4490['params']['id']),'tags':_0x3be650||[]};});}})['then'](respondWithResult(_0x2d3109,null))[_0x9ade('0x2e')](handleError(_0x2d3109,null));};exports[_0x9ade('0x5b')]=function(_0x4620a8,_0x2bb846){return db[_0x9ade('0x26')][_0x9ade('0x3b')]({'where':{'id':_0x4620a8[_0x9ade('0x30')]['id']}})['then'](handleEntityNotFound(_0x2bb846,null))['then'](function(_0x3814bb){if(_0x3814bb){return _0x3814bb['removeTags'](_0x4620a8[_0x9ade('0x33')][_0x9ade('0x41')]);}})[_0x9ade('0x1e')](respondWithStatusCode(_0x2bb846,null))[_0x9ade('0x2e')](handleError(_0x2bb846,null));};exports[_0x9ade('0x5c')]=function(_0x44d3ef,_0x787f16){var _0x26deb5=moment()[_0x9ade('0x5d')]()[_0x9ade('0x5e')]();var _0x69c8e5=path[_0x9ade('0x5f')](config[_0x9ade('0x60')],_0x9ade('0x61'),_0x9ade('0x62'),_0x9ade('0x63'));var _0x104987=path[_0x9ade('0x5f')](config[_0x9ade('0x60')],_0x9ade('0x61'),_0x9ade('0x62'),'attachments');var _0x280317=path[_0x9ade('0x5f')](_0x69c8e5,_0x26deb5);var _0xa78357=util[_0x9ade('0x4d')](_0x9ade('0x64'),_0x44d3ef['params']['id'],_0x26deb5);var _0x2f13c1=path[_0x9ade('0x5f')](_0x69c8e5,_0xa78357);var _0x65aea3=[];if(_0x44d3ef[_0x9ade('0x33')][_0x9ade('0x65')]){_0x65aea3[_0x9ade('0x66')]({'model':db[_0x9ade('0x67')],'as':_0x9ade('0x68'),'raw':!![]});}var _0x5dd76a=[{'model':db[_0x9ade('0x40')],'as':_0x9ade('0x69'),'attributes':['id','body',_0x9ade('0x6a'),'to','cc','bcc',_0x9ade('0x6b'),_0x9ade('0x6c')],'where':{'secret':![]},'order':qs[_0x9ade('0x46')]('id'),'include':_0x65aea3}];return db[_0x9ade('0x26')]['find']({'where':{'id':_0x44d3ef[_0x9ade('0x30')]['id']},'include':_0x5dd76a})['then'](handleEntityNotFound(_0x787f16,null))[_0x9ade('0x1e')](function(_0x4e11d9){if(_0x4e11d9&&_0x4e11d9[_0x9ade('0x69')]){var _0x555262=_0x4e11d9[_0x9ade('0x6d')]({'plain':!![]});fs[_0x9ade('0x6e')](_0x280317);return BPromise[_0x9ade('0x6f')](_0x555262[_0x9ade('0x69')],function(_0x3b1ada,_0x511434){var _0x3ce712={'from':_0x3b1ada['from'],'to':_0x3b1ada['to']||'missing.recipient@your.company.com','subject':_0x3b1ada[_0x9ade('0x6b')],'html':htmlEntities[_0x9ade('0x70')](_0x3b1ada[_0x9ade('0x3d')]),'headers':{'Date':moment(_0x3b1ada[_0x9ade('0x6c')])['format'](_0x9ade('0x71'))},'attachments':[]};if(_0x3b1ada['cc']){_0x3ce712[_0x9ade('0x72')]['Cc']=_0x3b1ada['cc'];}if(_0x3b1ada[_0x9ade('0x73')]){_0x3ce712[_0x9ade('0x72')][_0x9ade('0x74')]=_0x3b1ada['bcc'];}return new BPromise(function(_0x13c99b,_0x40dd88){if(_0x3b1ada[_0x9ade('0x68')]){for(var _0x2a6704=0x0;_0x2a6704<_0x3b1ada[_0x9ade('0x68')][_0x9ade('0x38')];_0x2a6704++){var _0x4add70=_0x3b1ada[_0x9ade('0x68')][_0x2a6704];var _0x2d1fae=path[_0x9ade('0x5f')](_0x104987,_0x4add70[_0x9ade('0x75')]);if(fs[_0x9ade('0x76')](_0x2d1fae)){_0x3ce712[_0x9ade('0x65')]['push']({'name':_0x4add70[_0x9ade('0x22')],'contentType':_0x4add70[_0x9ade('0x29')],'data':fs[_0x9ade('0x77')](_0x2d1fae)});}}}emlformat[_0x9ade('0x78')](_0x3ce712,function(_0x4cd3e9,_0x388a82){if(_0x4cd3e9)return _0x40dd88(_0x4cd3e9);fs[_0x9ade('0x79')](path[_0x9ade('0x5f')](_0x280317,util[_0x9ade('0x4d')](_0x9ade('0x7a'),_0x511434)),_0x388a82);return _0x13c99b(_0x388a82);});});})[_0x9ade('0x1e')](function(){return new BPromise(function(_0x42620f,_0xe4d445){zipdir(_0x280317,{'saveTo':_0x2f13c1},function(_0x324724,_0x2300e7){if(_0x324724)return _0xe4d445(_0x324724);return _0x42620f(_0x2300e7);});})['then'](function(){return new BPromise(function(_0x36ec55,_0x3db45f){rimraf(_0x280317,function(_0x3165e0){if(_0x3165e0)_0x3db45f(_0x3165e0);return _0x36ec55();});});})[_0x9ade('0x1e')](function(){return _0x787f16[_0x9ade('0x5c')](_0x2f13c1,_0xa78357,function(_0x5ac97e){if(!_0x5ac97e)fs[_0x9ade('0x7b')](_0x2f13c1);});});});}else{return _0x787f16[_0x9ade('0x13')](0xc8);}})[_0x9ade('0x2e')](handleError(_0x787f16,null));};
\ No newline at end of file
+var _0xdfd3=['limit','status','update','destroy','then','error','stack','name','index','map','rawAttributes','fieldName','key','getOptions','findAll','user','catch','show','params','model','keys','query','filters','attributes','intersection','fields','includeAll','merge','options','find','create','body','MailInteraction','describe','addMessage','MailMessage','ids','getMessages','length','hasOwnProperty','nolimit','order','sort','where','pick','MailInteractionId','filter','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','include','inlineCss','rows','addTags','setTags','omit','spread','Tag','color','emit','mailInteractionTags:save','download','unix','toString','join','root','server','files','tmp','attachments','transcript-%d-%s.zip','Attachment','Messages','from','bcc','subject','createdAt','get','mkdirSync','each','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','Attachments','basename','existsSync','type','readFileSync','build','writeFileSync','message%d.eml','rimraf','zip-dir','moment','bluebird','util','path','lodash','juice','ioredis','../../components/interaction/service','api','../../config/environment','../../mysqldb','html-entities','localhost','socket.io-emitter','./mailInteraction.socket','register','sendStatus','end','json','offset','undefined','count'];(function(_0x29eb44,_0x300719){var _0x4512ac=function(_0x183803){while(--_0x183803){_0x29eb44['push'](_0x29eb44['shift']());}};_0x4512ac(++_0x300719);}(_0xdfd3,0x1b8));var _0x3dfd=function(_0x36d04d,_0x469817){_0x36d04d=_0x36d04d-0x0;var _0x213b48=_0xdfd3[_0x36d04d];return _0x213b48;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3dfd('0x0'));var zipdir=require(_0x3dfd('0x1'));var moment=require(_0x3dfd('0x2'));var BPromise=require(_0x3dfd('0x3'));var util=require(_0x3dfd('0x4'));var path=require(_0x3dfd('0x5'));var fs=require('fs');var _=require(_0x3dfd('0x6'));var juice=require(_0x3dfd('0x7'));var Redis=require(_0x3dfd('0x8'));var interaction=require(_0x3dfd('0x9'));var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')(_0x3dfd('0xa'));var config=require(_0x3dfd('0xb'));var db=require(_0x3dfd('0xc'))['db'];var htmlEntities=require(_0x3dfd('0xd'));config['redis']=_['defaults'](config['redis'],{'host':_0x3dfd('0xe'),'port':0x18eb});var socket=require(_0x3dfd('0xf'))(new Redis(config['redis']));require(_0x3dfd('0x10'))[_0x3dfd('0x11')](socket);function respondWithStatusCode(_0x96fb09,_0x2691b7){_0x2691b7=_0x2691b7||0xcc;return function(_0x4d72cd){if(_0x4d72cd){return _0x96fb09[_0x3dfd('0x12')](_0x2691b7);}return _0x96fb09['status'](_0x2691b7)[_0x3dfd('0x13')]();};}function respondWithResult(_0x756b9c,_0xd86242){_0xd86242=_0xd86242||0xc8;return function(_0x1d4430){if(_0x1d4430){return _0x756b9c['status'](_0xd86242)[_0x3dfd('0x14')](_0x1d4430);}};}function respondWithFilteredResult(_0x324bb7,_0x2166b1){return function(_0x14cd07){if(_0x14cd07){var _0x112d44=typeof _0x2166b1[_0x3dfd('0x15')]===_0x3dfd('0x16')&&typeof _0x2166b1['limit']===_0x3dfd('0x16');var _0x178b37=_0x14cd07['count'];var _0x335a02=_0x112d44?0x0:_0x2166b1[_0x3dfd('0x15')];var _0x25c4cc=_0x112d44?_0x14cd07[_0x3dfd('0x17')]:_0x2166b1['offset']+_0x2166b1[_0x3dfd('0x18')];var _0x1cb669;if(_0x25c4cc>=_0x178b37){_0x25c4cc=_0x178b37;_0x1cb669=0xc8;}else{_0x1cb669=0xce;}_0x324bb7[_0x3dfd('0x19')](_0x1cb669);return _0x324bb7['set']('Content-Range',_0x335a02+'-'+_0x25c4cc+'/'+_0x178b37)[_0x3dfd('0x14')](_0x14cd07);}return null;};}function saveUpdates(_0x12096f){return function(_0x25c3a2){if(_0x25c3a2){return _0x25c3a2[_0x3dfd('0x1a')](_0x12096f)['then'](function(_0x4599ab){return _0x4599ab;});}return null;};}function removeEntity(_0x49172c){return function(_0xdd8a0b){if(_0xdd8a0b){return _0xdd8a0b[_0x3dfd('0x1b')]()[_0x3dfd('0x1c')](function(){_0x49172c[_0x3dfd('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x38ee1a){return function(_0x23eb03){if(!_0x23eb03){_0x38ee1a[_0x3dfd('0x12')](0x194);}return _0x23eb03;};}function handleError(_0x322df9,_0x137824){_0x137824=_0x137824||0x1f4;return function(_0x4d2397){logger[_0x3dfd('0x1d')](_0x4d2397[_0x3dfd('0x1e')]);if(_0x4d2397[_0x3dfd('0x1f')]){delete _0x4d2397['name'];}_0x322df9[_0x3dfd('0x19')](_0x137824)['send'](_0x4d2397);};}exports[_0x3dfd('0x20')]=function(_0x49b99c,_0x5c566e){var _0x2202d8={};var _0x1074e6=_[_0x3dfd('0x21')](db['MailInteraction'][_0x3dfd('0x22')],function(_0x32b751){return{'name':_0x32b751[_0x3dfd('0x23')],'type':_0x32b751['type'][_0x3dfd('0x24')]};});_0x2202d8=qs[_0x3dfd('0x25')](_0x1074e6,_0x49b99c);return interaction[_0x3dfd('0x26')]('mail',_0x49b99c['query'],_0x49b99c[_0x3dfd('0x27')],_0x2202d8,_0x1074e6)['then'](respondWithFilteredResult(_0x5c566e,_0x2202d8))[_0x3dfd('0x28')](handleError(_0x5c566e,null));};exports[_0x3dfd('0x29')]=function(_0x28c78f,_0x5207ea){var _0x374153={'raw':![],'where':{'id':_0x28c78f[_0x3dfd('0x2a')]['id']}},_0x2c0f40={};_0x2c0f40[_0x3dfd('0x2b')]=_[_0x3dfd('0x2c')](db['MailInteraction'][_0x3dfd('0x22')]);_0x2c0f40[_0x3dfd('0x2d')]=_[_0x3dfd('0x2c')](_0x28c78f[_0x3dfd('0x2d')]);_0x2c0f40[_0x3dfd('0x2e')]=_['intersection'](_0x2c0f40[_0x3dfd('0x2b')],_0x2c0f40[_0x3dfd('0x2d')]);_0x374153[_0x3dfd('0x2f')]=_[_0x3dfd('0x30')](_0x2c0f40['model'],qs[_0x3dfd('0x31')](_0x28c78f[_0x3dfd('0x2d')][_0x3dfd('0x31')]));_0x374153[_0x3dfd('0x2f')]=_0x374153[_0x3dfd('0x2f')]['length']?_0x374153[_0x3dfd('0x2f')]:_0x2c0f40[_0x3dfd('0x2b')];if(_0x28c78f['query'][_0x3dfd('0x32')]){_0x374153['include']=[{'all':!![]}];}_0x374153=_[_0x3dfd('0x33')]({},_0x374153,_0x28c78f[_0x3dfd('0x34')]);return db['MailInteraction'][_0x3dfd('0x35')](_0x374153)[_0x3dfd('0x1c')](handleEntityNotFound(_0x5207ea,null))['then'](respondWithResult(_0x5207ea,null))[_0x3dfd('0x28')](handleError(_0x5207ea,null));};exports[_0x3dfd('0x36')]=function(_0x23a29f,_0x3975c8){return db['MailInteraction']['create'](_0x23a29f[_0x3dfd('0x37')],{})[_0x3dfd('0x1c')](respondWithResult(_0x3975c8,0xc9))[_0x3dfd('0x28')](handleError(_0x3975c8,null));};exports[_0x3dfd('0x1a')]=function(_0x3b8a65,_0x168e6a){if(_0x3b8a65['body']['id']){delete _0x3b8a65['body']['id'];}return db[_0x3dfd('0x38')][_0x3dfd('0x35')]({'where':{'id':_0x3b8a65[_0x3dfd('0x2a')]['id']}})[_0x3dfd('0x1c')](handleEntityNotFound(_0x168e6a,null))[_0x3dfd('0x1c')](saveUpdates(_0x3b8a65[_0x3dfd('0x37')],null))[_0x3dfd('0x1c')](respondWithResult(_0x168e6a,null))[_0x3dfd('0x28')](handleError(_0x168e6a,null));};exports[_0x3dfd('0x1b')]=function(_0x428240,_0x39a1f1){return db[_0x3dfd('0x38')][_0x3dfd('0x35')]({'where':{'id':_0x428240[_0x3dfd('0x2a')]['id']}})[_0x3dfd('0x1c')](handleEntityNotFound(_0x39a1f1,null))['then'](removeEntity(_0x39a1f1,null))['catch'](handleError(_0x39a1f1,null));};exports[_0x3dfd('0x39')]=function(_0x43c7d2,_0x4a217f){return db[_0x3dfd('0x38')][_0x3dfd('0x39')]()[_0x3dfd('0x1c')](respondWithResult(_0x4a217f,null))[_0x3dfd('0x28')](handleError(_0x4a217f,null));};exports[_0x3dfd('0x3a')]=function(_0x5da65a,_0x53d1f2){return db[_0x3dfd('0x3b')][_0x3dfd('0x35')]({'where':{'id':_0x5da65a['params']['id']}})[_0x3dfd('0x1c')](handleEntityNotFound(_0x53d1f2,null))['then'](function(_0x2d2c4a){if(_0x2d2c4a){return _0x2d2c4a[_0x3dfd('0x3a')](_0x5da65a[_0x3dfd('0x37')][_0x3dfd('0x3c')],_['omit'](_0x5da65a['body'],[_0x3dfd('0x3c'),'id'])||{});}})[_0x3dfd('0x1c')](respondWithResult(_0x53d1f2,null))[_0x3dfd('0x28')](handleError(_0x53d1f2,null));};exports[_0x3dfd('0x3d')]=function(_0x541da8,_0x1df0a9){var _0x2fc579={'raw':![],'where':{}};var _0x31fb77={};var _0x49e8ef={'count':0x0,'rows':[]};return db[_0x3dfd('0x38')]['findOne']({'where':{'id':_0x541da8[_0x3dfd('0x2a')]['id']}})[_0x3dfd('0x1c')](handleEntityNotFound(_0x1df0a9,null))[_0x3dfd('0x1c')](function(_0x1826a8){if(_0x1826a8){_0x31fb77['model']=_[_0x3dfd('0x2c')](db['MailMessage'][_0x3dfd('0x22')]);_0x31fb77[_0x3dfd('0x2d')]=_['keys'](_0x541da8[_0x3dfd('0x2d')]);_0x31fb77[_0x3dfd('0x2e')]=_['intersection'](_0x31fb77[_0x3dfd('0x2b')],_0x31fb77[_0x3dfd('0x2d')]);_0x2fc579[_0x3dfd('0x2f')]=_[_0x3dfd('0x30')](_0x31fb77[_0x3dfd('0x2b')],qs['fields'](_0x541da8['query'][_0x3dfd('0x31')]));_0x2fc579[_0x3dfd('0x2f')]=_0x2fc579[_0x3dfd('0x2f')][_0x3dfd('0x3e')]?_0x2fc579[_0x3dfd('0x2f')]:_0x31fb77[_0x3dfd('0x2b')];if(!_0x541da8[_0x3dfd('0x2d')][_0x3dfd('0x3f')](_0x3dfd('0x40'))){_0x2fc579[_0x3dfd('0x18')]=qs[_0x3dfd('0x18')](_0x541da8[_0x3dfd('0x2d')][_0x3dfd('0x18')]);_0x2fc579[_0x3dfd('0x15')]=qs[_0x3dfd('0x15')](_0x541da8[_0x3dfd('0x2d')][_0x3dfd('0x15')]);}_0x2fc579[_0x3dfd('0x41')]=qs['sort'](_0x541da8[_0x3dfd('0x2d')][_0x3dfd('0x42')]);_0x2fc579[_0x3dfd('0x43')]=qs[_0x3dfd('0x2e')](_[_0x3dfd('0x44')](_0x541da8[_0x3dfd('0x2d')],_0x31fb77[_0x3dfd('0x2e')]));_0x2fc579[_0x3dfd('0x43')][_0x3dfd('0x45')]=_0x1826a8['id'];if(_0x541da8['query']['filter']){_0x2fc579['where']=_[_0x3dfd('0x33')](_0x2fc579[_0x3dfd('0x43')],{'$or':_['map'](_0x2fc579[_0x3dfd('0x2f')],function(_0x125434){var _0x542bc6={};_0x542bc6[_0x125434]={'$like':'%'+_0x541da8[_0x3dfd('0x2d')][_0x3dfd('0x46')]+'%'};return _0x542bc6;})});}if(_0x541da8['query'][_0x3dfd('0x47')]){var _0x535839=_0x541da8[_0x3dfd('0x2d')][_0x3dfd('0x47')][_0x3dfd('0x48')](',');var _0x1449c1={};_0x1449c1[_0x535839[0x0]]={'$gte':moment(_0x535839[0x1])[_0x3dfd('0x49')](_0x3dfd('0x4a'))};_0x2fc579[_0x3dfd('0x43')]=_['merge'](_0x2fc579['where'],_0x1449c1);}_0x2fc579=_[_0x3dfd('0x33')]({},_0x2fc579,_0x541da8[_0x3dfd('0x34')]);return db[_0x3dfd('0x3b')][_0x3dfd('0x17')]({'where':_0x2fc579[_0x3dfd('0x43')]})[_0x3dfd('0x1c')](function(_0x556c3b){_0x49e8ef[_0x3dfd('0x17')]=_0x556c3b;if(_0x541da8[_0x3dfd('0x2d')][_0x3dfd('0x32')]){_0x2fc579[_0x3dfd('0x4b')]=[{'all':!![]}];}return db['MailMessage'][_0x3dfd('0x26')](_0x2fc579);})[_0x3dfd('0x1c')](function(_0x52566a){if(_0x541da8[_0x3dfd('0x2d')][_0x3dfd('0x4c')]==='true'){for(var _0x1fb0fd=0x0;_0x1fb0fd<_0x52566a['length'];_0x1fb0fd++){_0x52566a[_0x1fb0fd][_0x3dfd('0x37')]=juice(_0x52566a[_0x1fb0fd][_0x3dfd('0x37')]);}}_0x49e8ef[_0x3dfd('0x4d')]=_0x52566a;return _0x49e8ef;});}})[_0x3dfd('0x1c')](respondWithFilteredResult(_0x1df0a9,_0x2fc579))[_0x3dfd('0x28')](handleError(_0x1df0a9,null));};exports[_0x3dfd('0x4e')]=function(_0x31c0d9,_0x113576){return db['MailInteraction'][_0x3dfd('0x35')]({'where':{'id':_0x31c0d9[_0x3dfd('0x2a')]['id']}})[_0x3dfd('0x1c')](handleEntityNotFound(_0x113576,null))[_0x3dfd('0x1c')](function(_0x1bb63d){if(_0x1bb63d){return _0x1bb63d[_0x3dfd('0x4f')](_0x31c0d9[_0x3dfd('0x37')]['ids'],_[_0x3dfd('0x50')](_0x31c0d9[_0x3dfd('0x37')],[_0x3dfd('0x3c'),'id'])||{})[_0x3dfd('0x51')](function(){return db[_0x3dfd('0x52')]['findAll']({'attributes':['id',_0x3dfd('0x1f'),_0x3dfd('0x53')],'where':{'id':_0x31c0d9[_0x3dfd('0x37')][_0x3dfd('0x3c')]}});})['then'](function(_0x360d32){socket[_0x3dfd('0x54')](_0x3dfd('0x55'),{'id':Number(_0x31c0d9[_0x3dfd('0x2a')]['id']),'tags':_0x360d32||[]});return{'id':Number(_0x31c0d9[_0x3dfd('0x2a')]['id']),'tags':_0x360d32||[]};});}})[_0x3dfd('0x1c')](respondWithResult(_0x113576,null))[_0x3dfd('0x28')](handleError(_0x113576,null));};exports['removeTags']=function(_0x40545b,_0x2ed0d2){return db[_0x3dfd('0x38')][_0x3dfd('0x35')]({'where':{'id':_0x40545b['params']['id']}})[_0x3dfd('0x1c')](handleEntityNotFound(_0x2ed0d2,null))['then'](function(_0x5d9921){if(_0x5d9921){return _0x5d9921['removeTags'](_0x40545b['query'][_0x3dfd('0x3c')]);}})[_0x3dfd('0x1c')](respondWithStatusCode(_0x2ed0d2,null))['catch'](handleError(_0x2ed0d2,null));};exports[_0x3dfd('0x56')]=function(_0x4aea65,_0x17523f){var _0x17040e=moment()[_0x3dfd('0x57')]()[_0x3dfd('0x58')]();var _0x81e8ee=path[_0x3dfd('0x59')](config[_0x3dfd('0x5a')],_0x3dfd('0x5b'),_0x3dfd('0x5c'),_0x3dfd('0x5d'));var _0x56c886=path[_0x3dfd('0x59')](config[_0x3dfd('0x5a')],'server',_0x3dfd('0x5c'),_0x3dfd('0x5e'));var _0x1ed436=path['join'](_0x81e8ee,_0x17040e);var _0x3d9b3b=util[_0x3dfd('0x49')](_0x3dfd('0x5f'),_0x4aea65['params']['id'],_0x17040e);var _0x53c8c8=path['join'](_0x81e8ee,_0x3d9b3b);var _0x2e782f=[];if(_0x4aea65[_0x3dfd('0x2d')][_0x3dfd('0x5e')]){_0x2e782f['push']({'model':db[_0x3dfd('0x60')],'as':'Attachments','raw':!![]});}var _0x2d0f61=[{'model':db['MailMessage'],'as':_0x3dfd('0x61'),'attributes':['id','body',_0x3dfd('0x62'),'to','cc',_0x3dfd('0x63'),_0x3dfd('0x64'),_0x3dfd('0x65')],'where':{'secret':![]},'order':qs[_0x3dfd('0x42')]('id'),'include':_0x2e782f}];return db[_0x3dfd('0x38')][_0x3dfd('0x35')]({'where':{'id':_0x4aea65[_0x3dfd('0x2a')]['id']},'include':_0x2d0f61})['then'](handleEntityNotFound(_0x17523f,null))['then'](function(_0x9357e4){if(_0x9357e4&&_0x9357e4['Messages']){var _0x4470be=_0x9357e4[_0x3dfd('0x66')]({'plain':!![]});fs[_0x3dfd('0x67')](_0x1ed436);return BPromise[_0x3dfd('0x68')](_0x4470be['Messages'],function(_0x493f91,_0x2bc78d){var _0x3700d8={'from':_0x493f91[_0x3dfd('0x62')],'to':_0x493f91['to']||'missing.recipient@your.company.com','subject':_0x493f91['subject'],'html':htmlEntities['decode'](_0x493f91[_0x3dfd('0x37')]),'headers':{'Date':moment(_0x493f91['createdAt'])[_0x3dfd('0x49')](_0x3dfd('0x69'))},'attachments':[]};if(_0x493f91['cc']){_0x3700d8[_0x3dfd('0x6a')]['Cc']=_0x493f91['cc'];}if(_0x493f91['bcc']){_0x3700d8[_0x3dfd('0x6a')][_0x3dfd('0x6b')]=_0x493f91[_0x3dfd('0x63')];}return new BPromise(function(_0x251e9a,_0x3f38a0){if(_0x493f91[_0x3dfd('0x6c')]){for(var _0x235213=0x0;_0x235213<_0x493f91[_0x3dfd('0x6c')][_0x3dfd('0x3e')];_0x235213++){var _0x4eeef5=_0x493f91[_0x3dfd('0x6c')][_0x235213];var _0x4bbc34=path[_0x3dfd('0x59')](_0x56c886,_0x4eeef5[_0x3dfd('0x6d')]);if(fs[_0x3dfd('0x6e')](_0x4bbc34)){_0x3700d8['attachments']['push']({'name':_0x4eeef5[_0x3dfd('0x1f')],'contentType':_0x4eeef5[_0x3dfd('0x6f')],'data':fs[_0x3dfd('0x70')](_0x4bbc34)});}}}emlformat[_0x3dfd('0x71')](_0x3700d8,function(_0xd07474,_0x2025a2){if(_0xd07474)return _0x3f38a0(_0xd07474);fs[_0x3dfd('0x72')](path['join'](_0x1ed436,util[_0x3dfd('0x49')](_0x3dfd('0x73'),_0x2bc78d)),_0x2025a2);return _0x251e9a(_0x2025a2);});});})['then'](function(){return new BPromise(function(_0x3dcffe,_0x174167){zipdir(_0x1ed436,{'saveTo':_0x53c8c8},function(_0x59de02,_0x4d29aa){if(_0x59de02)return _0x174167(_0x59de02);return _0x3dcffe(_0x4d29aa);});})[_0x3dfd('0x1c')](function(){return new BPromise(function(_0x5ef00c,_0x30b996){rimraf(_0x1ed436,function(_0x5b1b0b){if(_0x5b1b0b)_0x30b996(_0x5b1b0b);return _0x5ef00c();});});})[_0x3dfd('0x1c')](function(){return _0x17523f[_0x3dfd('0x56')](_0x53c8c8,_0x3d9b3b,function(_0x48108f){if(!_0x48108f)fs['unlinkSync'](_0x53c8c8);});});});}else{return _0x17523f[_0x3dfd('0x12')](0xc8);}})[_0x3dfd('0x28')](handleError(_0x17523f,null));};
\ No newline at end of file