Built motion from commit (unavailable).|2.5.17
[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 _0xa40b=['update','then','destroy','sendStatus','error','stack','send','Users','map','fullname','Tags','TagIds','forEach','push','MailInteraction','findOne','lastMsgText','trimStart','fromString','index','rawAttributes','fieldName','type','model','name','keys','filters','intersection','query','fields','attributes','nolimit','order','sort','where','pick','select','field','color','from','tools_tags','u.fullname','ui.MailInteractionId','user_has_mail_interactions','left_join','users','u.id\x20=\x20ui.UserId','mail_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','mail_accounts','a.id\x20=\x20i.MailAccountId','me.MailInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','sqlOperator','conditions','unreadMessages','having','`\x20>\x200','Contact','operator','$substring','split','length','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','value','ContactId','buildExpression','text','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','UserId','compact','isEmpty','MailAccountId','i.MailAccountId\x20IN\x20?','createdAt','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20=\x20?','read','`unreadMessages`\x20>\x200','isArray','tag','filter','replace','isNumeric','i.id\x20LIKE\x20?','isEmail','c.email\x20LIKE\x20?','MATCH\x20(i.to,\x20i.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','MATCH\x20(me.plainBody,\x20me.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','group','i.id','Sequelize','SELECT','clone','contactName','DESC','t.id\x20IN\x20?','resolve','i.MailAccountId\x20IS\x20NOT\x20NULL','role','agent','user','getMailAccounts','i.MailAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','Account.key','a.mandatoryDisposition','Account.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.createdAt','i.updatedAt','i.attach','i.lastMsgAt','i.lastMsgDirection','i.subject','i.disposition','i.secondDisposition','i.substatus','i.to','i.ContactId','i.UserId','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.MailInteractionId\x20IN\x20?','groupBy','MailInteractionId','Setting','enableEmailPreview','all','catch','show','params','includeAll','include','options','find','create','body','describe','addMessage','MailMessage','ids','getMessages','hasOwnProperty','$gte','findAll','rows','addTags','setTags','omit','Tag','emit','removeTags','download','server','files','tmp','root','attachments','join','format','transcript-%d-%s.zip','Attachment','Attachments','subject','Messages','get','each','ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ','headers','bcc','Bcc','basename','existsSync','build','writeFileSync','message%d.eml','err','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','html-to-text','ioredis','../../components/auth/service','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./mailInteraction.socket','register','status','end','count','offset','limit','set','json','apply','reject','save'];(function(_0x397d3c,_0x1bacc6){var _0x305c8e=function(_0x3a385d){while(--_0x3a385d){_0x397d3c['push'](_0x397d3c['shift']());}};_0x305c8e(++_0x1bacc6);}(_0xa40b,0xcf));var _0xba40=function(_0x45e180,_0x54554f){_0x45e180=_0x45e180-0x0;var _0x1e4695=_0xa40b[_0x45e180];return _0x1e4695;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xba40('0x0'));var rimraf=require(_0xba40('0x1'));var zipdir=require(_0xba40('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xba40('0x3'));var BPromise=require(_0xba40('0x4'));var Mustache=require(_0xba40('0x5'));var util=require(_0xba40('0x6'));var path=require(_0xba40('0x7'));var sox=require('sox');var csv=require(_0xba40('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xba40('0x9'));var squel=require(_0xba40('0xa'));var crypto=require(_0xba40('0xb'));var jsforce=require(_0xba40('0xc'));var deskjs=require(_0xba40('0xd'));var toCsv=require(_0xba40('0x8'));var querystring=require(_0xba40('0xe'));var Papa=require('papaparse');var htmlToText=require(_0xba40('0xf'));var Redis=require(_0xba40('0x10'));var authService=require(_0xba40('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xba40('0x12'))(_0xba40('0x13'));var utils=require(_0xba40('0x14'));var config=require(_0xba40('0x15'));var licenseUtil=require(_0xba40('0x16'));var db=require(_0xba40('0x17'))['db'];config['redis']=_[_0xba40('0x18')](config[_0xba40('0x19')],{'host':_0xba40('0x1a'),'port':0x18eb});var socket=require(_0xba40('0x1b'))(new Redis(config[_0xba40('0x19')]));require(_0xba40('0x1c'))[_0xba40('0x1d')](socket);function respondWithStatusCode(_0x15ba8b,_0x1eb433){_0x1eb433=_0x1eb433||0xcc;return function(_0x48a808){if(_0x48a808){return _0x15ba8b['sendStatus'](_0x1eb433);}return _0x15ba8b[_0xba40('0x1e')](_0x1eb433)[_0xba40('0x1f')]();};}function respondWithResult(_0x13c475,_0x5c5132){_0x5c5132=_0x5c5132||0xc8;return function(_0x1567a3){if(_0x1567a3){return _0x13c475[_0xba40('0x1e')](_0x5c5132)['json'](_0x1567a3);}};}function respondWithFilteredResult(_0x37ac5b,_0x19b410){return function(_0x418cee){if(_0x418cee){var _0x4b9571=_0x418cee[_0xba40('0x20')],_0x7f14f5=_0x19b410[_0xba40('0x21')],_0x3e0429=_0x19b410[_0xba40('0x21')]+_0x19b410[_0xba40('0x22')],_0x5e7a4a;if(_0x3e0429>=_0x4b9571){_0x3e0429=_0x4b9571;_0x5e7a4a=0xc8;}else{_0x5e7a4a=0xce;}_0x37ac5b[_0xba40('0x1e')](_0x5e7a4a);return _0x37ac5b[_0xba40('0x23')]('Content-Range',_0x7f14f5+'-'+_0x3e0429+'/'+_0x4b9571)[_0xba40('0x24')](_0x418cee);}return null;};}function patchUpdates(_0x4b1fd6){return function(_0x2ed8bf){try{jsonpatch[_0xba40('0x25')](_0x2ed8bf,_0x4b1fd6,!![]);}catch(_0x55cd53){return BPromise[_0xba40('0x26')](_0x55cd53);}return _0x2ed8bf[_0xba40('0x27')]();};}function saveUpdates(_0x57182d,_0x2d3ba2){return function(_0x43e39f){if(_0x43e39f){return _0x43e39f[_0xba40('0x28')](_0x57182d)[_0xba40('0x29')](function(_0x4f97ae){return _0x4f97ae;});}return null;};}function removeEntity(_0x457209,_0x3a8c7a){return function(_0x138b19){if(_0x138b19){return _0x138b19[_0xba40('0x2a')]()[_0xba40('0x29')](function(){_0x457209[_0xba40('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x557571,_0x862c82){return function(_0x57d7de){if(!_0x57d7de){_0x557571[_0xba40('0x2b')](0x194);}return _0x57d7de;};}function handleError(_0x23e84e,_0x2669dc){_0x2669dc=_0x2669dc||0x1f4;return function(_0x2053b5){logger[_0xba40('0x2c')](_0x2053b5[_0xba40('0x2d')]);if(_0x2053b5['name']){delete _0x2053b5['name'];}_0x23e84e[_0xba40('0x1e')](_0x2669dc)[_0xba40('0x2e')](_0x2053b5);};}function getInteractionUsers(_0x42a475,_0x11db5b){return new BPromise(function(_0x18ee31,_0x2cd026){try{if(_0x11db5b[_0x42a475['id']]){_0x42a475[_0xba40('0x2f')]=_[_0xba40('0x30')](_0x11db5b[_0x42a475['id']],function(_0x4ee4e7){return{'id':_0x4ee4e7['id'],'fullname':_0x4ee4e7[_0xba40('0x31')]};});}}catch(_0x35fe0f){_0x2cd026(_0x35fe0f);}_0x18ee31(_0x42a475);});}function getInteractionTags(_0x3de236,_0x5bbef8){return new BPromise(function(_0x5bad95,_0x137eb4){try{if(_0x3de236['TagIds']){_0x3de236[_0xba40('0x32')]=[];_0x3de236[_0xba40('0x33')]['split'](',')[_0xba40('0x34')](function(_0x188f32){_0x3de236[_0xba40('0x32')][_0xba40('0x35')](_0x5bbef8[_0x188f32]);});}delete _0x3de236[_0xba40('0x33')];}catch(_0x587b33){_0x137eb4(_0x587b33);}_0x5bad95(_0x3de236);});}function getLastMessageText(_0x5448de){return new BPromise(function(_0x727a1e,_0x19f57f){return db[_0xba40('0x36')][_0xba40('0x37')]({'where':{'id':_0x5448de['id']},'attributes':['lastMsgBody','lastMsgText'],'raw':!![]})[_0xba40('0x29')](function(_0x5b8c45){if(!_0x5b8c45[_0xba40('0x38')]){_0x5448de[_0xba40('0x38')]=_[_0xba40('0x39')](htmlToText[_0xba40('0x3a')](_0x5b8c45['lastMsgBody'],{'preserveNewlines':!![],'singleNewLineParagraphs':!![],'uppercaseHeadings':![],'noLinkBrackets':!![],'ignoreImage':!![]}));}else{_0x5448de['lastMsgText']=_0x5b8c45[_0xba40('0x38')];}_0x727a1e(_0x5448de);})['catch'](function(_0x2cd6cf){_0x19f57f(_0x2cd6cf);});});}function updateMailInteraction(_0x55dba5,_0x2c5495,_0x29d2e9,_0x10ab45){return new BPromise(function(_0x1c8fc0,_0x5021e4){return getInteractionUsers(_0x55dba5,_0x29d2e9)[_0xba40('0x29')](function(_0x4c326f){return getInteractionTags(_0x4c326f,_0x2c5495);})['then'](function(_0x1a2b5e){if(_0x10ab45){_0x1c8fc0(getLastMessageText(_0x1a2b5e));}else{_0x1c8fc0(_0x1a2b5e);}})['catch'](function(_0x45a38b){_0x5021e4(_0x45a38b);});});}exports[_0xba40('0x3b')]=function(_0x3ec3bb,_0x502940){var _0x5dc94e={},_0x343f76={},_0x5dd49a={'count':0x0,'rows':[]};var _0x526afb=_['map'](db['MailInteraction'][_0xba40('0x3c')],function(_0xd379df){return{'name':_0xd379df[_0xba40('0x3d')],'type':_0xd379df[_0xba40('0x3e')]['key']};});_0x343f76[_0xba40('0x3f')]=_['map'](_0x526afb,_0xba40('0x40'));_0x343f76['query']=_[_0xba40('0x41')](_0x3ec3bb['query']);_0x343f76[_0xba40('0x42')]=_[_0xba40('0x43')](_0x343f76['model'],_0x343f76[_0xba40('0x44')]);_0x5dc94e['attributes']=_[_0xba40('0x43')](_0x343f76[_0xba40('0x3f')],qs[_0xba40('0x45')](_0x3ec3bb[_0xba40('0x44')][_0xba40('0x45')]));_0x5dc94e[_0xba40('0x46')]=_0x5dc94e[_0xba40('0x46')]['length']?_0x5dc94e[_0xba40('0x46')]:_0x343f76[_0xba40('0x3f')];if(!_0x3ec3bb[_0xba40('0x44')]['hasOwnProperty'](_0xba40('0x47'))){_0x5dc94e[_0xba40('0x22')]=qs[_0xba40('0x22')](_0x3ec3bb[_0xba40('0x44')][_0xba40('0x22')]);_0x5dc94e['offset']=qs[_0xba40('0x21')](_0x3ec3bb[_0xba40('0x44')][_0xba40('0x21')]);}_0x5dc94e[_0xba40('0x48')]=qs[_0xba40('0x49')](_0x3ec3bb[_0xba40('0x44')][_0xba40('0x49')]);_0x5dc94e[_0xba40('0x4a')]=qs[_0xba40('0x42')](_[_0xba40('0x4b')](_0x3ec3bb['query'],_0x343f76[_0xba40('0x42')]),_0x526afb);var _0x5e4502=[];var _0x599051=squel[_0xba40('0x4c')]()['field']('id')[_0xba40('0x4d')]('name')[_0xba40('0x4d')](_0xba40('0x4e'))[_0xba40('0x4f')](_0xba40('0x50'));var _0x3975e3=squel[_0xba40('0x4c')]()[_0xba40('0x4d')]('u.id')[_0xba40('0x4d')](_0xba40('0x51'))[_0xba40('0x4d')](_0xba40('0x52'))[_0xba40('0x4f')](_0xba40('0x53'),'ui')[_0xba40('0x54')](_0xba40('0x55'),'u',_0xba40('0x56'));var _0x5603c0=squel[_0xba40('0x4c')]()[_0xba40('0x4f')](_0xba40('0x57'),'i')[_0xba40('0x54')](_0xba40('0x58'),'c',_0xba40('0x59'))[_0xba40('0x54')](_0xba40('0x55'),'o',_0xba40('0x5a'))[_0xba40('0x54')](_0xba40('0x5b'),'a',_0xba40('0x5c'))[_0xba40('0x54')]('mail_messages','me',_0xba40('0x5d'))[_0xba40('0x54')]('mail_interaction_has_tags','it','it.MailInteractionId\x20=\x20i.id')['left_join'](_0xba40('0x50'),'t',_0xba40('0x5e'));var _0x39eec4=squel['expr']();var _0x5f31a7=[];var _0x416df5=squel[_0xba40('0x5f')]();var _0x54c96a;if(_0x3ec3bb[_0xba40('0x44')][_0xba40('0x60')]){_0x54c96a=as['parseSearch'](_0x3ec3bb['query'][_0xba40('0x60')]);var _0x5181e2=_0x54c96a[_0xba40('0x61')];for(var _0x2b8e07=0x0;_0x2b8e07<_0x54c96a['conditions']['length'];_0x2b8e07++){var _0x2c3de9=_0x54c96a[_0xba40('0x62')][_0x2b8e07];var _0x509193='i';var _0x20e935=_['find'](_0x526afb,[_0xba40('0x40'),_0x2c3de9[_0xba40('0x4d')]]);if(!_0x20e935){switch(_0x2c3de9[_0xba40('0x4d')]){case _0xba40('0x63'):if(_0x2c3de9['value']==0x1){_0x5603c0[_0xba40('0x64')]('`'+_0x2c3de9['field']+'`\x20=\x200');}else{_0x5603c0[_0xba40('0x64')]('`'+_0x2c3de9[_0xba40('0x4d')]+_0xba40('0x65'));}break;case _0xba40('0x66'):if(_0x2c3de9[_0xba40('0x67')]===_0xba40('0x68')){if(_0x2c3de9['value'][_0xba40('0x69')]('\x20')[_0xba40('0x6a')]>0x1){_0x39eec4[_0x5181e2](_0xba40('0x6b'),qs[_0xba40('0x6c')](_0x2c3de9[_0xba40('0x6d')]),null);}else{var _0x2bc3c6='%'+_0x2c3de9[_0xba40('0x6d')]+'%';_0x39eec4[_0x5181e2]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x2bc3c6,_0x2bc3c6,_0x2bc3c6);}}else{_0x20e935=_['find'](_0x526afb,[_0xba40('0x40'),_0xba40('0x6e')]);_0x2c3de9[_0xba40('0x4d')]=_0xba40('0x6e');_0x3a61cf=as[_0xba40('0x6f')](_0x509193,_0x20e935[_0xba40('0x3e')],_0x2c3de9);_0x39eec4[_0x5181e2](_0x3a61cf[_0xba40('0x70')],_0x3a61cf[_0xba40('0x6d')][_0xba40('0x71')],_0x3a61cf[_0xba40('0x6d')]['end']);}break;case'Tag':var _0xba8939=_0x2c3de9[_0xba40('0x6d')]['split'](',')[_0xba40('0x30')](function(_0x166190){return Number(_0x166190);});_0xba8939[_0xba40('0x34')](function(_0x12e2f9){_0x416df5['or'](_0xba40('0x72'),'%,'+_0x12e2f9+',%');});_0x5f31a7=_[_0xba40('0x73')](_0x5f31a7,_0xba8939);break;case _0xba40('0x74'):if(_0x2c3de9[_0xba40('0x67')]===_0xba40('0x68')){_0x39eec4[_0x5181e2]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x2c3de9[_0xba40('0x6d')]+'%',null);}else{_0x20e935=_['find'](_0x526afb,['name',_0xba40('0x75')]);_0x2c3de9[_0xba40('0x4d')]=_0xba40('0x75');_0x3a61cf=as[_0xba40('0x6f')](_0x509193,_0x20e935[_0xba40('0x3e')],_0x2c3de9);_0x39eec4[_0x5181e2](_0x3a61cf['text'],_0x3a61cf[_0xba40('0x6d')][_0xba40('0x71')],_0x3a61cf[_0xba40('0x6d')]['end']);}break;case'plainBody':_0x3a61cf=as[_0xba40('0x6f')]('me',null,_0x2c3de9);_0x39eec4[_0x5181e2](_0x3a61cf[_0xba40('0x70')],_0x3a61cf[_0xba40('0x6d')][_0xba40('0x71')],_0x3a61cf[_0xba40('0x6d')][_0xba40('0x1f')]);break;}}else{var _0x3a61cf=as[_0xba40('0x6f')](_0x509193,_0x20e935[_0xba40('0x3e')],_0x2c3de9);_0x39eec4[_0x5181e2](_0x3a61cf[_0xba40('0x70')],_0x3a61cf[_0xba40('0x6d')]['start'],_0x3a61cf[_0xba40('0x6d')][_0xba40('0x1f')]);}}}else{var _0x3b026b=_(_0x3ec3bb[_0xba40('0x44')])[_0xba40('0x41')]()[_0xba40('0x30')](function(_0x56d8b3){return _['some'](_0x526afb,['name',_0x56d8b3])?_0x56d8b3:undefined;})[_0xba40('0x76')]()[_0xba40('0x6d')]();if(!_[_0xba40('0x77')](_0x3b026b)){_0x3b026b['forEach'](function(_0xb49c79){if(_0xb49c79===_0xba40('0x78')){_0x5603c0['where'](_0xba40('0x79'),[]['concat'](_0x3ec3bb[_0xba40('0x44')][_0xb49c79]));}else if(_0xb49c79===_0xba40('0x7a')){var _0x4854d5=JSON['parse'](_0x3ec3bb[_0xba40('0x44')][_0xb49c79])['$gte'];var _0x1a767f=JSON[_0xba40('0x7b')](_0x3ec3bb['query'][_0xb49c79])[_0xba40('0x7c')];_0x5603c0[_0xba40('0x4a')](_0xba40('0x7d'),_0x4854d5,_0x1a767f);}else{if(_0x3ec3bb[_0xba40('0x44')][_0xb49c79]===_0xba40('0x7e')){_0x5603c0[_0xba40('0x4a')]('i.'+_0xb49c79+'\x20IS\x20NULL');}else{_0x5603c0[_0xba40('0x4a')]('i.'+_0xb49c79+_0xba40('0x7f'),_0x3ec3bb[_0xba40('0x44')][_0xb49c79]);}}});}if(_0x3ec3bb[_0xba40('0x44')][_0xba40('0x80')]){if(_0x3ec3bb[_0xba40('0x44')][_0xba40('0x80')]==0x1){_0x5603c0[_0xba40('0x64')]('`unreadMessages`\x20=\x200');}else{_0x5603c0[_0xba40('0x64')](_0xba40('0x81'));}}if(_0x3ec3bb[_0xba40('0x44')]['tag']){_0x5f31a7=_[_0xba40('0x82')](_0x3ec3bb[_0xba40('0x44')][_0xba40('0x83')])?_0x3ec3bb[_0xba40('0x44')][_0xba40('0x83')]:new Array(_0x3ec3bb['query'][_0xba40('0x83')]);_0x5f31a7[_0xba40('0x34')](function(_0x3547b0){_0x416df5['or'](_0xba40('0x72'),'%,'+_0x3547b0+',%');});}if(_0x3ec3bb[_0xba40('0x44')][_0xba40('0x84')]){var _0x16c66d=_0x3ec3bb[_0xba40('0x44')][_0xba40('0x84')]['replace']('\x5c','\x5c\x5c')[_0xba40('0x85')](/'/g,'\x27\x27');if(qs[_0xba40('0x86')](_0x16c66d)){_0x39eec4['or'](_0xba40('0x87'),_0x16c66d+'%');}else if(qs[_0xba40('0x88')](_0x16c66d)){_0x39eec4['or'](_0xba40('0x89'),_0x16c66d+'%');}else{_0x39eec4['or'](_0xba40('0x8a'),qs[_0xba40('0x6c')](_0x16c66d))['or'](_0xba40('0x8b'),qs[_0xba40('0x6c')](_0x16c66d));}}}_0x5603c0[_0xba40('0x4a')](_0x39eec4);_0x5603c0[_0xba40('0x8c')](_0xba40('0x8d'));var _0x3d7c0c={'type':db[_0xba40('0x8e')]['QueryTypes'][_0xba40('0x8f')],'raw':!![]};var _0x554c4b=_0x5603c0[_0xba40('0x90')]();_0x554c4b[_0xba40('0x4d')](_0xba40('0x8d'));_0x554c4b['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages');if(_0x5dc94e[_0xba40('0x48')]){_0x5dc94e[_0xba40('0x48')][_0xba40('0x34')](function(_0x56f7ee){var _0x14494c=_0x56f7ee[0x0]===_0xba40('0x91')?_0x56f7ee[0x0]:'i.'+_0x56f7ee[0x0];_0x5603c0[_0xba40('0x48')](_0x14494c,_0x56f7ee[0x1]===_0xba40('0x92')?![]:!![]);});}if(!_[_0xba40('0x77')](_0x5f31a7)){_0x5603c0[_0xba40('0x64')](_0x416df5);_0x554c4b['where'](_0xba40('0x93'),_0x5f31a7);}BPromise[_0xba40('0x94')]()['then'](function(){if(!_0x54c96a){if(_0x3ec3bb[_0xba40('0x44')][_0xba40('0x78')])return;_0x554c4b[_0xba40('0x4a')](_0xba40('0x95'));_0x5603c0[_0xba40('0x4a')](_0xba40('0x95'));return;}if(_0x3ec3bb['user'][_0xba40('0x96')]!==_0xba40('0x97'))return;return _0x3ec3bb[_0xba40('0x98')][_0xba40('0x99')]({'attributes':['id'],'raw':!![]})['then'](function(_0x2aa66a){if(_[_0xba40('0x77')](_0x2aa66a)){_0x554c4b['where'](_0xba40('0x9a'));_0x5603c0[_0xba40('0x4a')]('i.MailAccountId\x20IS\x20NULL');}else{_0x554c4b[_0xba40('0x4a')](_0xba40('0x79'),_[_0xba40('0x30')](_0x2aa66a,'id'));_0x5603c0['where'](_0xba40('0x79'),_[_0xba40('0x30')](_0x2aa66a,'id'));}});})[_0xba40('0x29')](function(){if(_0x3ec3bb[_0xba40('0x98')]['role']===_0xba40('0x97')&&!_0x54c96a&&!_0x3ec3bb['query'][_0xba40('0x78')])return[];return db[_0xba40('0x9b')][_0xba40('0x44')](_0x554c4b[_0xba40('0x9c')](),_0x3d7c0c);})[_0xba40('0x29')](function(_0x3a6b6d){_0x5dd49a[_0xba40('0x20')]=_0x3a6b6d[_0xba40('0x6a')];if(_0x5dd49a[_0xba40('0x20')]===0x0)return[];return db[_0xba40('0x9b')][_0xba40('0x44')](_0x599051[_0xba40('0x9c')](),_0x3d7c0c)[_0xba40('0x29')](function(_0x448320){_0x5e4502=_[_0xba40('0x9d')](_0x448320,'id');_0x3d7c0c=_[_0xba40('0x9e')](_0x3d7c0c,{'model':db[_0xba40('0x36')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x3ec3bb[_0xba40('0x44')]['fields']){_0x5dc94e['attributes'][_0xba40('0x34')](function(_0x4105bd){_0x5603c0[_0xba40('0x4d')]('i.'+_0x4105bd);});}else{_0x5603c0[_0xba40('0x4d')](_0xba40('0x9f'),_0xba40('0x63'));_0x5603c0[_0xba40('0x4d')](_0xba40('0xa0'),_0xba40('0xa1'));_0x5603c0[_0xba40('0x4d')](_0xba40('0xa2'),_0xba40('0xa3'));_0x5603c0[_0xba40('0x4d')](_0xba40('0xa4'),'contactName');_0x5603c0[_0xba40('0x4d')](_0xba40('0x8d'));_0x5603c0[_0xba40('0x4d')](_0xba40('0xa5'));_0x5603c0[_0xba40('0x4d')](_0xba40('0xa6'));_0x5603c0[_0xba40('0x4d')]('i.closed');_0x5603c0['field']('i.closedAt');_0x5603c0['field'](_0xba40('0xa7'));_0x5603c0[_0xba40('0x4d')](_0xba40('0xa8'));_0x5603c0[_0xba40('0x4d')](_0xba40('0xa9'));_0x5603c0[_0xba40('0x4d')](_0xba40('0xaa'));_0x5603c0[_0xba40('0x4d')](_0xba40('0xab'));_0x5603c0['field'](_0xba40('0xac'));_0x5603c0[_0xba40('0x4d')]('i.thirdDisposition');_0x5603c0[_0xba40('0x4d')](_0xba40('0xad'));_0x5603c0[_0xba40('0x4d')](_0xba40('0xae'));_0x5603c0['field'](_0xba40('0xaf'));_0x5603c0[_0xba40('0x4d')]('i.MailAccountId');_0x5603c0[_0xba40('0x4d')](_0xba40('0xb0'));_0x5603c0['field'](_0xba40('0xb1'),_0xba40('0xb2'));_0x5603c0[_0xba40('0x4d')](_0xba40('0xb3'),_0xba40('0xb4'));_0x5603c0[_0xba40('0x4d')](_0xba40('0xb5'),_0xba40('0xb6'));_0x5603c0[_0xba40('0x4d')](_0xba40('0xb7'),'Contact.phone');_0x5603c0[_0xba40('0x4d')](_0xba40('0xb8'),_0xba40('0xb9'));_0x5603c0['field'](_0xba40('0xba'),_0xba40('0xbb'));_0x5603c0[_0xba40('0x4d')](_0xba40('0xbc'),'Owner.fullname');_0x5603c0['field'](_0xba40('0xbd'),_0xba40('0xbe'));_0x5603c0[_0xba40('0x4d')](_0xba40('0xbf'),'TagIds');}if(_0x5dc94e[_0xba40('0x22')])_0x5603c0['limit'](_0x5dc94e[_0xba40('0x22')]);if(_0x5dc94e[_0xba40('0x21')])_0x5603c0[_0xba40('0x21')](_0x5dc94e[_0xba40('0x21')]);return db['sequelize']['query'](_0x5603c0[_0xba40('0x9c')](),_0x3d7c0c);})['then'](function(_0x3fd032){_0x3975e3['where'](_0xba40('0xc0'),_[_0xba40('0x30')](_0x3fd032,'id'));return db[_0xba40('0x9b')]['query'](_0x3975e3[_0xba40('0x9c')](),_0x3d7c0c)[_0xba40('0x29')](function(_0x3c6192){var _0x2d002b=_[_0xba40('0xc1')](_0x3c6192,_0xba40('0xc2'));var _0x201ada=[];return db[_0xba40('0xc3')]['findOne']({'attributes':[_0xba40('0xc4')],'raw':!![]})[_0xba40('0x29')](function(_0x5b48a8){var _0x2d4b36=_0x5b48a8[_0xba40('0xc4')];_0x3fd032[_0xba40('0x34')](function(_0x461252){_0x201ada['push'](updateMailInteraction(_0x461252,_0x5e4502,_0x2d002b,_0x2d4b36));});return BPromise[_0xba40('0xc5')](_0x201ada);});});});})[_0xba40('0x29')](function(_0x5f0e8c){_0x5dd49a['rows']=_0x5f0e8c;return _0x5dd49a;})[_0xba40('0x29')](respondWithFilteredResult(_0x502940,_0x5dc94e))[_0xba40('0xc6')](handleError(_0x502940,null));};exports[_0xba40('0xc7')]=function(_0x5c8555,_0x60b35b){var _0x373fde={'raw':![],'where':{'id':_0x5c8555[_0xba40('0xc8')]['id']}},_0x5c7993={};_0x5c7993['model']=_[_0xba40('0x41')](db[_0xba40('0x36')][_0xba40('0x3c')]);_0x5c7993[_0xba40('0x44')]=_['keys'](_0x5c8555[_0xba40('0x44')]);_0x5c7993['filters']=_[_0xba40('0x43')](_0x5c7993[_0xba40('0x3f')],_0x5c7993[_0xba40('0x44')]);_0x373fde[_0xba40('0x46')]=_[_0xba40('0x43')](_0x5c7993['model'],qs[_0xba40('0x45')](_0x5c8555[_0xba40('0x44')]['fields']));_0x373fde[_0xba40('0x46')]=_0x373fde[_0xba40('0x46')][_0xba40('0x6a')]?_0x373fde[_0xba40('0x46')]:_0x5c7993[_0xba40('0x3f')];if(_0x5c8555[_0xba40('0x44')][_0xba40('0xc9')]){_0x373fde[_0xba40('0xca')]=[{'all':!![]}];}_0x373fde=_['merge']({},_0x373fde,_0x5c8555[_0xba40('0xcb')]);return db[_0xba40('0x36')][_0xba40('0xcc')](_0x373fde)[_0xba40('0x29')](handleEntityNotFound(_0x60b35b,null))[_0xba40('0x29')](respondWithResult(_0x60b35b,null))[_0xba40('0xc6')](handleError(_0x60b35b,null));};exports[_0xba40('0xcd')]=function(_0x209b2b,_0x33e303){return db[_0xba40('0x36')][_0xba40('0xcd')](_0x209b2b[_0xba40('0xce')],{})[_0xba40('0x29')](respondWithResult(_0x33e303,0xc9))[_0xba40('0xc6')](handleError(_0x33e303,null));};exports[_0xba40('0x28')]=function(_0x139def,_0x47107c){if(_0x139def[_0xba40('0xce')]['id']){delete _0x139def[_0xba40('0xce')]['id'];}return db[_0xba40('0x36')][_0xba40('0xcc')]({'where':{'id':_0x139def['params']['id']}})[_0xba40('0x29')](handleEntityNotFound(_0x47107c,null))['then'](saveUpdates(_0x139def[_0xba40('0xce')],null))['then'](respondWithResult(_0x47107c,null))[_0xba40('0xc6')](handleError(_0x47107c,null));};exports[_0xba40('0x2a')]=function(_0x4c4e1d,_0x233e6b){return db['MailInteraction'][_0xba40('0xcc')]({'where':{'id':_0x4c4e1d[_0xba40('0xc8')]['id']}})['then'](handleEntityNotFound(_0x233e6b,null))[_0xba40('0x29')](removeEntity(_0x233e6b,null))[_0xba40('0xc6')](handleError(_0x233e6b,null));};exports[_0xba40('0xcf')]=function(_0x22ef61,_0x2e6ce6){return db[_0xba40('0x36')][_0xba40('0xcf')]()[_0xba40('0x29')](respondWithResult(_0x2e6ce6,null))['catch'](handleError(_0x2e6ce6,null));};exports[_0xba40('0xd0')]=function(_0x2103fc,_0x7ca4ee,_0x3fbd00){return db[_0xba40('0xd1')][_0xba40('0xcc')]({'where':{'id':_0x2103fc[_0xba40('0xc8')]['id']}})[_0xba40('0x29')](handleEntityNotFound(_0x7ca4ee,null))['then'](function(_0x12b7ee){if(_0x12b7ee){return _0x12b7ee[_0xba40('0xd0')](_0x2103fc[_0xba40('0xce')][_0xba40('0xd2')],_['omit'](_0x2103fc['body'],[_0xba40('0xd2'),'id'])||{});}})['then'](respondWithResult(_0x7ca4ee,null))[_0xba40('0xc6')](handleError(_0x7ca4ee,null));};exports[_0xba40('0xd3')]=function(_0xfd7130,_0x510374,_0x111883){var _0x5cc0c6={'raw':![],'where':{}};var _0x369ca8={};var _0x1398ab={'count':0x0,'rows':[]};return db[_0xba40('0x36')][_0xba40('0x37')]({'where':{'id':_0xfd7130['params']['id']}})[_0xba40('0x29')](handleEntityNotFound(_0x510374,null))[_0xba40('0x29')](function(_0x25f447){if(_0x25f447){_0x369ca8[_0xba40('0x3f')]=_['keys'](db['MailMessage'][_0xba40('0x3c')]);_0x369ca8['query']=_[_0xba40('0x41')](_0xfd7130[_0xba40('0x44')]);_0x369ca8['filters']=_[_0xba40('0x43')](_0x369ca8[_0xba40('0x3f')],_0x369ca8[_0xba40('0x44')]);_0x5cc0c6[_0xba40('0x46')]=_[_0xba40('0x43')](_0x369ca8['model'],qs[_0xba40('0x45')](_0xfd7130['query'][_0xba40('0x45')]));_0x5cc0c6[_0xba40('0x46')]=_0x5cc0c6[_0xba40('0x46')][_0xba40('0x6a')]?_0x5cc0c6[_0xba40('0x46')]:_0x369ca8[_0xba40('0x3f')];if(!_0xfd7130['query'][_0xba40('0xd4')](_0xba40('0x47'))){_0x5cc0c6[_0xba40('0x22')]=qs['limit'](_0xfd7130[_0xba40('0x44')][_0xba40('0x22')]);_0x5cc0c6[_0xba40('0x21')]=qs[_0xba40('0x21')](_0xfd7130[_0xba40('0x44')][_0xba40('0x21')]);}_0x5cc0c6[_0xba40('0x48')]=qs['sort'](_0xfd7130[_0xba40('0x44')]['sort']);_0x5cc0c6[_0xba40('0x4a')]=qs[_0xba40('0x42')](_[_0xba40('0x4b')](_0xfd7130[_0xba40('0x44')],_0x369ca8[_0xba40('0x42')]));_0x5cc0c6['where'][_0xba40('0xc2')]=_0x25f447['id'];if(_0xfd7130[_0xba40('0x44')][_0xba40('0x84')]){_0x5cc0c6[_0xba40('0x4a')]=_[_0xba40('0x9e')](_0x5cc0c6[_0xba40('0x4a')],{'$or':_[_0xba40('0x30')](_0x5cc0c6[_0xba40('0x46')],function(_0x3a63c8){var _0x2a862d={};_0x2a862d[_0x3a63c8]={'$like':'%'+_0xfd7130[_0xba40('0x44')][_0xba40('0x84')]+'%'};return _0x2a862d;})});}if(_0xfd7130[_0xba40('0x44')][_0xba40('0xd5')]){var _0x39ea03=_0xfd7130[_0xba40('0x44')][_0xba40('0xd5')][_0xba40('0x69')](',');var _0x2d7450={};_0x2d7450[_0x39ea03[0x0]]={'$gte':moment(_0x39ea03[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x5cc0c6[_0xba40('0x4a')]=_[_0xba40('0x9e')](_0x5cc0c6[_0xba40('0x4a')],_0x2d7450);}_0x5cc0c6=_[_0xba40('0x9e')]({},_0x5cc0c6,_0xfd7130[_0xba40('0xcb')]);return db[_0xba40('0xd1')][_0xba40('0x20')]({'where':_0x5cc0c6[_0xba40('0x4a')]})[_0xba40('0x29')](function(_0x46ebcc){_0x1398ab[_0xba40('0x20')]=_0x46ebcc;if(_0xfd7130[_0xba40('0x44')]['includeAll']){_0x5cc0c6[_0xba40('0xca')]=[{'all':!![]}];}return db[_0xba40('0xd1')][_0xba40('0xd6')](_0x5cc0c6);})[_0xba40('0x29')](function(_0x1ee174){_0x1398ab[_0xba40('0xd7')]=_0x1ee174;return _0x1398ab;});}})[_0xba40('0x29')](respondWithFilteredResult(_0x510374,_0x5cc0c6))[_0xba40('0xc6')](handleError(_0x510374,null));};exports[_0xba40('0xd8')]=function(_0x278328,_0x20e2f6,_0x2b6fb0){return db[_0xba40('0x36')][_0xba40('0xcc')]({'where':{'id':_0x278328[_0xba40('0xc8')]['id']}})[_0xba40('0x29')](handleEntityNotFound(_0x20e2f6,null))[_0xba40('0x29')](function(_0x3ca2e9){if(_0x3ca2e9){return _0x3ca2e9[_0xba40('0xd9')](_0x278328['body'][_0xba40('0xd2')],_[_0xba40('0xda')](_0x278328[_0xba40('0xce')],[_0xba40('0xd2'),'id'])||{})['spread'](function(){return db[_0xba40('0xdb')][_0xba40('0xd6')]({'attributes':['id',_0xba40('0x40'),_0xba40('0x4e')],'where':{'id':_0x278328[_0xba40('0xce')][_0xba40('0xd2')]}});})[_0xba40('0x29')](function(_0x244ec2){socket[_0xba40('0xdc')]('mailInteractionTags:save',{'id':Number(_0x278328[_0xba40('0xc8')]['id']),'tags':_0x244ec2||[]});return{'id':Number(_0x278328['params']['id']),'tags':_0x244ec2||[]};});}})[_0xba40('0x29')](respondWithResult(_0x20e2f6,null))[_0xba40('0xc6')](handleError(_0x20e2f6,null));};exports[_0xba40('0xdd')]=function(_0x51fd06,_0xd1b8c,_0x5d77b0){return db[_0xba40('0x36')][_0xba40('0xcc')]({'where':{'id':_0x51fd06[_0xba40('0xc8')]['id']}})['then'](handleEntityNotFound(_0xd1b8c,null))[_0xba40('0x29')](function(_0xfaa30b){if(_0xfaa30b){return _0xfaa30b[_0xba40('0xdd')](_0x51fd06['query'][_0xba40('0xd2')]);}})['then'](respondWithStatusCode(_0xd1b8c,null))['catch'](handleError(_0xd1b8c,null));};exports[_0xba40('0xde')]=function(_0xd180ba,_0x19f299){var _0x22f146=moment()['unix']()[_0xba40('0x9c')]();var _0x4ee3d5=path['join'](config['root'],_0xba40('0xdf'),_0xba40('0xe0'),_0xba40('0xe1'));var _0x257505=path['join'](config[_0xba40('0xe2')],_0xba40('0xdf'),_0xba40('0xe0'),_0xba40('0xe3'));var _0x86e4c5=path[_0xba40('0xe4')](_0x4ee3d5,_0x22f146);var _0x40a50a=util[_0xba40('0xe5')](_0xba40('0xe6'),_0xd180ba[_0xba40('0xc8')]['id'],_0x22f146);var _0x2d88c7=path[_0xba40('0xe4')](_0x4ee3d5,_0x40a50a);var _0x3b0102=[];if(_0xd180ba['query'][_0xba40('0xe3')]){_0x3b0102[_0xba40('0x35')]({'model':db[_0xba40('0xe7')],'as':_0xba40('0xe8'),'raw':!![]});}var _0x2a75c9=[{'model':db[_0xba40('0xd1')],'as':'Messages','attributes':['id',_0xba40('0xce'),_0xba40('0x4f'),'to','cc','bcc',_0xba40('0xe9'),_0xba40('0x7a')],'where':{'secret':![]},'order':qs['sort']('id'),'include':_0x3b0102}];return db[_0xba40('0x36')][_0xba40('0xcc')]({'where':{'id':_0xd180ba[_0xba40('0xc8')]['id']},'include':_0x2a75c9})[_0xba40('0x29')](handleEntityNotFound(_0x19f299,null))['then'](function(_0x306270){if(_0x306270&&_0x306270[_0xba40('0xea')]){var _0x2dd279=_0x306270[_0xba40('0xeb')]({'plain':!![]});fs['mkdirSync'](_0x86e4c5);return BPromise[_0xba40('0xec')](_0x2dd279[_0xba40('0xea')],function(_0x44b308,_0x370ed2){var _0x2def9f={'from':_0x44b308[_0xba40('0x4f')],'to':_0x44b308['to'],'subject':_0x44b308[_0xba40('0xe9')],'html':_0x44b308[_0xba40('0xce')],'headers':{'Date':moment(_0x44b308[_0xba40('0x7a')])[_0xba40('0xe5')](_0xba40('0xed'))},'attachments':[]};if(_0x44b308['cc']){_0x2def9f[_0xba40('0xee')]['Cc']=_0x44b308['cc'];}if(_0x44b308[_0xba40('0xef')]){_0x2def9f[_0xba40('0xee')][_0xba40('0xf0')]=_0x44b308[_0xba40('0xef')];}return new BPromise(function(_0x398124,_0x40264d){if(_0x44b308[_0xba40('0xe8')]){for(var _0x2d1807=0x0;_0x2d1807<_0x44b308[_0xba40('0xe8')]['length'];_0x2d1807++){var _0x1175a1=_0x44b308[_0xba40('0xe8')][_0x2d1807];var _0xd5edac=path['join'](_0x257505,_0x1175a1[_0xba40('0xf1')]);if(fs[_0xba40('0xf2')](_0xd5edac)){_0x2def9f[_0xba40('0xe3')][_0xba40('0x35')]({'name':_0x1175a1['name'],'contentType':_0x1175a1[_0xba40('0x3e')],'data':fs['readFileSync'](_0xd5edac)});}}}emlformat[_0xba40('0xf3')](_0x2def9f,function(_0x5b0178,_0x55b035){if(_0x5b0178)return _0x40264d(_0x5b0178);fs[_0xba40('0xf4')](path[_0xba40('0xe4')](_0x86e4c5,util[_0xba40('0xe5')](_0xba40('0xf5'),_0x370ed2)),_0x55b035);return _0x398124(_0x55b035);});});})['then'](function(){return new BPromise(function(_0x1d43e7,_0x450cae){zipdir(_0x86e4c5,{'saveTo':_0x2d88c7},function(_0x2eb9d6,_0x485d90){if(_0x2eb9d6)return _0x450cae(_0x2eb9d6);return _0x1d43e7(_0x485d90);});})['then'](function(){return new BPromise(function(_0x4f08b5,_0x4537e1){rimraf(_0x86e4c5,function(_0x423111){if(_0x423111)_0x4537e1(_0x423111);return _0x4f08b5();});});})[_0xba40('0x29')](function(){return _0x19f299['download'](_0x2d88c7,_0x40a50a,function(_0x2fd293){if(_0x2fd293){console['log'](_0xba40('0xf6'),_0x2fd293);}else{fs['unlinkSync'](_0x2d88c7);}});});});}else{return _0x19f299['sendStatus'](0xc8);}})[_0xba40('0xc6')](handleError(_0x19f299,null));};