Built motion from commit efa66e19.|2.6.22
[motion2.git] / server / api / mailInteraction / mailInteraction.controller.js
index 385a745..dfeecfe 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xc4aa=['destroy','then','error','stack','name','send','Users','map','fullname','TagIds','split','forEach','Tags','findOne','out','plainBody','-id','trimStart','catch','waiting','talking','total','closed','UserId','unmanaged','index','MailInteraction','rawAttributes','fieldName','type','key','model','filters','intersection','query','attributes','fields','length','nolimit','order','sort','where','pick','select','field','color','tools_tags','from','left_join','users','u.id\x20=\x20ui.UserId','mail_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','mail_accounts','mail_messages','me.MailInteractionId\x20=\x20i.id','it.MailInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','text','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','buildExpression','some','compact','isEmpty','MailAccountId','i.MailAccountId\x20IN\x20?','concat','createdAt','parse','$lte','null','`unreadMessages`\x20>\x200','tag','filter','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(i.to,\x20i.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','MATCH\x20(me.plainBody,\x20me.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','group','i.id','Sequelize','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','i.MailAccountId\x20IS\x20NOT\x20NULL','user','agent','getMailAccounts','i.MailAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','a.key','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.substatus','i.ContactId','i.MailAccountId','i.UserId','c.firstName','Contact.firstName','Contact.lastName','c.email','Contact.email','c.phone','c.mobile','Contact.fax','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.MailInteractionId\x20IN\x20?','groupBy','Setting','enableEmailPreview','all','show','params','keys','includeAll','include','options','create','body','describe','addMessage','MailMessage','ids','omit','getMessages','MailInteractionId','$gte','format','YYYY-MM-DD\x20HH:mm:ss','findAll','inlineCss','true','rows','addTags','setTags','spread','mailInteractionTags:save','removeTags','unix','join','root','server','files','tmp','transcript-%d-%s.zip','attachments','push','Attachment','Attachments','Messages','bcc','subject','get','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','basename','existsSync','readFileSync','build','writeFileSync','download','unlinkSync','eml-format','rimraf','zip-dir','moment','bluebird','util','juice','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','defaults','redis','localhost','./mailInteraction.socket','register','sendStatus','end','status','json','offset','undefined','limit','count','set','update'];(function(_0x599d7f,_0xc586e8){var _0x3346d3=function(_0x56b820){while(--_0x56b820){_0x599d7f['push'](_0x599d7f['shift']());}};_0x3346d3(++_0xc586e8);}(_0xc4aa,0x1b7));var _0xac4a=function(_0x46698a,_0x8de1e4){_0x46698a=_0x46698a-0x0;var _0x356db0=_0xc4aa[_0x46698a];return _0x356db0;};'use strict';var emlformat=require(_0xac4a('0x0'));var rimraf=require(_0xac4a('0x1'));var zipdir=require(_0xac4a('0x2'));var moment=require(_0xac4a('0x3'));var BPromise=require(_0xac4a('0x4'));var util=require(_0xac4a('0x5'));var path=require('path');var fs=require('fs');var _=require('lodash');var squel=require('squel');var juice=require(_0xac4a('0x6'));var Redis=require(_0xac4a('0x7'));var qs=require(_0xac4a('0x8'));var as=require(_0xac4a('0x9'));var logger=require(_0xac4a('0xa'))(_0xac4a('0xb'));var config=require(_0xac4a('0xc'));var db=require(_0xac4a('0xd'))['db'];var htmlEntities=require('html-entities');config['redis']=_[_0xac4a('0xe')](config[_0xac4a('0xf')],{'host':_0xac4a('0x10'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xac4a('0xf')]));require(_0xac4a('0x11'))[_0xac4a('0x12')](socket);function respondWithStatusCode(_0x4d4acc,_0x30135d){_0x30135d=_0x30135d||0xcc;return function(_0x488e3c){if(_0x488e3c){return _0x4d4acc[_0xac4a('0x13')](_0x30135d);}return _0x4d4acc['status'](_0x30135d)[_0xac4a('0x14')]();};}function respondWithResult(_0x2a0776,_0x24291d){_0x24291d=_0x24291d||0xc8;return function(_0x5e16aa){if(_0x5e16aa){return _0x2a0776[_0xac4a('0x15')](_0x24291d)[_0xac4a('0x16')](_0x5e16aa);}};}function respondWithFilteredResult(_0x247b78,_0x6e00d4){return function(_0x1b4313){if(_0x1b4313){var _0x3b71c0=typeof _0x6e00d4[_0xac4a('0x17')]===_0xac4a('0x18')&&typeof _0x6e00d4[_0xac4a('0x19')]===_0xac4a('0x18');var _0x11e101=_0x1b4313[_0xac4a('0x1a')];var _0x4a2119=_0x3b71c0?0x0:_0x6e00d4[_0xac4a('0x17')];var _0x34d797=_0x3b71c0?_0x1b4313[_0xac4a('0x1a')]:_0x6e00d4[_0xac4a('0x17')]+_0x6e00d4[_0xac4a('0x19')];var _0x387a54;if(_0x34d797>=_0x11e101){_0x34d797=_0x11e101;_0x387a54=0xc8;}else{_0x387a54=0xce;}_0x247b78[_0xac4a('0x15')](_0x387a54);return _0x247b78[_0xac4a('0x1b')]('Content-Range',_0x4a2119+'-'+_0x34d797+'/'+_0x11e101)['json'](_0x1b4313);}return null;};}function saveUpdates(_0x21a729){return function(_0x13c8eb){if(_0x13c8eb){return _0x13c8eb[_0xac4a('0x1c')](_0x21a729)['then'](function(_0x39e83e){return _0x39e83e;});}return null;};}function removeEntity(_0x15c223){return function(_0x3752e4){if(_0x3752e4){return _0x3752e4[_0xac4a('0x1d')]()[_0xac4a('0x1e')](function(){_0x15c223[_0xac4a('0x15')](0xcc)[_0xac4a('0x14')]();});}};}function handleEntityNotFound(_0x3ca790){return function(_0x534092){if(!_0x534092){_0x3ca790[_0xac4a('0x13')](0x194);}return _0x534092;};}function handleError(_0x3204ad,_0x599787){_0x599787=_0x599787||0x1f4;return function(_0x3d7ce0){logger[_0xac4a('0x1f')](_0x3d7ce0[_0xac4a('0x20')]);if(_0x3d7ce0[_0xac4a('0x21')]){delete _0x3d7ce0['name'];}_0x3204ad[_0xac4a('0x15')](_0x599787)[_0xac4a('0x22')](_0x3d7ce0);};}function getInteractionUsers(_0x15435c,_0x412494){return new BPromise(function(_0x594f36,_0x2b0dc2){try{if(_0x412494[_0x15435c['id']]){_0x15435c[_0xac4a('0x23')]=_[_0xac4a('0x24')](_0x412494[_0x15435c['id']],function(_0x3e2c69){return{'id':_0x3e2c69['id'],'fullname':_0x3e2c69[_0xac4a('0x25')]};});}}catch(_0x1d0539){_0x2b0dc2(_0x1d0539);}_0x594f36(_0x15435c);});}function getInteractionTags(_0x215a31,_0x14832b){return new BPromise(function(_0x472c57,_0x1c13dc){try{if(_0x215a31[_0xac4a('0x26')]){_0x215a31['Tags']=[];_0x215a31[_0xac4a('0x26')][_0xac4a('0x27')](',')[_0xac4a('0x28')](function(_0x2772fe){_0x215a31[_0xac4a('0x29')]['push'](_0x14832b[_0x2772fe]);});}delete _0x215a31['TagIds'];}catch(_0xdb7e){_0x1c13dc(_0xdb7e);}_0x472c57(_0x215a31);});}function getLastMessageText(_0x7a948b){return new BPromise(function(_0x1f12d5,_0x546b65){return db['MailMessage'][_0xac4a('0x2a')]({'where':{'$and':[{'MailInteractionId':_0x7a948b['id']},{'$or':[{'direction':'in'},{'$and':[{'direction':_0xac4a('0x2b')},{'secret':![]},{'UserId':{'$ne':null}}]}]}]},'attributes':[_0xac4a('0x2c')],'order':_0xac4a('0x2d'),'raw':!![]})[_0xac4a('0x1e')](function(_0x53d3a5){if(_0x53d3a5&&_0x53d3a5[_0xac4a('0x2c')]){_0x7a948b['lastMsgText']=_[_0xac4a('0x2e')](_0x53d3a5['plainBody']);}_0x1f12d5(_0x7a948b);})[_0xac4a('0x2f')](function(_0xfbe355){_0x546b65(_0xfbe355);});});}function updateMailInteraction(_0x31501b,_0x228aa7,_0x34577f,_0x61e552){return new BPromise(function(_0xbd4591,_0x1f13f3){return getInteractionUsers(_0x31501b,_0x34577f)[_0xac4a('0x1e')](function(_0xfd7c16){return getInteractionTags(_0xfd7c16,_0x228aa7);})[_0xac4a('0x1e')](function(_0x1634df){return getStateInteraction(_0x1634df);})[_0xac4a('0x1e')](function(_0x1a9d4e){if(_0x61e552){_0xbd4591(getLastMessageText(_0x1a9d4e));}else{_0xbd4591(_0x1a9d4e);}})['catch'](function(_0x30442d){_0x1f13f3(_0x30442d);});});}function getStateInteraction(_0x1c41fb){return new BPromise(function(_0x5a4e2b){_0x1c41fb[_0xac4a('0x30')]=0x0;_0x1c41fb[_0xac4a('0x31')]=0x0;_0x1c41fb['answered']=0x0;_0x1c41fb['unmanaged']=0x0;_0x1c41fb[_0xac4a('0x32')]=0x0;if(!_0x1c41fb[_0xac4a('0x33')]&&!_0x1c41fb[_0xac4a('0x34')]){_0x1c41fb[_0xac4a('0x30')]+=0x1;}if(!_0x1c41fb['closed']&&_0x1c41fb[_0xac4a('0x34')]){_0x1c41fb[_0xac4a('0x31')]+=0x1;if(_0x1c41fb['waiting']){_0x1c41fb[_0xac4a('0x30')]-=0x1;}}if(_0x1c41fb[_0xac4a('0x33')]&&_0x1c41fb[_0xac4a('0x34')]){_0x1c41fb['answered']+=0x1;if(_0x1c41fb[_0xac4a('0x31')]){_0x1c41fb[_0xac4a('0x31')]-=0x1;}}if(_0x1c41fb[_0xac4a('0x33')]&&!_0x1c41fb['UserId']){_0x1c41fb[_0xac4a('0x35')]+=0x1;if(_0x1c41fb[_0xac4a('0x30')]){_0x1c41fb['waiting']-=0x1;}}_0x1c41fb['total']+=0x1;_0x5a4e2b(_0x1c41fb);});}exports[_0xac4a('0x36')]=function(_0x5e0926,_0x50e03e){var _0x5f0af0={},_0x4fee3a={},_0x41b757={'count':0x0,'rows':[]};var _0x2bf8e8=_[_0xac4a('0x24')](db[_0xac4a('0x37')][_0xac4a('0x38')],function(_0x415f31){return{'name':_0x415f31[_0xac4a('0x39')],'type':_0x415f31[_0xac4a('0x3a')][_0xac4a('0x3b')]};});_0x4fee3a[_0xac4a('0x3c')]=_[_0xac4a('0x24')](_0x2bf8e8,_0xac4a('0x21'));_0x4fee3a['query']=_['keys'](_0x5e0926['query']);_0x4fee3a[_0xac4a('0x3d')]=_[_0xac4a('0x3e')](_0x4fee3a[_0xac4a('0x3c')],_0x4fee3a[_0xac4a('0x3f')]);_0x5f0af0[_0xac4a('0x40')]=_[_0xac4a('0x3e')](_0x4fee3a[_0xac4a('0x3c')],qs[_0xac4a('0x41')](_0x5e0926[_0xac4a('0x3f')][_0xac4a('0x41')]));_0x5f0af0['attributes']=_0x5f0af0[_0xac4a('0x40')][_0xac4a('0x42')]?_0x5f0af0[_0xac4a('0x40')]:_0x4fee3a[_0xac4a('0x3c')];if(!_0x5e0926[_0xac4a('0x3f')]['hasOwnProperty'](_0xac4a('0x43'))){_0x5f0af0[_0xac4a('0x19')]=qs['limit'](_0x5e0926[_0xac4a('0x3f')]['limit']);_0x5f0af0[_0xac4a('0x17')]=qs[_0xac4a('0x17')](_0x5e0926[_0xac4a('0x3f')][_0xac4a('0x17')]);}_0x5f0af0[_0xac4a('0x44')]=qs[_0xac4a('0x45')](_0x5e0926[_0xac4a('0x3f')][_0xac4a('0x45')]);_0x5f0af0[_0xac4a('0x46')]=qs[_0xac4a('0x3d')](_[_0xac4a('0x47')](_0x5e0926[_0xac4a('0x3f')],_0x4fee3a['filters']),_0x2bf8e8);var _0x1646ea=[];var _0x41d11d=squel[_0xac4a('0x48')]()['field']('id')[_0xac4a('0x49')](_0xac4a('0x21'))['field'](_0xac4a('0x4a'))['from'](_0xac4a('0x4b'));var _0xe620f6=squel[_0xac4a('0x48')]()['field']('u.id')[_0xac4a('0x49')]('u.fullname')[_0xac4a('0x49')]('ui.MailInteractionId')[_0xac4a('0x4c')]('user_has_mail_interactions','ui')[_0xac4a('0x4d')](_0xac4a('0x4e'),'u',_0xac4a('0x4f'));var _0x1c8c39=squel['select']()[_0xac4a('0x4c')](_0xac4a('0x50'),'i')[_0xac4a('0x4d')](_0xac4a('0x51'),'c',_0xac4a('0x52'))[_0xac4a('0x4d')](_0xac4a('0x4e'),'o','o.id\x20=\x20i.UserId')[_0xac4a('0x4d')](_0xac4a('0x53'),'a','a.id\x20=\x20i.MailAccountId')[_0xac4a('0x4d')](_0xac4a('0x54'),'me',_0xac4a('0x55'))[_0xac4a('0x4d')]('mail_interaction_has_tags','it',_0xac4a('0x56'))[_0xac4a('0x4d')](_0xac4a('0x4b'),'t',_0xac4a('0x57'));var _0x890910=squel['expr']();var _0x179373=[];var _0x564b10=squel[_0xac4a('0x58')]();var _0x2c04af;if(_0x5e0926['query']['search']){_0x2c04af=as[_0xac4a('0x59')](_0x5e0926[_0xac4a('0x3f')]['search']);var _0x18d29c=_0x2c04af[_0xac4a('0x5a')];for(var _0x26b582=0x0;_0x26b582<_0x2c04af[_0xac4a('0x5b')]['length'];_0x26b582++){var _0x3057d6=_0x2c04af[_0xac4a('0x5b')][_0x26b582];var _0xb43fdb='i';var _0xb5897b=_[_0xac4a('0x5c')](_0x2bf8e8,[_0xac4a('0x21'),_0x3057d6[_0xac4a('0x49')]]);if(!_0xb5897b){switch(_0x3057d6['field']){case _0xac4a('0x5d'):if(_0x3057d6[_0xac4a('0x5e')]==0x1){_0x1c8c39[_0xac4a('0x5f')]('`'+_0x3057d6[_0xac4a('0x49')]+_0xac4a('0x60'));}else{_0x1c8c39[_0xac4a('0x5f')]('`'+_0x3057d6[_0xac4a('0x49')]+_0xac4a('0x61'));}break;case _0xac4a('0x62'):if(_0x3057d6[_0xac4a('0x63')]===_0xac4a('0x64')){if(_0x3057d6[_0xac4a('0x5e')][_0xac4a('0x27')]('\x20')[_0xac4a('0x42')]>0x1){_0x890910[_0x18d29c](_0xac4a('0x65'),qs[_0xac4a('0x66')](_0x3057d6['value']),null);}else{var _0x13a577='%'+_0x3057d6['value']+'%';_0x890910[_0x18d29c](_0xac4a('0x67'),_0x13a577,_0x13a577,_0x13a577);}}else{_0xb5897b=_['find'](_0x2bf8e8,[_0xac4a('0x21'),'ContactId']);_0x3057d6[_0xac4a('0x49')]='ContactId';_0x11bb54=as['buildExpression'](_0xb43fdb,_0xb5897b[_0xac4a('0x3a')],_0x3057d6);_0x890910[_0x18d29c](_0x11bb54[_0xac4a('0x68')],_0x11bb54[_0xac4a('0x5e')][_0xac4a('0x69')],_0x11bb54[_0xac4a('0x5e')][_0xac4a('0x14')]);}break;case'Tag':var _0x1e1ffa=_0x3057d6['value'][_0xac4a('0x27')](',')['map'](function(_0x347880){return Number(_0x347880);});_0x1e1ffa[_0xac4a('0x28')](function(_0x3da7e7){_0x564b10['or'](_0xac4a('0x6a'),'%,'+_0x3da7e7+',%');});_0x179373=_[_0xac4a('0x6b')](_0x179373,_0x1e1ffa);break;case _0xac4a('0x6c'):if(_0x3057d6[_0xac4a('0x63')]===_0xac4a('0x64')){_0x890910[_0x18d29c](_0xac4a('0x6d'),'%'+_0x3057d6[_0xac4a('0x5e')]+'%',null);}else{_0xb5897b=_[_0xac4a('0x5c')](_0x2bf8e8,[_0xac4a('0x21'),_0xac4a('0x34')]);_0x3057d6[_0xac4a('0x49')]=_0xac4a('0x34');_0x11bb54=as[_0xac4a('0x6e')](_0xb43fdb,_0xb5897b[_0xac4a('0x3a')],_0x3057d6);_0x890910[_0x18d29c](_0x11bb54['text'],_0x11bb54[_0xac4a('0x5e')][_0xac4a('0x69')],_0x11bb54['value'][_0xac4a('0x14')]);}break;case _0xac4a('0x2c'):_0x11bb54=as[_0xac4a('0x6e')]('me',null,_0x3057d6);_0x890910[_0x18d29c](_0x11bb54[_0xac4a('0x68')],_0x11bb54[_0xac4a('0x5e')]['start'],_0x11bb54['value'][_0xac4a('0x14')]);break;}}else{var _0x11bb54=as[_0xac4a('0x6e')](_0xb43fdb,_0xb5897b[_0xac4a('0x3a')],_0x3057d6);_0x890910[_0x18d29c](_0x11bb54[_0xac4a('0x68')],_0x11bb54[_0xac4a('0x5e')][_0xac4a('0x69')],_0x11bb54[_0xac4a('0x5e')][_0xac4a('0x14')]);}}}else{var _0x295f21=_(_0x5e0926[_0xac4a('0x3f')])['keys']()['map'](function(_0x1ee825){return _[_0xac4a('0x6f')](_0x2bf8e8,[_0xac4a('0x21'),_0x1ee825])?_0x1ee825:undefined;})[_0xac4a('0x70')]()[_0xac4a('0x5e')]();if(!_[_0xac4a('0x71')](_0x295f21)){_0x295f21[_0xac4a('0x28')](function(_0x34e42f){if(_0x34e42f===_0xac4a('0x72')){_0x1c8c39[_0xac4a('0x46')](_0xac4a('0x73'),[][_0xac4a('0x74')](_0x5e0926['query'][_0x34e42f]));}else if(_0x34e42f===_0xac4a('0x75')){var _0xc74ce8=JSON[_0xac4a('0x76')](_0x5e0926[_0xac4a('0x3f')][_0x34e42f])['$gte'];var _0xc61e94=JSON['parse'](_0x5e0926[_0xac4a('0x3f')][_0x34e42f])[_0xac4a('0x77')];_0x1c8c39['where']('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0xc74ce8,_0xc61e94);}else{if(_0x5e0926[_0xac4a('0x3f')][_0x34e42f]===_0xac4a('0x78')){_0x1c8c39[_0xac4a('0x46')]('i.'+_0x34e42f+'\x20IS\x20NULL');}else{_0x1c8c39[_0xac4a('0x46')]('i.'+_0x34e42f+'\x20=\x20?',_0x5e0926[_0xac4a('0x3f')][_0x34e42f]);}}});}if(_0x5e0926['query']['read']){if(_0x5e0926[_0xac4a('0x3f')]['read']==0x1){_0x1c8c39[_0xac4a('0x5f')]('`unreadMessages`\x20=\x200');}else{_0x1c8c39[_0xac4a('0x5f')](_0xac4a('0x79'));}}if(_0x5e0926['query'][_0xac4a('0x7a')]){_0x179373=_['isArray'](_0x5e0926[_0xac4a('0x3f')][_0xac4a('0x7a')])?_0x5e0926['query'][_0xac4a('0x7a')]:new Array(_0x5e0926['query']['tag']);_0x179373[_0xac4a('0x28')](function(_0x4e3129){_0x564b10['or'](_0xac4a('0x6a'),'%,'+_0x4e3129+',%');});}if(_0x5e0926['query']['filter']){var _0x1588e2=_0x5e0926[_0xac4a('0x3f')][_0xac4a('0x7b')]['replace']('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0xac4a('0x7c')](_0x1588e2)){_0x890910['or'](_0xac4a('0x7d'),_0x1588e2+'%');}else if(qs['isEmail'](_0x1588e2)){_0x890910['or']('c.email\x20LIKE\x20?',_0x1588e2+'%');}else{_0x890910['or'](_0xac4a('0x7e'),qs[_0xac4a('0x66')](_0x1588e2))['or'](_0xac4a('0x7f'),qs[_0xac4a('0x66')](_0x1588e2));}}}_0x1c8c39[_0xac4a('0x46')](_0x890910);_0x1c8c39[_0xac4a('0x80')](_0xac4a('0x81'));var _0x13833b={'type':db[_0xac4a('0x82')]['QueryTypes'][_0xac4a('0x83')],'raw':!![]};var _0x440dc4=_0x1c8c39[_0xac4a('0x84')]();_0x440dc4['field'](_0xac4a('0x81'));_0x440dc4[_0xac4a('0x49')](_0xac4a('0x85'),_0xac4a('0x5d'));if(_0x5f0af0[_0xac4a('0x44')]){_0x5f0af0['order'][_0xac4a('0x28')](function(_0x19ce24){var _0xc9d040=_0x19ce24[0x0]===_0xac4a('0x86')?_0x19ce24[0x0]:'i.'+_0x19ce24[0x0];_0x1c8c39[_0xac4a('0x44')](_0xc9d040,_0x19ce24[0x1]===_0xac4a('0x87')?![]:!![]);});}if(!_[_0xac4a('0x71')](_0x179373)){_0x1c8c39['having'](_0x564b10);_0x440dc4[_0xac4a('0x46')](_0xac4a('0x88'),_0x179373);}BPromise[_0xac4a('0x89')]()[_0xac4a('0x1e')](function(){if(!_0x2c04af){if(_0x5e0926[_0xac4a('0x3f')][_0xac4a('0x72')])return;_0x440dc4['where'](_0xac4a('0x8a'));_0x1c8c39[_0xac4a('0x46')](_0xac4a('0x8a'));return;}if(_0x5e0926[_0xac4a('0x8b')]['role']!==_0xac4a('0x8c'))return;return _0x5e0926['user'][_0xac4a('0x8d')]({'attributes':['id'],'raw':!![]})[_0xac4a('0x1e')](function(_0x53a371){if(_['isEmpty'](_0x53a371)){_0x440dc4[_0xac4a('0x46')](_0xac4a('0x8e'));_0x1c8c39[_0xac4a('0x46')]('i.MailAccountId\x20IS\x20NULL');}else{_0x440dc4[_0xac4a('0x46')]('i.MailAccountId\x20IN\x20?',_[_0xac4a('0x24')](_0x53a371,'id'));_0x1c8c39[_0xac4a('0x46')](_0xac4a('0x73'),_[_0xac4a('0x24')](_0x53a371,'id'));}});})[_0xac4a('0x1e')](function(){if(_0x5e0926['user']['role']===_0xac4a('0x8c')&&!_0x2c04af&&!_0x5e0926[_0xac4a('0x3f')][_0xac4a('0x72')])return[];return db[_0xac4a('0x8f')][_0xac4a('0x3f')](_0x440dc4[_0xac4a('0x90')](),_0x13833b);})[_0xac4a('0x1e')](function(_0x186410){_0x41b757['count']=_0x186410['length'];if(_0x41b757[_0xac4a('0x1a')]===0x0)return[];return db[_0xac4a('0x8f')][_0xac4a('0x3f')](_0x41d11d[_0xac4a('0x90')](),_0x13833b)[_0xac4a('0x1e')](function(_0x2ea4a4){_0x1646ea=_[_0xac4a('0x91')](_0x2ea4a4,'id');_0x13833b=_[_0xac4a('0x92')](_0x13833b,{'model':db['MailInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x5e0926['query'][_0xac4a('0x41')]){_0x5f0af0[_0xac4a('0x40')][_0xac4a('0x28')](function(_0x371e06){_0x1c8c39[_0xac4a('0x49')]('i.'+_0x371e06);});}else{_0x1c8c39[_0xac4a('0x49')](_0xac4a('0x85'),'unreadMessages');_0x1c8c39[_0xac4a('0x49')](_0xac4a('0x93'),_0xac4a('0x94'));_0x1c8c39['field'](_0xac4a('0x95'),_0xac4a('0x96'));_0x1c8c39[_0xac4a('0x49')](_0xac4a('0x97'),_0xac4a('0x86'));_0x1c8c39[_0xac4a('0x49')](_0xac4a('0x81'));_0x1c8c39[_0xac4a('0x49')](_0xac4a('0x98'));_0x1c8c39['field'](_0xac4a('0x99'));_0x1c8c39['field'](_0xac4a('0x9a'));_0x1c8c39[_0xac4a('0x49')](_0xac4a('0x9b'));_0x1c8c39[_0xac4a('0x49')](_0xac4a('0x9c'));_0x1c8c39[_0xac4a('0x49')](_0xac4a('0x9d'));_0x1c8c39['field'](_0xac4a('0x9e'));_0x1c8c39[_0xac4a('0x49')](_0xac4a('0x9f'));_0x1c8c39[_0xac4a('0x49')](_0xac4a('0xa0'));_0x1c8c39['field'](_0xac4a('0xa1'));_0x1c8c39[_0xac4a('0x49')]('i.thirdDisposition');_0x1c8c39['field'](_0xac4a('0xa2'));_0x1c8c39[_0xac4a('0x49')]('i.to');_0x1c8c39[_0xac4a('0x49')](_0xac4a('0xa3'));_0x1c8c39[_0xac4a('0x49')](_0xac4a('0xa4'));_0x1c8c39[_0xac4a('0x49')](_0xac4a('0xa5'));_0x1c8c39['field'](_0xac4a('0xa6'),_0xac4a('0xa7'));_0x1c8c39[_0xac4a('0x49')]('c.lastName',_0xac4a('0xa8'));_0x1c8c39[_0xac4a('0x49')](_0xac4a('0xa9'),_0xac4a('0xaa'));_0x1c8c39[_0xac4a('0x49')](_0xac4a('0xab'),'Contact.phone');_0x1c8c39[_0xac4a('0x49')](_0xac4a('0xac'),'Contact.mobile');_0x1c8c39[_0xac4a('0x49')]('c.fax',_0xac4a('0xad'));_0x1c8c39[_0xac4a('0x49')]('o.fullname',_0xac4a('0xae'));_0x1c8c39['field'](_0xac4a('0xaf'),'Owner.internal');_0x1c8c39[_0xac4a('0x49')](_0xac4a('0xb0'),_0xac4a('0x26'));}if(_0x5f0af0[_0xac4a('0x19')])_0x1c8c39[_0xac4a('0x19')](_0x5f0af0[_0xac4a('0x19')]);if(_0x5f0af0[_0xac4a('0x17')])_0x1c8c39[_0xac4a('0x17')](_0x5f0af0[_0xac4a('0x17')]);return db[_0xac4a('0x8f')][_0xac4a('0x3f')](_0x1c8c39[_0xac4a('0x90')](),_0x13833b);})[_0xac4a('0x1e')](function(_0x4217df){if(_0x4217df['length']>0x0)_0xe620f6[_0xac4a('0x46')](_0xac4a('0xb1'),_['map'](_0x4217df,'id'));return db[_0xac4a('0x8f')][_0xac4a('0x3f')](_0xe620f6[_0xac4a('0x90')](),_0x13833b)[_0xac4a('0x1e')](function(_0x3fea6e){var _0x5d5bb3=_[_0xac4a('0xb2')](_0x3fea6e,'MailInteractionId');var _0x46d3d9=[];return db[_0xac4a('0xb3')][_0xac4a('0x2a')]({'attributes':[_0xac4a('0xb4')],'raw':!![]})['then'](function(_0x1adf17){var _0x55866d=_0x1adf17[_0xac4a('0xb4')];_0x4217df[_0xac4a('0x28')](function(_0x279950){_0x46d3d9['push'](updateMailInteraction(_0x279950,_0x1646ea,_0x5d5bb3,_0x55866d));});return BPromise[_0xac4a('0xb5')](_0x46d3d9);});});});})[_0xac4a('0x1e')](function(_0x127ede){_0x41b757['rows']=_0x127ede;return _0x41b757;})[_0xac4a('0x1e')](respondWithFilteredResult(_0x50e03e,_0x5f0af0))[_0xac4a('0x2f')](handleError(_0x50e03e,null));};exports[_0xac4a('0xb6')]=function(_0x2d3a3b,_0x25cd36){var _0x467461={'raw':![],'where':{'id':_0x2d3a3b[_0xac4a('0xb7')]['id']}},_0x3b4183={};_0x3b4183['model']=_[_0xac4a('0xb8')](db['MailInteraction']['rawAttributes']);_0x3b4183['query']=_['keys'](_0x2d3a3b['query']);_0x3b4183[_0xac4a('0x3d')]=_[_0xac4a('0x3e')](_0x3b4183[_0xac4a('0x3c')],_0x3b4183[_0xac4a('0x3f')]);_0x467461[_0xac4a('0x40')]=_['intersection'](_0x3b4183[_0xac4a('0x3c')],qs[_0xac4a('0x41')](_0x2d3a3b[_0xac4a('0x3f')][_0xac4a('0x41')]));_0x467461[_0xac4a('0x40')]=_0x467461[_0xac4a('0x40')][_0xac4a('0x42')]?_0x467461[_0xac4a('0x40')]:_0x3b4183['model'];if(_0x2d3a3b[_0xac4a('0x3f')][_0xac4a('0xb9')]){_0x467461[_0xac4a('0xba')]=[{'all':!![]}];}_0x467461=_[_0xac4a('0x92')]({},_0x467461,_0x2d3a3b[_0xac4a('0xbb')]);return db[_0xac4a('0x37')][_0xac4a('0x5c')](_0x467461)['then'](handleEntityNotFound(_0x25cd36,null))['then'](respondWithResult(_0x25cd36,null))[_0xac4a('0x2f')](handleError(_0x25cd36,null));};exports[_0xac4a('0xbc')]=function(_0x51993a,_0x2d8b23){return db[_0xac4a('0x37')]['create'](_0x51993a['body'],{})[_0xac4a('0x1e')](respondWithResult(_0x2d8b23,0xc9))[_0xac4a('0x2f')](handleError(_0x2d8b23,null));};exports[_0xac4a('0x1c')]=function(_0x8b988c,_0x1741f5){if(_0x8b988c['body']['id']){delete _0x8b988c[_0xac4a('0xbd')]['id'];}return db['MailInteraction']['find']({'where':{'id':_0x8b988c['params']['id']}})[_0xac4a('0x1e')](handleEntityNotFound(_0x1741f5,null))[_0xac4a('0x1e')](saveUpdates(_0x8b988c[_0xac4a('0xbd')],null))[_0xac4a('0x1e')](respondWithResult(_0x1741f5,null))[_0xac4a('0x2f')](handleError(_0x1741f5,null));};exports[_0xac4a('0x1d')]=function(_0xcad25d,_0x43f82b){return db['MailInteraction']['find']({'where':{'id':_0xcad25d['params']['id']}})[_0xac4a('0x1e')](handleEntityNotFound(_0x43f82b,null))[_0xac4a('0x1e')](removeEntity(_0x43f82b,null))[_0xac4a('0x2f')](handleError(_0x43f82b,null));};exports[_0xac4a('0xbe')]=function(_0x214d74,_0xcd140e){return db[_0xac4a('0x37')][_0xac4a('0xbe')]()[_0xac4a('0x1e')](respondWithResult(_0xcd140e,null))[_0xac4a('0x2f')](handleError(_0xcd140e,null));};exports[_0xac4a('0xbf')]=function(_0x37cb49,_0xe0fd57){return db[_0xac4a('0xc0')][_0xac4a('0x5c')]({'where':{'id':_0x37cb49[_0xac4a('0xb7')]['id']}})[_0xac4a('0x1e')](handleEntityNotFound(_0xe0fd57,null))[_0xac4a('0x1e')](function(_0x41cdb5){if(_0x41cdb5){return _0x41cdb5[_0xac4a('0xbf')](_0x37cb49[_0xac4a('0xbd')][_0xac4a('0xc1')],_[_0xac4a('0xc2')](_0x37cb49['body'],[_0xac4a('0xc1'),'id'])||{});}})[_0xac4a('0x1e')](respondWithResult(_0xe0fd57,null))[_0xac4a('0x2f')](handleError(_0xe0fd57,null));};exports[_0xac4a('0xc3')]=function(_0x237312,_0x31afd2){var _0x2652f5={'raw':![],'where':{}};var _0x2f108d={};var _0x58b69f={'count':0x0,'rows':[]};return db['MailInteraction'][_0xac4a('0x2a')]({'where':{'id':_0x237312[_0xac4a('0xb7')]['id']}})[_0xac4a('0x1e')](handleEntityNotFound(_0x31afd2,null))['then'](function(_0x4e0eeb){if(_0x4e0eeb){_0x2f108d['model']=_[_0xac4a('0xb8')](db['MailMessage'][_0xac4a('0x38')]);_0x2f108d[_0xac4a('0x3f')]=_['keys'](_0x237312[_0xac4a('0x3f')]);_0x2f108d['filters']=_[_0xac4a('0x3e')](_0x2f108d[_0xac4a('0x3c')],_0x2f108d[_0xac4a('0x3f')]);_0x2652f5[_0xac4a('0x40')]=_[_0xac4a('0x3e')](_0x2f108d[_0xac4a('0x3c')],qs['fields'](_0x237312[_0xac4a('0x3f')][_0xac4a('0x41')]));_0x2652f5[_0xac4a('0x40')]=_0x2652f5['attributes'][_0xac4a('0x42')]?_0x2652f5[_0xac4a('0x40')]:_0x2f108d[_0xac4a('0x3c')];if(!_0x237312[_0xac4a('0x3f')]['hasOwnProperty'](_0xac4a('0x43'))){_0x2652f5[_0xac4a('0x19')]=qs[_0xac4a('0x19')](_0x237312[_0xac4a('0x3f')][_0xac4a('0x19')]);_0x2652f5[_0xac4a('0x17')]=qs['offset'](_0x237312['query'][_0xac4a('0x17')]);}_0x2652f5[_0xac4a('0x44')]=qs[_0xac4a('0x45')](_0x237312[_0xac4a('0x3f')][_0xac4a('0x45')]);_0x2652f5[_0xac4a('0x46')]=qs['filters'](_[_0xac4a('0x47')](_0x237312['query'],_0x2f108d[_0xac4a('0x3d')]));_0x2652f5['where'][_0xac4a('0xc4')]=_0x4e0eeb['id'];if(_0x237312[_0xac4a('0x3f')][_0xac4a('0x7b')]){_0x2652f5[_0xac4a('0x46')]=_['merge'](_0x2652f5[_0xac4a('0x46')],{'$or':_[_0xac4a('0x24')](_0x2652f5[_0xac4a('0x40')],function(_0x45dff4){var _0x3692cb={};_0x3692cb[_0x45dff4]={'$like':'%'+_0x237312['query'][_0xac4a('0x7b')]+'%'};return _0x3692cb;})});}if(_0x237312[_0xac4a('0x3f')][_0xac4a('0xc5')]){var _0x33a9b7=_0x237312[_0xac4a('0x3f')]['$gte'][_0xac4a('0x27')](',');var _0x4f8908={};_0x4f8908[_0x33a9b7[0x0]]={'$gte':moment(_0x33a9b7[0x1])[_0xac4a('0xc6')](_0xac4a('0xc7'))};_0x2652f5[_0xac4a('0x46')]=_['merge'](_0x2652f5['where'],_0x4f8908);}_0x2652f5=_['merge']({},_0x2652f5,_0x237312['options']);return db[_0xac4a('0xc0')][_0xac4a('0x1a')]({'where':_0x2652f5[_0xac4a('0x46')]})[_0xac4a('0x1e')](function(_0xa8b5bb){_0x58b69f['count']=_0xa8b5bb;if(_0x237312[_0xac4a('0x3f')][_0xac4a('0xb9')]){_0x2652f5['include']=[{'all':!![]}];}return db[_0xac4a('0xc0')][_0xac4a('0xc8')](_0x2652f5);})[_0xac4a('0x1e')](function(_0x512111){if(_0x237312[_0xac4a('0x3f')][_0xac4a('0xc9')]===_0xac4a('0xca')){for(var _0x1b88a7=0x0;_0x1b88a7<_0x512111[_0xac4a('0x42')];_0x1b88a7++){_0x512111[_0x1b88a7][_0xac4a('0xbd')]=juice(_0x512111[_0x1b88a7][_0xac4a('0xbd')]);}}_0x58b69f[_0xac4a('0xcb')]=_0x512111;return _0x58b69f;});}})[_0xac4a('0x1e')](respondWithFilteredResult(_0x31afd2,_0x2652f5))['catch'](handleError(_0x31afd2,null));};exports[_0xac4a('0xcc')]=function(_0xbdae39,_0x579181){return db[_0xac4a('0x37')]['find']({'where':{'id':_0xbdae39[_0xac4a('0xb7')]['id']}})[_0xac4a('0x1e')](handleEntityNotFound(_0x579181,null))['then'](function(_0x7506d){if(_0x7506d){return _0x7506d[_0xac4a('0xcd')](_0xbdae39[_0xac4a('0xbd')][_0xac4a('0xc1')],_[_0xac4a('0xc2')](_0xbdae39[_0xac4a('0xbd')],[_0xac4a('0xc1'),'id'])||{})[_0xac4a('0xce')](function(){return db['Tag']['findAll']({'attributes':['id',_0xac4a('0x21'),'color'],'where':{'id':_0xbdae39['body'][_0xac4a('0xc1')]}});})[_0xac4a('0x1e')](function(_0x3254c3){socket['emit'](_0xac4a('0xcf'),{'id':Number(_0xbdae39[_0xac4a('0xb7')]['id']),'tags':_0x3254c3||[]});return{'id':Number(_0xbdae39['params']['id']),'tags':_0x3254c3||[]};});}})['then'](respondWithResult(_0x579181,null))[_0xac4a('0x2f')](handleError(_0x579181,null));};exports[_0xac4a('0xd0')]=function(_0x172fc4,_0x368546){return db['MailInteraction'][_0xac4a('0x5c')]({'where':{'id':_0x172fc4[_0xac4a('0xb7')]['id']}})[_0xac4a('0x1e')](handleEntityNotFound(_0x368546,null))['then'](function(_0x3d9ddc){if(_0x3d9ddc){return _0x3d9ddc[_0xac4a('0xd0')](_0x172fc4[_0xac4a('0x3f')][_0xac4a('0xc1')]);}})[_0xac4a('0x1e')](respondWithStatusCode(_0x368546,null))['catch'](handleError(_0x368546,null));};exports['download']=function(_0x9051e7,_0x3e1be8){var _0x1774e5=moment()[_0xac4a('0xd1')]()[_0xac4a('0x90')]();var _0xcef6af=path[_0xac4a('0xd2')](config[_0xac4a('0xd3')],_0xac4a('0xd4'),_0xac4a('0xd5'),_0xac4a('0xd6'));var _0x5bb7df=path[_0xac4a('0xd2')](config['root'],_0xac4a('0xd4'),'files','attachments');var _0x2376bb=path[_0xac4a('0xd2')](_0xcef6af,_0x1774e5);var _0x25ce44=util[_0xac4a('0xc6')](_0xac4a('0xd7'),_0x9051e7[_0xac4a('0xb7')]['id'],_0x1774e5);var _0xd320da=path[_0xac4a('0xd2')](_0xcef6af,_0x25ce44);var _0x1c337c=[];if(_0x9051e7['query'][_0xac4a('0xd8')]){_0x1c337c[_0xac4a('0xd9')]({'model':db[_0xac4a('0xda')],'as':_0xac4a('0xdb'),'raw':!![]});}var _0x5c0bb8=[{'model':db['MailMessage'],'as':_0xac4a('0xdc'),'attributes':['id',_0xac4a('0xbd'),_0xac4a('0x4c'),'to','cc',_0xac4a('0xdd'),_0xac4a('0xde'),_0xac4a('0x75')],'where':{'secret':![]},'order':qs[_0xac4a('0x45')]('id'),'include':_0x1c337c}];return db[_0xac4a('0x37')][_0xac4a('0x5c')]({'where':{'id':_0x9051e7['params']['id']},'include':_0x5c0bb8})[_0xac4a('0x1e')](handleEntityNotFound(_0x3e1be8,null))[_0xac4a('0x1e')](function(_0x3061f2){if(_0x3061f2&&_0x3061f2[_0xac4a('0xdc')]){var _0x2e2460=_0x3061f2[_0xac4a('0xdf')]({'plain':!![]});fs['mkdirSync'](_0x2376bb);return BPromise['each'](_0x2e2460['Messages'],function(_0x1e235a,_0x321072){var _0x4f5453={'from':_0x1e235a['from'],'to':_0x1e235a['to'],'subject':_0x1e235a[_0xac4a('0xde')],'html':htmlEntities['decode'](_0x1e235a[_0xac4a('0xbd')]),'headers':{'Date':moment(_0x1e235a['createdAt'])[_0xac4a('0xc6')](_0xac4a('0xe0'))},'attachments':[]};if(_0x1e235a['cc']){_0x4f5453[_0xac4a('0xe1')]['Cc']=_0x1e235a['cc'];}if(_0x1e235a['bcc']){_0x4f5453[_0xac4a('0xe1')][_0xac4a('0xe2')]=_0x1e235a['bcc'];}return new BPromise(function(_0x208f15,_0x1ae287){if(_0x1e235a['Attachments']){for(var _0x48a75c=0x0;_0x48a75c<_0x1e235a[_0xac4a('0xdb')][_0xac4a('0x42')];_0x48a75c++){var _0x43df37=_0x1e235a[_0xac4a('0xdb')][_0x48a75c];var _0x367254=path[_0xac4a('0xd2')](_0x5bb7df,_0x43df37[_0xac4a('0xe3')]);if(fs[_0xac4a('0xe4')](_0x367254)){_0x4f5453[_0xac4a('0xd8')][_0xac4a('0xd9')]({'name':_0x43df37[_0xac4a('0x21')],'contentType':_0x43df37[_0xac4a('0x3a')],'data':fs[_0xac4a('0xe5')](_0x367254)});}}}emlformat[_0xac4a('0xe6')](_0x4f5453,function(_0x1d02de,_0x136680){if(_0x1d02de)return _0x1ae287(_0x1d02de);fs[_0xac4a('0xe7')](path['join'](_0x2376bb,util[_0xac4a('0xc6')]('message%d.eml',_0x321072)),_0x136680);return _0x208f15(_0x136680);});});})[_0xac4a('0x1e')](function(){return new BPromise(function(_0x901233,_0x19a6d3){zipdir(_0x2376bb,{'saveTo':_0xd320da},function(_0x442702,_0x23c577){if(_0x442702)return _0x19a6d3(_0x442702);return _0x901233(_0x23c577);});})[_0xac4a('0x1e')](function(){return new BPromise(function(_0x8281c9,_0x5c7b5f){rimraf(_0x2376bb,function(_0x368eae){if(_0x368eae)_0x5c7b5f(_0x368eae);return _0x8281c9();});});})['then'](function(){return _0x3e1be8[_0xac4a('0xe8')](_0xd320da,_0x25ce44,function(_0x9b3caf){if(!_0x9b3caf)fs[_0xac4a('0xe9')](_0xd320da);});});});}else{return _0x3e1be8[_0xac4a('0x13')](0xc8);}})[_0xac4a('0x2f')](handleError(_0x3e1be8,null));};
\ No newline at end of file
+var _0xefb1=['path','lodash','juice','ioredis','../../config/logger','api','../../config/environment','../../mysqldb','html-entities','redis','defaults','localhost','socket.io-emitter','register','sendStatus','status','json','undefined','limit','offset','count','set','update','destroy','then','error','stack','name','send','index','MailInteraction','rawAttributes','fieldName','type','key','getOptions','findAll','mail','query','catch','show','model','keys','filters','intersection','attributes','fields','length','includeAll','merge','options','find','body','describe','addMessage','MailMessage','params','ids','omit','getMessages','findOne','hasOwnProperty','order','sort','where','pick','MailInteractionId','filter','map','$gte','split','YYYY-MM-DD\x20HH:mm:ss','rows','addTags','setTags','Tag','emit','removeTags','unix','toString','root','server','files','tmp','join','format','transcript-%d-%s.zip','attachments','push','Attachment','Messages','from','bcc','createdAt','get','mkdirSync','each','missing.recipient@your.company.com','subject','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Attachments','existsSync','readFileSync','build','writeFileSync','message%d.eml','download','unlinkSync','eml-format','rimraf','zip-dir','moment','bluebird','util'];(function(_0x21267d,_0x18c6f5){var _0x679d4c=function(_0x7f1e92){while(--_0x7f1e92){_0x21267d['push'](_0x21267d['shift']());}};_0x679d4c(++_0x18c6f5);}(_0xefb1,0xe2));var _0x1efb=function(_0x35d8b5,_0x51500f){_0x35d8b5=_0x35d8b5-0x0;var _0x50c046=_0xefb1[_0x35d8b5];return _0x50c046;};'use strict';var emlformat=require(_0x1efb('0x0'));var rimraf=require(_0x1efb('0x1'));var zipdir=require(_0x1efb('0x2'));var moment=require(_0x1efb('0x3'));var BPromise=require(_0x1efb('0x4'));var util=require(_0x1efb('0x5'));var path=require(_0x1efb('0x6'));var fs=require('fs');var _=require(_0x1efb('0x7'));var juice=require(_0x1efb('0x8'));var Redis=require(_0x1efb('0x9'));var interaction=require('../../components/interaction/service');var qs=require('../../components/parsers/qs');var logger=require(_0x1efb('0xa'))(_0x1efb('0xb'));var config=require(_0x1efb('0xc'));var db=require(_0x1efb('0xd'))['db'];var htmlEntities=require(_0x1efb('0xe'));config[_0x1efb('0xf')]=_[_0x1efb('0x10')](config[_0x1efb('0xf')],{'host':_0x1efb('0x11'),'port':0x18eb});var socket=require(_0x1efb('0x12'))(new Redis(config[_0x1efb('0xf')]));require('./mailInteraction.socket')[_0x1efb('0x13')](socket);function respondWithStatusCode(_0x5ddd5c,_0x10b3de){_0x10b3de=_0x10b3de||0xcc;return function(_0x11d57a){if(_0x11d57a){return _0x5ddd5c[_0x1efb('0x14')](_0x10b3de);}return _0x5ddd5c[_0x1efb('0x15')](_0x10b3de)['end']();};}function respondWithResult(_0x5c6cde,_0x1abf9b){_0x1abf9b=_0x1abf9b||0xc8;return function(_0x401ca5){if(_0x401ca5){return _0x5c6cde[_0x1efb('0x15')](_0x1abf9b)[_0x1efb('0x16')](_0x401ca5);}};}function respondWithFilteredResult(_0x46b465,_0x27868f){return function(_0x548c1d){if(_0x548c1d){var _0x35350c=typeof _0x27868f['offset']===_0x1efb('0x17')&&typeof _0x27868f[_0x1efb('0x18')]==='undefined';var _0x19ec4e=_0x548c1d['count'];var _0x18f166=_0x35350c?0x0:_0x27868f[_0x1efb('0x19')];var _0x422753=_0x35350c?_0x548c1d[_0x1efb('0x1a')]:_0x27868f[_0x1efb('0x19')]+_0x27868f[_0x1efb('0x18')];var _0x2336d1;if(_0x422753>=_0x19ec4e){_0x422753=_0x19ec4e;_0x2336d1=0xc8;}else{_0x2336d1=0xce;}_0x46b465[_0x1efb('0x15')](_0x2336d1);return _0x46b465[_0x1efb('0x1b')]('Content-Range',_0x18f166+'-'+_0x422753+'/'+_0x19ec4e)[_0x1efb('0x16')](_0x548c1d);}return null;};}function saveUpdates(_0x53af97){return function(_0x578e52){if(_0x578e52){return _0x578e52[_0x1efb('0x1c')](_0x53af97)['then'](function(_0x3e01da){return _0x3e01da;});}return null;};}function removeEntity(_0x3c7dd0){return function(_0x53fc10){if(_0x53fc10){return _0x53fc10[_0x1efb('0x1d')]()[_0x1efb('0x1e')](function(){_0x3c7dd0[_0x1efb('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x734fd0){return function(_0x16fbf9){if(!_0x16fbf9){_0x734fd0[_0x1efb('0x14')](0x194);}return _0x16fbf9;};}function handleError(_0x22bb50,_0x3477d8){_0x3477d8=_0x3477d8||0x1f4;return function(_0x42ffc8){logger[_0x1efb('0x1f')](_0x42ffc8[_0x1efb('0x20')]);if(_0x42ffc8[_0x1efb('0x21')]){delete _0x42ffc8[_0x1efb('0x21')];}_0x22bb50[_0x1efb('0x15')](_0x3477d8)[_0x1efb('0x22')](_0x42ffc8);};}exports[_0x1efb('0x23')]=function(_0x8cb136,_0x300a54){var _0x5bbbcf={};var _0x1db225=_['map'](db[_0x1efb('0x24')][_0x1efb('0x25')],function(_0x25e508){return{'name':_0x25e508[_0x1efb('0x26')],'type':_0x25e508[_0x1efb('0x27')][_0x1efb('0x28')]};});_0x5bbbcf=qs[_0x1efb('0x29')](_0x1db225,_0x8cb136);return interaction[_0x1efb('0x2a')](_0x1efb('0x2b'),_0x8cb136[_0x1efb('0x2c')],_0x8cb136['user'],_0x5bbbcf,_0x1db225)[_0x1efb('0x1e')](respondWithFilteredResult(_0x300a54,_0x5bbbcf))[_0x1efb('0x2d')](handleError(_0x300a54,null));};exports[_0x1efb('0x2e')]=function(_0x5110e3,_0x4e5eca){var _0x26e4ab={'raw':![],'where':{'id':_0x5110e3['params']['id']}},_0x2628a6={};_0x2628a6[_0x1efb('0x2f')]=_[_0x1efb('0x30')](db[_0x1efb('0x24')][_0x1efb('0x25')]);_0x2628a6['query']=_[_0x1efb('0x30')](_0x5110e3[_0x1efb('0x2c')]);_0x2628a6[_0x1efb('0x31')]=_[_0x1efb('0x32')](_0x2628a6[_0x1efb('0x2f')],_0x2628a6['query']);_0x26e4ab[_0x1efb('0x33')]=_[_0x1efb('0x32')](_0x2628a6[_0x1efb('0x2f')],qs[_0x1efb('0x34')](_0x5110e3[_0x1efb('0x2c')][_0x1efb('0x34')]));_0x26e4ab['attributes']=_0x26e4ab[_0x1efb('0x33')][_0x1efb('0x35')]?_0x26e4ab[_0x1efb('0x33')]:_0x2628a6['model'];if(_0x5110e3['query'][_0x1efb('0x36')]){_0x26e4ab['include']=[{'all':!![]}];}_0x26e4ab=_[_0x1efb('0x37')]({},_0x26e4ab,_0x5110e3[_0x1efb('0x38')]);return db[_0x1efb('0x24')][_0x1efb('0x39')](_0x26e4ab)[_0x1efb('0x1e')](handleEntityNotFound(_0x4e5eca,null))[_0x1efb('0x1e')](respondWithResult(_0x4e5eca,null))[_0x1efb('0x2d')](handleError(_0x4e5eca,null));};exports['create']=function(_0x4bcc1c,_0x39a68e){return db[_0x1efb('0x24')]['create'](_0x4bcc1c[_0x1efb('0x3a')],{})[_0x1efb('0x1e')](respondWithResult(_0x39a68e,0xc9))[_0x1efb('0x2d')](handleError(_0x39a68e,null));};exports[_0x1efb('0x1c')]=function(_0xf85af4,_0x2ea1d1){if(_0xf85af4[_0x1efb('0x3a')]['id']){delete _0xf85af4[_0x1efb('0x3a')]['id'];}return db[_0x1efb('0x24')][_0x1efb('0x39')]({'where':{'id':_0xf85af4['params']['id']}})[_0x1efb('0x1e')](handleEntityNotFound(_0x2ea1d1,null))[_0x1efb('0x1e')](saveUpdates(_0xf85af4[_0x1efb('0x3a')],null))['then'](respondWithResult(_0x2ea1d1,null))[_0x1efb('0x2d')](handleError(_0x2ea1d1,null));};exports[_0x1efb('0x1d')]=function(_0x2da400,_0x51fe5e){return db[_0x1efb('0x24')][_0x1efb('0x39')]({'where':{'id':_0x2da400['params']['id']}})['then'](handleEntityNotFound(_0x51fe5e,null))[_0x1efb('0x1e')](removeEntity(_0x51fe5e,null))[_0x1efb('0x2d')](handleError(_0x51fe5e,null));};exports[_0x1efb('0x3b')]=function(_0x3a0bba,_0x560596){return db['MailInteraction'][_0x1efb('0x3b')]()[_0x1efb('0x1e')](respondWithResult(_0x560596,null))[_0x1efb('0x2d')](handleError(_0x560596,null));};exports[_0x1efb('0x3c')]=function(_0x314c4f,_0x41b6a1){return db[_0x1efb('0x3d')]['find']({'where':{'id':_0x314c4f[_0x1efb('0x3e')]['id']}})['then'](handleEntityNotFound(_0x41b6a1,null))[_0x1efb('0x1e')](function(_0x146148){if(_0x146148){return _0x146148['addMessage'](_0x314c4f['body'][_0x1efb('0x3f')],_[_0x1efb('0x40')](_0x314c4f[_0x1efb('0x3a')],[_0x1efb('0x3f'),'id'])||{});}})[_0x1efb('0x1e')](respondWithResult(_0x41b6a1,null))[_0x1efb('0x2d')](handleError(_0x41b6a1,null));};exports[_0x1efb('0x41')]=function(_0x30654f,_0x11687d){var _0x26b355={'raw':![],'where':{}};var _0x4f426a={};var _0x29e9a6={'count':0x0,'rows':[]};return db[_0x1efb('0x24')][_0x1efb('0x42')]({'where':{'id':_0x30654f[_0x1efb('0x3e')]['id']}})[_0x1efb('0x1e')](handleEntityNotFound(_0x11687d,null))['then'](function(_0x2ae2f6){if(_0x2ae2f6){_0x4f426a['model']=_[_0x1efb('0x30')](db[_0x1efb('0x3d')][_0x1efb('0x25')]);_0x4f426a[_0x1efb('0x2c')]=_['keys'](_0x30654f[_0x1efb('0x2c')]);_0x4f426a['filters']=_[_0x1efb('0x32')](_0x4f426a[_0x1efb('0x2f')],_0x4f426a['query']);_0x26b355[_0x1efb('0x33')]=_[_0x1efb('0x32')](_0x4f426a[_0x1efb('0x2f')],qs[_0x1efb('0x34')](_0x30654f['query'][_0x1efb('0x34')]));_0x26b355['attributes']=_0x26b355[_0x1efb('0x33')][_0x1efb('0x35')]?_0x26b355[_0x1efb('0x33')]:_0x4f426a[_0x1efb('0x2f')];if(!_0x30654f[_0x1efb('0x2c')][_0x1efb('0x43')]('nolimit')){_0x26b355[_0x1efb('0x18')]=qs[_0x1efb('0x18')](_0x30654f[_0x1efb('0x2c')][_0x1efb('0x18')]);_0x26b355[_0x1efb('0x19')]=qs[_0x1efb('0x19')](_0x30654f[_0x1efb('0x2c')][_0x1efb('0x19')]);}_0x26b355[_0x1efb('0x44')]=qs['sort'](_0x30654f[_0x1efb('0x2c')][_0x1efb('0x45')]);_0x26b355[_0x1efb('0x46')]=qs[_0x1efb('0x31')](_[_0x1efb('0x47')](_0x30654f[_0x1efb('0x2c')],_0x4f426a[_0x1efb('0x31')]));_0x26b355['where'][_0x1efb('0x48')]=_0x2ae2f6['id'];if(_0x30654f[_0x1efb('0x2c')][_0x1efb('0x49')]){_0x26b355[_0x1efb('0x46')]=_[_0x1efb('0x37')](_0x26b355[_0x1efb('0x46')],{'$or':_[_0x1efb('0x4a')](_0x26b355[_0x1efb('0x33')],function(_0x2d5821){var _0x57252e={};_0x57252e[_0x2d5821]={'$like':'%'+_0x30654f['query']['filter']+'%'};return _0x57252e;})});}if(_0x30654f[_0x1efb('0x2c')]['$gte']){var _0x32f98b=_0x30654f[_0x1efb('0x2c')][_0x1efb('0x4b')][_0x1efb('0x4c')](',');var _0x2708dd={};_0x2708dd[_0x32f98b[0x0]]={'$gte':moment(_0x32f98b[0x1])['format'](_0x1efb('0x4d'))};_0x26b355['where']=_[_0x1efb('0x37')](_0x26b355['where'],_0x2708dd);}_0x26b355=_[_0x1efb('0x37')]({},_0x26b355,_0x30654f['options']);return db['MailMessage'][_0x1efb('0x1a')]({'where':_0x26b355[_0x1efb('0x46')]})['then'](function(_0x584158){_0x29e9a6[_0x1efb('0x1a')]=_0x584158;if(_0x30654f[_0x1efb('0x2c')]['includeAll']){_0x26b355['include']=[{'all':!![]}];}return db['MailMessage'][_0x1efb('0x2a')](_0x26b355);})[_0x1efb('0x1e')](function(_0x4792f4){if(_0x30654f['query']['inlineCss']==='true'){for(var _0x10d1bb=0x0;_0x10d1bb<_0x4792f4[_0x1efb('0x35')];_0x10d1bb++){_0x4792f4[_0x10d1bb][_0x1efb('0x3a')]=juice(_0x4792f4[_0x10d1bb]['body']);}}_0x29e9a6[_0x1efb('0x4e')]=_0x4792f4;return _0x29e9a6;});}})[_0x1efb('0x1e')](respondWithFilteredResult(_0x11687d,_0x26b355))['catch'](handleError(_0x11687d,null));};exports[_0x1efb('0x4f')]=function(_0x5013ba,_0x3e4370){return db[_0x1efb('0x24')][_0x1efb('0x39')]({'where':{'id':_0x5013ba[_0x1efb('0x3e')]['id']}})['then'](handleEntityNotFound(_0x3e4370,null))[_0x1efb('0x1e')](function(_0x2376e2){if(_0x2376e2){return _0x2376e2[_0x1efb('0x50')](_0x5013ba[_0x1efb('0x3a')][_0x1efb('0x3f')],_[_0x1efb('0x40')](_0x5013ba['body'],[_0x1efb('0x3f'),'id'])||{})['spread'](function(){return db[_0x1efb('0x51')]['findAll']({'attributes':['id',_0x1efb('0x21'),'color'],'where':{'id':_0x5013ba[_0x1efb('0x3a')][_0x1efb('0x3f')]}});})[_0x1efb('0x1e')](function(_0x393005){socket[_0x1efb('0x52')]('mailInteractionTags:save',{'id':Number(_0x5013ba[_0x1efb('0x3e')]['id']),'tags':_0x393005||[]});return{'id':Number(_0x5013ba[_0x1efb('0x3e')]['id']),'tags':_0x393005||[]};});}})[_0x1efb('0x1e')](respondWithResult(_0x3e4370,null))['catch'](handleError(_0x3e4370,null));};exports[_0x1efb('0x53')]=function(_0x47ef6a,_0x17c2df){return db[_0x1efb('0x24')]['find']({'where':{'id':_0x47ef6a[_0x1efb('0x3e')]['id']}})[_0x1efb('0x1e')](handleEntityNotFound(_0x17c2df,null))[_0x1efb('0x1e')](function(_0x4af0c0){if(_0x4af0c0){return _0x4af0c0[_0x1efb('0x53')](_0x47ef6a[_0x1efb('0x2c')][_0x1efb('0x3f')]);}})[_0x1efb('0x1e')](respondWithStatusCode(_0x17c2df,null))[_0x1efb('0x2d')](handleError(_0x17c2df,null));};exports['download']=function(_0x3b54bf,_0x291d64){var _0x3ebead=moment()[_0x1efb('0x54')]()[_0x1efb('0x55')]();var _0x1d3c1b=path['join'](config[_0x1efb('0x56')],_0x1efb('0x57'),_0x1efb('0x58'),_0x1efb('0x59'));var _0x5da7e5=path[_0x1efb('0x5a')](config[_0x1efb('0x56')],'server','files','attachments');var _0x3e8036=path['join'](_0x1d3c1b,_0x3ebead);var _0x57470e=util[_0x1efb('0x5b')](_0x1efb('0x5c'),_0x3b54bf['params']['id'],_0x3ebead);var _0x486e53=path['join'](_0x1d3c1b,_0x57470e);var _0x3d4769=[];if(_0x3b54bf[_0x1efb('0x2c')][_0x1efb('0x5d')]){_0x3d4769[_0x1efb('0x5e')]({'model':db[_0x1efb('0x5f')],'as':'Attachments','raw':!![]});}var _0x168e6d=[{'model':db[_0x1efb('0x3d')],'as':_0x1efb('0x60'),'attributes':['id','body',_0x1efb('0x61'),'to','cc',_0x1efb('0x62'),'subject',_0x1efb('0x63')],'where':{'secret':![]},'order':qs[_0x1efb('0x45')]('id'),'include':_0x3d4769}];return db[_0x1efb('0x24')][_0x1efb('0x39')]({'where':{'id':_0x3b54bf[_0x1efb('0x3e')]['id']},'include':_0x168e6d})[_0x1efb('0x1e')](handleEntityNotFound(_0x291d64,null))[_0x1efb('0x1e')](function(_0x54a006){if(_0x54a006&&_0x54a006[_0x1efb('0x60')]){var _0x42ba95=_0x54a006[_0x1efb('0x64')]({'plain':!![]});fs[_0x1efb('0x65')](_0x3e8036);return BPromise[_0x1efb('0x66')](_0x42ba95['Messages'],function(_0x470cd5,_0x524555){var _0x1330d1={'from':_0x470cd5[_0x1efb('0x61')],'to':_0x470cd5['to']||_0x1efb('0x67'),'subject':_0x470cd5[_0x1efb('0x68')],'html':htmlEntities[_0x1efb('0x69')](_0x470cd5['body']),'headers':{'Date':moment(_0x470cd5['createdAt'])[_0x1efb('0x5b')](_0x1efb('0x6a'))},'attachments':[]};if(_0x470cd5['cc']){_0x1330d1[_0x1efb('0x6b')]['Cc']=_0x470cd5['cc'];}if(_0x470cd5[_0x1efb('0x62')]){_0x1330d1['headers']['Bcc']=_0x470cd5[_0x1efb('0x62')];}return new BPromise(function(_0x48fe3c,_0x220bd8){if(_0x470cd5[_0x1efb('0x6c')]){for(var _0x59afd5=0x0;_0x59afd5<_0x470cd5[_0x1efb('0x6c')]['length'];_0x59afd5++){var _0x314dbd=_0x470cd5[_0x1efb('0x6c')][_0x59afd5];var _0x3d03f9=path['join'](_0x5da7e5,_0x314dbd['basename']);if(fs[_0x1efb('0x6d')](_0x3d03f9)){_0x1330d1[_0x1efb('0x5d')][_0x1efb('0x5e')]({'name':_0x314dbd['name'],'contentType':_0x314dbd[_0x1efb('0x27')],'data':fs[_0x1efb('0x6e')](_0x3d03f9)});}}}emlformat[_0x1efb('0x6f')](_0x1330d1,function(_0x564db9,_0x5c36bc){if(_0x564db9)return _0x220bd8(_0x564db9);fs[_0x1efb('0x70')](path[_0x1efb('0x5a')](_0x3e8036,util[_0x1efb('0x5b')](_0x1efb('0x71'),_0x524555)),_0x5c36bc);return _0x48fe3c(_0x5c36bc);});});})[_0x1efb('0x1e')](function(){return new BPromise(function(_0x5d6d67,_0x11475e){zipdir(_0x3e8036,{'saveTo':_0x486e53},function(_0x7d8711,_0x3d5862){if(_0x7d8711)return _0x11475e(_0x7d8711);return _0x5d6d67(_0x3d5862);});})[_0x1efb('0x1e')](function(){return new BPromise(function(_0x2dd8a6,_0x204b7f){rimraf(_0x3e8036,function(_0x2de895){if(_0x2de895)_0x204b7f(_0x2de895);return _0x2dd8a6();});});})[_0x1efb('0x1e')](function(){return _0x291d64[_0x1efb('0x72')](_0x486e53,_0x57470e,function(_0x33dc22){if(!_0x33dc22)fs[_0x1efb('0x73')](_0x486e53);});});});}else{return _0x291d64['sendStatus'](0xc8);}})[_0x1efb('0x2d')](handleError(_0x291d64,null));};
\ No newline at end of file