Built motion from commit ffdca78c.|2.6.24
[motion2.git] / server / api / mailInteraction / mailInteraction.controller.js
index c681fab..39da7a6 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xb242=['basename','readFileSync','build','writeFileSync','download','unlinkSync','sendStatus','rimraf','zip-dir','moment','bluebird','util','path','lodash','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','html-entities','defaults','redis','socket.io-emitter','./mailInteraction.socket','register','status','end','json','undefined','limit','count','offset','set','destroy','name','send','Users','map','fullname','Tags','forEach','push','MailMessage','findOne','out','plainBody','-id','then','lastMsgText','catch','talking','answered','total','closed','UserId','waiting','unmanaged','index','MailInteraction','rawAttributes','fieldName','type','key','query','filters','intersection','model','fields','attributes','hasOwnProperty','sort','select','field','color','tools_tags','u.fullname','ui.MailInteractionId','from','user_has_mail_interactions','users','u.id\x20=\x20ui.UserId','mail_interactions','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','mail_accounts','a.id\x20=\x20i.MailAccountId','mail_messages','me.MailInteractionId\x20=\x20i.id','it.MailInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','sqlOperator','conditions','length','unreadMessages','`\x20=\x200','having','`\x20>\x200','Contact','operator','$substring','value','split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','ContactId','buildExpression','text','start','Tag','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','find','keys','some','compact','isEmpty','where','concat','createdAt','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','replace','isNumeric','i.id\x20LIKE\x20?','isEmail','MATCH\x20(i.to,\x20i.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','MATCH\x20(me.plainBody,\x20me.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','group','i.id','QueryTypes','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','DESC','t.id\x20IN\x20?','resolve','i.MailAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getMailAccounts','i.MailAccountId\x20IS\x20NULL','i.MailAccountId\x20IN\x20?','MailAccountId','sequelize','toString','keyBy','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','CASE\x20WHEN\x20i.to\x20IS\x20NOT\x20NULL\x20AND\x20i.to\x20<>\x20\x27\x27\x20AND\x20i.to\x20NOT\x20LIKE\x20(\x27%\x27\x20+\x20a.email\x20+\x20\x27%\x27)\x20THEN\x20SUBSTRING_INDEX(i.to,\x20\x27<\x27,\x201)\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.createdAt','i.updatedAt','i.closed','i.closedAt','i.attach','i.lastMsgAt','i.lastMsgDirection','i.subject','i.disposition','i.secondDisposition','i.thirdDisposition','i.substatus','i.to','i.ContactId','i.MailAccountId','Contact.firstName','c.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','TagIds','ui.MailInteractionId\x20IN\x20?','groupBy','Setting','enableEmailPreview','all','show','params','includeAll','include','merge','options','create','update','body','describe','addMessage','ids','omit','getMessages','nolimit','pick','MailInteractionId','filter','$gte','format','findAll','inlineCss','rows','addTags','setTags','spread','emit','removeTags','join','files','tmp','root','server','attachments','transcript-%d-%s.zip','Attachment','Attachments','Messages','bcc','get','mkdirSync','subject','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc'];(function(_0x1a87b3,_0x45ba68){var _0x37e84d=function(_0x39f49e){while(--_0x39f49e){_0x1a87b3['push'](_0x1a87b3['shift']());}};_0x37e84d(++_0x45ba68);}(_0xb242,0x1f3));var _0x2b24=function(_0x3b594b,_0x5835c3){_0x3b594b=_0x3b594b-0x0;var _0x1ea5f8=_0xb242[_0x3b594b];return _0x1ea5f8;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x2b24('0x0'));var zipdir=require(_0x2b24('0x1'));var moment=require(_0x2b24('0x2'));var BPromise=require(_0x2b24('0x3'));var util=require(_0x2b24('0x4'));var path=require(_0x2b24('0x5'));var fs=require('fs');var _=require(_0x2b24('0x6'));var squel=require('squel');var juice=require('juice');var Redis=require(_0x2b24('0x7'));var qs=require(_0x2b24('0x8'));var as=require('../../components/parsers/advancedSearch');var logger=require(_0x2b24('0x9'))(_0x2b24('0xa'));var config=require(_0x2b24('0xb'));var db=require('../../mysqldb')['db'];var htmlEntities=require(_0x2b24('0xc'));config['redis']=_[_0x2b24('0xd')](config[_0x2b24('0xe')],{'host':'localhost','port':0x18eb});var socket=require(_0x2b24('0xf'))(new Redis(config['redis']));require(_0x2b24('0x10'))[_0x2b24('0x11')](socket);function respondWithStatusCode(_0x5e219d,_0x5d2ef5){_0x5d2ef5=_0x5d2ef5||0xcc;return function(_0x341be1){if(_0x341be1){return _0x5e219d['sendStatus'](_0x5d2ef5);}return _0x5e219d[_0x2b24('0x12')](_0x5d2ef5)[_0x2b24('0x13')]();};}function respondWithResult(_0x2aed32,_0x3917e5){_0x3917e5=_0x3917e5||0xc8;return function(_0x57df0e){if(_0x57df0e){return _0x2aed32['status'](_0x3917e5)[_0x2b24('0x14')](_0x57df0e);}};}function respondWithFilteredResult(_0x42ff81,_0x3d818a){return function(_0x1e44db){if(_0x1e44db){var _0x1a99ea=typeof _0x3d818a['offset']===_0x2b24('0x15')&&typeof _0x3d818a[_0x2b24('0x16')]==='undefined';var _0x38cd5d=_0x1e44db[_0x2b24('0x17')];var _0x486d9a=_0x1a99ea?0x0:_0x3d818a[_0x2b24('0x18')];var _0x46f786=_0x1a99ea?_0x1e44db[_0x2b24('0x17')]:_0x3d818a[_0x2b24('0x18')]+_0x3d818a['limit'];var _0x46c930;if(_0x46f786>=_0x38cd5d){_0x46f786=_0x38cd5d;_0x46c930=0xc8;}else{_0x46c930=0xce;}_0x42ff81[_0x2b24('0x12')](_0x46c930);return _0x42ff81[_0x2b24('0x19')]('Content-Range',_0x486d9a+'-'+_0x46f786+'/'+_0x38cd5d)[_0x2b24('0x14')](_0x1e44db);}return null;};}function saveUpdates(_0xa45843){return function(_0x2e1fa2){if(_0x2e1fa2){return _0x2e1fa2['update'](_0xa45843)['then'](function(_0x30f993){return _0x30f993;});}return null;};}function removeEntity(_0x271827){return function(_0xb6e4f8){if(_0xb6e4f8){return _0xb6e4f8[_0x2b24('0x1a')]()['then'](function(){_0x271827[_0x2b24('0x12')](0xcc)[_0x2b24('0x13')]();});}};}function handleEntityNotFound(_0x1cac48){return function(_0x2b94d3){if(!_0x2b94d3){_0x1cac48['sendStatus'](0x194);}return _0x2b94d3;};}function handleError(_0x504ecf,_0x22c8c5){_0x22c8c5=_0x22c8c5||0x1f4;return function(_0x5d97e1){logger['error'](_0x5d97e1['stack']);if(_0x5d97e1['name']){delete _0x5d97e1[_0x2b24('0x1b')];}_0x504ecf[_0x2b24('0x12')](_0x22c8c5)[_0x2b24('0x1c')](_0x5d97e1);};}function getInteractionUsers(_0x22ab09,_0x5cd375){return new BPromise(function(_0x5042bf,_0x4d25e4){try{if(_0x5cd375[_0x22ab09['id']]){_0x22ab09[_0x2b24('0x1d')]=_[_0x2b24('0x1e')](_0x5cd375[_0x22ab09['id']],function(_0x3abc82){return{'id':_0x3abc82['id'],'fullname':_0x3abc82[_0x2b24('0x1f')]};});}}catch(_0x55fce4){_0x4d25e4(_0x55fce4);}_0x5042bf(_0x22ab09);});}function getInteractionTags(_0x5c9efb,_0x9f8a8d){return new BPromise(function(_0x3bd10a,_0x4e1908){try{if(_0x5c9efb['TagIds']){_0x5c9efb[_0x2b24('0x20')]=[];_0x5c9efb['TagIds']['split'](',')[_0x2b24('0x21')](function(_0x476753){_0x5c9efb[_0x2b24('0x20')][_0x2b24('0x22')](_0x9f8a8d[_0x476753]);});}delete _0x5c9efb['TagIds'];}catch(_0x652aa3){_0x4e1908(_0x652aa3);}_0x3bd10a(_0x5c9efb);});}function getLastMessageText(_0x48fd91){return new BPromise(function(_0x3aa992,_0xe62db0){return db[_0x2b24('0x23')][_0x2b24('0x24')]({'where':{'$and':[{'MailInteractionId':_0x48fd91['id']},{'$or':[{'direction':'in'},{'$and':[{'direction':_0x2b24('0x25')},{'secret':![]},{'UserId':{'$ne':null}}]}]}]},'attributes':[_0x2b24('0x26')],'order':_0x2b24('0x27'),'raw':!![]})[_0x2b24('0x28')](function(_0x1cb530){if(_0x1cb530&&_0x1cb530[_0x2b24('0x26')]){_0x48fd91[_0x2b24('0x29')]=_['trimStart'](_0x1cb530[_0x2b24('0x26')]);}_0x3aa992(_0x48fd91);})['catch'](function(_0x19225d){_0xe62db0(_0x19225d);});});}function updateMailInteraction(_0x4eea3d,_0x16bc65,_0x26d9c2,_0x57c6fd){return new BPromise(function(_0xa6d1a,_0x2c489c){return getInteractionUsers(_0x4eea3d,_0x26d9c2)['then'](function(_0x2173e1){return getInteractionTags(_0x2173e1,_0x16bc65);})[_0x2b24('0x28')](function(_0x243ed5){return getStateInteraction(_0x243ed5);})['then'](function(_0x3fb9d0){if(_0x57c6fd){_0xa6d1a(getLastMessageText(_0x3fb9d0));}else{_0xa6d1a(_0x3fb9d0);}})[_0x2b24('0x2a')](function(_0x4b8703){_0x2c489c(_0x4b8703);});});}function getStateInteraction(_0x44d10f){return new BPromise(function(_0x45ddd4){_0x44d10f['waiting']=0x0;_0x44d10f[_0x2b24('0x2b')]=0x0;_0x44d10f[_0x2b24('0x2c')]=0x0;_0x44d10f['unmanaged']=0x0;_0x44d10f[_0x2b24('0x2d')]=0x0;if(!_0x44d10f[_0x2b24('0x2e')]&&!_0x44d10f[_0x2b24('0x2f')]){_0x44d10f['waiting']+=0x1;}if(!_0x44d10f[_0x2b24('0x2e')]&&_0x44d10f[_0x2b24('0x2f')]){_0x44d10f[_0x2b24('0x2b')]+=0x1;if(_0x44d10f[_0x2b24('0x30')]){_0x44d10f['waiting']-=0x1;}}if(_0x44d10f[_0x2b24('0x2e')]&&_0x44d10f[_0x2b24('0x2f')]){_0x44d10f[_0x2b24('0x2c')]+=0x1;if(_0x44d10f[_0x2b24('0x2b')]){_0x44d10f[_0x2b24('0x2b')]-=0x1;}}if(_0x44d10f[_0x2b24('0x2e')]&&!_0x44d10f['UserId']){_0x44d10f[_0x2b24('0x31')]+=0x1;if(_0x44d10f[_0x2b24('0x30')]){_0x44d10f[_0x2b24('0x30')]-=0x1;}}_0x44d10f[_0x2b24('0x2d')]+=0x1;_0x45ddd4(_0x44d10f);});}exports[_0x2b24('0x32')]=function(_0x5e284e,_0x138bd0){var _0x1cc185={},_0x4c9182={},_0xd709c3={'count':0x0,'rows':[]};var _0x36d5c0=_['map'](db[_0x2b24('0x33')][_0x2b24('0x34')],function(_0x2fd258){return{'name':_0x2fd258[_0x2b24('0x35')],'type':_0x2fd258[_0x2b24('0x36')][_0x2b24('0x37')]};});_0x4c9182['model']=_[_0x2b24('0x1e')](_0x36d5c0,_0x2b24('0x1b'));_0x4c9182['query']=_['keys'](_0x5e284e[_0x2b24('0x38')]);_0x4c9182[_0x2b24('0x39')]=_['intersection'](_0x4c9182['model'],_0x4c9182['query']);_0x1cc185['attributes']=_[_0x2b24('0x3a')](_0x4c9182[_0x2b24('0x3b')],qs[_0x2b24('0x3c')](_0x5e284e[_0x2b24('0x38')][_0x2b24('0x3c')]));_0x1cc185[_0x2b24('0x3d')]=_0x1cc185['attributes']['length']?_0x1cc185['attributes']:_0x4c9182[_0x2b24('0x3b')];if(!_0x5e284e[_0x2b24('0x38')][_0x2b24('0x3e')]('nolimit')){_0x1cc185[_0x2b24('0x16')]=qs['limit'](_0x5e284e[_0x2b24('0x38')][_0x2b24('0x16')]);_0x1cc185[_0x2b24('0x18')]=qs[_0x2b24('0x18')](_0x5e284e[_0x2b24('0x38')][_0x2b24('0x18')]);}_0x1cc185['order']=qs[_0x2b24('0x3f')](_0x5e284e[_0x2b24('0x38')][_0x2b24('0x3f')]);_0x1cc185['where']=qs[_0x2b24('0x39')](_['pick'](_0x5e284e[_0x2b24('0x38')],_0x4c9182['filters']),_0x36d5c0);var _0x19d816=[];var _0x12dafe=squel[_0x2b24('0x40')]()[_0x2b24('0x41')]('id')[_0x2b24('0x41')](_0x2b24('0x1b'))[_0x2b24('0x41')](_0x2b24('0x42'))['from'](_0x2b24('0x43'));var _0xb2ebe5=squel[_0x2b24('0x40')]()[_0x2b24('0x41')]('u.id')[_0x2b24('0x41')](_0x2b24('0x44'))[_0x2b24('0x41')](_0x2b24('0x45'))[_0x2b24('0x46')](_0x2b24('0x47'),'ui')['left_join'](_0x2b24('0x48'),'u',_0x2b24('0x49'));var _0x5e8b44=squel[_0x2b24('0x40')]()['from'](_0x2b24('0x4a'),'i')[_0x2b24('0x4b')](_0x2b24('0x4c'),'c',_0x2b24('0x4d'))[_0x2b24('0x4b')](_0x2b24('0x48'),'o',_0x2b24('0x4e'))['left_join'](_0x2b24('0x4f'),'a',_0x2b24('0x50'))[_0x2b24('0x4b')](_0x2b24('0x51'),'me',_0x2b24('0x52'))[_0x2b24('0x4b')]('mail_interaction_has_tags','it',_0x2b24('0x53'))[_0x2b24('0x4b')]('tools_tags','t',_0x2b24('0x54'));var _0x4abba3=squel[_0x2b24('0x55')]();var _0x49db16=[];var _0x21ebc5=squel[_0x2b24('0x55')]();var _0x180ab3;if(_0x5e284e[_0x2b24('0x38')]['search']){_0x180ab3=as['parseSearch'](_0x5e284e[_0x2b24('0x38')][_0x2b24('0x56')]);var _0x4b8463=_0x180ab3[_0x2b24('0x57')];for(var _0x38209a=0x0;_0x38209a<_0x180ab3[_0x2b24('0x58')][_0x2b24('0x59')];_0x38209a++){var _0x22e96f=_0x180ab3[_0x2b24('0x58')][_0x38209a];var _0x22b0af='i';var _0x38b199=_['find'](_0x36d5c0,[_0x2b24('0x1b'),_0x22e96f[_0x2b24('0x41')]]);if(!_0x38b199){switch(_0x22e96f[_0x2b24('0x41')]){case _0x2b24('0x5a'):if(_0x22e96f['value']==0x1){_0x5e8b44['having']('`'+_0x22e96f[_0x2b24('0x41')]+_0x2b24('0x5b'));}else{_0x5e8b44[_0x2b24('0x5c')]('`'+_0x22e96f['field']+_0x2b24('0x5d'));}break;case _0x2b24('0x5e'):if(_0x22e96f[_0x2b24('0x5f')]===_0x2b24('0x60')){if(_0x22e96f[_0x2b24('0x61')][_0x2b24('0x62')]('\x20')[_0x2b24('0x59')]>0x1){_0x4abba3[_0x4b8463](_0x2b24('0x63'),qs['getFullTextValue'](_0x22e96f['value']),null);}else{var _0x2cacb1='%'+_0x22e96f[_0x2b24('0x61')]+'%';_0x4abba3[_0x4b8463]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x2cacb1,_0x2cacb1,_0x2cacb1);}}else{_0x38b199=_['find'](_0x36d5c0,[_0x2b24('0x1b'),'ContactId']);_0x22e96f['field']=_0x2b24('0x64');_0x5172d8=as[_0x2b24('0x65')](_0x22b0af,_0x38b199['type'],_0x22e96f);_0x4abba3[_0x4b8463](_0x5172d8[_0x2b24('0x66')],_0x5172d8[_0x2b24('0x61')][_0x2b24('0x67')],_0x5172d8[_0x2b24('0x61')][_0x2b24('0x13')]);}break;case _0x2b24('0x68'):var _0x429ef3=_0x22e96f[_0x2b24('0x61')][_0x2b24('0x62')](',')['map'](function(_0x4d3957){return Number(_0x4d3957);});_0x429ef3[_0x2b24('0x21')](function(_0x3e5d90){_0x21ebc5['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x3e5d90+',%');});_0x49db16=_[_0x2b24('0x69')](_0x49db16,_0x429ef3);break;case _0x2b24('0x6a'):if(_0x22e96f[_0x2b24('0x5f')]===_0x2b24('0x60')){_0x4abba3[_0x4b8463](_0x2b24('0x6b'),'%'+_0x22e96f[_0x2b24('0x61')]+'%',null);}else{_0x38b199=_[_0x2b24('0x6c')](_0x36d5c0,['name',_0x2b24('0x2f')]);_0x22e96f[_0x2b24('0x41')]=_0x2b24('0x2f');_0x5172d8=as[_0x2b24('0x65')](_0x22b0af,_0x38b199[_0x2b24('0x36')],_0x22e96f);_0x4abba3[_0x4b8463](_0x5172d8[_0x2b24('0x66')],_0x5172d8[_0x2b24('0x61')]['start'],_0x5172d8[_0x2b24('0x61')][_0x2b24('0x13')]);}break;case _0x2b24('0x26'):_0x5172d8=as['buildExpression']('me',null,_0x22e96f);_0x4abba3[_0x4b8463](_0x5172d8[_0x2b24('0x66')],_0x5172d8['value'][_0x2b24('0x67')],_0x5172d8['value'][_0x2b24('0x13')]);break;}}else{var _0x5172d8=as[_0x2b24('0x65')](_0x22b0af,_0x38b199[_0x2b24('0x36')],_0x22e96f);_0x4abba3[_0x4b8463](_0x5172d8[_0x2b24('0x66')],_0x5172d8[_0x2b24('0x61')][_0x2b24('0x67')],_0x5172d8[_0x2b24('0x61')][_0x2b24('0x13')]);}}}else{var _0x3ec532=_(_0x5e284e[_0x2b24('0x38')])[_0x2b24('0x6d')]()['map'](function(_0x20ab72){return _[_0x2b24('0x6e')](_0x36d5c0,[_0x2b24('0x1b'),_0x20ab72])?_0x20ab72:undefined;})[_0x2b24('0x6f')]()[_0x2b24('0x61')]();if(!_[_0x2b24('0x70')](_0x3ec532)){_0x3ec532[_0x2b24('0x21')](function(_0x549c21){if(_0x549c21==='MailAccountId'){_0x5e8b44[_0x2b24('0x71')]('i.MailAccountId\x20IN\x20?',[][_0x2b24('0x72')](_0x5e284e[_0x2b24('0x38')][_0x549c21]));}else if(_0x549c21===_0x2b24('0x73')){var _0x21405e=JSON[_0x2b24('0x74')](_0x5e284e[_0x2b24('0x38')][_0x549c21])['$gte'];var _0x4a7db1=JSON[_0x2b24('0x74')](_0x5e284e[_0x2b24('0x38')][_0x549c21])[_0x2b24('0x75')];_0x5e8b44[_0x2b24('0x71')](_0x2b24('0x76'),_0x21405e,_0x4a7db1);}else{if(_0x5e284e[_0x2b24('0x38')][_0x549c21]===_0x2b24('0x77')){_0x5e8b44[_0x2b24('0x71')]('i.'+_0x549c21+_0x2b24('0x78'));}else{_0x5e8b44[_0x2b24('0x71')]('i.'+_0x549c21+_0x2b24('0x79'),_0x5e284e[_0x2b24('0x38')][_0x549c21]);}}});}if(_0x5e284e['query'][_0x2b24('0x7a')]){if(_0x5e284e[_0x2b24('0x38')][_0x2b24('0x7a')]==0x1){_0x5e8b44[_0x2b24('0x5c')](_0x2b24('0x7b'));}else{_0x5e8b44['having'](_0x2b24('0x7c'));}}if(_0x5e284e[_0x2b24('0x38')][_0x2b24('0x7d')]){_0x49db16=_[_0x2b24('0x7e')](_0x5e284e[_0x2b24('0x38')][_0x2b24('0x7d')])?_0x5e284e[_0x2b24('0x38')][_0x2b24('0x7d')]:new Array(_0x5e284e[_0x2b24('0x38')][_0x2b24('0x7d')]);_0x49db16[_0x2b24('0x21')](function(_0x43e7aa){_0x21ebc5['or'](_0x2b24('0x7f'),'%,'+_0x43e7aa+',%');});}if(_0x5e284e[_0x2b24('0x38')]['filter']){var _0x3f014a=_0x5e284e[_0x2b24('0x38')]['filter'][_0x2b24('0x80')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x2b24('0x81')](_0x3f014a)){_0x4abba3['or'](_0x2b24('0x82'),_0x3f014a+'%');}else if(qs[_0x2b24('0x83')](_0x3f014a)){_0x4abba3['or']('c.email\x20LIKE\x20?',_0x3f014a+'%');}else{_0x4abba3['or'](_0x2b24('0x84'),qs[_0x2b24('0x85')](_0x3f014a))['or'](_0x2b24('0x86'),qs[_0x2b24('0x85')](_0x3f014a));}}}_0x5e8b44[_0x2b24('0x71')](_0x4abba3);_0x5e8b44[_0x2b24('0x87')](_0x2b24('0x88'));var _0x20098c={'type':db['Sequelize'][_0x2b24('0x89')]['SELECT'],'raw':!![]};var _0x48f256=_0x5e8b44['clone']();_0x48f256[_0x2b24('0x41')]('i.id');_0x48f256['field'](_0x2b24('0x8a'),_0x2b24('0x5a'));if(_0x1cc185['order']){_0x1cc185[_0x2b24('0x8b')][_0x2b24('0x21')](function(_0x5d087d){var _0x3d2dc6=_0x5d087d[0x0]===_0x2b24('0x8c')?_0x5d087d[0x0]:'i.'+_0x5d087d[0x0];_0x5e8b44['order'](_0x3d2dc6,_0x5d087d[0x1]===_0x2b24('0x8d')?![]:!![]);});}if(!_[_0x2b24('0x70')](_0x49db16)){_0x5e8b44[_0x2b24('0x5c')](_0x21ebc5);_0x48f256['where'](_0x2b24('0x8e'),_0x49db16);}BPromise[_0x2b24('0x8f')]()[_0x2b24('0x28')](function(){if(!_0x180ab3){if(_0x5e284e[_0x2b24('0x38')]['MailAccountId'])return;_0x48f256['where'](_0x2b24('0x90'));_0x5e8b44[_0x2b24('0x71')](_0x2b24('0x90'));return;}if(_0x5e284e[_0x2b24('0x91')][_0x2b24('0x92')]!==_0x2b24('0x93'))return;return _0x5e284e[_0x2b24('0x91')][_0x2b24('0x94')]({'attributes':['id'],'raw':!![]})[_0x2b24('0x28')](function(_0x4e9d9d){if(_[_0x2b24('0x70')](_0x4e9d9d)){_0x48f256[_0x2b24('0x71')](_0x2b24('0x95'));_0x5e8b44[_0x2b24('0x71')](_0x2b24('0x95'));}else{_0x48f256[_0x2b24('0x71')](_0x2b24('0x96'),_[_0x2b24('0x1e')](_0x4e9d9d,'id'));_0x5e8b44[_0x2b24('0x71')](_0x2b24('0x96'),_[_0x2b24('0x1e')](_0x4e9d9d,'id'));}});})[_0x2b24('0x28')](function(){if(_0x5e284e[_0x2b24('0x91')]['role']===_0x2b24('0x93')&&!_0x180ab3&&!_0x5e284e[_0x2b24('0x38')][_0x2b24('0x97')])return[];return db[_0x2b24('0x98')]['query'](_0x48f256[_0x2b24('0x99')](),_0x20098c);})[_0x2b24('0x28')](function(_0x451b5a){_0xd709c3['count']=_0x451b5a['length'];if(_0xd709c3[_0x2b24('0x17')]===0x0)return[];return db[_0x2b24('0x98')]['query'](_0x12dafe[_0x2b24('0x99')](),_0x20098c)[_0x2b24('0x28')](function(_0x487878){_0x19d816=_[_0x2b24('0x9a')](_0x487878,'id');_0x20098c=_['merge'](_0x20098c,{'model':db[_0x2b24('0x33')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x5e284e[_0x2b24('0x38')][_0x2b24('0x3c')]){_0x1cc185[_0x2b24('0x3d')][_0x2b24('0x21')](function(_0x4eb8d8){_0x5e8b44[_0x2b24('0x41')]('i.'+_0x4eb8d8);});}else{_0x5e8b44[_0x2b24('0x41')](_0x2b24('0x8a'),_0x2b24('0x5a'));_0x5e8b44[_0x2b24('0x41')]('a.key',_0x2b24('0x9b'));_0x5e8b44[_0x2b24('0x41')](_0x2b24('0x9c'),_0x2b24('0x9d'));_0x5e8b44[_0x2b24('0x41')](_0x2b24('0x9e'),'contactName');_0x5e8b44['field'](_0x2b24('0x88'));_0x5e8b44['field'](_0x2b24('0x9f'));_0x5e8b44['field'](_0x2b24('0xa0'));_0x5e8b44[_0x2b24('0x41')](_0x2b24('0xa1'));_0x5e8b44[_0x2b24('0x41')](_0x2b24('0xa2'));_0x5e8b44['field'](_0x2b24('0xa3'));_0x5e8b44['field'](_0x2b24('0xa4'));_0x5e8b44[_0x2b24('0x41')](_0x2b24('0xa5'));_0x5e8b44['field'](_0x2b24('0xa6'));_0x5e8b44[_0x2b24('0x41')](_0x2b24('0xa7'));_0x5e8b44['field'](_0x2b24('0xa8'));_0x5e8b44[_0x2b24('0x41')](_0x2b24('0xa9'));_0x5e8b44[_0x2b24('0x41')](_0x2b24('0xaa'));_0x5e8b44['field'](_0x2b24('0xab'));_0x5e8b44[_0x2b24('0x41')](_0x2b24('0xac'));_0x5e8b44[_0x2b24('0x41')](_0x2b24('0xad'));_0x5e8b44[_0x2b24('0x41')]('i.UserId');_0x5e8b44['field']('c.firstName',_0x2b24('0xae'));_0x5e8b44['field'](_0x2b24('0xaf'),'Contact.lastName');_0x5e8b44[_0x2b24('0x41')](_0x2b24('0xb0'),_0x2b24('0xb1'));_0x5e8b44['field'](_0x2b24('0xb2'),_0x2b24('0xb3'));_0x5e8b44[_0x2b24('0x41')](_0x2b24('0xb4'),_0x2b24('0xb5'));_0x5e8b44[_0x2b24('0x41')]('c.fax',_0x2b24('0xb6'));_0x5e8b44[_0x2b24('0x41')](_0x2b24('0xb7'),_0x2b24('0xb8'));_0x5e8b44[_0x2b24('0x41')](_0x2b24('0xb9'),_0x2b24('0xba'));_0x5e8b44[_0x2b24('0x41')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x2b24('0xbb'));}if(_0x1cc185[_0x2b24('0x16')])_0x5e8b44['limit'](_0x1cc185[_0x2b24('0x16')]);if(_0x1cc185[_0x2b24('0x18')])_0x5e8b44['offset'](_0x1cc185['offset']);return db[_0x2b24('0x98')]['query'](_0x5e8b44[_0x2b24('0x99')](),_0x20098c);})[_0x2b24('0x28')](function(_0x3f9548){if(_0x3f9548[_0x2b24('0x59')]>0x0)_0xb2ebe5[_0x2b24('0x71')](_0x2b24('0xbc'),_[_0x2b24('0x1e')](_0x3f9548,'id'));return db[_0x2b24('0x98')][_0x2b24('0x38')](_0xb2ebe5[_0x2b24('0x99')](),_0x20098c)[_0x2b24('0x28')](function(_0x59ea57){var _0x366109=_[_0x2b24('0xbd')](_0x59ea57,'MailInteractionId');var _0x12b39a=[];return db[_0x2b24('0xbe')][_0x2b24('0x24')]({'attributes':[_0x2b24('0xbf')],'raw':!![]})[_0x2b24('0x28')](function(_0x1934e4){var _0x4ee594=_0x1934e4[_0x2b24('0xbf')];_0x3f9548[_0x2b24('0x21')](function(_0x316aca){_0x12b39a[_0x2b24('0x22')](updateMailInteraction(_0x316aca,_0x19d816,_0x366109,_0x4ee594));});return BPromise[_0x2b24('0xc0')](_0x12b39a);});});});})[_0x2b24('0x28')](function(_0x3a8196){_0xd709c3['rows']=_0x3a8196;return _0xd709c3;})[_0x2b24('0x28')](respondWithFilteredResult(_0x138bd0,_0x1cc185))[_0x2b24('0x2a')](handleError(_0x138bd0,null));};exports[_0x2b24('0xc1')]=function(_0x4b08ca,_0x3b17b8){var _0x22f274={'raw':![],'where':{'id':_0x4b08ca[_0x2b24('0xc2')]['id']}},_0x54105c={};_0x54105c['model']=_[_0x2b24('0x6d')](db[_0x2b24('0x33')][_0x2b24('0x34')]);_0x54105c[_0x2b24('0x38')]=_[_0x2b24('0x6d')](_0x4b08ca[_0x2b24('0x38')]);_0x54105c[_0x2b24('0x39')]=_[_0x2b24('0x3a')](_0x54105c[_0x2b24('0x3b')],_0x54105c[_0x2b24('0x38')]);_0x22f274[_0x2b24('0x3d')]=_['intersection'](_0x54105c[_0x2b24('0x3b')],qs[_0x2b24('0x3c')](_0x4b08ca[_0x2b24('0x38')][_0x2b24('0x3c')]));_0x22f274[_0x2b24('0x3d')]=_0x22f274[_0x2b24('0x3d')][_0x2b24('0x59')]?_0x22f274[_0x2b24('0x3d')]:_0x54105c[_0x2b24('0x3b')];if(_0x4b08ca[_0x2b24('0x38')][_0x2b24('0xc3')]){_0x22f274[_0x2b24('0xc4')]=[{'all':!![]}];}_0x22f274=_[_0x2b24('0xc5')]({},_0x22f274,_0x4b08ca[_0x2b24('0xc6')]);return db[_0x2b24('0x33')]['find'](_0x22f274)[_0x2b24('0x28')](handleEntityNotFound(_0x3b17b8,null))[_0x2b24('0x28')](respondWithResult(_0x3b17b8,null))[_0x2b24('0x2a')](handleError(_0x3b17b8,null));};exports[_0x2b24('0xc7')]=function(_0x506b43,_0x362184){return db[_0x2b24('0x33')][_0x2b24('0xc7')](_0x506b43['body'],{})['then'](respondWithResult(_0x362184,0xc9))[_0x2b24('0x2a')](handleError(_0x362184,null));};exports[_0x2b24('0xc8')]=function(_0x436ceb,_0x335eff){if(_0x436ceb[_0x2b24('0xc9')]['id']){delete _0x436ceb[_0x2b24('0xc9')]['id'];}return db[_0x2b24('0x33')][_0x2b24('0x6c')]({'where':{'id':_0x436ceb[_0x2b24('0xc2')]['id']}})[_0x2b24('0x28')](handleEntityNotFound(_0x335eff,null))[_0x2b24('0x28')](saveUpdates(_0x436ceb[_0x2b24('0xc9')],null))['then'](respondWithResult(_0x335eff,null))[_0x2b24('0x2a')](handleError(_0x335eff,null));};exports[_0x2b24('0x1a')]=function(_0x2cc822,_0x140921){return db[_0x2b24('0x33')][_0x2b24('0x6c')]({'where':{'id':_0x2cc822[_0x2b24('0xc2')]['id']}})['then'](handleEntityNotFound(_0x140921,null))[_0x2b24('0x28')](removeEntity(_0x140921,null))['catch'](handleError(_0x140921,null));};exports[_0x2b24('0xca')]=function(_0x12e9d4,_0x2361e1){return db[_0x2b24('0x33')][_0x2b24('0xca')]()[_0x2b24('0x28')](respondWithResult(_0x2361e1,null))['catch'](handleError(_0x2361e1,null));};exports['addMessage']=function(_0x4ed780,_0x2520e6){return db[_0x2b24('0x23')][_0x2b24('0x6c')]({'where':{'id':_0x4ed780[_0x2b24('0xc2')]['id']}})[_0x2b24('0x28')](handleEntityNotFound(_0x2520e6,null))[_0x2b24('0x28')](function(_0x956ac7){if(_0x956ac7){return _0x956ac7[_0x2b24('0xcb')](_0x4ed780[_0x2b24('0xc9')][_0x2b24('0xcc')],_[_0x2b24('0xcd')](_0x4ed780[_0x2b24('0xc9')],[_0x2b24('0xcc'),'id'])||{});}})[_0x2b24('0x28')](respondWithResult(_0x2520e6,null))['catch'](handleError(_0x2520e6,null));};exports[_0x2b24('0xce')]=function(_0x4c22b0,_0x157832){var _0x2f69fa={'raw':![],'where':{}};var _0xff7872={};var _0x48cdef={'count':0x0,'rows':[]};return db[_0x2b24('0x33')][_0x2b24('0x24')]({'where':{'id':_0x4c22b0[_0x2b24('0xc2')]['id']}})[_0x2b24('0x28')](handleEntityNotFound(_0x157832,null))[_0x2b24('0x28')](function(_0x1df838){if(_0x1df838){_0xff7872[_0x2b24('0x3b')]=_[_0x2b24('0x6d')](db['MailMessage'][_0x2b24('0x34')]);_0xff7872[_0x2b24('0x38')]=_[_0x2b24('0x6d')](_0x4c22b0['query']);_0xff7872[_0x2b24('0x39')]=_[_0x2b24('0x3a')](_0xff7872[_0x2b24('0x3b')],_0xff7872[_0x2b24('0x38')]);_0x2f69fa[_0x2b24('0x3d')]=_[_0x2b24('0x3a')](_0xff7872['model'],qs[_0x2b24('0x3c')](_0x4c22b0[_0x2b24('0x38')]['fields']));_0x2f69fa[_0x2b24('0x3d')]=_0x2f69fa['attributes'][_0x2b24('0x59')]?_0x2f69fa[_0x2b24('0x3d')]:_0xff7872[_0x2b24('0x3b')];if(!_0x4c22b0[_0x2b24('0x38')][_0x2b24('0x3e')](_0x2b24('0xcf'))){_0x2f69fa[_0x2b24('0x16')]=qs['limit'](_0x4c22b0[_0x2b24('0x38')][_0x2b24('0x16')]);_0x2f69fa[_0x2b24('0x18')]=qs[_0x2b24('0x18')](_0x4c22b0[_0x2b24('0x38')]['offset']);}_0x2f69fa['order']=qs['sort'](_0x4c22b0[_0x2b24('0x38')][_0x2b24('0x3f')]);_0x2f69fa[_0x2b24('0x71')]=qs[_0x2b24('0x39')](_[_0x2b24('0xd0')](_0x4c22b0[_0x2b24('0x38')],_0xff7872[_0x2b24('0x39')]));_0x2f69fa[_0x2b24('0x71')][_0x2b24('0xd1')]=_0x1df838['id'];if(_0x4c22b0['query'][_0x2b24('0xd2')]){_0x2f69fa[_0x2b24('0x71')]=_[_0x2b24('0xc5')](_0x2f69fa['where'],{'$or':_[_0x2b24('0x1e')](_0x2f69fa[_0x2b24('0x3d')],function(_0xcc7793){var _0x53ccbb={};_0x53ccbb[_0xcc7793]={'$like':'%'+_0x4c22b0['query'][_0x2b24('0xd2')]+'%'};return _0x53ccbb;})});}if(_0x4c22b0['query'][_0x2b24('0xd3')]){var _0x45b7d8=_0x4c22b0[_0x2b24('0x38')]['$gte'][_0x2b24('0x62')](',');var _0x232c4d={};_0x232c4d[_0x45b7d8[0x0]]={'$gte':moment(_0x45b7d8[0x1])[_0x2b24('0xd4')]('YYYY-MM-DD\x20HH:mm:ss')};_0x2f69fa[_0x2b24('0x71')]=_[_0x2b24('0xc5')](_0x2f69fa[_0x2b24('0x71')],_0x232c4d);}_0x2f69fa=_['merge']({},_0x2f69fa,_0x4c22b0['options']);return db['MailMessage'][_0x2b24('0x17')]({'where':_0x2f69fa[_0x2b24('0x71')]})[_0x2b24('0x28')](function(_0x138145){_0x48cdef[_0x2b24('0x17')]=_0x138145;if(_0x4c22b0[_0x2b24('0x38')]['includeAll']){_0x2f69fa['include']=[{'all':!![]}];}return db[_0x2b24('0x23')][_0x2b24('0xd5')](_0x2f69fa);})[_0x2b24('0x28')](function(_0x27df3e){if(_0x4c22b0['query'][_0x2b24('0xd6')]==='true'){for(var _0x59c85d=0x0;_0x59c85d<_0x27df3e[_0x2b24('0x59')];_0x59c85d++){_0x27df3e[_0x59c85d][_0x2b24('0xc9')]=juice(_0x27df3e[_0x59c85d][_0x2b24('0xc9')]);}}_0x48cdef[_0x2b24('0xd7')]=_0x27df3e;return _0x48cdef;});}})[_0x2b24('0x28')](respondWithFilteredResult(_0x157832,_0x2f69fa))[_0x2b24('0x2a')](handleError(_0x157832,null));};exports[_0x2b24('0xd8')]=function(_0x10e192,_0x4183c9){return db['MailInteraction'][_0x2b24('0x6c')]({'where':{'id':_0x10e192[_0x2b24('0xc2')]['id']}})[_0x2b24('0x28')](handleEntityNotFound(_0x4183c9,null))[_0x2b24('0x28')](function(_0x14d1eb){if(_0x14d1eb){return _0x14d1eb[_0x2b24('0xd9')](_0x10e192[_0x2b24('0xc9')][_0x2b24('0xcc')],_[_0x2b24('0xcd')](_0x10e192['body'],[_0x2b24('0xcc'),'id'])||{})[_0x2b24('0xda')](function(){return db[_0x2b24('0x68')]['findAll']({'attributes':['id',_0x2b24('0x1b'),_0x2b24('0x42')],'where':{'id':_0x10e192['body'][_0x2b24('0xcc')]}});})[_0x2b24('0x28')](function(_0x508a30){socket[_0x2b24('0xdb')]('mailInteractionTags:save',{'id':Number(_0x10e192['params']['id']),'tags':_0x508a30||[]});return{'id':Number(_0x10e192[_0x2b24('0xc2')]['id']),'tags':_0x508a30||[]};});}})[_0x2b24('0x28')](respondWithResult(_0x4183c9,null))[_0x2b24('0x2a')](handleError(_0x4183c9,null));};exports[_0x2b24('0xdc')]=function(_0x963c91,_0x43680e){return db[_0x2b24('0x33')][_0x2b24('0x6c')]({'where':{'id':_0x963c91[_0x2b24('0xc2')]['id']}})[_0x2b24('0x28')](handleEntityNotFound(_0x43680e,null))[_0x2b24('0x28')](function(_0x25e42c){if(_0x25e42c){return _0x25e42c[_0x2b24('0xdc')](_0x963c91[_0x2b24('0x38')]['ids']);}})['then'](respondWithStatusCode(_0x43680e,null))[_0x2b24('0x2a')](handleError(_0x43680e,null));};exports['download']=function(_0x616cd1,_0x24083c){var _0x1d9b94=moment()['unix']()[_0x2b24('0x99')]();var _0x440f3b=path[_0x2b24('0xdd')](config['root'],'server',_0x2b24('0xde'),_0x2b24('0xdf'));var _0x9eaa92=path['join'](config[_0x2b24('0xe0')],_0x2b24('0xe1'),_0x2b24('0xde'),_0x2b24('0xe2'));var _0x3ac4ab=path['join'](_0x440f3b,_0x1d9b94);var _0x32fbde=util['format'](_0x2b24('0xe3'),_0x616cd1['params']['id'],_0x1d9b94);var _0x6e520b=path['join'](_0x440f3b,_0x32fbde);var _0x1822a8=[];if(_0x616cd1[_0x2b24('0x38')][_0x2b24('0xe2')]){_0x1822a8[_0x2b24('0x22')]({'model':db[_0x2b24('0xe4')],'as':_0x2b24('0xe5'),'raw':!![]});}var _0x13293a=[{'model':db[_0x2b24('0x23')],'as':_0x2b24('0xe6'),'attributes':['id',_0x2b24('0xc9'),_0x2b24('0x46'),'to','cc',_0x2b24('0xe7'),'subject',_0x2b24('0x73')],'where':{'secret':![]},'order':qs[_0x2b24('0x3f')]('id'),'include':_0x1822a8}];return db[_0x2b24('0x33')][_0x2b24('0x6c')]({'where':{'id':_0x616cd1[_0x2b24('0xc2')]['id']},'include':_0x13293a})[_0x2b24('0x28')](handleEntityNotFound(_0x24083c,null))[_0x2b24('0x28')](function(_0x1083d0){if(_0x1083d0&&_0x1083d0[_0x2b24('0xe6')]){var _0x5a2c13=_0x1083d0[_0x2b24('0xe8')]({'plain':!![]});fs[_0x2b24('0xe9')](_0x3ac4ab);return BPromise['each'](_0x5a2c13['Messages'],function(_0xc853c2,_0x1b0612){var _0x3091c8={'from':_0xc853c2['from'],'to':_0xc853c2['to'],'subject':_0xc853c2[_0x2b24('0xea')],'html':htmlEntities[_0x2b24('0xeb')](_0xc853c2[_0x2b24('0xc9')]),'headers':{'Date':moment(_0xc853c2[_0x2b24('0x73')])['format'](_0x2b24('0xec'))},'attachments':[]};if(_0xc853c2['cc']){_0x3091c8[_0x2b24('0xed')]['Cc']=_0xc853c2['cc'];}if(_0xc853c2[_0x2b24('0xe7')]){_0x3091c8['headers'][_0x2b24('0xee')]=_0xc853c2[_0x2b24('0xe7')];}return new BPromise(function(_0x2ac118,_0xedafab){if(_0xc853c2['Attachments']){for(var _0x324494=0x0;_0x324494<_0xc853c2[_0x2b24('0xe5')][_0x2b24('0x59')];_0x324494++){var _0x1a91ba=_0xc853c2[_0x2b24('0xe5')][_0x324494];var _0x58e05b=path[_0x2b24('0xdd')](_0x9eaa92,_0x1a91ba[_0x2b24('0xef')]);if(fs['existsSync'](_0x58e05b)){_0x3091c8[_0x2b24('0xe2')][_0x2b24('0x22')]({'name':_0x1a91ba[_0x2b24('0x1b')],'contentType':_0x1a91ba[_0x2b24('0x36')],'data':fs[_0x2b24('0xf0')](_0x58e05b)});}}}emlformat[_0x2b24('0xf1')](_0x3091c8,function(_0x3f29ed,_0x59f5fb){if(_0x3f29ed)return _0xedafab(_0x3f29ed);fs[_0x2b24('0xf2')](path[_0x2b24('0xdd')](_0x3ac4ab,util['format']('message%d.eml',_0x1b0612)),_0x59f5fb);return _0x2ac118(_0x59f5fb);});});})[_0x2b24('0x28')](function(){return new BPromise(function(_0x8083c1,_0x575ed3){zipdir(_0x3ac4ab,{'saveTo':_0x6e520b},function(_0x5ea730,_0x48e385){if(_0x5ea730)return _0x575ed3(_0x5ea730);return _0x8083c1(_0x48e385);});})['then'](function(){return new BPromise(function(_0x39fcb7,_0x1491cc){rimraf(_0x3ac4ab,function(_0x4fb75e){if(_0x4fb75e)_0x1491cc(_0x4fb75e);return _0x39fcb7();});});})['then'](function(){return _0x24083c[_0x2b24('0xf3')](_0x6e520b,_0x32fbde,function(_0x1c89b8){if(!_0x1c89b8)fs[_0x2b24('0xf4')](_0x6e520b);});});});}else{return _0x24083c[_0x2b24('0xf5')](0xc8);}})[_0x2b24('0x2a')](handleError(_0x24083c,null));};
\ No newline at end of file
+var _0xe53f=['split','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','true','rows','addTags','setTags','omit','Tag','emit','mailInteractionTags:save','removeTags','download','unix','root','tmp','join','server','transcript-%d-%s.zip','attachments','push','Attachment','Attachments','Messages','from','bcc','createdAt','get','each','missing.recipient@your.company.com','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','basename','readFileSync','build','writeFileSync','unlinkSync','sendStatus','eml-format','rimraf','zip-dir','moment','util','path','lodash','juice','../../config/logger','api','../../config/environment','../../mysqldb','html-entities','redis','localhost','socket.io-emitter','./mailInteraction.socket','register','end','status','json','offset','undefined','limit','count','update','error','stack','name','send','index','map','MailInteraction','rawAttributes','type','key','getOptions','findAll','query','user','then','catch','model','keys','attributes','fields','length','includeAll','include','merge','options','find','create','body','params','describe','MailMessage','addMessage','ids','getMessages','filters','nolimit','order','sort','where','pick','MailInteractionId','filter'];(function(_0x4e6d0e,_0x4630d6){var _0x44cb4f=function(_0x72bba0){while(--_0x72bba0){_0x4e6d0e['push'](_0x4e6d0e['shift']());}};_0x44cb4f(++_0x4630d6);}(_0xe53f,0x94));var _0xfe53=function(_0x2589ed,_0x3dca09){_0x2589ed=_0x2589ed-0x0;var _0x4b8e6b=_0xe53f[_0x2589ed];return _0x4b8e6b;};'use strict';var emlformat=require(_0xfe53('0x0'));var rimraf=require(_0xfe53('0x1'));var zipdir=require(_0xfe53('0x2'));var moment=require(_0xfe53('0x3'));var BPromise=require('bluebird');var util=require(_0xfe53('0x4'));var path=require(_0xfe53('0x5'));var fs=require('fs');var _=require(_0xfe53('0x6'));var juice=require(_0xfe53('0x7'));var Redis=require('ioredis');var interaction=require('../../components/interaction/service');var qs=require('../../components/parsers/qs');var logger=require(_0xfe53('0x8'))(_0xfe53('0x9'));var config=require(_0xfe53('0xa'));var db=require(_0xfe53('0xb'))['db'];var htmlEntities=require(_0xfe53('0xc'));config[_0xfe53('0xd')]=_['defaults'](config['redis'],{'host':_0xfe53('0xe'),'port':0x18eb});var socket=require(_0xfe53('0xf'))(new Redis(config['redis']));require(_0xfe53('0x10'))[_0xfe53('0x11')](socket);function respondWithStatusCode(_0x140d67,_0x2eb651){_0x2eb651=_0x2eb651||0xcc;return function(_0x2b7711){if(_0x2b7711){return _0x140d67['sendStatus'](_0x2eb651);}return _0x140d67['status'](_0x2eb651)[_0xfe53('0x12')]();};}function respondWithResult(_0x4218d9,_0x5608ea){_0x5608ea=_0x5608ea||0xc8;return function(_0x434cd6){if(_0x434cd6){return _0x4218d9[_0xfe53('0x13')](_0x5608ea)[_0xfe53('0x14')](_0x434cd6);}};}function respondWithFilteredResult(_0x305bad,_0x2d7c3e){return function(_0x344eaa){if(_0x344eaa){var _0x5e168a=typeof _0x2d7c3e[_0xfe53('0x15')]===_0xfe53('0x16')&&typeof _0x2d7c3e[_0xfe53('0x17')]==='undefined';var _0x2e9c0a=_0x344eaa[_0xfe53('0x18')];var _0x18f5b2=_0x5e168a?0x0:_0x2d7c3e[_0xfe53('0x15')];var _0x53cca3=_0x5e168a?_0x344eaa[_0xfe53('0x18')]:_0x2d7c3e[_0xfe53('0x15')]+_0x2d7c3e[_0xfe53('0x17')];var _0x21e903;if(_0x53cca3>=_0x2e9c0a){_0x53cca3=_0x2e9c0a;_0x21e903=0xc8;}else{_0x21e903=0xce;}_0x305bad[_0xfe53('0x13')](_0x21e903);return _0x305bad['set']('Content-Range',_0x18f5b2+'-'+_0x53cca3+'/'+_0x2e9c0a)[_0xfe53('0x14')](_0x344eaa);}return null;};}function saveUpdates(_0x37e797){return function(_0x835066){if(_0x835066){return _0x835066[_0xfe53('0x19')](_0x37e797)['then'](function(_0x89ab46){return _0x89ab46;});}return null;};}function removeEntity(_0x3507fd){return function(_0x4f3703){if(_0x4f3703){return _0x4f3703['destroy']()['then'](function(){_0x3507fd[_0xfe53('0x13')](0xcc)[_0xfe53('0x12')]();});}};}function handleEntityNotFound(_0x5d8aab){return function(_0x51a30e){if(!_0x51a30e){_0x5d8aab['sendStatus'](0x194);}return _0x51a30e;};}function handleError(_0x3fcaa1,_0x42f3b8){_0x42f3b8=_0x42f3b8||0x1f4;return function(_0x5917e4){logger[_0xfe53('0x1a')](_0x5917e4[_0xfe53('0x1b')]);if(_0x5917e4[_0xfe53('0x1c')]){delete _0x5917e4['name'];}_0x3fcaa1[_0xfe53('0x13')](_0x42f3b8)[_0xfe53('0x1d')](_0x5917e4);};}exports[_0xfe53('0x1e')]=function(_0x3b709a,_0x3adbab){var _0x2044ac={};var _0xce4ee1=_[_0xfe53('0x1f')](db[_0xfe53('0x20')][_0xfe53('0x21')],function(_0x4948e1){return{'name':_0x4948e1['fieldName'],'type':_0x4948e1[_0xfe53('0x22')][_0xfe53('0x23')]};});_0x2044ac=qs[_0xfe53('0x24')](_0xce4ee1,_0x3b709a);return interaction[_0xfe53('0x25')]('mail',_0x3b709a[_0xfe53('0x26')],_0x3b709a[_0xfe53('0x27')],_0x2044ac,_0xce4ee1)[_0xfe53('0x28')](respondWithFilteredResult(_0x3adbab,_0x2044ac))[_0xfe53('0x29')](handleError(_0x3adbab,null));};exports['show']=function(_0x29f500,_0x4125bc){var _0x349217={'raw':![],'where':{'id':_0x29f500['params']['id']}},_0x7ceda1={};_0x7ceda1[_0xfe53('0x2a')]=_[_0xfe53('0x2b')](db['MailInteraction']['rawAttributes']);_0x7ceda1[_0xfe53('0x26')]=_[_0xfe53('0x2b')](_0x29f500[_0xfe53('0x26')]);_0x7ceda1['filters']=_['intersection'](_0x7ceda1[_0xfe53('0x2a')],_0x7ceda1[_0xfe53('0x26')]);_0x349217[_0xfe53('0x2c')]=_['intersection'](_0x7ceda1['model'],qs[_0xfe53('0x2d')](_0x29f500[_0xfe53('0x26')][_0xfe53('0x2d')]));_0x349217[_0xfe53('0x2c')]=_0x349217['attributes'][_0xfe53('0x2e')]?_0x349217[_0xfe53('0x2c')]:_0x7ceda1[_0xfe53('0x2a')];if(_0x29f500[_0xfe53('0x26')][_0xfe53('0x2f')]){_0x349217[_0xfe53('0x30')]=[{'all':!![]}];}_0x349217=_[_0xfe53('0x31')]({},_0x349217,_0x29f500[_0xfe53('0x32')]);return db[_0xfe53('0x20')][_0xfe53('0x33')](_0x349217)[_0xfe53('0x28')](handleEntityNotFound(_0x4125bc,null))[_0xfe53('0x28')](respondWithResult(_0x4125bc,null))['catch'](handleError(_0x4125bc,null));};exports[_0xfe53('0x34')]=function(_0x1802cd,_0x1a36ee){return db[_0xfe53('0x20')][_0xfe53('0x34')](_0x1802cd[_0xfe53('0x35')],{})['then'](respondWithResult(_0x1a36ee,0xc9))[_0xfe53('0x29')](handleError(_0x1a36ee,null));};exports[_0xfe53('0x19')]=function(_0x4eff65,_0x3c15ef){if(_0x4eff65['body']['id']){delete _0x4eff65['body']['id'];}return db[_0xfe53('0x20')][_0xfe53('0x33')]({'where':{'id':_0x4eff65[_0xfe53('0x36')]['id']}})[_0xfe53('0x28')](handleEntityNotFound(_0x3c15ef,null))[_0xfe53('0x28')](saveUpdates(_0x4eff65[_0xfe53('0x35')],null))[_0xfe53('0x28')](respondWithResult(_0x3c15ef,null))[_0xfe53('0x29')](handleError(_0x3c15ef,null));};exports['destroy']=function(_0x3b1a66,_0x41261a){return db[_0xfe53('0x20')][_0xfe53('0x33')]({'where':{'id':_0x3b1a66[_0xfe53('0x36')]['id']}})[_0xfe53('0x28')](handleEntityNotFound(_0x41261a,null))[_0xfe53('0x28')](removeEntity(_0x41261a,null))[_0xfe53('0x29')](handleError(_0x41261a,null));};exports['describe']=function(_0x417d19,_0x33b145){return db[_0xfe53('0x20')][_0xfe53('0x37')]()['then'](respondWithResult(_0x33b145,null))['catch'](handleError(_0x33b145,null));};exports['addMessage']=function(_0x512d1e,_0x4b8af3){return db[_0xfe53('0x38')][_0xfe53('0x33')]({'where':{'id':_0x512d1e[_0xfe53('0x36')]['id']}})[_0xfe53('0x28')](handleEntityNotFound(_0x4b8af3,null))[_0xfe53('0x28')](function(_0xe19642){if(_0xe19642){return _0xe19642[_0xfe53('0x39')](_0x512d1e[_0xfe53('0x35')][_0xfe53('0x3a')],_['omit'](_0x512d1e['body'],['ids','id'])||{});}})[_0xfe53('0x28')](respondWithResult(_0x4b8af3,null))[_0xfe53('0x29')](handleError(_0x4b8af3,null));};exports[_0xfe53('0x3b')]=function(_0x41452c,_0x5afda9){var _0x165f6b={'raw':![],'where':{}};var _0x34d466={};var _0x451e30={'count':0x0,'rows':[]};return db[_0xfe53('0x20')]['findOne']({'where':{'id':_0x41452c[_0xfe53('0x36')]['id']}})['then'](handleEntityNotFound(_0x5afda9,null))[_0xfe53('0x28')](function(_0x179d4c){if(_0x179d4c){_0x34d466['model']=_[_0xfe53('0x2b')](db[_0xfe53('0x38')][_0xfe53('0x21')]);_0x34d466[_0xfe53('0x26')]=_[_0xfe53('0x2b')](_0x41452c[_0xfe53('0x26')]);_0x34d466[_0xfe53('0x3c')]=_['intersection'](_0x34d466[_0xfe53('0x2a')],_0x34d466[_0xfe53('0x26')]);_0x165f6b['attributes']=_['intersection'](_0x34d466['model'],qs[_0xfe53('0x2d')](_0x41452c['query'][_0xfe53('0x2d')]));_0x165f6b[_0xfe53('0x2c')]=_0x165f6b['attributes'][_0xfe53('0x2e')]?_0x165f6b[_0xfe53('0x2c')]:_0x34d466['model'];if(!_0x41452c['query']['hasOwnProperty'](_0xfe53('0x3d'))){_0x165f6b[_0xfe53('0x17')]=qs[_0xfe53('0x17')](_0x41452c['query']['limit']);_0x165f6b[_0xfe53('0x15')]=qs[_0xfe53('0x15')](_0x41452c[_0xfe53('0x26')][_0xfe53('0x15')]);}_0x165f6b[_0xfe53('0x3e')]=qs['sort'](_0x41452c[_0xfe53('0x26')][_0xfe53('0x3f')]);_0x165f6b[_0xfe53('0x40')]=qs[_0xfe53('0x3c')](_[_0xfe53('0x41')](_0x41452c[_0xfe53('0x26')],_0x34d466[_0xfe53('0x3c')]));_0x165f6b[_0xfe53('0x40')][_0xfe53('0x42')]=_0x179d4c['id'];if(_0x41452c[_0xfe53('0x26')][_0xfe53('0x43')]){_0x165f6b[_0xfe53('0x40')]=_[_0xfe53('0x31')](_0x165f6b[_0xfe53('0x40')],{'$or':_[_0xfe53('0x1f')](_0x165f6b[_0xfe53('0x2c')],function(_0x417fd3){var _0x3b6077={};_0x3b6077[_0x417fd3]={'$like':'%'+_0x41452c[_0xfe53('0x26')][_0xfe53('0x43')]+'%'};return _0x3b6077;})});}if(_0x41452c[_0xfe53('0x26')]['$gte']){var _0x557406=_0x41452c[_0xfe53('0x26')]['$gte'][_0xfe53('0x44')](',');var _0x3976fd={};_0x3976fd[_0x557406[0x0]]={'$gte':moment(_0x557406[0x1])[_0xfe53('0x45')](_0xfe53('0x46'))};_0x165f6b[_0xfe53('0x40')]=_[_0xfe53('0x31')](_0x165f6b[_0xfe53('0x40')],_0x3976fd);}_0x165f6b=_[_0xfe53('0x31')]({},_0x165f6b,_0x41452c[_0xfe53('0x32')]);return db[_0xfe53('0x38')][_0xfe53('0x18')]({'where':_0x165f6b[_0xfe53('0x40')]})['then'](function(_0x30547c){_0x451e30[_0xfe53('0x18')]=_0x30547c;if(_0x41452c[_0xfe53('0x26')][_0xfe53('0x2f')]){_0x165f6b[_0xfe53('0x30')]=[{'all':!![]}];}return db[_0xfe53('0x38')][_0xfe53('0x25')](_0x165f6b);})['then'](function(_0x2875ef){if(_0x41452c['query'][_0xfe53('0x47')]===_0xfe53('0x48')){for(var _0x34d948=0x0;_0x34d948<_0x2875ef[_0xfe53('0x2e')];_0x34d948++){_0x2875ef[_0x34d948][_0xfe53('0x35')]=juice(_0x2875ef[_0x34d948]['body']);}}_0x451e30[_0xfe53('0x49')]=_0x2875ef;return _0x451e30;});}})[_0xfe53('0x28')](respondWithFilteredResult(_0x5afda9,_0x165f6b))[_0xfe53('0x29')](handleError(_0x5afda9,null));};exports[_0xfe53('0x4a')]=function(_0x2868df,_0x51b21e){return db['MailInteraction'][_0xfe53('0x33')]({'where':{'id':_0x2868df[_0xfe53('0x36')]['id']}})[_0xfe53('0x28')](handleEntityNotFound(_0x51b21e,null))[_0xfe53('0x28')](function(_0x15171e){if(_0x15171e){return _0x15171e[_0xfe53('0x4b')](_0x2868df['body'][_0xfe53('0x3a')],_[_0xfe53('0x4c')](_0x2868df[_0xfe53('0x35')],[_0xfe53('0x3a'),'id'])||{})['spread'](function(){return db[_0xfe53('0x4d')][_0xfe53('0x25')]({'attributes':['id',_0xfe53('0x1c'),'color'],'where':{'id':_0x2868df[_0xfe53('0x35')][_0xfe53('0x3a')]}});})[_0xfe53('0x28')](function(_0x325a31){socket[_0xfe53('0x4e')](_0xfe53('0x4f'),{'id':Number(_0x2868df[_0xfe53('0x36')]['id']),'tags':_0x325a31||[]});return{'id':Number(_0x2868df[_0xfe53('0x36')]['id']),'tags':_0x325a31||[]};});}})[_0xfe53('0x28')](respondWithResult(_0x51b21e,null))['catch'](handleError(_0x51b21e,null));};exports[_0xfe53('0x50')]=function(_0x31c84c,_0x4b8e1e){return db[_0xfe53('0x20')][_0xfe53('0x33')]({'where':{'id':_0x31c84c[_0xfe53('0x36')]['id']}})['then'](handleEntityNotFound(_0x4b8e1e,null))[_0xfe53('0x28')](function(_0x2c4aed){if(_0x2c4aed){return _0x2c4aed[_0xfe53('0x50')](_0x31c84c[_0xfe53('0x26')][_0xfe53('0x3a')]);}})[_0xfe53('0x28')](respondWithStatusCode(_0x4b8e1e,null))[_0xfe53('0x29')](handleError(_0x4b8e1e,null));};exports[_0xfe53('0x51')]=function(_0x577fcc,_0x690608){var _0x362cd7=moment()[_0xfe53('0x52')]()['toString']();var _0x247caf=path['join'](config[_0xfe53('0x53')],'server','files',_0xfe53('0x54'));var _0x2cb755=path[_0xfe53('0x55')](config[_0xfe53('0x53')],_0xfe53('0x56'),'files','attachments');var _0x5416c0=path[_0xfe53('0x55')](_0x247caf,_0x362cd7);var _0x169b1c=util[_0xfe53('0x45')](_0xfe53('0x57'),_0x577fcc[_0xfe53('0x36')]['id'],_0x362cd7);var _0x4699c0=path['join'](_0x247caf,_0x169b1c);var _0x329bdb=[];if(_0x577fcc[_0xfe53('0x26')][_0xfe53('0x58')]){_0x329bdb[_0xfe53('0x59')]({'model':db[_0xfe53('0x5a')],'as':_0xfe53('0x5b'),'raw':!![]});}var _0x27c6fa=[{'model':db[_0xfe53('0x38')],'as':_0xfe53('0x5c'),'attributes':['id',_0xfe53('0x35'),_0xfe53('0x5d'),'to','cc',_0xfe53('0x5e'),'subject',_0xfe53('0x5f')],'where':{'secret':![]},'order':qs[_0xfe53('0x3f')]('id'),'include':_0x329bdb}];return db[_0xfe53('0x20')][_0xfe53('0x33')]({'where':{'id':_0x577fcc['params']['id']},'include':_0x27c6fa})[_0xfe53('0x28')](handleEntityNotFound(_0x690608,null))[_0xfe53('0x28')](function(_0x27fe99){if(_0x27fe99&&_0x27fe99[_0xfe53('0x5c')]){var _0x532d8c=_0x27fe99[_0xfe53('0x60')]({'plain':!![]});fs['mkdirSync'](_0x5416c0);return BPromise[_0xfe53('0x61')](_0x532d8c[_0xfe53('0x5c')],function(_0x20f832,_0x3c6efb){var _0x41e3eb={'from':_0x20f832[_0xfe53('0x5d')],'to':_0x20f832['to']||_0xfe53('0x62'),'subject':_0x20f832['subject'],'html':htmlEntities['decode'](_0x20f832[_0xfe53('0x35')]),'headers':{'Date':moment(_0x20f832[_0xfe53('0x5f')])[_0xfe53('0x45')](_0xfe53('0x63'))},'attachments':[]};if(_0x20f832['cc']){_0x41e3eb[_0xfe53('0x64')]['Cc']=_0x20f832['cc'];}if(_0x20f832[_0xfe53('0x5e')]){_0x41e3eb[_0xfe53('0x64')][_0xfe53('0x65')]=_0x20f832['bcc'];}return new BPromise(function(_0x32080b,_0x37b817){if(_0x20f832[_0xfe53('0x5b')]){for(var _0x457f9c=0x0;_0x457f9c<_0x20f832[_0xfe53('0x5b')][_0xfe53('0x2e')];_0x457f9c++){var _0x38177f=_0x20f832[_0xfe53('0x5b')][_0x457f9c];var _0x5b46eb=path[_0xfe53('0x55')](_0x2cb755,_0x38177f[_0xfe53('0x66')]);if(fs['existsSync'](_0x5b46eb)){_0x41e3eb[_0xfe53('0x58')]['push']({'name':_0x38177f[_0xfe53('0x1c')],'contentType':_0x38177f[_0xfe53('0x22')],'data':fs[_0xfe53('0x67')](_0x5b46eb)});}}}emlformat[_0xfe53('0x68')](_0x41e3eb,function(_0x3ca824,_0x1d8285){if(_0x3ca824)return _0x37b817(_0x3ca824);fs[_0xfe53('0x69')](path[_0xfe53('0x55')](_0x5416c0,util[_0xfe53('0x45')]('message%d.eml',_0x3c6efb)),_0x1d8285);return _0x32080b(_0x1d8285);});});})[_0xfe53('0x28')](function(){return new BPromise(function(_0x5d02a6,_0x41f075){zipdir(_0x5416c0,{'saveTo':_0x4699c0},function(_0x52d766,_0x483c37){if(_0x52d766)return _0x41f075(_0x52d766);return _0x5d02a6(_0x483c37);});})[_0xfe53('0x28')](function(){return new BPromise(function(_0x47d8ac,_0x3be57d){rimraf(_0x5416c0,function(_0x3cdeaf){if(_0x3cdeaf)_0x3be57d(_0x3cdeaf);return _0x47d8ac();});});})[_0xfe53('0x28')](function(){return _0x690608[_0xfe53('0x51')](_0x4699c0,_0x169b1c,function(_0x2fb9fc){if(!_0x2fb9fc)fs[_0xfe53('0x6a')](_0x4699c0);});});});}else{return _0x690608[_0xfe53('0x6b')](0xc8);}})['catch'](handleError(_0x690608,null));};
\ No newline at end of file