Built motion from commit 9d0783e6.|2.6.13
[motion2.git] / server / api / mailInteraction / mailInteraction.controller.js
index 9545bed..0e32e45 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xa679=['missing.recipient@your.company.com','subject','decode','createdAt','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','basename','existsSync','readFileSync','writeFileSync','eml-format','zip-dir','moment','bluebird','util','path','lodash','../../components/interaction/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','html-entities','redis','defaults','./mailInteraction.socket','register','sendStatus','status','end','json','undefined','limit','count','offset','update','then','error','stack','name','index','map','MailInteraction','rawAttributes','fieldName','type','key','getOptions','query','user','catch','show','params','model','keys','intersection','attributes','fields','length','include','options','find','create','body','destroy','describe','addMessage','MailMessage','ids','omit','getMessages','findOne','filters','hasOwnProperty','nolimit','sort','where','MailInteractionId','filter','merge','$gte','split','format','includeAll','findAll','true','rows','addTags','setTags','spread','Tag','color','removeTags','download','unix','join','root','server','files','tmp','attachments','push','Attachment','Attachments','Messages','from','bcc','get','each'];(function(_0x73bd6c,_0x3451c){var _0x3914fb=function(_0x26b805){while(--_0x26b805){_0x73bd6c['push'](_0x73bd6c['shift']());}};_0x3914fb(++_0x3451c);}(_0xa679,0x155));var _0x9a67=function(_0x50d0b9,_0x105146){_0x50d0b9=_0x50d0b9-0x0;var _0x313049=_0xa679[_0x50d0b9];return _0x313049;};'use strict';var emlformat=require(_0x9a67('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x9a67('0x1'));var moment=require(_0x9a67('0x2'));var BPromise=require(_0x9a67('0x3'));var util=require(_0x9a67('0x4'));var path=require(_0x9a67('0x5'));var fs=require('fs');var _=require(_0x9a67('0x6'));var juice=require('juice');var Redis=require('ioredis');var interaction=require(_0x9a67('0x7'));var qs=require(_0x9a67('0x8'));var logger=require(_0x9a67('0x9'))(_0x9a67('0xa'));var config=require(_0x9a67('0xb'));var db=require('../../mysqldb')['db'];var htmlEntities=require(_0x9a67('0xc'));config[_0x9a67('0xd')]=_[_0x9a67('0xe')](config[_0x9a67('0xd')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x9a67('0xf'))[_0x9a67('0x10')](socket);function respondWithStatusCode(_0x25b49a,_0x6c4068){_0x6c4068=_0x6c4068||0xcc;return function(_0x397068){if(_0x397068){return _0x25b49a[_0x9a67('0x11')](_0x6c4068);}return _0x25b49a[_0x9a67('0x12')](_0x6c4068)[_0x9a67('0x13')]();};}function respondWithResult(_0x23c5ee,_0x128287){_0x128287=_0x128287||0xc8;return function(_0x58eb41){if(_0x58eb41){return _0x23c5ee[_0x9a67('0x12')](_0x128287)[_0x9a67('0x14')](_0x58eb41);}};}function respondWithFilteredResult(_0x3537a9,_0x56a6cc){return function(_0x30d330){if(_0x30d330){var _0x552432=typeof _0x56a6cc['offset']===_0x9a67('0x15')&&typeof _0x56a6cc[_0x9a67('0x16')]===_0x9a67('0x15');var _0x134b79=_0x30d330[_0x9a67('0x17')];var _0x3b8f2f=_0x552432?0x0:_0x56a6cc[_0x9a67('0x18')];var _0x40ecb8=_0x552432?_0x30d330[_0x9a67('0x17')]:_0x56a6cc[_0x9a67('0x18')]+_0x56a6cc[_0x9a67('0x16')];var _0x21fa75;if(_0x40ecb8>=_0x134b79){_0x40ecb8=_0x134b79;_0x21fa75=0xc8;}else{_0x21fa75=0xce;}_0x3537a9[_0x9a67('0x12')](_0x21fa75);return _0x3537a9['set']('Content-Range',_0x3b8f2f+'-'+_0x40ecb8+'/'+_0x134b79)[_0x9a67('0x14')](_0x30d330);}return null;};}function saveUpdates(_0x388252){return function(_0x56a565){if(_0x56a565){return _0x56a565[_0x9a67('0x19')](_0x388252)['then'](function(_0x269b9b){return _0x269b9b;});}return null;};}function removeEntity(_0x1c7bf1){return function(_0xe70f96){if(_0xe70f96){return _0xe70f96['destroy']()[_0x9a67('0x1a')](function(){_0x1c7bf1[_0x9a67('0x12')](0xcc)[_0x9a67('0x13')]();});}};}function handleEntityNotFound(_0x144a5f){return function(_0x9ed7c7){if(!_0x9ed7c7){_0x144a5f[_0x9a67('0x11')](0x194);}return _0x9ed7c7;};}function handleError(_0x18dc25,_0x3b3afe){_0x3b3afe=_0x3b3afe||0x1f4;return function(_0xb10b1a){logger[_0x9a67('0x1b')](_0xb10b1a[_0x9a67('0x1c')]);if(_0xb10b1a[_0x9a67('0x1d')]){delete _0xb10b1a['name'];}_0x18dc25['status'](_0x3b3afe)['send'](_0xb10b1a);};}exports[_0x9a67('0x1e')]=function(_0x349891,_0x1b7dce){var _0x34be56={};var _0xc2335c=_[_0x9a67('0x1f')](db[_0x9a67('0x20')][_0x9a67('0x21')],function(_0x5c2e25){return{'name':_0x5c2e25[_0x9a67('0x22')],'type':_0x5c2e25[_0x9a67('0x23')][_0x9a67('0x24')]};});_0x34be56=qs[_0x9a67('0x25')](_0xc2335c,_0x349891);return interaction['findAll']('mail',_0x349891[_0x9a67('0x26')],_0x349891[_0x9a67('0x27')],_0x34be56,_0xc2335c)[_0x9a67('0x1a')](respondWithFilteredResult(_0x1b7dce,_0x34be56))[_0x9a67('0x28')](handleError(_0x1b7dce,null));};exports[_0x9a67('0x29')]=function(_0x41d9d6,_0x205c05){var _0x18bdcd={'raw':![],'where':{'id':_0x41d9d6[_0x9a67('0x2a')]['id']}},_0xef5541={};_0xef5541[_0x9a67('0x2b')]=_[_0x9a67('0x2c')](db[_0x9a67('0x20')]['rawAttributes']);_0xef5541[_0x9a67('0x26')]=_[_0x9a67('0x2c')](_0x41d9d6[_0x9a67('0x26')]);_0xef5541['filters']=_[_0x9a67('0x2d')](_0xef5541['model'],_0xef5541[_0x9a67('0x26')]);_0x18bdcd[_0x9a67('0x2e')]=_[_0x9a67('0x2d')](_0xef5541[_0x9a67('0x2b')],qs[_0x9a67('0x2f')](_0x41d9d6[_0x9a67('0x26')][_0x9a67('0x2f')]));_0x18bdcd[_0x9a67('0x2e')]=_0x18bdcd['attributes'][_0x9a67('0x30')]?_0x18bdcd['attributes']:_0xef5541[_0x9a67('0x2b')];if(_0x41d9d6[_0x9a67('0x26')]['includeAll']){_0x18bdcd[_0x9a67('0x31')]=[{'all':!![]}];}_0x18bdcd=_['merge']({},_0x18bdcd,_0x41d9d6[_0x9a67('0x32')]);return db['MailInteraction'][_0x9a67('0x33')](_0x18bdcd)[_0x9a67('0x1a')](handleEntityNotFound(_0x205c05,null))[_0x9a67('0x1a')](respondWithResult(_0x205c05,null))[_0x9a67('0x28')](handleError(_0x205c05,null));};exports[_0x9a67('0x34')]=function(_0x249430,_0x3ede30){return db[_0x9a67('0x20')][_0x9a67('0x34')](_0x249430[_0x9a67('0x35')],{})['then'](respondWithResult(_0x3ede30,0xc9))[_0x9a67('0x28')](handleError(_0x3ede30,null));};exports['update']=function(_0xca4dea,_0x251350){if(_0xca4dea['body']['id']){delete _0xca4dea['body']['id'];}return db[_0x9a67('0x20')]['find']({'where':{'id':_0xca4dea[_0x9a67('0x2a')]['id']}})['then'](handleEntityNotFound(_0x251350,null))[_0x9a67('0x1a')](saveUpdates(_0xca4dea[_0x9a67('0x35')],null))[_0x9a67('0x1a')](respondWithResult(_0x251350,null))['catch'](handleError(_0x251350,null));};exports[_0x9a67('0x36')]=function(_0x12a426,_0x5d699d){return db[_0x9a67('0x20')][_0x9a67('0x33')]({'where':{'id':_0x12a426['params']['id']}})[_0x9a67('0x1a')](handleEntityNotFound(_0x5d699d,null))[_0x9a67('0x1a')](removeEntity(_0x5d699d,null))[_0x9a67('0x28')](handleError(_0x5d699d,null));};exports[_0x9a67('0x37')]=function(_0x4ac7bb,_0x19d82f){return db[_0x9a67('0x20')][_0x9a67('0x37')]()[_0x9a67('0x1a')](respondWithResult(_0x19d82f,null))[_0x9a67('0x28')](handleError(_0x19d82f,null));};exports[_0x9a67('0x38')]=function(_0x38b679,_0x441eb3){return db[_0x9a67('0x39')][_0x9a67('0x33')]({'where':{'id':_0x38b679[_0x9a67('0x2a')]['id']}})[_0x9a67('0x1a')](handleEntityNotFound(_0x441eb3,null))['then'](function(_0x82a713){if(_0x82a713){return _0x82a713[_0x9a67('0x38')](_0x38b679[_0x9a67('0x35')][_0x9a67('0x3a')],_[_0x9a67('0x3b')](_0x38b679[_0x9a67('0x35')],['ids','id'])||{});}})[_0x9a67('0x1a')](respondWithResult(_0x441eb3,null))[_0x9a67('0x28')](handleError(_0x441eb3,null));};exports[_0x9a67('0x3c')]=function(_0x2ca3de,_0x223c60){var _0x6dbb7a={'raw':![],'where':{}};var _0x40e063={};var _0x1133de={'count':0x0,'rows':[]};return db[_0x9a67('0x20')][_0x9a67('0x3d')]({'where':{'id':_0x2ca3de['params']['id']}})[_0x9a67('0x1a')](handleEntityNotFound(_0x223c60,null))['then'](function(_0x49bb55){if(_0x49bb55){_0x40e063[_0x9a67('0x2b')]=_[_0x9a67('0x2c')](db[_0x9a67('0x39')][_0x9a67('0x21')]);_0x40e063['query']=_[_0x9a67('0x2c')](_0x2ca3de[_0x9a67('0x26')]);_0x40e063[_0x9a67('0x3e')]=_['intersection'](_0x40e063[_0x9a67('0x2b')],_0x40e063[_0x9a67('0x26')]);_0x6dbb7a[_0x9a67('0x2e')]=_['intersection'](_0x40e063[_0x9a67('0x2b')],qs['fields'](_0x2ca3de[_0x9a67('0x26')][_0x9a67('0x2f')]));_0x6dbb7a[_0x9a67('0x2e')]=_0x6dbb7a[_0x9a67('0x2e')][_0x9a67('0x30')]?_0x6dbb7a[_0x9a67('0x2e')]:_0x40e063[_0x9a67('0x2b')];if(!_0x2ca3de[_0x9a67('0x26')][_0x9a67('0x3f')](_0x9a67('0x40'))){_0x6dbb7a[_0x9a67('0x16')]=qs[_0x9a67('0x16')](_0x2ca3de[_0x9a67('0x26')]['limit']);_0x6dbb7a[_0x9a67('0x18')]=qs['offset'](_0x2ca3de[_0x9a67('0x26')][_0x9a67('0x18')]);}_0x6dbb7a['order']=qs[_0x9a67('0x41')](_0x2ca3de[_0x9a67('0x26')]['sort']);_0x6dbb7a[_0x9a67('0x42')]=qs['filters'](_['pick'](_0x2ca3de[_0x9a67('0x26')],_0x40e063['filters']));_0x6dbb7a[_0x9a67('0x42')][_0x9a67('0x43')]=_0x49bb55['id'];if(_0x2ca3de['query'][_0x9a67('0x44')]){_0x6dbb7a['where']=_[_0x9a67('0x45')](_0x6dbb7a['where'],{'$or':_[_0x9a67('0x1f')](_0x6dbb7a['attributes'],function(_0x393ff4){var _0x59baa3={};_0x59baa3[_0x393ff4]={'$like':'%'+_0x2ca3de[_0x9a67('0x26')][_0x9a67('0x44')]+'%'};return _0x59baa3;})});}if(_0x2ca3de[_0x9a67('0x26')][_0x9a67('0x46')]){var _0xf49791=_0x2ca3de[_0x9a67('0x26')][_0x9a67('0x46')][_0x9a67('0x47')](',');var _0x34a84a={};_0x34a84a[_0xf49791[0x0]]={'$gte':moment(_0xf49791[0x1])[_0x9a67('0x48')]('YYYY-MM-DD\x20HH:mm:ss')};_0x6dbb7a[_0x9a67('0x42')]=_['merge'](_0x6dbb7a[_0x9a67('0x42')],_0x34a84a);}_0x6dbb7a=_[_0x9a67('0x45')]({},_0x6dbb7a,_0x2ca3de['options']);return db[_0x9a67('0x39')][_0x9a67('0x17')]({'where':_0x6dbb7a[_0x9a67('0x42')]})[_0x9a67('0x1a')](function(_0x34184e){_0x1133de[_0x9a67('0x17')]=_0x34184e;if(_0x2ca3de[_0x9a67('0x26')][_0x9a67('0x49')]){_0x6dbb7a[_0x9a67('0x31')]=[{'all':!![]}];}return db['MailMessage'][_0x9a67('0x4a')](_0x6dbb7a);})[_0x9a67('0x1a')](function(_0x4564fa){if(_0x2ca3de['query']['inlineCss']===_0x9a67('0x4b')){for(var _0x5b57fe=0x0;_0x5b57fe<_0x4564fa[_0x9a67('0x30')];_0x5b57fe++){_0x4564fa[_0x5b57fe]['body']=juice(_0x4564fa[_0x5b57fe]['body']);}}_0x1133de[_0x9a67('0x4c')]=_0x4564fa;return _0x1133de;});}})[_0x9a67('0x1a')](respondWithFilteredResult(_0x223c60,_0x6dbb7a))[_0x9a67('0x28')](handleError(_0x223c60,null));};exports[_0x9a67('0x4d')]=function(_0x4e39d7,_0x8d4f19){return db['MailInteraction'][_0x9a67('0x33')]({'where':{'id':_0x4e39d7['params']['id']}})[_0x9a67('0x1a')](handleEntityNotFound(_0x8d4f19,null))['then'](function(_0x255324){if(_0x255324){return _0x255324[_0x9a67('0x4e')](_0x4e39d7[_0x9a67('0x35')][_0x9a67('0x3a')],_[_0x9a67('0x3b')](_0x4e39d7[_0x9a67('0x35')],[_0x9a67('0x3a'),'id'])||{})[_0x9a67('0x4f')](function(){return db[_0x9a67('0x50')][_0x9a67('0x4a')]({'attributes':['id',_0x9a67('0x1d'),_0x9a67('0x51')],'where':{'id':_0x4e39d7[_0x9a67('0x35')][_0x9a67('0x3a')]}});})[_0x9a67('0x1a')](function(_0x50a8c0){socket['emit']('mailInteractionTags:save',{'id':Number(_0x4e39d7[_0x9a67('0x2a')]['id']),'tags':_0x50a8c0||[]});return{'id':Number(_0x4e39d7[_0x9a67('0x2a')]['id']),'tags':_0x50a8c0||[]};});}})[_0x9a67('0x1a')](respondWithResult(_0x8d4f19,null))[_0x9a67('0x28')](handleError(_0x8d4f19,null));};exports[_0x9a67('0x52')]=function(_0x18e0cb,_0x28ee98){return db[_0x9a67('0x20')][_0x9a67('0x33')]({'where':{'id':_0x18e0cb[_0x9a67('0x2a')]['id']}})['then'](handleEntityNotFound(_0x28ee98,null))['then'](function(_0x2849ba){if(_0x2849ba){return _0x2849ba[_0x9a67('0x52')](_0x18e0cb[_0x9a67('0x26')][_0x9a67('0x3a')]);}})[_0x9a67('0x1a')](respondWithStatusCode(_0x28ee98,null))['catch'](handleError(_0x28ee98,null));};exports[_0x9a67('0x53')]=function(_0x13e5b4,_0x50e7a4){var _0x528bb0=moment()[_0x9a67('0x54')]()['toString']();var _0x14d64c=path[_0x9a67('0x55')](config[_0x9a67('0x56')],_0x9a67('0x57'),_0x9a67('0x58'),_0x9a67('0x59'));var _0x4c30a8=path[_0x9a67('0x55')](config['root'],_0x9a67('0x57'),_0x9a67('0x58'),_0x9a67('0x5a'));var _0x8e002b=path[_0x9a67('0x55')](_0x14d64c,_0x528bb0);var _0x56513f=util[_0x9a67('0x48')]('transcript-%d-%s.zip',_0x13e5b4[_0x9a67('0x2a')]['id'],_0x528bb0);var _0x168286=path[_0x9a67('0x55')](_0x14d64c,_0x56513f);var _0x12d899=[];if(_0x13e5b4[_0x9a67('0x26')][_0x9a67('0x5a')]){_0x12d899[_0x9a67('0x5b')]({'model':db[_0x9a67('0x5c')],'as':_0x9a67('0x5d'),'raw':!![]});}var _0x38bfa7=[{'model':db[_0x9a67('0x39')],'as':_0x9a67('0x5e'),'attributes':['id','body',_0x9a67('0x5f'),'to','cc',_0x9a67('0x60'),'subject','createdAt'],'where':{'secret':![]},'order':qs[_0x9a67('0x41')]('id'),'include':_0x12d899}];return db[_0x9a67('0x20')]['find']({'where':{'id':_0x13e5b4[_0x9a67('0x2a')]['id']},'include':_0x38bfa7})[_0x9a67('0x1a')](handleEntityNotFound(_0x50e7a4,null))[_0x9a67('0x1a')](function(_0x592bb8){if(_0x592bb8&&_0x592bb8[_0x9a67('0x5e')]){var _0x22b9ac=_0x592bb8[_0x9a67('0x61')]({'plain':!![]});fs['mkdirSync'](_0x8e002b);return BPromise[_0x9a67('0x62')](_0x22b9ac[_0x9a67('0x5e')],function(_0xb129b5,_0x20eb27){var _0x18af99={'from':_0xb129b5[_0x9a67('0x5f')],'to':_0xb129b5['to']||_0x9a67('0x63'),'subject':_0xb129b5[_0x9a67('0x64')],'html':htmlEntities[_0x9a67('0x65')](_0xb129b5[_0x9a67('0x35')]),'headers':{'Date':moment(_0xb129b5[_0x9a67('0x66')])['format'](_0x9a67('0x67'))},'attachments':[]};if(_0xb129b5['cc']){_0x18af99[_0x9a67('0x68')]['Cc']=_0xb129b5['cc'];}if(_0xb129b5[_0x9a67('0x60')]){_0x18af99[_0x9a67('0x68')][_0x9a67('0x69')]=_0xb129b5[_0x9a67('0x60')];}return new BPromise(function(_0x1b00cb,_0x219a9a){if(_0xb129b5[_0x9a67('0x5d')]){for(var _0x2361b9=0x0;_0x2361b9<_0xb129b5[_0x9a67('0x5d')][_0x9a67('0x30')];_0x2361b9++){var _0x1f507c=_0xb129b5[_0x9a67('0x5d')][_0x2361b9];var _0x10b1e4=path[_0x9a67('0x55')](_0x4c30a8,_0x1f507c[_0x9a67('0x6a')]);if(fs[_0x9a67('0x6b')](_0x10b1e4)){_0x18af99[_0x9a67('0x5a')][_0x9a67('0x5b')]({'name':_0x1f507c[_0x9a67('0x1d')],'contentType':_0x1f507c[_0x9a67('0x23')],'data':fs[_0x9a67('0x6c')](_0x10b1e4)});}}}emlformat['build'](_0x18af99,function(_0x58847,_0x910a8a){if(_0x58847)return _0x219a9a(_0x58847);fs[_0x9a67('0x6d')](path[_0x9a67('0x55')](_0x8e002b,util[_0x9a67('0x48')]('message%d.eml',_0x20eb27)),_0x910a8a);return _0x1b00cb(_0x910a8a);});});})[_0x9a67('0x1a')](function(){return new BPromise(function(_0x4d9ca3,_0x53622a){zipdir(_0x8e002b,{'saveTo':_0x168286},function(_0x479972,_0x4b619f){if(_0x479972)return _0x53622a(_0x479972);return _0x4d9ca3(_0x4b619f);});})[_0x9a67('0x1a')](function(){return new BPromise(function(_0x548336,_0x394205){rimraf(_0x8e002b,function(_0x53343a){if(_0x53343a)_0x394205(_0x53343a);return _0x548336();});});})[_0x9a67('0x1a')](function(){return _0x50e7a4[_0x9a67('0x53')](_0x168286,_0x56513f,function(_0x2eb7d0){if(!_0x2eb7d0)fs['unlinkSync'](_0x168286);});});});}else{return _0x50e7a4[_0x9a67('0x11')](0xc8);}})[_0x9a67('0x28')](handleError(_0x50e7a4,null));};
\ No newline at end of file
+var _0x3f05=['mailInteractionTags:save','removeTags','download','toString','files','tmp','join','root','server','attachments','transcript-%d-%s.zip','push','Attachments','Messages','bcc','subject','createdAt','get','mkdirSync','each','from','decode','headers','Bcc','basename','readFileSync','writeFileSync','message%d.eml','eml-format','rimraf','zip-dir','moment','bluebird','path','lodash','juice','ioredis','../../components/parsers/qs','api','../../config/environment','../../mysqldb','html-entities','redis','defaults','localhost','./mailInteraction.socket','sendStatus','status','json','offset','limit','undefined','count','Content-Range','update','then','destroy','error','name','index','fieldName','type','mail','user','catch','show','model','MailInteraction','rawAttributes','query','filters','attributes','intersection','fields','length','includeAll','include','merge','options','find','create','body','params','describe','MailMessage','addMessage','ids','omit','getMessages','findOne','keys','nolimit','sort','where','pick','MailInteractionId','filter','map','$gte','split','format','findAll','inlineCss','true','rows','addTags','setTags','spread','Tag','color','emit'];(function(_0x213f91,_0x8f3782){var _0x5cf677=function(_0x469754){while(--_0x469754){_0x213f91['push'](_0x213f91['shift']());}};_0x5cf677(++_0x8f3782);}(_0x3f05,0xfa));var _0x53f0=function(_0x325155,_0x5d4450){_0x325155=_0x325155-0x0;var _0x284d00=_0x3f05[_0x325155];return _0x284d00;};'use strict';var emlformat=require(_0x53f0('0x0'));var rimraf=require(_0x53f0('0x1'));var zipdir=require(_0x53f0('0x2'));var moment=require(_0x53f0('0x3'));var BPromise=require(_0x53f0('0x4'));var util=require('util');var path=require(_0x53f0('0x5'));var fs=require('fs');var _=require(_0x53f0('0x6'));var juice=require(_0x53f0('0x7'));var Redis=require(_0x53f0('0x8'));var interaction=require('../../components/interaction/service');var qs=require(_0x53f0('0x9'));var logger=require('../../config/logger')(_0x53f0('0xa'));var config=require(_0x53f0('0xb'));var db=require(_0x53f0('0xc'))['db'];var htmlEntities=require(_0x53f0('0xd'));config[_0x53f0('0xe')]=_[_0x53f0('0xf')](config[_0x53f0('0xe')],{'host':_0x53f0('0x10'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x53f0('0x11'))['register'](socket);function respondWithStatusCode(_0x513570,_0x5b873e){_0x5b873e=_0x5b873e||0xcc;return function(_0x5b0ec7){if(_0x5b0ec7){return _0x513570[_0x53f0('0x12')](_0x5b873e);}return _0x513570[_0x53f0('0x13')](_0x5b873e)['end']();};}function respondWithResult(_0x3b5e39,_0x1762b7){_0x1762b7=_0x1762b7||0xc8;return function(_0x35da4a){if(_0x35da4a){return _0x3b5e39[_0x53f0('0x13')](_0x1762b7)[_0x53f0('0x14')](_0x35da4a);}};}function respondWithFilteredResult(_0x281b01,_0x4df3ab){return function(_0x332de6){if(_0x332de6){var _0x1305e7=typeof _0x4df3ab[_0x53f0('0x15')]==='undefined'&&typeof _0x4df3ab[_0x53f0('0x16')]===_0x53f0('0x17');var _0x41a678=_0x332de6[_0x53f0('0x18')];var _0xc1c15d=_0x1305e7?0x0:_0x4df3ab[_0x53f0('0x15')];var _0x5ec66c=_0x1305e7?_0x332de6[_0x53f0('0x18')]:_0x4df3ab[_0x53f0('0x15')]+_0x4df3ab['limit'];var _0x4a40ab;if(_0x5ec66c>=_0x41a678){_0x5ec66c=_0x41a678;_0x4a40ab=0xc8;}else{_0x4a40ab=0xce;}_0x281b01['status'](_0x4a40ab);return _0x281b01['set'](_0x53f0('0x19'),_0xc1c15d+'-'+_0x5ec66c+'/'+_0x41a678)[_0x53f0('0x14')](_0x332de6);}return null;};}function saveUpdates(_0x1315f0){return function(_0x15aac5){if(_0x15aac5){return _0x15aac5[_0x53f0('0x1a')](_0x1315f0)[_0x53f0('0x1b')](function(_0x2fdf53){return _0x2fdf53;});}return null;};}function removeEntity(_0x332acf){return function(_0x5418ab){if(_0x5418ab){return _0x5418ab[_0x53f0('0x1c')]()[_0x53f0('0x1b')](function(){_0x332acf['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x28988d){return function(_0x4f0ac4){if(!_0x4f0ac4){_0x28988d['sendStatus'](0x194);}return _0x4f0ac4;};}function handleError(_0xcc8398,_0x36e377){_0x36e377=_0x36e377||0x1f4;return function(_0x15a629){logger[_0x53f0('0x1d')](_0x15a629['stack']);if(_0x15a629[_0x53f0('0x1e')]){delete _0x15a629[_0x53f0('0x1e')];}_0xcc8398[_0x53f0('0x13')](_0x36e377)['send'](_0x15a629);};}exports[_0x53f0('0x1f')]=function(_0x3a9ebf,_0x433c1a){var _0x2630a2={};var _0x21276e=_['map'](db['MailInteraction']['rawAttributes'],function(_0x20a907){return{'name':_0x20a907[_0x53f0('0x20')],'type':_0x20a907[_0x53f0('0x21')]['key']};});_0x2630a2=qs['getOptions'](_0x21276e,_0x3a9ebf);return interaction['findAll'](_0x53f0('0x22'),_0x3a9ebf['query'],_0x3a9ebf[_0x53f0('0x23')],_0x2630a2,_0x21276e)[_0x53f0('0x1b')](respondWithFilteredResult(_0x433c1a,_0x2630a2))[_0x53f0('0x24')](handleError(_0x433c1a,null));};exports[_0x53f0('0x25')]=function(_0x343b95,_0x2a51e8){var _0x1c1e10={'raw':![],'where':{'id':_0x343b95['params']['id']}},_0x126738={};_0x126738[_0x53f0('0x26')]=_['keys'](db[_0x53f0('0x27')][_0x53f0('0x28')]);_0x126738[_0x53f0('0x29')]=_['keys'](_0x343b95[_0x53f0('0x29')]);_0x126738[_0x53f0('0x2a')]=_['intersection'](_0x126738[_0x53f0('0x26')],_0x126738[_0x53f0('0x29')]);_0x1c1e10[_0x53f0('0x2b')]=_[_0x53f0('0x2c')](_0x126738['model'],qs[_0x53f0('0x2d')](_0x343b95[_0x53f0('0x29')][_0x53f0('0x2d')]));_0x1c1e10[_0x53f0('0x2b')]=_0x1c1e10['attributes'][_0x53f0('0x2e')]?_0x1c1e10[_0x53f0('0x2b')]:_0x126738[_0x53f0('0x26')];if(_0x343b95['query'][_0x53f0('0x2f')]){_0x1c1e10[_0x53f0('0x30')]=[{'all':!![]}];}_0x1c1e10=_[_0x53f0('0x31')]({},_0x1c1e10,_0x343b95[_0x53f0('0x32')]);return db[_0x53f0('0x27')][_0x53f0('0x33')](_0x1c1e10)['then'](handleEntityNotFound(_0x2a51e8,null))['then'](respondWithResult(_0x2a51e8,null))[_0x53f0('0x24')](handleError(_0x2a51e8,null));};exports[_0x53f0('0x34')]=function(_0x4050d1,_0x5d89fa){return db[_0x53f0('0x27')][_0x53f0('0x34')](_0x4050d1[_0x53f0('0x35')],{})[_0x53f0('0x1b')](respondWithResult(_0x5d89fa,0xc9))['catch'](handleError(_0x5d89fa,null));};exports[_0x53f0('0x1a')]=function(_0x3d0cae,_0x225bf1){if(_0x3d0cae['body']['id']){delete _0x3d0cae[_0x53f0('0x35')]['id'];}return db['MailInteraction'][_0x53f0('0x33')]({'where':{'id':_0x3d0cae[_0x53f0('0x36')]['id']}})['then'](handleEntityNotFound(_0x225bf1,null))[_0x53f0('0x1b')](saveUpdates(_0x3d0cae[_0x53f0('0x35')],null))[_0x53f0('0x1b')](respondWithResult(_0x225bf1,null))[_0x53f0('0x24')](handleError(_0x225bf1,null));};exports['destroy']=function(_0x3c702e,_0x41d5cb){return db[_0x53f0('0x27')][_0x53f0('0x33')]({'where':{'id':_0x3c702e[_0x53f0('0x36')]['id']}})[_0x53f0('0x1b')](handleEntityNotFound(_0x41d5cb,null))[_0x53f0('0x1b')](removeEntity(_0x41d5cb,null))['catch'](handleError(_0x41d5cb,null));};exports[_0x53f0('0x37')]=function(_0x6fbd94,_0x469282){return db[_0x53f0('0x27')][_0x53f0('0x37')]()[_0x53f0('0x1b')](respondWithResult(_0x469282,null))['catch'](handleError(_0x469282,null));};exports['addMessage']=function(_0xbaa73e,_0x46916a){return db[_0x53f0('0x38')][_0x53f0('0x33')]({'where':{'id':_0xbaa73e[_0x53f0('0x36')]['id']}})[_0x53f0('0x1b')](handleEntityNotFound(_0x46916a,null))[_0x53f0('0x1b')](function(_0x25825b){if(_0x25825b){return _0x25825b[_0x53f0('0x39')](_0xbaa73e['body'][_0x53f0('0x3a')],_[_0x53f0('0x3b')](_0xbaa73e[_0x53f0('0x35')],[_0x53f0('0x3a'),'id'])||{});}})[_0x53f0('0x1b')](respondWithResult(_0x46916a,null))['catch'](handleError(_0x46916a,null));};exports[_0x53f0('0x3c')]=function(_0x3d2d69,_0x469331){var _0x5a16a3={'raw':![],'where':{}};var _0x42017d={};var _0x1d6a95={'count':0x0,'rows':[]};return db[_0x53f0('0x27')][_0x53f0('0x3d')]({'where':{'id':_0x3d2d69['params']['id']}})[_0x53f0('0x1b')](handleEntityNotFound(_0x469331,null))[_0x53f0('0x1b')](function(_0xa125f7){if(_0xa125f7){_0x42017d[_0x53f0('0x26')]=_[_0x53f0('0x3e')](db[_0x53f0('0x38')]['rawAttributes']);_0x42017d[_0x53f0('0x29')]=_['keys'](_0x3d2d69[_0x53f0('0x29')]);_0x42017d['filters']=_[_0x53f0('0x2c')](_0x42017d[_0x53f0('0x26')],_0x42017d[_0x53f0('0x29')]);_0x5a16a3[_0x53f0('0x2b')]=_[_0x53f0('0x2c')](_0x42017d['model'],qs[_0x53f0('0x2d')](_0x3d2d69['query'][_0x53f0('0x2d')]));_0x5a16a3[_0x53f0('0x2b')]=_0x5a16a3[_0x53f0('0x2b')]['length']?_0x5a16a3[_0x53f0('0x2b')]:_0x42017d[_0x53f0('0x26')];if(!_0x3d2d69['query']['hasOwnProperty'](_0x53f0('0x3f'))){_0x5a16a3['limit']=qs[_0x53f0('0x16')](_0x3d2d69[_0x53f0('0x29')][_0x53f0('0x16')]);_0x5a16a3[_0x53f0('0x15')]=qs[_0x53f0('0x15')](_0x3d2d69['query'][_0x53f0('0x15')]);}_0x5a16a3['order']=qs['sort'](_0x3d2d69[_0x53f0('0x29')][_0x53f0('0x40')]);_0x5a16a3[_0x53f0('0x41')]=qs['filters'](_[_0x53f0('0x42')](_0x3d2d69['query'],_0x42017d[_0x53f0('0x2a')]));_0x5a16a3[_0x53f0('0x41')][_0x53f0('0x43')]=_0xa125f7['id'];if(_0x3d2d69[_0x53f0('0x29')][_0x53f0('0x44')]){_0x5a16a3[_0x53f0('0x41')]=_['merge'](_0x5a16a3[_0x53f0('0x41')],{'$or':_[_0x53f0('0x45')](_0x5a16a3[_0x53f0('0x2b')],function(_0x5355ae){var _0x44fead={};_0x44fead[_0x5355ae]={'$like':'%'+_0x3d2d69[_0x53f0('0x29')]['filter']+'%'};return _0x44fead;})});}if(_0x3d2d69[_0x53f0('0x29')]['$gte']){var _0x3cccf6=_0x3d2d69['query'][_0x53f0('0x46')][_0x53f0('0x47')](',');var _0x3606de={};_0x3606de[_0x3cccf6[0x0]]={'$gte':moment(_0x3cccf6[0x1])[_0x53f0('0x48')]('YYYY-MM-DD\x20HH:mm:ss')};_0x5a16a3[_0x53f0('0x41')]=_[_0x53f0('0x31')](_0x5a16a3[_0x53f0('0x41')],_0x3606de);}_0x5a16a3=_[_0x53f0('0x31')]({},_0x5a16a3,_0x3d2d69[_0x53f0('0x32')]);return db[_0x53f0('0x38')]['count']({'where':_0x5a16a3[_0x53f0('0x41')]})[_0x53f0('0x1b')](function(_0x18d80a){_0x1d6a95['count']=_0x18d80a;if(_0x3d2d69[_0x53f0('0x29')][_0x53f0('0x2f')]){_0x5a16a3[_0x53f0('0x30')]=[{'all':!![]}];}return db['MailMessage'][_0x53f0('0x49')](_0x5a16a3);})[_0x53f0('0x1b')](function(_0x3d090d){if(_0x3d2d69[_0x53f0('0x29')][_0x53f0('0x4a')]===_0x53f0('0x4b')){for(var _0x1351f4=0x0;_0x1351f4<_0x3d090d[_0x53f0('0x2e')];_0x1351f4++){_0x3d090d[_0x1351f4][_0x53f0('0x35')]=juice(_0x3d090d[_0x1351f4][_0x53f0('0x35')]);}}_0x1d6a95[_0x53f0('0x4c')]=_0x3d090d;return _0x1d6a95;});}})[_0x53f0('0x1b')](respondWithFilteredResult(_0x469331,_0x5a16a3))[_0x53f0('0x24')](handleError(_0x469331,null));};exports[_0x53f0('0x4d')]=function(_0x37e7b8,_0x3b2587){return db[_0x53f0('0x27')][_0x53f0('0x33')]({'where':{'id':_0x37e7b8[_0x53f0('0x36')]['id']}})[_0x53f0('0x1b')](handleEntityNotFound(_0x3b2587,null))[_0x53f0('0x1b')](function(_0x53cbdd){if(_0x53cbdd){return _0x53cbdd[_0x53f0('0x4e')](_0x37e7b8[_0x53f0('0x35')][_0x53f0('0x3a')],_['omit'](_0x37e7b8['body'],[_0x53f0('0x3a'),'id'])||{})[_0x53f0('0x4f')](function(){return db[_0x53f0('0x50')][_0x53f0('0x49')]({'attributes':['id',_0x53f0('0x1e'),_0x53f0('0x51')],'where':{'id':_0x37e7b8[_0x53f0('0x35')]['ids']}});})[_0x53f0('0x1b')](function(_0x2dd510){socket[_0x53f0('0x52')](_0x53f0('0x53'),{'id':Number(_0x37e7b8[_0x53f0('0x36')]['id']),'tags':_0x2dd510||[]});return{'id':Number(_0x37e7b8[_0x53f0('0x36')]['id']),'tags':_0x2dd510||[]};});}})['then'](respondWithResult(_0x3b2587,null))[_0x53f0('0x24')](handleError(_0x3b2587,null));};exports[_0x53f0('0x54')]=function(_0xcab300,_0x54a764){return db[_0x53f0('0x27')][_0x53f0('0x33')]({'where':{'id':_0xcab300['params']['id']}})[_0x53f0('0x1b')](handleEntityNotFound(_0x54a764,null))[_0x53f0('0x1b')](function(_0x6fa5b9){if(_0x6fa5b9){return _0x6fa5b9[_0x53f0('0x54')](_0xcab300[_0x53f0('0x29')][_0x53f0('0x3a')]);}})['then'](respondWithStatusCode(_0x54a764,null))[_0x53f0('0x24')](handleError(_0x54a764,null));};exports[_0x53f0('0x55')]=function(_0x25707c,_0x35d311){var _0x396355=moment()['unix']()[_0x53f0('0x56')]();var _0x30653e=path['join'](config['root'],'server',_0x53f0('0x57'),_0x53f0('0x58'));var _0x5e0501=path[_0x53f0('0x59')](config[_0x53f0('0x5a')],_0x53f0('0x5b'),_0x53f0('0x57'),_0x53f0('0x5c'));var _0x3c983c=path[_0x53f0('0x59')](_0x30653e,_0x396355);var _0x2adb3d=util[_0x53f0('0x48')](_0x53f0('0x5d'),_0x25707c[_0x53f0('0x36')]['id'],_0x396355);var _0x190e54=path[_0x53f0('0x59')](_0x30653e,_0x2adb3d);var _0x4c2c62=[];if(_0x25707c[_0x53f0('0x29')]['attachments']){_0x4c2c62[_0x53f0('0x5e')]({'model':db['Attachment'],'as':_0x53f0('0x5f'),'raw':!![]});}var _0x53aedf=[{'model':db[_0x53f0('0x38')],'as':_0x53f0('0x60'),'attributes':['id',_0x53f0('0x35'),'from','to','cc',_0x53f0('0x61'),_0x53f0('0x62'),_0x53f0('0x63')],'where':{'secret':![]},'order':qs[_0x53f0('0x40')]('id'),'include':_0x4c2c62}];return db[_0x53f0('0x27')][_0x53f0('0x33')]({'where':{'id':_0x25707c['params']['id']},'include':_0x53aedf})['then'](handleEntityNotFound(_0x35d311,null))[_0x53f0('0x1b')](function(_0x3d853f){if(_0x3d853f&&_0x3d853f['Messages']){var _0xd027d3=_0x3d853f[_0x53f0('0x64')]({'plain':!![]});fs[_0x53f0('0x65')](_0x3c983c);return BPromise[_0x53f0('0x66')](_0xd027d3[_0x53f0('0x60')],function(_0x67251e,_0x7984f0){var _0x1dd617={'from':_0x67251e[_0x53f0('0x67')],'to':_0x67251e['to']||'missing.recipient@your.company.com','subject':_0x67251e[_0x53f0('0x62')],'html':htmlEntities[_0x53f0('0x68')](_0x67251e[_0x53f0('0x35')]),'headers':{'Date':moment(_0x67251e[_0x53f0('0x63')])['format']('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x67251e['cc']){_0x1dd617[_0x53f0('0x69')]['Cc']=_0x67251e['cc'];}if(_0x67251e[_0x53f0('0x61')]){_0x1dd617[_0x53f0('0x69')][_0x53f0('0x6a')]=_0x67251e[_0x53f0('0x61')];}return new BPromise(function(_0x30a0bf,_0x3c7446){if(_0x67251e[_0x53f0('0x5f')]){for(var _0x1ecf6e=0x0;_0x1ecf6e<_0x67251e[_0x53f0('0x5f')][_0x53f0('0x2e')];_0x1ecf6e++){var _0x4e60ca=_0x67251e[_0x53f0('0x5f')][_0x1ecf6e];var _0x3661f3=path['join'](_0x5e0501,_0x4e60ca[_0x53f0('0x6b')]);if(fs['existsSync'](_0x3661f3)){_0x1dd617[_0x53f0('0x5c')][_0x53f0('0x5e')]({'name':_0x4e60ca[_0x53f0('0x1e')],'contentType':_0x4e60ca[_0x53f0('0x21')],'data':fs[_0x53f0('0x6c')](_0x3661f3)});}}}emlformat['build'](_0x1dd617,function(_0x10c58f,_0xff1d3){if(_0x10c58f)return _0x3c7446(_0x10c58f);fs[_0x53f0('0x6d')](path[_0x53f0('0x59')](_0x3c983c,util[_0x53f0('0x48')](_0x53f0('0x6e'),_0x7984f0)),_0xff1d3);return _0x30a0bf(_0xff1d3);});});})[_0x53f0('0x1b')](function(){return new BPromise(function(_0x1f7751,_0xa4faeb){zipdir(_0x3c983c,{'saveTo':_0x190e54},function(_0x3aad08,_0x1a6f5a){if(_0x3aad08)return _0xa4faeb(_0x3aad08);return _0x1f7751(_0x1a6f5a);});})[_0x53f0('0x1b')](function(){return new BPromise(function(_0x4d7781,_0x5cfe09){rimraf(_0x3c983c,function(_0x15d281){if(_0x15d281)_0x5cfe09(_0x15d281);return _0x4d7781();});});})['then'](function(){return _0x35d311['download'](_0x190e54,_0x2adb3d,function(_0x5ef59c){if(!_0x5ef59c)fs['unlinkSync'](_0x190e54);});});});}else{return _0x35d311[_0x53f0('0x12')](0xc8);}})[_0x53f0('0x24')](handleError(_0x35d311,null));};
\ No newline at end of file