Built motion from commit (unavailable).|2.5.21
[motion2.git] / server / api / mailInteraction / mailInteraction.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x84a0=['replace','isEmail','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)','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','isEmpty','t.id\x20IN\x20?','MailAccountId','i.MailAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getMailAccounts','i.MailAccountId\x20IS\x20NULL','sequelize','toString','merge','a.key','a.mandatoryDisposition','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.closed','i.closedAt','i.attach','i.lastMsgDirection','i.subject','i.disposition','i.thirdDisposition','i.to','i.ContactId','i.UserId','c.firstName','Contact.firstName','c.email','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','includeAll','include','options','create','body','params','describe','addMessage','MailMessage','ids','getMessages','hasOwnProperty','nolimit','format','findAll','inlineCss','true','addTags','setTags','omit','spread','emit','mailInteractionTags:save','removeTags','download','server','files','tmp','join','root','attachments','transcript-%d-%s.zip','bcc','subject','Messages','mkdirSync','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','Bcc','Attachments','basename','existsSync','readFileSync','build','writeFileSync','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','util','path','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','html-to-text','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailInteraction.socket','sendStatus','status','count','offset','limit','set','Content-Range','json','apply','reject','save','update','then','destroy','end','name','send','Users','fullname','TagIds','Tags','split','forEach','push','MailInteraction','findOne','lastMsgBody','lastMsgText','trimStart','fromString','catch','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','order','sort','pick','select','field','from','tools_tags','u.id','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','mail_accounts','a.id\x20=\x20i.MailAccountId','mail_messages','me.MailInteractionId\x20=\x20i.id','mail_interaction_has_tags','it.MailInteractionId\x20=\x20i.id','expr','parseSearch','search','unreadMessages','value','having','`\x20>\x200','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','ContactId','text','start','Tag','union','User','find','UserId','buildExpression','plainBody','some','compact','where','i.MailAccountId\x20IN\x20?','concat','createdAt','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter'];(function(_0x40a045,_0x516f0e){var _0x1a687c=function(_0x48c9fe){while(--_0x48c9fe){_0x40a045['push'](_0x40a045['shift']());}};_0x1a687c(++_0x516f0e);}(_0x84a0,0x66));var _0x084a=function(_0x19b709,_0x373b44){_0x19b709=_0x19b709-0x0;var _0x29eb28=_0x84a0[_0x19b709];return _0x29eb28;};'use strict';var pdf=require(_0x084a('0x0'));var emlformat=require(_0x084a('0x1'));var rimraf=require(_0x084a('0x2'));var zipdir=require(_0x084a('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x084a('0x4'));var moment=require(_0x084a('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x084a('0x6'));var path=require(_0x084a('0x7'));var sox=require('sox');var csv=require(_0x084a('0x8'));var ejs=require(_0x084a('0x9'));var fs=require('fs');var _=require(_0x084a('0xa'));var squel=require(_0x084a('0xb'));var crypto=require(_0x084a('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x084a('0xd'));var toCsv=require(_0x084a('0x8'));var querystring=require(_0x084a('0xe'));var Papa=require(_0x084a('0xf'));var htmlToText=require(_0x084a('0x10'));var juice=require('juice');var Redis=require('ioredis');var authService=require(_0x084a('0x11'));var qs=require(_0x084a('0x12'));var as=require(_0x084a('0x13'));var hardwareService=require(_0x084a('0x14'));var logger=require(_0x084a('0x15'))('api');var utils=require('../../config/utils');var config=require(_0x084a('0x16'));var licenseUtil=require(_0x084a('0x17'));var db=require(_0x084a('0x18'))['db'];config[_0x084a('0x19')]=_[_0x084a('0x1a')](config[_0x084a('0x19')],{'host':_0x084a('0x1b'),'port':0x18eb});var socket=require(_0x084a('0x1c'))(new Redis(config['redis']));require(_0x084a('0x1d'))['register'](socket);function respondWithStatusCode(_0x225de0,_0x3ccaca){_0x3ccaca=_0x3ccaca||0xcc;return function(_0x366624){if(_0x366624){return _0x225de0[_0x084a('0x1e')](_0x3ccaca);}return _0x225de0[_0x084a('0x1f')](_0x3ccaca)['end']();};}function respondWithResult(_0x443ebb,_0x4abd81){_0x4abd81=_0x4abd81||0xc8;return function(_0x6799af){if(_0x6799af){return _0x443ebb[_0x084a('0x1f')](_0x4abd81)['json'](_0x6799af);}};}function respondWithFilteredResult(_0xf2c333,_0x32c729){return function(_0x4134b9){if(_0x4134b9){var _0x14bb19=_0x4134b9[_0x084a('0x20')],_0x33d3a6=_0x32c729[_0x084a('0x21')],_0x145636=_0x32c729[_0x084a('0x21')]+_0x32c729[_0x084a('0x22')],_0x447a19;if(_0x145636>=_0x14bb19){_0x145636=_0x14bb19;_0x447a19=0xc8;}else{_0x447a19=0xce;}_0xf2c333[_0x084a('0x1f')](_0x447a19);return _0xf2c333[_0x084a('0x23')](_0x084a('0x24'),_0x33d3a6+'-'+_0x145636+'/'+_0x14bb19)[_0x084a('0x25')](_0x4134b9);}return null;};}function patchUpdates(_0x506f71){return function(_0x343c5c){try{jsonpatch[_0x084a('0x26')](_0x343c5c,_0x506f71,!![]);}catch(_0x41a90f){return BPromise[_0x084a('0x27')](_0x41a90f);}return _0x343c5c[_0x084a('0x28')]();};}function saveUpdates(_0x4865c8,_0x755c24){return function(_0x288e9e){if(_0x288e9e){return _0x288e9e[_0x084a('0x29')](_0x4865c8)[_0x084a('0x2a')](function(_0x18b43d){return _0x18b43d;});}return null;};}function removeEntity(_0x3cdc1e,_0x5be167){return function(_0x297e5b){if(_0x297e5b){return _0x297e5b[_0x084a('0x2b')]()[_0x084a('0x2a')](function(){_0x3cdc1e['status'](0xcc)[_0x084a('0x2c')]();});}};}function handleEntityNotFound(_0x3dd8b9,_0xfc9b8c){return function(_0x4c5658){if(!_0x4c5658){_0x3dd8b9['sendStatus'](0x194);}return _0x4c5658;};}function handleError(_0x4874fe,_0x52227a){_0x52227a=_0x52227a||0x1f4;return function(_0x33b88f){logger['error'](_0x33b88f['stack']);if(_0x33b88f['name']){delete _0x33b88f[_0x084a('0x2d')];}_0x4874fe[_0x084a('0x1f')](_0x52227a)[_0x084a('0x2e')](_0x33b88f);};}function getInteractionUsers(_0x2c4149,_0x3be7a6){return new BPromise(function(_0x25a2a1,_0x378de6){try{if(_0x3be7a6[_0x2c4149['id']]){_0x2c4149[_0x084a('0x2f')]=_['map'](_0x3be7a6[_0x2c4149['id']],function(_0x2ed3cd){return{'id':_0x2ed3cd['id'],'fullname':_0x2ed3cd[_0x084a('0x30')]};});}}catch(_0x501a16){_0x378de6(_0x501a16);}_0x25a2a1(_0x2c4149);});}function getInteractionTags(_0xe1980b,_0x24bcf5){return new BPromise(function(_0x225000,_0x19937c){try{if(_0xe1980b[_0x084a('0x31')]){_0xe1980b[_0x084a('0x32')]=[];_0xe1980b[_0x084a('0x31')][_0x084a('0x33')](',')[_0x084a('0x34')](function(_0x2f59a6){_0xe1980b[_0x084a('0x32')][_0x084a('0x35')](_0x24bcf5[_0x2f59a6]);});}delete _0xe1980b[_0x084a('0x31')];}catch(_0x49c9db){_0x19937c(_0x49c9db);}_0x225000(_0xe1980b);});}function getLastMessageText(_0x54ff9b){return new BPromise(function(_0x1ecc73,_0x282fcc){return db[_0x084a('0x36')][_0x084a('0x37')]({'where':{'id':_0x54ff9b['id']},'attributes':[_0x084a('0x38'),'lastMsgText'],'raw':!![]})[_0x084a('0x2a')](function(_0x1b56ad){if(!_0x1b56ad[_0x084a('0x39')]){_0x54ff9b['lastMsgText']=_[_0x084a('0x3a')](htmlToText[_0x084a('0x3b')](_0x1b56ad[_0x084a('0x38')],{'preserveNewlines':!![],'singleNewLineParagraphs':!![],'uppercaseHeadings':![],'noLinkBrackets':!![],'ignoreImage':!![]}));}else{_0x54ff9b['lastMsgText']=_0x1b56ad['lastMsgText'];}_0x1ecc73(_0x54ff9b);})['catch'](function(_0xf97d1b){_0x282fcc(_0xf97d1b);});});}function updateMailInteraction(_0x2e1806,_0x1444ed,_0x4e594f,_0x3c09c3){return new BPromise(function(_0x27e5bd,_0x3f9533){return getInteractionUsers(_0x2e1806,_0x4e594f)[_0x084a('0x2a')](function(_0x28a0a5){return getInteractionTags(_0x28a0a5,_0x1444ed);})[_0x084a('0x2a')](function(_0x175c64){if(_0x3c09c3){_0x27e5bd(getLastMessageText(_0x175c64));}else{_0x27e5bd(_0x175c64);}})[_0x084a('0x3c')](function(_0x434a06){_0x3f9533(_0x434a06);});});}exports[_0x084a('0x3d')]=function(_0x866960,_0x1454a9){var _0x284cdc={},_0x1659d3={},_0x10983f={'count':0x0,'rows':[]};var _0x597d87=_[_0x084a('0x3e')](db[_0x084a('0x36')][_0x084a('0x3f')],function(_0x37f630){return{'name':_0x37f630[_0x084a('0x40')],'type':_0x37f630[_0x084a('0x41')][_0x084a('0x42')]};});_0x1659d3[_0x084a('0x43')]=_[_0x084a('0x3e')](_0x597d87,'name');_0x1659d3[_0x084a('0x44')]=_[_0x084a('0x45')](_0x866960[_0x084a('0x44')]);_0x1659d3[_0x084a('0x46')]=_[_0x084a('0x47')](_0x1659d3[_0x084a('0x43')],_0x1659d3['query']);_0x284cdc[_0x084a('0x48')]=_[_0x084a('0x47')](_0x1659d3['model'],qs[_0x084a('0x49')](_0x866960[_0x084a('0x44')][_0x084a('0x49')]));_0x284cdc['attributes']=_0x284cdc[_0x084a('0x48')][_0x084a('0x4a')]?_0x284cdc['attributes']:_0x1659d3[_0x084a('0x43')];if(!_0x866960[_0x084a('0x44')]['hasOwnProperty']('nolimit')){_0x284cdc[_0x084a('0x22')]=qs[_0x084a('0x22')](_0x866960[_0x084a('0x44')][_0x084a('0x22')]);_0x284cdc[_0x084a('0x21')]=qs[_0x084a('0x21')](_0x866960[_0x084a('0x44')][_0x084a('0x21')]);}_0x284cdc[_0x084a('0x4b')]=qs[_0x084a('0x4c')](_0x866960[_0x084a('0x44')]['sort']);_0x284cdc['where']=qs[_0x084a('0x46')](_[_0x084a('0x4d')](_0x866960[_0x084a('0x44')],_0x1659d3['filters']),_0x597d87);var _0x33b067=[];var _0x1598c4=squel[_0x084a('0x4e')]()[_0x084a('0x4f')]('id')[_0x084a('0x4f')]('name')[_0x084a('0x4f')]('color')[_0x084a('0x50')](_0x084a('0x51'));var _0x1ffd20=squel['select']()['field'](_0x084a('0x52'))[_0x084a('0x4f')]('u.fullname')[_0x084a('0x4f')](_0x084a('0x53'))[_0x084a('0x50')](_0x084a('0x54'),'ui')['left_join'](_0x084a('0x55'),'u',_0x084a('0x56'));var _0x31677b=squel[_0x084a('0x4e')]()['from'](_0x084a('0x57'),'i')[_0x084a('0x58')](_0x084a('0x59'),'c',_0x084a('0x5a'))['left_join']('users','o',_0x084a('0x5b'))[_0x084a('0x58')](_0x084a('0x5c'),'a',_0x084a('0x5d'))[_0x084a('0x58')](_0x084a('0x5e'),'me',_0x084a('0x5f'))[_0x084a('0x58')](_0x084a('0x60'),'it',_0x084a('0x61'))[_0x084a('0x58')](_0x084a('0x51'),'t','t.id\x20=\x20it.TagId');var _0xcdd5b=squel[_0x084a('0x62')]();var _0x29fa4b=[];var _0x39edc1=squel[_0x084a('0x62')]();var _0x1c972c;if(_0x866960[_0x084a('0x44')]['search']){_0x1c972c=as[_0x084a('0x63')](_0x866960[_0x084a('0x44')][_0x084a('0x64')]);var _0x54aa6c=_0x1c972c['sqlOperator'];for(var _0x424cd1=0x0;_0x424cd1<_0x1c972c['conditions'][_0x084a('0x4a')];_0x424cd1++){var _0x27278d=_0x1c972c['conditions'][_0x424cd1];var _0x36a3d3='i';var _0x54e9a5=_['find'](_0x597d87,[_0x084a('0x2d'),_0x27278d[_0x084a('0x4f')]]);if(!_0x54e9a5){switch(_0x27278d[_0x084a('0x4f')]){case _0x084a('0x65'):if(_0x27278d[_0x084a('0x66')]==0x1){_0x31677b[_0x084a('0x67')]('`'+_0x27278d[_0x084a('0x4f')]+'`\x20=\x200');}else{_0x31677b[_0x084a('0x67')]('`'+_0x27278d[_0x084a('0x4f')]+_0x084a('0x68'));}break;case'Contact':if(_0x27278d[_0x084a('0x69')]===_0x084a('0x6a')){if(_0x27278d[_0x084a('0x66')][_0x084a('0x33')]('\x20')['length']>0x1){_0xcdd5b[_0x54aa6c](_0x084a('0x6b'),qs['getFullTextValue'](_0x27278d[_0x084a('0x66')]),null);}else{var _0x2da4d4='%'+_0x27278d[_0x084a('0x66')]+'%';_0xcdd5b[_0x54aa6c]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x2da4d4,_0x2da4d4,_0x2da4d4);}}else{_0x54e9a5=_['find'](_0x597d87,[_0x084a('0x2d'),_0x084a('0x6c')]);_0x27278d['field']=_0x084a('0x6c');_0x3a8192=as['buildExpression'](_0x36a3d3,_0x54e9a5['type'],_0x27278d);_0xcdd5b[_0x54aa6c](_0x3a8192[_0x084a('0x6d')],_0x3a8192[_0x084a('0x66')][_0x084a('0x6e')],_0x3a8192[_0x084a('0x66')][_0x084a('0x2c')]);}break;case _0x084a('0x6f'):var _0x3f2c41=_0x27278d[_0x084a('0x66')][_0x084a('0x33')](',')['map'](function(_0x445563){return Number(_0x445563);});_0x3f2c41[_0x084a('0x34')](function(_0x3668eb){_0x39edc1['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x3668eb+',%');});_0x29fa4b=_[_0x084a('0x70')](_0x29fa4b,_0x3f2c41);break;case _0x084a('0x71'):if(_0x27278d['operator']===_0x084a('0x6a')){_0xcdd5b[_0x54aa6c]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x27278d['value']+'%',null);}else{_0x54e9a5=_[_0x084a('0x72')](_0x597d87,['name','UserId']);_0x27278d[_0x084a('0x4f')]=_0x084a('0x73');_0x3a8192=as[_0x084a('0x74')](_0x36a3d3,_0x54e9a5['type'],_0x27278d);_0xcdd5b[_0x54aa6c](_0x3a8192[_0x084a('0x6d')],_0x3a8192[_0x084a('0x66')][_0x084a('0x6e')],_0x3a8192[_0x084a('0x66')][_0x084a('0x2c')]);}break;case _0x084a('0x75'):_0x3a8192=as[_0x084a('0x74')]('me',null,_0x27278d);_0xcdd5b[_0x54aa6c](_0x3a8192['text'],_0x3a8192['value'][_0x084a('0x6e')],_0x3a8192[_0x084a('0x66')]['end']);break;}}else{var _0x3a8192=as[_0x084a('0x74')](_0x36a3d3,_0x54e9a5[_0x084a('0x41')],_0x27278d);_0xcdd5b[_0x54aa6c](_0x3a8192[_0x084a('0x6d')],_0x3a8192['value'][_0x084a('0x6e')],_0x3a8192[_0x084a('0x66')][_0x084a('0x2c')]);}}}else{var _0x5a9bfe=_(_0x866960['query'])[_0x084a('0x45')]()[_0x084a('0x3e')](function(_0x2a6331){return _[_0x084a('0x76')](_0x597d87,[_0x084a('0x2d'),_0x2a6331])?_0x2a6331:undefined;})[_0x084a('0x77')]()[_0x084a('0x66')]();if(!_['isEmpty'](_0x5a9bfe)){_0x5a9bfe[_0x084a('0x34')](function(_0x51a066){if(_0x51a066==='MailAccountId'){_0x31677b[_0x084a('0x78')](_0x084a('0x79'),[][_0x084a('0x7a')](_0x866960['query'][_0x51a066]));}else if(_0x51a066===_0x084a('0x7b')){var _0x57729c=JSON[_0x084a('0x7c')](_0x866960[_0x084a('0x44')][_0x51a066])[_0x084a('0x7d')];var _0x12cef4=JSON[_0x084a('0x7c')](_0x866960[_0x084a('0x44')][_0x51a066])['$lte'];_0x31677b['where'](_0x084a('0x7e'),_0x57729c,_0x12cef4);}else{if(_0x866960[_0x084a('0x44')][_0x51a066]===_0x084a('0x7f')){_0x31677b[_0x084a('0x78')]('i.'+_0x51a066+_0x084a('0x80'));}else{_0x31677b[_0x084a('0x78')]('i.'+_0x51a066+'\x20=\x20?',_0x866960[_0x084a('0x44')][_0x51a066]);}}});}if(_0x866960[_0x084a('0x44')][_0x084a('0x81')]){if(_0x866960[_0x084a('0x44')][_0x084a('0x81')]==0x1){_0x31677b[_0x084a('0x67')](_0x084a('0x82'));}else{_0x31677b['having'](_0x084a('0x83'));}}if(_0x866960[_0x084a('0x44')][_0x084a('0x84')]){_0x29fa4b=_[_0x084a('0x85')](_0x866960[_0x084a('0x44')][_0x084a('0x84')])?_0x866960[_0x084a('0x44')][_0x084a('0x84')]:new Array(_0x866960[_0x084a('0x44')][_0x084a('0x84')]);_0x29fa4b['forEach'](function(_0x5d22aa){_0x39edc1['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x5d22aa+',%');});}if(_0x866960[_0x084a('0x44')][_0x084a('0x86')]){var _0x5a73ed=_0x866960[_0x084a('0x44')][_0x084a('0x86')][_0x084a('0x87')]('\x5c','\x5c\x5c')[_0x084a('0x87')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x5a73ed)){_0xcdd5b['or']('i.id\x20LIKE\x20?',_0x5a73ed+'%');}else if(qs[_0x084a('0x88')](_0x5a73ed)){_0xcdd5b['or'](_0x084a('0x89'),_0x5a73ed+'%');}else{_0xcdd5b['or'](_0x084a('0x8a'),qs[_0x084a('0x8b')](_0x5a73ed))['or'](_0x084a('0x8c'),qs[_0x084a('0x8b')](_0x5a73ed));}}}_0x31677b[_0x084a('0x78')](_0xcdd5b);_0x31677b['group'](_0x084a('0x8d'));var _0xd14cab={'type':db[_0x084a('0x8e')][_0x084a('0x8f')][_0x084a('0x90')],'raw':!![]};var _0x31b89a=_0x31677b[_0x084a('0x91')]();_0x31b89a['field'](_0x084a('0x8d'));_0x31b89a[_0x084a('0x4f')](_0x084a('0x92'),_0x084a('0x65'));if(_0x284cdc[_0x084a('0x4b')]){_0x284cdc[_0x084a('0x4b')][_0x084a('0x34')](function(_0x7ca856){var _0x3da502=_0x7ca856[0x0]===_0x084a('0x93')?_0x7ca856[0x0]:'i.'+_0x7ca856[0x0];_0x31677b[_0x084a('0x4b')](_0x3da502,_0x7ca856[0x1]==='DESC'?![]:!![]);});}if(!_[_0x084a('0x94')](_0x29fa4b)){_0x31677b[_0x084a('0x67')](_0x39edc1);_0x31b89a['where'](_0x084a('0x95'),_0x29fa4b);}BPromise['resolve']()['then'](function(){if(!_0x1c972c){if(_0x866960[_0x084a('0x44')][_0x084a('0x96')])return;_0x31b89a['where'](_0x084a('0x97'));_0x31677b[_0x084a('0x78')](_0x084a('0x97'));return;}if(_0x866960[_0x084a('0x98')][_0x084a('0x99')]!==_0x084a('0x9a'))return;return _0x866960[_0x084a('0x98')][_0x084a('0x9b')]({'attributes':['id'],'raw':!![]})[_0x084a('0x2a')](function(_0x8074aa){if(_[_0x084a('0x94')](_0x8074aa)){_0x31b89a[_0x084a('0x78')](_0x084a('0x9c'));_0x31677b[_0x084a('0x78')](_0x084a('0x9c'));}else{_0x31b89a['where'](_0x084a('0x79'),_[_0x084a('0x3e')](_0x8074aa,'id'));_0x31677b[_0x084a('0x78')](_0x084a('0x79'),_[_0x084a('0x3e')](_0x8074aa,'id'));}});})[_0x084a('0x2a')](function(){if(_0x866960[_0x084a('0x98')][_0x084a('0x99')]==='agent'&&!_0x1c972c&&!_0x866960['query'][_0x084a('0x96')])return[];return db[_0x084a('0x9d')]['query'](_0x31b89a['toString'](),_0xd14cab);})[_0x084a('0x2a')](function(_0x496c2f){_0x10983f[_0x084a('0x20')]=_0x496c2f['length'];if(_0x10983f[_0x084a('0x20')]===0x0)return[];return db[_0x084a('0x9d')][_0x084a('0x44')](_0x1598c4[_0x084a('0x9e')](),_0xd14cab)['then'](function(_0x5ebbe8){_0x33b067=_['keyBy'](_0x5ebbe8,'id');_0xd14cab=_[_0x084a('0x9f')](_0xd14cab,{'model':db[_0x084a('0x36')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x866960[_0x084a('0x44')]['fields']){_0x284cdc[_0x084a('0x48')][_0x084a('0x34')](function(_0x59d977){_0x31677b[_0x084a('0x4f')]('i.'+_0x59d977);});}else{_0x31677b[_0x084a('0x4f')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x084a('0x65'));_0x31677b[_0x084a('0x4f')](_0x084a('0xa0'),'Account.key');_0x31677b['field'](_0x084a('0xa1'),'Account.mandatoryDisposition');_0x31677b[_0x084a('0x4f')](_0x084a('0xa2'),_0x084a('0x93'));_0x31677b[_0x084a('0x4f')](_0x084a('0x8d'));_0x31677b[_0x084a('0x4f')]('i.createdAt');_0x31677b[_0x084a('0x4f')]('i.updatedAt');_0x31677b['field'](_0x084a('0xa3'));_0x31677b[_0x084a('0x4f')](_0x084a('0xa4'));_0x31677b[_0x084a('0x4f')](_0x084a('0xa5'));_0x31677b[_0x084a('0x4f')]('i.lastMsgAt');_0x31677b['field'](_0x084a('0xa6'));_0x31677b[_0x084a('0x4f')](_0x084a('0xa7'));_0x31677b['field'](_0x084a('0xa8'));_0x31677b[_0x084a('0x4f')]('i.secondDisposition');_0x31677b['field'](_0x084a('0xa9'));_0x31677b['field']('i.substatus');_0x31677b[_0x084a('0x4f')](_0x084a('0xaa'));_0x31677b['field'](_0x084a('0xab'));_0x31677b[_0x084a('0x4f')]('i.MailAccountId');_0x31677b[_0x084a('0x4f')](_0x084a('0xac'));_0x31677b[_0x084a('0x4f')](_0x084a('0xad'),_0x084a('0xae'));_0x31677b[_0x084a('0x4f')]('c.lastName','Contact.lastName');_0x31677b[_0x084a('0x4f')](_0x084a('0xaf'),'Contact.email');_0x31677b[_0x084a('0x4f')]('c.phone',_0x084a('0xb0'));_0x31677b[_0x084a('0x4f')](_0x084a('0xb1'),_0x084a('0xb2'));_0x31677b[_0x084a('0x4f')](_0x084a('0xb3'),'Contact.fax');_0x31677b['field'](_0x084a('0xb4'),_0x084a('0xb5'));_0x31677b[_0x084a('0x4f')](_0x084a('0xb6'),_0x084a('0xb7'));_0x31677b['field'](_0x084a('0xb8'),_0x084a('0x31'));}if(_0x284cdc[_0x084a('0x22')])_0x31677b[_0x084a('0x22')](_0x284cdc['limit']);if(_0x284cdc[_0x084a('0x21')])_0x31677b[_0x084a('0x21')](_0x284cdc[_0x084a('0x21')]);return db[_0x084a('0x9d')][_0x084a('0x44')](_0x31677b[_0x084a('0x9e')](),_0xd14cab);})[_0x084a('0x2a')](function(_0x8b4013){_0x1ffd20[_0x084a('0x78')](_0x084a('0xb9'),_[_0x084a('0x3e')](_0x8b4013,'id'));return db['sequelize']['query'](_0x1ffd20[_0x084a('0x9e')](),_0xd14cab)['then'](function(_0x3d8c48){var _0x41737e=_[_0x084a('0xba')](_0x3d8c48,_0x084a('0xbb'));var _0x9a5c6b=[];return db['Setting'][_0x084a('0x37')]({'attributes':[_0x084a('0xbc')],'raw':!![]})['then'](function(_0x439204){var _0x3e150d=_0x439204[_0x084a('0xbc')];_0x8b4013['forEach'](function(_0x3090b9){_0x9a5c6b[_0x084a('0x35')](updateMailInteraction(_0x3090b9,_0x33b067,_0x41737e,_0x3e150d));});return BPromise[_0x084a('0xbd')](_0x9a5c6b);});});});})[_0x084a('0x2a')](function(_0x318eca){_0x10983f[_0x084a('0xbe')]=_0x318eca;return _0x10983f;})[_0x084a('0x2a')](respondWithFilteredResult(_0x1454a9,_0x284cdc))[_0x084a('0x3c')](handleError(_0x1454a9,null));};exports['show']=function(_0x1de507,_0x1a58c6){var _0x355c04={'raw':![],'where':{'id':_0x1de507['params']['id']}},_0x8b89d0={};_0x8b89d0[_0x084a('0x43')]=_[_0x084a('0x45')](db[_0x084a('0x36')][_0x084a('0x3f')]);_0x8b89d0[_0x084a('0x44')]=_[_0x084a('0x45')](_0x1de507[_0x084a('0x44')]);_0x8b89d0['filters']=_[_0x084a('0x47')](_0x8b89d0[_0x084a('0x43')],_0x8b89d0[_0x084a('0x44')]);_0x355c04[_0x084a('0x48')]=_[_0x084a('0x47')](_0x8b89d0[_0x084a('0x43')],qs[_0x084a('0x49')](_0x1de507[_0x084a('0x44')][_0x084a('0x49')]));_0x355c04[_0x084a('0x48')]=_0x355c04[_0x084a('0x48')][_0x084a('0x4a')]?_0x355c04[_0x084a('0x48')]:_0x8b89d0[_0x084a('0x43')];if(_0x1de507[_0x084a('0x44')][_0x084a('0xbf')]){_0x355c04[_0x084a('0xc0')]=[{'all':!![]}];}_0x355c04=_['merge']({},_0x355c04,_0x1de507[_0x084a('0xc1')]);return db[_0x084a('0x36')][_0x084a('0x72')](_0x355c04)[_0x084a('0x2a')](handleEntityNotFound(_0x1a58c6,null))['then'](respondWithResult(_0x1a58c6,null))[_0x084a('0x3c')](handleError(_0x1a58c6,null));};exports[_0x084a('0xc2')]=function(_0x4662f9,_0x23df0c){return db[_0x084a('0x36')][_0x084a('0xc2')](_0x4662f9['body'],{})['then'](respondWithResult(_0x23df0c,0xc9))[_0x084a('0x3c')](handleError(_0x23df0c,null));};exports[_0x084a('0x29')]=function(_0x459907,_0x3b89f6){if(_0x459907[_0x084a('0xc3')]['id']){delete _0x459907[_0x084a('0xc3')]['id'];}return db[_0x084a('0x36')][_0x084a('0x72')]({'where':{'id':_0x459907['params']['id']}})[_0x084a('0x2a')](handleEntityNotFound(_0x3b89f6,null))[_0x084a('0x2a')](saveUpdates(_0x459907[_0x084a('0xc3')],null))[_0x084a('0x2a')](respondWithResult(_0x3b89f6,null))['catch'](handleError(_0x3b89f6,null));};exports['destroy']=function(_0x622764,_0x3ea85e){return db[_0x084a('0x36')][_0x084a('0x72')]({'where':{'id':_0x622764[_0x084a('0xc4')]['id']}})['then'](handleEntityNotFound(_0x3ea85e,null))['then'](removeEntity(_0x3ea85e,null))['catch'](handleError(_0x3ea85e,null));};exports[_0x084a('0xc5')]=function(_0x19aff1,_0x5dab17){return db[_0x084a('0x36')][_0x084a('0xc5')]()['then'](respondWithResult(_0x5dab17,null))[_0x084a('0x3c')](handleError(_0x5dab17,null));};exports[_0x084a('0xc6')]=function(_0x255b52,_0x565ae5,_0x157e31){return db[_0x084a('0xc7')][_0x084a('0x72')]({'where':{'id':_0x255b52[_0x084a('0xc4')]['id']}})[_0x084a('0x2a')](handleEntityNotFound(_0x565ae5,null))[_0x084a('0x2a')](function(_0x58b27b){if(_0x58b27b){return _0x58b27b[_0x084a('0xc6')](_0x255b52['body'][_0x084a('0xc8')],_['omit'](_0x255b52[_0x084a('0xc3')],[_0x084a('0xc8'),'id'])||{});}})[_0x084a('0x2a')](respondWithResult(_0x565ae5,null))[_0x084a('0x3c')](handleError(_0x565ae5,null));};exports[_0x084a('0xc9')]=function(_0x20d051,_0x3859d5,_0x1fb924){var _0x3ec164={'raw':![],'where':{}};var _0x33f4bd={};var _0xafff35={'count':0x0,'rows':[]};return db[_0x084a('0x36')]['findOne']({'where':{'id':_0x20d051[_0x084a('0xc4')]['id']}})[_0x084a('0x2a')](handleEntityNotFound(_0x3859d5,null))[_0x084a('0x2a')](function(_0x4725a0){if(_0x4725a0){_0x33f4bd[_0x084a('0x43')]=_[_0x084a('0x45')](db[_0x084a('0xc7')][_0x084a('0x3f')]);_0x33f4bd['query']=_['keys'](_0x20d051['query']);_0x33f4bd[_0x084a('0x46')]=_[_0x084a('0x47')](_0x33f4bd[_0x084a('0x43')],_0x33f4bd[_0x084a('0x44')]);_0x3ec164[_0x084a('0x48')]=_[_0x084a('0x47')](_0x33f4bd[_0x084a('0x43')],qs[_0x084a('0x49')](_0x20d051[_0x084a('0x44')][_0x084a('0x49')]));_0x3ec164[_0x084a('0x48')]=_0x3ec164[_0x084a('0x48')][_0x084a('0x4a')]?_0x3ec164[_0x084a('0x48')]:_0x33f4bd[_0x084a('0x43')];if(!_0x20d051[_0x084a('0x44')][_0x084a('0xca')](_0x084a('0xcb'))){_0x3ec164[_0x084a('0x22')]=qs[_0x084a('0x22')](_0x20d051[_0x084a('0x44')]['limit']);_0x3ec164[_0x084a('0x21')]=qs[_0x084a('0x21')](_0x20d051[_0x084a('0x44')]['offset']);}_0x3ec164[_0x084a('0x4b')]=qs[_0x084a('0x4c')](_0x20d051[_0x084a('0x44')][_0x084a('0x4c')]);_0x3ec164['where']=qs[_0x084a('0x46')](_[_0x084a('0x4d')](_0x20d051['query'],_0x33f4bd[_0x084a('0x46')]));_0x3ec164['where']['MailInteractionId']=_0x4725a0['id'];if(_0x20d051[_0x084a('0x44')][_0x084a('0x86')]){_0x3ec164[_0x084a('0x78')]=_[_0x084a('0x9f')](_0x3ec164[_0x084a('0x78')],{'$or':_['map'](_0x3ec164[_0x084a('0x48')],function(_0x1efdfc){var _0x418564={};_0x418564[_0x1efdfc]={'$like':'%'+_0x20d051[_0x084a('0x44')][_0x084a('0x86')]+'%'};return _0x418564;})});}if(_0x20d051[_0x084a('0x44')]['$gte']){var _0xc77599=_0x20d051['query'][_0x084a('0x7d')][_0x084a('0x33')](',');var _0x409c4e={};_0x409c4e[_0xc77599[0x0]]={'$gte':moment(_0xc77599[0x1])[_0x084a('0xcc')]('YYYY-MM-DD\x20HH:mm:ss')};_0x3ec164['where']=_[_0x084a('0x9f')](_0x3ec164['where'],_0x409c4e);}_0x3ec164=_[_0x084a('0x9f')]({},_0x3ec164,_0x20d051[_0x084a('0xc1')]);return db[_0x084a('0xc7')][_0x084a('0x20')]({'where':_0x3ec164['where']})['then'](function(_0x56475e){_0xafff35['count']=_0x56475e;if(_0x20d051['query'][_0x084a('0xbf')]){_0x3ec164[_0x084a('0xc0')]=[{'all':!![]}];}return db[_0x084a('0xc7')][_0x084a('0xcd')](_0x3ec164);})[_0x084a('0x2a')](function(_0x35208f){if(_0x20d051[_0x084a('0x44')][_0x084a('0xce')]===_0x084a('0xcf')){for(var _0x5aecbc=0x0;_0x5aecbc<_0x35208f[_0x084a('0x4a')];_0x5aecbc++){_0x35208f[_0x5aecbc][_0x084a('0xc3')]=juice(_0x35208f[_0x5aecbc]['body']);}}_0xafff35[_0x084a('0xbe')]=_0x35208f;return _0xafff35;});}})[_0x084a('0x2a')](respondWithFilteredResult(_0x3859d5,_0x3ec164))[_0x084a('0x3c')](handleError(_0x3859d5,null));};exports[_0x084a('0xd0')]=function(_0x3d6b20,_0x1786fe,_0x53785c){return db[_0x084a('0x36')][_0x084a('0x72')]({'where':{'id':_0x3d6b20[_0x084a('0xc4')]['id']}})[_0x084a('0x2a')](handleEntityNotFound(_0x1786fe,null))[_0x084a('0x2a')](function(_0x4ff780){if(_0x4ff780){return _0x4ff780[_0x084a('0xd1')](_0x3d6b20['body'][_0x084a('0xc8')],_[_0x084a('0xd2')](_0x3d6b20[_0x084a('0xc3')],['ids','id'])||{})[_0x084a('0xd3')](function(){return db[_0x084a('0x6f')][_0x084a('0xcd')]({'attributes':['id',_0x084a('0x2d'),'color'],'where':{'id':_0x3d6b20[_0x084a('0xc3')][_0x084a('0xc8')]}});})[_0x084a('0x2a')](function(_0x2cb2c7){socket[_0x084a('0xd4')](_0x084a('0xd5'),{'id':Number(_0x3d6b20['params']['id']),'tags':_0x2cb2c7||[]});return{'id':Number(_0x3d6b20[_0x084a('0xc4')]['id']),'tags':_0x2cb2c7||[]};});}})[_0x084a('0x2a')](respondWithResult(_0x1786fe,null))[_0x084a('0x3c')](handleError(_0x1786fe,null));};exports['removeTags']=function(_0x47a8b8,_0x53406e,_0xdbc62a){return db[_0x084a('0x36')][_0x084a('0x72')]({'where':{'id':_0x47a8b8[_0x084a('0xc4')]['id']}})[_0x084a('0x2a')](handleEntityNotFound(_0x53406e,null))[_0x084a('0x2a')](function(_0x132d98){if(_0x132d98){return _0x132d98[_0x084a('0xd6')](_0x47a8b8['query'][_0x084a('0xc8')]);}})[_0x084a('0x2a')](respondWithStatusCode(_0x53406e,null))[_0x084a('0x3c')](handleError(_0x53406e,null));};exports[_0x084a('0xd7')]=function(_0x16d661,_0x38f42e){var _0x3cd38f=moment()['unix']()['toString']();var _0xee252d=path['join'](config['root'],_0x084a('0xd8'),_0x084a('0xd9'),_0x084a('0xda'));var _0x9c2089=path[_0x084a('0xdb')](config[_0x084a('0xdc')],_0x084a('0xd8'),_0x084a('0xd9'),_0x084a('0xdd'));var _0x5cf841=path[_0x084a('0xdb')](_0xee252d,_0x3cd38f);var _0x406fa2=util['format'](_0x084a('0xde'),_0x16d661[_0x084a('0xc4')]['id'],_0x3cd38f);var _0x596e44=path[_0x084a('0xdb')](_0xee252d,_0x406fa2);var _0x11c7e5=[];if(_0x16d661['query'][_0x084a('0xdd')]){_0x11c7e5[_0x084a('0x35')]({'model':db['Attachment'],'as':'Attachments','raw':!![]});}var _0x2c5097=[{'model':db['MailMessage'],'as':'Messages','attributes':['id',_0x084a('0xc3'),'from','to','cc',_0x084a('0xdf'),_0x084a('0xe0'),_0x084a('0x7b')],'where':{'secret':![]},'order':qs[_0x084a('0x4c')]('id'),'include':_0x11c7e5}];return db[_0x084a('0x36')][_0x084a('0x72')]({'where':{'id':_0x16d661[_0x084a('0xc4')]['id']},'include':_0x2c5097})[_0x084a('0x2a')](handleEntityNotFound(_0x38f42e,null))['then'](function(_0x14534d){if(_0x14534d&&_0x14534d[_0x084a('0xe1')]){var _0x58685b=_0x14534d['get']({'plain':!![]});fs[_0x084a('0xe2')](_0x5cf841);return BPromise['each'](_0x58685b[_0x084a('0xe1')],function(_0x503a6b,_0x287970){var _0x257358={'from':_0x503a6b[_0x084a('0x50')],'to':_0x503a6b['to'],'subject':_0x503a6b['subject'],'html':_0x503a6b[_0x084a('0xc3')],'headers':{'Date':moment(_0x503a6b[_0x084a('0x7b')])[_0x084a('0xcc')](_0x084a('0xe3'))},'attachments':[]};if(_0x503a6b['cc']){_0x257358['headers']['Cc']=_0x503a6b['cc'];}if(_0x503a6b['bcc']){_0x257358[_0x084a('0xe4')][_0x084a('0xe5')]=_0x503a6b[_0x084a('0xdf')];}return new BPromise(function(_0x1ae30a,_0x1e74cf){if(_0x503a6b[_0x084a('0xe6')]){for(var _0x548e23=0x0;_0x548e23<_0x503a6b['Attachments'][_0x084a('0x4a')];_0x548e23++){var _0xc47b46=_0x503a6b[_0x084a('0xe6')][_0x548e23];var _0x44d15f=path[_0x084a('0xdb')](_0x9c2089,_0xc47b46[_0x084a('0xe7')]);if(fs[_0x084a('0xe8')](_0x44d15f)){_0x257358[_0x084a('0xdd')][_0x084a('0x35')]({'name':_0xc47b46[_0x084a('0x2d')],'contentType':_0xc47b46['type'],'data':fs[_0x084a('0xe9')](_0x44d15f)});}}}emlformat[_0x084a('0xea')](_0x257358,function(_0x4ad0fc,_0x343216){if(_0x4ad0fc)return _0x1e74cf(_0x4ad0fc);fs[_0x084a('0xeb')](path[_0x084a('0xdb')](_0x5cf841,util[_0x084a('0xcc')]('message%d.eml',_0x287970)),_0x343216);return _0x1ae30a(_0x343216);});});})[_0x084a('0x2a')](function(){return new BPromise(function(_0x11e22e,_0xe59738){zipdir(_0x5cf841,{'saveTo':_0x596e44},function(_0x200513,_0x50b2b0){if(_0x200513)return _0xe59738(_0x200513);return _0x11e22e(_0x50b2b0);});})[_0x084a('0x2a')](function(){return new BPromise(function(_0x9aee10,_0x365495){rimraf(_0x5cf841,function(_0x315811){if(_0x315811)_0x365495(_0x315811);return _0x9aee10();});});})[_0x084a('0x2a')](function(){return _0x38f42e[_0x084a('0xd7')](_0x596e44,_0x406fa2,function(_0xe9c3d2){if(_0xe9c3d2){console['log']('err',_0xe9c3d2);}else{fs[_0x084a('0xec')](_0x596e44);}});});});}else{return _0x38f42e[_0x084a('0x1e')](0xc8);}})[_0x084a('0x3c')](handleError(_0x38f42e,null));};