Built motion from commit d5e4af8c.|2.6.23
[motion2.git] / server / api / mailInteraction / mailInteraction.controller.js
index a45c146..01e502a 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xc949=['t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','unreadMessages','value','`\x20>\x200','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?','ContactId','buildExpression','text','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','find','some','compact','isEmpty','MailAccountId','$gte','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','having','`unreadMessages`\x20=\x200','tag','isArray','filter','replace','isNumeric','isEmail','c.email\x20LIKE\x20?','MATCH\x20(i.to,\x20i.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','MATCH\x20(me.plainBody,\x20me.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','i.id','Sequelize','SELECT','clone','contactName','DESC','t.id\x20IN\x20?','resolve','i.MailAccountId\x20IS\x20NOT\x20NULL','role','user','getMailAccounts','i.MailAccountId\x20IS\x20NULL','i.MailAccountId\x20IN\x20?','sequelize','keyBy','merge','MailInteraction','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','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.to','i.MailAccountId','c.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','o.fullname','Owner.fullname','o.internal','toString','ui.MailInteractionId\x20IN\x20?','groupBy','Setting','enableEmailPreview','push','all','rows','show','params','include','options','create','body','describe','addMessage','ids','getMessages','findOne','pick','MailInteractionId','YYYY-MM-DD\x20HH:mm:ss','findAll','inlineCss','addTags','setTags','omit','spread','Tag','mailInteractionTags:save','removeTags','download','unix','root','files','tmp','server','attachments','join','Attachment','Attachments','bcc','subject','Messages','get','each','decode','createdAt','format','headers','basename','existsSync','readFileSync','writeFileSync','message%d.eml','unlinkSync','eml-format','zip-dir','moment','bluebird','util','lodash','squel','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/environment','../../mysqldb','html-entities','redis','defaults','localhost','socket.io-emitter','./mailInteraction.socket','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','update','destroy','then','error','stack','name','send','Users','map','TagIds','Tags','split','forEach','MailMessage','out','plainBody','-id','lastMsgText','trimStart','catch','waiting','talking','answered','unmanaged','total','closed','UserId','rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','select','field','from','u.id','u.fullname','ui.MailInteractionId','user_has_mail_interactions','left_join','users','u.id\x20=\x20ui.UserId','mail_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','a.id\x20=\x20i.MailAccountId','mail_messages','me.MailInteractionId\x20=\x20i.id','it.MailInteractionId\x20=\x20i.id','tools_tags'];(function(_0x52471c,_0x31d912){var _0x3a9659=function(_0x5398ba){while(--_0x5398ba){_0x52471c['push'](_0x52471c['shift']());}};_0x3a9659(++_0x31d912);}(_0xc949,0x181));var _0x9c94=function(_0x43d11d,_0xccff91){_0x43d11d=_0x43d11d-0x0;var _0x38cd08=_0xc949[_0x43d11d];return _0x38cd08;};'use strict';var emlformat=require(_0x9c94('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x9c94('0x1'));var moment=require(_0x9c94('0x2'));var BPromise=require(_0x9c94('0x3'));var util=require(_0x9c94('0x4'));var path=require('path');var fs=require('fs');var _=require(_0x9c94('0x5'));var squel=require(_0x9c94('0x6'));var juice=require('juice');var Redis=require(_0x9c94('0x7'));var qs=require(_0x9c94('0x8'));var as=require(_0x9c94('0x9'));var logger=require(_0x9c94('0xa'))('api');var config=require(_0x9c94('0xb'));var db=require(_0x9c94('0xc'))['db'];var htmlEntities=require(_0x9c94('0xd'));config[_0x9c94('0xe')]=_[_0x9c94('0xf')](config[_0x9c94('0xe')],{'host':_0x9c94('0x10'),'port':0x18eb});var socket=require(_0x9c94('0x11'))(new Redis(config[_0x9c94('0xe')]));require(_0x9c94('0x12'))['register'](socket);function respondWithStatusCode(_0x3dc850,_0x18aa3a){_0x18aa3a=_0x18aa3a||0xcc;return function(_0x14c4ae){if(_0x14c4ae){return _0x3dc850[_0x9c94('0x13')](_0x18aa3a);}return _0x3dc850[_0x9c94('0x14')](_0x18aa3a)[_0x9c94('0x15')]();};}function respondWithResult(_0x3dea2a,_0x423adb){_0x423adb=_0x423adb||0xc8;return function(_0x30f64e){if(_0x30f64e){return _0x3dea2a[_0x9c94('0x14')](_0x423adb)[_0x9c94('0x16')](_0x30f64e);}};}function respondWithFilteredResult(_0x25c444,_0x369d70){return function(_0x15c51c){if(_0x15c51c){var _0x54d956=typeof _0x369d70[_0x9c94('0x17')]==='undefined'&&typeof _0x369d70[_0x9c94('0x18')]===_0x9c94('0x19');var _0x4f0013=_0x15c51c[_0x9c94('0x1a')];var _0x4d6308=_0x54d956?0x0:_0x369d70['offset'];var _0xf4054e=_0x54d956?_0x15c51c['count']:_0x369d70[_0x9c94('0x17')]+_0x369d70[_0x9c94('0x18')];var _0x4d9266;if(_0xf4054e>=_0x4f0013){_0xf4054e=_0x4f0013;_0x4d9266=0xc8;}else{_0x4d9266=0xce;}_0x25c444[_0x9c94('0x14')](_0x4d9266);return _0x25c444[_0x9c94('0x1b')](_0x9c94('0x1c'),_0x4d6308+'-'+_0xf4054e+'/'+_0x4f0013)[_0x9c94('0x16')](_0x15c51c);}return null;};}function saveUpdates(_0x16ef2c){return function(_0xfbcc7c){if(_0xfbcc7c){return _0xfbcc7c[_0x9c94('0x1d')](_0x16ef2c)['then'](function(_0x2c9736){return _0x2c9736;});}return null;};}function removeEntity(_0x39e336){return function(_0x4e2569){if(_0x4e2569){return _0x4e2569[_0x9c94('0x1e')]()[_0x9c94('0x1f')](function(){_0x39e336[_0x9c94('0x14')](0xcc)[_0x9c94('0x15')]();});}};}function handleEntityNotFound(_0x2dcb25){return function(_0x3b1481){if(!_0x3b1481){_0x2dcb25[_0x9c94('0x13')](0x194);}return _0x3b1481;};}function handleError(_0x23cdf5,_0x8fe4fb){_0x8fe4fb=_0x8fe4fb||0x1f4;return function(_0x1b6cca){logger[_0x9c94('0x20')](_0x1b6cca[_0x9c94('0x21')]);if(_0x1b6cca[_0x9c94('0x22')]){delete _0x1b6cca[_0x9c94('0x22')];}_0x23cdf5['status'](_0x8fe4fb)[_0x9c94('0x23')](_0x1b6cca);};}function getInteractionUsers(_0x2cdbf1,_0x5c2647){return new BPromise(function(_0x102130,_0x2c3d25){try{if(_0x5c2647[_0x2cdbf1['id']]){_0x2cdbf1[_0x9c94('0x24')]=_[_0x9c94('0x25')](_0x5c2647[_0x2cdbf1['id']],function(_0x180b09){return{'id':_0x180b09['id'],'fullname':_0x180b09['fullname']};});}}catch(_0xc18230){_0x2c3d25(_0xc18230);}_0x102130(_0x2cdbf1);});}function getInteractionTags(_0x45cf4d,_0x58ac08){return new BPromise(function(_0x248280,_0x4cfb9c){try{if(_0x45cf4d[_0x9c94('0x26')]){_0x45cf4d[_0x9c94('0x27')]=[];_0x45cf4d[_0x9c94('0x26')][_0x9c94('0x28')](',')[_0x9c94('0x29')](function(_0x3f2622){_0x45cf4d[_0x9c94('0x27')]['push'](_0x58ac08[_0x3f2622]);});}delete _0x45cf4d['TagIds'];}catch(_0xc4a819){_0x4cfb9c(_0xc4a819);}_0x248280(_0x45cf4d);});}function getLastMessageText(_0x1878b5){return new BPromise(function(_0x1f732b,_0x4d050f){return db[_0x9c94('0x2a')]['findOne']({'where':{'$and':[{'MailInteractionId':_0x1878b5['id']},{'$or':[{'direction':'in'},{'$and':[{'direction':_0x9c94('0x2b')},{'secret':![]},{'UserId':{'$ne':null}}]}]}]},'attributes':[_0x9c94('0x2c')],'order':_0x9c94('0x2d'),'raw':!![]})['then'](function(_0x514b78){if(_0x514b78&&_0x514b78[_0x9c94('0x2c')]){_0x1878b5[_0x9c94('0x2e')]=_[_0x9c94('0x2f')](_0x514b78['plainBody']);}_0x1f732b(_0x1878b5);})['catch'](function(_0x50a3c1){_0x4d050f(_0x50a3c1);});});}function updateMailInteraction(_0x4aa5a9,_0x229743,_0x49dbf2,_0x125bbf){return new BPromise(function(_0x47780e,_0x593dde){return getInteractionUsers(_0x4aa5a9,_0x49dbf2)['then'](function(_0x2465b5){return getInteractionTags(_0x2465b5,_0x229743);})[_0x9c94('0x1f')](function(_0x3c59ef){return getStateInteraction(_0x3c59ef);})[_0x9c94('0x1f')](function(_0x10a2d9){if(_0x125bbf){_0x47780e(getLastMessageText(_0x10a2d9));}else{_0x47780e(_0x10a2d9);}})[_0x9c94('0x30')](function(_0x265668){_0x593dde(_0x265668);});});}function getStateInteraction(_0x6a164d){return new BPromise(function(_0x2c1e89){_0x6a164d[_0x9c94('0x31')]=0x0;_0x6a164d[_0x9c94('0x32')]=0x0;_0x6a164d[_0x9c94('0x33')]=0x0;_0x6a164d[_0x9c94('0x34')]=0x0;_0x6a164d[_0x9c94('0x35')]=0x0;if(!_0x6a164d[_0x9c94('0x36')]&&!_0x6a164d[_0x9c94('0x37')]){_0x6a164d[_0x9c94('0x31')]+=0x1;}if(!_0x6a164d[_0x9c94('0x36')]&&_0x6a164d['UserId']){_0x6a164d[_0x9c94('0x32')]+=0x1;if(_0x6a164d[_0x9c94('0x31')]){_0x6a164d[_0x9c94('0x31')]-=0x1;}}if(_0x6a164d[_0x9c94('0x36')]&&_0x6a164d[_0x9c94('0x37')]){_0x6a164d[_0x9c94('0x33')]+=0x1;if(_0x6a164d[_0x9c94('0x32')]){_0x6a164d['talking']-=0x1;}}if(_0x6a164d[_0x9c94('0x36')]&&!_0x6a164d['UserId']){_0x6a164d[_0x9c94('0x34')]+=0x1;if(_0x6a164d[_0x9c94('0x31')]){_0x6a164d[_0x9c94('0x31')]-=0x1;}}_0x6a164d[_0x9c94('0x35')]+=0x1;_0x2c1e89(_0x6a164d);});}exports['index']=function(_0x245278,_0x49ca05){var _0x29f77b={},_0x356766={},_0x3912f0={'count':0x0,'rows':[]};var _0x5e3119=_[_0x9c94('0x25')](db['MailInteraction'][_0x9c94('0x38')],function(_0x4e8bf0){return{'name':_0x4e8bf0['fieldName'],'type':_0x4e8bf0[_0x9c94('0x39')][_0x9c94('0x3a')]};});_0x356766[_0x9c94('0x3b')]=_[_0x9c94('0x25')](_0x5e3119,'name');_0x356766[_0x9c94('0x3c')]=_[_0x9c94('0x3d')](_0x245278[_0x9c94('0x3c')]);_0x356766[_0x9c94('0x3e')]=_['intersection'](_0x356766[_0x9c94('0x3b')],_0x356766[_0x9c94('0x3c')]);_0x29f77b['attributes']=_[_0x9c94('0x3f')](_0x356766[_0x9c94('0x3b')],qs[_0x9c94('0x40')](_0x245278['query']['fields']));_0x29f77b[_0x9c94('0x41')]=_0x29f77b[_0x9c94('0x41')][_0x9c94('0x42')]?_0x29f77b[_0x9c94('0x41')]:_0x356766[_0x9c94('0x3b')];if(!_0x245278[_0x9c94('0x3c')][_0x9c94('0x43')](_0x9c94('0x44'))){_0x29f77b[_0x9c94('0x18')]=qs[_0x9c94('0x18')](_0x245278[_0x9c94('0x3c')]['limit']);_0x29f77b[_0x9c94('0x17')]=qs['offset'](_0x245278[_0x9c94('0x3c')][_0x9c94('0x17')]);}_0x29f77b[_0x9c94('0x45')]=qs[_0x9c94('0x46')](_0x245278[_0x9c94('0x3c')][_0x9c94('0x46')]);_0x29f77b[_0x9c94('0x47')]=qs['filters'](_['pick'](_0x245278[_0x9c94('0x3c')],_0x356766[_0x9c94('0x3e')]),_0x5e3119);var _0x2bc288=[];var _0x4c3470=squel[_0x9c94('0x48')]()[_0x9c94('0x49')]('id')['field']('name')['field']('color')[_0x9c94('0x4a')]('tools_tags');var _0x5ccc46=squel[_0x9c94('0x48')]()['field'](_0x9c94('0x4b'))[_0x9c94('0x49')](_0x9c94('0x4c'))[_0x9c94('0x49')](_0x9c94('0x4d'))['from'](_0x9c94('0x4e'),'ui')[_0x9c94('0x4f')](_0x9c94('0x50'),'u',_0x9c94('0x51'));var _0x41226a=squel[_0x9c94('0x48')]()['from'](_0x9c94('0x52'),'i')['left_join'](_0x9c94('0x53'),'c',_0x9c94('0x54'))[_0x9c94('0x4f')]('users','o',_0x9c94('0x55'))[_0x9c94('0x4f')]('mail_accounts','a',_0x9c94('0x56'))['left_join'](_0x9c94('0x57'),'me',_0x9c94('0x58'))['left_join']('mail_interaction_has_tags','it',_0x9c94('0x59'))['left_join'](_0x9c94('0x5a'),'t',_0x9c94('0x5b'));var _0xbad800=squel[_0x9c94('0x5c')]();var _0x5ba416=[];var _0x422a59=squel[_0x9c94('0x5c')]();var _0x4d689a;if(_0x245278['query'][_0x9c94('0x5d')]){_0x4d689a=as[_0x9c94('0x5e')](_0x245278[_0x9c94('0x3c')][_0x9c94('0x5d')]);var _0x158aaa=_0x4d689a[_0x9c94('0x5f')];for(var _0x5140f4=0x0;_0x5140f4<_0x4d689a[_0x9c94('0x60')][_0x9c94('0x42')];_0x5140f4++){var _0x1e60d4=_0x4d689a[_0x9c94('0x60')][_0x5140f4];var _0x3f34f2='i';var _0x18f15e=_['find'](_0x5e3119,[_0x9c94('0x22'),_0x1e60d4['field']]);if(!_0x18f15e){switch(_0x1e60d4[_0x9c94('0x49')]){case _0x9c94('0x61'):if(_0x1e60d4[_0x9c94('0x62')]==0x1){_0x41226a['having']('`'+_0x1e60d4[_0x9c94('0x49')]+'`\x20=\x200');}else{_0x41226a['having']('`'+_0x1e60d4[_0x9c94('0x49')]+_0x9c94('0x63'));}break;case'Contact':if(_0x1e60d4[_0x9c94('0x64')]===_0x9c94('0x65')){if(_0x1e60d4[_0x9c94('0x62')][_0x9c94('0x28')]('\x20')[_0x9c94('0x42')]>0x1){_0xbad800[_0x158aaa](_0x9c94('0x66'),qs[_0x9c94('0x67')](_0x1e60d4[_0x9c94('0x62')]),null);}else{var _0xead975='%'+_0x1e60d4[_0x9c94('0x62')]+'%';_0xbad800[_0x158aaa](_0x9c94('0x68'),_0xead975,_0xead975,_0xead975);}}else{_0x18f15e=_['find'](_0x5e3119,['name',_0x9c94('0x69')]);_0x1e60d4[_0x9c94('0x49')]='ContactId';_0x318046=as[_0x9c94('0x6a')](_0x3f34f2,_0x18f15e[_0x9c94('0x39')],_0x1e60d4);_0xbad800[_0x158aaa](_0x318046[_0x9c94('0x6b')],_0x318046[_0x9c94('0x62')][_0x9c94('0x6c')],_0x318046[_0x9c94('0x62')]['end']);}break;case'Tag':var _0x47d61c=_0x1e60d4[_0x9c94('0x62')]['split'](',')['map'](function(_0x731d58){return Number(_0x731d58);});_0x47d61c[_0x9c94('0x29')](function(_0x37e93e){_0x422a59['or'](_0x9c94('0x6d'),'%,'+_0x37e93e+',%');});_0x5ba416=_[_0x9c94('0x6e')](_0x5ba416,_0x47d61c);break;case _0x9c94('0x6f'):if(_0x1e60d4['operator']===_0x9c94('0x65')){_0xbad800[_0x158aaa]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x1e60d4[_0x9c94('0x62')]+'%',null);}else{_0x18f15e=_[_0x9c94('0x70')](_0x5e3119,['name',_0x9c94('0x37')]);_0x1e60d4[_0x9c94('0x49')]='UserId';_0x318046=as[_0x9c94('0x6a')](_0x3f34f2,_0x18f15e[_0x9c94('0x39')],_0x1e60d4);_0xbad800[_0x158aaa](_0x318046[_0x9c94('0x6b')],_0x318046[_0x9c94('0x62')]['start'],_0x318046[_0x9c94('0x62')][_0x9c94('0x15')]);}break;case'plainBody':_0x318046=as['buildExpression']('me',null,_0x1e60d4);_0xbad800[_0x158aaa](_0x318046[_0x9c94('0x6b')],_0x318046[_0x9c94('0x62')][_0x9c94('0x6c')],_0x318046['value']['end']);break;}}else{var _0x318046=as[_0x9c94('0x6a')](_0x3f34f2,_0x18f15e[_0x9c94('0x39')],_0x1e60d4);_0xbad800[_0x158aaa](_0x318046['text'],_0x318046[_0x9c94('0x62')][_0x9c94('0x6c')],_0x318046[_0x9c94('0x62')][_0x9c94('0x15')]);}}}else{var _0x2c82a0=_(_0x245278[_0x9c94('0x3c')])['keys']()[_0x9c94('0x25')](function(_0x21547d){return _[_0x9c94('0x71')](_0x5e3119,[_0x9c94('0x22'),_0x21547d])?_0x21547d:undefined;})[_0x9c94('0x72')]()[_0x9c94('0x62')]();if(!_[_0x9c94('0x73')](_0x2c82a0)){_0x2c82a0[_0x9c94('0x29')](function(_0x298674){if(_0x298674===_0x9c94('0x74')){_0x41226a[_0x9c94('0x47')]('i.MailAccountId\x20IN\x20?',[]['concat'](_0x245278[_0x9c94('0x3c')][_0x298674]));}else if(_0x298674==='createdAt'){var _0x57ba5d=JSON['parse'](_0x245278[_0x9c94('0x3c')][_0x298674])[_0x9c94('0x75')];var _0x5f4c34=JSON[_0x9c94('0x76')](_0x245278[_0x9c94('0x3c')][_0x298674])[_0x9c94('0x77')];_0x41226a[_0x9c94('0x47')](_0x9c94('0x78'),_0x57ba5d,_0x5f4c34);}else{if(_0x245278['query'][_0x298674]===_0x9c94('0x79')){_0x41226a['where']('i.'+_0x298674+_0x9c94('0x7a'));}else{_0x41226a[_0x9c94('0x47')]('i.'+_0x298674+_0x9c94('0x7b'),_0x245278[_0x9c94('0x3c')][_0x298674]);}}});}if(_0x245278[_0x9c94('0x3c')][_0x9c94('0x7c')]){if(_0x245278[_0x9c94('0x3c')][_0x9c94('0x7c')]==0x1){_0x41226a[_0x9c94('0x7d')](_0x9c94('0x7e'));}else{_0x41226a[_0x9c94('0x7d')]('`unreadMessages`\x20>\x200');}}if(_0x245278[_0x9c94('0x3c')][_0x9c94('0x7f')]){_0x5ba416=_[_0x9c94('0x80')](_0x245278['query'][_0x9c94('0x7f')])?_0x245278[_0x9c94('0x3c')][_0x9c94('0x7f')]:new Array(_0x245278[_0x9c94('0x3c')][_0x9c94('0x7f')]);_0x5ba416[_0x9c94('0x29')](function(_0x13988a){_0x422a59['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x13988a+',%');});}if(_0x245278[_0x9c94('0x3c')][_0x9c94('0x81')]){var _0x24847b=_0x245278['query'][_0x9c94('0x81')][_0x9c94('0x82')]('\x5c','\x5c\x5c')[_0x9c94('0x82')](/'/g,'\x27\x27');if(qs[_0x9c94('0x83')](_0x24847b)){_0xbad800['or']('i.id\x20LIKE\x20?',_0x24847b+'%');}else if(qs[_0x9c94('0x84')](_0x24847b)){_0xbad800['or'](_0x9c94('0x85'),_0x24847b+'%');}else{_0xbad800['or'](_0x9c94('0x86'),qs[_0x9c94('0x67')](_0x24847b))['or'](_0x9c94('0x87'),qs[_0x9c94('0x67')](_0x24847b));}}}_0x41226a['where'](_0xbad800);_0x41226a['group'](_0x9c94('0x88'));var _0x42759f={'type':db[_0x9c94('0x89')]['QueryTypes'][_0x9c94('0x8a')],'raw':!![]};var _0x370007=_0x41226a[_0x9c94('0x8b')]();_0x370007['field'](_0x9c94('0x88'));_0x370007['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x9c94('0x61'));if(_0x29f77b[_0x9c94('0x45')]){_0x29f77b['order'][_0x9c94('0x29')](function(_0x3dc44a){var _0x58b8c3=_0x3dc44a[0x0]===_0x9c94('0x8c')?_0x3dc44a[0x0]:'i.'+_0x3dc44a[0x0];_0x41226a[_0x9c94('0x45')](_0x58b8c3,_0x3dc44a[0x1]===_0x9c94('0x8d')?![]:!![]);});}if(!_[_0x9c94('0x73')](_0x5ba416)){_0x41226a[_0x9c94('0x7d')](_0x422a59);_0x370007[_0x9c94('0x47')](_0x9c94('0x8e'),_0x5ba416);}BPromise[_0x9c94('0x8f')]()[_0x9c94('0x1f')](function(){if(!_0x4d689a){if(_0x245278['query'][_0x9c94('0x74')])return;_0x370007[_0x9c94('0x47')](_0x9c94('0x90'));_0x41226a[_0x9c94('0x47')](_0x9c94('0x90'));return;}if(_0x245278['user'][_0x9c94('0x91')]!=='agent')return;return _0x245278[_0x9c94('0x92')][_0x9c94('0x93')]({'attributes':['id'],'raw':!![]})['then'](function(_0x5cc391){if(_[_0x9c94('0x73')](_0x5cc391)){_0x370007[_0x9c94('0x47')](_0x9c94('0x94'));_0x41226a['where']('i.MailAccountId\x20IS\x20NULL');}else{_0x370007[_0x9c94('0x47')](_0x9c94('0x95'),_[_0x9c94('0x25')](_0x5cc391,'id'));_0x41226a[_0x9c94('0x47')](_0x9c94('0x95'),_[_0x9c94('0x25')](_0x5cc391,'id'));}});})[_0x9c94('0x1f')](function(){if(_0x245278[_0x9c94('0x92')][_0x9c94('0x91')]==='agent'&&!_0x4d689a&&!_0x245278['query']['MailAccountId'])return[];return db['sequelize'][_0x9c94('0x3c')](_0x370007['toString'](),_0x42759f);})[_0x9c94('0x1f')](function(_0x362d99){_0x3912f0[_0x9c94('0x1a')]=_0x362d99['length'];if(_0x3912f0[_0x9c94('0x1a')]===0x0)return[];return db[_0x9c94('0x96')][_0x9c94('0x3c')](_0x4c3470['toString'](),_0x42759f)[_0x9c94('0x1f')](function(_0x3762d3){_0x2bc288=_[_0x9c94('0x97')](_0x3762d3,'id');_0x42759f=_[_0x9c94('0x98')](_0x42759f,{'model':db[_0x9c94('0x99')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x245278['query'][_0x9c94('0x40')]){_0x29f77b[_0x9c94('0x41')][_0x9c94('0x29')](function(_0x3e34a2){_0x41226a[_0x9c94('0x49')]('i.'+_0x3e34a2);});}else{_0x41226a[_0x9c94('0x49')](_0x9c94('0x9a'),_0x9c94('0x61'));_0x41226a[_0x9c94('0x49')](_0x9c94('0x9b'),'Account.key');_0x41226a['field']('a.mandatoryDisposition','Account.mandatoryDisposition');_0x41226a['field'](_0x9c94('0x9c'),_0x9c94('0x8c'));_0x41226a[_0x9c94('0x49')](_0x9c94('0x88'));_0x41226a[_0x9c94('0x49')](_0x9c94('0x9d'));_0x41226a['field'](_0x9c94('0x9e'));_0x41226a[_0x9c94('0x49')](_0x9c94('0x9f'));_0x41226a[_0x9c94('0x49')](_0x9c94('0xa0'));_0x41226a['field'](_0x9c94('0xa1'));_0x41226a[_0x9c94('0x49')](_0x9c94('0xa2'));_0x41226a[_0x9c94('0x49')](_0x9c94('0xa3'));_0x41226a['field'](_0x9c94('0xa4'));_0x41226a[_0x9c94('0x49')](_0x9c94('0xa5'));_0x41226a[_0x9c94('0x49')](_0x9c94('0xa6'));_0x41226a[_0x9c94('0x49')](_0x9c94('0xa7'));_0x41226a[_0x9c94('0x49')]('i.substatus');_0x41226a['field'](_0x9c94('0xa8'));_0x41226a[_0x9c94('0x49')]('i.ContactId');_0x41226a['field'](_0x9c94('0xa9'));_0x41226a['field']('i.UserId');_0x41226a['field'](_0x9c94('0xaa'),'Contact.firstName');_0x41226a[_0x9c94('0x49')](_0x9c94('0xab'),_0x9c94('0xac'));_0x41226a[_0x9c94('0x49')](_0x9c94('0xad'),_0x9c94('0xae'));_0x41226a['field'](_0x9c94('0xaf'),_0x9c94('0xb0'));_0x41226a[_0x9c94('0x49')](_0x9c94('0xb1'),_0x9c94('0xb2'));_0x41226a[_0x9c94('0x49')]('c.fax','Contact.fax');_0x41226a[_0x9c94('0x49')](_0x9c94('0xb3'),_0x9c94('0xb4'));_0x41226a[_0x9c94('0x49')](_0x9c94('0xb5'),'Owner.internal');_0x41226a[_0x9c94('0x49')]('GROUP_CONCAT(DISTINCT\x20t.id)','TagIds');}if(_0x29f77b[_0x9c94('0x18')])_0x41226a[_0x9c94('0x18')](_0x29f77b[_0x9c94('0x18')]);if(_0x29f77b[_0x9c94('0x17')])_0x41226a[_0x9c94('0x17')](_0x29f77b[_0x9c94('0x17')]);return db[_0x9c94('0x96')][_0x9c94('0x3c')](_0x41226a[_0x9c94('0xb6')](),_0x42759f);})[_0x9c94('0x1f')](function(_0x406056){if(_0x406056[_0x9c94('0x42')]>0x0)_0x5ccc46[_0x9c94('0x47')](_0x9c94('0xb7'),_['map'](_0x406056,'id'));return db['sequelize']['query'](_0x5ccc46[_0x9c94('0xb6')](),_0x42759f)[_0x9c94('0x1f')](function(_0x2cf6a3){var _0x28c917=_[_0x9c94('0xb8')](_0x2cf6a3,'MailInteractionId');var _0x28b4db=[];return db[_0x9c94('0xb9')]['findOne']({'attributes':[_0x9c94('0xba')],'raw':!![]})[_0x9c94('0x1f')](function(_0x375808){var _0x5b5c47=_0x375808['enableEmailPreview'];_0x406056[_0x9c94('0x29')](function(_0x2b65f4){_0x28b4db[_0x9c94('0xbb')](updateMailInteraction(_0x2b65f4,_0x2bc288,_0x28c917,_0x5b5c47));});return BPromise[_0x9c94('0xbc')](_0x28b4db);});});});})[_0x9c94('0x1f')](function(_0x15c9c1){_0x3912f0[_0x9c94('0xbd')]=_0x15c9c1;return _0x3912f0;})['then'](respondWithFilteredResult(_0x49ca05,_0x29f77b))[_0x9c94('0x30')](handleError(_0x49ca05,null));};exports[_0x9c94('0xbe')]=function(_0x34d830,_0x3df44c){var _0x3e7a46={'raw':![],'where':{'id':_0x34d830[_0x9c94('0xbf')]['id']}},_0x246aa8={};_0x246aa8['model']=_['keys'](db[_0x9c94('0x99')][_0x9c94('0x38')]);_0x246aa8[_0x9c94('0x3c')]=_[_0x9c94('0x3d')](_0x34d830[_0x9c94('0x3c')]);_0x246aa8[_0x9c94('0x3e')]=_[_0x9c94('0x3f')](_0x246aa8[_0x9c94('0x3b')],_0x246aa8[_0x9c94('0x3c')]);_0x3e7a46[_0x9c94('0x41')]=_['intersection'](_0x246aa8[_0x9c94('0x3b')],qs[_0x9c94('0x40')](_0x34d830[_0x9c94('0x3c')][_0x9c94('0x40')]));_0x3e7a46['attributes']=_0x3e7a46[_0x9c94('0x41')][_0x9c94('0x42')]?_0x3e7a46[_0x9c94('0x41')]:_0x246aa8[_0x9c94('0x3b')];if(_0x34d830[_0x9c94('0x3c')]['includeAll']){_0x3e7a46[_0x9c94('0xc0')]=[{'all':!![]}];}_0x3e7a46=_['merge']({},_0x3e7a46,_0x34d830[_0x9c94('0xc1')]);return db[_0x9c94('0x99')][_0x9c94('0x70')](_0x3e7a46)[_0x9c94('0x1f')](handleEntityNotFound(_0x3df44c,null))['then'](respondWithResult(_0x3df44c,null))[_0x9c94('0x30')](handleError(_0x3df44c,null));};exports[_0x9c94('0xc2')]=function(_0x4c4a99,_0x1331b2){return db[_0x9c94('0x99')][_0x9c94('0xc2')](_0x4c4a99['body'],{})[_0x9c94('0x1f')](respondWithResult(_0x1331b2,0xc9))[_0x9c94('0x30')](handleError(_0x1331b2,null));};exports['update']=function(_0x2d8335,_0x5a6cd5){if(_0x2d8335['body']['id']){delete _0x2d8335[_0x9c94('0xc3')]['id'];}return db['MailInteraction'][_0x9c94('0x70')]({'where':{'id':_0x2d8335[_0x9c94('0xbf')]['id']}})[_0x9c94('0x1f')](handleEntityNotFound(_0x5a6cd5,null))[_0x9c94('0x1f')](saveUpdates(_0x2d8335['body'],null))[_0x9c94('0x1f')](respondWithResult(_0x5a6cd5,null))[_0x9c94('0x30')](handleError(_0x5a6cd5,null));};exports[_0x9c94('0x1e')]=function(_0x19433c,_0x22ca08){return db[_0x9c94('0x99')]['find']({'where':{'id':_0x19433c[_0x9c94('0xbf')]['id']}})['then'](handleEntityNotFound(_0x22ca08,null))[_0x9c94('0x1f')](removeEntity(_0x22ca08,null))[_0x9c94('0x30')](handleError(_0x22ca08,null));};exports[_0x9c94('0xc4')]=function(_0x4c830d,_0x2a944a){return db[_0x9c94('0x99')]['describe']()[_0x9c94('0x1f')](respondWithResult(_0x2a944a,null))[_0x9c94('0x30')](handleError(_0x2a944a,null));};exports[_0x9c94('0xc5')]=function(_0x24189a,_0x4ec391){return db[_0x9c94('0x2a')][_0x9c94('0x70')]({'where':{'id':_0x24189a['params']['id']}})['then'](handleEntityNotFound(_0x4ec391,null))[_0x9c94('0x1f')](function(_0x1b7172){if(_0x1b7172){return _0x1b7172['addMessage'](_0x24189a[_0x9c94('0xc3')][_0x9c94('0xc6')],_['omit'](_0x24189a[_0x9c94('0xc3')],[_0x9c94('0xc6'),'id'])||{});}})[_0x9c94('0x1f')](respondWithResult(_0x4ec391,null))['catch'](handleError(_0x4ec391,null));};exports[_0x9c94('0xc7')]=function(_0x18a772,_0x24e376){var _0x1a7889={'raw':![],'where':{}};var _0x52493d={};var _0x3eec5d={'count':0x0,'rows':[]};return db['MailInteraction'][_0x9c94('0xc8')]({'where':{'id':_0x18a772[_0x9c94('0xbf')]['id']}})[_0x9c94('0x1f')](handleEntityNotFound(_0x24e376,null))[_0x9c94('0x1f')](function(_0x2ce7fd){if(_0x2ce7fd){_0x52493d['model']=_[_0x9c94('0x3d')](db[_0x9c94('0x2a')][_0x9c94('0x38')]);_0x52493d[_0x9c94('0x3c')]=_[_0x9c94('0x3d')](_0x18a772[_0x9c94('0x3c')]);_0x52493d[_0x9c94('0x3e')]=_['intersection'](_0x52493d[_0x9c94('0x3b')],_0x52493d[_0x9c94('0x3c')]);_0x1a7889['attributes']=_[_0x9c94('0x3f')](_0x52493d[_0x9c94('0x3b')],qs[_0x9c94('0x40')](_0x18a772[_0x9c94('0x3c')]['fields']));_0x1a7889[_0x9c94('0x41')]=_0x1a7889[_0x9c94('0x41')][_0x9c94('0x42')]?_0x1a7889[_0x9c94('0x41')]:_0x52493d[_0x9c94('0x3b')];if(!_0x18a772[_0x9c94('0x3c')][_0x9c94('0x43')]('nolimit')){_0x1a7889[_0x9c94('0x18')]=qs[_0x9c94('0x18')](_0x18a772[_0x9c94('0x3c')][_0x9c94('0x18')]);_0x1a7889['offset']=qs[_0x9c94('0x17')](_0x18a772['query'][_0x9c94('0x17')]);}_0x1a7889[_0x9c94('0x45')]=qs[_0x9c94('0x46')](_0x18a772[_0x9c94('0x3c')][_0x9c94('0x46')]);_0x1a7889['where']=qs['filters'](_[_0x9c94('0xc9')](_0x18a772[_0x9c94('0x3c')],_0x52493d[_0x9c94('0x3e')]));_0x1a7889[_0x9c94('0x47')][_0x9c94('0xca')]=_0x2ce7fd['id'];if(_0x18a772[_0x9c94('0x3c')][_0x9c94('0x81')]){_0x1a7889[_0x9c94('0x47')]=_[_0x9c94('0x98')](_0x1a7889[_0x9c94('0x47')],{'$or':_[_0x9c94('0x25')](_0x1a7889[_0x9c94('0x41')],function(_0x6b888a){var _0x3e454a={};_0x3e454a[_0x6b888a]={'$like':'%'+_0x18a772[_0x9c94('0x3c')][_0x9c94('0x81')]+'%'};return _0x3e454a;})});}if(_0x18a772[_0x9c94('0x3c')]['$gte']){var _0x2d1eec=_0x18a772[_0x9c94('0x3c')][_0x9c94('0x75')][_0x9c94('0x28')](',');var _0x54306c={};_0x54306c[_0x2d1eec[0x0]]={'$gte':moment(_0x2d1eec[0x1])['format'](_0x9c94('0xcb'))};_0x1a7889[_0x9c94('0x47')]=_[_0x9c94('0x98')](_0x1a7889[_0x9c94('0x47')],_0x54306c);}_0x1a7889=_[_0x9c94('0x98')]({},_0x1a7889,_0x18a772[_0x9c94('0xc1')]);return db[_0x9c94('0x2a')][_0x9c94('0x1a')]({'where':_0x1a7889[_0x9c94('0x47')]})[_0x9c94('0x1f')](function(_0x41dfa8){_0x3eec5d[_0x9c94('0x1a')]=_0x41dfa8;if(_0x18a772[_0x9c94('0x3c')]['includeAll']){_0x1a7889['include']=[{'all':!![]}];}return db[_0x9c94('0x2a')][_0x9c94('0xcc')](_0x1a7889);})['then'](function(_0x24a1c6){if(_0x18a772['query'][_0x9c94('0xcd')]==='true'){for(var _0x4808ab=0x0;_0x4808ab<_0x24a1c6[_0x9c94('0x42')];_0x4808ab++){_0x24a1c6[_0x4808ab][_0x9c94('0xc3')]=juice(_0x24a1c6[_0x4808ab]['body']);}}_0x3eec5d[_0x9c94('0xbd')]=_0x24a1c6;return _0x3eec5d;});}})['then'](respondWithFilteredResult(_0x24e376,_0x1a7889))[_0x9c94('0x30')](handleError(_0x24e376,null));};exports[_0x9c94('0xce')]=function(_0xa00daa,_0x538b50){return db[_0x9c94('0x99')][_0x9c94('0x70')]({'where':{'id':_0xa00daa['params']['id']}})['then'](handleEntityNotFound(_0x538b50,null))[_0x9c94('0x1f')](function(_0x3f79a3){if(_0x3f79a3){return _0x3f79a3[_0x9c94('0xcf')](_0xa00daa[_0x9c94('0xc3')][_0x9c94('0xc6')],_[_0x9c94('0xd0')](_0xa00daa[_0x9c94('0xc3')],[_0x9c94('0xc6'),'id'])||{})[_0x9c94('0xd1')](function(){return db[_0x9c94('0xd2')][_0x9c94('0xcc')]({'attributes':['id',_0x9c94('0x22'),'color'],'where':{'id':_0xa00daa[_0x9c94('0xc3')][_0x9c94('0xc6')]}});})['then'](function(_0x1f51c2){socket['emit'](_0x9c94('0xd3'),{'id':Number(_0xa00daa[_0x9c94('0xbf')]['id']),'tags':_0x1f51c2||[]});return{'id':Number(_0xa00daa[_0x9c94('0xbf')]['id']),'tags':_0x1f51c2||[]};});}})[_0x9c94('0x1f')](respondWithResult(_0x538b50,null))['catch'](handleError(_0x538b50,null));};exports[_0x9c94('0xd4')]=function(_0x3997b0,_0x4df44c){return db[_0x9c94('0x99')]['find']({'where':{'id':_0x3997b0[_0x9c94('0xbf')]['id']}})[_0x9c94('0x1f')](handleEntityNotFound(_0x4df44c,null))['then'](function(_0x1e41cb){if(_0x1e41cb){return _0x1e41cb[_0x9c94('0xd4')](_0x3997b0['query'][_0x9c94('0xc6')]);}})[_0x9c94('0x1f')](respondWithStatusCode(_0x4df44c,null))[_0x9c94('0x30')](handleError(_0x4df44c,null));};exports[_0x9c94('0xd5')]=function(_0x5cfb07,_0x505f4e){var _0x174d38=moment()[_0x9c94('0xd6')]()[_0x9c94('0xb6')]();var _0x35b749=path['join'](config[_0x9c94('0xd7')],'server',_0x9c94('0xd8'),_0x9c94('0xd9'));var _0x24a07d=path['join'](config[_0x9c94('0xd7')],_0x9c94('0xda'),_0x9c94('0xd8'),_0x9c94('0xdb'));var _0x318aef=path[_0x9c94('0xdc')](_0x35b749,_0x174d38);var _0x325974=util['format']('transcript-%d-%s.zip',_0x5cfb07[_0x9c94('0xbf')]['id'],_0x174d38);var _0x3ec81f=path[_0x9c94('0xdc')](_0x35b749,_0x325974);var _0x291ef1=[];if(_0x5cfb07[_0x9c94('0x3c')][_0x9c94('0xdb')]){_0x291ef1['push']({'model':db[_0x9c94('0xdd')],'as':_0x9c94('0xde'),'raw':!![]});}var _0x5d8d3d=[{'model':db['MailMessage'],'as':'Messages','attributes':['id','body',_0x9c94('0x4a'),'to','cc',_0x9c94('0xdf'),_0x9c94('0xe0'),'createdAt'],'where':{'secret':![]},'order':qs['sort']('id'),'include':_0x291ef1}];return db['MailInteraction'][_0x9c94('0x70')]({'where':{'id':_0x5cfb07[_0x9c94('0xbf')]['id']},'include':_0x5d8d3d})[_0x9c94('0x1f')](handleEntityNotFound(_0x505f4e,null))['then'](function(_0x3fbcd9){if(_0x3fbcd9&&_0x3fbcd9[_0x9c94('0xe1')]){var _0x4e4877=_0x3fbcd9[_0x9c94('0xe2')]({'plain':!![]});fs['mkdirSync'](_0x318aef);return BPromise[_0x9c94('0xe3')](_0x4e4877[_0x9c94('0xe1')],function(_0x1a8581,_0x243b5a){var _0x40f0b9={'from':_0x1a8581[_0x9c94('0x4a')],'to':_0x1a8581['to'],'subject':_0x1a8581[_0x9c94('0xe0')],'html':htmlEntities[_0x9c94('0xe4')](_0x1a8581[_0x9c94('0xc3')]),'headers':{'Date':moment(_0x1a8581[_0x9c94('0xe5')])[_0x9c94('0xe6')]('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x1a8581['cc']){_0x40f0b9[_0x9c94('0xe7')]['Cc']=_0x1a8581['cc'];}if(_0x1a8581[_0x9c94('0xdf')]){_0x40f0b9[_0x9c94('0xe7')]['Bcc']=_0x1a8581[_0x9c94('0xdf')];}return new BPromise(function(_0x38ea96,_0x5aa882){if(_0x1a8581[_0x9c94('0xde')]){for(var _0x21b099=0x0;_0x21b099<_0x1a8581['Attachments']['length'];_0x21b099++){var _0x3af7d0=_0x1a8581[_0x9c94('0xde')][_0x21b099];var _0x351391=path[_0x9c94('0xdc')](_0x24a07d,_0x3af7d0[_0x9c94('0xe8')]);if(fs[_0x9c94('0xe9')](_0x351391)){_0x40f0b9[_0x9c94('0xdb')][_0x9c94('0xbb')]({'name':_0x3af7d0['name'],'contentType':_0x3af7d0[_0x9c94('0x39')],'data':fs[_0x9c94('0xea')](_0x351391)});}}}emlformat['build'](_0x40f0b9,function(_0x41b13d,_0x4b7c46){if(_0x41b13d)return _0x5aa882(_0x41b13d);fs[_0x9c94('0xeb')](path[_0x9c94('0xdc')](_0x318aef,util['format'](_0x9c94('0xec'),_0x243b5a)),_0x4b7c46);return _0x38ea96(_0x4b7c46);});});})[_0x9c94('0x1f')](function(){return new BPromise(function(_0x2a658e,_0x1525c0){zipdir(_0x318aef,{'saveTo':_0x3ec81f},function(_0x1eda4a,_0x2d0177){if(_0x1eda4a)return _0x1525c0(_0x1eda4a);return _0x2a658e(_0x2d0177);});})[_0x9c94('0x1f')](function(){return new BPromise(function(_0x37e7c8,_0x13cdf4){rimraf(_0x318aef,function(_0x173b12){if(_0x173b12)_0x13cdf4(_0x173b12);return _0x37e7c8();});});})[_0x9c94('0x1f')](function(){return _0x505f4e['download'](_0x3ec81f,_0x325974,function(_0x3215c2){if(!_0x3215c2)fs[_0x9c94('0xed')](_0x3ec81f);});});});}else{return _0x505f4e['sendStatus'](0xc8);}})[_0x9c94('0x30')](handleError(_0x505f4e,null));};
\ No newline at end of file
+var _0xfbaa=['body','destroy','describe','addMessage','ids','omit','getMessages','findOne','MailMessage','hasOwnProperty','sort','where','pick','MailInteractionId','filter','$gte','YYYY-MM-DD\x20HH:mm:ss','rows','addTags','setTags','spread','Tag','color','emit','removeTags','download','unix','toString','join','root','server','files','attachments','push','Attachment','Attachments','Messages','from','bcc','subject','createdAt','get','mkdirSync','each','missing.recipient@your.company.com','decode','format','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','basename','readFileSync','build','writeFileSync','message%d.eml','unlinkSync','eml-format','rimraf','zip-dir','moment','util','path','juice','../../components/interaction/service','../../components/parsers/qs','../../config/environment','../../mysqldb','html-entities','defaults','redis','localhost','sendStatus','end','status','json','undefined','count','offset','limit','set','Content-Range','update','then','error','stack','name','send','index','map','MailInteraction','rawAttributes','fieldName','type','getOptions','findAll','mail','query','user','params','keys','filters','model','attributes','intersection','fields','length','includeAll','include','merge','options','find','catch','create'];(function(_0x17e05b,_0x66e4e5){var _0x5cc4b6=function(_0x25a799){while(--_0x25a799){_0x17e05b['push'](_0x17e05b['shift']());}};_0x5cc4b6(++_0x66e4e5);}(_0xfbaa,0x18b));var _0xafba=function(_0x2aec52,_0x59d962){_0x2aec52=_0x2aec52-0x0;var _0x3b8835=_0xfbaa[_0x2aec52];return _0x3b8835;};'use strict';var emlformat=require(_0xafba('0x0'));var rimraf=require(_0xafba('0x1'));var zipdir=require(_0xafba('0x2'));var moment=require(_0xafba('0x3'));var BPromise=require('bluebird');var util=require(_0xafba('0x4'));var path=require(_0xafba('0x5'));var fs=require('fs');var _=require('lodash');var juice=require(_0xafba('0x6'));var Redis=require('ioredis');var interaction=require(_0xafba('0x7'));var qs=require(_0xafba('0x8'));var logger=require('../../config/logger')('api');var config=require(_0xafba('0x9'));var db=require(_0xafba('0xa'))['db'];var htmlEntities=require(_0xafba('0xb'));config['redis']=_[_0xafba('0xc')](config[_0xafba('0xd')],{'host':_0xafba('0xe'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xafba('0xd')]));require('./mailInteraction.socket')['register'](socket);function respondWithStatusCode(_0x159d3b,_0x4ea48e){_0x4ea48e=_0x4ea48e||0xcc;return function(_0x51ed2a){if(_0x51ed2a){return _0x159d3b[_0xafba('0xf')](_0x4ea48e);}return _0x159d3b['status'](_0x4ea48e)[_0xafba('0x10')]();};}function respondWithResult(_0x58434c,_0x3bc9f6){_0x3bc9f6=_0x3bc9f6||0xc8;return function(_0x5e1e9e){if(_0x5e1e9e){return _0x58434c[_0xafba('0x11')](_0x3bc9f6)[_0xafba('0x12')](_0x5e1e9e);}};}function respondWithFilteredResult(_0x3d648d,_0x2ee008){return function(_0x2ccfd1){if(_0x2ccfd1){var _0x59ad8e=typeof _0x2ee008['offset']==='undefined'&&typeof _0x2ee008['limit']===_0xafba('0x13');var _0x525c26=_0x2ccfd1[_0xafba('0x14')];var _0x10540d=_0x59ad8e?0x0:_0x2ee008[_0xafba('0x15')];var _0x372596=_0x59ad8e?_0x2ccfd1[_0xafba('0x14')]:_0x2ee008['offset']+_0x2ee008[_0xafba('0x16')];var _0x1c7b34;if(_0x372596>=_0x525c26){_0x372596=_0x525c26;_0x1c7b34=0xc8;}else{_0x1c7b34=0xce;}_0x3d648d[_0xafba('0x11')](_0x1c7b34);return _0x3d648d[_0xafba('0x17')](_0xafba('0x18'),_0x10540d+'-'+_0x372596+'/'+_0x525c26)[_0xafba('0x12')](_0x2ccfd1);}return null;};}function saveUpdates(_0x4533f3){return function(_0x4964bd){if(_0x4964bd){return _0x4964bd[_0xafba('0x19')](_0x4533f3)[_0xafba('0x1a')](function(_0x590994){return _0x590994;});}return null;};}function removeEntity(_0x50304f){return function(_0x4481e0){if(_0x4481e0){return _0x4481e0['destroy']()[_0xafba('0x1a')](function(){_0x50304f[_0xafba('0x11')](0xcc)[_0xafba('0x10')]();});}};}function handleEntityNotFound(_0x4f7669){return function(_0x494b58){if(!_0x494b58){_0x4f7669[_0xafba('0xf')](0x194);}return _0x494b58;};}function handleError(_0x96c974,_0x3bd1bb){_0x3bd1bb=_0x3bd1bb||0x1f4;return function(_0x11fd1e){logger[_0xafba('0x1b')](_0x11fd1e[_0xafba('0x1c')]);if(_0x11fd1e['name']){delete _0x11fd1e[_0xafba('0x1d')];}_0x96c974[_0xafba('0x11')](_0x3bd1bb)[_0xafba('0x1e')](_0x11fd1e);};}exports[_0xafba('0x1f')]=function(_0x304ab8,_0x12783e){var _0x4d4838={};var _0x24c39c=_[_0xafba('0x20')](db[_0xafba('0x21')][_0xafba('0x22')],function(_0x12a492){return{'name':_0x12a492[_0xafba('0x23')],'type':_0x12a492[_0xafba('0x24')]['key']};});_0x4d4838=qs[_0xafba('0x25')](_0x24c39c,_0x304ab8);return interaction[_0xafba('0x26')](_0xafba('0x27'),_0x304ab8[_0xafba('0x28')],_0x304ab8[_0xafba('0x29')],_0x4d4838,_0x24c39c)[_0xafba('0x1a')](respondWithFilteredResult(_0x12783e,_0x4d4838))['catch'](handleError(_0x12783e,null));};exports['show']=function(_0x19012b,_0x2d7e9d){var _0x406296={'raw':![],'where':{'id':_0x19012b[_0xafba('0x2a')]['id']}},_0xd6fe59={};_0xd6fe59['model']=_[_0xafba('0x2b')](db[_0xafba('0x21')][_0xafba('0x22')]);_0xd6fe59['query']=_[_0xafba('0x2b')](_0x19012b[_0xafba('0x28')]);_0xd6fe59[_0xafba('0x2c')]=_['intersection'](_0xd6fe59[_0xafba('0x2d')],_0xd6fe59[_0xafba('0x28')]);_0x406296[_0xafba('0x2e')]=_[_0xafba('0x2f')](_0xd6fe59[_0xafba('0x2d')],qs['fields'](_0x19012b[_0xafba('0x28')][_0xafba('0x30')]));_0x406296[_0xafba('0x2e')]=_0x406296[_0xafba('0x2e')][_0xafba('0x31')]?_0x406296[_0xafba('0x2e')]:_0xd6fe59[_0xafba('0x2d')];if(_0x19012b[_0xafba('0x28')][_0xafba('0x32')]){_0x406296[_0xafba('0x33')]=[{'all':!![]}];}_0x406296=_[_0xafba('0x34')]({},_0x406296,_0x19012b[_0xafba('0x35')]);return db[_0xafba('0x21')][_0xafba('0x36')](_0x406296)[_0xafba('0x1a')](handleEntityNotFound(_0x2d7e9d,null))[_0xafba('0x1a')](respondWithResult(_0x2d7e9d,null))[_0xafba('0x37')](handleError(_0x2d7e9d,null));};exports['create']=function(_0x31ef5c,_0x3dd757){return db[_0xafba('0x21')][_0xafba('0x38')](_0x31ef5c[_0xafba('0x39')],{})['then'](respondWithResult(_0x3dd757,0xc9))[_0xafba('0x37')](handleError(_0x3dd757,null));};exports['update']=function(_0x52ffac,_0xbb48ba){if(_0x52ffac[_0xafba('0x39')]['id']){delete _0x52ffac[_0xafba('0x39')]['id'];}return db['MailInteraction'][_0xafba('0x36')]({'where':{'id':_0x52ffac[_0xafba('0x2a')]['id']}})[_0xafba('0x1a')](handleEntityNotFound(_0xbb48ba,null))[_0xafba('0x1a')](saveUpdates(_0x52ffac['body'],null))[_0xafba('0x1a')](respondWithResult(_0xbb48ba,null))[_0xafba('0x37')](handleError(_0xbb48ba,null));};exports[_0xafba('0x3a')]=function(_0x1ee5b8,_0x8aff40){return db['MailInteraction'][_0xafba('0x36')]({'where':{'id':_0x1ee5b8['params']['id']}})[_0xafba('0x1a')](handleEntityNotFound(_0x8aff40,null))[_0xafba('0x1a')](removeEntity(_0x8aff40,null))[_0xafba('0x37')](handleError(_0x8aff40,null));};exports[_0xafba('0x3b')]=function(_0x3ab1d7,_0x3dcd6a){return db['MailInteraction'][_0xafba('0x3b')]()[_0xafba('0x1a')](respondWithResult(_0x3dcd6a,null))[_0xafba('0x37')](handleError(_0x3dcd6a,null));};exports['addMessage']=function(_0x595be5,_0x3bb4dc){return db['MailMessage']['find']({'where':{'id':_0x595be5[_0xafba('0x2a')]['id']}})[_0xafba('0x1a')](handleEntityNotFound(_0x3bb4dc,null))['then'](function(_0x58ef95){if(_0x58ef95){return _0x58ef95[_0xafba('0x3c')](_0x595be5[_0xafba('0x39')][_0xafba('0x3d')],_[_0xafba('0x3e')](_0x595be5[_0xafba('0x39')],[_0xafba('0x3d'),'id'])||{});}})[_0xafba('0x1a')](respondWithResult(_0x3bb4dc,null))['catch'](handleError(_0x3bb4dc,null));};exports[_0xafba('0x3f')]=function(_0xf615f2,_0x4fe707){var _0x5777e4={'raw':![],'where':{}};var _0x5e4acf={};var _0x1eeef3={'count':0x0,'rows':[]};return db[_0xafba('0x21')][_0xafba('0x40')]({'where':{'id':_0xf615f2[_0xafba('0x2a')]['id']}})[_0xafba('0x1a')](handleEntityNotFound(_0x4fe707,null))[_0xafba('0x1a')](function(_0x1c4e90){if(_0x1c4e90){_0x5e4acf[_0xafba('0x2d')]=_[_0xafba('0x2b')](db[_0xafba('0x41')][_0xafba('0x22')]);_0x5e4acf['query']=_[_0xafba('0x2b')](_0xf615f2[_0xafba('0x28')]);_0x5e4acf[_0xafba('0x2c')]=_['intersection'](_0x5e4acf[_0xafba('0x2d')],_0x5e4acf[_0xafba('0x28')]);_0x5777e4[_0xafba('0x2e')]=_[_0xafba('0x2f')](_0x5e4acf[_0xafba('0x2d')],qs['fields'](_0xf615f2[_0xafba('0x28')]['fields']));_0x5777e4[_0xafba('0x2e')]=_0x5777e4[_0xafba('0x2e')]['length']?_0x5777e4[_0xafba('0x2e')]:_0x5e4acf['model'];if(!_0xf615f2[_0xafba('0x28')][_0xafba('0x42')]('nolimit')){_0x5777e4[_0xafba('0x16')]=qs['limit'](_0xf615f2['query'][_0xafba('0x16')]);_0x5777e4[_0xafba('0x15')]=qs[_0xafba('0x15')](_0xf615f2['query'][_0xafba('0x15')]);}_0x5777e4['order']=qs[_0xafba('0x43')](_0xf615f2[_0xafba('0x28')][_0xafba('0x43')]);_0x5777e4[_0xafba('0x44')]=qs[_0xafba('0x2c')](_[_0xafba('0x45')](_0xf615f2[_0xafba('0x28')],_0x5e4acf[_0xafba('0x2c')]));_0x5777e4['where'][_0xafba('0x46')]=_0x1c4e90['id'];if(_0xf615f2[_0xafba('0x28')][_0xafba('0x47')]){_0x5777e4[_0xafba('0x44')]=_[_0xafba('0x34')](_0x5777e4['where'],{'$or':_[_0xafba('0x20')](_0x5777e4[_0xafba('0x2e')],function(_0x52cc58){var _0xee790b={};_0xee790b[_0x52cc58]={'$like':'%'+_0xf615f2[_0xafba('0x28')]['filter']+'%'};return _0xee790b;})});}if(_0xf615f2[_0xafba('0x28')][_0xafba('0x48')]){var _0x4adfb8=_0xf615f2[_0xafba('0x28')][_0xafba('0x48')]['split'](',');var _0xf7512d={};_0xf7512d[_0x4adfb8[0x0]]={'$gte':moment(_0x4adfb8[0x1])['format'](_0xafba('0x49'))};_0x5777e4[_0xafba('0x44')]=_[_0xafba('0x34')](_0x5777e4[_0xafba('0x44')],_0xf7512d);}_0x5777e4=_['merge']({},_0x5777e4,_0xf615f2[_0xafba('0x35')]);return db[_0xafba('0x41')][_0xafba('0x14')]({'where':_0x5777e4['where']})[_0xafba('0x1a')](function(_0x47dddc){_0x1eeef3[_0xafba('0x14')]=_0x47dddc;if(_0xf615f2[_0xafba('0x28')]['includeAll']){_0x5777e4[_0xafba('0x33')]=[{'all':!![]}];}return db[_0xafba('0x41')][_0xafba('0x26')](_0x5777e4);})[_0xafba('0x1a')](function(_0x31daab){if(_0xf615f2[_0xafba('0x28')]['inlineCss']==='true'){for(var _0xe33761=0x0;_0xe33761<_0x31daab['length'];_0xe33761++){_0x31daab[_0xe33761][_0xafba('0x39')]=juice(_0x31daab[_0xe33761]['body']);}}_0x1eeef3[_0xafba('0x4a')]=_0x31daab;return _0x1eeef3;});}})['then'](respondWithFilteredResult(_0x4fe707,_0x5777e4))[_0xafba('0x37')](handleError(_0x4fe707,null));};exports[_0xafba('0x4b')]=function(_0x372731,_0x339028){return db[_0xafba('0x21')][_0xafba('0x36')]({'where':{'id':_0x372731[_0xafba('0x2a')]['id']}})['then'](handleEntityNotFound(_0x339028,null))[_0xafba('0x1a')](function(_0x25b13b){if(_0x25b13b){return _0x25b13b[_0xafba('0x4c')](_0x372731['body'][_0xafba('0x3d')],_[_0xafba('0x3e')](_0x372731[_0xafba('0x39')],['ids','id'])||{})[_0xafba('0x4d')](function(){return db[_0xafba('0x4e')][_0xafba('0x26')]({'attributes':['id',_0xafba('0x1d'),_0xafba('0x4f')],'where':{'id':_0x372731[_0xafba('0x39')]['ids']}});})[_0xafba('0x1a')](function(_0x3e2d59){socket[_0xafba('0x50')]('mailInteractionTags:save',{'id':Number(_0x372731[_0xafba('0x2a')]['id']),'tags':_0x3e2d59||[]});return{'id':Number(_0x372731[_0xafba('0x2a')]['id']),'tags':_0x3e2d59||[]};});}})[_0xafba('0x1a')](respondWithResult(_0x339028,null))['catch'](handleError(_0x339028,null));};exports[_0xafba('0x51')]=function(_0x3e228e,_0xe48230){return db[_0xafba('0x21')]['find']({'where':{'id':_0x3e228e[_0xafba('0x2a')]['id']}})[_0xafba('0x1a')](handleEntityNotFound(_0xe48230,null))['then'](function(_0x2a4da4){if(_0x2a4da4){return _0x2a4da4[_0xafba('0x51')](_0x3e228e[_0xafba('0x28')][_0xafba('0x3d')]);}})[_0xafba('0x1a')](respondWithStatusCode(_0xe48230,null))[_0xafba('0x37')](handleError(_0xe48230,null));};exports[_0xafba('0x52')]=function(_0x394736,_0x274f66){var _0x18db10=moment()[_0xafba('0x53')]()[_0xafba('0x54')]();var _0x2a60ae=path[_0xafba('0x55')](config[_0xafba('0x56')],_0xafba('0x57'),'files','tmp');var _0x53c1fe=path['join'](config[_0xafba('0x56')],'server',_0xafba('0x58'),_0xafba('0x59'));var _0x4a7d5b=path['join'](_0x2a60ae,_0x18db10);var _0x5cbf70=util['format']('transcript-%d-%s.zip',_0x394736['params']['id'],_0x18db10);var _0x6b2c15=path['join'](_0x2a60ae,_0x5cbf70);var _0x47f2b3=[];if(_0x394736[_0xafba('0x28')][_0xafba('0x59')]){_0x47f2b3[_0xafba('0x5a')]({'model':db[_0xafba('0x5b')],'as':_0xafba('0x5c'),'raw':!![]});}var _0x28faae=[{'model':db[_0xafba('0x41')],'as':_0xafba('0x5d'),'attributes':['id',_0xafba('0x39'),_0xafba('0x5e'),'to','cc',_0xafba('0x5f'),_0xafba('0x60'),_0xafba('0x61')],'where':{'secret':![]},'order':qs['sort']('id'),'include':_0x47f2b3}];return db[_0xafba('0x21')][_0xafba('0x36')]({'where':{'id':_0x394736['params']['id']},'include':_0x28faae})[_0xafba('0x1a')](handleEntityNotFound(_0x274f66,null))[_0xafba('0x1a')](function(_0x1d7df4){if(_0x1d7df4&&_0x1d7df4[_0xafba('0x5d')]){var _0x3b0182=_0x1d7df4[_0xafba('0x62')]({'plain':!![]});fs[_0xafba('0x63')](_0x4a7d5b);return BPromise[_0xafba('0x64')](_0x3b0182[_0xafba('0x5d')],function(_0x19c009,_0x4bee00){var _0x559106={'from':_0x19c009[_0xafba('0x5e')],'to':_0x19c009['to']||_0xafba('0x65'),'subject':_0x19c009[_0xafba('0x60')],'html':htmlEntities[_0xafba('0x66')](_0x19c009[_0xafba('0x39')]),'headers':{'Date':moment(_0x19c009[_0xafba('0x61')])[_0xafba('0x67')](_0xafba('0x68'))},'attachments':[]};if(_0x19c009['cc']){_0x559106['headers']['Cc']=_0x19c009['cc'];}if(_0x19c009['bcc']){_0x559106[_0xafba('0x69')][_0xafba('0x6a')]=_0x19c009[_0xafba('0x5f')];}return new BPromise(function(_0x386948,_0x4e6e75){if(_0x19c009['Attachments']){for(var _0x4559b3=0x0;_0x4559b3<_0x19c009[_0xafba('0x5c')]['length'];_0x4559b3++){var _0x485ab4=_0x19c009[_0xafba('0x5c')][_0x4559b3];var _0x5d5a66=path[_0xafba('0x55')](_0x53c1fe,_0x485ab4[_0xafba('0x6b')]);if(fs['existsSync'](_0x5d5a66)){_0x559106[_0xafba('0x59')][_0xafba('0x5a')]({'name':_0x485ab4[_0xafba('0x1d')],'contentType':_0x485ab4['type'],'data':fs[_0xafba('0x6c')](_0x5d5a66)});}}}emlformat[_0xafba('0x6d')](_0x559106,function(_0x1f977d,_0x260e15){if(_0x1f977d)return _0x4e6e75(_0x1f977d);fs[_0xafba('0x6e')](path[_0xafba('0x55')](_0x4a7d5b,util[_0xafba('0x67')](_0xafba('0x6f'),_0x4bee00)),_0x260e15);return _0x386948(_0x260e15);});});})[_0xafba('0x1a')](function(){return new BPromise(function(_0x192f49,_0x4946ff){zipdir(_0x4a7d5b,{'saveTo':_0x6b2c15},function(_0x452e40,_0x524cdb){if(_0x452e40)return _0x4946ff(_0x452e40);return _0x192f49(_0x524cdb);});})[_0xafba('0x1a')](function(){return new BPromise(function(_0x4670ba,_0x22c756){rimraf(_0x4a7d5b,function(_0xbcbd17){if(_0xbcbd17)_0x22c756(_0xbcbd17);return _0x4670ba();});});})[_0xafba('0x1a')](function(){return _0x274f66['download'](_0x6b2c15,_0x5cbf70,function(_0x526802){if(!_0x526802)fs[_0xafba('0x70')](_0x6b2c15);});});});}else{return _0x274f66[_0xafba('0xf')](0xc8);}})[_0xafba('0x37')](handleError(_0x274f66,null));};
\ No newline at end of file