Built motion from commit da617fac.|2.6.6
[motion2.git] / server / api / mailInteraction / mailInteraction.controller.js
index baa8fd3..d24714d 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xe9b9=['../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailInteraction.socket','status','json','undefined','count','offset','limit','set','Content-Range','update','then','destroy','end','sendStatus','error','stack','name','send','index','rawAttributes','fieldName','key','getOptions','findAll','mail','user','catch','params','model','keys','MailInteraction','query','filters','intersection','attributes','fields','length','include','find','create','body','describe','addMessage','ids','omit','getMessages','findOne','MailMessage','hasOwnProperty','nolimit','order','sort','where','MailInteractionId','filter','merge','$gte','split','YYYY-MM-DD\x20HH:mm:ss','options','includeAll','inlineCss','true','rows','addTags','spread','Tag','emit','removeTags','unix','toString','join','root','files','tmp','server','attachments','push','Attachment','Attachments','subject','createdAt','Messages','get','each','format','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','bcc','Bcc','basename','existsSync','writeFileSync','message%d.eml','download','unlinkSync','eml-format','rimraf','zip-dir','moment','bluebird','util','path','juice','../../components/parsers/qs','../../config/logger'];(function(_0x5d2af3,_0x5f0ed4){var _0x2bc29e=function(_0x357474){while(--_0x357474){_0x5d2af3['push'](_0x5d2af3['shift']());}};_0x2bc29e(++_0x5f0ed4);}(_0xe9b9,0xd4));var _0x9e9b=function(_0x13d0be,_0x4ec269){_0x13d0be=_0x13d0be-0x0;var _0x23035d=_0xe9b9[_0x13d0be];return _0x23035d;};'use strict';var emlformat=require(_0x9e9b('0x0'));var rimraf=require(_0x9e9b('0x1'));var zipdir=require(_0x9e9b('0x2'));var moment=require(_0x9e9b('0x3'));var BPromise=require(_0x9e9b('0x4'));var util=require(_0x9e9b('0x5'));var path=require(_0x9e9b('0x6'));var fs=require('fs');var _=require('lodash');var juice=require(_0x9e9b('0x7'));var Redis=require('ioredis');var interaction=require('../../components/interaction/service');var qs=require(_0x9e9b('0x8'));var logger=require(_0x9e9b('0x9'))('api');var config=require('../../config/environment');var db=require(_0x9e9b('0xa'))['db'];var htmlEntities=require('html-entities');config[_0x9e9b('0xb')]=_[_0x9e9b('0xc')](config['redis'],{'host':_0x9e9b('0xd'),'port':0x18eb});var socket=require(_0x9e9b('0xe'))(new Redis(config[_0x9e9b('0xb')]));require(_0x9e9b('0xf'))['register'](socket);function respondWithStatusCode(_0x54e13f,_0x46fa6e){_0x46fa6e=_0x46fa6e||0xcc;return function(_0x437bc1){if(_0x437bc1){return _0x54e13f['sendStatus'](_0x46fa6e);}return _0x54e13f[_0x9e9b('0x10')](_0x46fa6e)['end']();};}function respondWithResult(_0x357259,_0x5d7faa){_0x5d7faa=_0x5d7faa||0xc8;return function(_0x5a43ba){if(_0x5a43ba){return _0x357259[_0x9e9b('0x10')](_0x5d7faa)[_0x9e9b('0x11')](_0x5a43ba);}};}function respondWithFilteredResult(_0x20df67,_0x79b14c){return function(_0x28f91b){if(_0x28f91b){var _0x3b5b11=typeof _0x79b14c['offset']===_0x9e9b('0x12')&&typeof _0x79b14c['limit']==='undefined';var _0x3b4273=_0x28f91b[_0x9e9b('0x13')];var _0x429b61=_0x3b5b11?0x0:_0x79b14c[_0x9e9b('0x14')];var _0x3a0f10=_0x3b5b11?_0x28f91b[_0x9e9b('0x13')]:_0x79b14c[_0x9e9b('0x14')]+_0x79b14c[_0x9e9b('0x15')];var _0x35b933;if(_0x3a0f10>=_0x3b4273){_0x3a0f10=_0x3b4273;_0x35b933=0xc8;}else{_0x35b933=0xce;}_0x20df67[_0x9e9b('0x10')](_0x35b933);return _0x20df67[_0x9e9b('0x16')](_0x9e9b('0x17'),_0x429b61+'-'+_0x3a0f10+'/'+_0x3b4273)['json'](_0x28f91b);}return null;};}function saveUpdates(_0xaaebc1){return function(_0x5a0f38){if(_0x5a0f38){return _0x5a0f38[_0x9e9b('0x18')](_0xaaebc1)[_0x9e9b('0x19')](function(_0x7d58a){return _0x7d58a;});}return null;};}function removeEntity(_0x11ea58){return function(_0x5b27b9){if(_0x5b27b9){return _0x5b27b9[_0x9e9b('0x1a')]()['then'](function(){_0x11ea58[_0x9e9b('0x10')](0xcc)[_0x9e9b('0x1b')]();});}};}function handleEntityNotFound(_0x3f09ca){return function(_0x2c77cd){if(!_0x2c77cd){_0x3f09ca[_0x9e9b('0x1c')](0x194);}return _0x2c77cd;};}function handleError(_0x39704c,_0x56be5f){_0x56be5f=_0x56be5f||0x1f4;return function(_0xc7b149){logger[_0x9e9b('0x1d')](_0xc7b149[_0x9e9b('0x1e')]);if(_0xc7b149[_0x9e9b('0x1f')]){delete _0xc7b149[_0x9e9b('0x1f')];}_0x39704c['status'](_0x56be5f)[_0x9e9b('0x20')](_0xc7b149);};}exports[_0x9e9b('0x21')]=function(_0x553969,_0x2f3356){var _0x40fabc={};var _0x124633=_['map'](db['MailInteraction'][_0x9e9b('0x22')],function(_0x52e4e9){return{'name':_0x52e4e9[_0x9e9b('0x23')],'type':_0x52e4e9['type'][_0x9e9b('0x24')]};});_0x40fabc=qs[_0x9e9b('0x25')](_0x124633,_0x553969);return interaction[_0x9e9b('0x26')](_0x9e9b('0x27'),_0x553969['query'],_0x553969[_0x9e9b('0x28')],_0x40fabc,_0x124633)[_0x9e9b('0x19')](respondWithFilteredResult(_0x2f3356,_0x40fabc))[_0x9e9b('0x29')](handleError(_0x2f3356,null));};exports['show']=function(_0x4f5efc,_0x4b0556){var _0x115e9e={'raw':![],'where':{'id':_0x4f5efc[_0x9e9b('0x2a')]['id']}},_0x2c4f6f={};_0x2c4f6f[_0x9e9b('0x2b')]=_[_0x9e9b('0x2c')](db[_0x9e9b('0x2d')][_0x9e9b('0x22')]);_0x2c4f6f[_0x9e9b('0x2e')]=_[_0x9e9b('0x2c')](_0x4f5efc['query']);_0x2c4f6f[_0x9e9b('0x2f')]=_[_0x9e9b('0x30')](_0x2c4f6f[_0x9e9b('0x2b')],_0x2c4f6f[_0x9e9b('0x2e')]);_0x115e9e[_0x9e9b('0x31')]=_[_0x9e9b('0x30')](_0x2c4f6f['model'],qs[_0x9e9b('0x32')](_0x4f5efc[_0x9e9b('0x2e')][_0x9e9b('0x32')]));_0x115e9e['attributes']=_0x115e9e[_0x9e9b('0x31')][_0x9e9b('0x33')]?_0x115e9e[_0x9e9b('0x31')]:_0x2c4f6f['model'];if(_0x4f5efc['query']['includeAll']){_0x115e9e[_0x9e9b('0x34')]=[{'all':!![]}];}_0x115e9e=_['merge']({},_0x115e9e,_0x4f5efc['options']);return db['MailInteraction'][_0x9e9b('0x35')](_0x115e9e)[_0x9e9b('0x19')](handleEntityNotFound(_0x4b0556,null))[_0x9e9b('0x19')](respondWithResult(_0x4b0556,null))[_0x9e9b('0x29')](handleError(_0x4b0556,null));};exports[_0x9e9b('0x36')]=function(_0x4bdfa4,_0x727c66){return db[_0x9e9b('0x2d')][_0x9e9b('0x36')](_0x4bdfa4[_0x9e9b('0x37')],{})[_0x9e9b('0x19')](respondWithResult(_0x727c66,0xc9))['catch'](handleError(_0x727c66,null));};exports['update']=function(_0x597e74,_0x2b50cf){if(_0x597e74['body']['id']){delete _0x597e74[_0x9e9b('0x37')]['id'];}return db[_0x9e9b('0x2d')]['find']({'where':{'id':_0x597e74['params']['id']}})[_0x9e9b('0x19')](handleEntityNotFound(_0x2b50cf,null))['then'](saveUpdates(_0x597e74[_0x9e9b('0x37')],null))[_0x9e9b('0x19')](respondWithResult(_0x2b50cf,null))[_0x9e9b('0x29')](handleError(_0x2b50cf,null));};exports[_0x9e9b('0x1a')]=function(_0xfb98eb,_0xa8ffd0){return db[_0x9e9b('0x2d')][_0x9e9b('0x35')]({'where':{'id':_0xfb98eb[_0x9e9b('0x2a')]['id']}})[_0x9e9b('0x19')](handleEntityNotFound(_0xa8ffd0,null))[_0x9e9b('0x19')](removeEntity(_0xa8ffd0,null))[_0x9e9b('0x29')](handleError(_0xa8ffd0,null));};exports[_0x9e9b('0x38')]=function(_0x56539a,_0x8f1b4d){return db[_0x9e9b('0x2d')][_0x9e9b('0x38')]()[_0x9e9b('0x19')](respondWithResult(_0x8f1b4d,null))[_0x9e9b('0x29')](handleError(_0x8f1b4d,null));};exports[_0x9e9b('0x39')]=function(_0x68235e,_0x2d03b5){return db['MailMessage'][_0x9e9b('0x35')]({'where':{'id':_0x68235e[_0x9e9b('0x2a')]['id']}})[_0x9e9b('0x19')](handleEntityNotFound(_0x2d03b5,null))['then'](function(_0x519af6){if(_0x519af6){return _0x519af6['addMessage'](_0x68235e[_0x9e9b('0x37')][_0x9e9b('0x3a')],_[_0x9e9b('0x3b')](_0x68235e[_0x9e9b('0x37')],[_0x9e9b('0x3a'),'id'])||{});}})[_0x9e9b('0x19')](respondWithResult(_0x2d03b5,null))[_0x9e9b('0x29')](handleError(_0x2d03b5,null));};exports[_0x9e9b('0x3c')]=function(_0x2e8fdf,_0x8b4b17){var _0xb13916={'raw':![],'where':{}};var _0x5ace90={};var _0x42d1b7={'count':0x0,'rows':[]};return db['MailInteraction'][_0x9e9b('0x3d')]({'where':{'id':_0x2e8fdf[_0x9e9b('0x2a')]['id']}})[_0x9e9b('0x19')](handleEntityNotFound(_0x8b4b17,null))[_0x9e9b('0x19')](function(_0x4c1f40){if(_0x4c1f40){_0x5ace90[_0x9e9b('0x2b')]=_[_0x9e9b('0x2c')](db[_0x9e9b('0x3e')]['rawAttributes']);_0x5ace90[_0x9e9b('0x2e')]=_[_0x9e9b('0x2c')](_0x2e8fdf[_0x9e9b('0x2e')]);_0x5ace90['filters']=_[_0x9e9b('0x30')](_0x5ace90[_0x9e9b('0x2b')],_0x5ace90[_0x9e9b('0x2e')]);_0xb13916[_0x9e9b('0x31')]=_[_0x9e9b('0x30')](_0x5ace90['model'],qs[_0x9e9b('0x32')](_0x2e8fdf['query'][_0x9e9b('0x32')]));_0xb13916[_0x9e9b('0x31')]=_0xb13916['attributes'][_0x9e9b('0x33')]?_0xb13916[_0x9e9b('0x31')]:_0x5ace90[_0x9e9b('0x2b')];if(!_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x3f')](_0x9e9b('0x40'))){_0xb13916[_0x9e9b('0x15')]=qs[_0x9e9b('0x15')](_0x2e8fdf[_0x9e9b('0x2e')]['limit']);_0xb13916[_0x9e9b('0x14')]=qs[_0x9e9b('0x14')](_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x14')]);}_0xb13916[_0x9e9b('0x41')]=qs[_0x9e9b('0x42')](_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x42')]);_0xb13916['where']=qs['filters'](_['pick'](_0x2e8fdf[_0x9e9b('0x2e')],_0x5ace90[_0x9e9b('0x2f')]));_0xb13916[_0x9e9b('0x43')][_0x9e9b('0x44')]=_0x4c1f40['id'];if(_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x45')]){_0xb13916[_0x9e9b('0x43')]=_[_0x9e9b('0x46')](_0xb13916[_0x9e9b('0x43')],{'$or':_['map'](_0xb13916[_0x9e9b('0x31')],function(_0x52566b){var _0x1fcc2b={};_0x1fcc2b[_0x52566b]={'$like':'%'+_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x45')]+'%'};return _0x1fcc2b;})});}if(_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x47')]){var _0x5894c1=_0x2e8fdf['query']['$gte'][_0x9e9b('0x48')](',');var _0x4063f1={};_0x4063f1[_0x5894c1[0x0]]={'$gte':moment(_0x5894c1[0x1])['format'](_0x9e9b('0x49'))};_0xb13916[_0x9e9b('0x43')]=_[_0x9e9b('0x46')](_0xb13916[_0x9e9b('0x43')],_0x4063f1);}_0xb13916=_[_0x9e9b('0x46')]({},_0xb13916,_0x2e8fdf[_0x9e9b('0x4a')]);return db['MailMessage'][_0x9e9b('0x13')]({'where':_0xb13916[_0x9e9b('0x43')]})[_0x9e9b('0x19')](function(_0x291db3){_0x42d1b7[_0x9e9b('0x13')]=_0x291db3;if(_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x4b')]){_0xb13916[_0x9e9b('0x34')]=[{'all':!![]}];}return db[_0x9e9b('0x3e')][_0x9e9b('0x26')](_0xb13916);})[_0x9e9b('0x19')](function(_0xb29cf6){if(_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x4c')]===_0x9e9b('0x4d')){for(var _0x578320=0x0;_0x578320<_0xb29cf6[_0x9e9b('0x33')];_0x578320++){_0xb29cf6[_0x578320][_0x9e9b('0x37')]=juice(_0xb29cf6[_0x578320][_0x9e9b('0x37')]);}}_0x42d1b7[_0x9e9b('0x4e')]=_0xb29cf6;return _0x42d1b7;});}})[_0x9e9b('0x19')](respondWithFilteredResult(_0x8b4b17,_0xb13916))['catch'](handleError(_0x8b4b17,null));};exports[_0x9e9b('0x4f')]=function(_0x20aab5,_0xe58f5c){return db[_0x9e9b('0x2d')]['find']({'where':{'id':_0x20aab5[_0x9e9b('0x2a')]['id']}})[_0x9e9b('0x19')](handleEntityNotFound(_0xe58f5c,null))['then'](function(_0x165f81){if(_0x165f81){return _0x165f81['setTags'](_0x20aab5[_0x9e9b('0x37')][_0x9e9b('0x3a')],_[_0x9e9b('0x3b')](_0x20aab5[_0x9e9b('0x37')],[_0x9e9b('0x3a'),'id'])||{})[_0x9e9b('0x50')](function(){return db[_0x9e9b('0x51')][_0x9e9b('0x26')]({'attributes':['id',_0x9e9b('0x1f'),'color'],'where':{'id':_0x20aab5[_0x9e9b('0x37')][_0x9e9b('0x3a')]}});})[_0x9e9b('0x19')](function(_0xe318f){socket[_0x9e9b('0x52')]('mailInteractionTags:save',{'id':Number(_0x20aab5[_0x9e9b('0x2a')]['id']),'tags':_0xe318f||[]});return{'id':Number(_0x20aab5[_0x9e9b('0x2a')]['id']),'tags':_0xe318f||[]};});}})['then'](respondWithResult(_0xe58f5c,null))['catch'](handleError(_0xe58f5c,null));};exports[_0x9e9b('0x53')]=function(_0x25fac8,_0x4cb23c){return db[_0x9e9b('0x2d')][_0x9e9b('0x35')]({'where':{'id':_0x25fac8['params']['id']}})[_0x9e9b('0x19')](handleEntityNotFound(_0x4cb23c,null))[_0x9e9b('0x19')](function(_0x1fa32b){if(_0x1fa32b){return _0x1fa32b[_0x9e9b('0x53')](_0x25fac8[_0x9e9b('0x2e')]['ids']);}})[_0x9e9b('0x19')](respondWithStatusCode(_0x4cb23c,null))['catch'](handleError(_0x4cb23c,null));};exports['download']=function(_0x3f4f92,_0x17ff59){var _0x12bdf6=moment()[_0x9e9b('0x54')]()[_0x9e9b('0x55')]();var _0x34047d=path[_0x9e9b('0x56')](config[_0x9e9b('0x57')],'server',_0x9e9b('0x58'),_0x9e9b('0x59'));var _0x541ff6=path[_0x9e9b('0x56')](config[_0x9e9b('0x57')],_0x9e9b('0x5a'),_0x9e9b('0x58'),_0x9e9b('0x5b'));var _0x40a464=path['join'](_0x34047d,_0x12bdf6);var _0x304f61=util['format']('transcript-%d-%s.zip',_0x3f4f92['params']['id'],_0x12bdf6);var _0x1d7a72=path[_0x9e9b('0x56')](_0x34047d,_0x304f61);var _0x23c591=[];if(_0x3f4f92[_0x9e9b('0x2e')][_0x9e9b('0x5b')]){_0x23c591[_0x9e9b('0x5c')]({'model':db[_0x9e9b('0x5d')],'as':_0x9e9b('0x5e'),'raw':!![]});}var _0x39b05c=[{'model':db[_0x9e9b('0x3e')],'as':'Messages','attributes':['id',_0x9e9b('0x37'),'from','to','cc','bcc',_0x9e9b('0x5f'),_0x9e9b('0x60')],'where':{'secret':![]},'order':qs[_0x9e9b('0x42')]('id'),'include':_0x23c591}];return db[_0x9e9b('0x2d')][_0x9e9b('0x35')]({'where':{'id':_0x3f4f92[_0x9e9b('0x2a')]['id']},'include':_0x39b05c})['then'](handleEntityNotFound(_0x17ff59,null))['then'](function(_0xefa082){if(_0xefa082&&_0xefa082[_0x9e9b('0x61')]){var _0x293779=_0xefa082[_0x9e9b('0x62')]({'plain':!![]});fs['mkdirSync'](_0x40a464);return BPromise[_0x9e9b('0x63')](_0x293779[_0x9e9b('0x61')],function(_0x47a4a9,_0x5100e9){var _0x971366={'from':_0x47a4a9['from'],'to':_0x47a4a9['to'],'subject':_0x47a4a9['subject'],'html':htmlEntities['decode'](_0x47a4a9[_0x9e9b('0x37')]),'headers':{'Date':moment(_0x47a4a9[_0x9e9b('0x60')])[_0x9e9b('0x64')](_0x9e9b('0x65'))},'attachments':[]};if(_0x47a4a9['cc']){_0x971366[_0x9e9b('0x66')]['Cc']=_0x47a4a9['cc'];}if(_0x47a4a9[_0x9e9b('0x67')]){_0x971366[_0x9e9b('0x66')][_0x9e9b('0x68')]=_0x47a4a9[_0x9e9b('0x67')];}return new BPromise(function(_0x452e56,_0x31b203){if(_0x47a4a9[_0x9e9b('0x5e')]){for(var _0x30acbe=0x0;_0x30acbe<_0x47a4a9[_0x9e9b('0x5e')]['length'];_0x30acbe++){var _0x16e815=_0x47a4a9[_0x9e9b('0x5e')][_0x30acbe];var _0x423d78=path[_0x9e9b('0x56')](_0x541ff6,_0x16e815[_0x9e9b('0x69')]);if(fs[_0x9e9b('0x6a')](_0x423d78)){_0x971366[_0x9e9b('0x5b')][_0x9e9b('0x5c')]({'name':_0x16e815[_0x9e9b('0x1f')],'contentType':_0x16e815['type'],'data':fs['readFileSync'](_0x423d78)});}}}emlformat['build'](_0x971366,function(_0x4cdc34,_0x197aa4){if(_0x4cdc34)return _0x31b203(_0x4cdc34);fs[_0x9e9b('0x6b')](path[_0x9e9b('0x56')](_0x40a464,util['format'](_0x9e9b('0x6c'),_0x5100e9)),_0x197aa4);return _0x452e56(_0x197aa4);});});})[_0x9e9b('0x19')](function(){return new BPromise(function(_0x5cc2a2,_0x365a3c){zipdir(_0x40a464,{'saveTo':_0x1d7a72},function(_0x37bacd,_0x2708a1){if(_0x37bacd)return _0x365a3c(_0x37bacd);return _0x5cc2a2(_0x2708a1);});})['then'](function(){return new BPromise(function(_0x540c42,_0x4922d8){rimraf(_0x40a464,function(_0x467e9c){if(_0x467e9c)_0x4922d8(_0x467e9c);return _0x540c42();});});})[_0x9e9b('0x19')](function(){return _0x17ff59[_0x9e9b('0x6d')](_0x1d7a72,_0x304f61,function(_0x32d111){if(!_0x32d111)fs[_0x9e9b('0x6e')](_0x1d7a72);});});});}else{return _0x17ff59[_0x9e9b('0x1c')](0xc8);}})[_0x9e9b('0x29')](handleError(_0x17ff59,null));};
\ No newline at end of file
+var _0x5089=['rimraf','moment','bluebird','util','path','lodash','ioredis','../../components/parsers/qs','../../config/logger','api','../../mysqldb','html-entities','defaults','redis','socket.io-emitter','./mailInteraction.socket','register','sendStatus','end','json','offset','undefined','count','limit','set','Content-Range','update','destroy','status','stack','name','send','index','MailInteraction','fieldName','type','getOptions','findAll','mail','query','user','then','catch','show','params','model','keys','rawAttributes','filters','attributes','intersection','fields','includeAll','include','merge','options','find','create','body','describe','addMessage','MailMessage','omit','ids','getMessages','hasOwnProperty','order','where','MailInteractionId','filter','$gte','split','format','inlineCss','true','length','rows','addTags','setTags','spread','Tag','color','emit','mailInteractionTags:save','removeTags','join','root','server','tmp','transcript-%d-%s.zip','attachments','push','Messages','bcc','sort','get','mkdirSync','each','from','decode','createdAt','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','Attachments','basename','existsSync','readFileSync','download','unlinkSync','eml-format'];(function(_0x2bd35b,_0x44f393){var _0x3d4955=function(_0x5d5d67){while(--_0x5d5d67){_0x2bd35b['push'](_0x2bd35b['shift']());}};_0x3d4955(++_0x44f393);}(_0x5089,0x1bb));var _0x9508=function(_0x399849,_0x3b630d){_0x399849=_0x399849-0x0;var _0xfbb04=_0x5089[_0x399849];return _0xfbb04;};'use strict';var emlformat=require(_0x9508('0x0'));var rimraf=require(_0x9508('0x1'));var zipdir=require('zip-dir');var moment=require(_0x9508('0x2'));var BPromise=require(_0x9508('0x3'));var util=require(_0x9508('0x4'));var path=require(_0x9508('0x5'));var fs=require('fs');var _=require(_0x9508('0x6'));var juice=require('juice');var Redis=require(_0x9508('0x7'));var interaction=require('../../components/interaction/service');var qs=require(_0x9508('0x8'));var logger=require(_0x9508('0x9'))(_0x9508('0xa'));var config=require('../../config/environment');var db=require(_0x9508('0xb'))['db'];var htmlEntities=require(_0x9508('0xc'));config['redis']=_[_0x9508('0xd')](config[_0x9508('0xe')],{'host':'localhost','port':0x18eb});var socket=require(_0x9508('0xf'))(new Redis(config['redis']));require(_0x9508('0x10'))[_0x9508('0x11')](socket);function respondWithStatusCode(_0x852feb,_0x21f8c1){_0x21f8c1=_0x21f8c1||0xcc;return function(_0x839509){if(_0x839509){return _0x852feb[_0x9508('0x12')](_0x21f8c1);}return _0x852feb['status'](_0x21f8c1)[_0x9508('0x13')]();};}function respondWithResult(_0x507887,_0x2c4fd9){_0x2c4fd9=_0x2c4fd9||0xc8;return function(_0x396896){if(_0x396896){return _0x507887['status'](_0x2c4fd9)[_0x9508('0x14')](_0x396896);}};}function respondWithFilteredResult(_0x3b7427,_0x10ceef){return function(_0x4701de){if(_0x4701de){var _0x51ef92=typeof _0x10ceef[_0x9508('0x15')]===_0x9508('0x16')&&typeof _0x10ceef['limit']===_0x9508('0x16');var _0x539746=_0x4701de[_0x9508('0x17')];var _0x418889=_0x51ef92?0x0:_0x10ceef[_0x9508('0x15')];var _0x255a03=_0x51ef92?_0x4701de[_0x9508('0x17')]:_0x10ceef[_0x9508('0x15')]+_0x10ceef[_0x9508('0x18')];var _0x20df7d;if(_0x255a03>=_0x539746){_0x255a03=_0x539746;_0x20df7d=0xc8;}else{_0x20df7d=0xce;}_0x3b7427['status'](_0x20df7d);return _0x3b7427[_0x9508('0x19')](_0x9508('0x1a'),_0x418889+'-'+_0x255a03+'/'+_0x539746)[_0x9508('0x14')](_0x4701de);}return null;};}function saveUpdates(_0x1ba7e6){return function(_0x23c30e){if(_0x23c30e){return _0x23c30e[_0x9508('0x1b')](_0x1ba7e6)['then'](function(_0x4cbf6a){return _0x4cbf6a;});}return null;};}function removeEntity(_0x17e43c){return function(_0x47f7a2){if(_0x47f7a2){return _0x47f7a2[_0x9508('0x1c')]()['then'](function(){_0x17e43c[_0x9508('0x1d')](0xcc)[_0x9508('0x13')]();});}};}function handleEntityNotFound(_0x226f29){return function(_0x1dfc6c){if(!_0x1dfc6c){_0x226f29[_0x9508('0x12')](0x194);}return _0x1dfc6c;};}function handleError(_0x2f8106,_0x20eb53){_0x20eb53=_0x20eb53||0x1f4;return function(_0x5f4f0c){logger['error'](_0x5f4f0c[_0x9508('0x1e')]);if(_0x5f4f0c[_0x9508('0x1f')]){delete _0x5f4f0c[_0x9508('0x1f')];}_0x2f8106[_0x9508('0x1d')](_0x20eb53)[_0x9508('0x20')](_0x5f4f0c);};}exports[_0x9508('0x21')]=function(_0x4b68e9,_0x5e9a80){var _0x46d23f={};var _0x55cc4d=_['map'](db[_0x9508('0x22')]['rawAttributes'],function(_0x5db4e1){return{'name':_0x5db4e1[_0x9508('0x23')],'type':_0x5db4e1[_0x9508('0x24')]['key']};});_0x46d23f=qs[_0x9508('0x25')](_0x55cc4d,_0x4b68e9);return interaction[_0x9508('0x26')](_0x9508('0x27'),_0x4b68e9[_0x9508('0x28')],_0x4b68e9[_0x9508('0x29')],_0x46d23f,_0x55cc4d)[_0x9508('0x2a')](respondWithFilteredResult(_0x5e9a80,_0x46d23f))[_0x9508('0x2b')](handleError(_0x5e9a80,null));};exports[_0x9508('0x2c')]=function(_0x414534,_0x24df6){var _0x19a984={'raw':![],'where':{'id':_0x414534[_0x9508('0x2d')]['id']}},_0x55f36c={};_0x55f36c[_0x9508('0x2e')]=_[_0x9508('0x2f')](db['MailInteraction'][_0x9508('0x30')]);_0x55f36c[_0x9508('0x28')]=_['keys'](_0x414534[_0x9508('0x28')]);_0x55f36c[_0x9508('0x31')]=_['intersection'](_0x55f36c[_0x9508('0x2e')],_0x55f36c[_0x9508('0x28')]);_0x19a984[_0x9508('0x32')]=_[_0x9508('0x33')](_0x55f36c['model'],qs['fields'](_0x414534[_0x9508('0x28')][_0x9508('0x34')]));_0x19a984[_0x9508('0x32')]=_0x19a984['attributes']['length']?_0x19a984[_0x9508('0x32')]:_0x55f36c[_0x9508('0x2e')];if(_0x414534[_0x9508('0x28')][_0x9508('0x35')]){_0x19a984[_0x9508('0x36')]=[{'all':!![]}];}_0x19a984=_[_0x9508('0x37')]({},_0x19a984,_0x414534[_0x9508('0x38')]);return db[_0x9508('0x22')][_0x9508('0x39')](_0x19a984)[_0x9508('0x2a')](handleEntityNotFound(_0x24df6,null))['then'](respondWithResult(_0x24df6,null))[_0x9508('0x2b')](handleError(_0x24df6,null));};exports[_0x9508('0x3a')]=function(_0x5d7098,_0x2644ef){return db[_0x9508('0x22')][_0x9508('0x3a')](_0x5d7098[_0x9508('0x3b')],{})[_0x9508('0x2a')](respondWithResult(_0x2644ef,0xc9))[_0x9508('0x2b')](handleError(_0x2644ef,null));};exports[_0x9508('0x1b')]=function(_0x3700f1,_0xfb6676){if(_0x3700f1[_0x9508('0x3b')]['id']){delete _0x3700f1[_0x9508('0x3b')]['id'];}return db['MailInteraction'][_0x9508('0x39')]({'where':{'id':_0x3700f1['params']['id']}})[_0x9508('0x2a')](handleEntityNotFound(_0xfb6676,null))[_0x9508('0x2a')](saveUpdates(_0x3700f1[_0x9508('0x3b')],null))['then'](respondWithResult(_0xfb6676,null))['catch'](handleError(_0xfb6676,null));};exports[_0x9508('0x1c')]=function(_0x1f28f6,_0x1277b1){return db[_0x9508('0x22')]['find']({'where':{'id':_0x1f28f6[_0x9508('0x2d')]['id']}})['then'](handleEntityNotFound(_0x1277b1,null))[_0x9508('0x2a')](removeEntity(_0x1277b1,null))[_0x9508('0x2b')](handleError(_0x1277b1,null));};exports['describe']=function(_0x33e412,_0x37217e){return db['MailInteraction'][_0x9508('0x3c')]()[_0x9508('0x2a')](respondWithResult(_0x37217e,null))[_0x9508('0x2b')](handleError(_0x37217e,null));};exports[_0x9508('0x3d')]=function(_0x4e2561,_0x52701f){return db[_0x9508('0x3e')]['find']({'where':{'id':_0x4e2561[_0x9508('0x2d')]['id']}})[_0x9508('0x2a')](handleEntityNotFound(_0x52701f,null))[_0x9508('0x2a')](function(_0x4215e9){if(_0x4215e9){return _0x4215e9['addMessage'](_0x4e2561['body']['ids'],_[_0x9508('0x3f')](_0x4e2561['body'],[_0x9508('0x40'),'id'])||{});}})['then'](respondWithResult(_0x52701f,null))[_0x9508('0x2b')](handleError(_0x52701f,null));};exports[_0x9508('0x41')]=function(_0x21af4c,_0x464c1a){var _0x5b456a={'raw':![],'where':{}};var _0x152288={};var _0x57b2c={'count':0x0,'rows':[]};return db[_0x9508('0x22')]['findOne']({'where':{'id':_0x21af4c[_0x9508('0x2d')]['id']}})[_0x9508('0x2a')](handleEntityNotFound(_0x464c1a,null))['then'](function(_0x4f865d){if(_0x4f865d){_0x152288['model']=_[_0x9508('0x2f')](db['MailMessage']['rawAttributes']);_0x152288[_0x9508('0x28')]=_[_0x9508('0x2f')](_0x21af4c[_0x9508('0x28')]);_0x152288[_0x9508('0x31')]=_[_0x9508('0x33')](_0x152288[_0x9508('0x2e')],_0x152288['query']);_0x5b456a[_0x9508('0x32')]=_[_0x9508('0x33')](_0x152288[_0x9508('0x2e')],qs['fields'](_0x21af4c[_0x9508('0x28')][_0x9508('0x34')]));_0x5b456a[_0x9508('0x32')]=_0x5b456a[_0x9508('0x32')]['length']?_0x5b456a[_0x9508('0x32')]:_0x152288['model'];if(!_0x21af4c[_0x9508('0x28')][_0x9508('0x42')]('nolimit')){_0x5b456a[_0x9508('0x18')]=qs[_0x9508('0x18')](_0x21af4c['query'][_0x9508('0x18')]);_0x5b456a[_0x9508('0x15')]=qs['offset'](_0x21af4c[_0x9508('0x28')]['offset']);}_0x5b456a[_0x9508('0x43')]=qs['sort'](_0x21af4c[_0x9508('0x28')]['sort']);_0x5b456a['where']=qs['filters'](_['pick'](_0x21af4c[_0x9508('0x28')],_0x152288[_0x9508('0x31')]));_0x5b456a[_0x9508('0x44')][_0x9508('0x45')]=_0x4f865d['id'];if(_0x21af4c[_0x9508('0x28')][_0x9508('0x46')]){_0x5b456a[_0x9508('0x44')]=_[_0x9508('0x37')](_0x5b456a[_0x9508('0x44')],{'$or':_['map'](_0x5b456a[_0x9508('0x32')],function(_0x304232){var _0x3b202f={};_0x3b202f[_0x304232]={'$like':'%'+_0x21af4c[_0x9508('0x28')][_0x9508('0x46')]+'%'};return _0x3b202f;})});}if(_0x21af4c['query']['$gte']){var _0x1873c9=_0x21af4c['query'][_0x9508('0x47')][_0x9508('0x48')](',');var _0x490031={};_0x490031[_0x1873c9[0x0]]={'$gte':moment(_0x1873c9[0x1])[_0x9508('0x49')]('YYYY-MM-DD\x20HH:mm:ss')};_0x5b456a['where']=_[_0x9508('0x37')](_0x5b456a[_0x9508('0x44')],_0x490031);}_0x5b456a=_['merge']({},_0x5b456a,_0x21af4c[_0x9508('0x38')]);return db[_0x9508('0x3e')][_0x9508('0x17')]({'where':_0x5b456a[_0x9508('0x44')]})[_0x9508('0x2a')](function(_0x40c08d){_0x57b2c[_0x9508('0x17')]=_0x40c08d;if(_0x21af4c[_0x9508('0x28')][_0x9508('0x35')]){_0x5b456a[_0x9508('0x36')]=[{'all':!![]}];}return db[_0x9508('0x3e')][_0x9508('0x26')](_0x5b456a);})[_0x9508('0x2a')](function(_0x2005f0){if(_0x21af4c['query'][_0x9508('0x4a')]===_0x9508('0x4b')){for(var _0x54e1b4=0x0;_0x54e1b4<_0x2005f0[_0x9508('0x4c')];_0x54e1b4++){_0x2005f0[_0x54e1b4]['body']=juice(_0x2005f0[_0x54e1b4]['body']);}}_0x57b2c[_0x9508('0x4d')]=_0x2005f0;return _0x57b2c;});}})[_0x9508('0x2a')](respondWithFilteredResult(_0x464c1a,_0x5b456a))['catch'](handleError(_0x464c1a,null));};exports[_0x9508('0x4e')]=function(_0x198389,_0x553e6b){return db[_0x9508('0x22')][_0x9508('0x39')]({'where':{'id':_0x198389[_0x9508('0x2d')]['id']}})['then'](handleEntityNotFound(_0x553e6b,null))[_0x9508('0x2a')](function(_0x17ffe4){if(_0x17ffe4){return _0x17ffe4[_0x9508('0x4f')](_0x198389[_0x9508('0x3b')][_0x9508('0x40')],_[_0x9508('0x3f')](_0x198389['body'],[_0x9508('0x40'),'id'])||{})[_0x9508('0x50')](function(){return db[_0x9508('0x51')][_0x9508('0x26')]({'attributes':['id','name',_0x9508('0x52')],'where':{'id':_0x198389['body'][_0x9508('0x40')]}});})[_0x9508('0x2a')](function(_0x4a6c43){socket[_0x9508('0x53')](_0x9508('0x54'),{'id':Number(_0x198389['params']['id']),'tags':_0x4a6c43||[]});return{'id':Number(_0x198389[_0x9508('0x2d')]['id']),'tags':_0x4a6c43||[]};});}})[_0x9508('0x2a')](respondWithResult(_0x553e6b,null))[_0x9508('0x2b')](handleError(_0x553e6b,null));};exports[_0x9508('0x55')]=function(_0x5aa42b,_0x1d84e8){return db[_0x9508('0x22')][_0x9508('0x39')]({'where':{'id':_0x5aa42b[_0x9508('0x2d')]['id']}})[_0x9508('0x2a')](handleEntityNotFound(_0x1d84e8,null))[_0x9508('0x2a')](function(_0x67371f){if(_0x67371f){return _0x67371f[_0x9508('0x55')](_0x5aa42b['query'][_0x9508('0x40')]);}})[_0x9508('0x2a')](respondWithStatusCode(_0x1d84e8,null))[_0x9508('0x2b')](handleError(_0x1d84e8,null));};exports['download']=function(_0x2dabf8,_0x5f4cde){var _0x3256e9=moment()['unix']()['toString']();var _0x54f0f3=path[_0x9508('0x56')](config[_0x9508('0x57')],_0x9508('0x58'),'files',_0x9508('0x59'));var _0x2c98c3=path[_0x9508('0x56')](config[_0x9508('0x57')],_0x9508('0x58'),'files','attachments');var _0xd9d83e=path[_0x9508('0x56')](_0x54f0f3,_0x3256e9);var _0x1d3e4d=util[_0x9508('0x49')](_0x9508('0x5a'),_0x2dabf8[_0x9508('0x2d')]['id'],_0x3256e9);var _0xa557a0=path[_0x9508('0x56')](_0x54f0f3,_0x1d3e4d);var _0x3e60d0=[];if(_0x2dabf8[_0x9508('0x28')][_0x9508('0x5b')]){_0x3e60d0[_0x9508('0x5c')]({'model':db['Attachment'],'as':'Attachments','raw':!![]});}var _0x2618e2=[{'model':db['MailMessage'],'as':_0x9508('0x5d'),'attributes':['id','body','from','to','cc',_0x9508('0x5e'),'subject','createdAt'],'where':{'secret':![]},'order':qs[_0x9508('0x5f')]('id'),'include':_0x3e60d0}];return db[_0x9508('0x22')][_0x9508('0x39')]({'where':{'id':_0x2dabf8[_0x9508('0x2d')]['id']},'include':_0x2618e2})[_0x9508('0x2a')](handleEntityNotFound(_0x5f4cde,null))[_0x9508('0x2a')](function(_0x222e63){if(_0x222e63&&_0x222e63[_0x9508('0x5d')]){var _0xa3e550=_0x222e63[_0x9508('0x60')]({'plain':!![]});fs[_0x9508('0x61')](_0xd9d83e);return BPromise[_0x9508('0x62')](_0xa3e550[_0x9508('0x5d')],function(_0x445f67,_0x456828){var _0x5710dd={'from':_0x445f67[_0x9508('0x63')],'to':_0x445f67['to'],'subject':_0x445f67['subject'],'html':htmlEntities[_0x9508('0x64')](_0x445f67[_0x9508('0x3b')]),'headers':{'Date':moment(_0x445f67[_0x9508('0x65')])[_0x9508('0x49')](_0x9508('0x66'))},'attachments':[]};if(_0x445f67['cc']){_0x5710dd[_0x9508('0x67')]['Cc']=_0x445f67['cc'];}if(_0x445f67[_0x9508('0x5e')]){_0x5710dd[_0x9508('0x67')][_0x9508('0x68')]=_0x445f67[_0x9508('0x5e')];}return new BPromise(function(_0x2f292b,_0x470f52){if(_0x445f67['Attachments']){for(var _0x2db0af=0x0;_0x2db0af<_0x445f67[_0x9508('0x69')][_0x9508('0x4c')];_0x2db0af++){var _0x4bddc1=_0x445f67['Attachments'][_0x2db0af];var _0x37fb85=path[_0x9508('0x56')](_0x2c98c3,_0x4bddc1[_0x9508('0x6a')]);if(fs[_0x9508('0x6b')](_0x37fb85)){_0x5710dd[_0x9508('0x5b')][_0x9508('0x5c')]({'name':_0x4bddc1[_0x9508('0x1f')],'contentType':_0x4bddc1['type'],'data':fs[_0x9508('0x6c')](_0x37fb85)});}}}emlformat['build'](_0x5710dd,function(_0x5b0b62,_0x4779dd){if(_0x5b0b62)return _0x470f52(_0x5b0b62);fs['writeFileSync'](path[_0x9508('0x56')](_0xd9d83e,util[_0x9508('0x49')]('message%d.eml',_0x456828)),_0x4779dd);return _0x2f292b(_0x4779dd);});});})[_0x9508('0x2a')](function(){return new BPromise(function(_0x5e4a15,_0x2d625a){zipdir(_0xd9d83e,{'saveTo':_0xa557a0},function(_0x5d9dd2,_0x3b0dc3){if(_0x5d9dd2)return _0x2d625a(_0x5d9dd2);return _0x5e4a15(_0x3b0dc3);});})[_0x9508('0x2a')](function(){return new BPromise(function(_0x29471f,_0x21c1b7){rimraf(_0xd9d83e,function(_0x8c3027){if(_0x8c3027)_0x21c1b7(_0x8c3027);return _0x29471f();});});})[_0x9508('0x2a')](function(){return _0x5f4cde[_0x9508('0x6d')](_0xa557a0,_0x1d3e4d,function(_0x3a7c37){if(!_0x3a7c37)fs[_0x9508('0x6e')](_0xa557a0);});});});}else{return _0x5f4cde[_0x9508('0x12')](0xc8);}})['catch'](handleError(_0x5f4cde,null));};
\ No newline at end of file