Built motion from commit 3c2ce842.|2.6.31
[motion2.git] / server / api / mailInteraction / mailInteraction.controller.js
index e383114..d5a4154 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xeae8=['SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','t.id\x20IN\x20?','resolve','i.MailAccountId\x20IS\x20NOT\x20NULL','user','role','agent','i.MailAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','MailInteraction','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','contactName','i.createdAt','i.closed','i.closedAt','i.attach','i.lastMsgDirection','i.subject','i.disposition','i.secondDisposition','i.thirdDisposition','i.to','i.ContactId','i.MailAccountId','i.UserId','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.MailInteractionId\x20IN\x20?','groupBy','MailInteractionId','Setting','enableEmailPreview','all','params','includeAll','include','create','body','destroy','describe','addMessage','ids','omit','getMessages','sort','YYYY-MM-DD\x20HH:mm:ss','options','inlineCss','rows','addTags','setTags','spread','Tag','findAll','emit','mailInteractionTags:save','removeTags','unix','root','server','files','tmp','join','format','transcript-%d-%s.zip','attachments','Attachment','Attachments','bcc','subject','Messages','get','mkdirSync','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','basename','readFileSync','build','writeFileSync','message%d.eml','download','eml-format','rimraf','zip-dir','bluebird','path','squel','juice','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','html-entities','redis','localhost','socket.io-emitter','./mailInteraction.socket','register','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','update','then','end','stack','name','send','Users','map','fullname','TagIds','forEach','Tags','push','MailMessage','findOne','plainBody','-id','lastMsgText','trimStart','catch','waiting','talking','answered','unmanaged','closed','UserId','index','rawAttributes','fieldName','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','order','where','filters','pick','select','field','color','from','tools_tags','u.id','u.fullname','ui.MailInteractionId','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','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','parseSearch','length','conditions','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','split','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?','ContactId','type','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','text','buildExpression','start','some','compact','isEmpty','MailAccountId','i.MailAccountId\x20IN\x20?','concat','createdAt','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','tag','filter','replace','isNumeric','MATCH\x20(i.to,\x20i.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','MATCH\x20(me.plainBody,\x20me.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','i.id','QueryTypes'];(function(_0x4a0472,_0x88fbcf){var _0x2a8efa=function(_0x50ff14){while(--_0x50ff14){_0x4a0472['push'](_0x4a0472['shift']());}};_0x2a8efa(++_0x88fbcf);}(_0xeae8,0x66));var _0x8eae=function(_0x398a34,_0x10a9e2){_0x398a34=_0x398a34-0x0;var _0x316bc2=_0xeae8[_0x398a34];return _0x316bc2;};'use strict';var emlformat=require(_0x8eae('0x0'));var rimraf=require(_0x8eae('0x1'));var zipdir=require(_0x8eae('0x2'));var moment=require('moment');var BPromise=require(_0x8eae('0x3'));var util=require('util');var path=require(_0x8eae('0x4'));var fs=require('fs');var _=require('lodash');var squel=require(_0x8eae('0x5'));var juice=require(_0x8eae('0x6'));var Redis=require(_0x8eae('0x7'));var qs=require(_0x8eae('0x8'));var as=require(_0x8eae('0x9'));var logger=require(_0x8eae('0xa'))(_0x8eae('0xb'));var config=require(_0x8eae('0xc'));var db=require(_0x8eae('0xd'))['db'];var htmlEntities=require(_0x8eae('0xe'));config[_0x8eae('0xf')]=_['defaults'](config['redis'],{'host':_0x8eae('0x10'),'port':0x18eb});var socket=require(_0x8eae('0x11'))(new Redis(config[_0x8eae('0xf')]));require(_0x8eae('0x12'))[_0x8eae('0x13')](socket);function respondWithStatusCode(_0x4aba96,_0x4d3f22){_0x4d3f22=_0x4d3f22||0xcc;return function(_0x4cf0c3){if(_0x4cf0c3){return _0x4aba96[_0x8eae('0x14')](_0x4d3f22);}return _0x4aba96[_0x8eae('0x15')](_0x4d3f22)['end']();};}function respondWithResult(_0x406afc,_0x50e569){_0x50e569=_0x50e569||0xc8;return function(_0xa29afd){if(_0xa29afd){return _0x406afc[_0x8eae('0x15')](_0x50e569)[_0x8eae('0x16')](_0xa29afd);}};}function respondWithFilteredResult(_0x10f61e,_0x14172c){return function(_0x549d19){if(_0x549d19){var _0x16f24a=typeof _0x14172c[_0x8eae('0x17')]===_0x8eae('0x18')&&typeof _0x14172c[_0x8eae('0x19')]===_0x8eae('0x18');var _0x1cec9f=_0x549d19[_0x8eae('0x1a')];var _0x367dfe=_0x16f24a?0x0:_0x14172c[_0x8eae('0x17')];var _0x5324e3=_0x16f24a?_0x549d19['count']:_0x14172c['offset']+_0x14172c[_0x8eae('0x19')];var _0x47c1db;if(_0x5324e3>=_0x1cec9f){_0x5324e3=_0x1cec9f;_0x47c1db=0xc8;}else{_0x47c1db=0xce;}_0x10f61e[_0x8eae('0x15')](_0x47c1db);return _0x10f61e[_0x8eae('0x1b')](_0x8eae('0x1c'),_0x367dfe+'-'+_0x5324e3+'/'+_0x1cec9f)[_0x8eae('0x16')](_0x549d19);}return null;};}function saveUpdates(_0x20213d){return function(_0x173672){if(_0x173672){return _0x173672[_0x8eae('0x1d')](_0x20213d)[_0x8eae('0x1e')](function(_0xfbb712){return _0xfbb712;});}return null;};}function removeEntity(_0xf5df63){return function(_0x4cb7e0){if(_0x4cb7e0){return _0x4cb7e0['destroy']()[_0x8eae('0x1e')](function(){_0xf5df63[_0x8eae('0x15')](0xcc)[_0x8eae('0x1f')]();});}};}function handleEntityNotFound(_0x4d4d8f){return function(_0x1ee7fb){if(!_0x1ee7fb){_0x4d4d8f[_0x8eae('0x14')](0x194);}return _0x1ee7fb;};}function handleError(_0x51fa34,_0x1dc612){_0x1dc612=_0x1dc612||0x1f4;return function(_0x3326b3){logger['error'](_0x3326b3[_0x8eae('0x20')]);if(_0x3326b3[_0x8eae('0x21')]){delete _0x3326b3[_0x8eae('0x21')];}_0x51fa34[_0x8eae('0x15')](_0x1dc612)[_0x8eae('0x22')](_0x3326b3);};}function getInteractionUsers(_0x2bda3a,_0x3761a6){return new BPromise(function(_0x3efe66,_0x14c0c5){try{if(_0x3761a6[_0x2bda3a['id']]){_0x2bda3a[_0x8eae('0x23')]=_[_0x8eae('0x24')](_0x3761a6[_0x2bda3a['id']],function(_0x53733c){return{'id':_0x53733c['id'],'fullname':_0x53733c[_0x8eae('0x25')]};});}}catch(_0xe9a3c5){_0x14c0c5(_0xe9a3c5);}_0x3efe66(_0x2bda3a);});}function getInteractionTags(_0x141940,_0x34dff7){return new BPromise(function(_0x149b83,_0x13a80a){try{if(_0x141940[_0x8eae('0x26')]){_0x141940['Tags']=[];_0x141940[_0x8eae('0x26')]['split'](',')[_0x8eae('0x27')](function(_0xf4f03c){_0x141940[_0x8eae('0x28')][_0x8eae('0x29')](_0x34dff7[_0xf4f03c]);});}delete _0x141940[_0x8eae('0x26')];}catch(_0x541448){_0x13a80a(_0x541448);}_0x149b83(_0x141940);});}function getLastMessageText(_0x52a030){return new BPromise(function(_0x2d50e1,_0x28431c){return db[_0x8eae('0x2a')][_0x8eae('0x2b')]({'where':{'$and':[{'MailInteractionId':_0x52a030['id']},{'$or':[{'direction':'in'},{'$and':[{'direction':'out'},{'secret':![]},{'UserId':{'$ne':null}}]}]}]},'attributes':[_0x8eae('0x2c')],'order':_0x8eae('0x2d'),'raw':!![]})[_0x8eae('0x1e')](function(_0x3273c0){if(_0x3273c0&&_0x3273c0[_0x8eae('0x2c')]){_0x52a030[_0x8eae('0x2e')]=_[_0x8eae('0x2f')](_0x3273c0[_0x8eae('0x2c')]);}_0x2d50e1(_0x52a030);})[_0x8eae('0x30')](function(_0x1bcd2d){_0x28431c(_0x1bcd2d);});});}function updateMailInteraction(_0x3403a2,_0x3c4219,_0x2d6109,_0x2a0b6a){return new BPromise(function(_0x1f247e,_0x3d19f7){return getInteractionUsers(_0x3403a2,_0x2d6109)[_0x8eae('0x1e')](function(_0x6952f3){return getInteractionTags(_0x6952f3,_0x3c4219);})[_0x8eae('0x1e')](function(_0x2fc72a){return getStateInteraction(_0x2fc72a);})[_0x8eae('0x1e')](function(_0x54b216){if(_0x2a0b6a){_0x1f247e(getLastMessageText(_0x54b216));}else{_0x1f247e(_0x54b216);}})[_0x8eae('0x30')](function(_0x36819a){_0x3d19f7(_0x36819a);});});}function getStateInteraction(_0x1c0cce){return new BPromise(function(_0x4bf905){_0x1c0cce[_0x8eae('0x31')]=0x0;_0x1c0cce[_0x8eae('0x32')]=0x0;_0x1c0cce[_0x8eae('0x33')]=0x0;_0x1c0cce[_0x8eae('0x34')]=0x0;_0x1c0cce['total']=0x0;if(!_0x1c0cce[_0x8eae('0x35')]&&!_0x1c0cce['UserId']){_0x1c0cce['waiting']+=0x1;}if(!_0x1c0cce[_0x8eae('0x35')]&&_0x1c0cce[_0x8eae('0x36')]){_0x1c0cce[_0x8eae('0x32')]+=0x1;if(_0x1c0cce[_0x8eae('0x31')]){_0x1c0cce[_0x8eae('0x31')]-=0x1;}}if(_0x1c0cce[_0x8eae('0x35')]&&_0x1c0cce[_0x8eae('0x36')]){_0x1c0cce['answered']+=0x1;if(_0x1c0cce[_0x8eae('0x32')]){_0x1c0cce[_0x8eae('0x32')]-=0x1;}}if(_0x1c0cce['closed']&&!_0x1c0cce['UserId']){_0x1c0cce['unmanaged']+=0x1;if(_0x1c0cce[_0x8eae('0x31')]){_0x1c0cce[_0x8eae('0x31')]-=0x1;}}_0x1c0cce['total']+=0x1;_0x4bf905(_0x1c0cce);});}exports[_0x8eae('0x37')]=function(_0x1a7539,_0x576c00){var _0xe4417d={},_0x2ee9c2={},_0x17305e={'count':0x0,'rows':[]};var _0x11c626=_[_0x8eae('0x24')](db['MailInteraction'][_0x8eae('0x38')],function(_0x13e5b8){return{'name':_0x13e5b8[_0x8eae('0x39')],'type':_0x13e5b8['type'][_0x8eae('0x3a')]};});_0x2ee9c2[_0x8eae('0x3b')]=_['map'](_0x11c626,_0x8eae('0x21'));_0x2ee9c2[_0x8eae('0x3c')]=_[_0x8eae('0x3d')](_0x1a7539[_0x8eae('0x3c')]);_0x2ee9c2['filters']=_[_0x8eae('0x3e')](_0x2ee9c2[_0x8eae('0x3b')],_0x2ee9c2[_0x8eae('0x3c')]);_0xe4417d[_0x8eae('0x3f')]=_['intersection'](_0x2ee9c2[_0x8eae('0x3b')],qs[_0x8eae('0x40')](_0x1a7539[_0x8eae('0x3c')][_0x8eae('0x40')]));_0xe4417d['attributes']=_0xe4417d[_0x8eae('0x3f')]['length']?_0xe4417d[_0x8eae('0x3f')]:_0x2ee9c2['model'];if(!_0x1a7539[_0x8eae('0x3c')][_0x8eae('0x41')]('nolimit')){_0xe4417d[_0x8eae('0x19')]=qs[_0x8eae('0x19')](_0x1a7539[_0x8eae('0x3c')][_0x8eae('0x19')]);_0xe4417d[_0x8eae('0x17')]=qs[_0x8eae('0x17')](_0x1a7539[_0x8eae('0x3c')][_0x8eae('0x17')]);}_0xe4417d[_0x8eae('0x42')]=qs['sort'](_0x1a7539[_0x8eae('0x3c')]['sort']);_0xe4417d[_0x8eae('0x43')]=qs[_0x8eae('0x44')](_[_0x8eae('0x45')](_0x1a7539[_0x8eae('0x3c')],_0x2ee9c2['filters']),_0x11c626);var _0x2a4bc9=[];var _0x32fec2=squel[_0x8eae('0x46')]()[_0x8eae('0x47')]('id')[_0x8eae('0x47')](_0x8eae('0x21'))[_0x8eae('0x47')](_0x8eae('0x48'))[_0x8eae('0x49')](_0x8eae('0x4a'));var _0x319a94=squel['select']()[_0x8eae('0x47')](_0x8eae('0x4b'))['field'](_0x8eae('0x4c'))['field'](_0x8eae('0x4d'))['from'](_0x8eae('0x4e'),'ui')['left_join'](_0x8eae('0x4f'),'u',_0x8eae('0x50'));var _0x470f54=squel[_0x8eae('0x46')]()[_0x8eae('0x49')](_0x8eae('0x51'),'i')[_0x8eae('0x52')](_0x8eae('0x53'),'c',_0x8eae('0x54'))[_0x8eae('0x52')](_0x8eae('0x4f'),'o','o.id\x20=\x20i.UserId')['left_join'](_0x8eae('0x55'),'a',_0x8eae('0x56'))[_0x8eae('0x52')](_0x8eae('0x57'),'me',_0x8eae('0x58'))[_0x8eae('0x52')]('mail_interaction_has_tags','it',_0x8eae('0x59'))[_0x8eae('0x52')](_0x8eae('0x4a'),'t',_0x8eae('0x5a'));var _0x3db9d0=squel[_0x8eae('0x5b')]();var _0x581947=[];var _0x14ec02=squel[_0x8eae('0x5b')]();var _0x4f0e8e;if(_0x1a7539[_0x8eae('0x3c')][_0x8eae('0x5c')]){_0x4f0e8e=as[_0x8eae('0x5d')](_0x1a7539[_0x8eae('0x3c')][_0x8eae('0x5c')]);var _0x1e66f1=_0x4f0e8e['sqlOperator'];for(var _0x3a581a=0x0;_0x3a581a<_0x4f0e8e['conditions'][_0x8eae('0x5e')];_0x3a581a++){var _0x22159e=_0x4f0e8e[_0x8eae('0x5f')][_0x3a581a];var _0x537e25='i';var _0x33a210=_[_0x8eae('0x60')](_0x11c626,[_0x8eae('0x21'),_0x22159e[_0x8eae('0x47')]]);if(!_0x33a210){switch(_0x22159e[_0x8eae('0x47')]){case _0x8eae('0x61'):if(_0x22159e[_0x8eae('0x62')]==0x1){_0x470f54[_0x8eae('0x63')]('`'+_0x22159e[_0x8eae('0x47')]+_0x8eae('0x64'));}else{_0x470f54[_0x8eae('0x63')]('`'+_0x22159e['field']+_0x8eae('0x65'));}break;case _0x8eae('0x66'):if(_0x22159e[_0x8eae('0x67')]===_0x8eae('0x68')){if(_0x22159e[_0x8eae('0x62')][_0x8eae('0x69')]('\x20')[_0x8eae('0x5e')]>0x1){_0x3db9d0[_0x1e66f1](_0x8eae('0x6a'),qs[_0x8eae('0x6b')](_0x22159e[_0x8eae('0x62')]),null);}else{var _0xc17cf2='%'+_0x22159e['value']+'%';_0x3db9d0[_0x1e66f1](_0x8eae('0x6c'),_0xc17cf2,_0xc17cf2,_0xc17cf2);}}else{_0x33a210=_[_0x8eae('0x60')](_0x11c626,[_0x8eae('0x21'),_0x8eae('0x6d')]);_0x22159e[_0x8eae('0x47')]=_0x8eae('0x6d');_0x33cbf8=as['buildExpression'](_0x537e25,_0x33a210[_0x8eae('0x6e')],_0x22159e);_0x3db9d0[_0x1e66f1](_0x33cbf8['text'],_0x33cbf8[_0x8eae('0x62')]['start'],_0x33cbf8[_0x8eae('0x62')][_0x8eae('0x1f')]);}break;case'Tag':var _0x20a577=_0x22159e['value']['split'](',')[_0x8eae('0x24')](function(_0x518a51){return Number(_0x518a51);});_0x20a577[_0x8eae('0x27')](function(_0x4da988){_0x14ec02['or'](_0x8eae('0x6f'),'%,'+_0x4da988+',%');});_0x581947=_['union'](_0x581947,_0x20a577);break;case _0x8eae('0x70'):if(_0x22159e['operator']==='$substring'){_0x3db9d0[_0x1e66f1]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x22159e[_0x8eae('0x62')]+'%',null);}else{_0x33a210=_[_0x8eae('0x60')](_0x11c626,['name',_0x8eae('0x36')]);_0x22159e[_0x8eae('0x47')]=_0x8eae('0x36');_0x33cbf8=as['buildExpression'](_0x537e25,_0x33a210[_0x8eae('0x6e')],_0x22159e);_0x3db9d0[_0x1e66f1](_0x33cbf8['text'],_0x33cbf8[_0x8eae('0x62')]['start'],_0x33cbf8['value'][_0x8eae('0x1f')]);}break;case _0x8eae('0x2c'):_0x33cbf8=as['buildExpression']('me',null,_0x22159e);_0x3db9d0[_0x1e66f1](_0x33cbf8[_0x8eae('0x71')],_0x33cbf8[_0x8eae('0x62')]['start'],_0x33cbf8[_0x8eae('0x62')][_0x8eae('0x1f')]);break;}}else{var _0x33cbf8=as[_0x8eae('0x72')](_0x537e25,_0x33a210[_0x8eae('0x6e')],_0x22159e);_0x3db9d0[_0x1e66f1](_0x33cbf8['text'],_0x33cbf8[_0x8eae('0x62')][_0x8eae('0x73')],_0x33cbf8['value'][_0x8eae('0x1f')]);}}}else{var _0x109896=_(_0x1a7539[_0x8eae('0x3c')])[_0x8eae('0x3d')]()['map'](function(_0x2100c7){return _[_0x8eae('0x74')](_0x11c626,[_0x8eae('0x21'),_0x2100c7])?_0x2100c7:undefined;})[_0x8eae('0x75')]()[_0x8eae('0x62')]();if(!_[_0x8eae('0x76')](_0x109896)){_0x109896[_0x8eae('0x27')](function(_0x324f85){if(_0x324f85===_0x8eae('0x77')){_0x470f54[_0x8eae('0x43')](_0x8eae('0x78'),[][_0x8eae('0x79')](_0x1a7539['query'][_0x324f85]));}else if(_0x324f85===_0x8eae('0x7a')){var _0x11cd28=JSON[_0x8eae('0x7b')](_0x1a7539[_0x8eae('0x3c')][_0x324f85])[_0x8eae('0x7c')];var _0x4e4111=JSON[_0x8eae('0x7b')](_0x1a7539['query'][_0x324f85])['$lte'];_0x470f54[_0x8eae('0x43')](_0x8eae('0x7d'),_0x11cd28,_0x4e4111);}else{if(_0x1a7539[_0x8eae('0x3c')][_0x324f85]===_0x8eae('0x7e')){_0x470f54[_0x8eae('0x43')]('i.'+_0x324f85+_0x8eae('0x7f'));}else{_0x470f54[_0x8eae('0x43')]('i.'+_0x324f85+_0x8eae('0x80'),_0x1a7539[_0x8eae('0x3c')][_0x324f85]);}}});}if(_0x1a7539[_0x8eae('0x3c')][_0x8eae('0x81')]){if(_0x1a7539[_0x8eae('0x3c')]['read']==0x1){_0x470f54[_0x8eae('0x63')]('`unreadMessages`\x20=\x200');}else{_0x470f54['having']('`unreadMessages`\x20>\x200');}}if(_0x1a7539[_0x8eae('0x3c')][_0x8eae('0x82')]){_0x581947=_['isArray'](_0x1a7539[_0x8eae('0x3c')]['tag'])?_0x1a7539['query'][_0x8eae('0x82')]:new Array(_0x1a7539[_0x8eae('0x3c')][_0x8eae('0x82')]);_0x581947[_0x8eae('0x27')](function(_0x36cc6e){_0x14ec02['or'](_0x8eae('0x6f'),'%,'+_0x36cc6e+',%');});}if(_0x1a7539[_0x8eae('0x3c')][_0x8eae('0x83')]){var _0x5135cc=_0x1a7539['query'][_0x8eae('0x83')][_0x8eae('0x84')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x8eae('0x85')](_0x5135cc)){_0x3db9d0['or']('i.id\x20LIKE\x20?',_0x5135cc+'%');}else if(qs['isEmail'](_0x5135cc)){_0x3db9d0['or']('c.email\x20LIKE\x20?',_0x5135cc+'%');}else{_0x3db9d0['or'](_0x8eae('0x86'),qs[_0x8eae('0x6b')](_0x5135cc))['or'](_0x8eae('0x87'),qs[_0x8eae('0x6b')](_0x5135cc));}}}_0x470f54[_0x8eae('0x43')](_0x3db9d0);_0x470f54['group'](_0x8eae('0x88'));var _0x5092fe={'type':db['Sequelize'][_0x8eae('0x89')][_0x8eae('0x8a')],'raw':!![]};var _0x37704b=_0x470f54[_0x8eae('0x8b')]();_0x37704b[_0x8eae('0x47')]('i.id');_0x37704b[_0x8eae('0x47')](_0x8eae('0x8c'),_0x8eae('0x61'));if(_0xe4417d[_0x8eae('0x42')]){_0xe4417d[_0x8eae('0x42')][_0x8eae('0x27')](function(_0x53f549){var _0x10601e=_0x53f549[0x0]==='contactName'?_0x53f549[0x0]:'i.'+_0x53f549[0x0];_0x470f54[_0x8eae('0x42')](_0x10601e,_0x53f549[0x1]===_0x8eae('0x8d')?![]:!![]);});}if(!_[_0x8eae('0x76')](_0x581947)){_0x470f54['having'](_0x14ec02);_0x37704b[_0x8eae('0x43')](_0x8eae('0x8e'),_0x581947);}BPromise[_0x8eae('0x8f')]()['then'](function(){if(!_0x4f0e8e){if(_0x1a7539[_0x8eae('0x3c')][_0x8eae('0x77')])return;_0x37704b['where'](_0x8eae('0x90'));_0x470f54[_0x8eae('0x43')](_0x8eae('0x90'));return;}if(_0x1a7539[_0x8eae('0x91')][_0x8eae('0x92')]!==_0x8eae('0x93'))return;return _0x1a7539['user']['getMailAccounts']({'attributes':['id'],'raw':!![]})[_0x8eae('0x1e')](function(_0x13330e){if(_[_0x8eae('0x76')](_0x13330e)){_0x37704b[_0x8eae('0x43')](_0x8eae('0x94'));_0x470f54[_0x8eae('0x43')](_0x8eae('0x94'));}else{_0x37704b[_0x8eae('0x43')](_0x8eae('0x78'),_[_0x8eae('0x24')](_0x13330e,'id'));_0x470f54['where'](_0x8eae('0x78'),_[_0x8eae('0x24')](_0x13330e,'id'));}});})['then'](function(){if(_0x1a7539['user'][_0x8eae('0x92')]===_0x8eae('0x93')&&!_0x4f0e8e&&!_0x1a7539[_0x8eae('0x3c')]['MailAccountId'])return[];return db[_0x8eae('0x95')][_0x8eae('0x3c')](_0x37704b[_0x8eae('0x96')](),_0x5092fe);})['then'](function(_0x62fe9b){_0x17305e[_0x8eae('0x1a')]=_0x62fe9b[_0x8eae('0x5e')];if(_0x17305e['count']===0x0)return[];return db['sequelize'][_0x8eae('0x3c')](_0x32fec2[_0x8eae('0x96')](),_0x5092fe)[_0x8eae('0x1e')](function(_0x274c91){_0x2a4bc9=_[_0x8eae('0x97')](_0x274c91,'id');_0x5092fe=_[_0x8eae('0x98')](_0x5092fe,{'model':db[_0x8eae('0x99')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1a7539[_0x8eae('0x3c')]['fields']){_0xe4417d[_0x8eae('0x3f')]['forEach'](function(_0x3644d9){_0x470f54[_0x8eae('0x47')]('i.'+_0x3644d9);});}else{_0x470f54['field'](_0x8eae('0x8c'),_0x8eae('0x61'));_0x470f54[_0x8eae('0x47')](_0x8eae('0x9a'),_0x8eae('0x9b'));_0x470f54['field'](_0x8eae('0x9c'),_0x8eae('0x9d'));_0x470f54[_0x8eae('0x47')]('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',_0x8eae('0x9e'));_0x470f54[_0x8eae('0x47')]('i.id');_0x470f54[_0x8eae('0x47')](_0x8eae('0x9f'));_0x470f54[_0x8eae('0x47')]('i.updatedAt');_0x470f54[_0x8eae('0x47')](_0x8eae('0xa0'));_0x470f54[_0x8eae('0x47')](_0x8eae('0xa1'));_0x470f54[_0x8eae('0x47')](_0x8eae('0xa2'));_0x470f54['field']('i.lastMsgAt');_0x470f54[_0x8eae('0x47')](_0x8eae('0xa3'));_0x470f54[_0x8eae('0x47')](_0x8eae('0xa4'));_0x470f54[_0x8eae('0x47')](_0x8eae('0xa5'));_0x470f54['field'](_0x8eae('0xa6'));_0x470f54[_0x8eae('0x47')](_0x8eae('0xa7'));_0x470f54[_0x8eae('0x47')]('i.substatus');_0x470f54[_0x8eae('0x47')](_0x8eae('0xa8'));_0x470f54[_0x8eae('0x47')](_0x8eae('0xa9'));_0x470f54[_0x8eae('0x47')](_0x8eae('0xaa'));_0x470f54[_0x8eae('0x47')](_0x8eae('0xab'));_0x470f54[_0x8eae('0x47')](_0x8eae('0xac'),_0x8eae('0xad'));_0x470f54[_0x8eae('0x47')](_0x8eae('0xae'),_0x8eae('0xaf'));_0x470f54[_0x8eae('0x47')](_0x8eae('0xb0'),_0x8eae('0xb1'));_0x470f54[_0x8eae('0x47')](_0x8eae('0xb2'),_0x8eae('0xb3'));_0x470f54[_0x8eae('0x47')]('c.mobile',_0x8eae('0xb4'));_0x470f54[_0x8eae('0x47')](_0x8eae('0xb5'),_0x8eae('0xb6'));_0x470f54['field'](_0x8eae('0xb7'),'Owner.fullname');_0x470f54[_0x8eae('0x47')](_0x8eae('0xb8'),'Owner.internal');_0x470f54[_0x8eae('0x47')](_0x8eae('0xb9'),_0x8eae('0x26'));}if(_0xe4417d[_0x8eae('0x19')])_0x470f54['limit'](_0xe4417d[_0x8eae('0x19')]);if(_0xe4417d[_0x8eae('0x17')])_0x470f54[_0x8eae('0x17')](_0xe4417d[_0x8eae('0x17')]);return db[_0x8eae('0x95')][_0x8eae('0x3c')](_0x470f54[_0x8eae('0x96')](),_0x5092fe);})['then'](function(_0x542bda){if(_0x542bda[_0x8eae('0x5e')]>0x0)_0x319a94['where'](_0x8eae('0xba'),_['map'](_0x542bda,'id'));return db[_0x8eae('0x95')][_0x8eae('0x3c')](_0x319a94[_0x8eae('0x96')](),_0x5092fe)[_0x8eae('0x1e')](function(_0x27612b){var _0x41a889=_[_0x8eae('0xbb')](_0x27612b,_0x8eae('0xbc'));var _0x3c3379=[];return db[_0x8eae('0xbd')][_0x8eae('0x2b')]({'attributes':[_0x8eae('0xbe')],'raw':!![]})['then'](function(_0x2ac47b){var _0x593d52=_0x2ac47b[_0x8eae('0xbe')];_0x542bda[_0x8eae('0x27')](function(_0x2397a7){_0x3c3379[_0x8eae('0x29')](updateMailInteraction(_0x2397a7,_0x2a4bc9,_0x41a889,_0x593d52));});return BPromise[_0x8eae('0xbf')](_0x3c3379);});});});})[_0x8eae('0x1e')](function(_0x3b36f4){_0x17305e['rows']=_0x3b36f4;return _0x17305e;})[_0x8eae('0x1e')](respondWithFilteredResult(_0x576c00,_0xe4417d))[_0x8eae('0x30')](handleError(_0x576c00,null));};exports['show']=function(_0x2c0e5f,_0x3850c5){var _0x4d5bec={'raw':![],'where':{'id':_0x2c0e5f[_0x8eae('0xc0')]['id']}},_0x580095={};_0x580095['model']=_[_0x8eae('0x3d')](db[_0x8eae('0x99')][_0x8eae('0x38')]);_0x580095[_0x8eae('0x3c')]=_[_0x8eae('0x3d')](_0x2c0e5f['query']);_0x580095[_0x8eae('0x44')]=_[_0x8eae('0x3e')](_0x580095['model'],_0x580095['query']);_0x4d5bec[_0x8eae('0x3f')]=_['intersection'](_0x580095[_0x8eae('0x3b')],qs[_0x8eae('0x40')](_0x2c0e5f[_0x8eae('0x3c')][_0x8eae('0x40')]));_0x4d5bec[_0x8eae('0x3f')]=_0x4d5bec[_0x8eae('0x3f')][_0x8eae('0x5e')]?_0x4d5bec[_0x8eae('0x3f')]:_0x580095[_0x8eae('0x3b')];if(_0x2c0e5f[_0x8eae('0x3c')][_0x8eae('0xc1')]){_0x4d5bec[_0x8eae('0xc2')]=[{'all':!![]}];}_0x4d5bec=_[_0x8eae('0x98')]({},_0x4d5bec,_0x2c0e5f['options']);return db[_0x8eae('0x99')][_0x8eae('0x60')](_0x4d5bec)[_0x8eae('0x1e')](handleEntityNotFound(_0x3850c5,null))[_0x8eae('0x1e')](respondWithResult(_0x3850c5,null))['catch'](handleError(_0x3850c5,null));};exports[_0x8eae('0xc3')]=function(_0x1f6ab6,_0x531cbb){return db[_0x8eae('0x99')][_0x8eae('0xc3')](_0x1f6ab6[_0x8eae('0xc4')],{})['then'](respondWithResult(_0x531cbb,0xc9))[_0x8eae('0x30')](handleError(_0x531cbb,null));};exports['update']=function(_0x10154c,_0x24ae5e){if(_0x10154c[_0x8eae('0xc4')]['id']){delete _0x10154c[_0x8eae('0xc4')]['id'];}return db[_0x8eae('0x99')]['find']({'where':{'id':_0x10154c[_0x8eae('0xc0')]['id']}})['then'](handleEntityNotFound(_0x24ae5e,null))[_0x8eae('0x1e')](saveUpdates(_0x10154c[_0x8eae('0xc4')],null))[_0x8eae('0x1e')](respondWithResult(_0x24ae5e,null))[_0x8eae('0x30')](handleError(_0x24ae5e,null));};exports[_0x8eae('0xc5')]=function(_0x3136d2,_0x34a42f){return db[_0x8eae('0x99')][_0x8eae('0x60')]({'where':{'id':_0x3136d2[_0x8eae('0xc0')]['id']}})[_0x8eae('0x1e')](handleEntityNotFound(_0x34a42f,null))[_0x8eae('0x1e')](removeEntity(_0x34a42f,null))[_0x8eae('0x30')](handleError(_0x34a42f,null));};exports['describe']=function(_0x1208c2,_0x2dfc06){return db[_0x8eae('0x99')][_0x8eae('0xc6')]()[_0x8eae('0x1e')](respondWithResult(_0x2dfc06,null))[_0x8eae('0x30')](handleError(_0x2dfc06,null));};exports[_0x8eae('0xc7')]=function(_0x18a73d,_0x26e03c){return db[_0x8eae('0x2a')][_0x8eae('0x60')]({'where':{'id':_0x18a73d['params']['id']}})['then'](handleEntityNotFound(_0x26e03c,null))[_0x8eae('0x1e')](function(_0x234e3a){if(_0x234e3a){return _0x234e3a[_0x8eae('0xc7')](_0x18a73d[_0x8eae('0xc4')][_0x8eae('0xc8')],_[_0x8eae('0xc9')](_0x18a73d[_0x8eae('0xc4')],[_0x8eae('0xc8'),'id'])||{});}})['then'](respondWithResult(_0x26e03c,null))['catch'](handleError(_0x26e03c,null));};exports[_0x8eae('0xca')]=function(_0x4e0502,_0x591e58){var _0x5cb329={'raw':![],'where':{}};var _0x330573={};var _0x4a3807={'count':0x0,'rows':[]};return db[_0x8eae('0x99')][_0x8eae('0x2b')]({'where':{'id':_0x4e0502['params']['id']}})[_0x8eae('0x1e')](handleEntityNotFound(_0x591e58,null))['then'](function(_0x3865cf){if(_0x3865cf){_0x330573['model']=_[_0x8eae('0x3d')](db[_0x8eae('0x2a')][_0x8eae('0x38')]);_0x330573[_0x8eae('0x3c')]=_['keys'](_0x4e0502[_0x8eae('0x3c')]);_0x330573[_0x8eae('0x44')]=_['intersection'](_0x330573[_0x8eae('0x3b')],_0x330573['query']);_0x5cb329[_0x8eae('0x3f')]=_['intersection'](_0x330573['model'],qs[_0x8eae('0x40')](_0x4e0502[_0x8eae('0x3c')]['fields']));_0x5cb329[_0x8eae('0x3f')]=_0x5cb329[_0x8eae('0x3f')]['length']?_0x5cb329['attributes']:_0x330573[_0x8eae('0x3b')];if(!_0x4e0502[_0x8eae('0x3c')][_0x8eae('0x41')]('nolimit')){_0x5cb329[_0x8eae('0x19')]=qs[_0x8eae('0x19')](_0x4e0502[_0x8eae('0x3c')][_0x8eae('0x19')]);_0x5cb329['offset']=qs[_0x8eae('0x17')](_0x4e0502[_0x8eae('0x3c')][_0x8eae('0x17')]);}_0x5cb329[_0x8eae('0x42')]=qs[_0x8eae('0xcb')](_0x4e0502[_0x8eae('0x3c')]['sort']);_0x5cb329['where']=qs[_0x8eae('0x44')](_[_0x8eae('0x45')](_0x4e0502[_0x8eae('0x3c')],_0x330573['filters']));_0x5cb329[_0x8eae('0x43')][_0x8eae('0xbc')]=_0x3865cf['id'];if(_0x4e0502[_0x8eae('0x3c')][_0x8eae('0x83')]){_0x5cb329[_0x8eae('0x43')]=_[_0x8eae('0x98')](_0x5cb329['where'],{'$or':_[_0x8eae('0x24')](_0x5cb329[_0x8eae('0x3f')],function(_0x5081ea){var _0x397a2d={};_0x397a2d[_0x5081ea]={'$like':'%'+_0x4e0502['query'][_0x8eae('0x83')]+'%'};return _0x397a2d;})});}if(_0x4e0502['query'][_0x8eae('0x7c')]){var _0x41a431=_0x4e0502[_0x8eae('0x3c')][_0x8eae('0x7c')]['split'](',');var _0xbe6dfc={};_0xbe6dfc[_0x41a431[0x0]]={'$gte':moment(_0x41a431[0x1])['format'](_0x8eae('0xcc'))};_0x5cb329['where']=_[_0x8eae('0x98')](_0x5cb329[_0x8eae('0x43')],_0xbe6dfc);}_0x5cb329=_[_0x8eae('0x98')]({},_0x5cb329,_0x4e0502[_0x8eae('0xcd')]);return db[_0x8eae('0x2a')][_0x8eae('0x1a')]({'where':_0x5cb329[_0x8eae('0x43')]})[_0x8eae('0x1e')](function(_0x1757f8){_0x4a3807['count']=_0x1757f8;if(_0x4e0502[_0x8eae('0x3c')][_0x8eae('0xc1')]){_0x5cb329[_0x8eae('0xc2')]=[{'all':!![]}];}return db[_0x8eae('0x2a')]['findAll'](_0x5cb329);})[_0x8eae('0x1e')](function(_0x21a1d9){if(_0x4e0502[_0x8eae('0x3c')][_0x8eae('0xce')]==='true'){for(var _0x2bc8fb=0x0;_0x2bc8fb<_0x21a1d9[_0x8eae('0x5e')];_0x2bc8fb++){_0x21a1d9[_0x2bc8fb][_0x8eae('0xc4')]=juice(_0x21a1d9[_0x2bc8fb][_0x8eae('0xc4')]);}}_0x4a3807[_0x8eae('0xcf')]=_0x21a1d9;return _0x4a3807;});}})[_0x8eae('0x1e')](respondWithFilteredResult(_0x591e58,_0x5cb329))['catch'](handleError(_0x591e58,null));};exports[_0x8eae('0xd0')]=function(_0x3f1cd5,_0x4bc059){return db[_0x8eae('0x99')][_0x8eae('0x60')]({'where':{'id':_0x3f1cd5[_0x8eae('0xc0')]['id']}})[_0x8eae('0x1e')](handleEntityNotFound(_0x4bc059,null))['then'](function(_0x2198cb){if(_0x2198cb){return _0x2198cb[_0x8eae('0xd1')](_0x3f1cd5[_0x8eae('0xc4')][_0x8eae('0xc8')],_['omit'](_0x3f1cd5[_0x8eae('0xc4')],[_0x8eae('0xc8'),'id'])||{})[_0x8eae('0xd2')](function(){return db[_0x8eae('0xd3')][_0x8eae('0xd4')]({'attributes':['id','name','color'],'where':{'id':_0x3f1cd5[_0x8eae('0xc4')][_0x8eae('0xc8')]}});})[_0x8eae('0x1e')](function(_0x191cfd){socket[_0x8eae('0xd5')](_0x8eae('0xd6'),{'id':Number(_0x3f1cd5[_0x8eae('0xc0')]['id']),'tags':_0x191cfd||[]});return{'id':Number(_0x3f1cd5[_0x8eae('0xc0')]['id']),'tags':_0x191cfd||[]};});}})['then'](respondWithResult(_0x4bc059,null))[_0x8eae('0x30')](handleError(_0x4bc059,null));};exports[_0x8eae('0xd7')]=function(_0x4fcd1b,_0x4370ad){return db[_0x8eae('0x99')]['find']({'where':{'id':_0x4fcd1b[_0x8eae('0xc0')]['id']}})[_0x8eae('0x1e')](handleEntityNotFound(_0x4370ad,null))[_0x8eae('0x1e')](function(_0x3d7e52){if(_0x3d7e52){return _0x3d7e52[_0x8eae('0xd7')](_0x4fcd1b[_0x8eae('0x3c')][_0x8eae('0xc8')]);}})['then'](respondWithStatusCode(_0x4370ad,null))['catch'](handleError(_0x4370ad,null));};exports['download']=function(_0x22f0a1,_0x36e128){var _0x2442ae=moment()[_0x8eae('0xd8')]()[_0x8eae('0x96')]();var _0xd0e216=path['join'](config[_0x8eae('0xd9')],_0x8eae('0xda'),_0x8eae('0xdb'),_0x8eae('0xdc'));var _0x543375=path[_0x8eae('0xdd')](config[_0x8eae('0xd9')],'server',_0x8eae('0xdb'),'attachments');var _0x24d3cc=path[_0x8eae('0xdd')](_0xd0e216,_0x2442ae);var _0x3b1374=util[_0x8eae('0xde')](_0x8eae('0xdf'),_0x22f0a1[_0x8eae('0xc0')]['id'],_0x2442ae);var _0x30577e=path['join'](_0xd0e216,_0x3b1374);var _0x3f0f5a=[];if(_0x22f0a1[_0x8eae('0x3c')][_0x8eae('0xe0')]){_0x3f0f5a['push']({'model':db[_0x8eae('0xe1')],'as':_0x8eae('0xe2'),'raw':!![]});}var _0x32b45a=[{'model':db[_0x8eae('0x2a')],'as':'Messages','attributes':['id',_0x8eae('0xc4'),_0x8eae('0x49'),'to','cc',_0x8eae('0xe3'),_0x8eae('0xe4'),_0x8eae('0x7a')],'where':{'secret':![]},'order':qs[_0x8eae('0xcb')]('id'),'include':_0x3f0f5a}];return db[_0x8eae('0x99')]['find']({'where':{'id':_0x22f0a1[_0x8eae('0xc0')]['id']},'include':_0x32b45a})['then'](handleEntityNotFound(_0x36e128,null))[_0x8eae('0x1e')](function(_0xb8de65){if(_0xb8de65&&_0xb8de65[_0x8eae('0xe5')]){var _0x278be2=_0xb8de65[_0x8eae('0xe6')]({'plain':!![]});fs[_0x8eae('0xe7')](_0x24d3cc);return BPromise['each'](_0x278be2[_0x8eae('0xe5')],function(_0x152ceb,_0x4c103c){var _0x535e07={'from':_0x152ceb['from'],'to':_0x152ceb['to'],'subject':_0x152ceb[_0x8eae('0xe4')],'html':htmlEntities['decode'](_0x152ceb[_0x8eae('0xc4')]),'headers':{'Date':moment(_0x152ceb['createdAt'])[_0x8eae('0xde')](_0x8eae('0xe8'))},'attachments':[]};if(_0x152ceb['cc']){_0x535e07[_0x8eae('0xe9')]['Cc']=_0x152ceb['cc'];}if(_0x152ceb[_0x8eae('0xe3')]){_0x535e07[_0x8eae('0xe9')]['Bcc']=_0x152ceb[_0x8eae('0xe3')];}return new BPromise(function(_0xad6a93,_0x46fae5){if(_0x152ceb[_0x8eae('0xe2')]){for(var _0x1c7465=0x0;_0x1c7465<_0x152ceb[_0x8eae('0xe2')]['length'];_0x1c7465++){var _0x3a8c56=_0x152ceb['Attachments'][_0x1c7465];var _0x3d200a=path[_0x8eae('0xdd')](_0x543375,_0x3a8c56[_0x8eae('0xea')]);if(fs['existsSync'](_0x3d200a)){_0x535e07['attachments'][_0x8eae('0x29')]({'name':_0x3a8c56[_0x8eae('0x21')],'contentType':_0x3a8c56[_0x8eae('0x6e')],'data':fs[_0x8eae('0xeb')](_0x3d200a)});}}}emlformat[_0x8eae('0xec')](_0x535e07,function(_0x252959,_0x40cef3){if(_0x252959)return _0x46fae5(_0x252959);fs[_0x8eae('0xed')](path[_0x8eae('0xdd')](_0x24d3cc,util['format'](_0x8eae('0xee'),_0x4c103c)),_0x40cef3);return _0xad6a93(_0x40cef3);});});})[_0x8eae('0x1e')](function(){return new BPromise(function(_0x1d4886,_0x2d8ab7){zipdir(_0x24d3cc,{'saveTo':_0x30577e},function(_0x27e438,_0x190308){if(_0x27e438)return _0x2d8ab7(_0x27e438);return _0x1d4886(_0x190308);});})[_0x8eae('0x1e')](function(){return new BPromise(function(_0x317d47,_0x483fa0){rimraf(_0x24d3cc,function(_0xfb1c09){if(_0xfb1c09)_0x483fa0(_0xfb1c09);return _0x317d47();});});})[_0x8eae('0x1e')](function(){return _0x36e128[_0x8eae('0xef')](_0x30577e,_0x3b1374,function(_0x5df20c){if(!_0x5df20c)fs['unlinkSync'](_0x30577e);});});});}else{return _0x36e128['sendStatus'](0xc8);}})[_0x8eae('0x30')](handleError(_0x36e128,null));};
\ No newline at end of file
+var _0x3007=['map','MailInteraction','fieldName','type','key','getOptions','findAll','mail','query','user','show','params','model','keys','filters','intersection','attributes','fields','includeAll','include','merge','options','find','catch','create','body','describe','addMessage','MailMessage','ids','getMessages','rawAttributes','length','nolimit','order','sort','where','pick','MailInteractionId','filter','$gte','split','format','inlineCss','rows','addTags','setTags','omit','spread','Tag','color','emit','mailInteractionTags:save','removeTags','download','unix','toString','join','server','files','root','attachments','transcript-%d-%s.zip','Attachments','Messages','from','bcc','subject','createdAt','each','missing.recipient@your.company.com','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','basename','existsSync','push','readFileSync','writeFileSync','message%d.eml','eml-format','zip-dir','bluebird','util','path','lodash','juice','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','html-entities','redis','defaults','localhost','end','json','offset','undefined','count','limit','status','Content-Range','then','destroy','sendStatus','error','stack','name','index'];(function(_0x49bba8,_0x3a9f40){var _0x5dca5d=function(_0x526539){while(--_0x526539){_0x49bba8['push'](_0x49bba8['shift']());}};_0x5dca5d(++_0x3a9f40);}(_0x3007,0xc0));var _0x7300=function(_0x4898f0,_0x49fb26){_0x4898f0=_0x4898f0-0x0;var _0x58b576=_0x3007[_0x4898f0];return _0x58b576;};'use strict';var emlformat=require(_0x7300('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x7300('0x1'));var moment=require('moment');var BPromise=require(_0x7300('0x2'));var util=require(_0x7300('0x3'));var path=require(_0x7300('0x4'));var fs=require('fs');var _=require(_0x7300('0x5'));var juice=require(_0x7300('0x6'));var Redis=require(_0x7300('0x7'));var interaction=require('../../components/interaction/service');var qs=require(_0x7300('0x8'));var logger=require(_0x7300('0x9'))(_0x7300('0xa'));var config=require(_0x7300('0xb'));var db=require(_0x7300('0xc'))['db'];var htmlEntities=require(_0x7300('0xd'));config[_0x7300('0xe')]=_[_0x7300('0xf')](config[_0x7300('0xe')],{'host':_0x7300('0x10'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x7300('0xe')]));require('./mailInteraction.socket')['register'](socket);function respondWithStatusCode(_0x245430,_0x1092c9){_0x1092c9=_0x1092c9||0xcc;return function(_0x23bdc5){if(_0x23bdc5){return _0x245430['sendStatus'](_0x1092c9);}return _0x245430['status'](_0x1092c9)[_0x7300('0x11')]();};}function respondWithResult(_0x42afd3,_0x29d8c3){_0x29d8c3=_0x29d8c3||0xc8;return function(_0x51570f){if(_0x51570f){return _0x42afd3['status'](_0x29d8c3)[_0x7300('0x12')](_0x51570f);}};}function respondWithFilteredResult(_0x5e3bbe,_0x3c0c0b){return function(_0x146055){if(_0x146055){var _0x3457f8=typeof _0x3c0c0b[_0x7300('0x13')]===_0x7300('0x14')&&typeof _0x3c0c0b['limit']===_0x7300('0x14');var _0x4c7c4f=_0x146055[_0x7300('0x15')];var _0x2993d5=_0x3457f8?0x0:_0x3c0c0b['offset'];var _0x951503=_0x3457f8?_0x146055[_0x7300('0x15')]:_0x3c0c0b[_0x7300('0x13')]+_0x3c0c0b[_0x7300('0x16')];var _0x43c6b7;if(_0x951503>=_0x4c7c4f){_0x951503=_0x4c7c4f;_0x43c6b7=0xc8;}else{_0x43c6b7=0xce;}_0x5e3bbe[_0x7300('0x17')](_0x43c6b7);return _0x5e3bbe['set'](_0x7300('0x18'),_0x2993d5+'-'+_0x951503+'/'+_0x4c7c4f)[_0x7300('0x12')](_0x146055);}return null;};}function saveUpdates(_0x31719a){return function(_0xff3be0){if(_0xff3be0){return _0xff3be0['update'](_0x31719a)[_0x7300('0x19')](function(_0x47a767){return _0x47a767;});}return null;};}function removeEntity(_0x460283){return function(_0x2a8b41){if(_0x2a8b41){return _0x2a8b41[_0x7300('0x1a')]()['then'](function(){_0x460283[_0x7300('0x17')](0xcc)[_0x7300('0x11')]();});}};}function handleEntityNotFound(_0x5565f4){return function(_0x510d79){if(!_0x510d79){_0x5565f4[_0x7300('0x1b')](0x194);}return _0x510d79;};}function handleError(_0x3a0f8c,_0x3dbafd){_0x3dbafd=_0x3dbafd||0x1f4;return function(_0x165ecb){logger[_0x7300('0x1c')](_0x165ecb[_0x7300('0x1d')]);if(_0x165ecb[_0x7300('0x1e')]){delete _0x165ecb['name'];}_0x3a0f8c[_0x7300('0x17')](_0x3dbafd)['send'](_0x165ecb);};}exports[_0x7300('0x1f')]=function(_0x131842,_0x1716c2){var _0x202dde={};var _0x527369=_[_0x7300('0x20')](db[_0x7300('0x21')]['rawAttributes'],function(_0x356f2a){return{'name':_0x356f2a[_0x7300('0x22')],'type':_0x356f2a[_0x7300('0x23')][_0x7300('0x24')]};});_0x202dde=qs[_0x7300('0x25')](_0x527369,_0x131842);return interaction[_0x7300('0x26')](_0x7300('0x27'),_0x131842[_0x7300('0x28')],_0x131842[_0x7300('0x29')],_0x202dde,_0x527369)[_0x7300('0x19')](respondWithFilteredResult(_0x1716c2,_0x202dde))['catch'](handleError(_0x1716c2,null));};exports[_0x7300('0x2a')]=function(_0x2ae0c1,_0x379a00){var _0x50f520={'raw':![],'where':{'id':_0x2ae0c1[_0x7300('0x2b')]['id']}},_0x4eec17={};_0x4eec17[_0x7300('0x2c')]=_[_0x7300('0x2d')](db[_0x7300('0x21')]['rawAttributes']);_0x4eec17['query']=_[_0x7300('0x2d')](_0x2ae0c1[_0x7300('0x28')]);_0x4eec17[_0x7300('0x2e')]=_[_0x7300('0x2f')](_0x4eec17[_0x7300('0x2c')],_0x4eec17[_0x7300('0x28')]);_0x50f520[_0x7300('0x30')]=_[_0x7300('0x2f')](_0x4eec17[_0x7300('0x2c')],qs['fields'](_0x2ae0c1['query'][_0x7300('0x31')]));_0x50f520[_0x7300('0x30')]=_0x50f520['attributes']['length']?_0x50f520[_0x7300('0x30')]:_0x4eec17[_0x7300('0x2c')];if(_0x2ae0c1['query'][_0x7300('0x32')]){_0x50f520[_0x7300('0x33')]=[{'all':!![]}];}_0x50f520=_[_0x7300('0x34')]({},_0x50f520,_0x2ae0c1[_0x7300('0x35')]);return db[_0x7300('0x21')][_0x7300('0x36')](_0x50f520)[_0x7300('0x19')](handleEntityNotFound(_0x379a00,null))[_0x7300('0x19')](respondWithResult(_0x379a00,null))[_0x7300('0x37')](handleError(_0x379a00,null));};exports[_0x7300('0x38')]=function(_0xad3793,_0x4ead96){return db['MailInteraction'][_0x7300('0x38')](_0xad3793[_0x7300('0x39')],{})[_0x7300('0x19')](respondWithResult(_0x4ead96,0xc9))['catch'](handleError(_0x4ead96,null));};exports['update']=function(_0x378352,_0x287fef){if(_0x378352[_0x7300('0x39')]['id']){delete _0x378352[_0x7300('0x39')]['id'];}return db[_0x7300('0x21')][_0x7300('0x36')]({'where':{'id':_0x378352[_0x7300('0x2b')]['id']}})[_0x7300('0x19')](handleEntityNotFound(_0x287fef,null))[_0x7300('0x19')](saveUpdates(_0x378352[_0x7300('0x39')],null))[_0x7300('0x19')](respondWithResult(_0x287fef,null))[_0x7300('0x37')](handleError(_0x287fef,null));};exports[_0x7300('0x1a')]=function(_0x235606,_0x5814c7){return db['MailInteraction']['find']({'where':{'id':_0x235606[_0x7300('0x2b')]['id']}})['then'](handleEntityNotFound(_0x5814c7,null))[_0x7300('0x19')](removeEntity(_0x5814c7,null))['catch'](handleError(_0x5814c7,null));};exports[_0x7300('0x3a')]=function(_0x239733,_0x41cab6){return db['MailInteraction'][_0x7300('0x3a')]()[_0x7300('0x19')](respondWithResult(_0x41cab6,null))[_0x7300('0x37')](handleError(_0x41cab6,null));};exports[_0x7300('0x3b')]=function(_0x40a978,_0x4dca77){return db[_0x7300('0x3c')]['find']({'where':{'id':_0x40a978['params']['id']}})[_0x7300('0x19')](handleEntityNotFound(_0x4dca77,null))[_0x7300('0x19')](function(_0x49d29c){if(_0x49d29c){return _0x49d29c['addMessage'](_0x40a978[_0x7300('0x39')][_0x7300('0x3d')],_['omit'](_0x40a978[_0x7300('0x39')],['ids','id'])||{});}})[_0x7300('0x19')](respondWithResult(_0x4dca77,null))[_0x7300('0x37')](handleError(_0x4dca77,null));};exports[_0x7300('0x3e')]=function(_0x13978a,_0x2cdce8){var _0x9c86ae={'raw':![],'where':{}};var _0x3caa05={};var _0x2ee94a={'count':0x0,'rows':[]};return db['MailInteraction']['findOne']({'where':{'id':_0x13978a[_0x7300('0x2b')]['id']}})[_0x7300('0x19')](handleEntityNotFound(_0x2cdce8,null))[_0x7300('0x19')](function(_0x1838ac){if(_0x1838ac){_0x3caa05[_0x7300('0x2c')]=_[_0x7300('0x2d')](db[_0x7300('0x3c')][_0x7300('0x3f')]);_0x3caa05[_0x7300('0x28')]=_[_0x7300('0x2d')](_0x13978a[_0x7300('0x28')]);_0x3caa05['filters']=_[_0x7300('0x2f')](_0x3caa05[_0x7300('0x2c')],_0x3caa05[_0x7300('0x28')]);_0x9c86ae['attributes']=_[_0x7300('0x2f')](_0x3caa05[_0x7300('0x2c')],qs[_0x7300('0x31')](_0x13978a[_0x7300('0x28')][_0x7300('0x31')]));_0x9c86ae[_0x7300('0x30')]=_0x9c86ae[_0x7300('0x30')][_0x7300('0x40')]?_0x9c86ae[_0x7300('0x30')]:_0x3caa05[_0x7300('0x2c')];if(!_0x13978a[_0x7300('0x28')]['hasOwnProperty'](_0x7300('0x41'))){_0x9c86ae[_0x7300('0x16')]=qs['limit'](_0x13978a[_0x7300('0x28')][_0x7300('0x16')]);_0x9c86ae[_0x7300('0x13')]=qs[_0x7300('0x13')](_0x13978a[_0x7300('0x28')][_0x7300('0x13')]);}_0x9c86ae[_0x7300('0x42')]=qs['sort'](_0x13978a[_0x7300('0x28')][_0x7300('0x43')]);_0x9c86ae[_0x7300('0x44')]=qs[_0x7300('0x2e')](_[_0x7300('0x45')](_0x13978a[_0x7300('0x28')],_0x3caa05[_0x7300('0x2e')]));_0x9c86ae[_0x7300('0x44')][_0x7300('0x46')]=_0x1838ac['id'];if(_0x13978a[_0x7300('0x28')][_0x7300('0x47')]){_0x9c86ae[_0x7300('0x44')]=_[_0x7300('0x34')](_0x9c86ae[_0x7300('0x44')],{'$or':_[_0x7300('0x20')](_0x9c86ae[_0x7300('0x30')],function(_0x53dad7){var _0x4ea656={};_0x4ea656[_0x53dad7]={'$like':'%'+_0x13978a['query'][_0x7300('0x47')]+'%'};return _0x4ea656;})});}if(_0x13978a[_0x7300('0x28')][_0x7300('0x48')]){var _0x3fdac6=_0x13978a[_0x7300('0x28')][_0x7300('0x48')][_0x7300('0x49')](',');var _0x2c1043={};_0x2c1043[_0x3fdac6[0x0]]={'$gte':moment(_0x3fdac6[0x1])[_0x7300('0x4a')]('YYYY-MM-DD\x20HH:mm:ss')};_0x9c86ae['where']=_[_0x7300('0x34')](_0x9c86ae[_0x7300('0x44')],_0x2c1043);}_0x9c86ae=_['merge']({},_0x9c86ae,_0x13978a[_0x7300('0x35')]);return db[_0x7300('0x3c')][_0x7300('0x15')]({'where':_0x9c86ae[_0x7300('0x44')]})[_0x7300('0x19')](function(_0x49e8d2){_0x2ee94a[_0x7300('0x15')]=_0x49e8d2;if(_0x13978a[_0x7300('0x28')][_0x7300('0x32')]){_0x9c86ae[_0x7300('0x33')]=[{'all':!![]}];}return db[_0x7300('0x3c')][_0x7300('0x26')](_0x9c86ae);})[_0x7300('0x19')](function(_0x2314fc){if(_0x13978a['query'][_0x7300('0x4b')]==='true'){for(var _0x46234c=0x0;_0x46234c<_0x2314fc[_0x7300('0x40')];_0x46234c++){_0x2314fc[_0x46234c][_0x7300('0x39')]=juice(_0x2314fc[_0x46234c][_0x7300('0x39')]);}}_0x2ee94a[_0x7300('0x4c')]=_0x2314fc;return _0x2ee94a;});}})[_0x7300('0x19')](respondWithFilteredResult(_0x2cdce8,_0x9c86ae))[_0x7300('0x37')](handleError(_0x2cdce8,null));};exports[_0x7300('0x4d')]=function(_0x52a9f6,_0x32914a){return db[_0x7300('0x21')][_0x7300('0x36')]({'where':{'id':_0x52a9f6[_0x7300('0x2b')]['id']}})[_0x7300('0x19')](handleEntityNotFound(_0x32914a,null))[_0x7300('0x19')](function(_0x2faad5){if(_0x2faad5){return _0x2faad5[_0x7300('0x4e')](_0x52a9f6[_0x7300('0x39')]['ids'],_[_0x7300('0x4f')](_0x52a9f6[_0x7300('0x39')],[_0x7300('0x3d'),'id'])||{})[_0x7300('0x50')](function(){return db[_0x7300('0x51')]['findAll']({'attributes':['id',_0x7300('0x1e'),_0x7300('0x52')],'where':{'id':_0x52a9f6[_0x7300('0x39')][_0x7300('0x3d')]}});})[_0x7300('0x19')](function(_0x1f31e6){socket[_0x7300('0x53')](_0x7300('0x54'),{'id':Number(_0x52a9f6['params']['id']),'tags':_0x1f31e6||[]});return{'id':Number(_0x52a9f6[_0x7300('0x2b')]['id']),'tags':_0x1f31e6||[]};});}})[_0x7300('0x19')](respondWithResult(_0x32914a,null))[_0x7300('0x37')](handleError(_0x32914a,null));};exports[_0x7300('0x55')]=function(_0x28475a,_0x5729c9){return db[_0x7300('0x21')][_0x7300('0x36')]({'where':{'id':_0x28475a[_0x7300('0x2b')]['id']}})[_0x7300('0x19')](handleEntityNotFound(_0x5729c9,null))[_0x7300('0x19')](function(_0x18d6f1){if(_0x18d6f1){return _0x18d6f1['removeTags'](_0x28475a[_0x7300('0x28')][_0x7300('0x3d')]);}})[_0x7300('0x19')](respondWithStatusCode(_0x5729c9,null))[_0x7300('0x37')](handleError(_0x5729c9,null));};exports[_0x7300('0x56')]=function(_0x447422,_0xb4bb32){var _0x5609b8=moment()[_0x7300('0x57')]()[_0x7300('0x58')]();var _0x2a8be9=path[_0x7300('0x59')](config['root'],_0x7300('0x5a'),_0x7300('0x5b'),'tmp');var _0x204196=path[_0x7300('0x59')](config[_0x7300('0x5c')],_0x7300('0x5a'),_0x7300('0x5b'),_0x7300('0x5d'));var _0x4caac4=path[_0x7300('0x59')](_0x2a8be9,_0x5609b8);var _0x57f708=util[_0x7300('0x4a')](_0x7300('0x5e'),_0x447422['params']['id'],_0x5609b8);var _0x2c9689=path[_0x7300('0x59')](_0x2a8be9,_0x57f708);var _0x358aee=[];if(_0x447422[_0x7300('0x28')][_0x7300('0x5d')]){_0x358aee['push']({'model':db['Attachment'],'as':_0x7300('0x5f'),'raw':!![]});}var _0x2ab44d=[{'model':db['MailMessage'],'as':_0x7300('0x60'),'attributes':['id','body',_0x7300('0x61'),'to','cc',_0x7300('0x62'),_0x7300('0x63'),_0x7300('0x64')],'where':{'secret':![]},'order':qs[_0x7300('0x43')]('id'),'include':_0x358aee}];return db[_0x7300('0x21')]['find']({'where':{'id':_0x447422[_0x7300('0x2b')]['id']},'include':_0x2ab44d})[_0x7300('0x19')](handleEntityNotFound(_0xb4bb32,null))[_0x7300('0x19')](function(_0x3c9d37){if(_0x3c9d37&&_0x3c9d37['Messages']){var _0xf74aec=_0x3c9d37['get']({'plain':!![]});fs['mkdirSync'](_0x4caac4);return BPromise[_0x7300('0x65')](_0xf74aec[_0x7300('0x60')],function(_0x24e6b4,_0x572b93){var _0x586fe2={'from':_0x24e6b4['from'],'to':_0x24e6b4['to']||_0x7300('0x66'),'subject':_0x24e6b4[_0x7300('0x63')],'html':htmlEntities[_0x7300('0x67')](_0x24e6b4['body']),'headers':{'Date':moment(_0x24e6b4[_0x7300('0x64')])[_0x7300('0x4a')](_0x7300('0x68'))},'attachments':[]};if(_0x24e6b4['cc']){_0x586fe2[_0x7300('0x69')]['Cc']=_0x24e6b4['cc'];}if(_0x24e6b4[_0x7300('0x62')]){_0x586fe2[_0x7300('0x69')]['Bcc']=_0x24e6b4[_0x7300('0x62')];}return new BPromise(function(_0x9feedf,_0x1701e5){if(_0x24e6b4[_0x7300('0x5f')]){for(var _0x29e5c1=0x0;_0x29e5c1<_0x24e6b4['Attachments']['length'];_0x29e5c1++){var _0x3043fd=_0x24e6b4[_0x7300('0x5f')][_0x29e5c1];var _0x1dadce=path[_0x7300('0x59')](_0x204196,_0x3043fd[_0x7300('0x6a')]);if(fs[_0x7300('0x6b')](_0x1dadce)){_0x586fe2['attachments'][_0x7300('0x6c')]({'name':_0x3043fd[_0x7300('0x1e')],'contentType':_0x3043fd['type'],'data':fs[_0x7300('0x6d')](_0x1dadce)});}}}emlformat['build'](_0x586fe2,function(_0x18712b,_0x3384ad){if(_0x18712b)return _0x1701e5(_0x18712b);fs[_0x7300('0x6e')](path[_0x7300('0x59')](_0x4caac4,util[_0x7300('0x4a')](_0x7300('0x6f'),_0x572b93)),_0x3384ad);return _0x9feedf(_0x3384ad);});});})[_0x7300('0x19')](function(){return new BPromise(function(_0x4d4bef,_0x5a7037){zipdir(_0x4caac4,{'saveTo':_0x2c9689},function(_0x39e988,_0x2a9fcb){if(_0x39e988)return _0x5a7037(_0x39e988);return _0x4d4bef(_0x2a9fcb);});})['then'](function(){return new BPromise(function(_0x51d74c,_0x3c2f86){rimraf(_0x4caac4,function(_0x54d1de){if(_0x54d1de)_0x3c2f86(_0x54d1de);return _0x51d74c();});});})[_0x7300('0x19')](function(){return _0xb4bb32[_0x7300('0x56')](_0x2c9689,_0x57f708,function(_0x1edfbc){if(!_0x1edfbc)fs['unlinkSync'](_0x2c9689);});});});}else{return _0xb4bb32['sendStatus'](0xc8);}})['catch'](handleError(_0xb4bb32,null));};
\ No newline at end of file