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