Built motion from commit 97153652.|2.6.26
[motion2.git] / server / api / mailInteraction / mailInteraction.controller.js
index b96f8b8..4658697 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x5bbb=['i.UserId','c.firstName','Contact.firstName','Contact.lastName','c.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.MailInteractionId\x20IN\x20?','groupBy','MailInteractionId','enableEmailPreview','all','rows','show','params','rawAttributes','includeAll','include','options','create','body','destroy','MailMessage','addMessage','omit','ids','YYYY-MM-DD\x20HH:mm:ss','findAll','inlineCss','true','addTags','setTags','emit','mailInteractionTags:save','removeTags','download','unix','join','server','tmp','root','files','attachments','format','transcript-%d-%s.zip','Messages','bcc','createdAt','get','mkdirSync','each','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','Attachments','readFileSync','writeFileSync','message%d.eml','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','fs-extra','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','./mailInteraction.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','update','then','error','stack','Users','map','TagIds','Tags','forEach','push','findOne','out','plainBody','-id','lastMsgText','catch','index','MailInteraction','model','name','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','select','field','color','tools_tags','u.id','u.fullname','from','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','mail_accounts','a.id\x20=\x20i.MailAccountId','mail_messages','me.MailInteractionId\x20=\x20i.id','mail_interaction_has_tags','t.id\x20=\x20it.TagId','expr','search','sqlOperator','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)','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','type','text','Tag','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','start','keys','some','compact','isEmpty','i.MailAccountId\x20IN\x20?','concat','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','\x20=\x20?','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','isEmail','c.email\x20LIKE\x20?','MATCH\x20(i.to,\x20i.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','i.id','QueryTypes','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','MailAccountId','i.MailAccountId\x20IS\x20NOT\x20NULL','user','agent','getMailAccounts','i.MailAccountId\x20IS\x20NULL','sequelize','toString','merge','a.key','Account.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.lastMsgAt','i.subject','i.secondDisposition','i.substatus','i.to','i.ContactId','i.MailAccountId'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x5bbb,0x132));var _0xb5bb=function(_0x4b3020,_0x4fb662){_0x4b3020=_0x4b3020-0x0;var _0x101f5d=_0x5bbb[_0x4b3020];return _0x101f5d;};'use strict';var emlformat=require(_0xb5bb('0x0'));var rimraf=require(_0xb5bb('0x1'));var zipdir=require(_0xb5bb('0x2'));var jsonpatch=require(_0xb5bb('0x3'));var rp=require(_0xb5bb('0x4'));var moment=require(_0xb5bb('0x5'));var BPromise=require(_0xb5bb('0x6'));var Mustache=require(_0xb5bb('0x7'));var util=require(_0xb5bb('0x8'));var path=require(_0xb5bb('0x9'));var sox=require(_0xb5bb('0xa'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb5bb('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xb5bb('0xc'));var jsforce=require(_0xb5bb('0xd'));var deskjs=require(_0xb5bb('0xe'));var toCsv=require(_0xb5bb('0xf'));var querystring=require('querystring');var Papa=require(_0xb5bb('0x10'));var htmlToText=require('html-to-text');var juice=require('juice');var Redis=require(_0xb5bb('0x11'));var authService=require(_0xb5bb('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb5bb('0x13'));var logger=require(_0xb5bb('0x14'))(_0xb5bb('0x15'));var utils=require('../../config/utils');var config=require(_0xb5bb('0x16'));var licenseUtil=require(_0xb5bb('0x17'));var db=require(_0xb5bb('0x18'))['db'];config['redis']=_[_0xb5bb('0x19')](config[_0xb5bb('0x1a')],{'host':_0xb5bb('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xb5bb('0x1a')]));require(_0xb5bb('0x1c'))[_0xb5bb('0x1d')](socket);function respondWithStatusCode(_0x4b162a,_0x2f95fa){_0x2f95fa=_0x2f95fa||0xcc;return function(_0x109aca){if(_0x109aca){return _0x4b162a[_0xb5bb('0x1e')](_0x2f95fa);}return _0x4b162a[_0xb5bb('0x1f')](_0x2f95fa)[_0xb5bb('0x20')]();};}function respondWithResult(_0x589187,_0xdab98f){_0xdab98f=_0xdab98f||0xc8;return function(_0x4bdb80){if(_0x4bdb80){return _0x589187['status'](_0xdab98f)[_0xb5bb('0x21')](_0x4bdb80);}};}function respondWithFilteredResult(_0x2fab23,_0x420f36){return function(_0x5539a3){if(_0x5539a3){var _0x27bfa4=typeof _0x420f36[_0xb5bb('0x22')]===_0xb5bb('0x23')&&typeof _0x420f36[_0xb5bb('0x24')]===_0xb5bb('0x23');var _0xb23797=_0x5539a3['count'];var _0x26aaba=_0x27bfa4?0x0:_0x420f36[_0xb5bb('0x22')];var _0x52be8b=_0x27bfa4?_0x5539a3[_0xb5bb('0x25')]:_0x420f36[_0xb5bb('0x22')]+_0x420f36['limit'];var _0x1afa11;if(_0x52be8b>=_0xb23797){_0x52be8b=_0xb23797;_0x1afa11=0xc8;}else{_0x1afa11=0xce;}_0x2fab23['status'](_0x1afa11);return _0x2fab23[_0xb5bb('0x26')](_0xb5bb('0x27'),_0x26aaba+'-'+_0x52be8b+'/'+_0xb23797)['json'](_0x5539a3);}return null;};}function patchUpdates(_0x4c4c69){return function(_0x3782ff){try{jsonpatch['apply'](_0x3782ff,_0x4c4c69,!![]);}catch(_0x4dd26a){return BPromise['reject'](_0x4dd26a);}return _0x3782ff['save']();};}function saveUpdates(_0x4e606a,_0x3a8e80){return function(_0x44c7f6){if(_0x44c7f6){return _0x44c7f6[_0xb5bb('0x28')](_0x4e606a)[_0xb5bb('0x29')](function(_0x951435){return _0x951435;});}return null;};}function removeEntity(_0x579396,_0x3bb51f){return function(_0xa3094){if(_0xa3094){return _0xa3094['destroy']()[_0xb5bb('0x29')](function(){_0x579396[_0xb5bb('0x1f')](0xcc)[_0xb5bb('0x20')]();});}};}function handleEntityNotFound(_0x2de5f3,_0x47d988){return function(_0xc10b8b){if(!_0xc10b8b){_0x2de5f3['sendStatus'](0x194);}return _0xc10b8b;};}function handleError(_0xced498,_0x4ac72c){_0x4ac72c=_0x4ac72c||0x1f4;return function(_0x3e6bd4){logger[_0xb5bb('0x2a')](_0x3e6bd4[_0xb5bb('0x2b')]);if(_0x3e6bd4['name']){delete _0x3e6bd4['name'];}_0xced498['status'](_0x4ac72c)['send'](_0x3e6bd4);};}function getInteractionUsers(_0x58f3f9,_0x46b8ae){return new BPromise(function(_0x1b51ab,_0xbd4ce4){try{if(_0x46b8ae[_0x58f3f9['id']]){_0x58f3f9[_0xb5bb('0x2c')]=_[_0xb5bb('0x2d')](_0x46b8ae[_0x58f3f9['id']],function(_0x57ec5d){return{'id':_0x57ec5d['id'],'fullname':_0x57ec5d['fullname']};});}}catch(_0x1df4a1){_0xbd4ce4(_0x1df4a1);}_0x1b51ab(_0x58f3f9);});}function getInteractionTags(_0x1e8b18,_0x2a3f60){return new BPromise(function(_0x306b46,_0x20c46d){try{if(_0x1e8b18[_0xb5bb('0x2e')]){_0x1e8b18[_0xb5bb('0x2f')]=[];_0x1e8b18[_0xb5bb('0x2e')]['split'](',')[_0xb5bb('0x30')](function(_0x71c175){_0x1e8b18['Tags'][_0xb5bb('0x31')](_0x2a3f60[_0x71c175]);});}delete _0x1e8b18[_0xb5bb('0x2e')];}catch(_0x5b9475){_0x20c46d(_0x5b9475);}_0x306b46(_0x1e8b18);});}function getLastMessageText(_0x21aae6){return new BPromise(function(_0x303f07,_0x1f382a){return db['MailMessage'][_0xb5bb('0x32')]({'where':{'$and':[{'MailInteractionId':_0x21aae6['id']},{'$or':[{'direction':'in'},{'$and':[{'direction':_0xb5bb('0x33')},{'secret':![]},{'UserId':{'$ne':null}}]}]}]},'attributes':[_0xb5bb('0x34')],'order':_0xb5bb('0x35'),'raw':!![]})[_0xb5bb('0x29')](function(_0x5ab071){if(_0x5ab071&&_0x5ab071[_0xb5bb('0x34')]){_0x21aae6[_0xb5bb('0x36')]=_['trimStart'](_0x5ab071[_0xb5bb('0x34')]);}_0x303f07(_0x21aae6);})['catch'](function(_0x307b1b){_0x1f382a(_0x307b1b);});});}function updateMailInteraction(_0x122ccd,_0x2a7387,_0x4c8dc2,_0x573699){return new BPromise(function(_0x1bd210,_0x271e26){return getInteractionUsers(_0x122ccd,_0x4c8dc2)['then'](function(_0x165d54){return getInteractionTags(_0x165d54,_0x2a7387);})['then'](function(_0x3fb540){if(_0x573699){_0x1bd210(getLastMessageText(_0x3fb540));}else{_0x1bd210(_0x3fb540);}})[_0xb5bb('0x37')](function(_0x439a36){_0x271e26(_0x439a36);});});}exports[_0xb5bb('0x38')]=function(_0x70465b,_0x4e0662){var _0x15cab5={},_0x27c4ed={},_0x4eae77={'count':0x0,'rows':[]};var _0x51e2e8=_[_0xb5bb('0x2d')](db[_0xb5bb('0x39')]['rawAttributes'],function(_0x112e9f){return{'name':_0x112e9f['fieldName'],'type':_0x112e9f['type']['key']};});_0x27c4ed[_0xb5bb('0x3a')]=_[_0xb5bb('0x2d')](_0x51e2e8,_0xb5bb('0x3b'));_0x27c4ed[_0xb5bb('0x3c')]=_['keys'](_0x70465b['query']);_0x27c4ed[_0xb5bb('0x3d')]=_['intersection'](_0x27c4ed[_0xb5bb('0x3a')],_0x27c4ed[_0xb5bb('0x3c')]);_0x15cab5['attributes']=_[_0xb5bb('0x3e')](_0x27c4ed[_0xb5bb('0x3a')],qs[_0xb5bb('0x3f')](_0x70465b['query']['fields']));_0x15cab5[_0xb5bb('0x40')]=_0x15cab5[_0xb5bb('0x40')][_0xb5bb('0x41')]?_0x15cab5[_0xb5bb('0x40')]:_0x27c4ed[_0xb5bb('0x3a')];if(!_0x70465b[_0xb5bb('0x3c')][_0xb5bb('0x42')](_0xb5bb('0x43'))){_0x15cab5[_0xb5bb('0x24')]=qs['limit'](_0x70465b[_0xb5bb('0x3c')][_0xb5bb('0x24')]);_0x15cab5['offset']=qs[_0xb5bb('0x22')](_0x70465b[_0xb5bb('0x3c')][_0xb5bb('0x22')]);}_0x15cab5[_0xb5bb('0x44')]=qs['sort'](_0x70465b[_0xb5bb('0x3c')][_0xb5bb('0x45')]);_0x15cab5[_0xb5bb('0x46')]=qs[_0xb5bb('0x3d')](_[_0xb5bb('0x47')](_0x70465b[_0xb5bb('0x3c')],_0x27c4ed[_0xb5bb('0x3d')]),_0x51e2e8);var _0x2a0ecd=[];var _0x322ba1=squel[_0xb5bb('0x48')]()[_0xb5bb('0x49')]('id')[_0xb5bb('0x49')](_0xb5bb('0x3b'))['field'](_0xb5bb('0x4a'))['from'](_0xb5bb('0x4b'));var _0x1d8add=squel['select']()['field'](_0xb5bb('0x4c'))[_0xb5bb('0x49')](_0xb5bb('0x4d'))[_0xb5bb('0x49')]('ui.MailInteractionId')[_0xb5bb('0x4e')](_0xb5bb('0x4f'),'ui')[_0xb5bb('0x50')](_0xb5bb('0x51'),'u',_0xb5bb('0x52'));var _0x1f5c44=squel[_0xb5bb('0x48')]()[_0xb5bb('0x4e')](_0xb5bb('0x53'),'i')[_0xb5bb('0x50')](_0xb5bb('0x54'),'c',_0xb5bb('0x55'))['left_join']('users','o','o.id\x20=\x20i.UserId')['left_join'](_0xb5bb('0x56'),'a',_0xb5bb('0x57'))['left_join'](_0xb5bb('0x58'),'me',_0xb5bb('0x59'))[_0xb5bb('0x50')](_0xb5bb('0x5a'),'it','it.MailInteractionId\x20=\x20i.id')['left_join'](_0xb5bb('0x4b'),'t',_0xb5bb('0x5b'));var _0x47a008=squel[_0xb5bb('0x5c')]();var _0x3552ff=[];var _0x46c3b0=squel['expr']();var _0xb1c4c0;if(_0x70465b[_0xb5bb('0x3c')][_0xb5bb('0x5d')]){_0xb1c4c0=as['parseSearch'](_0x70465b[_0xb5bb('0x3c')]['search']);var _0x9a4333=_0xb1c4c0[_0xb5bb('0x5e')];for(var _0x3e1ac0=0x0;_0x3e1ac0<_0xb1c4c0[_0xb5bb('0x5f')][_0xb5bb('0x41')];_0x3e1ac0++){var _0x3a1290=_0xb1c4c0['conditions'][_0x3e1ac0];var _0x2d1770='i';var _0x2262bf=_[_0xb5bb('0x60')](_0x51e2e8,[_0xb5bb('0x3b'),_0x3a1290[_0xb5bb('0x49')]]);if(!_0x2262bf){switch(_0x3a1290[_0xb5bb('0x49')]){case _0xb5bb('0x61'):if(_0x3a1290[_0xb5bb('0x62')]==0x1){_0x1f5c44[_0xb5bb('0x63')]('`'+_0x3a1290[_0xb5bb('0x49')]+_0xb5bb('0x64'));}else{_0x1f5c44['having']('`'+_0x3a1290[_0xb5bb('0x49')]+_0xb5bb('0x65'));}break;case _0xb5bb('0x66'):if(_0x3a1290[_0xb5bb('0x67')]===_0xb5bb('0x68')){if(_0x3a1290['value'][_0xb5bb('0x69')]('\x20')[_0xb5bb('0x41')]>0x1){_0x47a008[_0x9a4333](_0xb5bb('0x6a'),qs['getFullTextValue'](_0x3a1290[_0xb5bb('0x62')]),null);}else{var _0x3eed89='%'+_0x3a1290[_0xb5bb('0x62')]+'%';_0x47a008[_0x9a4333](_0xb5bb('0x6b'),_0x3eed89,_0x3eed89,_0x3eed89);}}else{_0x2262bf=_[_0xb5bb('0x60')](_0x51e2e8,[_0xb5bb('0x3b'),'ContactId']);_0x3a1290[_0xb5bb('0x49')]=_0xb5bb('0x6c');_0x4e8164=as[_0xb5bb('0x6d')](_0x2d1770,_0x2262bf[_0xb5bb('0x6e')],_0x3a1290);_0x47a008[_0x9a4333](_0x4e8164[_0xb5bb('0x6f')],_0x4e8164[_0xb5bb('0x62')]['start'],_0x4e8164[_0xb5bb('0x62')][_0xb5bb('0x20')]);}break;case _0xb5bb('0x70'):var _0x50ab41=_0x3a1290['value']['split'](',')[_0xb5bb('0x2d')](function(_0x113254){return Number(_0x113254);});_0x50ab41[_0xb5bb('0x30')](function(_0x4a033c){_0x46c3b0['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x4a033c+',%');});_0x3552ff=_[_0xb5bb('0x71')](_0x3552ff,_0x50ab41);break;case _0xb5bb('0x72'):if(_0x3a1290[_0xb5bb('0x67')]===_0xb5bb('0x68')){_0x47a008[_0x9a4333](_0xb5bb('0x73'),'%'+_0x3a1290[_0xb5bb('0x62')]+'%',null);}else{_0x2262bf=_[_0xb5bb('0x60')](_0x51e2e8,[_0xb5bb('0x3b'),'UserId']);_0x3a1290[_0xb5bb('0x49')]='UserId';_0x4e8164=as[_0xb5bb('0x6d')](_0x2d1770,_0x2262bf[_0xb5bb('0x6e')],_0x3a1290);_0x47a008[_0x9a4333](_0x4e8164[_0xb5bb('0x6f')],_0x4e8164['value']['start'],_0x4e8164['value'][_0xb5bb('0x20')]);}break;case _0xb5bb('0x34'):_0x4e8164=as[_0xb5bb('0x6d')]('me',null,_0x3a1290);_0x47a008[_0x9a4333](_0x4e8164['text'],_0x4e8164[_0xb5bb('0x62')][_0xb5bb('0x74')],_0x4e8164[_0xb5bb('0x62')][_0xb5bb('0x20')]);break;}}else{var _0x4e8164=as[_0xb5bb('0x6d')](_0x2d1770,_0x2262bf[_0xb5bb('0x6e')],_0x3a1290);_0x47a008[_0x9a4333](_0x4e8164[_0xb5bb('0x6f')],_0x4e8164[_0xb5bb('0x62')]['start'],_0x4e8164[_0xb5bb('0x62')][_0xb5bb('0x20')]);}}}else{var _0x1c8fdf=_(_0x70465b['query'])[_0xb5bb('0x75')]()['map'](function(_0x577501){return _[_0xb5bb('0x76')](_0x51e2e8,[_0xb5bb('0x3b'),_0x577501])?_0x577501:undefined;})[_0xb5bb('0x77')]()['value']();if(!_[_0xb5bb('0x78')](_0x1c8fdf)){_0x1c8fdf['forEach'](function(_0x1f4d0c){if(_0x1f4d0c==='MailAccountId'){_0x1f5c44[_0xb5bb('0x46')](_0xb5bb('0x79'),[][_0xb5bb('0x7a')](_0x70465b[_0xb5bb('0x3c')][_0x1f4d0c]));}else if(_0x1f4d0c==='createdAt'){var _0x5d3d87=JSON[_0xb5bb('0x7b')](_0x70465b[_0xb5bb('0x3c')][_0x1f4d0c])[_0xb5bb('0x7c')];var _0x301edb=JSON['parse'](_0x70465b['query'][_0x1f4d0c])[_0xb5bb('0x7d')];_0x1f5c44['where'](_0xb5bb('0x7e'),_0x5d3d87,_0x301edb);}else{if(_0x70465b['query'][_0x1f4d0c]==='null'){_0x1f5c44[_0xb5bb('0x46')]('i.'+_0x1f4d0c+_0xb5bb('0x7f'));}else{_0x1f5c44['where']('i.'+_0x1f4d0c+_0xb5bb('0x80'),_0x70465b['query'][_0x1f4d0c]);}}});}if(_0x70465b[_0xb5bb('0x3c')]['read']){if(_0x70465b[_0xb5bb('0x3c')]['read']==0x1){_0x1f5c44[_0xb5bb('0x63')](_0xb5bb('0x81'));}else{_0x1f5c44['having'](_0xb5bb('0x82'));}}if(_0x70465b['query'][_0xb5bb('0x83')]){_0x3552ff=_[_0xb5bb('0x84')](_0x70465b[_0xb5bb('0x3c')][_0xb5bb('0x83')])?_0x70465b[_0xb5bb('0x3c')][_0xb5bb('0x83')]:new Array(_0x70465b['query'][_0xb5bb('0x83')]);_0x3552ff[_0xb5bb('0x30')](function(_0x279356){_0x46c3b0['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x279356+',%');});}if(_0x70465b['query'][_0xb5bb('0x85')]){var _0x4bc74c=_0x70465b[_0xb5bb('0x3c')][_0xb5bb('0x85')][_0xb5bb('0x86')]('\x5c','\x5c\x5c')[_0xb5bb('0x86')](/'/g,'\x27\x27');if(qs[_0xb5bb('0x87')](_0x4bc74c)){_0x47a008['or'](_0xb5bb('0x88'),_0x4bc74c+'%');}else if(qs[_0xb5bb('0x89')](_0x4bc74c)){_0x47a008['or'](_0xb5bb('0x8a'),_0x4bc74c+'%');}else{_0x47a008['or'](_0xb5bb('0x8b'),qs['getFullTextValue'](_0x4bc74c))['or']('MATCH\x20(me.plainBody,\x20me.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0xb5bb('0x8c')](_0x4bc74c));}}}_0x1f5c44[_0xb5bb('0x46')](_0x47a008);_0x1f5c44['group'](_0xb5bb('0x8d'));var _0x3b7df5={'type':db['Sequelize'][_0xb5bb('0x8e')]['SELECT'],'raw':!![]};var _0x272540=_0x1f5c44['clone']();_0x272540[_0xb5bb('0x49')](_0xb5bb('0x8d'));_0x272540['field'](_0xb5bb('0x8f'),_0xb5bb('0x61'));if(_0x15cab5[_0xb5bb('0x44')]){_0x15cab5[_0xb5bb('0x44')][_0xb5bb('0x30')](function(_0x557a4){var _0x443653=_0x557a4[0x0]===_0xb5bb('0x90')?_0x557a4[0x0]:'i.'+_0x557a4[0x0];_0x1f5c44[_0xb5bb('0x44')](_0x443653,_0x557a4[0x1]===_0xb5bb('0x91')?![]:!![]);});}if(!_[_0xb5bb('0x78')](_0x3552ff)){_0x1f5c44[_0xb5bb('0x63')](_0x46c3b0);_0x272540[_0xb5bb('0x46')](_0xb5bb('0x92'),_0x3552ff);}BPromise[_0xb5bb('0x93')]()[_0xb5bb('0x29')](function(){if(!_0xb1c4c0){if(_0x70465b[_0xb5bb('0x3c')][_0xb5bb('0x94')])return;_0x272540[_0xb5bb('0x46')](_0xb5bb('0x95'));_0x1f5c44[_0xb5bb('0x46')](_0xb5bb('0x95'));return;}if(_0x70465b[_0xb5bb('0x96')]['role']!==_0xb5bb('0x97'))return;return _0x70465b[_0xb5bb('0x96')][_0xb5bb('0x98')]({'attributes':['id'],'raw':!![]})['then'](function(_0x3d3325){if(_['isEmpty'](_0x3d3325)){_0x272540[_0xb5bb('0x46')]('i.MailAccountId\x20IS\x20NULL');_0x1f5c44[_0xb5bb('0x46')](_0xb5bb('0x99'));}else{_0x272540['where'](_0xb5bb('0x79'),_['map'](_0x3d3325,'id'));_0x1f5c44[_0xb5bb('0x46')](_0xb5bb('0x79'),_[_0xb5bb('0x2d')](_0x3d3325,'id'));}});})[_0xb5bb('0x29')](function(){if(_0x70465b['user']['role']==='agent'&&!_0xb1c4c0&&!_0x70465b[_0xb5bb('0x3c')][_0xb5bb('0x94')])return[];return db[_0xb5bb('0x9a')][_0xb5bb('0x3c')](_0x272540[_0xb5bb('0x9b')](),_0x3b7df5);})['then'](function(_0x5eac27){_0x4eae77['count']=_0x5eac27[_0xb5bb('0x41')];if(_0x4eae77[_0xb5bb('0x25')]===0x0)return[];return db[_0xb5bb('0x9a')]['query'](_0x322ba1[_0xb5bb('0x9b')](),_0x3b7df5)[_0xb5bb('0x29')](function(_0xcac7fe){_0x2a0ecd=_['keyBy'](_0xcac7fe,'id');_0x3b7df5=_[_0xb5bb('0x9c')](_0x3b7df5,{'model':db[_0xb5bb('0x39')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x70465b['query'][_0xb5bb('0x3f')]){_0x15cab5[_0xb5bb('0x40')]['forEach'](function(_0x45fcf4){_0x1f5c44['field']('i.'+_0x45fcf4);});}else{_0x1f5c44['field'](_0xb5bb('0x8f'),'unreadMessages');_0x1f5c44['field'](_0xb5bb('0x9d'),_0xb5bb('0x9e'));_0x1f5c44[_0xb5bb('0x49')]('a.mandatoryDisposition','Account.mandatoryDisposition');_0x1f5c44[_0xb5bb('0x49')](_0xb5bb('0x9f'),_0xb5bb('0x90'));_0x1f5c44[_0xb5bb('0x49')](_0xb5bb('0x8d'));_0x1f5c44[_0xb5bb('0x49')](_0xb5bb('0xa0'));_0x1f5c44[_0xb5bb('0x49')]('i.updatedAt');_0x1f5c44[_0xb5bb('0x49')]('i.closed');_0x1f5c44[_0xb5bb('0x49')]('i.closedAt');_0x1f5c44[_0xb5bb('0x49')]('i.attach');_0x1f5c44[_0xb5bb('0x49')](_0xb5bb('0xa1'));_0x1f5c44['field']('i.lastMsgDirection');_0x1f5c44[_0xb5bb('0x49')](_0xb5bb('0xa2'));_0x1f5c44[_0xb5bb('0x49')]('i.disposition');_0x1f5c44[_0xb5bb('0x49')](_0xb5bb('0xa3'));_0x1f5c44[_0xb5bb('0x49')]('i.thirdDisposition');_0x1f5c44[_0xb5bb('0x49')](_0xb5bb('0xa4'));_0x1f5c44[_0xb5bb('0x49')](_0xb5bb('0xa5'));_0x1f5c44[_0xb5bb('0x49')](_0xb5bb('0xa6'));_0x1f5c44[_0xb5bb('0x49')](_0xb5bb('0xa7'));_0x1f5c44['field'](_0xb5bb('0xa8'));_0x1f5c44['field'](_0xb5bb('0xa9'),_0xb5bb('0xaa'));_0x1f5c44['field']('c.lastName',_0xb5bb('0xab'));_0x1f5c44[_0xb5bb('0x49')](_0xb5bb('0xac'),'Contact.email');_0x1f5c44[_0xb5bb('0x49')](_0xb5bb('0xad'),_0xb5bb('0xae'));_0x1f5c44['field'](_0xb5bb('0xaf'),_0xb5bb('0xb0'));_0x1f5c44[_0xb5bb('0x49')](_0xb5bb('0xb1'),'Contact.fax');_0x1f5c44['field'](_0xb5bb('0xb2'),_0xb5bb('0xb3'));_0x1f5c44[_0xb5bb('0x49')](_0xb5bb('0xb4'),_0xb5bb('0xb5'));_0x1f5c44[_0xb5bb('0x49')](_0xb5bb('0xb6'),_0xb5bb('0x2e'));}if(_0x15cab5['limit'])_0x1f5c44[_0xb5bb('0x24')](_0x15cab5['limit']);if(_0x15cab5['offset'])_0x1f5c44[_0xb5bb('0x22')](_0x15cab5[_0xb5bb('0x22')]);return db[_0xb5bb('0x9a')]['query'](_0x1f5c44['toString'](),_0x3b7df5);})[_0xb5bb('0x29')](function(_0x54fe7c){if(_0x54fe7c[_0xb5bb('0x41')]>0x0)_0x1d8add[_0xb5bb('0x46')](_0xb5bb('0xb7'),_['map'](_0x54fe7c,'id'));return db['sequelize'][_0xb5bb('0x3c')](_0x1d8add[_0xb5bb('0x9b')](),_0x3b7df5)[_0xb5bb('0x29')](function(_0x37be34){var _0x40d3ef=_[_0xb5bb('0xb8')](_0x37be34,_0xb5bb('0xb9'));var _0x105081=[];return db['Setting']['findOne']({'attributes':[_0xb5bb('0xba')],'raw':!![]})[_0xb5bb('0x29')](function(_0x16b9ef){var _0x3d92f9=_0x16b9ef['enableEmailPreview'];_0x54fe7c[_0xb5bb('0x30')](function(_0x3d9542){_0x105081[_0xb5bb('0x31')](updateMailInteraction(_0x3d9542,_0x2a0ecd,_0x40d3ef,_0x3d92f9));});return BPromise[_0xb5bb('0xbb')](_0x105081);});});});})[_0xb5bb('0x29')](function(_0x574c38){_0x4eae77[_0xb5bb('0xbc')]=_0x574c38;return _0x4eae77;})['then'](respondWithFilteredResult(_0x4e0662,_0x15cab5))[_0xb5bb('0x37')](handleError(_0x4e0662,null));};exports[_0xb5bb('0xbd')]=function(_0x54b654,_0x187ef7){var _0x502609={'raw':![],'where':{'id':_0x54b654[_0xb5bb('0xbe')]['id']}},_0x2111d1={};_0x2111d1[_0xb5bb('0x3a')]=_['keys'](db[_0xb5bb('0x39')][_0xb5bb('0xbf')]);_0x2111d1['query']=_[_0xb5bb('0x75')](_0x54b654[_0xb5bb('0x3c')]);_0x2111d1[_0xb5bb('0x3d')]=_[_0xb5bb('0x3e')](_0x2111d1['model'],_0x2111d1[_0xb5bb('0x3c')]);_0x502609[_0xb5bb('0x40')]=_[_0xb5bb('0x3e')](_0x2111d1[_0xb5bb('0x3a')],qs[_0xb5bb('0x3f')](_0x54b654[_0xb5bb('0x3c')][_0xb5bb('0x3f')]));_0x502609[_0xb5bb('0x40')]=_0x502609[_0xb5bb('0x40')][_0xb5bb('0x41')]?_0x502609[_0xb5bb('0x40')]:_0x2111d1['model'];if(_0x54b654['query'][_0xb5bb('0xc0')]){_0x502609[_0xb5bb('0xc1')]=[{'all':!![]}];}_0x502609=_[_0xb5bb('0x9c')]({},_0x502609,_0x54b654[_0xb5bb('0xc2')]);return db['MailInteraction'][_0xb5bb('0x60')](_0x502609)['then'](handleEntityNotFound(_0x187ef7,null))[_0xb5bb('0x29')](respondWithResult(_0x187ef7,null))['catch'](handleError(_0x187ef7,null));};exports[_0xb5bb('0xc3')]=function(_0x48ccc4,_0x8c3842){return db['MailInteraction'][_0xb5bb('0xc3')](_0x48ccc4[_0xb5bb('0xc4')],{})[_0xb5bb('0x29')](respondWithResult(_0x8c3842,0xc9))[_0xb5bb('0x37')](handleError(_0x8c3842,null));};exports[_0xb5bb('0x28')]=function(_0x4b9da9,_0x508f33){if(_0x4b9da9[_0xb5bb('0xc4')]['id']){delete _0x4b9da9['body']['id'];}return db[_0xb5bb('0x39')][_0xb5bb('0x60')]({'where':{'id':_0x4b9da9[_0xb5bb('0xbe')]['id']}})['then'](handleEntityNotFound(_0x508f33,null))[_0xb5bb('0x29')](saveUpdates(_0x4b9da9[_0xb5bb('0xc4')],null))[_0xb5bb('0x29')](respondWithResult(_0x508f33,null))[_0xb5bb('0x37')](handleError(_0x508f33,null));};exports[_0xb5bb('0xc5')]=function(_0x306b61,_0x20ba7a){return db[_0xb5bb('0x39')][_0xb5bb('0x60')]({'where':{'id':_0x306b61[_0xb5bb('0xbe')]['id']}})[_0xb5bb('0x29')](handleEntityNotFound(_0x20ba7a,null))['then'](removeEntity(_0x20ba7a,null))[_0xb5bb('0x37')](handleError(_0x20ba7a,null));};exports['describe']=function(_0x3c61f9,_0x159b50){return db[_0xb5bb('0x39')]['describe']()['then'](respondWithResult(_0x159b50,null))[_0xb5bb('0x37')](handleError(_0x159b50,null));};exports['addMessage']=function(_0xa18a5d,_0x13213f,_0x418d72){return db[_0xb5bb('0xc6')][_0xb5bb('0x60')]({'where':{'id':_0xa18a5d[_0xb5bb('0xbe')]['id']}})[_0xb5bb('0x29')](handleEntityNotFound(_0x13213f,null))['then'](function(_0x512597){if(_0x512597){return _0x512597[_0xb5bb('0xc7')](_0xa18a5d[_0xb5bb('0xc4')]['ids'],_[_0xb5bb('0xc8')](_0xa18a5d['body'],[_0xb5bb('0xc9'),'id'])||{});}})[_0xb5bb('0x29')](respondWithResult(_0x13213f,null))[_0xb5bb('0x37')](handleError(_0x13213f,null));};exports['getMessages']=function(_0x1f37d9,_0x1f193f,_0x3a0dff){var _0x3d60dc={'raw':![],'where':{}};var _0xdfc98b={};var _0x1e084b={'count':0x0,'rows':[]};return db[_0xb5bb('0x39')]['findOne']({'where':{'id':_0x1f37d9[_0xb5bb('0xbe')]['id']}})['then'](handleEntityNotFound(_0x1f193f,null))[_0xb5bb('0x29')](function(_0x29c310){if(_0x29c310){_0xdfc98b[_0xb5bb('0x3a')]=_[_0xb5bb('0x75')](db[_0xb5bb('0xc6')][_0xb5bb('0xbf')]);_0xdfc98b[_0xb5bb('0x3c')]=_[_0xb5bb('0x75')](_0x1f37d9[_0xb5bb('0x3c')]);_0xdfc98b['filters']=_[_0xb5bb('0x3e')](_0xdfc98b['model'],_0xdfc98b[_0xb5bb('0x3c')]);_0x3d60dc['attributes']=_[_0xb5bb('0x3e')](_0xdfc98b['model'],qs[_0xb5bb('0x3f')](_0x1f37d9[_0xb5bb('0x3c')][_0xb5bb('0x3f')]));_0x3d60dc[_0xb5bb('0x40')]=_0x3d60dc['attributes'][_0xb5bb('0x41')]?_0x3d60dc[_0xb5bb('0x40')]:_0xdfc98b[_0xb5bb('0x3a')];if(!_0x1f37d9['query']['hasOwnProperty'](_0xb5bb('0x43'))){_0x3d60dc[_0xb5bb('0x24')]=qs[_0xb5bb('0x24')](_0x1f37d9['query'][_0xb5bb('0x24')]);_0x3d60dc[_0xb5bb('0x22')]=qs[_0xb5bb('0x22')](_0x1f37d9[_0xb5bb('0x3c')][_0xb5bb('0x22')]);}_0x3d60dc[_0xb5bb('0x44')]=qs['sort'](_0x1f37d9['query'][_0xb5bb('0x45')]);_0x3d60dc[_0xb5bb('0x46')]=qs[_0xb5bb('0x3d')](_[_0xb5bb('0x47')](_0x1f37d9[_0xb5bb('0x3c')],_0xdfc98b[_0xb5bb('0x3d')]));_0x3d60dc[_0xb5bb('0x46')][_0xb5bb('0xb9')]=_0x29c310['id'];if(_0x1f37d9[_0xb5bb('0x3c')][_0xb5bb('0x85')]){_0x3d60dc[_0xb5bb('0x46')]=_['merge'](_0x3d60dc['where'],{'$or':_[_0xb5bb('0x2d')](_0x3d60dc[_0xb5bb('0x40')],function(_0x59d39e){var _0x17e4e2={};_0x17e4e2[_0x59d39e]={'$like':'%'+_0x1f37d9['query']['filter']+'%'};return _0x17e4e2;})});}if(_0x1f37d9['query'][_0xb5bb('0x7c')]){var _0x22b677=_0x1f37d9[_0xb5bb('0x3c')][_0xb5bb('0x7c')][_0xb5bb('0x69')](',');var _0x455bc9={};_0x455bc9[_0x22b677[0x0]]={'$gte':moment(_0x22b677[0x1])['format'](_0xb5bb('0xca'))};_0x3d60dc[_0xb5bb('0x46')]=_[_0xb5bb('0x9c')](_0x3d60dc[_0xb5bb('0x46')],_0x455bc9);}_0x3d60dc=_[_0xb5bb('0x9c')]({},_0x3d60dc,_0x1f37d9[_0xb5bb('0xc2')]);return db[_0xb5bb('0xc6')][_0xb5bb('0x25')]({'where':_0x3d60dc[_0xb5bb('0x46')]})['then'](function(_0x9b4bc8){_0x1e084b[_0xb5bb('0x25')]=_0x9b4bc8;if(_0x1f37d9[_0xb5bb('0x3c')][_0xb5bb('0xc0')]){_0x3d60dc[_0xb5bb('0xc1')]=[{'all':!![]}];}return db['MailMessage'][_0xb5bb('0xcb')](_0x3d60dc);})[_0xb5bb('0x29')](function(_0x445341){if(_0x1f37d9['query'][_0xb5bb('0xcc')]===_0xb5bb('0xcd')){for(var _0xbcf23e=0x0;_0xbcf23e<_0x445341[_0xb5bb('0x41')];_0xbcf23e++){_0x445341[_0xbcf23e][_0xb5bb('0xc4')]=juice(_0x445341[_0xbcf23e][_0xb5bb('0xc4')]);}}_0x1e084b[_0xb5bb('0xbc')]=_0x445341;return _0x1e084b;});}})['then'](respondWithFilteredResult(_0x1f193f,_0x3d60dc))[_0xb5bb('0x37')](handleError(_0x1f193f,null));};exports[_0xb5bb('0xce')]=function(_0x45b5f0,_0x3fbc4a,_0x2a3421){return db[_0xb5bb('0x39')][_0xb5bb('0x60')]({'where':{'id':_0x45b5f0[_0xb5bb('0xbe')]['id']}})[_0xb5bb('0x29')](handleEntityNotFound(_0x3fbc4a,null))['then'](function(_0x438f0c){if(_0x438f0c){return _0x438f0c[_0xb5bb('0xcf')](_0x45b5f0[_0xb5bb('0xc4')][_0xb5bb('0xc9')],_[_0xb5bb('0xc8')](_0x45b5f0[_0xb5bb('0xc4')],[_0xb5bb('0xc9'),'id'])||{})['spread'](function(){return db[_0xb5bb('0x70')][_0xb5bb('0xcb')]({'attributes':['id',_0xb5bb('0x3b'),'color'],'where':{'id':_0x45b5f0[_0xb5bb('0xc4')][_0xb5bb('0xc9')]}});})[_0xb5bb('0x29')](function(_0xca68d3){socket[_0xb5bb('0xd0')](_0xb5bb('0xd1'),{'id':Number(_0x45b5f0[_0xb5bb('0xbe')]['id']),'tags':_0xca68d3||[]});return{'id':Number(_0x45b5f0[_0xb5bb('0xbe')]['id']),'tags':_0xca68d3||[]};});}})[_0xb5bb('0x29')](respondWithResult(_0x3fbc4a,null))['catch'](handleError(_0x3fbc4a,null));};exports['removeTags']=function(_0x3fdd65,_0x53cda1,_0x47015c){return db['MailInteraction'][_0xb5bb('0x60')]({'where':{'id':_0x3fdd65[_0xb5bb('0xbe')]['id']}})['then'](handleEntityNotFound(_0x53cda1,null))['then'](function(_0x189980){if(_0x189980){return _0x189980[_0xb5bb('0xd2')](_0x3fdd65[_0xb5bb('0x3c')][_0xb5bb('0xc9')]);}})[_0xb5bb('0x29')](respondWithStatusCode(_0x53cda1,null))[_0xb5bb('0x37')](handleError(_0x53cda1,null));};exports[_0xb5bb('0xd3')]=function(_0x5c5c43,_0x5055b6){var _0xa45cff=moment()[_0xb5bb('0xd4')]()[_0xb5bb('0x9b')]();var _0x7ce20e=path[_0xb5bb('0xd5')](config['root'],_0xb5bb('0xd6'),'files',_0xb5bb('0xd7'));var _0x51009f=path['join'](config[_0xb5bb('0xd8')],'server',_0xb5bb('0xd9'),_0xb5bb('0xda'));var _0x5d84c4=path[_0xb5bb('0xd5')](_0x7ce20e,_0xa45cff);var _0x151d8b=util[_0xb5bb('0xdb')](_0xb5bb('0xdc'),_0x5c5c43[_0xb5bb('0xbe')]['id'],_0xa45cff);var _0x3373de=path[_0xb5bb('0xd5')](_0x7ce20e,_0x151d8b);var _0x460c4a=[];if(_0x5c5c43[_0xb5bb('0x3c')]['attachments']){_0x460c4a[_0xb5bb('0x31')]({'model':db['Attachment'],'as':'Attachments','raw':!![]});}var _0x538b04=[{'model':db[_0xb5bb('0xc6')],'as':_0xb5bb('0xdd'),'attributes':['id',_0xb5bb('0xc4'),_0xb5bb('0x4e'),'to','cc',_0xb5bb('0xde'),'subject',_0xb5bb('0xdf')],'where':{'secret':![]},'order':qs[_0xb5bb('0x45')]('id'),'include':_0x460c4a}];return db['MailInteraction']['find']({'where':{'id':_0x5c5c43[_0xb5bb('0xbe')]['id']},'include':_0x538b04})['then'](handleEntityNotFound(_0x5055b6,null))[_0xb5bb('0x29')](function(_0x1c11a1){if(_0x1c11a1&&_0x1c11a1[_0xb5bb('0xdd')]){var _0x5b1945=_0x1c11a1[_0xb5bb('0xe0')]({'plain':!![]});fs[_0xb5bb('0xe1')](_0x5d84c4);return BPromise[_0xb5bb('0xe2')](_0x5b1945[_0xb5bb('0xdd')],function(_0x290dc9,_0x5cc662){var _0x3d62d5={'from':_0x290dc9[_0xb5bb('0x4e')],'to':_0x290dc9['to'],'subject':_0x290dc9['subject'],'html':_0x290dc9[_0xb5bb('0xc4')],'headers':{'Date':moment(_0x290dc9[_0xb5bb('0xdf')])[_0xb5bb('0xdb')](_0xb5bb('0xe3'))},'attachments':[]};if(_0x290dc9['cc']){_0x3d62d5['headers']['Cc']=_0x290dc9['cc'];}if(_0x290dc9[_0xb5bb('0xde')]){_0x3d62d5[_0xb5bb('0xe4')][_0xb5bb('0xe5')]=_0x290dc9[_0xb5bb('0xde')];}return new BPromise(function(_0x2d302d,_0x35e68c){if(_0x290dc9[_0xb5bb('0xe6')]){for(var _0x3fc702=0x0;_0x3fc702<_0x290dc9[_0xb5bb('0xe6')][_0xb5bb('0x41')];_0x3fc702++){var _0x5c2e4e=_0x290dc9[_0xb5bb('0xe6')][_0x3fc702];var _0x1e2d74=path[_0xb5bb('0xd5')](_0x51009f,_0x5c2e4e['basename']);if(fs['existsSync'](_0x1e2d74)){_0x3d62d5[_0xb5bb('0xda')]['push']({'name':_0x5c2e4e['name'],'contentType':_0x5c2e4e[_0xb5bb('0x6e')],'data':fs[_0xb5bb('0xe7')](_0x1e2d74)});}}}emlformat['build'](_0x3d62d5,function(_0x24f3de,_0x504a7a){if(_0x24f3de)return _0x35e68c(_0x24f3de);fs[_0xb5bb('0xe8')](path[_0xb5bb('0xd5')](_0x5d84c4,util[_0xb5bb('0xdb')](_0xb5bb('0xe9'),_0x5cc662)),_0x504a7a);return _0x2d302d(_0x504a7a);});});})[_0xb5bb('0x29')](function(){return new BPromise(function(_0x1d08f0,_0x637164){zipdir(_0x5d84c4,{'saveTo':_0x3373de},function(_0x554797,_0x57a5b5){if(_0x554797)return _0x637164(_0x554797);return _0x1d08f0(_0x57a5b5);});})[_0xb5bb('0x29')](function(){return new BPromise(function(_0x30b755,_0x14bdcd){rimraf(_0x5d84c4,function(_0xc8ccc1){if(_0xc8ccc1)_0x14bdcd(_0xc8ccc1);return _0x30b755();});});})['then'](function(){return _0x5055b6[_0xb5bb('0xd3')](_0x3373de,_0x151d8b,function(_0x5ab9bc){if(_0x5ab9bc){console[_0xb5bb('0xea')](_0xb5bb('0xeb'),_0x5ab9bc);}else{fs[_0xb5bb('0xec')](_0x3373de);}});});});}else{return _0x5055b6[_0xb5bb('0x1e')](0xc8);}})[_0xb5bb('0x37')](handleError(_0x5055b6,null));};
\ No newline at end of file
+var _0x34e8=['count','Content-Range','update','then','error','stack','name','send','map','MailInteraction','rawAttributes','type','key','getOptions','findAll','mail','query','user','catch','show','params','model','filters','intersection','fields','attributes','length','includeAll','include','merge','options','create','body','find','describe','addMessage','MailMessage','findOne','keys','hasOwnProperty','nolimit','order','sort','where','pick','MailInteractionId','filter','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','true','rows','addTags','ids','Tag','color','removeTags','unix','toString','join','root','server','tmp','files','attachments','push','Attachment','Attachments','from','bcc','createdAt','Messages','get','mkdirSync','each','subject','decode','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','basename','existsSync','build','writeFileSync','message%d.eml','download','eml-format','rimraf','zip-dir','moment','bluebird','util','juice','ioredis','../../components/interaction/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','html-entities','redis','defaults','localhost','socket.io-emitter','./mailInteraction.socket','register','sendStatus','status','end','json','offset','undefined','limit'];(function(_0x543673,_0xe0ea22){var _0x45468c=function(_0x4e44a7){while(--_0x4e44a7){_0x543673['push'](_0x543673['shift']());}};_0x45468c(++_0xe0ea22);}(_0x34e8,0x1a9));var _0x834e=function(_0x32caca,_0x446cd5){_0x32caca=_0x32caca-0x0;var _0x5abadb=_0x34e8[_0x32caca];return _0x5abadb;};'use strict';var emlformat=require(_0x834e('0x0'));var rimraf=require(_0x834e('0x1'));var zipdir=require(_0x834e('0x2'));var moment=require(_0x834e('0x3'));var BPromise=require(_0x834e('0x4'));var util=require(_0x834e('0x5'));var path=require('path');var fs=require('fs');var _=require('lodash');var juice=require(_0x834e('0x6'));var Redis=require(_0x834e('0x7'));var interaction=require(_0x834e('0x8'));var qs=require(_0x834e('0x9'));var logger=require(_0x834e('0xa'))(_0x834e('0xb'));var config=require(_0x834e('0xc'));var db=require('../../mysqldb')['db'];var htmlEntities=require(_0x834e('0xd'));config[_0x834e('0xe')]=_[_0x834e('0xf')](config['redis'],{'host':_0x834e('0x10'),'port':0x18eb});var socket=require(_0x834e('0x11'))(new Redis(config['redis']));require(_0x834e('0x12'))[_0x834e('0x13')](socket);function respondWithStatusCode(_0x378061,_0x22f3e2){_0x22f3e2=_0x22f3e2||0xcc;return function(_0x46640c){if(_0x46640c){return _0x378061[_0x834e('0x14')](_0x22f3e2);}return _0x378061[_0x834e('0x15')](_0x22f3e2)[_0x834e('0x16')]();};}function respondWithResult(_0x103d70,_0x30ca4b){_0x30ca4b=_0x30ca4b||0xc8;return function(_0x6cef50){if(_0x6cef50){return _0x103d70[_0x834e('0x15')](_0x30ca4b)[_0x834e('0x17')](_0x6cef50);}};}function respondWithFilteredResult(_0x3b4e98,_0xff034){return function(_0x2b89ad){if(_0x2b89ad){var _0x3c70c2=typeof _0xff034[_0x834e('0x18')]===_0x834e('0x19')&&typeof _0xff034[_0x834e('0x1a')]===_0x834e('0x19');var _0x1fb0db=_0x2b89ad['count'];var _0x2dad6a=_0x3c70c2?0x0:_0xff034[_0x834e('0x18')];var _0x40ef41=_0x3c70c2?_0x2b89ad[_0x834e('0x1b')]:_0xff034['offset']+_0xff034['limit'];var _0x1fa4d3;if(_0x40ef41>=_0x1fb0db){_0x40ef41=_0x1fb0db;_0x1fa4d3=0xc8;}else{_0x1fa4d3=0xce;}_0x3b4e98[_0x834e('0x15')](_0x1fa4d3);return _0x3b4e98['set'](_0x834e('0x1c'),_0x2dad6a+'-'+_0x40ef41+'/'+_0x1fb0db)[_0x834e('0x17')](_0x2b89ad);}return null;};}function saveUpdates(_0x46c4e5){return function(_0x244294){if(_0x244294){return _0x244294[_0x834e('0x1d')](_0x46c4e5)[_0x834e('0x1e')](function(_0x3ca178){return _0x3ca178;});}return null;};}function removeEntity(_0x4d53d4){return function(_0x4d7c03){if(_0x4d7c03){return _0x4d7c03['destroy']()[_0x834e('0x1e')](function(){_0x4d53d4[_0x834e('0x15')](0xcc)[_0x834e('0x16')]();});}};}function handleEntityNotFound(_0x597c7c){return function(_0x2bdd65){if(!_0x2bdd65){_0x597c7c[_0x834e('0x14')](0x194);}return _0x2bdd65;};}function handleError(_0x59e635,_0x315ead){_0x315ead=_0x315ead||0x1f4;return function(_0x2ae700){logger[_0x834e('0x1f')](_0x2ae700[_0x834e('0x20')]);if(_0x2ae700[_0x834e('0x21')]){delete _0x2ae700[_0x834e('0x21')];}_0x59e635[_0x834e('0x15')](_0x315ead)[_0x834e('0x22')](_0x2ae700);};}exports['index']=function(_0x2eaa9b,_0x42bc53){var _0x57e3fe={};var _0x5a407c=_[_0x834e('0x23')](db[_0x834e('0x24')][_0x834e('0x25')],function(_0x3b4207){return{'name':_0x3b4207['fieldName'],'type':_0x3b4207[_0x834e('0x26')][_0x834e('0x27')]};});_0x57e3fe=qs[_0x834e('0x28')](_0x5a407c,_0x2eaa9b);return interaction[_0x834e('0x29')](_0x834e('0x2a'),_0x2eaa9b[_0x834e('0x2b')],_0x2eaa9b[_0x834e('0x2c')],_0x57e3fe,_0x5a407c)[_0x834e('0x1e')](respondWithFilteredResult(_0x42bc53,_0x57e3fe))[_0x834e('0x2d')](handleError(_0x42bc53,null));};exports[_0x834e('0x2e')]=function(_0x258718,_0x3f9eeb){var _0x5a442f={'raw':![],'where':{'id':_0x258718[_0x834e('0x2f')]['id']}},_0x5cbd20={};_0x5cbd20[_0x834e('0x30')]=_['keys'](db['MailInteraction'][_0x834e('0x25')]);_0x5cbd20[_0x834e('0x2b')]=_['keys'](_0x258718[_0x834e('0x2b')]);_0x5cbd20[_0x834e('0x31')]=_['intersection'](_0x5cbd20[_0x834e('0x30')],_0x5cbd20[_0x834e('0x2b')]);_0x5a442f['attributes']=_[_0x834e('0x32')](_0x5cbd20[_0x834e('0x30')],qs['fields'](_0x258718['query'][_0x834e('0x33')]));_0x5a442f[_0x834e('0x34')]=_0x5a442f[_0x834e('0x34')][_0x834e('0x35')]?_0x5a442f['attributes']:_0x5cbd20['model'];if(_0x258718[_0x834e('0x2b')][_0x834e('0x36')]){_0x5a442f[_0x834e('0x37')]=[{'all':!![]}];}_0x5a442f=_[_0x834e('0x38')]({},_0x5a442f,_0x258718[_0x834e('0x39')]);return db['MailInteraction']['find'](_0x5a442f)['then'](handleEntityNotFound(_0x3f9eeb,null))[_0x834e('0x1e')](respondWithResult(_0x3f9eeb,null))['catch'](handleError(_0x3f9eeb,null));};exports[_0x834e('0x3a')]=function(_0x4bafee,_0x47e4bb){return db['MailInteraction'][_0x834e('0x3a')](_0x4bafee[_0x834e('0x3b')],{})[_0x834e('0x1e')](respondWithResult(_0x47e4bb,0xc9))[_0x834e('0x2d')](handleError(_0x47e4bb,null));};exports['update']=function(_0x264695,_0x95d69e){if(_0x264695[_0x834e('0x3b')]['id']){delete _0x264695[_0x834e('0x3b')]['id'];}return db['MailInteraction'][_0x834e('0x3c')]({'where':{'id':_0x264695[_0x834e('0x2f')]['id']}})[_0x834e('0x1e')](handleEntityNotFound(_0x95d69e,null))[_0x834e('0x1e')](saveUpdates(_0x264695['body'],null))[_0x834e('0x1e')](respondWithResult(_0x95d69e,null))[_0x834e('0x2d')](handleError(_0x95d69e,null));};exports['destroy']=function(_0x1c67c7,_0x863f9c){return db[_0x834e('0x24')][_0x834e('0x3c')]({'where':{'id':_0x1c67c7[_0x834e('0x2f')]['id']}})[_0x834e('0x1e')](handleEntityNotFound(_0x863f9c,null))['then'](removeEntity(_0x863f9c,null))[_0x834e('0x2d')](handleError(_0x863f9c,null));};exports[_0x834e('0x3d')]=function(_0x1d600f,_0x5d1f0e){return db['MailInteraction'][_0x834e('0x3d')]()['then'](respondWithResult(_0x5d1f0e,null))[_0x834e('0x2d')](handleError(_0x5d1f0e,null));};exports[_0x834e('0x3e')]=function(_0x1f61ce,_0x21f9ec){return db[_0x834e('0x3f')]['find']({'where':{'id':_0x1f61ce[_0x834e('0x2f')]['id']}})['then'](handleEntityNotFound(_0x21f9ec,null))[_0x834e('0x1e')](function(_0xd538a4){if(_0xd538a4){return _0xd538a4[_0x834e('0x3e')](_0x1f61ce[_0x834e('0x3b')]['ids'],_['omit'](_0x1f61ce[_0x834e('0x3b')],['ids','id'])||{});}})[_0x834e('0x1e')](respondWithResult(_0x21f9ec,null))['catch'](handleError(_0x21f9ec,null));};exports['getMessages']=function(_0x3b0988,_0x464011){var _0x332e53={'raw':![],'where':{}};var _0x56b063={};var _0x3b725c={'count':0x0,'rows':[]};return db['MailInteraction'][_0x834e('0x40')]({'where':{'id':_0x3b0988[_0x834e('0x2f')]['id']}})['then'](handleEntityNotFound(_0x464011,null))[_0x834e('0x1e')](function(_0xf7d8bf){if(_0xf7d8bf){_0x56b063['model']=_[_0x834e('0x41')](db[_0x834e('0x3f')][_0x834e('0x25')]);_0x56b063['query']=_[_0x834e('0x41')](_0x3b0988[_0x834e('0x2b')]);_0x56b063[_0x834e('0x31')]=_[_0x834e('0x32')](_0x56b063[_0x834e('0x30')],_0x56b063[_0x834e('0x2b')]);_0x332e53[_0x834e('0x34')]=_[_0x834e('0x32')](_0x56b063['model'],qs['fields'](_0x3b0988[_0x834e('0x2b')][_0x834e('0x33')]));_0x332e53[_0x834e('0x34')]=_0x332e53[_0x834e('0x34')]['length']?_0x332e53[_0x834e('0x34')]:_0x56b063['model'];if(!_0x3b0988[_0x834e('0x2b')][_0x834e('0x42')](_0x834e('0x43'))){_0x332e53[_0x834e('0x1a')]=qs['limit'](_0x3b0988['query']['limit']);_0x332e53[_0x834e('0x18')]=qs[_0x834e('0x18')](_0x3b0988[_0x834e('0x2b')][_0x834e('0x18')]);}_0x332e53[_0x834e('0x44')]=qs[_0x834e('0x45')](_0x3b0988[_0x834e('0x2b')]['sort']);_0x332e53[_0x834e('0x46')]=qs['filters'](_[_0x834e('0x47')](_0x3b0988[_0x834e('0x2b')],_0x56b063[_0x834e('0x31')]));_0x332e53[_0x834e('0x46')][_0x834e('0x48')]=_0xf7d8bf['id'];if(_0x3b0988[_0x834e('0x2b')]['filter']){_0x332e53[_0x834e('0x46')]=_[_0x834e('0x38')](_0x332e53['where'],{'$or':_[_0x834e('0x23')](_0x332e53[_0x834e('0x34')],function(_0x34524c){var _0xf9d91b={};_0xf9d91b[_0x34524c]={'$like':'%'+_0x3b0988[_0x834e('0x2b')][_0x834e('0x49')]+'%'};return _0xf9d91b;})});}if(_0x3b0988[_0x834e('0x2b')][_0x834e('0x4a')]){var _0x452a3a=_0x3b0988[_0x834e('0x2b')][_0x834e('0x4a')][_0x834e('0x4b')](',');var _0x4b0bdd={};_0x4b0bdd[_0x452a3a[0x0]]={'$gte':moment(_0x452a3a[0x1])[_0x834e('0x4c')](_0x834e('0x4d'))};_0x332e53[_0x834e('0x46')]=_[_0x834e('0x38')](_0x332e53[_0x834e('0x46')],_0x4b0bdd);}_0x332e53=_[_0x834e('0x38')]({},_0x332e53,_0x3b0988['options']);return db[_0x834e('0x3f')][_0x834e('0x1b')]({'where':_0x332e53['where']})[_0x834e('0x1e')](function(_0x33065c){_0x3b725c[_0x834e('0x1b')]=_0x33065c;if(_0x3b0988['query'][_0x834e('0x36')]){_0x332e53['include']=[{'all':!![]}];}return db[_0x834e('0x3f')][_0x834e('0x29')](_0x332e53);})[_0x834e('0x1e')](function(_0x3e3339){if(_0x3b0988['query']['inlineCss']===_0x834e('0x4e')){for(var _0x11dc84=0x0;_0x11dc84<_0x3e3339[_0x834e('0x35')];_0x11dc84++){_0x3e3339[_0x11dc84][_0x834e('0x3b')]=juice(_0x3e3339[_0x11dc84]['body']);}}_0x3b725c[_0x834e('0x4f')]=_0x3e3339;return _0x3b725c;});}})[_0x834e('0x1e')](respondWithFilteredResult(_0x464011,_0x332e53))[_0x834e('0x2d')](handleError(_0x464011,null));};exports[_0x834e('0x50')]=function(_0x273ef9,_0x4480c9){return db[_0x834e('0x24')][_0x834e('0x3c')]({'where':{'id':_0x273ef9[_0x834e('0x2f')]['id']}})['then'](handleEntityNotFound(_0x4480c9,null))[_0x834e('0x1e')](function(_0x12d984){if(_0x12d984){return _0x12d984['setTags'](_0x273ef9[_0x834e('0x3b')][_0x834e('0x51')],_['omit'](_0x273ef9[_0x834e('0x3b')],[_0x834e('0x51'),'id'])||{})['spread'](function(){return db[_0x834e('0x52')]['findAll']({'attributes':['id',_0x834e('0x21'),_0x834e('0x53')],'where':{'id':_0x273ef9['body'][_0x834e('0x51')]}});})[_0x834e('0x1e')](function(_0x5ee7c2){socket['emit']('mailInteractionTags:save',{'id':Number(_0x273ef9['params']['id']),'tags':_0x5ee7c2||[]});return{'id':Number(_0x273ef9['params']['id']),'tags':_0x5ee7c2||[]};});}})[_0x834e('0x1e')](respondWithResult(_0x4480c9,null))['catch'](handleError(_0x4480c9,null));};exports[_0x834e('0x54')]=function(_0x1287ba,_0x2f2682){return db[_0x834e('0x24')]['find']({'where':{'id':_0x1287ba['params']['id']}})[_0x834e('0x1e')](handleEntityNotFound(_0x2f2682,null))[_0x834e('0x1e')](function(_0x38a3f6){if(_0x38a3f6){return _0x38a3f6[_0x834e('0x54')](_0x1287ba[_0x834e('0x2b')][_0x834e('0x51')]);}})['then'](respondWithStatusCode(_0x2f2682,null))[_0x834e('0x2d')](handleError(_0x2f2682,null));};exports['download']=function(_0xb65ebf,_0x43ccdf){var _0x100376=moment()[_0x834e('0x55')]()[_0x834e('0x56')]();var _0xd0dc46=path[_0x834e('0x57')](config[_0x834e('0x58')],_0x834e('0x59'),'files',_0x834e('0x5a'));var _0x5bf20c=path['join'](config[_0x834e('0x58')],_0x834e('0x59'),_0x834e('0x5b'),_0x834e('0x5c'));var _0x17cd1f=path[_0x834e('0x57')](_0xd0dc46,_0x100376);var _0x28bd53=util['format']('transcript-%d-%s.zip',_0xb65ebf[_0x834e('0x2f')]['id'],_0x100376);var _0x47dbba=path[_0x834e('0x57')](_0xd0dc46,_0x28bd53);var _0x111e4d=[];if(_0xb65ebf[_0x834e('0x2b')][_0x834e('0x5c')]){_0x111e4d[_0x834e('0x5d')]({'model':db[_0x834e('0x5e')],'as':_0x834e('0x5f'),'raw':!![]});}var _0x1d314d=[{'model':db['MailMessage'],'as':'Messages','attributes':['id',_0x834e('0x3b'),_0x834e('0x60'),'to','cc',_0x834e('0x61'),'subject',_0x834e('0x62')],'where':{'secret':![]},'order':qs[_0x834e('0x45')]('id'),'include':_0x111e4d}];return db['MailInteraction']['find']({'where':{'id':_0xb65ebf[_0x834e('0x2f')]['id']},'include':_0x1d314d})[_0x834e('0x1e')](handleEntityNotFound(_0x43ccdf,null))[_0x834e('0x1e')](function(_0x595f6b){if(_0x595f6b&&_0x595f6b[_0x834e('0x63')]){var _0x1b0e88=_0x595f6b[_0x834e('0x64')]({'plain':!![]});fs[_0x834e('0x65')](_0x17cd1f);return BPromise[_0x834e('0x66')](_0x1b0e88[_0x834e('0x63')],function(_0x5c69b9,_0x568262){var _0x453575={'from':_0x5c69b9[_0x834e('0x60')],'to':_0x5c69b9['to']||'missing.recipient@your.company.com','subject':_0x5c69b9[_0x834e('0x67')],'html':htmlEntities[_0x834e('0x68')](_0x5c69b9['body']),'headers':{'Date':moment(_0x5c69b9[_0x834e('0x62')])[_0x834e('0x4c')](_0x834e('0x69'))},'attachments':[]};if(_0x5c69b9['cc']){_0x453575[_0x834e('0x6a')]['Cc']=_0x5c69b9['cc'];}if(_0x5c69b9['bcc']){_0x453575[_0x834e('0x6a')]['Bcc']=_0x5c69b9[_0x834e('0x61')];}return new BPromise(function(_0x5d648a,_0x30485e){if(_0x5c69b9[_0x834e('0x5f')]){for(var _0x42cd2f=0x0;_0x42cd2f<_0x5c69b9['Attachments'][_0x834e('0x35')];_0x42cd2f++){var _0x41e62f=_0x5c69b9['Attachments'][_0x42cd2f];var _0x24d5fe=path[_0x834e('0x57')](_0x5bf20c,_0x41e62f[_0x834e('0x6b')]);if(fs[_0x834e('0x6c')](_0x24d5fe)){_0x453575[_0x834e('0x5c')][_0x834e('0x5d')]({'name':_0x41e62f[_0x834e('0x21')],'contentType':_0x41e62f['type'],'data':fs['readFileSync'](_0x24d5fe)});}}}emlformat[_0x834e('0x6d')](_0x453575,function(_0x6f6ede,_0x222466){if(_0x6f6ede)return _0x30485e(_0x6f6ede);fs[_0x834e('0x6e')](path[_0x834e('0x57')](_0x17cd1f,util['format'](_0x834e('0x6f'),_0x568262)),_0x222466);return _0x5d648a(_0x222466);});});})[_0x834e('0x1e')](function(){return new BPromise(function(_0x5b8ee9,_0x4edc22){zipdir(_0x17cd1f,{'saveTo':_0x47dbba},function(_0x2c21bc,_0xb9acf5){if(_0x2c21bc)return _0x4edc22(_0x2c21bc);return _0x5b8ee9(_0xb9acf5);});})[_0x834e('0x1e')](function(){return new BPromise(function(_0x2175ea,_0x460df0){rimraf(_0x17cd1f,function(_0x26b77d){if(_0x26b77d)_0x460df0(_0x26b77d);return _0x2175ea();});});})[_0x834e('0x1e')](function(){return _0x43ccdf[_0x834e('0x70')](_0x47dbba,_0x28bd53,function(_0x3db30e){if(!_0x3db30e)fs['unlinkSync'](_0x47dbba);});});});}else{return _0x43ccdf[_0x834e('0x14')](0xc8);}})[_0x834e('0x2d')](handleError(_0x43ccdf,null));};
\ No newline at end of file