5e57b067ffeb71b8d19426ac1b263a4e751378b3
[motion-next.git] / server / api / mailInteraction / mailInteraction.controller.js
1 const a406_0x7fc2=['path','bcc','i.closedAt','setTags','omit','concat','c.phone','compact','zip-dir','root','api','i.id','i.disposition','i.MailAccountId\x20IN\x20?','log','update','search','key','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','u.id\x20=\x20ui.UserId','toString','existsSync','i.createdAt','MailMessage','server','union','users','addMessage','some','forEach','ui.MailInteractionId\x20IN\x20?','o.id\x20=\x20i.UserId','stack','c.firstName','../../mysqldb','build','push','Contact.firstName','pick','mail_interactions','u.fullname','merge','trimStart','\x20=\x20?','MailInteraction','mkdirSync','Tag','i.lastMsgDirection','../../config/logger','rimraf','from','keys','join','attributes','Contact.lastName','headers','group','catch','start','send','mail_messages','getFullTextValue','MailInteractionId','i.secondDisposition','c.lastName','offset','a.id\x20=\x20i.MailAccountId','download','i.ContactId','unlinkSync','Contact.email','sqlOperator','sendStatus','html-to-text','create','i.to','length','lastMsgText','basename','resolve','QueryTypes','Contact.phone','Setting','parseSearch','Contact','sort','count','`\x20=\x200','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','i.updatedAt','attachments','$gte','color','isArray','t.id\x20=\x20it.TagId','subject','./mailInteraction.socket','order','c.email','model','c.mobile','tools_tags','t.id\x20IN\x20?','i.UserId','`unreadMessages`\x20=\x200','emit','fields','plainBody','../../config/environment','Contact.fax','value','message%d.eml','getMailAccounts','MATCH\x20(me.plainBody,\x20me.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','show','describe','filters','split','end','json','null','params','buildExpression','read','err','Messages','sequelize','i.lastMsgAt','get','Owner.internal','TagIds','journey','\x27\x27\x27\x27','isEmpty','o.fullname','o.internal','like','includeAll','limit','SELECT','a.key','operator','text','ContactId','i.MailAccountId\x20IS\x20NOT\x20NULL','user','i.thirdDisposition','transcript-%d-%s.zip','where','left_join','tmp','unreadMessages','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','replace','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','`unreadMessages`\x20>\x200','c.email\x20LIKE\x20?','a.mandatoryDisposition','format','Attachments','query','$substring','\x20IS\x20NULL','files','rows','tag','user_has_mail_interactions','../../components/parsers/advancedSearch','parse','Owner.fullname','name','unix','it.MailInteractionId\x20=\x20i.id','destroy','select','enableEmailPreview','intersection','Contact.mobile','fullname','index','$lte','lastMsgBody','then','map','../../components/parsers/qs','type','cm_contacts','Tags','find','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','field','Attachment','c.fax','u.id','status','removeTags','register','i.substatus','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','groupBy','createdAt','UserId','User','ui.MailInteractionId','MailAccountId','i.MailAccountId\x20IS\x20NULL','undefined','findOne','having','include','gte','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','`\x20>\x200','Content-Range','nolimit','i.closed','body','getMessages','options','ids','rawAttributes'];(function(_0x5dc5a1,_0x7fc2d5){const _0x1c115d=function(_0x1144a4){while(--_0x1144a4){_0x5dc5a1['push'](_0x5dc5a1['shift']());}};_0x1c115d(++_0x7fc2d5);}(a406_0x7fc2,0x1d6));const a406_0x1c11=function(_0x5dc5a1,_0x7fc2d5){_0x5dc5a1=_0x5dc5a1-0x0;let _0x1c115d=a406_0x7fc2[_0x5dc5a1];return _0x1c115d;};const _0x3dcc09=a406_0x1c11;'use strict';const emlformat=require('eml-format'),rimraf=require(_0x3dcc09('0x17')),zipdir=require(_0x3dcc09('0xcc')),moment=require('moment'),util=require('util'),path=require(_0x3dcc09('0xc4')),fs=require('fs'),_=require('lodash'),squel=require('squel'),{htmlToText}=require(_0x3dcc09('0x2f')),{getSocket}=require('../../rediscache'),socket=getSocket(),qs=require(_0x3dcc09('0x9f')),as=require(_0x3dcc09('0x8e')),logger=require(_0x3dcc09('0x16'))(_0x3dcc09('0xce')),config=require(_0x3dcc09('0x52')),db=require(_0x3dcc09('0x8'))['db'],{Op}=require('sequelize');require(_0x3dcc09('0x46'))[_0x3dcc09('0xab')](socket);function respondWithStatusCode(_0x1144a4,_0x57c5f3){return _0x57c5f3=_0x57c5f3||0xcc,function(_0x30d4f4){const _0x1c2c63=a406_0x1c11;if(_0x30d4f4)return _0x1144a4[_0x1c2c63('0x2e')](_0x57c5f3);return _0x1144a4['status'](_0x57c5f3)['end']();};}function respondWithResult(_0x5507c0,_0xcb6d48){return _0xcb6d48=_0xcb6d48||0xc8,function(_0x4df374){const _0x25443b=a406_0x1c11;if(_0x4df374)return _0x5507c0[_0x25443b('0xa9')](_0xcb6d48)[_0x25443b('0x5d')](_0x4df374);};}function respondWithFilteredResult(_0x50ee7e,_0x4f5bd7){return function(_0xeb1f9b){const _0x5e71f6=a406_0x1c11;if(_0xeb1f9b){const _0x59cd4a=_0xeb1f9b[_0x5e71f6('0x3c')],_0x11ccec=_0x4f5bd7[_0x5e71f6('0x27')];let _0x17a70a=_0x4f5bd7[_0x5e71f6('0x27')]+_0x4f5bd7[_0x5e71f6('0x70')],_0x578b4c;return _0x17a70a>=_0x59cd4a?(_0x17a70a=_0x59cd4a,_0x578b4c=0xc8):_0x578b4c=0xce,_0x50ee7e['status'](_0x578b4c),_0x50ee7e['set'](_0x5e71f6('0xbc'),_0x11ccec+'-'+_0x17a70a+'/'+_0x59cd4a)['json'](_0xeb1f9b);}return null;};}function saveUpdates(_0x6ac548){return function(_0x57f7bd){const _0x1d90e4=a406_0x1c11;if(_0x57f7bd)return _0x57f7bd[_0x1d90e4('0xd3')](_0x6ac548)['then'](function(_0x329a4b){return _0x329a4b;});return null;};}function removeEntity(_0x4bf11a){return function(_0x23903c){const _0x3126ff=a406_0x1c11;if(_0x23903c)return _0x23903c[_0x3126ff('0x94')]()[_0x3126ff('0x9d')](function(){const _0x5ad026=_0x3126ff;_0x4bf11a[_0x5ad026('0xa9')](0xcc)[_0x5ad026('0x5c')]();});};}function handleEntityNotFound(_0xf7b44a){return function(_0x1f51fe){const _0x5eb5b0=a406_0x1c11;return!_0x1f51fe&&_0xf7b44a[_0x5eb5b0('0x2e')](0x194),_0x1f51fe;};}function handleError(_0x430c6c,_0x4109cb){return _0x4109cb=_0x4109cb||0x1f4,function(_0xbf5d28){const _0x32e2ab=a406_0x1c11;logger['error'](_0xbf5d28[_0x32e2ab('0x6')]),_0xbf5d28[_0x32e2ab('0x91')]&&delete _0xbf5d28['name'],_0x430c6c[_0x32e2ab('0xa9')](_0x4109cb)[_0x32e2ab('0x21')](_0xbf5d28);};}function getInteractionUsers(_0x50817e,_0x2ce740){return new Promise(function(_0x50dc67,_0x283b44){const _0x4cd096=a406_0x1c11;try{_0x2ce740[_0x50817e['id']]&&(_0x50817e['Users']=_[_0x4cd096('0x9e')](_0x2ce740[_0x50817e['id']],function(_0x54be50){const _0x3f8b4f=_0x4cd096;return{'id':_0x54be50['id'],'fullname':_0x54be50[_0x3f8b4f('0x99')]};}));}catch(_0x21d40e){_0x283b44(_0x21d40e);}_0x50dc67(_0x50817e);});}function getInteractionTags(_0x383300,_0x35cc7c){return new Promise(function(_0x4a157a,_0x516ce0){const _0x1767c8=a406_0x1c11;try{_0x383300['TagIds']&&(_0x383300[_0x1767c8('0xa2')]=[],_0x383300[_0x1767c8('0x68')]['split'](',')[_0x1767c8('0x3')](function(_0x355d40){const _0x1062a4=_0x1767c8;_0x383300['Tags'][_0x1062a4('0xa')](_0x35cc7c[_0x355d40]);})),delete _0x383300[_0x1767c8('0x68')];}catch(_0x57f7d6){_0x516ce0(_0x57f7d6);}_0x4a157a(_0x383300);});}function getLastMessageText(_0x577731){return new Promise(function(_0x35b2b1,_0x3a2d5d){const _0x3cbe87=a406_0x1c11;return db[_0x3cbe87('0x12')][_0x3cbe87('0xb6')]({'where':{'id':_0x577731['id']},'attributes':[_0x3cbe87('0x9c'),_0x3cbe87('0x33')],'raw':!![]})['then'](function(_0x2f0fd1){const _0x282be8=_0x3cbe87;!_0x2f0fd1[_0x282be8('0x33')]?_0x577731[_0x282be8('0x33')]=_[_0x282be8('0x10')](htmlToText(_0x2f0fd1[_0x282be8('0x9c')],{'preserveNewlines':!![],'singleNewLineParagraphs':!![],'uppercaseHeadings':![],'noLinkBrackets':!![],'ignoreImage':!![]})):_0x577731[_0x282be8('0x33')]=_0x2f0fd1[_0x282be8('0x33')],_0x35b2b1(_0x577731);})['catch'](function(_0x5363ed){_0x3a2d5d(_0x5363ed);});});}function updateMailInteraction(_0x4b9c28,_0x175135,_0x58db8f,_0x36e6e4){return new Promise(function(_0x559082,_0x2fb5dd){const _0x15a09b=a406_0x1c11;return getInteractionUsers(_0x4b9c28,_0x58db8f)[_0x15a09b('0x9d')](function(_0x5b4630){return getInteractionTags(_0x5b4630,_0x175135);})[_0x15a09b('0x9d')](function(_0x41807c){_0x36e6e4?_0x559082(getLastMessageText(_0x41807c)):_0x559082(_0x41807c);})[_0x15a09b('0x1f')](function(_0x287ebf){_0x2fb5dd(_0x287ebf);});});}exports[_0x3dcc09('0x9a')]=function(_0xe7cf45,_0x2047b8){const _0x355031=_0x3dcc09,_0x38f12f={},_0x221d0c={},_0x1587e4={'count':0x0,'rows':[]},_0xc315a1=_[_0x355031('0x9e')](db[_0x355031('0x12')][_0x355031('0xc3')],function(_0xb6471a){const _0x3738c3=_0x355031;return{'name':_0xb6471a['fieldName'],'type':_0xb6471a[_0x3738c3('0xa0')][_0x3738c3('0xd5')]};});_0x221d0c['model']=_[_0x355031('0x9e')](_0xc315a1,'name'),_0x221d0c[_0x355031('0x87')]=_[_0x355031('0x19')](_0xe7cf45[_0x355031('0x87')]),_0x221d0c[_0x355031('0x5a')]=_[_0x355031('0x97')](_0x221d0c[_0x355031('0x49')],_0x221d0c[_0x355031('0x87')]),_0x38f12f[_0x355031('0x1b')]=_[_0x355031('0x97')](_0x221d0c[_0x355031('0x49')],qs[_0x355031('0x50')](_0xe7cf45[_0x355031('0x87')][_0x355031('0x50')])),_0x38f12f[_0x355031('0x1b')]=_0x38f12f[_0x355031('0x1b')][_0x355031('0x32')]?_0x38f12f[_0x355031('0x1b')]:_0x221d0c['model'];typeof _0xe7cf45[_0x355031('0x87')][_0x355031('0xbd')]==='undefined'&&(_0x38f12f[_0x355031('0x70')]=qs[_0x355031('0x70')](_0xe7cf45['query']['limit']),_0x38f12f[_0x355031('0x27')]=qs['offset'](_0xe7cf45['query'][_0x355031('0x27')]));_0x38f12f[_0x355031('0x47')]=qs[_0x355031('0x3b')](_0xe7cf45['query'][_0x355031('0x3b')]),_0x38f12f['where']=qs[_0x355031('0x5a')](_[_0x355031('0xc')](_0xe7cf45[_0x355031('0x87')],_0x221d0c[_0x355031('0x5a')]),_0xc315a1);let _0x2de21c=[];const _0x179b14=squel[_0x355031('0x95')]()[_0x355031('0xa5')]('id')[_0x355031('0xa5')](_0x355031('0x91'))[_0x355031('0xa5')](_0x355031('0x42'))[_0x355031('0x18')](_0x355031('0x4b')),_0x4be4ce=squel[_0x355031('0x95')]()[_0x355031('0xa5')](_0x355031('0xa8'))[_0x355031('0xa5')](_0x355031('0xe'))[_0x355031('0xa5')](_0x355031('0xb2'))['from'](_0x355031('0x8d'),'ui')[_0x355031('0x7b')](_0x355031('0x0'),'u',_0x355031('0xd7')),_0x4bb009=squel[_0x355031('0x95')]()[_0x355031('0x18')](_0x355031('0xd'),'i')[_0x355031('0x7b')](_0x355031('0xa1'),'c',_0x355031('0x7e'))[_0x355031('0x7b')]('users','o',_0x355031('0x5'))[_0x355031('0x7b')]('mail_accounts','a',_0x355031('0x28'))[_0x355031('0x7b')](_0x355031('0x22'),'me','me.MailInteractionId\x20=\x20i.id')['left_join']('mail_interaction_has_tags','it',_0x355031('0x93'))[_0x355031('0x7b')]('tools_tags','t',_0x355031('0x44')),_0xc27def=squel['expr']();let _0x327575=[];const _0x4a3a93=squel['expr']();let _0x2a9da5;if(_0xe7cf45[_0x355031('0x87')]['search']){_0x2a9da5=as[_0x355031('0x39')](_0xe7cf45[_0x355031('0x87')][_0x355031('0xd4')]);const _0x2145cd=_0x2a9da5[_0x355031('0x2d')];for(let _0xb91279=0x0;_0xb91279<_0x2a9da5['conditions'][_0x355031('0x32')];_0xb91279++){const _0x1a618d=_0x2a9da5['conditions'][_0xb91279],_0x2089b4='i';let _0x477cf0,_0x711275=_[_0x355031('0xa3')](_0xc315a1,[_0x355031('0x91'),_0x1a618d[_0x355031('0xa5')]]);if(!_0x711275)switch(_0x1a618d[_0x355031('0xa5')]){case _0x355031('0x7d'):_0x1a618d[_0x355031('0x54')]==0x1?_0x4bb009[_0x355031('0xb7')]('`'+_0x1a618d[_0x355031('0xa5')]+_0x355031('0x3d')):_0x4bb009[_0x355031('0xb7')]('`'+_0x1a618d[_0x355031('0xa5')]+_0x355031('0xbb'));break;case _0x355031('0x3a'):if(_0x1a618d[_0x355031('0x73')]===_0x355031('0x88')){if(_0x1a618d[_0x355031('0x54')][_0x355031('0x5b')]('\x20')['length']>0x1)_0xc27def[_0x2145cd](_0x355031('0x3e'),qs[_0x355031('0x23')](_0x1a618d[_0x355031('0x54')]),null);else{const _0x12045f='%'+_0x1a618d[_0x355031('0x54')]+'%';_0xc27def[_0x2145cd](_0x355031('0xa4'),_0x12045f,_0x12045f,_0x12045f);}}else _0x711275=_[_0x355031('0xa3')](_0xc315a1,[_0x355031('0x91'),_0x355031('0x75')]),_0x1a618d[_0x355031('0xa5')]=_0x355031('0x75'),_0x477cf0=as[_0x355031('0x60')](_0x2089b4,_0x711275[_0x355031('0xa0')],_0x1a618d),_0xc27def[_0x2145cd](_0x477cf0['text'],_0x477cf0[_0x355031('0x54')][_0x355031('0x20')],_0x477cf0[_0x355031('0x54')][_0x355031('0x5c')]);break;case _0x355031('0x14'):{const _0x3ef172=_0x1a618d[_0x355031('0x54')][_0x355031('0x5b')](',')[_0x355031('0x9e')](function(_0x5a7a93){return Number(_0x5a7a93);});_0x3ef172[_0x355031('0x3')](function(_0x403f98){const _0x170ce4=_0x355031;_0x4a3a93['or'](_0x170ce4('0x80'),'%,'+_0x403f98+',%');}),_0x327575=_[_0x355031('0xdd')](_0x327575,_0x3ef172);}break;case _0x355031('0xb1'):_0x1a618d[_0x355031('0x73')]===_0x355031('0x88')?_0xc27def[_0x2145cd](_0x355031('0xba'),'%'+_0x1a618d[_0x355031('0x54')]+'%',null):(_0x711275=_[_0x355031('0xa3')](_0xc315a1,[_0x355031('0x91'),_0x355031('0xb0')]),_0x1a618d[_0x355031('0xa5')]='UserId',_0x477cf0=as[_0x355031('0x60')](_0x2089b4,_0x711275[_0x355031('0xa0')],_0x1a618d),_0xc27def[_0x2145cd](_0x477cf0[_0x355031('0x74')],_0x477cf0['value'][_0x355031('0x20')],_0x477cf0[_0x355031('0x54')][_0x355031('0x5c')]));break;case _0x355031('0x51'):_0x477cf0=as[_0x355031('0x60')]('me',null,_0x1a618d),_0xc27def[_0x2145cd](_0x477cf0[_0x355031('0x74')],_0x477cf0[_0x355031('0x54')][_0x355031('0x20')],_0x477cf0[_0x355031('0x54')][_0x355031('0x5c')]);break;}else _0x477cf0=as[_0x355031('0x60')](_0x2089b4,_0x711275[_0x355031('0xa0')],_0x1a618d),_0xc27def[_0x2145cd](_0x477cf0[_0x355031('0x74')],_0x477cf0[_0x355031('0x54')][_0x355031('0x20')],_0x477cf0[_0x355031('0x54')][_0x355031('0x5c')]);}}else{const _0x2d55fd=_(_0xe7cf45[_0x355031('0x87')])[_0x355031('0x19')]()[_0x355031('0x9e')](function(_0x23bfd3){const _0x3e6abf=_0x355031;return _[_0x3e6abf('0x2')](_0xc315a1,[_0x3e6abf('0x91'),_0x23bfd3])?_0x23bfd3:undefined;})[_0x355031('0xcb')]()['value']();!_[_0x355031('0x6b')](_0x2d55fd)&&_0x2d55fd[_0x355031('0x3')](function(_0x25765f){const _0x16531c=_0x355031;if(_0x25765f===_0x16531c('0xb3'))_0x4bb009['where'](_0x16531c('0xd1'),[][_0x16531c('0xc9')](_0xe7cf45[_0x16531c('0x87')][_0x25765f]));else{if(_0x25765f===_0x16531c('0xaf')){const _0x5c3b1a=JSON[_0x16531c('0x8f')](_0xe7cf45[_0x16531c('0x87')][_0x25765f])[_0x16531c('0x41')],_0x18685b=JSON[_0x16531c('0x8f')](_0xe7cf45[_0x16531c('0x87')][_0x25765f])[_0x16531c('0x9b')];_0x4bb009[_0x16531c('0x7a')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x5c3b1a,_0x18685b);}else _0xe7cf45[_0x16531c('0x87')][_0x25765f]===_0x16531c('0x5e')?_0x4bb009['where']('i.'+_0x25765f+_0x16531c('0x89')):_0x4bb009['where']('i.'+_0x25765f+_0x16531c('0x11'),_0xe7cf45[_0x16531c('0x87')][_0x25765f]);}});_0xe7cf45[_0x355031('0x87')]['read']&&(_0xe7cf45[_0x355031('0x87')][_0x355031('0x61')]==0x1?_0x4bb009[_0x355031('0xb7')](_0x355031('0x4e')):_0x4bb009['having'](_0x355031('0x82')));_0xe7cf45['query'][_0x355031('0x8c')]&&(_0x327575=_[_0x355031('0x43')](_0xe7cf45[_0x355031('0x87')]['tag'])?_0xe7cf45[_0x355031('0x87')][_0x355031('0x8c')]:new Array(_0xe7cf45[_0x355031('0x87')][_0x355031('0x8c')]),_0x327575[_0x355031('0x3')](function(_0x393ae1){const _0x405a54=_0x355031;_0x4a3a93['or'](_0x405a54('0x80'),'%,'+_0x393ae1+',%');}));if(_0xe7cf45[_0x355031('0x87')][_0x355031('0x81')]){const _0x51befe=_0xe7cf45[_0x355031('0x87')]['filter'][_0x355031('0x7f')]('\x5c','\x5c\x5c')[_0x355031('0x7f')]('\x27\x27',_0x355031('0x6a'));if(qs['isNumeric'](_0x51befe))_0xc27def['or']('i.id\x20LIKE\x20?',_0x51befe+'%');else qs['isEmail'](_0x51befe)?_0xc27def['or'](_0x355031('0x83'),_0x51befe+'%'):_0xc27def['or']('MATCH\x20(i.to,\x20i.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x355031('0x23')](_0x51befe))['or'](_0x355031('0x57'),qs['getFullTextValue'](_0x51befe));}}_0x4bb009[_0x355031('0x7a')](_0xc27def),_0x4bb009[_0x355031('0x1e')](_0x355031('0xcf'));let _0x1403a7={'type':db['Sequelize'][_0x355031('0x36')][_0x355031('0x71')],'raw':!![]};const _0x54d512=_0x4bb009['clone']();_0x54d512[_0x355031('0xa5')](_0x355031('0xcf')),_0x54d512[_0x355031('0xa5')](_0x355031('0xd6'),_0x355031('0x7d')),_0x38f12f[_0x355031('0x47')]&&_0x38f12f['order']['forEach'](function(_0x4b86ba){_0x4bb009['order']('i.'+_0x4b86ba[0x0],_0x4b86ba[0x1]==='DESC'?![]:!![]);}),!_[_0x355031('0x6b')](_0x327575)&&(_0x4bb009[_0x355031('0xb7')](_0x4a3a93),_0x54d512[_0x355031('0x7a')](_0x355031('0x4c'),_0x327575)),Promise[_0x355031('0x35')]()['then'](function(){const _0xe61e08=_0x355031;if(!_0x2a9da5){if(_0xe7cf45[_0xe61e08('0x87')][_0xe61e08('0xb3')]||_0xe7cf45['query'][_0xe61e08('0x69')])return;_0x54d512[_0xe61e08('0x7a')](_0xe61e08('0x76')),_0x4bb009[_0xe61e08('0x7a')](_0xe61e08('0x76'));return;}return _0xe7cf45[_0xe61e08('0x77')][_0xe61e08('0x56')]({'attributes':['id'],'raw':!![]})['then'](function(_0x1b6b77){const _0x4dce22=_0xe61e08;_['isEmpty'](_0x1b6b77)?(_0x54d512[_0x4dce22('0x7a')](_0x4dce22('0xb4')),_0x4bb009['where'](_0x4dce22('0xb4'))):(_0x54d512[_0x4dce22('0x7a')](_0x4dce22('0xd1'),_['map'](_0x1b6b77,'id')),_0x4bb009[_0x4dce22('0x7a')]('i.MailAccountId\x20IN\x20?',_['map'](_0x1b6b77,'id')));});})[_0x355031('0x9d')](function(){const _0x37194c=_0x355031;db[_0x37194c('0x64')][_0x37194c('0x87')](_0x54d512[_0x37194c('0xd8')](),_0x1403a7)[_0x37194c('0x9d')](function(_0x367f9a){const _0x2d16ce=_0x37194c;_0x1587e4['count']=_0x367f9a[_0x2d16ce('0x32')];if(_0x1587e4['count']===0x0)return[];return db['sequelize'][_0x2d16ce('0x87')](_0x179b14['toString'](),_0x1403a7)[_0x2d16ce('0x9d')](function(_0x593421){const _0x4f91e0=_0x2d16ce;_0x2de21c=_['keyBy'](_0x593421,'id'),_0x1403a7=_[_0x4f91e0('0xf')](_0x1403a7,{'model':db[_0x4f91e0('0x12')],'mapToModel':!![],'raw':!![],'nest':!![]});_0xe7cf45[_0x4f91e0('0x87')][_0x4f91e0('0x50')]?_0x38f12f[_0x4f91e0('0x1b')][_0x4f91e0('0x3')](function(_0x1ab2a2){const _0x4e4a2c=_0x4f91e0;_0x4bb009[_0x4e4a2c('0xa5')]('i.'+_0x1ab2a2);}):(_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0xd6'),_0x4f91e0('0x7d')),_0x4bb009['field'](_0x4f91e0('0x72'),'Account.key'),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0x84'),'Account.mandatoryDisposition'),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0xcf')),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0xda')),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0x3f')),_0x4bb009['field'](_0x4f91e0('0xbe')),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0xc6')),_0x4bb009['field']('i.attach'),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0x65')),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0x15')),_0x4bb009[_0x4f91e0('0xa5')]('i.subject'),_0x4bb009['field'](_0x4f91e0('0xd0')),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0x25')),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0x78')),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0xac')),_0x4bb009['field'](_0x4f91e0('0x31')),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0x2a')),_0x4bb009[_0x4f91e0('0xa5')]('i.MailAccountId'),_0x4bb009['field'](_0x4f91e0('0x4d')),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0x7'),_0x4f91e0('0xb')),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0x26'),_0x4f91e0('0x1c')),_0x4bb009['field'](_0x4f91e0('0x48'),_0x4f91e0('0x2c')),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0xca'),_0x4f91e0('0x37')),_0x4bb009['field'](_0x4f91e0('0x4a'),_0x4f91e0('0x98')),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0xa7'),_0x4f91e0('0x53')),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0x6c'),_0x4f91e0('0x90')),_0x4bb009[_0x4f91e0('0xa5')](_0x4f91e0('0x6d'),_0x4f91e0('0x67')),_0x4bb009[_0x4f91e0('0xa5')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x4f91e0('0x68')));if(_0x38f12f[_0x4f91e0('0x70')])_0x4bb009[_0x4f91e0('0x70')](_0x38f12f[_0x4f91e0('0x70')]);if(_0x38f12f['offset'])_0x4bb009[_0x4f91e0('0x27')](_0x38f12f['offset']);return db[_0x4f91e0('0x64')][_0x4f91e0('0x87')](_0x4bb009['toString'](),_0x1403a7);})[_0x2d16ce('0x9d')](function(_0x2d5782){const _0x154641=_0x2d16ce;return _0x4be4ce['where'](_0x154641('0x4'),_['map'](_0x2d5782,'id')),db[_0x154641('0x64')]['query'](_0x4be4ce[_0x154641('0xd8')](),_0x1403a7)[_0x154641('0x9d')](function(_0x1b7d87){const _0x7fe6a4=_0x154641,_0x128a22=_[_0x7fe6a4('0xae')](_0x1b7d87,_0x7fe6a4('0x24')),_0x3e6795=[];return db[_0x7fe6a4('0x38')][_0x7fe6a4('0xb6')]({'attributes':['enableEmailPreview'],'raw':!![]})[_0x7fe6a4('0x9d')](function(_0x4468fd){const _0x1c8def=_0x7fe6a4,_0x42a06b=_0x4468fd[_0x1c8def('0x96')];return _0x2d5782[_0x1c8def('0x3')](function(_0x1d73ec){const _0x55356d=_0x1c8def;_0x3e6795[_0x55356d('0xa')](updateMailInteraction(_0x1d73ec,_0x2de21c,_0x128a22,_0x42a06b));}),Promise['all'](_0x3e6795);});});});})[_0x37194c('0x9d')](function(_0x4eb5b8){const _0xd157b1=_0x37194c;return _0x1587e4[_0xd157b1('0x8b')]=_0x4eb5b8,_0x1587e4;})[_0x37194c('0x9d')](respondWithFilteredResult(_0x2047b8,_0x38f12f));})['catch'](handleError(_0x2047b8,null));},exports[_0x3dcc09('0x58')]=function(_0x25c356,_0x331fb7){const _0x14b451=_0x3dcc09;let _0x312df2={'raw':![],'where':{'id':_0x25c356['params']['id']}};const _0x41aa5b={};return _0x41aa5b[_0x14b451('0x49')]=_[_0x14b451('0x19')](db[_0x14b451('0x12')][_0x14b451('0xc3')]),_0x41aa5b[_0x14b451('0x87')]=_[_0x14b451('0x19')](_0x25c356['query']),_0x41aa5b['filters']=_['intersection'](_0x41aa5b[_0x14b451('0x49')],_0x41aa5b[_0x14b451('0x87')]),_0x312df2[_0x14b451('0x1b')]=_[_0x14b451('0x97')](_0x41aa5b[_0x14b451('0x49')],qs[_0x14b451('0x50')](_0x25c356[_0x14b451('0x87')]['fields'])),_0x312df2[_0x14b451('0x1b')]=_0x312df2['attributes'][_0x14b451('0x32')]?_0x312df2[_0x14b451('0x1b')]:_0x41aa5b[_0x14b451('0x49')],_0x25c356['query'][_0x14b451('0x6f')]&&(_0x312df2[_0x14b451('0xb8')]=[{'all':!![]}]),_0x312df2=_[_0x14b451('0xf')]({},_0x312df2,_0x25c356[_0x14b451('0xc1')]),db[_0x14b451('0x12')][_0x14b451('0xb6')](_0x312df2)['then'](handleEntityNotFound(_0x331fb7,null))[_0x14b451('0x9d')](respondWithResult(_0x331fb7,null))[_0x14b451('0x1f')](handleError(_0x331fb7,null));},exports[_0x3dcc09('0x30')]=function(_0x313023,_0x250b85){const _0x416a37=_0x3dcc09;return db[_0x416a37('0x12')][_0x416a37('0x30')](_0x313023[_0x416a37('0xbf')],{})[_0x416a37('0x9d')](respondWithResult(_0x250b85,0xc9))[_0x416a37('0x1f')](handleError(_0x250b85,null));},exports[_0x3dcc09('0xd3')]=function(_0x3c989f,_0x56d869){const _0xa1f6b4=_0x3dcc09;return _0x3c989f[_0xa1f6b4('0xbf')]['id']&&delete _0x3c989f[_0xa1f6b4('0xbf')]['id'],db[_0xa1f6b4('0x12')]['findOne']({'where':{'id':_0x3c989f[_0xa1f6b4('0x5f')]['id']}})['then'](handleEntityNotFound(_0x56d869,null))[_0xa1f6b4('0x9d')](saveUpdates(_0x3c989f[_0xa1f6b4('0xbf')],null))['then'](respondWithResult(_0x56d869,null))['catch'](handleError(_0x56d869,null));},exports[_0x3dcc09('0x94')]=function(_0x17e553,_0x20ad25){const _0x2dbc33=_0x3dcc09;return db[_0x2dbc33('0x12')][_0x2dbc33('0xb6')]({'where':{'id':_0x17e553['params']['id']}})[_0x2dbc33('0x9d')](handleEntityNotFound(_0x20ad25,null))[_0x2dbc33('0x9d')](removeEntity(_0x20ad25,null))['catch'](handleError(_0x20ad25,null));},exports['describe']=function(_0x6fa088,_0x41ca80){const _0x1d1717=_0x3dcc09;return db[_0x1d1717('0x12')][_0x1d1717('0x59')]()[_0x1d1717('0x9d')](respondWithResult(_0x41ca80,null))[_0x1d1717('0x1f')](handleError(_0x41ca80,null));},exports[_0x3dcc09('0x1')]=function(_0x25c758,_0x2b6d3f){const _0x5cb9c5=_0x3dcc09;return db[_0x5cb9c5('0xdb')][_0x5cb9c5('0xb6')]({'where':{'id':_0x25c758['params']['id']}})[_0x5cb9c5('0x9d')](function(_0x3a18fc){const _0x5c52de=_0x5cb9c5;if(_0x3a18fc)return _0x3a18fc[_0x5c52de('0x1')](_0x25c758['body'][_0x5c52de('0xc2')],{'through':_[_0x5c52de('0xc8')](_0x25c758[_0x5c52de('0xbf')],[_0x5c52de('0xc2'),'id'])});})[_0x5cb9c5('0x9d')](respondWithResult(_0x2b6d3f,null))[_0x5cb9c5('0x1f')](handleError(_0x2b6d3f,null));},exports[_0x3dcc09('0xc0')]=function(_0x2635c3,_0x520919){const _0xa51965=_0x3dcc09;let _0x3330bc={'raw':![],'where':{}};const _0x13c2e6={},_0x103d69={'count':0x0,'rows':[]};return db['MailInteraction']['findOne']({'where':{'id':_0x2635c3[_0xa51965('0x5f')]['id']}})[_0xa51965('0x9d')](handleEntityNotFound(_0x520919,null))['then'](function(_0x139248){const _0xe71fcd=_0xa51965;if(_0x139248){_0x13c2e6[_0xe71fcd('0x49')]=_['keys'](db[_0xe71fcd('0xdb')]['rawAttributes']),_0x13c2e6[_0xe71fcd('0x87')]=_[_0xe71fcd('0x19')](_0x2635c3[_0xe71fcd('0x87')]),_0x13c2e6[_0xe71fcd('0x5a')]=_[_0xe71fcd('0x97')](_0x13c2e6[_0xe71fcd('0x49')],_0x13c2e6['query']),_0x3330bc[_0xe71fcd('0x1b')]=_[_0xe71fcd('0x97')](_0x13c2e6['model'],qs[_0xe71fcd('0x50')](_0x2635c3[_0xe71fcd('0x87')][_0xe71fcd('0x50')])),_0x3330bc[_0xe71fcd('0x1b')]=_0x3330bc[_0xe71fcd('0x1b')]['length']?_0x3330bc['attributes']:_0x13c2e6['model'];typeof _0x2635c3['query']['nolimit']===_0xe71fcd('0xb5')&&(_0x3330bc['limit']=qs[_0xe71fcd('0x70')](_0x2635c3['query'][_0xe71fcd('0x70')]),_0x3330bc[_0xe71fcd('0x27')]=qs[_0xe71fcd('0x27')](_0x2635c3[_0xe71fcd('0x87')][_0xe71fcd('0x27')]));_0x3330bc[_0xe71fcd('0x47')]=qs[_0xe71fcd('0x3b')](_0x2635c3[_0xe71fcd('0x87')][_0xe71fcd('0x3b')]),_0x3330bc['where']=qs[_0xe71fcd('0x5a')](_[_0xe71fcd('0xc')](_0x2635c3['query'],_0x13c2e6[_0xe71fcd('0x5a')])),_0x3330bc[_0xe71fcd('0x7a')][_0xe71fcd('0x24')]=_0x139248['id'];_0x2635c3[_0xe71fcd('0x87')][_0xe71fcd('0x81')]&&(_0x3330bc[_0xe71fcd('0x7a')]=_[_0xe71fcd('0xf')](_0x3330bc['where'],{[Op['or']]:_[_0xe71fcd('0x9e')](_0x3330bc[_0xe71fcd('0x1b')],function(_0x5d7590){const _0x5cbf27=_0xe71fcd,_0x39e6a4={};return _0x39e6a4[_0x5d7590]={[Op[_0x5cbf27('0x6e')]]:'%'+_0x2635c3[_0x5cbf27('0x87')]['filter']+'%'},_0x39e6a4;})}));if(_0x2635c3[_0xe71fcd('0x87')][_0xe71fcd('0x41')]){const _0x2f0146=_0x2635c3[_0xe71fcd('0x87')][_0xe71fcd('0x41')]['split'](','),_0x485df0={};_0x485df0[_0x2f0146[0x0]]={[Op[_0xe71fcd('0xb9')]]:moment(_0x2f0146[0x1])[_0xe71fcd('0x85')]('YYYY-MM-DD\x20HH:mm:ss')},_0x3330bc[_0xe71fcd('0x7a')]=_['merge'](_0x3330bc[_0xe71fcd('0x7a')],_0x485df0);}return _0x3330bc=_[_0xe71fcd('0xf')]({},_0x3330bc,_0x2635c3['options']),db[_0xe71fcd('0xdb')][_0xe71fcd('0x3c')]({'where':_0x3330bc[_0xe71fcd('0x7a')]})[_0xe71fcd('0x9d')](function(_0x51515a){const _0x37ad12=_0xe71fcd;return _0x103d69[_0x37ad12('0x3c')]=_0x51515a,_0x2635c3['query'][_0x37ad12('0x6f')]&&(_0x3330bc['include']=[{'all':!![]}]),db[_0x37ad12('0xdb')]['findAll'](_0x3330bc);})[_0xe71fcd('0x9d')](function(_0x432583){const _0x1701bd=_0xe71fcd;return _0x103d69[_0x1701bd('0x8b')]=_0x432583,_0x103d69;});}})[_0xa51965('0x9d')](respondWithFilteredResult(_0x520919,_0x3330bc))[_0xa51965('0x1f')](handleError(_0x520919,null));},exports['addTags']=function(_0x16a2b3,_0x24b8a6){const _0x47bb0e=_0x3dcc09;return db['MailInteraction'][_0x47bb0e('0xb6')]({'where':{'id':_0x16a2b3['params']['id']}})['then'](function(_0xe8a06c){const _0x13edea=_0x47bb0e;if(_0xe8a06c)return _0xe8a06c[_0x13edea('0xc7')](_0x16a2b3[_0x13edea('0xbf')][_0x13edea('0xc2')],{'through':_[_0x13edea('0xc8')](_0x16a2b3['body'],[_0x13edea('0xc2'),'id'])})[_0x13edea('0x9d')](function(){const _0x1cc473=_0x13edea;return db['Tag']['findAll']({'attributes':['id',_0x1cc473('0x91'),'color'],'where':{'id':_0x16a2b3[_0x1cc473('0xbf')]['ids']}});})[_0x13edea('0x9d')](function(_0xcb1a88){const _0x405051=_0x13edea;return socket[_0x405051('0x4f')]('mailInteractionTags:save',{'id':Number(_0x16a2b3['params']['id']),'tags':_0xcb1a88||[]}),{'id':Number(_0x16a2b3[_0x405051('0x5f')]['id']),'tags':_0xcb1a88||[]};});})[_0x47bb0e('0x9d')](respondWithResult(_0x24b8a6,null))['catch'](handleError(_0x24b8a6,null));},exports[_0x3dcc09('0xaa')]=function(_0x8a1d4,_0x962ba5){const _0x3b3e09=_0x3dcc09;return db[_0x3b3e09('0x12')]['findOne']({'where':{'id':_0x8a1d4[_0x3b3e09('0x5f')]['id']}})[_0x3b3e09('0x9d')](handleEntityNotFound(_0x962ba5,null))['then'](function(_0x1c101f){const _0x1d5588=_0x3b3e09;if(_0x1c101f)return _0x1c101f[_0x1d5588('0xaa')](_0x8a1d4['query'][_0x1d5588('0xc2')]);})[_0x3b3e09('0x9d')](respondWithStatusCode(_0x962ba5,null))[_0x3b3e09('0x1f')](handleError(_0x962ba5,null));},exports[_0x3dcc09('0x29')]=function(_0x1e3ca6,_0x48418e){const _0xa99e60=_0x3dcc09,_0xa28b8d=moment()[_0xa99e60('0x92')]()[_0xa99e60('0xd8')](),_0x1a22a0=path[_0xa99e60('0x1a')](config[_0xa99e60('0xcd')],_0xa99e60('0x8a'),_0xa99e60('0x7c')),_0x37ae72=path[_0xa99e60('0x1a')](config['root'],_0xa99e60('0xdc'),_0xa99e60('0x8a'),_0xa99e60('0x40')),_0x5405c2=path[_0xa99e60('0x1a')](_0x1a22a0,_0xa28b8d),_0x4eaa8e=util[_0xa99e60('0x85')](_0xa99e60('0x79'),_0x1e3ca6[_0xa99e60('0x5f')]['id'],_0xa28b8d),_0x319116=path[_0xa99e60('0x1a')](_0x1a22a0,_0x4eaa8e),_0x4c56ce=[];_0x1e3ca6[_0xa99e60('0x87')][_0xa99e60('0x40')]&&_0x4c56ce[_0xa99e60('0xa')]({'model':db[_0xa99e60('0xa6')],'as':'Attachments','raw':!![]});const _0x24acc2=[{'model':db[_0xa99e60('0xdb')],'as':_0xa99e60('0x63'),'attributes':['id',_0xa99e60('0xbf'),_0xa99e60('0x18'),'to','cc',_0xa99e60('0xc5'),_0xa99e60('0x45'),_0xa99e60('0xaf')],'where':{'secret':![]},'order':qs[_0xa99e60('0x3b')]('id'),'include':_0x4c56ce}];return db[_0xa99e60('0x12')][_0xa99e60('0xb6')]({'where':{'id':_0x1e3ca6['params']['id']},'include':_0x24acc2})[_0xa99e60('0x9d')](handleEntityNotFound(_0x48418e,null))[_0xa99e60('0x9d')](function(_0x1962e6){const _0x5e35a7=_0xa99e60;if(_0x1962e6&&_0x1962e6[_0x5e35a7('0x63')]){const _0xb14931=_0x1962e6[_0x5e35a7('0x66')]({'plain':!![]});return fs[_0x5e35a7('0x13')](_0x5405c2),Promise['all'](_0xb14931['Messages'][_0x5e35a7('0x9e')]((_0x8170de,_0x5f44cf)=>{const _0x3145a1=_0x5e35a7,_0x2954c7={'from':_0x8170de['from'],'to':_0x8170de['to'],'subject':_0x8170de[_0x3145a1('0x45')],'html':_0x8170de['body'],'headers':{'Date':moment(_0x8170de[_0x3145a1('0xaf')])[_0x3145a1('0x85')](_0x3145a1('0xad'))},'attachments':[]};return _0x8170de['cc']&&(_0x2954c7[_0x3145a1('0x1d')]['Cc']=_0x8170de['cc']),_0x8170de[_0x3145a1('0xc5')]&&(_0x2954c7['headers']['Bcc']=_0x8170de[_0x3145a1('0xc5')]),new Promise(function(_0x216e27,_0x2a0bf4){const _0x2e03a2=_0x3145a1;if(_0x8170de[_0x2e03a2('0x86')])for(let _0x138f31=0x0;_0x138f31<_0x8170de[_0x2e03a2('0x86')][_0x2e03a2('0x32')];_0x138f31++){const _0x53016e=_0x8170de[_0x2e03a2('0x86')][_0x138f31],_0x395bd1=path['join'](_0x37ae72,_0x53016e[_0x2e03a2('0x34')]);fs[_0x2e03a2('0xd9')](_0x395bd1)&&_0x2954c7[_0x2e03a2('0x40')][_0x2e03a2('0xa')]({'name':_0x53016e[_0x2e03a2('0x91')],'contentType':_0x53016e[_0x2e03a2('0xa0')],'data':fs['readFileSync'](_0x395bd1)});}emlformat[_0x2e03a2('0x9')](_0x2954c7,function(_0x2bb319,_0x2ed2f9){const _0x4e11f0=_0x2e03a2;if(_0x2bb319)return _0x2a0bf4(_0x2bb319);return fs['writeFileSync'](path[_0x4e11f0('0x1a')](_0x5405c2,util[_0x4e11f0('0x85')](_0x4e11f0('0x55'),_0x5f44cf)),_0x2ed2f9),_0x216e27(_0x2ed2f9);});});})['then'](function(){const _0x5ab92f=_0x5e35a7;return new Promise(function(_0x1eb3f3,_0x4fc319){zipdir(_0x5405c2,{'saveTo':_0x319116},function(_0x186cc4,_0x5a465e){if(_0x186cc4)return _0x4fc319(_0x186cc4);return _0x1eb3f3(_0x5a465e);});})[_0x5ab92f('0x9d')](function(){return new Promise(function(_0x174cb4,_0x491fc2){rimraf(_0x5405c2,function(_0x350514){if(_0x350514)_0x491fc2(_0x350514);return _0x174cb4();});});})[_0x5ab92f('0x9d')](function(){const _0x580a19=_0x5ab92f;return _0x48418e[_0x580a19('0x29')](_0x319116,_0x4eaa8e,function(_0xc39311){const _0x1ea82c=_0x580a19;_0xc39311?console[_0x1ea82c('0xd2')](_0x1ea82c('0x62'),_0xc39311):fs[_0x1ea82c('0x2b')](_0x319116);});});}));}else return _0x48418e[_0x5e35a7('0x2e')](0xc8);})[_0xa99e60('0x1f')](handleError(_0x48418e,null));};