Built motion from commit (unavailable).|2.5.18
[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 _0xe820=['localhost','./mailInteraction.socket','end','status','json','count','offset','limit','apply','reject','save','update','then','destroy','sendStatus','error','name','send','Users','map','TagIds','Tags','forEach','push','MailInteraction','findOne','lastMsgBody','lastMsgText','trimStart','fromString','catch','index','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','order','sort','where','pick','field','color','tools_tags','select','u.fullname','from','left_join','users','u.id\x20=\x20ui.UserId','mail_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','mail_accounts','it.MailInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20>\x200','Contact','split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','Tag','union','operator','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','plainBody','isEmpty','MailAccountId','i.MailAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','isEmail','c.email\x20LIKE\x20?','MATCH\x20(me.plainBody,\x20me.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','group','Sequelize','QueryTypes','SELECT','clone','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','t.id\x20IN\x20?','resolve','i.MailAccountId\x20IS\x20NOT\x20NULL','role','agent','user','getMailAccounts','i.MailAccountId\x20IS\x20NULL','sequelize','toString','keyBy','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.closedAt','i.attach','i.lastMsgAt','i.secondDisposition','i.thirdDisposition','i.substatus','i.to','i.MailAccountId','c.firstName','c.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','MailInteractionId','Setting','enableEmailPreview','rows','params','includeAll','include','merge','options','create','body','describe','addMessage','ids','omit','getMessages','MailMessage','nolimit','format','YYYY-MM-DD\x20HH:mm:ss','findAll','inlineCss','true','addTags','setTags','mailInteractionTags:save','removeTags','download','join','root','files','tmp','server','attachments','transcript-%d-%s.zip','Attachment','Attachments','bcc','subject','Messages','each','headers','Bcc','basename','build','writeFileSync','message%d.eml','log','err','unlinkSync','html-pdf','rimraf','request-promise','moment','bluebird','util','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','juice','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults'];(function(_0x54ecfa,_0x508b38){var _0x320d72=function(_0x9dfec4){while(--_0x9dfec4){_0x54ecfa['push'](_0x54ecfa['shift']());}};_0x320d72(++_0x508b38);}(_0xe820,0xd2));var _0x0e82=function(_0x28e2cf,_0x95f722){_0x28e2cf=_0x28e2cf-0x0;var _0x4cb339=_0xe820[_0x28e2cf];return _0x4cb339;};'use strict';var pdf=require(_0x0e82('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x0e82('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x0e82('0x2'));var moment=require(_0x0e82('0x3'));var BPromise=require(_0x0e82('0x4'));var Mustache=require('mustache');var util=require(_0x0e82('0x5'));var path=require('path');var sox=require(_0x0e82('0x6'));var csv=require(_0x0e82('0x7'));var ejs=require(_0x0e82('0x8'));var fs=require('fs');var _=require(_0x0e82('0x9'));var squel=require(_0x0e82('0xa'));var crypto=require('crypto');var jsforce=require(_0x0e82('0xb'));var deskjs=require(_0x0e82('0xc'));var toCsv=require(_0x0e82('0x7'));var querystring=require(_0x0e82('0xd'));var Papa=require(_0x0e82('0xe'));var htmlToText=require('html-to-text');var juice=require(_0x0e82('0xf'));var Redis=require(_0x0e82('0x10'));var authService=require(_0x0e82('0x11'));var qs=require(_0x0e82('0x12'));var as=require(_0x0e82('0x13'));var hardwareService=require(_0x0e82('0x14'));var logger=require(_0x0e82('0x15'))('api');var utils=require(_0x0e82('0x16'));var config=require(_0x0e82('0x17'));var licenseUtil=require(_0x0e82('0x18'));var db=require(_0x0e82('0x19'))['db'];config[_0x0e82('0x1a')]=_[_0x0e82('0x1b')](config['redis'],{'host':_0x0e82('0x1c'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x0e82('0x1d'))['register'](socket);function respondWithStatusCode(_0x5b4ffd,_0x5a2d28){_0x5a2d28=_0x5a2d28||0xcc;return function(_0x3298c7){if(_0x3298c7){return _0x5b4ffd['sendStatus'](_0x5a2d28);}return _0x5b4ffd['status'](_0x5a2d28)[_0x0e82('0x1e')]();};}function respondWithResult(_0x582f45,_0x319303){_0x319303=_0x319303||0xc8;return function(_0x39cf23){if(_0x39cf23){return _0x582f45[_0x0e82('0x1f')](_0x319303)[_0x0e82('0x20')](_0x39cf23);}};}function respondWithFilteredResult(_0x53622b,_0x25ac21){return function(_0x310aac){if(_0x310aac){var _0x3a3ddf=_0x310aac[_0x0e82('0x21')],_0xc3d043=_0x25ac21[_0x0e82('0x22')],_0x3b9933=_0x25ac21[_0x0e82('0x22')]+_0x25ac21[_0x0e82('0x23')],_0x1230e6;if(_0x3b9933>=_0x3a3ddf){_0x3b9933=_0x3a3ddf;_0x1230e6=0xc8;}else{_0x1230e6=0xce;}_0x53622b[_0x0e82('0x1f')](_0x1230e6);return _0x53622b['set']('Content-Range',_0xc3d043+'-'+_0x3b9933+'/'+_0x3a3ddf)[_0x0e82('0x20')](_0x310aac);}return null;};}function patchUpdates(_0x2781de){return function(_0x13e8f8){try{jsonpatch[_0x0e82('0x24')](_0x13e8f8,_0x2781de,!![]);}catch(_0xd48046){return BPromise[_0x0e82('0x25')](_0xd48046);}return _0x13e8f8[_0x0e82('0x26')]();};}function saveUpdates(_0x2688f9,_0x56b3ad){return function(_0x1b71b4){if(_0x1b71b4){return _0x1b71b4[_0x0e82('0x27')](_0x2688f9)[_0x0e82('0x28')](function(_0x24f883){return _0x24f883;});}return null;};}function removeEntity(_0x507f08,_0xee85dd){return function(_0x24e990){if(_0x24e990){return _0x24e990[_0x0e82('0x29')]()[_0x0e82('0x28')](function(){_0x507f08['status'](0xcc)[_0x0e82('0x1e')]();});}};}function handleEntityNotFound(_0x51dbcd,_0x595319){return function(_0x384f88){if(!_0x384f88){_0x51dbcd[_0x0e82('0x2a')](0x194);}return _0x384f88;};}function handleError(_0x4c5fc1,_0x19b96d){_0x19b96d=_0x19b96d||0x1f4;return function(_0xe3c530){logger[_0x0e82('0x2b')](_0xe3c530['stack']);if(_0xe3c530[_0x0e82('0x2c')]){delete _0xe3c530[_0x0e82('0x2c')];}_0x4c5fc1['status'](_0x19b96d)[_0x0e82('0x2d')](_0xe3c530);};}function getInteractionUsers(_0x59a5b6,_0x4300f9){return new BPromise(function(_0x3ec302,_0x551f96){try{if(_0x4300f9[_0x59a5b6['id']]){_0x59a5b6[_0x0e82('0x2e')]=_[_0x0e82('0x2f')](_0x4300f9[_0x59a5b6['id']],function(_0x661718){return{'id':_0x661718['id'],'fullname':_0x661718['fullname']};});}}catch(_0x50adb7){_0x551f96(_0x50adb7);}_0x3ec302(_0x59a5b6);});}function getInteractionTags(_0x2dc021,_0x4a8c43){return new BPromise(function(_0x11211a,_0x581fe3){try{if(_0x2dc021[_0x0e82('0x30')]){_0x2dc021[_0x0e82('0x31')]=[];_0x2dc021[_0x0e82('0x30')]['split'](',')[_0x0e82('0x32')](function(_0x59d2f8){_0x2dc021[_0x0e82('0x31')][_0x0e82('0x33')](_0x4a8c43[_0x59d2f8]);});}delete _0x2dc021[_0x0e82('0x30')];}catch(_0x30c993){_0x581fe3(_0x30c993);}_0x11211a(_0x2dc021);});}function getLastMessageText(_0x44eefb){return new BPromise(function(_0x53ce82,_0x524276){return db[_0x0e82('0x34')][_0x0e82('0x35')]({'where':{'id':_0x44eefb['id']},'attributes':[_0x0e82('0x36'),_0x0e82('0x37')],'raw':!![]})[_0x0e82('0x28')](function(_0x2a80e2){if(!_0x2a80e2[_0x0e82('0x37')]){_0x44eefb[_0x0e82('0x37')]=_[_0x0e82('0x38')](htmlToText[_0x0e82('0x39')](_0x2a80e2[_0x0e82('0x36')],{'preserveNewlines':!![],'singleNewLineParagraphs':!![],'uppercaseHeadings':![],'noLinkBrackets':!![],'ignoreImage':!![]}));}else{_0x44eefb[_0x0e82('0x37')]=_0x2a80e2[_0x0e82('0x37')];}_0x53ce82(_0x44eefb);})[_0x0e82('0x3a')](function(_0x21dd97){_0x524276(_0x21dd97);});});}function updateMailInteraction(_0x5b95c8,_0x18643f,_0x379b27,_0x3be8e8){return new BPromise(function(_0xf89a19,_0x5c9a44){return getInteractionUsers(_0x5b95c8,_0x379b27)[_0x0e82('0x28')](function(_0x23c08f){return getInteractionTags(_0x23c08f,_0x18643f);})['then'](function(_0xd7ad2f){if(_0x3be8e8){_0xf89a19(getLastMessageText(_0xd7ad2f));}else{_0xf89a19(_0xd7ad2f);}})['catch'](function(_0x4a855f){_0x5c9a44(_0x4a855f);});});}exports[_0x0e82('0x3b')]=function(_0x1a77c3,_0xcf82d5){var _0x2e1b02={},_0x61a5ce={},_0x17e278={'count':0x0,'rows':[]};var _0x33a152=_['map'](db['MailInteraction'][_0x0e82('0x3c')],function(_0x456d10){return{'name':_0x456d10[_0x0e82('0x3d')],'type':_0x456d10[_0x0e82('0x3e')][_0x0e82('0x3f')]};});_0x61a5ce[_0x0e82('0x40')]=_[_0x0e82('0x2f')](_0x33a152,_0x0e82('0x2c'));_0x61a5ce['query']=_[_0x0e82('0x41')](_0x1a77c3[_0x0e82('0x42')]);_0x61a5ce[_0x0e82('0x43')]=_[_0x0e82('0x44')](_0x61a5ce[_0x0e82('0x40')],_0x61a5ce[_0x0e82('0x42')]);_0x2e1b02[_0x0e82('0x45')]=_['intersection'](_0x61a5ce[_0x0e82('0x40')],qs[_0x0e82('0x46')](_0x1a77c3[_0x0e82('0x42')][_0x0e82('0x46')]));_0x2e1b02[_0x0e82('0x45')]=_0x2e1b02[_0x0e82('0x45')][_0x0e82('0x47')]?_0x2e1b02['attributes']:_0x61a5ce['model'];if(!_0x1a77c3['query']['hasOwnProperty']('nolimit')){_0x2e1b02['limit']=qs[_0x0e82('0x23')](_0x1a77c3[_0x0e82('0x42')][_0x0e82('0x23')]);_0x2e1b02[_0x0e82('0x22')]=qs[_0x0e82('0x22')](_0x1a77c3[_0x0e82('0x42')][_0x0e82('0x22')]);}_0x2e1b02[_0x0e82('0x48')]=qs['sort'](_0x1a77c3['query'][_0x0e82('0x49')]);_0x2e1b02[_0x0e82('0x4a')]=qs[_0x0e82('0x43')](_[_0x0e82('0x4b')](_0x1a77c3[_0x0e82('0x42')],_0x61a5ce[_0x0e82('0x43')]),_0x33a152);var _0x92f666=[];var _0xaac93c=squel['select']()[_0x0e82('0x4c')]('id')['field'](_0x0e82('0x2c'))['field'](_0x0e82('0x4d'))['from'](_0x0e82('0x4e'));var _0x31af6c=squel[_0x0e82('0x4f')]()['field']('u.id')[_0x0e82('0x4c')](_0x0e82('0x50'))[_0x0e82('0x4c')]('ui.MailInteractionId')[_0x0e82('0x51')]('user_has_mail_interactions','ui')[_0x0e82('0x52')](_0x0e82('0x53'),'u',_0x0e82('0x54'));var _0x64406e=squel[_0x0e82('0x4f')]()[_0x0e82('0x51')](_0x0e82('0x55'),'i')[_0x0e82('0x52')](_0x0e82('0x56'),'c',_0x0e82('0x57'))[_0x0e82('0x52')](_0x0e82('0x53'),'o','o.id\x20=\x20i.UserId')[_0x0e82('0x52')](_0x0e82('0x58'),'a','a.id\x20=\x20i.MailAccountId')[_0x0e82('0x52')]('mail_messages','me','me.MailInteractionId\x20=\x20i.id')[_0x0e82('0x52')]('mail_interaction_has_tags','it',_0x0e82('0x59'))[_0x0e82('0x52')](_0x0e82('0x4e'),'t',_0x0e82('0x5a'));var _0xdbb813=squel['expr']();var _0x104bfe=[];var _0x4cb6e7=squel[_0x0e82('0x5b')]();var _0x2a77bd;if(_0x1a77c3[_0x0e82('0x42')][_0x0e82('0x5c')]){_0x2a77bd=as[_0x0e82('0x5d')](_0x1a77c3['query'][_0x0e82('0x5c')]);var _0x22d56b=_0x2a77bd[_0x0e82('0x5e')];for(var _0x4546bd=0x0;_0x4546bd<_0x2a77bd[_0x0e82('0x5f')]['length'];_0x4546bd++){var _0x2274a0=_0x2a77bd[_0x0e82('0x5f')][_0x4546bd];var _0x2cb523='i';var _0x1e6d69=_[_0x0e82('0x60')](_0x33a152,[_0x0e82('0x2c'),_0x2274a0[_0x0e82('0x4c')]]);if(!_0x1e6d69){switch(_0x2274a0[_0x0e82('0x4c')]){case _0x0e82('0x61'):if(_0x2274a0[_0x0e82('0x62')]==0x1){_0x64406e['having']('`'+_0x2274a0['field']+'`\x20=\x200');}else{_0x64406e[_0x0e82('0x63')]('`'+_0x2274a0['field']+_0x0e82('0x64'));}break;case _0x0e82('0x65'):if(_0x2274a0['operator']==='$substring'){if(_0x2274a0[_0x0e82('0x62')][_0x0e82('0x66')]('\x20')[_0x0e82('0x47')]>0x1){_0xdbb813[_0x22d56b](_0x0e82('0x67'),qs[_0x0e82('0x68')](_0x2274a0[_0x0e82('0x62')]),null);}else{var _0x34c5b3='%'+_0x2274a0[_0x0e82('0x62')]+'%';_0xdbb813[_0x22d56b](_0x0e82('0x69'),_0x34c5b3,_0x34c5b3,_0x34c5b3);}}else{_0x1e6d69=_[_0x0e82('0x60')](_0x33a152,['name',_0x0e82('0x6a')]);_0x2274a0[_0x0e82('0x4c')]=_0x0e82('0x6a');_0x2b89a2=as[_0x0e82('0x6b')](_0x2cb523,_0x1e6d69[_0x0e82('0x3e')],_0x2274a0);_0xdbb813[_0x22d56b](_0x2b89a2[_0x0e82('0x6c')],_0x2b89a2[_0x0e82('0x62')][_0x0e82('0x6d')],_0x2b89a2['value'][_0x0e82('0x1e')]);}break;case _0x0e82('0x6e'):var _0x31c66e=_0x2274a0[_0x0e82('0x62')][_0x0e82('0x66')](',')[_0x0e82('0x2f')](function(_0x2d1e59){return Number(_0x2d1e59);});_0x31c66e[_0x0e82('0x32')](function(_0x20bf0c){_0x4cb6e7['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x20bf0c+',%');});_0x104bfe=_[_0x0e82('0x6f')](_0x104bfe,_0x31c66e);break;case'User':if(_0x2274a0[_0x0e82('0x70')]==='$substring'){_0xdbb813[_0x22d56b](_0x0e82('0x71'),'%'+_0x2274a0[_0x0e82('0x62')]+'%',null);}else{_0x1e6d69=_['find'](_0x33a152,[_0x0e82('0x2c'),_0x0e82('0x72')]);_0x2274a0[_0x0e82('0x4c')]=_0x0e82('0x72');_0x2b89a2=as[_0x0e82('0x6b')](_0x2cb523,_0x1e6d69['type'],_0x2274a0);_0xdbb813[_0x22d56b](_0x2b89a2[_0x0e82('0x6c')],_0x2b89a2['value']['start'],_0x2b89a2[_0x0e82('0x62')][_0x0e82('0x1e')]);}break;case _0x0e82('0x73'):_0x2b89a2=as[_0x0e82('0x6b')]('me',null,_0x2274a0);_0xdbb813[_0x22d56b](_0x2b89a2[_0x0e82('0x6c')],_0x2b89a2[_0x0e82('0x62')][_0x0e82('0x6d')],_0x2b89a2[_0x0e82('0x62')][_0x0e82('0x1e')]);break;}}else{var _0x2b89a2=as['buildExpression'](_0x2cb523,_0x1e6d69['type'],_0x2274a0);_0xdbb813[_0x22d56b](_0x2b89a2[_0x0e82('0x6c')],_0x2b89a2['value'][_0x0e82('0x6d')],_0x2b89a2[_0x0e82('0x62')]['end']);}}}else{var _0x2cba0c=_(_0x1a77c3[_0x0e82('0x42')])['keys']()[_0x0e82('0x2f')](function(_0x15fdf3){return _['some'](_0x33a152,[_0x0e82('0x2c'),_0x15fdf3])?_0x15fdf3:undefined;})['compact']()[_0x0e82('0x62')]();if(!_[_0x0e82('0x74')](_0x2cba0c)){_0x2cba0c[_0x0e82('0x32')](function(_0x3bdc68){if(_0x3bdc68===_0x0e82('0x75')){_0x64406e[_0x0e82('0x4a')](_0x0e82('0x76'),[][_0x0e82('0x77')](_0x1a77c3[_0x0e82('0x42')][_0x3bdc68]));}else if(_0x3bdc68===_0x0e82('0x78')){var _0x4b256f=JSON[_0x0e82('0x79')](_0x1a77c3['query'][_0x3bdc68])[_0x0e82('0x7a')];var _0x2dfd03=JSON[_0x0e82('0x79')](_0x1a77c3['query'][_0x3bdc68])[_0x0e82('0x7b')];_0x64406e[_0x0e82('0x4a')](_0x0e82('0x7c'),_0x4b256f,_0x2dfd03);}else{if(_0x1a77c3[_0x0e82('0x42')][_0x3bdc68]===_0x0e82('0x7d')){_0x64406e['where']('i.'+_0x3bdc68+_0x0e82('0x7e'));}else{_0x64406e['where']('i.'+_0x3bdc68+_0x0e82('0x7f'),_0x1a77c3[_0x0e82('0x42')][_0x3bdc68]);}}});}if(_0x1a77c3['query']['read']){if(_0x1a77c3[_0x0e82('0x42')][_0x0e82('0x80')]==0x1){_0x64406e[_0x0e82('0x63')](_0x0e82('0x81'));}else{_0x64406e[_0x0e82('0x63')](_0x0e82('0x82'));}}if(_0x1a77c3[_0x0e82('0x42')][_0x0e82('0x83')]){_0x104bfe=_[_0x0e82('0x84')](_0x1a77c3['query'][_0x0e82('0x83')])?_0x1a77c3[_0x0e82('0x42')]['tag']:new Array(_0x1a77c3['query']['tag']);_0x104bfe[_0x0e82('0x32')](function(_0x3c79c7){_0x4cb6e7['or'](_0x0e82('0x85'),'%,'+_0x3c79c7+',%');});}if(_0x1a77c3['query'][_0x0e82('0x86')]){var _0x493e56=_0x1a77c3[_0x0e82('0x42')][_0x0e82('0x86')][_0x0e82('0x87')]('\x5c','\x5c\x5c')[_0x0e82('0x87')](/'/g,'\x27\x27');if(qs[_0x0e82('0x88')](_0x493e56)){_0xdbb813['or']('i.id\x20LIKE\x20?',_0x493e56+'%');}else if(qs[_0x0e82('0x89')](_0x493e56)){_0xdbb813['or'](_0x0e82('0x8a'),_0x493e56+'%');}else{_0xdbb813['or']('MATCH\x20(i.to,\x20i.subject)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x0e82('0x68')](_0x493e56))['or'](_0x0e82('0x8b'),qs[_0x0e82('0x68')](_0x493e56));}}}_0x64406e['where'](_0xdbb813);_0x64406e[_0x0e82('0x8c')]('i.id');var _0x349038={'type':db[_0x0e82('0x8d')][_0x0e82('0x8e')][_0x0e82('0x8f')],'raw':!![]};var _0xe258d4=_0x64406e[_0x0e82('0x90')]();_0xe258d4[_0x0e82('0x4c')](_0x0e82('0x91'));_0xe258d4['field'](_0x0e82('0x92'),_0x0e82('0x61'));if(_0x2e1b02[_0x0e82('0x48')]){_0x2e1b02[_0x0e82('0x48')][_0x0e82('0x32')](function(_0x5ab8ff){var _0x1afd3e=_0x5ab8ff[0x0]==='contactName'?_0x5ab8ff[0x0]:'i.'+_0x5ab8ff[0x0];_0x64406e[_0x0e82('0x48')](_0x1afd3e,_0x5ab8ff[0x1]==='DESC'?![]:!![]);});}if(!_[_0x0e82('0x74')](_0x104bfe)){_0x64406e[_0x0e82('0x63')](_0x4cb6e7);_0xe258d4['where'](_0x0e82('0x93'),_0x104bfe);}BPromise[_0x0e82('0x94')]()[_0x0e82('0x28')](function(){if(!_0x2a77bd){if(_0x1a77c3['query']['MailAccountId'])return;_0xe258d4['where'](_0x0e82('0x95'));_0x64406e[_0x0e82('0x4a')](_0x0e82('0x95'));return;}if(_0x1a77c3['user'][_0x0e82('0x96')]!==_0x0e82('0x97'))return;return _0x1a77c3[_0x0e82('0x98')][_0x0e82('0x99')]({'attributes':['id'],'raw':!![]})[_0x0e82('0x28')](function(_0x27928f){if(_[_0x0e82('0x74')](_0x27928f)){_0xe258d4[_0x0e82('0x4a')]('i.MailAccountId\x20IS\x20NULL');_0x64406e[_0x0e82('0x4a')](_0x0e82('0x9a'));}else{_0xe258d4[_0x0e82('0x4a')](_0x0e82('0x76'),_[_0x0e82('0x2f')](_0x27928f,'id'));_0x64406e[_0x0e82('0x4a')](_0x0e82('0x76'),_[_0x0e82('0x2f')](_0x27928f,'id'));}});})['then'](function(){if(_0x1a77c3[_0x0e82('0x98')]['role']==='agent'&&!_0x2a77bd&&!_0x1a77c3['query'][_0x0e82('0x75')])return[];return db[_0x0e82('0x9b')][_0x0e82('0x42')](_0xe258d4[_0x0e82('0x9c')](),_0x349038);})['then'](function(_0x40629f){_0x17e278['count']=_0x40629f[_0x0e82('0x47')];if(_0x17e278[_0x0e82('0x21')]===0x0)return[];return db['sequelize'][_0x0e82('0x42')](_0xaac93c['toString'](),_0x349038)['then'](function(_0x726b92){_0x92f666=_[_0x0e82('0x9d')](_0x726b92,'id');_0x349038=_['merge'](_0x349038,{'model':db['MailInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1a77c3[_0x0e82('0x42')][_0x0e82('0x46')]){_0x2e1b02[_0x0e82('0x45')][_0x0e82('0x32')](function(_0x11bdeb){_0x64406e[_0x0e82('0x4c')]('i.'+_0x11bdeb);});}else{_0x64406e[_0x0e82('0x4c')](_0x0e82('0x92'),'unreadMessages');_0x64406e['field'](_0x0e82('0x9e'),_0x0e82('0x9f'));_0x64406e[_0x0e82('0x4c')](_0x0e82('0xa0'),_0x0e82('0xa1'));_0x64406e[_0x0e82('0x4c')](_0x0e82('0xa2'),'contactName');_0x64406e[_0x0e82('0x4c')]('i.id');_0x64406e['field'](_0x0e82('0xa3'));_0x64406e['field'](_0x0e82('0xa4'));_0x64406e[_0x0e82('0x4c')]('i.closed');_0x64406e[_0x0e82('0x4c')](_0x0e82('0xa5'));_0x64406e[_0x0e82('0x4c')](_0x0e82('0xa6'));_0x64406e[_0x0e82('0x4c')](_0x0e82('0xa7'));_0x64406e[_0x0e82('0x4c')]('i.lastMsgDirection');_0x64406e[_0x0e82('0x4c')]('i.subject');_0x64406e['field']('i.disposition');_0x64406e[_0x0e82('0x4c')](_0x0e82('0xa8'));_0x64406e[_0x0e82('0x4c')](_0x0e82('0xa9'));_0x64406e[_0x0e82('0x4c')](_0x0e82('0xaa'));_0x64406e['field'](_0x0e82('0xab'));_0x64406e['field']('i.ContactId');_0x64406e['field'](_0x0e82('0xac'));_0x64406e['field']('i.UserId');_0x64406e[_0x0e82('0x4c')](_0x0e82('0xad'),'Contact.firstName');_0x64406e[_0x0e82('0x4c')](_0x0e82('0xae'),'Contact.lastName');_0x64406e[_0x0e82('0x4c')](_0x0e82('0xaf'),_0x0e82('0xb0'));_0x64406e['field'](_0x0e82('0xb1'),_0x0e82('0xb2'));_0x64406e['field'](_0x0e82('0xb3'),_0x0e82('0xb4'));_0x64406e['field'](_0x0e82('0xb5'),_0x0e82('0xb6'));_0x64406e['field'](_0x0e82('0xb7'),_0x0e82('0xb8'));_0x64406e[_0x0e82('0x4c')](_0x0e82('0xb9'),'Owner.internal');_0x64406e['field'](_0x0e82('0xba'),_0x0e82('0x30'));}if(_0x2e1b02[_0x0e82('0x23')])_0x64406e[_0x0e82('0x23')](_0x2e1b02[_0x0e82('0x23')]);if(_0x2e1b02[_0x0e82('0x22')])_0x64406e[_0x0e82('0x22')](_0x2e1b02[_0x0e82('0x22')]);return db[_0x0e82('0x9b')]['query'](_0x64406e[_0x0e82('0x9c')](),_0x349038);})[_0x0e82('0x28')](function(_0x34c912){_0x31af6c[_0x0e82('0x4a')]('ui.MailInteractionId\x20IN\x20?',_[_0x0e82('0x2f')](_0x34c912,'id'));return db[_0x0e82('0x9b')]['query'](_0x31af6c[_0x0e82('0x9c')](),_0x349038)[_0x0e82('0x28')](function(_0x342f54){var _0xa8abc=_[_0x0e82('0xbb')](_0x342f54,_0x0e82('0xbc'));var _0x50b65f=[];return db[_0x0e82('0xbd')]['findOne']({'attributes':[_0x0e82('0xbe')],'raw':!![]})[_0x0e82('0x28')](function(_0x3a1862){var _0x23d60f=_0x3a1862[_0x0e82('0xbe')];_0x34c912[_0x0e82('0x32')](function(_0x11efc8){_0x50b65f[_0x0e82('0x33')](updateMailInteraction(_0x11efc8,_0x92f666,_0xa8abc,_0x23d60f));});return BPromise['all'](_0x50b65f);});});});})[_0x0e82('0x28')](function(_0x16c9ae){_0x17e278[_0x0e82('0xbf')]=_0x16c9ae;return _0x17e278;})['then'](respondWithFilteredResult(_0xcf82d5,_0x2e1b02))[_0x0e82('0x3a')](handleError(_0xcf82d5,null));};exports['show']=function(_0x2ed2f4,_0x50d0de){var _0x317358={'raw':![],'where':{'id':_0x2ed2f4[_0x0e82('0xc0')]['id']}},_0x3691ac={};_0x3691ac['model']=_[_0x0e82('0x41')](db[_0x0e82('0x34')][_0x0e82('0x3c')]);_0x3691ac[_0x0e82('0x42')]=_['keys'](_0x2ed2f4[_0x0e82('0x42')]);_0x3691ac[_0x0e82('0x43')]=_[_0x0e82('0x44')](_0x3691ac[_0x0e82('0x40')],_0x3691ac[_0x0e82('0x42')]);_0x317358['attributes']=_[_0x0e82('0x44')](_0x3691ac[_0x0e82('0x40')],qs[_0x0e82('0x46')](_0x2ed2f4[_0x0e82('0x42')][_0x0e82('0x46')]));_0x317358['attributes']=_0x317358['attributes'][_0x0e82('0x47')]?_0x317358[_0x0e82('0x45')]:_0x3691ac['model'];if(_0x2ed2f4['query'][_0x0e82('0xc1')]){_0x317358[_0x0e82('0xc2')]=[{'all':!![]}];}_0x317358=_[_0x0e82('0xc3')]({},_0x317358,_0x2ed2f4[_0x0e82('0xc4')]);return db[_0x0e82('0x34')][_0x0e82('0x60')](_0x317358)['then'](handleEntityNotFound(_0x50d0de,null))[_0x0e82('0x28')](respondWithResult(_0x50d0de,null))[_0x0e82('0x3a')](handleError(_0x50d0de,null));};exports[_0x0e82('0xc5')]=function(_0x29e98d,_0x4dc79d){return db['MailInteraction'][_0x0e82('0xc5')](_0x29e98d[_0x0e82('0xc6')],{})[_0x0e82('0x28')](respondWithResult(_0x4dc79d,0xc9))[_0x0e82('0x3a')](handleError(_0x4dc79d,null));};exports[_0x0e82('0x27')]=function(_0x52d474,_0x583b9c){if(_0x52d474[_0x0e82('0xc6')]['id']){delete _0x52d474['body']['id'];}return db[_0x0e82('0x34')]['find']({'where':{'id':_0x52d474[_0x0e82('0xc0')]['id']}})[_0x0e82('0x28')](handleEntityNotFound(_0x583b9c,null))[_0x0e82('0x28')](saveUpdates(_0x52d474[_0x0e82('0xc6')],null))[_0x0e82('0x28')](respondWithResult(_0x583b9c,null))[_0x0e82('0x3a')](handleError(_0x583b9c,null));};exports['destroy']=function(_0x5e2a6e,_0x36fef7){return db['MailInteraction'][_0x0e82('0x60')]({'where':{'id':_0x5e2a6e[_0x0e82('0xc0')]['id']}})[_0x0e82('0x28')](handleEntityNotFound(_0x36fef7,null))[_0x0e82('0x28')](removeEntity(_0x36fef7,null))[_0x0e82('0x3a')](handleError(_0x36fef7,null));};exports[_0x0e82('0xc7')]=function(_0x1d79b5,_0x1e305f){return db[_0x0e82('0x34')]['describe']()[_0x0e82('0x28')](respondWithResult(_0x1e305f,null))[_0x0e82('0x3a')](handleError(_0x1e305f,null));};exports[_0x0e82('0xc8')]=function(_0x2857e9,_0x1145c5,_0x3752da){return db['MailMessage'][_0x0e82('0x60')]({'where':{'id':_0x2857e9[_0x0e82('0xc0')]['id']}})[_0x0e82('0x28')](handleEntityNotFound(_0x1145c5,null))['then'](function(_0x1e689c){if(_0x1e689c){return _0x1e689c[_0x0e82('0xc8')](_0x2857e9['body'][_0x0e82('0xc9')],_[_0x0e82('0xca')](_0x2857e9['body'],[_0x0e82('0xc9'),'id'])||{});}})[_0x0e82('0x28')](respondWithResult(_0x1145c5,null))[_0x0e82('0x3a')](handleError(_0x1145c5,null));};exports[_0x0e82('0xcb')]=function(_0x30109c,_0x22c6b4,_0x3a72e0){var _0x27559f={'raw':![],'where':{}};var _0x2e5db2={};var _0x19b8f2={'count':0x0,'rows':[]};return db['MailInteraction'][_0x0e82('0x35')]({'where':{'id':_0x30109c['params']['id']}})['then'](handleEntityNotFound(_0x22c6b4,null))[_0x0e82('0x28')](function(_0x4b3009){if(_0x4b3009){_0x2e5db2[_0x0e82('0x40')]=_[_0x0e82('0x41')](db[_0x0e82('0xcc')][_0x0e82('0x3c')]);_0x2e5db2[_0x0e82('0x42')]=_['keys'](_0x30109c[_0x0e82('0x42')]);_0x2e5db2[_0x0e82('0x43')]=_['intersection'](_0x2e5db2['model'],_0x2e5db2[_0x0e82('0x42')]);_0x27559f['attributes']=_[_0x0e82('0x44')](_0x2e5db2[_0x0e82('0x40')],qs[_0x0e82('0x46')](_0x30109c['query']['fields']));_0x27559f[_0x0e82('0x45')]=_0x27559f['attributes'][_0x0e82('0x47')]?_0x27559f['attributes']:_0x2e5db2[_0x0e82('0x40')];if(!_0x30109c[_0x0e82('0x42')]['hasOwnProperty'](_0x0e82('0xcd'))){_0x27559f[_0x0e82('0x23')]=qs['limit'](_0x30109c[_0x0e82('0x42')][_0x0e82('0x23')]);_0x27559f['offset']=qs['offset'](_0x30109c[_0x0e82('0x42')]['offset']);}_0x27559f[_0x0e82('0x48')]=qs[_0x0e82('0x49')](_0x30109c['query']['sort']);_0x27559f[_0x0e82('0x4a')]=qs['filters'](_[_0x0e82('0x4b')](_0x30109c[_0x0e82('0x42')],_0x2e5db2[_0x0e82('0x43')]));_0x27559f[_0x0e82('0x4a')]['MailInteractionId']=_0x4b3009['id'];if(_0x30109c['query'][_0x0e82('0x86')]){_0x27559f[_0x0e82('0x4a')]=_[_0x0e82('0xc3')](_0x27559f[_0x0e82('0x4a')],{'$or':_['map'](_0x27559f[_0x0e82('0x45')],function(_0x501db0){var _0x2c3bb3={};_0x2c3bb3[_0x501db0]={'$like':'%'+_0x30109c[_0x0e82('0x42')]['filter']+'%'};return _0x2c3bb3;})});}if(_0x30109c[_0x0e82('0x42')]['$gte']){var _0x5ebba5=_0x30109c[_0x0e82('0x42')][_0x0e82('0x7a')][_0x0e82('0x66')](',');var _0x531498={};_0x531498[_0x5ebba5[0x0]]={'$gte':moment(_0x5ebba5[0x1])[_0x0e82('0xce')](_0x0e82('0xcf'))};_0x27559f[_0x0e82('0x4a')]=_['merge'](_0x27559f['where'],_0x531498);}_0x27559f=_['merge']({},_0x27559f,_0x30109c[_0x0e82('0xc4')]);return db[_0x0e82('0xcc')]['count']({'where':_0x27559f[_0x0e82('0x4a')]})[_0x0e82('0x28')](function(_0x2da587){_0x19b8f2[_0x0e82('0x21')]=_0x2da587;if(_0x30109c[_0x0e82('0x42')][_0x0e82('0xc1')]){_0x27559f['include']=[{'all':!![]}];}return db[_0x0e82('0xcc')][_0x0e82('0xd0')](_0x27559f);})[_0x0e82('0x28')](function(_0x1d63bf){if(_0x30109c[_0x0e82('0x42')][_0x0e82('0xd1')]===_0x0e82('0xd2')){for(var _0xab2287=0x0;_0xab2287<_0x1d63bf[_0x0e82('0x47')];_0xab2287++){_0x1d63bf[_0xab2287][_0x0e82('0xc6')]=juice(_0x1d63bf[_0xab2287][_0x0e82('0xc6')]);}}_0x19b8f2['rows']=_0x1d63bf;return _0x19b8f2;});}})[_0x0e82('0x28')](respondWithFilteredResult(_0x22c6b4,_0x27559f))[_0x0e82('0x3a')](handleError(_0x22c6b4,null));};exports[_0x0e82('0xd3')]=function(_0x255f8b,_0x4192a5,_0x27320c){return db['MailInteraction'][_0x0e82('0x60')]({'where':{'id':_0x255f8b['params']['id']}})[_0x0e82('0x28')](handleEntityNotFound(_0x4192a5,null))['then'](function(_0x41ebed){if(_0x41ebed){return _0x41ebed[_0x0e82('0xd4')](_0x255f8b['body'][_0x0e82('0xc9')],_['omit'](_0x255f8b['body'],['ids','id'])||{})['spread'](function(){return db[_0x0e82('0x6e')][_0x0e82('0xd0')]({'attributes':['id',_0x0e82('0x2c'),'color'],'where':{'id':_0x255f8b[_0x0e82('0xc6')][_0x0e82('0xc9')]}});})[_0x0e82('0x28')](function(_0x5eb263){socket['emit'](_0x0e82('0xd5'),{'id':Number(_0x255f8b[_0x0e82('0xc0')]['id']),'tags':_0x5eb263||[]});return{'id':Number(_0x255f8b[_0x0e82('0xc0')]['id']),'tags':_0x5eb263||[]};});}})[_0x0e82('0x28')](respondWithResult(_0x4192a5,null))[_0x0e82('0x3a')](handleError(_0x4192a5,null));};exports[_0x0e82('0xd6')]=function(_0x5bac84,_0x452a77,_0x3d3359){return db[_0x0e82('0x34')][_0x0e82('0x60')]({'where':{'id':_0x5bac84[_0x0e82('0xc0')]['id']}})[_0x0e82('0x28')](handleEntityNotFound(_0x452a77,null))[_0x0e82('0x28')](function(_0x1f7d31){if(_0x1f7d31){return _0x1f7d31['removeTags'](_0x5bac84[_0x0e82('0x42')][_0x0e82('0xc9')]);}})[_0x0e82('0x28')](respondWithStatusCode(_0x452a77,null))[_0x0e82('0x3a')](handleError(_0x452a77,null));};exports[_0x0e82('0xd7')]=function(_0x453fa7,_0x8f6c62){var _0x48a4d4=moment()['unix']()[_0x0e82('0x9c')]();var _0xdea2c2=path[_0x0e82('0xd8')](config[_0x0e82('0xd9')],'server',_0x0e82('0xda'),_0x0e82('0xdb'));var _0x22871c=path['join'](config[_0x0e82('0xd9')],_0x0e82('0xdc'),_0x0e82('0xda'),_0x0e82('0xdd'));var _0x2fcc6b=path[_0x0e82('0xd8')](_0xdea2c2,_0x48a4d4);var _0x2816da=util[_0x0e82('0xce')](_0x0e82('0xde'),_0x453fa7[_0x0e82('0xc0')]['id'],_0x48a4d4);var _0x55449b=path['join'](_0xdea2c2,_0x2816da);var _0x43983f=[];if(_0x453fa7[_0x0e82('0x42')]['attachments']){_0x43983f[_0x0e82('0x33')]({'model':db[_0x0e82('0xdf')],'as':_0x0e82('0xe0'),'raw':!![]});}var _0x1c7d56=[{'model':db['MailMessage'],'as':'Messages','attributes':['id',_0x0e82('0xc6'),_0x0e82('0x51'),'to','cc',_0x0e82('0xe1'),_0x0e82('0xe2'),_0x0e82('0x78')],'where':{'secret':![]},'order':qs[_0x0e82('0x49')]('id'),'include':_0x43983f}];return db[_0x0e82('0x34')][_0x0e82('0x60')]({'where':{'id':_0x453fa7['params']['id']},'include':_0x1c7d56})[_0x0e82('0x28')](handleEntityNotFound(_0x8f6c62,null))[_0x0e82('0x28')](function(_0x4c2f43){if(_0x4c2f43&&_0x4c2f43[_0x0e82('0xe3')]){var _0x306f9e=_0x4c2f43['get']({'plain':!![]});fs['mkdirSync'](_0x2fcc6b);return BPromise[_0x0e82('0xe4')](_0x306f9e[_0x0e82('0xe3')],function(_0x555a20,_0xf40c85){var _0x4d3553={'from':_0x555a20[_0x0e82('0x51')],'to':_0x555a20['to'],'subject':_0x555a20[_0x0e82('0xe2')],'html':_0x555a20['body'],'headers':{'Date':moment(_0x555a20[_0x0e82('0x78')])['format']('ddd,\x20DD\x20MMM\x20YYYY\x20HH:mm:ss\x20ZZ')},'attachments':[]};if(_0x555a20['cc']){_0x4d3553['headers']['Cc']=_0x555a20['cc'];}if(_0x555a20[_0x0e82('0xe1')]){_0x4d3553[_0x0e82('0xe5')][_0x0e82('0xe6')]=_0x555a20['bcc'];}return new BPromise(function(_0x110d7c,_0x3cdd2a){if(_0x555a20['Attachments']){for(var _0x4f4c9c=0x0;_0x4f4c9c<_0x555a20[_0x0e82('0xe0')][_0x0e82('0x47')];_0x4f4c9c++){var _0x2076d6=_0x555a20[_0x0e82('0xe0')][_0x4f4c9c];var _0x57324c=path[_0x0e82('0xd8')](_0x22871c,_0x2076d6[_0x0e82('0xe7')]);if(fs['existsSync'](_0x57324c)){_0x4d3553[_0x0e82('0xdd')][_0x0e82('0x33')]({'name':_0x2076d6['name'],'contentType':_0x2076d6[_0x0e82('0x3e')],'data':fs['readFileSync'](_0x57324c)});}}}emlformat[_0x0e82('0xe8')](_0x4d3553,function(_0x9fe660,_0x31f16c){if(_0x9fe660)return _0x3cdd2a(_0x9fe660);fs[_0x0e82('0xe9')](path['join'](_0x2fcc6b,util['format'](_0x0e82('0xea'),_0xf40c85)),_0x31f16c);return _0x110d7c(_0x31f16c);});});})[_0x0e82('0x28')](function(){return new BPromise(function(_0x2cd77b,_0x582fb6){zipdir(_0x2fcc6b,{'saveTo':_0x55449b},function(_0x2fce14,_0x9a0fe9){if(_0x2fce14)return _0x582fb6(_0x2fce14);return _0x2cd77b(_0x9a0fe9);});})[_0x0e82('0x28')](function(){return new BPromise(function(_0x3d71b4,_0x83d496){rimraf(_0x2fcc6b,function(_0x45a910){if(_0x45a910)_0x83d496(_0x45a910);return _0x3d71b4();});});})[_0x0e82('0x28')](function(){return _0x8f6c62[_0x0e82('0xd7')](_0x55449b,_0x2816da,function(_0x325e98){if(_0x325e98){console[_0x0e82('0xeb')](_0x0e82('0xec'),_0x325e98);}else{fs[_0x0e82('0xed')](_0x55449b);}});});});}else{return _0x8f6c62['sendStatus'](0xc8);}})[_0x0e82('0x3a')](handleError(_0x8f6c62,null));};