Built motion from commit b5413ace.|2.6.9
[motion2.git] / server / api / mailInteraction / mailInteraction.controller.js
index b142394..7e157bf 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xbf08=['download','toString','join','root','tmp','server','files','attachments','transcript-%d-%s.zip','push','Attachment','Attachments','Messages','from','bcc','subject','get','mkdirSync','missing.recipient@your.company.com','createdAt','headers','Bcc','basename','existsSync','readFileSync','writeFileSync','message%d.eml','unlinkSync','eml-format','rimraf','zip-dir','moment','util','path','juice','ioredis','../../components/parsers/qs','../../config/logger','api','../../mysqldb','html-entities','defaults','redis','localhost','socket.io-emitter','./mailInteraction.socket','register','sendStatus','end','status','json','offset','undefined','limit','set','Content-Range','update','destroy','then','error','stack','name','send','MailInteraction','type','key','findAll','mail','query','user','params','model','keys','filters','attributes','intersection','fields','length','includeAll','include','merge','options','catch','create','body','find','describe','addMessage','MailMessage','omit','ids','getMessages','rawAttributes','hasOwnProperty','nolimit','order','sort','where','pick','MailInteractionId','map','filter','$gte','format','YYYY-MM-DD\x20HH:mm:ss','count','inlineCss','rows','addTags','setTags','spread','Tag','color','emit','mailInteractionTags:save','removeTags'];(function(_0x158fdc,_0x1c4d6f){var _0x3bc018=function(_0x4bf523){while(--_0x4bf523){_0x158fdc['push'](_0x158fdc['shift']());}};_0x3bc018(++_0x1c4d6f);}(_0xbf08,0x104));var _0x8bf0=function(_0x4a33b3,_0x30cae4){_0x4a33b3=_0x4a33b3-0x0;var _0x12f200=_0xbf08[_0x4a33b3];return _0x12f200;};'use strict';var emlformat=require(_0x8bf0('0x0'));var rimraf=require(_0x8bf0('0x1'));var zipdir=require(_0x8bf0('0x2'));var moment=require(_0x8bf0('0x3'));var BPromise=require('bluebird');var util=require(_0x8bf0('0x4'));var path=require(_0x8bf0('0x5'));var fs=require('fs');var _=require('lodash');var juice=require(_0x8bf0('0x6'));var Redis=require(_0x8bf0('0x7'));var interaction=require('../../components/interaction/service');var qs=require(_0x8bf0('0x8'));var logger=require(_0x8bf0('0x9'))(_0x8bf0('0xa'));var config=require('../../config/environment');var db=require(_0x8bf0('0xb'))['db'];var htmlEntities=require(_0x8bf0('0xc'));config['redis']=_[_0x8bf0('0xd')](config[_0x8bf0('0xe')],{'host':_0x8bf0('0xf'),'port':0x18eb});var socket=require(_0x8bf0('0x10'))(new Redis(config['redis']));require(_0x8bf0('0x11'))[_0x8bf0('0x12')](socket);function respondWithStatusCode(_0x9dc9a6,_0x46b0d3){_0x46b0d3=_0x46b0d3||0xcc;return function(_0x59b495){if(_0x59b495){return _0x9dc9a6[_0x8bf0('0x13')](_0x46b0d3);}return _0x9dc9a6['status'](_0x46b0d3)[_0x8bf0('0x14')]();};}function respondWithResult(_0x4f9bf8,_0x4ab514){_0x4ab514=_0x4ab514||0xc8;return function(_0x5388b9){if(_0x5388b9){return _0x4f9bf8[_0x8bf0('0x15')](_0x4ab514)[_0x8bf0('0x16')](_0x5388b9);}};}function respondWithFilteredResult(_0x56e77f,_0x4f3b9e){return function(_0x10e348){if(_0x10e348){var _0x2aea7a=typeof _0x4f3b9e[_0x8bf0('0x17')]===_0x8bf0('0x18')&&typeof _0x4f3b9e[_0x8bf0('0x19')]==='undefined';var _0x52ee7c=_0x10e348['count'];var _0x18db94=_0x2aea7a?0x0:_0x4f3b9e[_0x8bf0('0x17')];var _0xbe4b18=_0x2aea7a?_0x10e348['count']:_0x4f3b9e[_0x8bf0('0x17')]+_0x4f3b9e[_0x8bf0('0x19')];var _0x3e7cf9;if(_0xbe4b18>=_0x52ee7c){_0xbe4b18=_0x52ee7c;_0x3e7cf9=0xc8;}else{_0x3e7cf9=0xce;}_0x56e77f[_0x8bf0('0x15')](_0x3e7cf9);return _0x56e77f[_0x8bf0('0x1a')](_0x8bf0('0x1b'),_0x18db94+'-'+_0xbe4b18+'/'+_0x52ee7c)[_0x8bf0('0x16')](_0x10e348);}return null;};}function saveUpdates(_0x5504ed){return function(_0x49f164){if(_0x49f164){return _0x49f164[_0x8bf0('0x1c')](_0x5504ed)['then'](function(_0x38d30d){return _0x38d30d;});}return null;};}function removeEntity(_0xeb9372){return function(_0x29e7d2){if(_0x29e7d2){return _0x29e7d2[_0x8bf0('0x1d')]()[_0x8bf0('0x1e')](function(){_0xeb9372[_0x8bf0('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x487f99){return function(_0x4922d3){if(!_0x4922d3){_0x487f99[_0x8bf0('0x13')](0x194);}return _0x4922d3;};}function handleError(_0x2a68f2,_0xf63b44){_0xf63b44=_0xf63b44||0x1f4;return function(_0x157d06){logger[_0x8bf0('0x1f')](_0x157d06[_0x8bf0('0x20')]);if(_0x157d06[_0x8bf0('0x21')]){delete _0x157d06[_0x8bf0('0x21')];}_0x2a68f2[_0x8bf0('0x15')](_0xf63b44)[_0x8bf0('0x22')](_0x157d06);};}exports['index']=function(_0x52f3db,_0x431208){var _0x293007={};var _0x58a108=_['map'](db[_0x8bf0('0x23')]['rawAttributes'],function(_0x5df33c){return{'name':_0x5df33c['fieldName'],'type':_0x5df33c[_0x8bf0('0x24')][_0x8bf0('0x25')]};});_0x293007=qs['getOptions'](_0x58a108,_0x52f3db);return interaction[_0x8bf0('0x26')](_0x8bf0('0x27'),_0x52f3db[_0x8bf0('0x28')],_0x52f3db[_0x8bf0('0x29')],_0x293007,_0x58a108)['then'](respondWithFilteredResult(_0x431208,_0x293007))['catch'](handleError(_0x431208,null));};exports['show']=function(_0x34cec3,_0x2a827f){var _0xdde70e={'raw':![],'where':{'id':_0x34cec3[_0x8bf0('0x2a')]['id']}},_0x3cf063={};_0x3cf063[_0x8bf0('0x2b')]=_[_0x8bf0('0x2c')](db['MailInteraction']['rawAttributes']);_0x3cf063[_0x8bf0('0x28')]=_[_0x8bf0('0x2c')](_0x34cec3['query']);_0x3cf063[_0x8bf0('0x2d')]=_['intersection'](_0x3cf063[_0x8bf0('0x2b')],_0x3cf063[_0x8bf0('0x28')]);_0xdde70e[_0x8bf0('0x2e')]=_[_0x8bf0('0x2f')](_0x3cf063[_0x8bf0('0x2b')],qs['fields'](_0x34cec3[_0x8bf0('0x28')][_0x8bf0('0x30')]));_0xdde70e[_0x8bf0('0x2e')]=_0xdde70e[_0x8bf0('0x2e')][_0x8bf0('0x31')]?_0xdde70e['attributes']:_0x3cf063[_0x8bf0('0x2b')];if(_0x34cec3[_0x8bf0('0x28')][_0x8bf0('0x32')]){_0xdde70e[_0x8bf0('0x33')]=[{'all':!![]}];}_0xdde70e=_[_0x8bf0('0x34')]({},_0xdde70e,_0x34cec3[_0x8bf0('0x35')]);return db[_0x8bf0('0x23')]['find'](_0xdde70e)[_0x8bf0('0x1e')](handleEntityNotFound(_0x2a827f,null))[_0x8bf0('0x1e')](respondWithResult(_0x2a827f,null))[_0x8bf0('0x36')](handleError(_0x2a827f,null));};exports[_0x8bf0('0x37')]=function(_0x19a370,_0x14d3f0){return db[_0x8bf0('0x23')][_0x8bf0('0x37')](_0x19a370[_0x8bf0('0x38')],{})[_0x8bf0('0x1e')](respondWithResult(_0x14d3f0,0xc9))[_0x8bf0('0x36')](handleError(_0x14d3f0,null));};exports[_0x8bf0('0x1c')]=function(_0x560306,_0x2d19e6){if(_0x560306[_0x8bf0('0x38')]['id']){delete _0x560306[_0x8bf0('0x38')]['id'];}return db[_0x8bf0('0x23')][_0x8bf0('0x39')]({'where':{'id':_0x560306[_0x8bf0('0x2a')]['id']}})[_0x8bf0('0x1e')](handleEntityNotFound(_0x2d19e6,null))['then'](saveUpdates(_0x560306[_0x8bf0('0x38')],null))[_0x8bf0('0x1e')](respondWithResult(_0x2d19e6,null))[_0x8bf0('0x36')](handleError(_0x2d19e6,null));};exports['destroy']=function(_0x1f1a2d,_0x178584){return db[_0x8bf0('0x23')][_0x8bf0('0x39')]({'where':{'id':_0x1f1a2d['params']['id']}})[_0x8bf0('0x1e')](handleEntityNotFound(_0x178584,null))[_0x8bf0('0x1e')](removeEntity(_0x178584,null))[_0x8bf0('0x36')](handleError(_0x178584,null));};exports[_0x8bf0('0x3a')]=function(_0x917607,_0x5a9548){return db[_0x8bf0('0x23')][_0x8bf0('0x3a')]()[_0x8bf0('0x1e')](respondWithResult(_0x5a9548,null))[_0x8bf0('0x36')](handleError(_0x5a9548,null));};exports[_0x8bf0('0x3b')]=function(_0x11a14a,_0x2ef0e1){return db[_0x8bf0('0x3c')][_0x8bf0('0x39')]({'where':{'id':_0x11a14a['params']['id']}})[_0x8bf0('0x1e')](handleEntityNotFound(_0x2ef0e1,null))[_0x8bf0('0x1e')](function(_0x27cfef){if(_0x27cfef){return _0x27cfef[_0x8bf0('0x3b')](_0x11a14a[_0x8bf0('0x38')]['ids'],_[_0x8bf0('0x3d')](_0x11a14a[_0x8bf0('0x38')],[_0x8bf0('0x3e'),'id'])||{});}})[_0x8bf0('0x1e')](respondWithResult(_0x2ef0e1,null))[_0x8bf0('0x36')](handleError(_0x2ef0e1,null));};exports[_0x8bf0('0x3f')]=function(_0x4c65c8,_0x1e8454){var _0x219f0f={'raw':![],'where':{}};var _0x19cb37={};var _0x14e182={'count':0x0,'rows':[]};return db[_0x8bf0('0x23')]['findOne']({'where':{'id':_0x4c65c8[_0x8bf0('0x2a')]['id']}})[_0x8bf0('0x1e')](handleEntityNotFound(_0x1e8454,null))['then'](function(_0x48ba68){if(_0x48ba68){_0x19cb37[_0x8bf0('0x2b')]=_['keys'](db[_0x8bf0('0x3c')][_0x8bf0('0x40')]);_0x19cb37[_0x8bf0('0x28')]=_[_0x8bf0('0x2c')](_0x4c65c8['query']);_0x19cb37[_0x8bf0('0x2d')]=_[_0x8bf0('0x2f')](_0x19cb37[_0x8bf0('0x2b')],_0x19cb37[_0x8bf0('0x28')]);_0x219f0f[_0x8bf0('0x2e')]=_[_0x8bf0('0x2f')](_0x19cb37[_0x8bf0('0x2b')],qs[_0x8bf0('0x30')](_0x4c65c8[_0x8bf0('0x28')][_0x8bf0('0x30')]));_0x219f0f[_0x8bf0('0x2e')]=_0x219f0f[_0x8bf0('0x2e')][_0x8bf0('0x31')]?_0x219f0f[_0x8bf0('0x2e')]:_0x19cb37[_0x8bf0('0x2b')];if(!_0x4c65c8['query'][_0x8bf0('0x41')](_0x8bf0('0x42'))){_0x219f0f['limit']=qs['limit'](_0x4c65c8['query'][_0x8bf0('0x19')]);_0x219f0f[_0x8bf0('0x17')]=qs[_0x8bf0('0x17')](_0x4c65c8[_0x8bf0('0x28')]['offset']);}_0x219f0f[_0x8bf0('0x43')]=qs[_0x8bf0('0x44')](_0x4c65c8['query']['sort']);_0x219f0f[_0x8bf0('0x45')]=qs[_0x8bf0('0x2d')](_[_0x8bf0('0x46')](_0x4c65c8[_0x8bf0('0x28')],_0x19cb37[_0x8bf0('0x2d')]));_0x219f0f['where'][_0x8bf0('0x47')]=_0x48ba68['id'];if(_0x4c65c8[_0x8bf0('0x28')]['filter']){_0x219f0f[_0x8bf0('0x45')]=_[_0x8bf0('0x34')](_0x219f0f[_0x8bf0('0x45')],{'$or':_[_0x8bf0('0x48')](_0x219f0f['attributes'],function(_0x2e5d69){var _0x2bab29={};_0x2bab29[_0x2e5d69]={'$like':'%'+_0x4c65c8[_0x8bf0('0x28')][_0x8bf0('0x49')]+'%'};return _0x2bab29;})});}if(_0x4c65c8[_0x8bf0('0x28')]['$gte']){var _0x1afb69=_0x4c65c8['query'][_0x8bf0('0x4a')]['split'](',');var _0x3fc89c={};_0x3fc89c[_0x1afb69[0x0]]={'$gte':moment(_0x1afb69[0x1])[_0x8bf0('0x4b')](_0x8bf0('0x4c'))};_0x219f0f['where']=_['merge'](_0x219f0f['where'],_0x3fc89c);}_0x219f0f=_[_0x8bf0('0x34')]({},_0x219f0f,_0x4c65c8[_0x8bf0('0x35')]);return db[_0x8bf0('0x3c')][_0x8bf0('0x4d')]({'where':_0x219f0f[_0x8bf0('0x45')]})[_0x8bf0('0x1e')](function(_0x5037b4){_0x14e182['count']=_0x5037b4;if(_0x4c65c8['query'][_0x8bf0('0x32')]){_0x219f0f[_0x8bf0('0x33')]=[{'all':!![]}];}return db[_0x8bf0('0x3c')][_0x8bf0('0x26')](_0x219f0f);})[_0x8bf0('0x1e')](function(_0x4598e3){if(_0x4c65c8['query'][_0x8bf0('0x4e')]==='true'){for(var _0x27942c=0x0;_0x27942c<_0x4598e3[_0x8bf0('0x31')];_0x27942c++){_0x4598e3[_0x27942c][_0x8bf0('0x38')]=juice(_0x4598e3[_0x27942c][_0x8bf0('0x38')]);}}_0x14e182[_0x8bf0('0x4f')]=_0x4598e3;return _0x14e182;});}})[_0x8bf0('0x1e')](respondWithFilteredResult(_0x1e8454,_0x219f0f))[_0x8bf0('0x36')](handleError(_0x1e8454,null));};exports[_0x8bf0('0x50')]=function(_0x1e823a,_0x2c8b3e){return db[_0x8bf0('0x23')][_0x8bf0('0x39')]({'where':{'id':_0x1e823a[_0x8bf0('0x2a')]['id']}})[_0x8bf0('0x1e')](handleEntityNotFound(_0x2c8b3e,null))[_0x8bf0('0x1e')](function(_0x41d7da){if(_0x41d7da){return _0x41d7da[_0x8bf0('0x51')](_0x1e823a['body']['ids'],_[_0x8bf0('0x3d')](_0x1e823a[_0x8bf0('0x38')],[_0x8bf0('0x3e'),'id'])||{})[_0x8bf0('0x52')](function(){return db[_0x8bf0('0x53')][_0x8bf0('0x26')]({'attributes':['id',_0x8bf0('0x21'),_0x8bf0('0x54')],'where':{'id':_0x1e823a[_0x8bf0('0x38')][_0x8bf0('0x3e')]}});})[_0x8bf0('0x1e')](function(_0x178c09){socket[_0x8bf0('0x55')](_0x8bf0('0x56'),{'id':Number(_0x1e823a['params']['id']),'tags':_0x178c09||[]});return{'id':Number(_0x1e823a['params']['id']),'tags':_0x178c09||[]};});}})['then'](respondWithResult(_0x2c8b3e,null))[_0x8bf0('0x36')](handleError(_0x2c8b3e,null));};exports[_0x8bf0('0x57')]=function(_0x238e9b,_0x1012ea){return db['MailInteraction']['find']({'where':{'id':_0x238e9b[_0x8bf0('0x2a')]['id']}})[_0x8bf0('0x1e')](handleEntityNotFound(_0x1012ea,null))[_0x8bf0('0x1e')](function(_0x5b20c9){if(_0x5b20c9){return _0x5b20c9['removeTags'](_0x238e9b[_0x8bf0('0x28')]['ids']);}})[_0x8bf0('0x1e')](respondWithStatusCode(_0x1012ea,null))[_0x8bf0('0x36')](handleError(_0x1012ea,null));};exports[_0x8bf0('0x58')]=function(_0x268b5b,_0x4619c9){var _0x40be9b=moment()['unix']()[_0x8bf0('0x59')]();var _0xa5b2b5=path[_0x8bf0('0x5a')](config[_0x8bf0('0x5b')],'server','files',_0x8bf0('0x5c'));var _0x4f15b7=path[_0x8bf0('0x5a')](config[_0x8bf0('0x5b')],_0x8bf0('0x5d'),_0x8bf0('0x5e'),_0x8bf0('0x5f'));var _0x1c068a=path['join'](_0xa5b2b5,_0x40be9b);var _0x17719f=util[_0x8bf0('0x4b')](_0x8bf0('0x60'),_0x268b5b[_0x8bf0('0x2a')]['id'],_0x40be9b);var _0x8b7bfa=path[_0x8bf0('0x5a')](_0xa5b2b5,_0x17719f);var _0x1fecf9=[];if(_0x268b5b['query'][_0x8bf0('0x5f')]){_0x1fecf9[_0x8bf0('0x61')]({'model':db[_0x8bf0('0x62')],'as':_0x8bf0('0x63'),'raw':!![]});}var _0x1750a9=[{'model':db[_0x8bf0('0x3c')],'as':_0x8bf0('0x64'),'attributes':['id','body',_0x8bf0('0x65'),'to','cc',_0x8bf0('0x66'),_0x8bf0('0x67'),'createdAt'],'where':{'secret':![]},'order':qs[_0x8bf0('0x44')]('id'),'include':_0x1fecf9}];return db[_0x8bf0('0x23')][_0x8bf0('0x39')]({'where':{'id':_0x268b5b[_0x8bf0('0x2a')]['id']},'include':_0x1750a9})[_0x8bf0('0x1e')](handleEntityNotFound(_0x4619c9,null))['then'](function(_0x3947f9){if(_0x3947f9&&_0x3947f9[_0x8bf0('0x64')]){var _0x272394=_0x3947f9[_0x8bf0('0x68')]({'plain':!![]});fs[_0x8bf0('0x69')](_0x1c068a);return BPromise['each'](_0x272394[_0x8bf0('0x64')],function(_0xb07bfe,_0x33af16){var _0x74a2dd={'from':_0xb07bfe[_0x8bf0('0x65')],'to':_0xb07bfe['to']||_0x8bf0('0x6a'),'subject':_0xb07bfe[_0x8bf0('0x67')],'html':htmlEntities['decode'](_0xb07bfe[_0x8bf0('0x38')]),'headers':{'Date':moment(_0xb07bfe[_0x8bf0('0x6b')])[_0x8bf0('0x4b')]('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0xb07bfe['cc']){_0x74a2dd[_0x8bf0('0x6c')]['Cc']=_0xb07bfe['cc'];}if(_0xb07bfe[_0x8bf0('0x66')]){_0x74a2dd[_0x8bf0('0x6c')][_0x8bf0('0x6d')]=_0xb07bfe[_0x8bf0('0x66')];}return new BPromise(function(_0x515734,_0x60c48b){if(_0xb07bfe[_0x8bf0('0x63')]){for(var _0x4209b3=0x0;_0x4209b3<_0xb07bfe[_0x8bf0('0x63')][_0x8bf0('0x31')];_0x4209b3++){var _0x3b1873=_0xb07bfe['Attachments'][_0x4209b3];var _0x175ba6=path[_0x8bf0('0x5a')](_0x4f15b7,_0x3b1873[_0x8bf0('0x6e')]);if(fs[_0x8bf0('0x6f')](_0x175ba6)){_0x74a2dd['attachments']['push']({'name':_0x3b1873[_0x8bf0('0x21')],'contentType':_0x3b1873[_0x8bf0('0x24')],'data':fs[_0x8bf0('0x70')](_0x175ba6)});}}}emlformat['build'](_0x74a2dd,function(_0x2cc184,_0x3a014a){if(_0x2cc184)return _0x60c48b(_0x2cc184);fs[_0x8bf0('0x71')](path['join'](_0x1c068a,util[_0x8bf0('0x4b')](_0x8bf0('0x72'),_0x33af16)),_0x3a014a);return _0x515734(_0x3a014a);});});})[_0x8bf0('0x1e')](function(){return new BPromise(function(_0x25d619,_0x50d475){zipdir(_0x1c068a,{'saveTo':_0x8b7bfa},function(_0x17be3d,_0x3595d9){if(_0x17be3d)return _0x50d475(_0x17be3d);return _0x25d619(_0x3595d9);});})[_0x8bf0('0x1e')](function(){return new BPromise(function(_0x5afd2b,_0x87bff6){rimraf(_0x1c068a,function(_0x9f2edd){if(_0x9f2edd)_0x87bff6(_0x9f2edd);return _0x5afd2b();});});})[_0x8bf0('0x1e')](function(){return _0x4619c9[_0x8bf0('0x58')](_0x8b7bfa,_0x17719f,function(_0x5cb500){if(!_0x5cb500)fs[_0x8bf0('0x73')](_0x8b7bfa);});});});}else{return _0x4619c9[_0x8bf0('0x13')](0xc8);}})[_0x8bf0('0x36')](handleError(_0x4619c9,null));};
\ No newline at end of file
+var _0x87cb=['./mailInteraction.socket','end','status','json','offset','undefined','limit','count','set','Content-Range','update','destroy','then','sendStatus','error','stack','name','send','index','map','MailInteraction','type','key','getOptions','findAll','mail','user','catch','show','params','model','keys','rawAttributes','query','intersection','attributes','length','includeAll','include','merge','options','create','body','find','describe','addMessage','MailMessage','ids','omit','getMessages','findOne','filters','fields','hasOwnProperty','nolimit','order','sort','where','MailInteractionId','filter','$gte','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','rows','spread','Tag','color','emit','mailInteractionTags:save','removeTags','toString','join','files','transcript-%d-%s.zip','attachments','push','Attachment','Attachments','from','bcc','Messages','get','mkdirSync','each','missing.recipient@your.company.com','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','basename','existsSync','readFileSync','build','message%d.eml','download','unlinkSync','eml-format','rimraf','zip-dir','moment','bluebird','path','lodash','ioredis','../../components/interaction/service','../../components/parsers/qs','../../config/logger','api','../../mysqldb','html-entities','redis','defaults'];(function(_0x1721fd,_0x176a73){var _0x13a4de=function(_0x3e524b){while(--_0x3e524b){_0x1721fd['push'](_0x1721fd['shift']());}};_0x13a4de(++_0x176a73);}(_0x87cb,0x143));var _0xb87c=function(_0x36ed48,_0x1ee0d4){_0x36ed48=_0x36ed48-0x0;var _0x51c63a=_0x87cb[_0x36ed48];return _0x51c63a;};'use strict';var emlformat=require(_0xb87c('0x0'));var rimraf=require(_0xb87c('0x1'));var zipdir=require(_0xb87c('0x2'));var moment=require(_0xb87c('0x3'));var BPromise=require(_0xb87c('0x4'));var util=require('util');var path=require(_0xb87c('0x5'));var fs=require('fs');var _=require(_0xb87c('0x6'));var juice=require('juice');var Redis=require(_0xb87c('0x7'));var interaction=require(_0xb87c('0x8'));var qs=require(_0xb87c('0x9'));var logger=require(_0xb87c('0xa'))(_0xb87c('0xb'));var config=require('../../config/environment');var db=require(_0xb87c('0xc'))['db'];var htmlEntities=require(_0xb87c('0xd'));config[_0xb87c('0xe')]=_[_0xb87c('0xf')](config[_0xb87c('0xe')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xb87c('0xe')]));require(_0xb87c('0x10'))['register'](socket);function respondWithStatusCode(_0x40c4a2,_0x7a8b8c){_0x7a8b8c=_0x7a8b8c||0xcc;return function(_0x99212e){if(_0x99212e){return _0x40c4a2['sendStatus'](_0x7a8b8c);}return _0x40c4a2['status'](_0x7a8b8c)[_0xb87c('0x11')]();};}function respondWithResult(_0x2ab028,_0x4eb5f9){_0x4eb5f9=_0x4eb5f9||0xc8;return function(_0x67f11a){if(_0x67f11a){return _0x2ab028[_0xb87c('0x12')](_0x4eb5f9)[_0xb87c('0x13')](_0x67f11a);}};}function respondWithFilteredResult(_0x2e93c6,_0x4cdfd8){return function(_0x234433){if(_0x234433){var _0x162310=typeof _0x4cdfd8[_0xb87c('0x14')]===_0xb87c('0x15')&&typeof _0x4cdfd8[_0xb87c('0x16')]===_0xb87c('0x15');var _0x3808bb=_0x234433[_0xb87c('0x17')];var _0x39f8a5=_0x162310?0x0:_0x4cdfd8['offset'];var _0xd450b4=_0x162310?_0x234433[_0xb87c('0x17')]:_0x4cdfd8[_0xb87c('0x14')]+_0x4cdfd8[_0xb87c('0x16')];var _0x56e358;if(_0xd450b4>=_0x3808bb){_0xd450b4=_0x3808bb;_0x56e358=0xc8;}else{_0x56e358=0xce;}_0x2e93c6['status'](_0x56e358);return _0x2e93c6[_0xb87c('0x18')](_0xb87c('0x19'),_0x39f8a5+'-'+_0xd450b4+'/'+_0x3808bb)['json'](_0x234433);}return null;};}function saveUpdates(_0x2c321c){return function(_0x19548f){if(_0x19548f){return _0x19548f[_0xb87c('0x1a')](_0x2c321c)['then'](function(_0x3356ec){return _0x3356ec;});}return null;};}function removeEntity(_0x1e1338){return function(_0x5c54d1){if(_0x5c54d1){return _0x5c54d1[_0xb87c('0x1b')]()[_0xb87c('0x1c')](function(){_0x1e1338[_0xb87c('0x12')](0xcc)['end']();});}};}function handleEntityNotFound(_0x32e69c){return function(_0xb698f9){if(!_0xb698f9){_0x32e69c[_0xb87c('0x1d')](0x194);}return _0xb698f9;};}function handleError(_0x557494,_0x1d3b5c){_0x1d3b5c=_0x1d3b5c||0x1f4;return function(_0x26aa04){logger[_0xb87c('0x1e')](_0x26aa04[_0xb87c('0x1f')]);if(_0x26aa04[_0xb87c('0x20')]){delete _0x26aa04[_0xb87c('0x20')];}_0x557494[_0xb87c('0x12')](_0x1d3b5c)[_0xb87c('0x21')](_0x26aa04);};}exports[_0xb87c('0x22')]=function(_0x428493,_0x29a878){var _0x5bd33c={};var _0x536905=_[_0xb87c('0x23')](db[_0xb87c('0x24')]['rawAttributes'],function(_0x5d11d1){return{'name':_0x5d11d1['fieldName'],'type':_0x5d11d1[_0xb87c('0x25')][_0xb87c('0x26')]};});_0x5bd33c=qs[_0xb87c('0x27')](_0x536905,_0x428493);return interaction[_0xb87c('0x28')](_0xb87c('0x29'),_0x428493['query'],_0x428493[_0xb87c('0x2a')],_0x5bd33c,_0x536905)[_0xb87c('0x1c')](respondWithFilteredResult(_0x29a878,_0x5bd33c))[_0xb87c('0x2b')](handleError(_0x29a878,null));};exports[_0xb87c('0x2c')]=function(_0x1aa5df,_0x104738){var _0x2fdb7f={'raw':![],'where':{'id':_0x1aa5df[_0xb87c('0x2d')]['id']}},_0x474103={};_0x474103[_0xb87c('0x2e')]=_[_0xb87c('0x2f')](db[_0xb87c('0x24')][_0xb87c('0x30')]);_0x474103[_0xb87c('0x31')]=_[_0xb87c('0x2f')](_0x1aa5df[_0xb87c('0x31')]);_0x474103['filters']=_['intersection'](_0x474103[_0xb87c('0x2e')],_0x474103[_0xb87c('0x31')]);_0x2fdb7f['attributes']=_[_0xb87c('0x32')](_0x474103[_0xb87c('0x2e')],qs['fields'](_0x1aa5df['query']['fields']));_0x2fdb7f['attributes']=_0x2fdb7f[_0xb87c('0x33')][_0xb87c('0x34')]?_0x2fdb7f[_0xb87c('0x33')]:_0x474103[_0xb87c('0x2e')];if(_0x1aa5df[_0xb87c('0x31')][_0xb87c('0x35')]){_0x2fdb7f[_0xb87c('0x36')]=[{'all':!![]}];}_0x2fdb7f=_[_0xb87c('0x37')]({},_0x2fdb7f,_0x1aa5df[_0xb87c('0x38')]);return db[_0xb87c('0x24')]['find'](_0x2fdb7f)[_0xb87c('0x1c')](handleEntityNotFound(_0x104738,null))[_0xb87c('0x1c')](respondWithResult(_0x104738,null))['catch'](handleError(_0x104738,null));};exports['create']=function(_0x21bdf7,_0x353476){return db[_0xb87c('0x24')][_0xb87c('0x39')](_0x21bdf7[_0xb87c('0x3a')],{})['then'](respondWithResult(_0x353476,0xc9))['catch'](handleError(_0x353476,null));};exports['update']=function(_0x37d022,_0x433779){if(_0x37d022[_0xb87c('0x3a')]['id']){delete _0x37d022[_0xb87c('0x3a')]['id'];}return db[_0xb87c('0x24')][_0xb87c('0x3b')]({'where':{'id':_0x37d022['params']['id']}})[_0xb87c('0x1c')](handleEntityNotFound(_0x433779,null))[_0xb87c('0x1c')](saveUpdates(_0x37d022[_0xb87c('0x3a')],null))[_0xb87c('0x1c')](respondWithResult(_0x433779,null))[_0xb87c('0x2b')](handleError(_0x433779,null));};exports[_0xb87c('0x1b')]=function(_0x282cd5,_0x422c91){return db[_0xb87c('0x24')][_0xb87c('0x3b')]({'where':{'id':_0x282cd5[_0xb87c('0x2d')]['id']}})['then'](handleEntityNotFound(_0x422c91,null))[_0xb87c('0x1c')](removeEntity(_0x422c91,null))[_0xb87c('0x2b')](handleError(_0x422c91,null));};exports[_0xb87c('0x3c')]=function(_0x7d3d19,_0x92ef3f){return db[_0xb87c('0x24')]['describe']()[_0xb87c('0x1c')](respondWithResult(_0x92ef3f,null))[_0xb87c('0x2b')](handleError(_0x92ef3f,null));};exports[_0xb87c('0x3d')]=function(_0x5a4ce7,_0x43686e){return db[_0xb87c('0x3e')]['find']({'where':{'id':_0x5a4ce7[_0xb87c('0x2d')]['id']}})[_0xb87c('0x1c')](handleEntityNotFound(_0x43686e,null))['then'](function(_0x3f526a){if(_0x3f526a){return _0x3f526a[_0xb87c('0x3d')](_0x5a4ce7[_0xb87c('0x3a')][_0xb87c('0x3f')],_[_0xb87c('0x40')](_0x5a4ce7[_0xb87c('0x3a')],[_0xb87c('0x3f'),'id'])||{});}})['then'](respondWithResult(_0x43686e,null))[_0xb87c('0x2b')](handleError(_0x43686e,null));};exports[_0xb87c('0x41')]=function(_0xc8d190,_0xb5467b){var _0xc05eeb={'raw':![],'where':{}};var _0x44451d={};var _0x2b8ffb={'count':0x0,'rows':[]};return db['MailInteraction'][_0xb87c('0x42')]({'where':{'id':_0xc8d190[_0xb87c('0x2d')]['id']}})[_0xb87c('0x1c')](handleEntityNotFound(_0xb5467b,null))[_0xb87c('0x1c')](function(_0x339a61){if(_0x339a61){_0x44451d[_0xb87c('0x2e')]=_[_0xb87c('0x2f')](db[_0xb87c('0x3e')][_0xb87c('0x30')]);_0x44451d[_0xb87c('0x31')]=_[_0xb87c('0x2f')](_0xc8d190['query']);_0x44451d[_0xb87c('0x43')]=_[_0xb87c('0x32')](_0x44451d[_0xb87c('0x2e')],_0x44451d[_0xb87c('0x31')]);_0xc05eeb['attributes']=_[_0xb87c('0x32')](_0x44451d['model'],qs[_0xb87c('0x44')](_0xc8d190['query'][_0xb87c('0x44')]));_0xc05eeb[_0xb87c('0x33')]=_0xc05eeb[_0xb87c('0x33')][_0xb87c('0x34')]?_0xc05eeb['attributes']:_0x44451d['model'];if(!_0xc8d190['query'][_0xb87c('0x45')](_0xb87c('0x46'))){_0xc05eeb[_0xb87c('0x16')]=qs['limit'](_0xc8d190[_0xb87c('0x31')][_0xb87c('0x16')]);_0xc05eeb['offset']=qs[_0xb87c('0x14')](_0xc8d190[_0xb87c('0x31')]['offset']);}_0xc05eeb[_0xb87c('0x47')]=qs[_0xb87c('0x48')](_0xc8d190[_0xb87c('0x31')][_0xb87c('0x48')]);_0xc05eeb[_0xb87c('0x49')]=qs['filters'](_['pick'](_0xc8d190[_0xb87c('0x31')],_0x44451d[_0xb87c('0x43')]));_0xc05eeb[_0xb87c('0x49')][_0xb87c('0x4a')]=_0x339a61['id'];if(_0xc8d190[_0xb87c('0x31')][_0xb87c('0x4b')]){_0xc05eeb[_0xb87c('0x49')]=_[_0xb87c('0x37')](_0xc05eeb[_0xb87c('0x49')],{'$or':_[_0xb87c('0x23')](_0xc05eeb['attributes'],function(_0xf96a1e){var _0x72c429={};_0x72c429[_0xf96a1e]={'$like':'%'+_0xc8d190[_0xb87c('0x31')]['filter']+'%'};return _0x72c429;})});}if(_0xc8d190[_0xb87c('0x31')][_0xb87c('0x4c')]){var _0x5559ef=_0xc8d190['query'][_0xb87c('0x4c')]['split'](',');var _0x41d62b={};_0x41d62b[_0x5559ef[0x0]]={'$gte':moment(_0x5559ef[0x1])[_0xb87c('0x4d')](_0xb87c('0x4e'))};_0xc05eeb[_0xb87c('0x49')]=_[_0xb87c('0x37')](_0xc05eeb[_0xb87c('0x49')],_0x41d62b);}_0xc05eeb=_['merge']({},_0xc05eeb,_0xc8d190[_0xb87c('0x38')]);return db[_0xb87c('0x3e')][_0xb87c('0x17')]({'where':_0xc05eeb[_0xb87c('0x49')]})[_0xb87c('0x1c')](function(_0x522255){_0x2b8ffb[_0xb87c('0x17')]=_0x522255;if(_0xc8d190[_0xb87c('0x31')][_0xb87c('0x35')]){_0xc05eeb[_0xb87c('0x36')]=[{'all':!![]}];}return db[_0xb87c('0x3e')]['findAll'](_0xc05eeb);})[_0xb87c('0x1c')](function(_0x5c2a8b){if(_0xc8d190[_0xb87c('0x31')][_0xb87c('0x4f')]==='true'){for(var _0x57ceb1=0x0;_0x57ceb1<_0x5c2a8b['length'];_0x57ceb1++){_0x5c2a8b[_0x57ceb1][_0xb87c('0x3a')]=juice(_0x5c2a8b[_0x57ceb1]['body']);}}_0x2b8ffb[_0xb87c('0x50')]=_0x5c2a8b;return _0x2b8ffb;});}})[_0xb87c('0x1c')](respondWithFilteredResult(_0xb5467b,_0xc05eeb))[_0xb87c('0x2b')](handleError(_0xb5467b,null));};exports['addTags']=function(_0x4f5a63,_0xc38f8f){return db[_0xb87c('0x24')]['find']({'where':{'id':_0x4f5a63[_0xb87c('0x2d')]['id']}})['then'](handleEntityNotFound(_0xc38f8f,null))[_0xb87c('0x1c')](function(_0x59b866){if(_0x59b866){return _0x59b866['setTags'](_0x4f5a63[_0xb87c('0x3a')][_0xb87c('0x3f')],_[_0xb87c('0x40')](_0x4f5a63[_0xb87c('0x3a')],[_0xb87c('0x3f'),'id'])||{})[_0xb87c('0x51')](function(){return db[_0xb87c('0x52')][_0xb87c('0x28')]({'attributes':['id',_0xb87c('0x20'),_0xb87c('0x53')],'where':{'id':_0x4f5a63[_0xb87c('0x3a')]['ids']}});})[_0xb87c('0x1c')](function(_0x366196){socket[_0xb87c('0x54')](_0xb87c('0x55'),{'id':Number(_0x4f5a63[_0xb87c('0x2d')]['id']),'tags':_0x366196||[]});return{'id':Number(_0x4f5a63[_0xb87c('0x2d')]['id']),'tags':_0x366196||[]};});}})[_0xb87c('0x1c')](respondWithResult(_0xc38f8f,null))[_0xb87c('0x2b')](handleError(_0xc38f8f,null));};exports['removeTags']=function(_0x30880d,_0xd659ef){return db['MailInteraction'][_0xb87c('0x3b')]({'where':{'id':_0x30880d['params']['id']}})[_0xb87c('0x1c')](handleEntityNotFound(_0xd659ef,null))['then'](function(_0x19641a){if(_0x19641a){return _0x19641a[_0xb87c('0x56')](_0x30880d[_0xb87c('0x31')][_0xb87c('0x3f')]);}})[_0xb87c('0x1c')](respondWithStatusCode(_0xd659ef,null))['catch'](handleError(_0xd659ef,null));};exports['download']=function(_0x45c704,_0x5773e1){var _0x2dfc25=moment()['unix']()[_0xb87c('0x57')]();var _0x249c8e=path[_0xb87c('0x58')](config['root'],'server',_0xb87c('0x59'),'tmp');var _0x5afe63=path['join'](config['root'],'server',_0xb87c('0x59'),'attachments');var _0x32cea0=path[_0xb87c('0x58')](_0x249c8e,_0x2dfc25);var _0x50804b=util[_0xb87c('0x4d')](_0xb87c('0x5a'),_0x45c704[_0xb87c('0x2d')]['id'],_0x2dfc25);var _0x12d99a=path[_0xb87c('0x58')](_0x249c8e,_0x50804b);var _0x42e91c=[];if(_0x45c704[_0xb87c('0x31')][_0xb87c('0x5b')]){_0x42e91c[_0xb87c('0x5c')]({'model':db[_0xb87c('0x5d')],'as':_0xb87c('0x5e'),'raw':!![]});}var _0x4a8f34=[{'model':db[_0xb87c('0x3e')],'as':'Messages','attributes':['id',_0xb87c('0x3a'),_0xb87c('0x5f'),'to','cc',_0xb87c('0x60'),'subject','createdAt'],'where':{'secret':![]},'order':qs[_0xb87c('0x48')]('id'),'include':_0x42e91c}];return db[_0xb87c('0x24')]['find']({'where':{'id':_0x45c704[_0xb87c('0x2d')]['id']},'include':_0x4a8f34})['then'](handleEntityNotFound(_0x5773e1,null))[_0xb87c('0x1c')](function(_0x47150f){if(_0x47150f&&_0x47150f[_0xb87c('0x61')]){var _0x42109c=_0x47150f[_0xb87c('0x62')]({'plain':!![]});fs[_0xb87c('0x63')](_0x32cea0);return BPromise[_0xb87c('0x64')](_0x42109c[_0xb87c('0x61')],function(_0x392e18,_0x200ef2){var _0x4520af={'from':_0x392e18[_0xb87c('0x5f')],'to':_0x392e18['to']||_0xb87c('0x65'),'subject':_0x392e18['subject'],'html':htmlEntities[_0xb87c('0x66')](_0x392e18[_0xb87c('0x3a')]),'headers':{'Date':moment(_0x392e18['createdAt'])['format'](_0xb87c('0x67'))},'attachments':[]};if(_0x392e18['cc']){_0x4520af[_0xb87c('0x68')]['Cc']=_0x392e18['cc'];}if(_0x392e18[_0xb87c('0x60')]){_0x4520af[_0xb87c('0x68')][_0xb87c('0x69')]=_0x392e18[_0xb87c('0x60')];}return new BPromise(function(_0x45b8cb,_0x2bd27d){if(_0x392e18[_0xb87c('0x5e')]){for(var _0x328243=0x0;_0x328243<_0x392e18[_0xb87c('0x5e')][_0xb87c('0x34')];_0x328243++){var _0x41afd4=_0x392e18[_0xb87c('0x5e')][_0x328243];var _0x5ba397=path[_0xb87c('0x58')](_0x5afe63,_0x41afd4[_0xb87c('0x6a')]);if(fs[_0xb87c('0x6b')](_0x5ba397)){_0x4520af[_0xb87c('0x5b')][_0xb87c('0x5c')]({'name':_0x41afd4[_0xb87c('0x20')],'contentType':_0x41afd4['type'],'data':fs[_0xb87c('0x6c')](_0x5ba397)});}}}emlformat[_0xb87c('0x6d')](_0x4520af,function(_0x1bff28,_0x111988){if(_0x1bff28)return _0x2bd27d(_0x1bff28);fs['writeFileSync'](path['join'](_0x32cea0,util[_0xb87c('0x4d')](_0xb87c('0x6e'),_0x200ef2)),_0x111988);return _0x45b8cb(_0x111988);});});})[_0xb87c('0x1c')](function(){return new BPromise(function(_0x230bc9,_0x21048e){zipdir(_0x32cea0,{'saveTo':_0x12d99a},function(_0x359320,_0x53e3a2){if(_0x359320)return _0x21048e(_0x359320);return _0x230bc9(_0x53e3a2);});})[_0xb87c('0x1c')](function(){return new BPromise(function(_0x22bede,_0x141e24){rimraf(_0x32cea0,function(_0x28891b){if(_0x28891b)_0x141e24(_0x28891b);return _0x22bede();});});})[_0xb87c('0x1c')](function(){return _0x5773e1[_0xb87c('0x6f')](_0x12d99a,_0x50804b,function(_0x34cfe5){if(!_0x34cfe5)fs[_0xb87c('0x70')](_0x12d99a);});});});}else{return _0x5773e1[_0xb87c('0x1d')](0xc8);}})[_0xb87c('0x2b')](handleError(_0x5773e1,null));};
\ No newline at end of file