Built motion from commit da617fac.|2.6.6
[motion2.git] / server / api / mailInteraction / mailInteraction.controller.js
index cddb2d2..baa8fd3 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xa4a0=['i.secondDisposition','i.thirdDisposition','i.substatus','i.MailAccountId','i.UserId','Contact.firstName','c.lastName','Contact.lastName','Contact.email','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.MailInteractionId\x20IN\x20?','groupBy','Setting','findOne','enableEmailPreview','all','rows','show','params','intersection','includeAll','include','merge','options','create','body','describe','addMessage','ids','getMessages','MailMessage','MailInteractionId','format','omit','spread','findAll','emit','removeTags','download','join','root','server','tmp','files','attachments','transcript-%d-%s.zip','Attachment','Attachments','Messages','get','mkdirSync','each','subject','createdAt','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','bcc','basename','existsSync','readFileSync','build','writeFileSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','papaparse','html-to-text','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','redis','./mailInteraction.socket','sendStatus','status','count','limit','set','Content-Range','apply','reject','destroy','then','end','error','stack','name','send','map','fullname','TagIds','Tags','split','forEach','push','MailInteraction','lastMsgBody','lastMsgText','trimStart','fromString','catch','rawAttributes','key','query','keys','filters','model','attributes','fields','length','hasOwnProperty','nolimit','offset','order','sort','where','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','o.id\x20=\x20i.UserId','a.id\x20=\x20i.MailAccountId','mail_messages','me.MailInteractionId\x20=\x20i.id','mail_interaction_has_tags','it.MailInteractionId\x20=\x20i.id','parseSearch','conditions','find','unreadMessages','having','`\x20>\x200','Contact','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','value','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?','union','User','operator','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','text','start','plainBody','buildExpression','some','compact','isEmpty','i.MailAccountId\x20IN\x20?','concat','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','i.id\x20LIKE\x20?','c.email\x20LIKE\x20?','MATCH\x20(i.to,\x20i.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','MATCH\x20(me.plainBody,\x20me.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','group','i.id','Sequelize','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','t.id\x20IN\x20?','resolve','MailAccountId','journey','i.MailAccountId\x20IS\x20NOT\x20NULL','role','agent','user','getMailAccounts','i.MailAccountId\x20IS\x20NULL','sequelize','toString','keyBy','a.key','a.mandatoryDisposition','i.createdAt','i.closed','i.closedAt','i.lastMsgAt','i.lastMsgDirection','i.subject','i.disposition'];(function(_0x3e123d,_0x49d448){var _0x5abffe=function(_0x414a6b){while(--_0x414a6b){_0x3e123d['push'](_0x3e123d['shift']());}};_0x5abffe(++_0x49d448);}(_0xa4a0,0x136));var _0x0a4a=function(_0x37fef9,_0x2590f6){_0x37fef9=_0x37fef9-0x0;var _0x49eec0=_0xa4a0[_0x37fef9];return _0x49eec0;};'use strict';var pdf=require(_0x0a4a('0x0'));var emlformat=require(_0x0a4a('0x1'));var rimraf=require(_0x0a4a('0x2'));var zipdir=require(_0x0a4a('0x3'));var jsonpatch=require(_0x0a4a('0x4'));var rp=require(_0x0a4a('0x5'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x0a4a('0x6'));var util=require(_0x0a4a('0x7'));var path=require(_0x0a4a('0x8'));var sox=require(_0x0a4a('0x9'));var csv=require(_0x0a4a('0xa'));var ejs=require(_0x0a4a('0xb'));var fs=require('fs');var _=require(_0x0a4a('0xc'));var squel=require(_0x0a4a('0xd'));var crypto=require(_0x0a4a('0xe'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x0a4a('0xa'));var querystring=require('querystring');var Papa=require(_0x0a4a('0xf'));var htmlToText=require(_0x0a4a('0x10'));var Redis=require(_0x0a4a('0x11'));var authService=require(_0x0a4a('0x12'));var qs=require(_0x0a4a('0x13'));var as=require(_0x0a4a('0x14'));var hardwareService=require(_0x0a4a('0x15'));var logger=require(_0x0a4a('0x16'))('api');var utils=require(_0x0a4a('0x17'));var config=require(_0x0a4a('0x18'));var licenseUtil=require(_0x0a4a('0x19'));var db=require('../../mysqldb')['db'];config[_0x0a4a('0x1a')]=_['defaults'](config[_0x0a4a('0x1a')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x0a4a('0x1b'))['register'](socket);function respondWithStatusCode(_0x78b311,_0x18f937){_0x18f937=_0x18f937||0xcc;return function(_0x565630){if(_0x565630){return _0x78b311[_0x0a4a('0x1c')](_0x18f937);}return _0x78b311[_0x0a4a('0x1d')](_0x18f937)['end']();};}function respondWithResult(_0x158818,_0x5ccc97){_0x5ccc97=_0x5ccc97||0xc8;return function(_0xf5ebe2){if(_0xf5ebe2){return _0x158818['status'](_0x5ccc97)['json'](_0xf5ebe2);}};}function respondWithFilteredResult(_0x12a444,_0x238e12){return function(_0x590c7b){if(_0x590c7b){var _0x46a453=_0x590c7b[_0x0a4a('0x1e')],_0x35d9f0=_0x238e12['offset'],_0x3a7202=_0x238e12['offset']+_0x238e12[_0x0a4a('0x1f')],_0x4e48a4;if(_0x3a7202>=_0x46a453){_0x3a7202=_0x46a453;_0x4e48a4=0xc8;}else{_0x4e48a4=0xce;}_0x12a444[_0x0a4a('0x1d')](_0x4e48a4);return _0x12a444[_0x0a4a('0x20')](_0x0a4a('0x21'),_0x35d9f0+'-'+_0x3a7202+'/'+_0x46a453)['json'](_0x590c7b);}return null;};}function patchUpdates(_0x346337){return function(_0x174210){try{jsonpatch[_0x0a4a('0x22')](_0x174210,_0x346337,!![]);}catch(_0x12e6e8){return BPromise[_0x0a4a('0x23')](_0x12e6e8);}return _0x174210['save']();};}function saveUpdates(_0x1520db,_0x48399e){return function(_0x25b795){if(_0x25b795){return _0x25b795['update'](_0x1520db)['then'](function(_0x548b25){return _0x548b25;});}return null;};}function removeEntity(_0x519c36,_0x4fd545){return function(_0x4db27b){if(_0x4db27b){return _0x4db27b[_0x0a4a('0x24')]()[_0x0a4a('0x25')](function(){_0x519c36[_0x0a4a('0x1d')](0xcc)[_0x0a4a('0x26')]();});}};}function handleEntityNotFound(_0x1bdf02,_0x247ff0){return function(_0x27d9e9){if(!_0x27d9e9){_0x1bdf02['sendStatus'](0x194);}return _0x27d9e9;};}function handleError(_0x59e4e9,_0x9b1db2){_0x9b1db2=_0x9b1db2||0x1f4;return function(_0x12c253){logger[_0x0a4a('0x27')](_0x12c253[_0x0a4a('0x28')]);if(_0x12c253['name']){delete _0x12c253[_0x0a4a('0x29')];}_0x59e4e9[_0x0a4a('0x1d')](_0x9b1db2)[_0x0a4a('0x2a')](_0x12c253);};}function getInteractionUsers(_0x505057,_0x1eb9c0){return new BPromise(function(_0x34cf6b,_0x58fa16){try{if(_0x1eb9c0[_0x505057['id']]){_0x505057['Users']=_[_0x0a4a('0x2b')](_0x1eb9c0[_0x505057['id']],function(_0x563746){return{'id':_0x563746['id'],'fullname':_0x563746[_0x0a4a('0x2c')]};});}}catch(_0x201799){_0x58fa16(_0x201799);}_0x34cf6b(_0x505057);});}function getInteractionTags(_0x435115,_0x127cea){return new BPromise(function(_0x7f20e9,_0x5788fd){try{if(_0x435115[_0x0a4a('0x2d')]){_0x435115[_0x0a4a('0x2e')]=[];_0x435115[_0x0a4a('0x2d')][_0x0a4a('0x2f')](',')[_0x0a4a('0x30')](function(_0x4aa9ad){_0x435115[_0x0a4a('0x2e')][_0x0a4a('0x31')](_0x127cea[_0x4aa9ad]);});}delete _0x435115['TagIds'];}catch(_0xbb472a){_0x5788fd(_0xbb472a);}_0x7f20e9(_0x435115);});}function getLastMessageText(_0x514759){return new BPromise(function(_0x4d0b46,_0x37641c){return db[_0x0a4a('0x32')]['findOne']({'where':{'id':_0x514759['id']},'attributes':[_0x0a4a('0x33'),_0x0a4a('0x34')],'raw':!![]})['then'](function(_0x179e2e){if(!_0x179e2e[_0x0a4a('0x34')]){_0x514759[_0x0a4a('0x34')]=_[_0x0a4a('0x35')](htmlToText[_0x0a4a('0x36')](_0x179e2e[_0x0a4a('0x33')],{'preserveNewlines':!![],'singleNewLineParagraphs':!![],'uppercaseHeadings':![],'noLinkBrackets':!![],'ignoreImage':!![]}));}else{_0x514759[_0x0a4a('0x34')]=_0x179e2e[_0x0a4a('0x34')];}_0x4d0b46(_0x514759);})[_0x0a4a('0x37')](function(_0x1a980a){_0x37641c(_0x1a980a);});});}function updateMailInteraction(_0x1be8a1,_0xc0e7e7,_0x4b3eff,_0x3d5f78){return new BPromise(function(_0x54fcce,_0x2a8511){return getInteractionUsers(_0x1be8a1,_0x4b3eff)[_0x0a4a('0x25')](function(_0x341f1f){return getInteractionTags(_0x341f1f,_0xc0e7e7);})[_0x0a4a('0x25')](function(_0x5e315e){if(_0x3d5f78){_0x54fcce(getLastMessageText(_0x5e315e));}else{_0x54fcce(_0x5e315e);}})[_0x0a4a('0x37')](function(_0x418352){_0x2a8511(_0x418352);});});}exports['index']=function(_0x750c65,_0x44bf7f){var _0x60d2e5={},_0x533798={},_0x1891e2={'count':0x0,'rows':[]};var _0x536e19=_[_0x0a4a('0x2b')](db[_0x0a4a('0x32')][_0x0a4a('0x38')],function(_0x27bf5e){return{'name':_0x27bf5e['fieldName'],'type':_0x27bf5e['type'][_0x0a4a('0x39')]};});_0x533798['model']=_[_0x0a4a('0x2b')](_0x536e19,'name');_0x533798[_0x0a4a('0x3a')]=_[_0x0a4a('0x3b')](_0x750c65[_0x0a4a('0x3a')]);_0x533798[_0x0a4a('0x3c')]=_['intersection'](_0x533798[_0x0a4a('0x3d')],_0x533798['query']);_0x60d2e5[_0x0a4a('0x3e')]=_['intersection'](_0x533798['model'],qs[_0x0a4a('0x3f')](_0x750c65[_0x0a4a('0x3a')][_0x0a4a('0x3f')]));_0x60d2e5[_0x0a4a('0x3e')]=_0x60d2e5[_0x0a4a('0x3e')][_0x0a4a('0x40')]?_0x60d2e5['attributes']:_0x533798[_0x0a4a('0x3d')];if(!_0x750c65[_0x0a4a('0x3a')][_0x0a4a('0x41')](_0x0a4a('0x42'))){_0x60d2e5[_0x0a4a('0x1f')]=qs[_0x0a4a('0x1f')](_0x750c65[_0x0a4a('0x3a')][_0x0a4a('0x1f')]);_0x60d2e5[_0x0a4a('0x43')]=qs[_0x0a4a('0x43')](_0x750c65['query']['offset']);}_0x60d2e5[_0x0a4a('0x44')]=qs[_0x0a4a('0x45')](_0x750c65[_0x0a4a('0x3a')][_0x0a4a('0x45')]);_0x60d2e5[_0x0a4a('0x46')]=qs[_0x0a4a('0x3c')](_[_0x0a4a('0x47')](_0x750c65['query'],_0x533798[_0x0a4a('0x3c')]),_0x536e19);var _0x4f32d9=[];var _0x3cb397=squel[_0x0a4a('0x48')]()['field']('id')['field']('name')[_0x0a4a('0x49')](_0x0a4a('0x4a'))[_0x0a4a('0x4b')](_0x0a4a('0x4c'));var _0x12e9a6=squel[_0x0a4a('0x48')]()[_0x0a4a('0x49')](_0x0a4a('0x4d'))[_0x0a4a('0x49')](_0x0a4a('0x4e'))[_0x0a4a('0x49')](_0x0a4a('0x4f'))[_0x0a4a('0x4b')](_0x0a4a('0x50'),'ui')['left_join'](_0x0a4a('0x51'),'u',_0x0a4a('0x52'));var _0x3deddb=squel[_0x0a4a('0x48')]()[_0x0a4a('0x4b')](_0x0a4a('0x53'),'i')[_0x0a4a('0x54')](_0x0a4a('0x55'),'c',_0x0a4a('0x56'))['left_join'](_0x0a4a('0x51'),'o',_0x0a4a('0x57'))[_0x0a4a('0x54')]('mail_accounts','a',_0x0a4a('0x58'))[_0x0a4a('0x54')](_0x0a4a('0x59'),'me',_0x0a4a('0x5a'))['left_join'](_0x0a4a('0x5b'),'it',_0x0a4a('0x5c'))[_0x0a4a('0x54')](_0x0a4a('0x4c'),'t','t.id\x20=\x20it.TagId');var _0x5ad4aa=squel['expr']();var _0x53e3e9=[];var _0x45000b=squel['expr']();var _0x1ef592;if(_0x750c65[_0x0a4a('0x3a')]['search']){_0x1ef592=as[_0x0a4a('0x5d')](_0x750c65[_0x0a4a('0x3a')]['search']);var _0x2b9b00=_0x1ef592['sqlOperator'];for(var _0x8f6c4e=0x0;_0x8f6c4e<_0x1ef592[_0x0a4a('0x5e')][_0x0a4a('0x40')];_0x8f6c4e++){var _0x19596a=_0x1ef592[_0x0a4a('0x5e')][_0x8f6c4e];var _0x507821='i';var _0x1c1a89=_[_0x0a4a('0x5f')](_0x536e19,[_0x0a4a('0x29'),_0x19596a[_0x0a4a('0x49')]]);if(!_0x1c1a89){switch(_0x19596a[_0x0a4a('0x49')]){case _0x0a4a('0x60'):if(_0x19596a['value']==0x1){_0x3deddb['having']('`'+_0x19596a[_0x0a4a('0x49')]+'`\x20=\x200');}else{_0x3deddb[_0x0a4a('0x61')]('`'+_0x19596a['field']+_0x0a4a('0x62'));}break;case _0x0a4a('0x63'):if(_0x19596a['operator']===_0x0a4a('0x64')){if(_0x19596a['value'][_0x0a4a('0x2f')]('\x20')[_0x0a4a('0x40')]>0x1){_0x5ad4aa[_0x2b9b00](_0x0a4a('0x65'),qs['getFullTextValue'](_0x19596a['value']),null);}else{var _0x43b5bf='%'+_0x19596a[_0x0a4a('0x66')]+'%';_0x5ad4aa[_0x2b9b00](_0x0a4a('0x67'),_0x43b5bf,_0x43b5bf,_0x43b5bf);}}else{_0x1c1a89=_[_0x0a4a('0x5f')](_0x536e19,[_0x0a4a('0x29'),_0x0a4a('0x68')]);_0x19596a[_0x0a4a('0x49')]=_0x0a4a('0x68');_0x4e58c8=as['buildExpression'](_0x507821,_0x1c1a89[_0x0a4a('0x69')],_0x19596a);_0x5ad4aa[_0x2b9b00](_0x4e58c8['text'],_0x4e58c8[_0x0a4a('0x66')]['start'],_0x4e58c8[_0x0a4a('0x66')][_0x0a4a('0x26')]);}break;case'Tag':var _0x263cb0=_0x19596a[_0x0a4a('0x66')]['split'](',')[_0x0a4a('0x2b')](function(_0x14c5b2){return Number(_0x14c5b2);});_0x263cb0[_0x0a4a('0x30')](function(_0x411358){_0x45000b['or'](_0x0a4a('0x6a'),'%,'+_0x411358+',%');});_0x53e3e9=_[_0x0a4a('0x6b')](_0x53e3e9,_0x263cb0);break;case _0x0a4a('0x6c'):if(_0x19596a[_0x0a4a('0x6d')]===_0x0a4a('0x64')){_0x5ad4aa[_0x2b9b00](_0x0a4a('0x6e'),'%'+_0x19596a[_0x0a4a('0x66')]+'%',null);}else{_0x1c1a89=_[_0x0a4a('0x5f')](_0x536e19,[_0x0a4a('0x29'),_0x0a4a('0x6f')]);_0x19596a['field']=_0x0a4a('0x6f');_0x4e58c8=as['buildExpression'](_0x507821,_0x1c1a89[_0x0a4a('0x69')],_0x19596a);_0x5ad4aa[_0x2b9b00](_0x4e58c8[_0x0a4a('0x70')],_0x4e58c8['value'][_0x0a4a('0x71')],_0x4e58c8[_0x0a4a('0x66')]['end']);}break;case _0x0a4a('0x72'):_0x4e58c8=as[_0x0a4a('0x73')]('me',null,_0x19596a);_0x5ad4aa[_0x2b9b00](_0x4e58c8[_0x0a4a('0x70')],_0x4e58c8[_0x0a4a('0x66')]['start'],_0x4e58c8['value'][_0x0a4a('0x26')]);break;}}else{var _0x4e58c8=as[_0x0a4a('0x73')](_0x507821,_0x1c1a89[_0x0a4a('0x69')],_0x19596a);_0x5ad4aa[_0x2b9b00](_0x4e58c8[_0x0a4a('0x70')],_0x4e58c8[_0x0a4a('0x66')][_0x0a4a('0x71')],_0x4e58c8[_0x0a4a('0x66')][_0x0a4a('0x26')]);}}}else{var _0x582263=_(_0x750c65[_0x0a4a('0x3a')])[_0x0a4a('0x3b')]()['map'](function(_0x27a787){return _[_0x0a4a('0x74')](_0x536e19,[_0x0a4a('0x29'),_0x27a787])?_0x27a787:undefined;})[_0x0a4a('0x75')]()['value']();if(!_[_0x0a4a('0x76')](_0x582263)){_0x582263[_0x0a4a('0x30')](function(_0x41ca75){if(_0x41ca75==='MailAccountId'){_0x3deddb[_0x0a4a('0x46')](_0x0a4a('0x77'),[][_0x0a4a('0x78')](_0x750c65[_0x0a4a('0x3a')][_0x41ca75]));}else if(_0x41ca75==='createdAt'){var _0x125a82=JSON[_0x0a4a('0x79')](_0x750c65[_0x0a4a('0x3a')][_0x41ca75])[_0x0a4a('0x7a')];var _0x5725f6=JSON['parse'](_0x750c65[_0x0a4a('0x3a')][_0x41ca75])[_0x0a4a('0x7b')];_0x3deddb[_0x0a4a('0x46')](_0x0a4a('0x7c'),_0x125a82,_0x5725f6);}else{if(_0x750c65[_0x0a4a('0x3a')][_0x41ca75]===_0x0a4a('0x7d')){_0x3deddb['where']('i.'+_0x41ca75+_0x0a4a('0x7e'));}else{_0x3deddb['where']('i.'+_0x41ca75+_0x0a4a('0x7f'),_0x750c65['query'][_0x41ca75]);}}});}if(_0x750c65['query']['read']){if(_0x750c65[_0x0a4a('0x3a')][_0x0a4a('0x80')]==0x1){_0x3deddb[_0x0a4a('0x61')]('`unreadMessages`\x20=\x200');}else{_0x3deddb['having'](_0x0a4a('0x81'));}}if(_0x750c65[_0x0a4a('0x3a')][_0x0a4a('0x82')]){_0x53e3e9=_[_0x0a4a('0x83')](_0x750c65[_0x0a4a('0x3a')][_0x0a4a('0x82')])?_0x750c65[_0x0a4a('0x3a')][_0x0a4a('0x82')]:new Array(_0x750c65[_0x0a4a('0x3a')][_0x0a4a('0x82')]);_0x53e3e9[_0x0a4a('0x30')](function(_0xba8814){_0x45000b['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0xba8814+',%');});}if(_0x750c65[_0x0a4a('0x3a')][_0x0a4a('0x84')]){var _0x1e7223=_0x750c65[_0x0a4a('0x3a')][_0x0a4a('0x84')][_0x0a4a('0x85')]('\x5c','\x5c\x5c')[_0x0a4a('0x85')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x1e7223)){_0x5ad4aa['or'](_0x0a4a('0x86'),_0x1e7223+'%');}else if(qs['isEmail'](_0x1e7223)){_0x5ad4aa['or'](_0x0a4a('0x87'),_0x1e7223+'%');}else{_0x5ad4aa['or'](_0x0a4a('0x88'),qs[_0x0a4a('0x89')](_0x1e7223))['or'](_0x0a4a('0x8a'),qs['getFullTextValue'](_0x1e7223));}}}_0x3deddb['where'](_0x5ad4aa);_0x3deddb[_0x0a4a('0x8b')](_0x0a4a('0x8c'));var _0x35c392={'type':db[_0x0a4a('0x8d')]['QueryTypes'][_0x0a4a('0x8e')],'raw':!![]};var _0x4b44b7=_0x3deddb[_0x0a4a('0x8f')]();_0x4b44b7[_0x0a4a('0x49')]('i.id');_0x4b44b7[_0x0a4a('0x49')](_0x0a4a('0x90'),_0x0a4a('0x60'));if(_0x60d2e5[_0x0a4a('0x44')]){_0x60d2e5[_0x0a4a('0x44')][_0x0a4a('0x30')](function(_0x2ba813){var _0x5e812f=_0x2ba813[0x0]===_0x0a4a('0x91')?_0x2ba813[0x0]:'i.'+_0x2ba813[0x0];_0x3deddb[_0x0a4a('0x44')](_0x5e812f,_0x2ba813[0x1]==='DESC'?![]:!![]);});}if(!_[_0x0a4a('0x76')](_0x53e3e9)){_0x3deddb[_0x0a4a('0x61')](_0x45000b);_0x4b44b7[_0x0a4a('0x46')](_0x0a4a('0x92'),_0x53e3e9);}BPromise[_0x0a4a('0x93')]()[_0x0a4a('0x25')](function(){if(!_0x1ef592){if(_0x750c65[_0x0a4a('0x3a')][_0x0a4a('0x94')]||_0x750c65[_0x0a4a('0x3a')][_0x0a4a('0x95')])return;_0x4b44b7['where'](_0x0a4a('0x96'));_0x3deddb[_0x0a4a('0x46')](_0x0a4a('0x96'));return;}if(_0x750c65['user'][_0x0a4a('0x97')]!==_0x0a4a('0x98'))return;return _0x750c65[_0x0a4a('0x99')][_0x0a4a('0x9a')]({'attributes':['id'],'raw':!![]})[_0x0a4a('0x25')](function(_0x4af631){if(_['isEmpty'](_0x4af631)){_0x4b44b7[_0x0a4a('0x46')](_0x0a4a('0x9b'));_0x3deddb[_0x0a4a('0x46')](_0x0a4a('0x9b'));}else{_0x4b44b7['where']('i.MailAccountId\x20IN\x20?',_[_0x0a4a('0x2b')](_0x4af631,'id'));_0x3deddb[_0x0a4a('0x46')](_0x0a4a('0x77'),_[_0x0a4a('0x2b')](_0x4af631,'id'));}});})['then'](function(){if(_0x750c65['user'][_0x0a4a('0x97')]===_0x0a4a('0x98')&&!_0x1ef592&&!_0x750c65[_0x0a4a('0x3a')][_0x0a4a('0x94')])return[];return db[_0x0a4a('0x9c')][_0x0a4a('0x3a')](_0x4b44b7[_0x0a4a('0x9d')](),_0x35c392);})[_0x0a4a('0x25')](function(_0xd70015){_0x1891e2[_0x0a4a('0x1e')]=_0xd70015[_0x0a4a('0x40')];if(_0x1891e2[_0x0a4a('0x1e')]===0x0)return[];return db[_0x0a4a('0x9c')]['query'](_0x3cb397['toString'](),_0x35c392)[_0x0a4a('0x25')](function(_0x372542){_0x4f32d9=_[_0x0a4a('0x9e')](_0x372542,'id');_0x35c392=_['merge'](_0x35c392,{'model':db[_0x0a4a('0x32')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x750c65[_0x0a4a('0x3a')][_0x0a4a('0x3f')]){_0x60d2e5['attributes'][_0x0a4a('0x30')](function(_0x1f7aac){_0x3deddb['field']('i.'+_0x1f7aac);});}else{_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0x90'),_0x0a4a('0x60'));_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0x9f'),'Account.key');_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xa0'),'Account.mandatoryDisposition');_0x3deddb[_0x0a4a('0x49')]('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','contactName');_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0x8c'));_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xa1'));_0x3deddb['field']('i.updatedAt');_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xa2'));_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xa3'));_0x3deddb[_0x0a4a('0x49')]('i.attach');_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xa4'));_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xa5'));_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xa6'));_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xa7'));_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xa8'));_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xa9'));_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xaa'));_0x3deddb[_0x0a4a('0x49')]('i.to');_0x3deddb[_0x0a4a('0x49')]('i.ContactId');_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xab'));_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xac'));_0x3deddb[_0x0a4a('0x49')]('c.firstName',_0x0a4a('0xad'));_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xae'),_0x0a4a('0xaf'));_0x3deddb[_0x0a4a('0x49')]('c.email',_0x0a4a('0xb0'));_0x3deddb[_0x0a4a('0x49')]('c.phone',_0x0a4a('0xb1'));_0x3deddb['field'](_0x0a4a('0xb2'),_0x0a4a('0xb3'));_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xb4'),_0x0a4a('0xb5'));_0x3deddb[_0x0a4a('0x49')]('o.fullname',_0x0a4a('0xb6'));_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xb7'),_0x0a4a('0xb8'));_0x3deddb[_0x0a4a('0x49')](_0x0a4a('0xb9'),_0x0a4a('0x2d'));}if(_0x60d2e5['limit'])_0x3deddb['limit'](_0x60d2e5[_0x0a4a('0x1f')]);if(_0x60d2e5['offset'])_0x3deddb[_0x0a4a('0x43')](_0x60d2e5[_0x0a4a('0x43')]);return db[_0x0a4a('0x9c')][_0x0a4a('0x3a')](_0x3deddb[_0x0a4a('0x9d')](),_0x35c392);})[_0x0a4a('0x25')](function(_0xc1bc0c){_0x12e9a6['where'](_0x0a4a('0xba'),_[_0x0a4a('0x2b')](_0xc1bc0c,'id'));return db[_0x0a4a('0x9c')][_0x0a4a('0x3a')](_0x12e9a6[_0x0a4a('0x9d')](),_0x35c392)[_0x0a4a('0x25')](function(_0x50635c){var _0x521178=_[_0x0a4a('0xbb')](_0x50635c,'MailInteractionId');var _0x3ec8ed=[];return db[_0x0a4a('0xbc')][_0x0a4a('0xbd')]({'attributes':[_0x0a4a('0xbe')],'raw':!![]})['then'](function(_0xac42fd){var _0x2c1a72=_0xac42fd[_0x0a4a('0xbe')];_0xc1bc0c[_0x0a4a('0x30')](function(_0x515726){_0x3ec8ed[_0x0a4a('0x31')](updateMailInteraction(_0x515726,_0x4f32d9,_0x521178,_0x2c1a72));});return BPromise[_0x0a4a('0xbf')](_0x3ec8ed);});});});})[_0x0a4a('0x25')](function(_0x5ea4d4){_0x1891e2[_0x0a4a('0xc0')]=_0x5ea4d4;return _0x1891e2;})[_0x0a4a('0x25')](respondWithFilteredResult(_0x44bf7f,_0x60d2e5))[_0x0a4a('0x37')](handleError(_0x44bf7f,null));};exports[_0x0a4a('0xc1')]=function(_0x266fc0,_0x8fea40){var _0x22e569={'raw':![],'where':{'id':_0x266fc0[_0x0a4a('0xc2')]['id']}},_0x34cc83={};_0x34cc83['model']=_[_0x0a4a('0x3b')](db[_0x0a4a('0x32')][_0x0a4a('0x38')]);_0x34cc83['query']=_[_0x0a4a('0x3b')](_0x266fc0['query']);_0x34cc83[_0x0a4a('0x3c')]=_[_0x0a4a('0xc3')](_0x34cc83[_0x0a4a('0x3d')],_0x34cc83[_0x0a4a('0x3a')]);_0x22e569[_0x0a4a('0x3e')]=_[_0x0a4a('0xc3')](_0x34cc83[_0x0a4a('0x3d')],qs[_0x0a4a('0x3f')](_0x266fc0[_0x0a4a('0x3a')][_0x0a4a('0x3f')]));_0x22e569[_0x0a4a('0x3e')]=_0x22e569[_0x0a4a('0x3e')]['length']?_0x22e569[_0x0a4a('0x3e')]:_0x34cc83[_0x0a4a('0x3d')];if(_0x266fc0['query'][_0x0a4a('0xc4')]){_0x22e569[_0x0a4a('0xc5')]=[{'all':!![]}];}_0x22e569=_[_0x0a4a('0xc6')]({},_0x22e569,_0x266fc0[_0x0a4a('0xc7')]);return db[_0x0a4a('0x32')][_0x0a4a('0x5f')](_0x22e569)[_0x0a4a('0x25')](handleEntityNotFound(_0x8fea40,null))['then'](respondWithResult(_0x8fea40,null))['catch'](handleError(_0x8fea40,null));};exports[_0x0a4a('0xc8')]=function(_0x36f449,_0x3fdb46){return db[_0x0a4a('0x32')][_0x0a4a('0xc8')](_0x36f449[_0x0a4a('0xc9')],{})['then'](respondWithResult(_0x3fdb46,0xc9))[_0x0a4a('0x37')](handleError(_0x3fdb46,null));};exports['update']=function(_0x21acd4,_0x4b2fe9){if(_0x21acd4[_0x0a4a('0xc9')]['id']){delete _0x21acd4[_0x0a4a('0xc9')]['id'];}return db[_0x0a4a('0x32')][_0x0a4a('0x5f')]({'where':{'id':_0x21acd4['params']['id']}})[_0x0a4a('0x25')](handleEntityNotFound(_0x4b2fe9,null))[_0x0a4a('0x25')](saveUpdates(_0x21acd4[_0x0a4a('0xc9')],null))['then'](respondWithResult(_0x4b2fe9,null))[_0x0a4a('0x37')](handleError(_0x4b2fe9,null));};exports[_0x0a4a('0x24')]=function(_0x275825,_0x354bd5){return db[_0x0a4a('0x32')][_0x0a4a('0x5f')]({'where':{'id':_0x275825[_0x0a4a('0xc2')]['id']}})[_0x0a4a('0x25')](handleEntityNotFound(_0x354bd5,null))['then'](removeEntity(_0x354bd5,null))[_0x0a4a('0x37')](handleError(_0x354bd5,null));};exports[_0x0a4a('0xca')]=function(_0x31303f,_0x3c87af){return db[_0x0a4a('0x32')][_0x0a4a('0xca')]()[_0x0a4a('0x25')](respondWithResult(_0x3c87af,null))['catch'](handleError(_0x3c87af,null));};exports[_0x0a4a('0xcb')]=function(_0x75e17a,_0x17bd99,_0x5206fc){return db['MailMessage'][_0x0a4a('0x5f')]({'where':{'id':_0x75e17a[_0x0a4a('0xc2')]['id']}})[_0x0a4a('0x25')](handleEntityNotFound(_0x17bd99,null))[_0x0a4a('0x25')](function(_0x5a9a03){if(_0x5a9a03){return _0x5a9a03[_0x0a4a('0xcb')](_0x75e17a['body'][_0x0a4a('0xcc')],_['omit'](_0x75e17a[_0x0a4a('0xc9')],[_0x0a4a('0xcc'),'id'])||{});}})[_0x0a4a('0x25')](respondWithResult(_0x17bd99,null))[_0x0a4a('0x37')](handleError(_0x17bd99,null));};exports[_0x0a4a('0xcd')]=function(_0x3270b5,_0x5acdc1,_0x5639c0){var _0x7e34c2={'raw':![],'where':{}};var _0x23bba9={};var _0x4640f5={'count':0x0,'rows':[]};return db[_0x0a4a('0x32')][_0x0a4a('0xbd')]({'where':{'id':_0x3270b5[_0x0a4a('0xc2')]['id']}})[_0x0a4a('0x25')](handleEntityNotFound(_0x5acdc1,null))[_0x0a4a('0x25')](function(_0x135ed4){if(_0x135ed4){_0x23bba9[_0x0a4a('0x3d')]=_[_0x0a4a('0x3b')](db[_0x0a4a('0xce')][_0x0a4a('0x38')]);_0x23bba9[_0x0a4a('0x3a')]=_[_0x0a4a('0x3b')](_0x3270b5[_0x0a4a('0x3a')]);_0x23bba9[_0x0a4a('0x3c')]=_['intersection'](_0x23bba9[_0x0a4a('0x3d')],_0x23bba9['query']);_0x7e34c2[_0x0a4a('0x3e')]=_[_0x0a4a('0xc3')](_0x23bba9[_0x0a4a('0x3d')],qs[_0x0a4a('0x3f')](_0x3270b5['query'][_0x0a4a('0x3f')]));_0x7e34c2['attributes']=_0x7e34c2[_0x0a4a('0x3e')][_0x0a4a('0x40')]?_0x7e34c2[_0x0a4a('0x3e')]:_0x23bba9[_0x0a4a('0x3d')];if(!_0x3270b5['query'][_0x0a4a('0x41')](_0x0a4a('0x42'))){_0x7e34c2['limit']=qs[_0x0a4a('0x1f')](_0x3270b5['query'][_0x0a4a('0x1f')]);_0x7e34c2['offset']=qs[_0x0a4a('0x43')](_0x3270b5[_0x0a4a('0x3a')]['offset']);}_0x7e34c2[_0x0a4a('0x44')]=qs[_0x0a4a('0x45')](_0x3270b5[_0x0a4a('0x3a')][_0x0a4a('0x45')]);_0x7e34c2[_0x0a4a('0x46')]=qs[_0x0a4a('0x3c')](_[_0x0a4a('0x47')](_0x3270b5[_0x0a4a('0x3a')],_0x23bba9[_0x0a4a('0x3c')]));_0x7e34c2[_0x0a4a('0x46')][_0x0a4a('0xcf')]=_0x135ed4['id'];if(_0x3270b5['query'][_0x0a4a('0x84')]){_0x7e34c2[_0x0a4a('0x46')]=_['merge'](_0x7e34c2[_0x0a4a('0x46')],{'$or':_[_0x0a4a('0x2b')](_0x7e34c2[_0x0a4a('0x3e')],function(_0x3fc9d3){var _0x3b8a68={};_0x3b8a68[_0x3fc9d3]={'$like':'%'+_0x3270b5[_0x0a4a('0x3a')][_0x0a4a('0x84')]+'%'};return _0x3b8a68;})});}if(_0x3270b5[_0x0a4a('0x3a')][_0x0a4a('0x7a')]){var _0x103f3d=_0x3270b5[_0x0a4a('0x3a')][_0x0a4a('0x7a')]['split'](',');var _0x1d6486={};_0x1d6486[_0x103f3d[0x0]]={'$gte':moment(_0x103f3d[0x1])[_0x0a4a('0xd0')]('YYYY-MM-DD\x20HH:mm:ss')};_0x7e34c2['where']=_[_0x0a4a('0xc6')](_0x7e34c2[_0x0a4a('0x46')],_0x1d6486);}_0x7e34c2=_[_0x0a4a('0xc6')]({},_0x7e34c2,_0x3270b5[_0x0a4a('0xc7')]);return db[_0x0a4a('0xce')][_0x0a4a('0x1e')]({'where':_0x7e34c2[_0x0a4a('0x46')]})[_0x0a4a('0x25')](function(_0x21c1cd){_0x4640f5[_0x0a4a('0x1e')]=_0x21c1cd;if(_0x3270b5[_0x0a4a('0x3a')][_0x0a4a('0xc4')]){_0x7e34c2[_0x0a4a('0xc5')]=[{'all':!![]}];}return db['MailMessage']['findAll'](_0x7e34c2);})[_0x0a4a('0x25')](function(_0x54d61f){_0x4640f5[_0x0a4a('0xc0')]=_0x54d61f;return _0x4640f5;});}})[_0x0a4a('0x25')](respondWithFilteredResult(_0x5acdc1,_0x7e34c2))[_0x0a4a('0x37')](handleError(_0x5acdc1,null));};exports['addTags']=function(_0x113ac2,_0x2285da,_0x321f3b){return db[_0x0a4a('0x32')][_0x0a4a('0x5f')]({'where':{'id':_0x113ac2['params']['id']}})[_0x0a4a('0x25')](handleEntityNotFound(_0x2285da,null))['then'](function(_0x4129cb){if(_0x4129cb){return _0x4129cb['setTags'](_0x113ac2[_0x0a4a('0xc9')][_0x0a4a('0xcc')],_[_0x0a4a('0xd1')](_0x113ac2[_0x0a4a('0xc9')],[_0x0a4a('0xcc'),'id'])||{})[_0x0a4a('0xd2')](function(){return db['Tag'][_0x0a4a('0xd3')]({'attributes':['id','name',_0x0a4a('0x4a')],'where':{'id':_0x113ac2['body'][_0x0a4a('0xcc')]}});})[_0x0a4a('0x25')](function(_0x51c311){socket[_0x0a4a('0xd4')]('mailInteractionTags:save',{'id':Number(_0x113ac2[_0x0a4a('0xc2')]['id']),'tags':_0x51c311||[]});return{'id':Number(_0x113ac2['params']['id']),'tags':_0x51c311||[]};});}})[_0x0a4a('0x25')](respondWithResult(_0x2285da,null))[_0x0a4a('0x37')](handleError(_0x2285da,null));};exports['removeTags']=function(_0x117189,_0x36dec7,_0x297076){return db['MailInteraction']['find']({'where':{'id':_0x117189['params']['id']}})[_0x0a4a('0x25')](handleEntityNotFound(_0x36dec7,null))[_0x0a4a('0x25')](function(_0x1fa828){if(_0x1fa828){return _0x1fa828[_0x0a4a('0xd5')](_0x117189[_0x0a4a('0x3a')][_0x0a4a('0xcc')]);}})[_0x0a4a('0x25')](respondWithStatusCode(_0x36dec7,null))['catch'](handleError(_0x36dec7,null));};exports[_0x0a4a('0xd6')]=function(_0x51b74e,_0x85a266){var _0x39fd40=moment()['unix']()[_0x0a4a('0x9d')]();var _0x40ab6c=path[_0x0a4a('0xd7')](config[_0x0a4a('0xd8')],_0x0a4a('0xd9'),'files',_0x0a4a('0xda'));var _0x452b6b=path['join'](config['root'],_0x0a4a('0xd9'),_0x0a4a('0xdb'),_0x0a4a('0xdc'));var _0xf54961=path[_0x0a4a('0xd7')](_0x40ab6c,_0x39fd40);var _0x3d06da=util[_0x0a4a('0xd0')](_0x0a4a('0xdd'),_0x51b74e[_0x0a4a('0xc2')]['id'],_0x39fd40);var _0x5f52cc=path[_0x0a4a('0xd7')](_0x40ab6c,_0x3d06da);var _0x1c74d0=[];if(_0x51b74e[_0x0a4a('0x3a')][_0x0a4a('0xdc')]){_0x1c74d0[_0x0a4a('0x31')]({'model':db[_0x0a4a('0xde')],'as':_0x0a4a('0xdf'),'raw':!![]});}var _0x5b5020=[{'model':db[_0x0a4a('0xce')],'as':_0x0a4a('0xe0'),'attributes':['id',_0x0a4a('0xc9'),_0x0a4a('0x4b'),'to','cc','bcc','subject','createdAt'],'where':{'secret':![]},'order':qs[_0x0a4a('0x45')]('id'),'include':_0x1c74d0}];return db[_0x0a4a('0x32')]['find']({'where':{'id':_0x51b74e['params']['id']},'include':_0x5b5020})['then'](handleEntityNotFound(_0x85a266,null))[_0x0a4a('0x25')](function(_0x3cce26){if(_0x3cce26&&_0x3cce26[_0x0a4a('0xe0')]){var _0x5b0a78=_0x3cce26[_0x0a4a('0xe1')]({'plain':!![]});fs[_0x0a4a('0xe2')](_0xf54961);return BPromise[_0x0a4a('0xe3')](_0x5b0a78['Messages'],function(_0xf63262,_0x2abd8e){var _0x230408={'from':_0xf63262[_0x0a4a('0x4b')],'to':_0xf63262['to'],'subject':_0xf63262[_0x0a4a('0xe4')],'html':_0xf63262['body'],'headers':{'Date':moment(_0xf63262[_0x0a4a('0xe5')])['format'](_0x0a4a('0xe6'))},'attachments':[]};if(_0xf63262['cc']){_0x230408[_0x0a4a('0xe7')]['Cc']=_0xf63262['cc'];}if(_0xf63262['bcc']){_0x230408['headers'][_0x0a4a('0xe8')]=_0xf63262[_0x0a4a('0xe9')];}return new BPromise(function(_0x378935,_0x2c3b61){if(_0xf63262[_0x0a4a('0xdf')]){for(var _0x2de348=0x0;_0x2de348<_0xf63262[_0x0a4a('0xdf')][_0x0a4a('0x40')];_0x2de348++){var _0x42c35b=_0xf63262['Attachments'][_0x2de348];var _0x48bbad=path['join'](_0x452b6b,_0x42c35b[_0x0a4a('0xea')]);if(fs[_0x0a4a('0xeb')](_0x48bbad)){_0x230408['attachments'][_0x0a4a('0x31')]({'name':_0x42c35b[_0x0a4a('0x29')],'contentType':_0x42c35b[_0x0a4a('0x69')],'data':fs[_0x0a4a('0xec')](_0x48bbad)});}}}emlformat[_0x0a4a('0xed')](_0x230408,function(_0x2e660c,_0x163611){if(_0x2e660c)return _0x2c3b61(_0x2e660c);fs[_0x0a4a('0xee')](path[_0x0a4a('0xd7')](_0xf54961,util[_0x0a4a('0xd0')]('message%d.eml',_0x2abd8e)),_0x163611);return _0x378935(_0x163611);});});})[_0x0a4a('0x25')](function(){return new BPromise(function(_0xa37f19,_0x3dbeca){zipdir(_0xf54961,{'saveTo':_0x5f52cc},function(_0x3fd467,_0x4be1d3){if(_0x3fd467)return _0x3dbeca(_0x3fd467);return _0xa37f19(_0x4be1d3);});})[_0x0a4a('0x25')](function(){return new BPromise(function(_0x37ad37,_0x2d863e){rimraf(_0xf54961,function(_0x4a7a96){if(_0x4a7a96)_0x2d863e(_0x4a7a96);return _0x37ad37();});});})['then'](function(){return _0x85a266[_0x0a4a('0xd6')](_0x5f52cc,_0x3d06da,function(_0x2de64f){if(_0x2de64f){console['log']('err',_0x2de64f);}else{fs['unlinkSync'](_0x5f52cc);}});});});}else{return _0x85a266[_0x0a4a('0x1c')](0xc8);}})['catch'](handleError(_0x85a266,null));};
\ No newline at end of file
+var _0xe9b9=['../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailInteraction.socket','status','json','undefined','count','offset','limit','set','Content-Range','update','then','destroy','end','sendStatus','error','stack','name','send','index','rawAttributes','fieldName','key','getOptions','findAll','mail','user','catch','params','model','keys','MailInteraction','query','filters','intersection','attributes','fields','length','include','find','create','body','describe','addMessage','ids','omit','getMessages','findOne','MailMessage','hasOwnProperty','nolimit','order','sort','where','MailInteractionId','filter','merge','$gte','split','YYYY-MM-DD\x20HH:mm:ss','options','includeAll','inlineCss','true','rows','addTags','spread','Tag','emit','removeTags','unix','toString','join','root','files','tmp','server','attachments','push','Attachment','Attachments','subject','createdAt','Messages','get','each','format','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','bcc','Bcc','basename','existsSync','writeFileSync','message%d.eml','download','unlinkSync','eml-format','rimraf','zip-dir','moment','bluebird','util','path','juice','../../components/parsers/qs','../../config/logger'];(function(_0x5d2af3,_0x5f0ed4){var _0x2bc29e=function(_0x357474){while(--_0x357474){_0x5d2af3['push'](_0x5d2af3['shift']());}};_0x2bc29e(++_0x5f0ed4);}(_0xe9b9,0xd4));var _0x9e9b=function(_0x13d0be,_0x4ec269){_0x13d0be=_0x13d0be-0x0;var _0x23035d=_0xe9b9[_0x13d0be];return _0x23035d;};'use strict';var emlformat=require(_0x9e9b('0x0'));var rimraf=require(_0x9e9b('0x1'));var zipdir=require(_0x9e9b('0x2'));var moment=require(_0x9e9b('0x3'));var BPromise=require(_0x9e9b('0x4'));var util=require(_0x9e9b('0x5'));var path=require(_0x9e9b('0x6'));var fs=require('fs');var _=require('lodash');var juice=require(_0x9e9b('0x7'));var Redis=require('ioredis');var interaction=require('../../components/interaction/service');var qs=require(_0x9e9b('0x8'));var logger=require(_0x9e9b('0x9'))('api');var config=require('../../config/environment');var db=require(_0x9e9b('0xa'))['db'];var htmlEntities=require('html-entities');config[_0x9e9b('0xb')]=_[_0x9e9b('0xc')](config['redis'],{'host':_0x9e9b('0xd'),'port':0x18eb});var socket=require(_0x9e9b('0xe'))(new Redis(config[_0x9e9b('0xb')]));require(_0x9e9b('0xf'))['register'](socket);function respondWithStatusCode(_0x54e13f,_0x46fa6e){_0x46fa6e=_0x46fa6e||0xcc;return function(_0x437bc1){if(_0x437bc1){return _0x54e13f['sendStatus'](_0x46fa6e);}return _0x54e13f[_0x9e9b('0x10')](_0x46fa6e)['end']();};}function respondWithResult(_0x357259,_0x5d7faa){_0x5d7faa=_0x5d7faa||0xc8;return function(_0x5a43ba){if(_0x5a43ba){return _0x357259[_0x9e9b('0x10')](_0x5d7faa)[_0x9e9b('0x11')](_0x5a43ba);}};}function respondWithFilteredResult(_0x20df67,_0x79b14c){return function(_0x28f91b){if(_0x28f91b){var _0x3b5b11=typeof _0x79b14c['offset']===_0x9e9b('0x12')&&typeof _0x79b14c['limit']==='undefined';var _0x3b4273=_0x28f91b[_0x9e9b('0x13')];var _0x429b61=_0x3b5b11?0x0:_0x79b14c[_0x9e9b('0x14')];var _0x3a0f10=_0x3b5b11?_0x28f91b[_0x9e9b('0x13')]:_0x79b14c[_0x9e9b('0x14')]+_0x79b14c[_0x9e9b('0x15')];var _0x35b933;if(_0x3a0f10>=_0x3b4273){_0x3a0f10=_0x3b4273;_0x35b933=0xc8;}else{_0x35b933=0xce;}_0x20df67[_0x9e9b('0x10')](_0x35b933);return _0x20df67[_0x9e9b('0x16')](_0x9e9b('0x17'),_0x429b61+'-'+_0x3a0f10+'/'+_0x3b4273)['json'](_0x28f91b);}return null;};}function saveUpdates(_0xaaebc1){return function(_0x5a0f38){if(_0x5a0f38){return _0x5a0f38[_0x9e9b('0x18')](_0xaaebc1)[_0x9e9b('0x19')](function(_0x7d58a){return _0x7d58a;});}return null;};}function removeEntity(_0x11ea58){return function(_0x5b27b9){if(_0x5b27b9){return _0x5b27b9[_0x9e9b('0x1a')]()['then'](function(){_0x11ea58[_0x9e9b('0x10')](0xcc)[_0x9e9b('0x1b')]();});}};}function handleEntityNotFound(_0x3f09ca){return function(_0x2c77cd){if(!_0x2c77cd){_0x3f09ca[_0x9e9b('0x1c')](0x194);}return _0x2c77cd;};}function handleError(_0x39704c,_0x56be5f){_0x56be5f=_0x56be5f||0x1f4;return function(_0xc7b149){logger[_0x9e9b('0x1d')](_0xc7b149[_0x9e9b('0x1e')]);if(_0xc7b149[_0x9e9b('0x1f')]){delete _0xc7b149[_0x9e9b('0x1f')];}_0x39704c['status'](_0x56be5f)[_0x9e9b('0x20')](_0xc7b149);};}exports[_0x9e9b('0x21')]=function(_0x553969,_0x2f3356){var _0x40fabc={};var _0x124633=_['map'](db['MailInteraction'][_0x9e9b('0x22')],function(_0x52e4e9){return{'name':_0x52e4e9[_0x9e9b('0x23')],'type':_0x52e4e9['type'][_0x9e9b('0x24')]};});_0x40fabc=qs[_0x9e9b('0x25')](_0x124633,_0x553969);return interaction[_0x9e9b('0x26')](_0x9e9b('0x27'),_0x553969['query'],_0x553969[_0x9e9b('0x28')],_0x40fabc,_0x124633)[_0x9e9b('0x19')](respondWithFilteredResult(_0x2f3356,_0x40fabc))[_0x9e9b('0x29')](handleError(_0x2f3356,null));};exports['show']=function(_0x4f5efc,_0x4b0556){var _0x115e9e={'raw':![],'where':{'id':_0x4f5efc[_0x9e9b('0x2a')]['id']}},_0x2c4f6f={};_0x2c4f6f[_0x9e9b('0x2b')]=_[_0x9e9b('0x2c')](db[_0x9e9b('0x2d')][_0x9e9b('0x22')]);_0x2c4f6f[_0x9e9b('0x2e')]=_[_0x9e9b('0x2c')](_0x4f5efc['query']);_0x2c4f6f[_0x9e9b('0x2f')]=_[_0x9e9b('0x30')](_0x2c4f6f[_0x9e9b('0x2b')],_0x2c4f6f[_0x9e9b('0x2e')]);_0x115e9e[_0x9e9b('0x31')]=_[_0x9e9b('0x30')](_0x2c4f6f['model'],qs[_0x9e9b('0x32')](_0x4f5efc[_0x9e9b('0x2e')][_0x9e9b('0x32')]));_0x115e9e['attributes']=_0x115e9e[_0x9e9b('0x31')][_0x9e9b('0x33')]?_0x115e9e[_0x9e9b('0x31')]:_0x2c4f6f['model'];if(_0x4f5efc['query']['includeAll']){_0x115e9e[_0x9e9b('0x34')]=[{'all':!![]}];}_0x115e9e=_['merge']({},_0x115e9e,_0x4f5efc['options']);return db['MailInteraction'][_0x9e9b('0x35')](_0x115e9e)[_0x9e9b('0x19')](handleEntityNotFound(_0x4b0556,null))[_0x9e9b('0x19')](respondWithResult(_0x4b0556,null))[_0x9e9b('0x29')](handleError(_0x4b0556,null));};exports[_0x9e9b('0x36')]=function(_0x4bdfa4,_0x727c66){return db[_0x9e9b('0x2d')][_0x9e9b('0x36')](_0x4bdfa4[_0x9e9b('0x37')],{})[_0x9e9b('0x19')](respondWithResult(_0x727c66,0xc9))['catch'](handleError(_0x727c66,null));};exports['update']=function(_0x597e74,_0x2b50cf){if(_0x597e74['body']['id']){delete _0x597e74[_0x9e9b('0x37')]['id'];}return db[_0x9e9b('0x2d')]['find']({'where':{'id':_0x597e74['params']['id']}})[_0x9e9b('0x19')](handleEntityNotFound(_0x2b50cf,null))['then'](saveUpdates(_0x597e74[_0x9e9b('0x37')],null))[_0x9e9b('0x19')](respondWithResult(_0x2b50cf,null))[_0x9e9b('0x29')](handleError(_0x2b50cf,null));};exports[_0x9e9b('0x1a')]=function(_0xfb98eb,_0xa8ffd0){return db[_0x9e9b('0x2d')][_0x9e9b('0x35')]({'where':{'id':_0xfb98eb[_0x9e9b('0x2a')]['id']}})[_0x9e9b('0x19')](handleEntityNotFound(_0xa8ffd0,null))[_0x9e9b('0x19')](removeEntity(_0xa8ffd0,null))[_0x9e9b('0x29')](handleError(_0xa8ffd0,null));};exports[_0x9e9b('0x38')]=function(_0x56539a,_0x8f1b4d){return db[_0x9e9b('0x2d')][_0x9e9b('0x38')]()[_0x9e9b('0x19')](respondWithResult(_0x8f1b4d,null))[_0x9e9b('0x29')](handleError(_0x8f1b4d,null));};exports[_0x9e9b('0x39')]=function(_0x68235e,_0x2d03b5){return db['MailMessage'][_0x9e9b('0x35')]({'where':{'id':_0x68235e[_0x9e9b('0x2a')]['id']}})[_0x9e9b('0x19')](handleEntityNotFound(_0x2d03b5,null))['then'](function(_0x519af6){if(_0x519af6){return _0x519af6['addMessage'](_0x68235e[_0x9e9b('0x37')][_0x9e9b('0x3a')],_[_0x9e9b('0x3b')](_0x68235e[_0x9e9b('0x37')],[_0x9e9b('0x3a'),'id'])||{});}})[_0x9e9b('0x19')](respondWithResult(_0x2d03b5,null))[_0x9e9b('0x29')](handleError(_0x2d03b5,null));};exports[_0x9e9b('0x3c')]=function(_0x2e8fdf,_0x8b4b17){var _0xb13916={'raw':![],'where':{}};var _0x5ace90={};var _0x42d1b7={'count':0x0,'rows':[]};return db['MailInteraction'][_0x9e9b('0x3d')]({'where':{'id':_0x2e8fdf[_0x9e9b('0x2a')]['id']}})[_0x9e9b('0x19')](handleEntityNotFound(_0x8b4b17,null))[_0x9e9b('0x19')](function(_0x4c1f40){if(_0x4c1f40){_0x5ace90[_0x9e9b('0x2b')]=_[_0x9e9b('0x2c')](db[_0x9e9b('0x3e')]['rawAttributes']);_0x5ace90[_0x9e9b('0x2e')]=_[_0x9e9b('0x2c')](_0x2e8fdf[_0x9e9b('0x2e')]);_0x5ace90['filters']=_[_0x9e9b('0x30')](_0x5ace90[_0x9e9b('0x2b')],_0x5ace90[_0x9e9b('0x2e')]);_0xb13916[_0x9e9b('0x31')]=_[_0x9e9b('0x30')](_0x5ace90['model'],qs[_0x9e9b('0x32')](_0x2e8fdf['query'][_0x9e9b('0x32')]));_0xb13916[_0x9e9b('0x31')]=_0xb13916['attributes'][_0x9e9b('0x33')]?_0xb13916[_0x9e9b('0x31')]:_0x5ace90[_0x9e9b('0x2b')];if(!_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x3f')](_0x9e9b('0x40'))){_0xb13916[_0x9e9b('0x15')]=qs[_0x9e9b('0x15')](_0x2e8fdf[_0x9e9b('0x2e')]['limit']);_0xb13916[_0x9e9b('0x14')]=qs[_0x9e9b('0x14')](_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x14')]);}_0xb13916[_0x9e9b('0x41')]=qs[_0x9e9b('0x42')](_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x42')]);_0xb13916['where']=qs['filters'](_['pick'](_0x2e8fdf[_0x9e9b('0x2e')],_0x5ace90[_0x9e9b('0x2f')]));_0xb13916[_0x9e9b('0x43')][_0x9e9b('0x44')]=_0x4c1f40['id'];if(_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x45')]){_0xb13916[_0x9e9b('0x43')]=_[_0x9e9b('0x46')](_0xb13916[_0x9e9b('0x43')],{'$or':_['map'](_0xb13916[_0x9e9b('0x31')],function(_0x52566b){var _0x1fcc2b={};_0x1fcc2b[_0x52566b]={'$like':'%'+_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x45')]+'%'};return _0x1fcc2b;})});}if(_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x47')]){var _0x5894c1=_0x2e8fdf['query']['$gte'][_0x9e9b('0x48')](',');var _0x4063f1={};_0x4063f1[_0x5894c1[0x0]]={'$gte':moment(_0x5894c1[0x1])['format'](_0x9e9b('0x49'))};_0xb13916[_0x9e9b('0x43')]=_[_0x9e9b('0x46')](_0xb13916[_0x9e9b('0x43')],_0x4063f1);}_0xb13916=_[_0x9e9b('0x46')]({},_0xb13916,_0x2e8fdf[_0x9e9b('0x4a')]);return db['MailMessage'][_0x9e9b('0x13')]({'where':_0xb13916[_0x9e9b('0x43')]})[_0x9e9b('0x19')](function(_0x291db3){_0x42d1b7[_0x9e9b('0x13')]=_0x291db3;if(_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x4b')]){_0xb13916[_0x9e9b('0x34')]=[{'all':!![]}];}return db[_0x9e9b('0x3e')][_0x9e9b('0x26')](_0xb13916);})[_0x9e9b('0x19')](function(_0xb29cf6){if(_0x2e8fdf[_0x9e9b('0x2e')][_0x9e9b('0x4c')]===_0x9e9b('0x4d')){for(var _0x578320=0x0;_0x578320<_0xb29cf6[_0x9e9b('0x33')];_0x578320++){_0xb29cf6[_0x578320][_0x9e9b('0x37')]=juice(_0xb29cf6[_0x578320][_0x9e9b('0x37')]);}}_0x42d1b7[_0x9e9b('0x4e')]=_0xb29cf6;return _0x42d1b7;});}})[_0x9e9b('0x19')](respondWithFilteredResult(_0x8b4b17,_0xb13916))['catch'](handleError(_0x8b4b17,null));};exports[_0x9e9b('0x4f')]=function(_0x20aab5,_0xe58f5c){return db[_0x9e9b('0x2d')]['find']({'where':{'id':_0x20aab5[_0x9e9b('0x2a')]['id']}})[_0x9e9b('0x19')](handleEntityNotFound(_0xe58f5c,null))['then'](function(_0x165f81){if(_0x165f81){return _0x165f81['setTags'](_0x20aab5[_0x9e9b('0x37')][_0x9e9b('0x3a')],_[_0x9e9b('0x3b')](_0x20aab5[_0x9e9b('0x37')],[_0x9e9b('0x3a'),'id'])||{})[_0x9e9b('0x50')](function(){return db[_0x9e9b('0x51')][_0x9e9b('0x26')]({'attributes':['id',_0x9e9b('0x1f'),'color'],'where':{'id':_0x20aab5[_0x9e9b('0x37')][_0x9e9b('0x3a')]}});})[_0x9e9b('0x19')](function(_0xe318f){socket[_0x9e9b('0x52')]('mailInteractionTags:save',{'id':Number(_0x20aab5[_0x9e9b('0x2a')]['id']),'tags':_0xe318f||[]});return{'id':Number(_0x20aab5[_0x9e9b('0x2a')]['id']),'tags':_0xe318f||[]};});}})['then'](respondWithResult(_0xe58f5c,null))['catch'](handleError(_0xe58f5c,null));};exports[_0x9e9b('0x53')]=function(_0x25fac8,_0x4cb23c){return db[_0x9e9b('0x2d')][_0x9e9b('0x35')]({'where':{'id':_0x25fac8['params']['id']}})[_0x9e9b('0x19')](handleEntityNotFound(_0x4cb23c,null))[_0x9e9b('0x19')](function(_0x1fa32b){if(_0x1fa32b){return _0x1fa32b[_0x9e9b('0x53')](_0x25fac8[_0x9e9b('0x2e')]['ids']);}})[_0x9e9b('0x19')](respondWithStatusCode(_0x4cb23c,null))['catch'](handleError(_0x4cb23c,null));};exports['download']=function(_0x3f4f92,_0x17ff59){var _0x12bdf6=moment()[_0x9e9b('0x54')]()[_0x9e9b('0x55')]();var _0x34047d=path[_0x9e9b('0x56')](config[_0x9e9b('0x57')],'server',_0x9e9b('0x58'),_0x9e9b('0x59'));var _0x541ff6=path[_0x9e9b('0x56')](config[_0x9e9b('0x57')],_0x9e9b('0x5a'),_0x9e9b('0x58'),_0x9e9b('0x5b'));var _0x40a464=path['join'](_0x34047d,_0x12bdf6);var _0x304f61=util['format']('transcript-%d-%s.zip',_0x3f4f92['params']['id'],_0x12bdf6);var _0x1d7a72=path[_0x9e9b('0x56')](_0x34047d,_0x304f61);var _0x23c591=[];if(_0x3f4f92[_0x9e9b('0x2e')][_0x9e9b('0x5b')]){_0x23c591[_0x9e9b('0x5c')]({'model':db[_0x9e9b('0x5d')],'as':_0x9e9b('0x5e'),'raw':!![]});}var _0x39b05c=[{'model':db[_0x9e9b('0x3e')],'as':'Messages','attributes':['id',_0x9e9b('0x37'),'from','to','cc','bcc',_0x9e9b('0x5f'),_0x9e9b('0x60')],'where':{'secret':![]},'order':qs[_0x9e9b('0x42')]('id'),'include':_0x23c591}];return db[_0x9e9b('0x2d')][_0x9e9b('0x35')]({'where':{'id':_0x3f4f92[_0x9e9b('0x2a')]['id']},'include':_0x39b05c})['then'](handleEntityNotFound(_0x17ff59,null))['then'](function(_0xefa082){if(_0xefa082&&_0xefa082[_0x9e9b('0x61')]){var _0x293779=_0xefa082[_0x9e9b('0x62')]({'plain':!![]});fs['mkdirSync'](_0x40a464);return BPromise[_0x9e9b('0x63')](_0x293779[_0x9e9b('0x61')],function(_0x47a4a9,_0x5100e9){var _0x971366={'from':_0x47a4a9['from'],'to':_0x47a4a9['to'],'subject':_0x47a4a9['subject'],'html':htmlEntities['decode'](_0x47a4a9[_0x9e9b('0x37')]),'headers':{'Date':moment(_0x47a4a9[_0x9e9b('0x60')])[_0x9e9b('0x64')](_0x9e9b('0x65'))},'attachments':[]};if(_0x47a4a9['cc']){_0x971366[_0x9e9b('0x66')]['Cc']=_0x47a4a9['cc'];}if(_0x47a4a9[_0x9e9b('0x67')]){_0x971366[_0x9e9b('0x66')][_0x9e9b('0x68')]=_0x47a4a9[_0x9e9b('0x67')];}return new BPromise(function(_0x452e56,_0x31b203){if(_0x47a4a9[_0x9e9b('0x5e')]){for(var _0x30acbe=0x0;_0x30acbe<_0x47a4a9[_0x9e9b('0x5e')]['length'];_0x30acbe++){var _0x16e815=_0x47a4a9[_0x9e9b('0x5e')][_0x30acbe];var _0x423d78=path[_0x9e9b('0x56')](_0x541ff6,_0x16e815[_0x9e9b('0x69')]);if(fs[_0x9e9b('0x6a')](_0x423d78)){_0x971366[_0x9e9b('0x5b')][_0x9e9b('0x5c')]({'name':_0x16e815[_0x9e9b('0x1f')],'contentType':_0x16e815['type'],'data':fs['readFileSync'](_0x423d78)});}}}emlformat['build'](_0x971366,function(_0x4cdc34,_0x197aa4){if(_0x4cdc34)return _0x31b203(_0x4cdc34);fs[_0x9e9b('0x6b')](path[_0x9e9b('0x56')](_0x40a464,util['format'](_0x9e9b('0x6c'),_0x5100e9)),_0x197aa4);return _0x452e56(_0x197aa4);});});})[_0x9e9b('0x19')](function(){return new BPromise(function(_0x5cc2a2,_0x365a3c){zipdir(_0x40a464,{'saveTo':_0x1d7a72},function(_0x37bacd,_0x2708a1){if(_0x37bacd)return _0x365a3c(_0x37bacd);return _0x5cc2a2(_0x2708a1);});})['then'](function(){return new BPromise(function(_0x540c42,_0x4922d8){rimraf(_0x40a464,function(_0x467e9c){if(_0x467e9c)_0x4922d8(_0x467e9c);return _0x540c42();});});})[_0x9e9b('0x19')](function(){return _0x17ff59[_0x9e9b('0x6d')](_0x1d7a72,_0x304f61,function(_0x32d111){if(!_0x32d111)fs[_0x9e9b('0x6e')](_0x1d7a72);});});});}else{return _0x17ff59[_0x9e9b('0x1c')](0xc8);}})[_0x9e9b('0x29')](handleError(_0x17ff59,null));};
\ No newline at end of file