e74e7b463fee6569c2ac3402281a2434e74d2bb3
[motion2.git] / server / api / mailAccount / mailAccount.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 _0x5776=['Interaction','Messages','verifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','omit','emit','userMailAccount:save','isArray','userMailAccount:remove','getAgents','bluebird','util','path','lodash','juice','ioredis','../../components/parsers/qs','api','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./mailAccount.socket','register','jayson/promise','client','http','request','then','info','request\x20sent','debug','stringify','error','code','MailAccount,\x20%s,\x20%s','message','result','status','end','offset','undefined','count','set','Content-Range','json','destroy','get','sendStatus','name','yahoo','hotmail','imap-mail.outlook.com','outlook365','outlook.office365.com','Unknown\x20email\x20service\x20provider','gmail','smtp.gmail.com','smtp.mail.yahoo.com','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','index','MailServerIn','MailServerOut','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','key','model','query','keys','filters','attributes','fields','length','hasOwnProperty','limit','order','sort','pick','filter','where','type','merge','options','includeAll','include','findAll','rows','catch','show','params','intersection','find','update','body','custom','provider','Mail\x20Account\x20not\x20found','describe','addDisposition','MailAccountId','Disposition','getDispositions','findOne','nolimit','removeDispositions','ids','CannedAnswer','create','getAnswers','removeAnswers','email','isNil','active','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','setImap','getSmtp','addSmtp','removeSmtp','addInteraction','MailInteraction','CmContact','Contact','User','Owner','fullname','internal','Tag','color','tag','addApplications','sequelize','transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','findAndCountAll','priority','finally','send','getApplications','getMessages','MailMessage','$gte','split','format','CmList','List','Contacts','updatedAt','DESC','CloudProvider','from','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','getSmtpOptions','SendMail','sendMail','List\x20not\x20found','ListId','messageId','attach','out','YYYY-MM-DD\x20HH:mm:ss'];(function(_0x529c59,_0x50cad1){var _0x186eb9=function(_0x3533e2){while(--_0x3533e2){_0x529c59['push'](_0x529c59['shift']());}};_0x186eb9(++_0x50cad1);}(_0x5776,0xcf));var _0x6577=function(_0x3ab51d,_0x2fa01d){_0x3ab51d=_0x3ab51d-0x0;var _0x29a04e=_0x5776[_0x3ab51d];return _0x29a04e;};'use strict';var moment=require('moment');var BPromise=require(_0x6577('0x0'));var util=require(_0x6577('0x1'));var path=require(_0x6577('0x2'));var _=require(_0x6577('0x3'));var juice=require(_0x6577('0x4'));var Redis=require(_0x6577('0x5'));var qs=require(_0x6577('0x6'));var logger=require('../../config/logger')(_0x6577('0x7'));var config=require('../../config/environment');var db=require(_0x6577('0x8'))['db'];config['redis']=_[_0x6577('0x9')](config[_0x6577('0xa')],{'host':_0x6577('0xb'),'port':0x18eb});var socket=require(_0x6577('0xc'))(new Redis(config[_0x6577('0xa')]));require(_0x6577('0xd'))[_0x6577('0xe')](socket);var jayson=require(_0x6577('0xf'));var client=jayson[_0x6577('0x10')][_0x6577('0x11')]({'port':0x232b});function respondWithRpcPromise(_0x3fa8d9,_0x490fad,_0x2f82d2,_0x15c989){return new BPromise(function(_0x210af9,_0x4e79e2){var _0x3d86ff=_0x15c989||client;return _0x3d86ff[_0x6577('0x12')](_0x3fa8d9,_0x2f82d2)[_0x6577('0x13')](function(_0x1e21aa){logger[_0x6577('0x14')]('MailAccount,\x20%s,\x20%s',_0x490fad,_0x6577('0x15'));logger[_0x6577('0x16')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x490fad,_0x6577('0x15'),JSON[_0x6577('0x17')](_0x1e21aa));if(_0x1e21aa['error']){if(_0x1e21aa[_0x6577('0x18')][_0x6577('0x19')]===0x1f4){logger[_0x6577('0x18')](_0x6577('0x1a'),_0x490fad,_0x1e21aa[_0x6577('0x18')][_0x6577('0x1b')]);return _0x4e79e2(_0x1e21aa[_0x6577('0x18')][_0x6577('0x1b')]);}logger[_0x6577('0x18')]('MailAccount,\x20%s,\x20%s',_0x490fad,_0x1e21aa['error'][_0x6577('0x1b')]);return _0x210af9(_0x1e21aa[_0x6577('0x18')][_0x6577('0x1b')]);}else{logger[_0x6577('0x14')](_0x6577('0x1a'),_0x490fad,'request\x20sent');_0x210af9(_0x1e21aa[_0x6577('0x1c')][_0x6577('0x1b')]);}})['catch'](function(_0x44044f){logger[_0x6577('0x18')](_0x6577('0x1a'),_0x490fad,_0x44044f);_0x4e79e2(_0x44044f);});});}function respondWithStatusCode(_0x10f720,_0x3a24ba){_0x3a24ba=_0x3a24ba||0xcc;return function(_0x498797){if(_0x498797){return _0x10f720['sendStatus'](_0x3a24ba);}return _0x10f720[_0x6577('0x1d')](_0x3a24ba)[_0x6577('0x1e')]();};}function respondWithResult(_0x47ff2a,_0x47d0bb){_0x47d0bb=_0x47d0bb||0xc8;return function(_0x23463e){if(_0x23463e){return _0x47ff2a[_0x6577('0x1d')](_0x47d0bb)['json'](_0x23463e);}};}function respondWithFilteredResult(_0x4ff9d8,_0x2a0d26){return function(_0x3ab795){if(_0x3ab795){var _0x2ec030=typeof _0x2a0d26[_0x6577('0x1f')]==='undefined'&&typeof _0x2a0d26['limit']===_0x6577('0x20');var _0xc63288=_0x3ab795['count'];var _0x3663f8=_0x2ec030?0x0:_0x2a0d26[_0x6577('0x1f')];var _0x2af8f5=_0x2ec030?_0x3ab795[_0x6577('0x21')]:_0x2a0d26[_0x6577('0x1f')]+_0x2a0d26['limit'];var _0x49037b;if(_0x2af8f5>=_0xc63288){_0x2af8f5=_0xc63288;_0x49037b=0xc8;}else{_0x49037b=0xce;}_0x4ff9d8[_0x6577('0x1d')](_0x49037b);return _0x4ff9d8[_0x6577('0x22')](_0x6577('0x23'),_0x3663f8+'-'+_0x2af8f5+'/'+_0xc63288)[_0x6577('0x24')](_0x3ab795);}return null;};}function saveUpdates(_0x626154){return function(_0x4103ed){if(_0x4103ed){return _0x4103ed['update'](_0x626154)[_0x6577('0x13')](function(_0x3856d0){return _0x3856d0;});}return null;};}function removeEntity(_0x509ff1){return function(_0x3c9b36){if(_0x3c9b36){return _0x3c9b36[_0x6577('0x25')]()['then'](function(){var _0x40df92=_0x3c9b36[_0x6577('0x26')]({'plain':!![]});var _0x226342='MailAccounts';return db['UserProfileResource']['destroy']({'where':{'type':_0x226342,'resourceId':_0x40df92['id']}})[_0x6577('0x13')](function(){return _0x3c9b36;});})['then'](function(){_0x509ff1[_0x6577('0x1d')](0xcc)[_0x6577('0x1e')]();});}};}function handleEntityNotFound(_0x3463f8){return function(_0x58e237){if(!_0x58e237){_0x3463f8[_0x6577('0x27')](0x194);}return _0x58e237;};}function handleError(_0x5d432e,_0x454088){_0x454088=_0x454088||0x1f4;return function(_0x447330){logger[_0x6577('0x18')](_0x447330['stack']);if(_0x447330[_0x6577('0x28')]){delete _0x447330['name'];}_0x5d432e[_0x6577('0x1d')](_0x454088)['send'](_0x447330);};}function getImapHost(_0x237371){switch(_0x237371){case'gmail':return'imap.gmail.com';case _0x6577('0x29'):return'imap.mail.yahoo.com';case _0x6577('0x2a'):return _0x6577('0x2b');case _0x6577('0x2c'):return _0x6577('0x2d');}throw new Error(_0x6577('0x2e'),_0x237371);}function getSmtpHost(_0x19677e){switch(_0x19677e){case _0x6577('0x2f'):return _0x6577('0x30');case'yahoo':return _0x6577('0x31');case _0x6577('0x2a'):return'smtp-mail.outlook.com';case _0x6577('0x2c'):return'smtp.office365.com';}throw new Error('Unknown\x20email\x20service\x20provider',_0x19677e);}function getAuthenticationOptions(_0x581de1,_0x226dd7){var _0x25be1a={};var _0x295f23={};if(_0x581de1){_0x25be1a['user']=_0x295f23[_0x6577('0x32')]=_0x226dd7[_0x6577('0x33')];_0x25be1a[_0x6577('0x34')]=_0x295f23[_0x6577('0x35')]=_0x226dd7['password'];if(_0x226dd7[_0x6577('0x36')]){_0x25be1a[_0x6577('0x36')]=_0x295f23[_0x6577('0x36')]=!![];_0x25be1a['CloudProviderId']=_0x295f23[_0x6577('0x37')]=_0x226dd7[_0x6577('0x37')];_0x25be1a['password']=_0x295f23['pass']=null;}else{_0x25be1a[_0x6577('0x37')]=_0x295f23[_0x6577('0x37')]=null;}_0x25be1a[_0x6577('0x38')]=getImapHost(_0x581de1);_0x25be1a[_0x6577('0x39')]=0x3e1;_0x295f23[_0x6577('0x38')]=getSmtpHost(_0x581de1);_0x295f23[_0x6577('0x39')]=0x24b;_0x295f23[_0x6577('0x3a')]=![];_0x25be1a[_0x6577('0x3b')]=_0x295f23[_0x6577('0x3b')]=null;}else{if(_0x226dd7[_0x6577('0x3c')]){_0x25be1a[_0x6577('0x32')]=_0x295f23['user']=_0x226dd7['username'];_0x25be1a[_0x6577('0x34')]=_0x295f23[_0x6577('0x35')]=_0x226dd7[_0x6577('0x34')];}else{_0x25be1a[_0x6577('0x3c')]=_0x295f23[_0x6577('0x3c')]=![];_0x25be1a[_0x6577('0x32')]=_0x295f23[_0x6577('0x32')]=null;_0x25be1a[_0x6577('0x34')]=_0x295f23['pass']=null;}_0x25be1a[_0x6577('0x38')]=_0x226dd7[_0x6577('0x3d')][_0x6577('0x38')];_0x25be1a[_0x6577('0x39')]=_0x226dd7['Imap'][_0x6577('0x39')];_0x295f23[_0x6577('0x38')]=_0x226dd7[_0x6577('0x3e')][_0x6577('0x38')];_0x295f23[_0x6577('0x39')]=_0x226dd7[_0x6577('0x3e')][_0x6577('0x39')];}return{'Imap':_0x25be1a,'Smtp':_0x295f23};}exports[_0x6577('0x3f')]=function(_0x39454b,_0x345f2b){var _0x23a8a9={'include':[{'model':db[_0x6577('0x40')],'as':'Imap'},{'model':db[_0x6577('0x41')],'as':_0x6577('0x3e')},{'model':db[_0x6577('0x42')],'as':_0x6577('0x43')}]},_0x49dcd5={},_0x82d4a6={'count':0x0,'rows':[]};var _0x483ad0=_[_0x6577('0x44')](db[_0x6577('0x45')][_0x6577('0x46')],function(_0x2ba926){return{'name':_0x2ba926[_0x6577('0x47')],'type':_0x2ba926['type'][_0x6577('0x48')]};});_0x49dcd5[_0x6577('0x49')]=_[_0x6577('0x44')](_0x483ad0,_0x6577('0x28'));_0x49dcd5[_0x6577('0x4a')]=_[_0x6577('0x4b')](_0x39454b[_0x6577('0x4a')]);_0x49dcd5[_0x6577('0x4c')]=_['intersection'](_0x49dcd5['model'],_0x49dcd5[_0x6577('0x4a')]);_0x23a8a9[_0x6577('0x4d')]=_['intersection'](_0x49dcd5[_0x6577('0x49')],qs[_0x6577('0x4e')](_0x39454b[_0x6577('0x4a')][_0x6577('0x4e')]));_0x23a8a9[_0x6577('0x4d')]=_0x23a8a9[_0x6577('0x4d')][_0x6577('0x4f')]?_0x23a8a9[_0x6577('0x4d')]:_0x49dcd5[_0x6577('0x49')];if(!_0x39454b[_0x6577('0x4a')][_0x6577('0x50')]('nolimit')){_0x23a8a9[_0x6577('0x51')]=qs[_0x6577('0x51')](_0x39454b['query'][_0x6577('0x51')]);_0x23a8a9[_0x6577('0x1f')]=qs[_0x6577('0x1f')](_0x39454b['query'][_0x6577('0x1f')]);}_0x23a8a9[_0x6577('0x52')]=qs[_0x6577('0x53')](_0x39454b[_0x6577('0x4a')][_0x6577('0x53')]);_0x23a8a9['where']=qs[_0x6577('0x4c')](_[_0x6577('0x54')](_0x39454b[_0x6577('0x4a')],_0x49dcd5[_0x6577('0x4c')]),_0x483ad0);if(_0x39454b[_0x6577('0x4a')][_0x6577('0x55')]){_0x23a8a9[_0x6577('0x56')]=_['merge'](_0x23a8a9['where'],{'$or':_[_0x6577('0x44')](_0x483ad0,function(_0x183290){if(_0x183290[_0x6577('0x57')]!=='VIRTUAL'){var _0x1c4fd8={};_0x1c4fd8[_0x183290[_0x6577('0x28')]]={'$like':'%'+_0x39454b[_0x6577('0x4a')]['filter']+'%'};return _0x1c4fd8;}})});}_0x23a8a9=_[_0x6577('0x58')]({},_0x23a8a9,_0x39454b[_0x6577('0x59')]);var _0x10b493={'where':_0x23a8a9[_0x6577('0x56')]};return db['MailAccount'][_0x6577('0x21')](_0x10b493)[_0x6577('0x13')](function(_0x2edb87){_0x82d4a6[_0x6577('0x21')]=_0x2edb87;if(_0x39454b['query'][_0x6577('0x5a')]){_0x23a8a9[_0x6577('0x5b')]=[{'all':!![]}];}return db[_0x6577('0x45')][_0x6577('0x5c')](_0x23a8a9);})['then'](function(_0x53a00e){_0x82d4a6[_0x6577('0x5d')]=_0x53a00e;return _0x82d4a6;})[_0x6577('0x13')](respondWithFilteredResult(_0x345f2b,_0x23a8a9))[_0x6577('0x5e')](handleError(_0x345f2b,null));};exports[_0x6577('0x5f')]=function(_0x3b4b10,_0x57902d){var _0xbd372d={'raw':![],'where':{'id':_0x3b4b10[_0x6577('0x60')]['id']},'include':[{'model':db[_0x6577('0x40')],'as':'Imap'},{'model':db[_0x6577('0x41')],'as':'Smtp'},{'model':db['Pause'],'as':_0x6577('0x43')}]},_0x484863={};_0x484863[_0x6577('0x49')]=_['keys'](db[_0x6577('0x45')][_0x6577('0x46')]);_0x484863[_0x6577('0x4a')]=_['keys'](_0x3b4b10['query']);_0x484863[_0x6577('0x4c')]=_[_0x6577('0x61')](_0x484863['model'],_0x484863[_0x6577('0x4a')]);_0xbd372d[_0x6577('0x4d')]=_['intersection'](_0x484863[_0x6577('0x49')],qs[_0x6577('0x4e')](_0x3b4b10[_0x6577('0x4a')][_0x6577('0x4e')]));_0xbd372d['attributes']=_0xbd372d[_0x6577('0x4d')][_0x6577('0x4f')]?_0xbd372d[_0x6577('0x4d')]:_0x484863[_0x6577('0x49')];if(_0x3b4b10['query'][_0x6577('0x5a')]){_0xbd372d[_0x6577('0x5b')]=[{'all':!![]}];}_0xbd372d=_[_0x6577('0x58')]({},_0xbd372d,_0x3b4b10[_0x6577('0x59')]);return db[_0x6577('0x45')][_0x6577('0x62')](_0xbd372d)[_0x6577('0x13')](handleEntityNotFound(_0x57902d,null))[_0x6577('0x13')](respondWithResult(_0x57902d,null))[_0x6577('0x5e')](handleError(_0x57902d,null));};exports[_0x6577('0x63')]=function(_0x221f6b,_0x40add3){if(_0x221f6b[_0x6577('0x64')]['id']){delete _0x221f6b[_0x6577('0x64')]['id'];}var _0x3fb678=_0x221f6b[_0x6577('0x64')]['provider']===_0x6577('0x65')?null:_0x221f6b[_0x6577('0x64')][_0x6577('0x66')];var _0x1db9b5=_0x221f6b['body'][_0x6577('0x3d')]||{};var _0x2f2063=_0x221f6b[_0x6577('0x64')][_0x6577('0x3e')]||{};if(_0x3fb678){_0x1db9b5[_0x6577('0x38')]=getImapHost(_0x3fb678);_0x1db9b5['port']=0x3e1;_0x2f2063[_0x6577('0x38')]=getSmtpHost(_0x3fb678);_0x2f2063[_0x6577('0x39')]=0x24b;_0x2f2063[_0x6577('0x3a')]=![];}if(_0x2f2063[_0x6577('0x36')]){_0x2f2063[_0x6577('0x3a')]=![];}else{_0x2f2063['CloudProviderId']=null;}if(!_0x1db9b5[_0x6577('0x36')])_0x1db9b5[_0x6577('0x37')]=null;_0x221f6b[_0x6577('0x64')][_0x6577('0x3d')]=_0x1db9b5;_0x221f6b[_0x6577('0x64')][_0x6577('0x3e')]=_0x2f2063;return db[_0x6577('0x45')][_0x6577('0x62')]({'where':{'id':_0x221f6b[_0x6577('0x60')]['id']},'include':[{'model':db[_0x6577('0x40')],'as':_0x6577('0x3d')},{'model':db[_0x6577('0x41')],'as':_0x6577('0x3e')},{'model':db[_0x6577('0x42')],'as':_0x6577('0x43')}]})[_0x6577('0x13')](handleEntityNotFound(_0x40add3,null))[_0x6577('0x13')](function(_0x53ccec){if(!_0x53ccec)throw new Error(_0x6577('0x67'));if(_0x53ccec['service'])delete _0x221f6b[_0x6577('0x64')]['Imap'];return _0x53ccec;})[_0x6577('0x13')](saveUpdates(_0x221f6b[_0x6577('0x64')],null))[_0x6577('0x13')](function(_0x2e3bbd){if(!_0x221f6b['body'][_0x6577('0x3d')])return _0x2e3bbd;return db[_0x6577('0x40')][_0x6577('0x63')](_0x221f6b[_0x6577('0x64')][_0x6577('0x3d')],{'where':{'MailAccountId':_0x2e3bbd['id']}})[_0x6577('0x13')](function(){return _0x2e3bbd;});})[_0x6577('0x13')](function(_0x4950f6){if(!_0x221f6b['body'][_0x6577('0x3e')])return _0x4950f6;return db[_0x6577('0x41')][_0x6577('0x63')](_0x221f6b[_0x6577('0x64')][_0x6577('0x3e')],{'where':{'MailAccountId':_0x4950f6['id']}})[_0x6577('0x13')](function(){return _0x4950f6;});})['then'](respondWithResult(_0x40add3,null))[_0x6577('0x5e')](handleError(_0x40add3,null));};exports[_0x6577('0x68')]=function(_0x4be1ff,_0x49144a){return db[_0x6577('0x45')][_0x6577('0x68')]()[_0x6577('0x13')](respondWithResult(_0x49144a,null))[_0x6577('0x5e')](handleError(_0x49144a,null));};exports[_0x6577('0x69')]=function(_0x478d6c,_0x5b4a02){if(_0x478d6c['body']['id']){delete _0x478d6c[_0x6577('0x64')]['id'];}return db[_0x6577('0x45')][_0x6577('0x62')]({'where':{'id':_0x478d6c[_0x6577('0x60')]['id']}})['then'](handleEntityNotFound(_0x5b4a02,null))[_0x6577('0x13')](function(_0x13f841){if(_0x13f841){_0x478d6c[_0x6577('0x64')][_0x6577('0x6a')]=_0x13f841['id'];return db[_0x6577('0x6b')]['create'](_0x478d6c[_0x6577('0x64')]);}})['then'](respondWithResult(_0x5b4a02,null))[_0x6577('0x5e')](handleError(_0x5b4a02,null));};exports[_0x6577('0x6c')]=function(_0x255f4a,_0x1cdbfd){var _0x3051c6={'raw':![],'where':{}};var _0x9f0097={};var _0x4b668d={'count':0x0,'rows':[]};return db[_0x6577('0x45')][_0x6577('0x6d')]({'where':{'id':_0x255f4a[_0x6577('0x60')]['id']}})[_0x6577('0x13')](handleEntityNotFound(_0x1cdbfd,null))[_0x6577('0x13')](function(_0x4eac3b){if(_0x4eac3b){_0x9f0097[_0x6577('0x49')]=_[_0x6577('0x4b')](db[_0x6577('0x6b')][_0x6577('0x46')]);_0x9f0097[_0x6577('0x4a')]=_[_0x6577('0x4b')](_0x255f4a['query']);_0x9f0097[_0x6577('0x4c')]=_['intersection'](_0x9f0097[_0x6577('0x49')],_0x9f0097[_0x6577('0x4a')]);_0x3051c6['attributes']=_['intersection'](_0x9f0097['model'],qs[_0x6577('0x4e')](_0x255f4a[_0x6577('0x4a')][_0x6577('0x4e')]));_0x3051c6[_0x6577('0x4d')]=_0x3051c6[_0x6577('0x4d')][_0x6577('0x4f')]?_0x3051c6[_0x6577('0x4d')]:_0x9f0097['model'];if(!_0x255f4a[_0x6577('0x4a')][_0x6577('0x50')](_0x6577('0x6e'))){_0x3051c6['limit']=qs[_0x6577('0x51')](_0x255f4a['query'][_0x6577('0x51')]);_0x3051c6[_0x6577('0x1f')]=qs[_0x6577('0x1f')](_0x255f4a['query'][_0x6577('0x1f')]);}_0x3051c6[_0x6577('0x52')]=qs[_0x6577('0x53')](_0x255f4a['query'][_0x6577('0x53')]);_0x3051c6[_0x6577('0x56')]=qs[_0x6577('0x4c')](_[_0x6577('0x54')](_0x255f4a[_0x6577('0x4a')],_0x9f0097[_0x6577('0x4c')]));_0x3051c6['where'][_0x6577('0x6a')]=_0x4eac3b['id'];if(_0x255f4a[_0x6577('0x4a')][_0x6577('0x55')]){_0x3051c6['where']=_[_0x6577('0x58')](_0x3051c6[_0x6577('0x56')],{'$or':_['map'](_0x3051c6[_0x6577('0x4d')],function(_0x2eadb9){var _0xcadca={};_0xcadca[_0x2eadb9]={'$like':'%'+_0x255f4a[_0x6577('0x4a')][_0x6577('0x55')]+'%'};return _0xcadca;})});}_0x3051c6=_['merge']({},_0x3051c6,_0x255f4a[_0x6577('0x59')]);return db[_0x6577('0x6b')][_0x6577('0x21')]({'where':_0x3051c6[_0x6577('0x56')]})['then'](function(_0x3e452d){_0x4b668d['count']=_0x3e452d;if(_0x255f4a[_0x6577('0x4a')][_0x6577('0x5a')]){_0x3051c6['include']=[{'all':!![]}];}return db[_0x6577('0x6b')][_0x6577('0x5c')](_0x3051c6);})[_0x6577('0x13')](function(_0x4412ad){_0x4b668d[_0x6577('0x5d')]=_0x4412ad;return _0x4b668d;});}})[_0x6577('0x13')](respondWithFilteredResult(_0x1cdbfd,_0x3051c6))['catch'](handleError(_0x1cdbfd,null));};exports[_0x6577('0x6f')]=function(_0x4f7a29,_0x132ddc){return db[_0x6577('0x45')][_0x6577('0x62')]({'where':{'id':_0x4f7a29[_0x6577('0x60')]['id']}})[_0x6577('0x13')](handleEntityNotFound(_0x132ddc,null))['then'](function(_0xc811d9){if(_0xc811d9){return _0xc811d9[_0x6577('0x6f')](_0x4f7a29[_0x6577('0x4a')][_0x6577('0x70')]);}})[_0x6577('0x13')](respondWithStatusCode(_0x132ddc,null))[_0x6577('0x5e')](handleError(_0x132ddc,null));};exports['addAnswer']=function(_0x1d2c2b,_0x34115c){if(_0x1d2c2b[_0x6577('0x64')]['id']){delete _0x1d2c2b[_0x6577('0x64')]['id'];}return db['MailAccount'][_0x6577('0x62')]({'where':{'id':_0x1d2c2b[_0x6577('0x60')]['id']}})['then'](handleEntityNotFound(_0x34115c,null))[_0x6577('0x13')](function(_0x101f34){if(_0x101f34){_0x1d2c2b['body'][_0x6577('0x6a')]=_0x101f34['id'];return db[_0x6577('0x71')][_0x6577('0x72')](_0x1d2c2b[_0x6577('0x64')]);}})[_0x6577('0x13')](respondWithResult(_0x34115c,null))[_0x6577('0x5e')](handleError(_0x34115c,null));};exports[_0x6577('0x73')]=function(_0x51785c,_0x5efc7f){var _0x40f77b={'raw':![],'where':{}};var _0x2ee25c={};var _0x4a2b0e={'count':0x0,'rows':[]};return db[_0x6577('0x45')][_0x6577('0x6d')]({'where':{'id':_0x51785c['params']['id']}})['then'](handleEntityNotFound(_0x5efc7f,null))[_0x6577('0x13')](function(_0x19b07f){if(_0x19b07f){_0x2ee25c[_0x6577('0x49')]=_[_0x6577('0x4b')](db['CannedAnswer'][_0x6577('0x46')]);_0x2ee25c['query']=_[_0x6577('0x4b')](_0x51785c[_0x6577('0x4a')]);_0x2ee25c[_0x6577('0x4c')]=_[_0x6577('0x61')](_0x2ee25c[_0x6577('0x49')],_0x2ee25c[_0x6577('0x4a')]);_0x40f77b[_0x6577('0x4d')]=_[_0x6577('0x61')](_0x2ee25c[_0x6577('0x49')],qs[_0x6577('0x4e')](_0x51785c['query'][_0x6577('0x4e')]));_0x40f77b['attributes']=_0x40f77b[_0x6577('0x4d')][_0x6577('0x4f')]?_0x40f77b[_0x6577('0x4d')]:_0x2ee25c['model'];if(!_0x51785c[_0x6577('0x4a')]['hasOwnProperty'](_0x6577('0x6e'))){_0x40f77b[_0x6577('0x51')]=qs['limit'](_0x51785c[_0x6577('0x4a')][_0x6577('0x51')]);_0x40f77b['offset']=qs[_0x6577('0x1f')](_0x51785c[_0x6577('0x4a')]['offset']);}_0x40f77b['order']=qs[_0x6577('0x53')](_0x51785c[_0x6577('0x4a')][_0x6577('0x53')]);_0x40f77b[_0x6577('0x56')]=qs[_0x6577('0x4c')](_[_0x6577('0x54')](_0x51785c[_0x6577('0x4a')],_0x2ee25c[_0x6577('0x4c')]));_0x40f77b['where'][_0x6577('0x6a')]=_0x19b07f['id'];if(_0x51785c[_0x6577('0x4a')][_0x6577('0x55')]){_0x40f77b[_0x6577('0x56')]=_[_0x6577('0x58')](_0x40f77b[_0x6577('0x56')],{'$or':_[_0x6577('0x44')](_0x40f77b['attributes'],function(_0x4bd131){var _0x47994b={};_0x47994b[_0x4bd131]={'$like':'%'+_0x51785c[_0x6577('0x4a')]['filter']+'%'};return _0x47994b;})});}_0x40f77b=_['merge']({},_0x40f77b,_0x51785c[_0x6577('0x59')]);return db['CannedAnswer'][_0x6577('0x21')]({'where':_0x40f77b[_0x6577('0x56')]})['then'](function(_0xf3c0ad){_0x4a2b0e[_0x6577('0x21')]=_0xf3c0ad;if(_0x51785c[_0x6577('0x4a')][_0x6577('0x5a')]){_0x40f77b[_0x6577('0x5b')]=[{'all':!![]}];}return db[_0x6577('0x71')][_0x6577('0x5c')](_0x40f77b);})[_0x6577('0x13')](function(_0x365bc2){_0x4a2b0e[_0x6577('0x5d')]=_0x365bc2;return _0x4a2b0e;});}})[_0x6577('0x13')](respondWithFilteredResult(_0x5efc7f,_0x40f77b))['catch'](handleError(_0x5efc7f,null));};exports[_0x6577('0x74')]=function(_0x1b3c90,_0x28d62a){return db[_0x6577('0x45')][_0x6577('0x62')]({'where':{'id':_0x1b3c90[_0x6577('0x60')]['id']}})[_0x6577('0x13')](handleEntityNotFound(_0x28d62a,null))[_0x6577('0x13')](function(_0xbdb55d){if(_0xbdb55d){return _0xbdb55d['removeAnswers'](_0x1b3c90['query'][_0x6577('0x70')]);}})[_0x6577('0x13')](respondWithStatusCode(_0x28d62a,null))['catch'](handleError(_0x28d62a,null));};exports[_0x6577('0x72')]=function(_0x480764,_0x299fcb){var _0x40ccbb={'name':_0x480764[_0x6577('0x64')][_0x6577('0x28')],'key':_0x480764['body'][_0x6577('0x48')],'provider':_0x480764[_0x6577('0x64')][_0x6577('0x66')]===_0x6577('0x65')?null:_0x480764['body']['provider'],'email':_0x480764[_0x6577('0x64')][_0x6577('0x75')],'ListId':_0x480764['body']['ListId'],'active':!_[_0x6577('0x76')](_0x480764[_0x6577('0x64')][_0x6577('0x77')])?_0x480764['body']['active']:!![],'description':_0x480764[_0x6577('0x64')]['description']||null};var _0x4bfbf6=getAuthenticationOptions(_0x40ccbb[_0x6577('0x66')],_0x480764[_0x6577('0x64')]);_0x40ccbb['Imap']=_0x4bfbf6[_0x6577('0x3d')];_0x40ccbb[_0x6577('0x3e')]=_0x4bfbf6[_0x6577('0x3e')];return db['MailAccount'][_0x6577('0x72')](_0x40ccbb,{'include':[{'model':db[_0x6577('0x41')],'as':_0x6577('0x3e')},{'model':db[_0x6577('0x40')],'as':'Imap'}]})[_0x6577('0x13')](function(_0x5e3031){var _0x1a7913=_0x480764[_0x6577('0x32')][_0x6577('0x26')]({'plain':!![]});if(!_0x1a7913)throw new Error(_0x6577('0x78'));if(_0x1a7913['role']===_0x6577('0x32')){var _0x87faa1=_0x5e3031[_0x6577('0x26')]({'plain':!![]});return db[_0x6577('0x79')][_0x6577('0x62')]({'where':{'name':'MailAccounts','userProfileId':_0x1a7913[_0x6577('0x7a')]},'raw':!![]})[_0x6577('0x13')](function(_0x442471){if(_0x442471&&_0x442471[_0x6577('0x7b')]===0x0){return db[_0x6577('0x7c')][_0x6577('0x72')]({'name':_0x87faa1[_0x6577('0x28')],'resourceId':_0x87faa1['id'],'type':_0x442471['name'],'sectionId':_0x442471['id']},{})[_0x6577('0x13')](function(){return _0x5e3031;});}else{return _0x5e3031;}})[_0x6577('0x5e')](function(_0x473233){logger[_0x6577('0x18')](_0x6577('0x7d'),_0x473233);throw _0x473233;});}return _0x5e3031;})[_0x6577('0x13')](respondWithResult(_0x299fcb,0xc9))[_0x6577('0x5e')](handleError(_0x299fcb,null));};exports[_0x6577('0x7e')]=function(_0x10234f,_0x3c32a2){return db['MailAccount']['findOne']({'where':{'id':_0x10234f[_0x6577('0x60')]['id']}})[_0x6577('0x13')](handleEntityNotFound(_0x3c32a2,null))[_0x6577('0x13')](function(_0x2af475){if(_0x2af475){return _0x2af475[_0x6577('0x7e')]();}return null;})[_0x6577('0x13')](respondWithResult(_0x3c32a2,null))[_0x6577('0x5e')](handleError(_0x3c32a2,null));};exports[_0x6577('0x7f')]=function(_0x3797dd,_0x4321a6){if(_0x3797dd['body']['id']){delete _0x3797dd[_0x6577('0x64')]['id'];}return db[_0x6577('0x45')][_0x6577('0x62')]({'where':{'id':_0x3797dd[_0x6577('0x60')]['id']}})[_0x6577('0x13')](handleEntityNotFound(_0x4321a6,null))[_0x6577('0x13')](function(_0x358135){if(_0x358135){_0x3797dd[_0x6577('0x64')][_0x6577('0x6a')]=_0x358135['id'];return db[_0x6577('0x40')][_0x6577('0x72')](_0x3797dd[_0x6577('0x64')]);}})[_0x6577('0x13')](respondWithResult(_0x4321a6,null))[_0x6577('0x5e')](handleError(_0x4321a6,null));};exports['removeImap']=function(_0x165b6e,_0x194c75){return db[_0x6577('0x45')][_0x6577('0x6d')]({'where':{'id':_0x165b6e['params']['id']}})[_0x6577('0x13')](handleEntityNotFound(_0x194c75,null))[_0x6577('0x13')](function(_0x394702){if(_0x394702){return _0x394702[_0x6577('0x80')](null);}return null;})[_0x6577('0x13')](respondWithStatusCode(_0x194c75,null))[_0x6577('0x5e')](handleError(_0x194c75,null));};exports['getSmtp']=function(_0x3e7fa9,_0x533b24){return db[_0x6577('0x45')][_0x6577('0x6d')]({'where':{'id':_0x3e7fa9[_0x6577('0x60')]['id']}})['then'](handleEntityNotFound(_0x533b24,null))[_0x6577('0x13')](function(_0x54a7bd){if(_0x54a7bd){return _0x54a7bd[_0x6577('0x81')]();}return null;})[_0x6577('0x13')](respondWithResult(_0x533b24,null))[_0x6577('0x5e')](handleError(_0x533b24,null));};exports[_0x6577('0x82')]=function(_0x229449,_0x2bbdfe){if(_0x229449[_0x6577('0x64')]['id']){delete _0x229449['body']['id'];}return db[_0x6577('0x45')]['find']({'where':{'id':_0x229449[_0x6577('0x60')]['id']}})[_0x6577('0x13')](handleEntityNotFound(_0x2bbdfe,null))[_0x6577('0x13')](function(_0x4b1029){if(_0x4b1029){_0x229449['body'][_0x6577('0x6a')]=_0x4b1029['id'];return db[_0x6577('0x41')]['create'](_0x229449[_0x6577('0x64')]);}})[_0x6577('0x13')](respondWithResult(_0x2bbdfe,null))[_0x6577('0x5e')](handleError(_0x2bbdfe,null));};exports[_0x6577('0x83')]=function(_0x4e1493,_0x3e7aed){return db[_0x6577('0x45')][_0x6577('0x6d')]({'where':{'id':_0x4e1493[_0x6577('0x60')]['id']}})[_0x6577('0x13')](handleEntityNotFound(_0x3e7aed,null))['then'](function(_0x26be7e){if(_0x26be7e){return _0x26be7e['setSmtp'](null);}return null;})[_0x6577('0x13')](respondWithStatusCode(_0x3e7aed,null))[_0x6577('0x5e')](handleError(_0x3e7aed,null));};exports[_0x6577('0x84')]=function(_0x2298b7,_0x44a04c){return db[_0x6577('0x85')][_0x6577('0x62')]({'where':{'id':_0x2298b7[_0x6577('0x60')]['id']}})['then'](handleEntityNotFound(_0x44a04c,null))[_0x6577('0x13')](function(_0x23b63a){if(_0x23b63a){return _0x23b63a['addInteraction'](_0x2298b7[_0x6577('0x64')]['ids'],_['omit'](_0x2298b7['body'],['ids','id'])||{});}})['then'](respondWithResult(_0x44a04c,null))[_0x6577('0x5e')](handleError(_0x44a04c,null));};exports['getInteractions']=function(_0x17a876,_0x526bb4){var _0x310270={'raw':![],'where':{}};var _0xe8f83a={};var _0x1adee1={'count':0x0,'rows':[]};return db[_0x6577('0x45')]['findOne']({'where':{'id':_0x17a876[_0x6577('0x60')]['id']}})['then'](handleEntityNotFound(_0x526bb4,null))[_0x6577('0x13')](function(_0x2a0468){if(_0x2a0468){_0xe8f83a[_0x6577('0x49')]=_[_0x6577('0x4b')](db['MailInteraction']['rawAttributes']);_0xe8f83a[_0x6577('0x4a')]=_['keys'](_0x17a876[_0x6577('0x4a')]);_0xe8f83a['filters']=_[_0x6577('0x61')](_0xe8f83a['model'],_0xe8f83a[_0x6577('0x4a')]);_0x310270['attributes']=_[_0x6577('0x61')](_0xe8f83a[_0x6577('0x49')],qs[_0x6577('0x4e')](_0x17a876[_0x6577('0x4a')][_0x6577('0x4e')]));_0x310270[_0x6577('0x4d')]=_0x310270[_0x6577('0x4d')]['length']?_0x310270[_0x6577('0x4d')]:_0xe8f83a[_0x6577('0x49')];if(!_0x17a876[_0x6577('0x4a')][_0x6577('0x50')]('nolimit')){_0x310270['limit']=qs[_0x6577('0x51')](_0x17a876[_0x6577('0x4a')][_0x6577('0x51')]);_0x310270[_0x6577('0x1f')]=qs[_0x6577('0x1f')](_0x17a876[_0x6577('0x4a')][_0x6577('0x1f')]);}_0x310270['order']=qs[_0x6577('0x53')](_0x17a876[_0x6577('0x4a')][_0x6577('0x53')]);_0x310270[_0x6577('0x56')]=qs['filters'](_['pick'](_0x17a876[_0x6577('0x4a')],_0xe8f83a[_0x6577('0x4c')]));_0x310270[_0x6577('0x56')][_0x6577('0x6a')]=_0x2a0468['id'];if(_0x17a876[_0x6577('0x4a')][_0x6577('0x55')]){_0x310270[_0x6577('0x56')]=_[_0x6577('0x58')](_0x310270[_0x6577('0x56')],{'$or':_[_0x6577('0x44')](_0x310270[_0x6577('0x4d')],function(_0x5afc92){var _0x32df47={};_0x32df47[_0x5afc92]={'$like':'%'+_0x17a876[_0x6577('0x4a')][_0x6577('0x55')]+'%'};return _0x32df47;})});}_0x310270=_[_0x6577('0x58')]({},_0x310270,_0x17a876[_0x6577('0x59')]);return db[_0x6577('0x85')]['count']({'where':_0x310270[_0x6577('0x56')]})[_0x6577('0x13')](function(_0x54f43c){_0x1adee1['count']=_0x54f43c;if(_0x17a876[_0x6577('0x4a')]['includeAll']){_0x310270[_0x6577('0x5b')]=[{'model':db[_0x6577('0x86')],'as':_0x6577('0x87'),'required':![]},{'model':db[_0x6577('0x88')],'as':_0x6577('0x89'),'attributes':[_0x6577('0x28'),_0x6577('0x8a'),_0x6577('0x8b')],'required':![]},{'model':db[_0x6577('0x8c')],'as':'Tags','attributes':['id',_0x6577('0x28'),_0x6577('0x8d')],'where':_0x17a876['query'][_0x6577('0x8e')]?{'id':_0x17a876[_0x6577('0x4a')][_0x6577('0x8e')]}:undefined,'required':_0x17a876[_0x6577('0x4a')][_0x6577('0x8e')]?!![]:![]}];}return db[_0x6577('0x85')]['findAll'](_0x310270);})[_0x6577('0x13')](function(_0x583a85){_0x1adee1[_0x6577('0x5d')]=_0x583a85;return _0x1adee1;});}})[_0x6577('0x13')](respondWithFilteredResult(_0x526bb4,_0x310270))[_0x6577('0x5e')](handleError(_0x526bb4,null));};exports[_0x6577('0x8f')]=function addApplications(_0x4a4c5e,_0x2ba6a4){var _0x37937f=_0x4a4c5e[_0x6577('0x60')]['id'];var _0x467f79=_0x4a4c5e[_0x6577('0x64')];var _0x484a81=0xc8;var _0x2b9a06=null;return db[_0x6577('0x90')][_0x6577('0x91')]({'isolationLevel':db[_0x6577('0x90')]['Transaction'][_0x6577('0x92')][_0x6577('0x93')]},function(_0x807f10){return db[_0x6577('0x45')][_0x6577('0x6d')]({'where':{'id':_0x37937f},'transaction':_0x807f10})['then'](function(_0x4f43c1){if(_0x4f43c1){return db['MailApplication']['destroy']({'where':{'MailAccountId':_0x37937f},'transaction':_0x807f10})['then'](function(){var _0x1661d2=_[_0x6577('0x44')](_0x467f79,function(_0x2bdd57){_0x2bdd57[_0x6577('0x6a')]=_0x37937f;return _0x2bdd57;});return db[_0x6577('0x94')]['bulkCreate'](_0x1661d2,{'transaction':_0x807f10});});}else{_0x484a81=0x194;_0x2b9a06=[];}});})[_0x6577('0x13')](function(){if(_0x484a81!==0x194){return db[_0x6577('0x94')][_0x6577('0x95')]({'where':{'MailAccountId':_0x37937f},'order':_0x6577('0x96')})[_0x6577('0x13')](function(_0x508277){_0x2b9a06=_0x508277;});}})['catch'](function(_0x1a1c5c){_0x484a81=0x1f4;logger[_0x6577('0x18')](_0x1a1c5c['stack']);if(_0x1a1c5c[_0x6577('0x28')]){delete _0x1a1c5c[_0x6577('0x28')];}_0x2b9a06=_0x1a1c5c;})[_0x6577('0x97')](function(){if(_0x2b9a06===null){_0x2ba6a4['sendStatus'](_0x484a81);}else{if(_0x484a81===0x1f4){_0x2ba6a4[_0x6577('0x1d')](_0x484a81)[_0x6577('0x98')](_0x2b9a06);}else{_0x2ba6a4[_0x6577('0x1d')](_0x484a81)[_0x6577('0x24')](_0x2b9a06);}}});};exports[_0x6577('0x99')]=function(_0x53d97d,_0x5ab54e){var _0x3fef2d={};var _0x2c3457={};var _0x513dfd;var _0x43cdc0;return db[_0x6577('0x45')][_0x6577('0x6d')]({'where':{'id':_0x53d97d[_0x6577('0x60')]['id']}})[_0x6577('0x13')](handleEntityNotFound(_0x5ab54e,null))['then'](function(_0x444a1e){if(_0x444a1e){_0x513dfd=_0x444a1e;_0x2c3457[_0x6577('0x49')]=_[_0x6577('0x4b')](db[_0x6577('0x94')][_0x6577('0x46')]);_0x2c3457['query']=_[_0x6577('0x4b')](_0x53d97d[_0x6577('0x4a')]);_0x2c3457['filters']=_[_0x6577('0x61')](_0x2c3457[_0x6577('0x49')],_0x2c3457[_0x6577('0x4a')]);_0x3fef2d['attributes']=_[_0x6577('0x61')](_0x2c3457['model'],qs[_0x6577('0x4e')](_0x53d97d[_0x6577('0x4a')]['fields']));_0x3fef2d[_0x6577('0x4d')]=_0x3fef2d[_0x6577('0x4d')]['length']?_0x3fef2d[_0x6577('0x4d')]:_0x2c3457[_0x6577('0x49')];_0x3fef2d[_0x6577('0x52')]=qs[_0x6577('0x53')](_0x53d97d['query']['sort']);_0x3fef2d[_0x6577('0x56')]=qs['filters'](_[_0x6577('0x54')](_0x53d97d[_0x6577('0x4a')],_0x2c3457[_0x6577('0x4c')]));if(_0x53d97d[_0x6577('0x4a')]['filter']){_0x3fef2d[_0x6577('0x56')]=_[_0x6577('0x58')](_0x3fef2d[_0x6577('0x56')],{'$or':_[_0x6577('0x44')](_0x3fef2d['attributes'],function(_0x410c64){var _0xf0181d={};_0xf0181d[_0x410c64]={'$like':'%'+_0x53d97d[_0x6577('0x4a')][_0x6577('0x55')]+'%'};return _0xf0181d;})});}_0x3fef2d=_[_0x6577('0x58')]({},_0x3fef2d,_0x53d97d[_0x6577('0x59')]);return _0x513dfd[_0x6577('0x99')](_0x3fef2d);}})[_0x6577('0x13')](function(_0x528c60){if(_0x528c60){_0x43cdc0=_0x528c60[_0x6577('0x4f')];if(!_0x53d97d[_0x6577('0x4a')]['hasOwnProperty']('nolimit')){_0x3fef2d[_0x6577('0x51')]=qs['limit'](_0x53d97d[_0x6577('0x4a')][_0x6577('0x51')]);_0x3fef2d['offset']=qs[_0x6577('0x1f')](_0x53d97d[_0x6577('0x4a')]['offset']);}return _0x513dfd[_0x6577('0x99')](_0x3fef2d);}})[_0x6577('0x13')](function(_0x516286){if(_0x516286){return _0x516286?{'count':_0x43cdc0,'rows':_0x516286}:null;}})['then'](respondWithResult(_0x5ab54e,null))['catch'](handleError(_0x5ab54e,null));};exports[_0x6577('0x9a')]=function(_0x2c5337,_0xfc08e6){var _0x5c6f13={'raw':!![],'where':{}};var _0x50180d={};var _0xee639b={'count':0x0,'rows':[]};return db[_0x6577('0x45')][_0x6577('0x6d')]({'where':{'id':_0x2c5337[_0x6577('0x60')]['id']}})[_0x6577('0x13')](handleEntityNotFound(_0xfc08e6,null))[_0x6577('0x13')](function(_0x5a6877){if(_0x5a6877){_0x50180d[_0x6577('0x49')]=_[_0x6577('0x4b')](db[_0x6577('0x9b')][_0x6577('0x46')]);_0x50180d[_0x6577('0x4a')]=_[_0x6577('0x4b')](_0x2c5337['query']);_0x50180d[_0x6577('0x4c')]=_[_0x6577('0x61')](_0x50180d[_0x6577('0x49')],_0x50180d[_0x6577('0x4a')]);_0x5c6f13[_0x6577('0x4d')]=_[_0x6577('0x61')](_0x50180d[_0x6577('0x49')],qs[_0x6577('0x4e')](_0x2c5337[_0x6577('0x4a')][_0x6577('0x4e')]));_0x5c6f13['attributes']=_0x5c6f13[_0x6577('0x4d')][_0x6577('0x4f')]?_0x5c6f13[_0x6577('0x4d')]:_0x50180d[_0x6577('0x49')];if(!_0x2c5337['query'][_0x6577('0x50')](_0x6577('0x6e'))){_0x5c6f13[_0x6577('0x51')]=qs[_0x6577('0x51')](_0x2c5337['query'][_0x6577('0x51')]);_0x5c6f13[_0x6577('0x1f')]=qs[_0x6577('0x1f')](_0x2c5337['query'][_0x6577('0x1f')]);}_0x5c6f13[_0x6577('0x52')]=qs[_0x6577('0x53')](_0x2c5337[_0x6577('0x4a')]['sort']);_0x5c6f13[_0x6577('0x56')]=qs[_0x6577('0x4c')](_[_0x6577('0x54')](_0x2c5337[_0x6577('0x4a')],_0x50180d[_0x6577('0x4c')]));_0x5c6f13[_0x6577('0x56')][_0x6577('0x6a')]=_0x5a6877['id'];if(_0x2c5337['query'][_0x6577('0x55')]){_0x5c6f13[_0x6577('0x56')]=_['merge'](_0x5c6f13['where'],{'$or':_[_0x6577('0x44')](_0x5c6f13[_0x6577('0x4d')],function(_0x3f90d2){var _0x1d59e2={};_0x1d59e2[_0x3f90d2]={'$like':'%'+_0x2c5337['query'][_0x6577('0x55')]+'%'};return _0x1d59e2;})});}if(_0x2c5337[_0x6577('0x4a')][_0x6577('0x9c')]){var _0x35c5b8=_0x2c5337[_0x6577('0x4a')][_0x6577('0x9c')][_0x6577('0x9d')](',');var _0x3e5504={};_0x3e5504[_0x35c5b8[0x0]]={'$gte':moment(_0x35c5b8[0x1])[_0x6577('0x9e')]('YYYY-MM-DD\x20HH:mm:ss')};_0x5c6f13['where']=_[_0x6577('0x58')](_0x5c6f13['where'],_0x3e5504);}_0x5c6f13=_['merge']({},_0x5c6f13,_0x2c5337[_0x6577('0x59')]);return db[_0x6577('0x9b')][_0x6577('0x21')]({'where':_0x5c6f13['where']})[_0x6577('0x13')](function(_0x1ef7af){_0xee639b[_0x6577('0x21')]=_0x1ef7af;if(_0x2c5337[_0x6577('0x4a')][_0x6577('0x5a')]){_0x5c6f13['include']=[{'all':!![]}];}return db['MailMessage'][_0x6577('0x5c')](_0x5c6f13);})['then'](function(_0x3b9ed2){if(_0x2c5337[_0x6577('0x4a')]['inlineCss']==='true'){for(var _0x40abf8=0x0;_0x40abf8<_0x3b9ed2[_0x6577('0x4f')];_0x40abf8++){_0x3b9ed2[_0x40abf8][_0x6577('0x64')]=juice(_0x3b9ed2[_0x40abf8][_0x6577('0x64')]);}}_0xee639b[_0x6577('0x5d')]=_0x3b9ed2;return _0xee639b;});}})['then'](respondWithFilteredResult(_0xfc08e6,_0x5c6f13))[_0x6577('0x5e')](handleError(_0xfc08e6,null));};exports[_0x6577('0x98')]=function(_0xd509b6,_0x3b146e){var _0x12e5b1,_0x37e9df={},_0x2b8c43;if(_0xd509b6[_0x6577('0x64')]['to']){_0x2b8c43=_0xd509b6['body']['to'][_0x6577('0x9d')](',')[0x0];}return db['MailAccount'][_0x6577('0x62')]({'where':{'id':_0xd509b6[_0x6577('0x60')]['id']},'include':[{'model':db[_0x6577('0x9f')],'as':_0x6577('0xa0'),'include':[{'model':db[_0x6577('0x86')],'as':_0x6577('0xa1'),'where':{'email':_0x2b8c43},'limit':0x1,'order':[[_0x6577('0xa2'),_0x6577('0xa3')]]}]},{'model':db[_0x6577('0x41')],'as':'Smtp','raw':!![],'include':[{'model':db[_0x6577('0xa4')],'as':_0x6577('0xa4'),'raw':!![]}]}]})[_0x6577('0x13')](handleEntityNotFound(_0x3b146e,null))[_0x6577('0x13')](function(_0x43c020){if(!_0x43c020)return;_0x12e5b1=_0x43c020;if(!_0x43c020[_0x6577('0x3e')])throw new Error('Smtp\x20configuration\x20not\x20found');if(_[_0x6577('0x76')](_0xd509b6['body'][_0x6577('0xa5')])){_0xd509b6[_0x6577('0x64')][_0x6577('0xa5')]=util[_0x6577('0x9e')](_0x6577('0xa6'),_0x43c020[_0x6577('0x28')],_0x43c020[_0x6577('0x75')]||_0x43c020[_0x6577('0x3e')]['user']);}if(_0xd509b6[_0x6577('0x64')]['attachments']&&_0xd509b6['body'][_0x6577('0xa7')][_0x6577('0x4f')]){for(var _0x173012=0x0;_0x173012<_0xd509b6[_0x6577('0x64')]['attachments'][_0x6577('0x4f')];_0x173012+=0x1){_0xd509b6[_0x6577('0x64')][_0x6577('0xa7')][_0x173012]={'filename':_0xd509b6[_0x6577('0x64')][_0x6577('0xa7')][_0x173012][_0x6577('0x28')],'path':path[_0x6577('0xa8')](config[_0x6577('0xa9')],_0x6577('0xaa'),_0xd509b6[_0x6577('0x64')][_0x6577('0xa7')][_0x173012][_0x6577('0xab')])};}}var _0x36e397=_0x43c020[_0x6577('0xac')]();return respondWithRpcPromise(_0x6577('0xad'),_0x6577('0xae'),{'account':_0x36e397,'message':_0xd509b6[_0x6577('0x64')]});})['then'](function(_0x22744e){if(!_0x22744e)return;_0x37e9df=_0x22744e;if(!_0x12e5b1[_0x6577('0xa0')])throw new Error(_0x6577('0xaf'));if(_0x12e5b1[_0x6577('0xa0')][_0x6577('0xa1')][_0x6577('0x4f')])return _0x12e5b1[_0x6577('0xa0')][_0x6577('0xa1')][0x0];return db['CmContact'][_0x6577('0x72')](_[_0x6577('0x9')](_0xd509b6[_0x6577('0x64')],{'firstName':_0xd509b6[_0x6577('0x64')]['to'],'email':_0xd509b6[_0x6577('0x64')]['to'],'phone':_0xd509b6[_0x6577('0x64')]['to'],'ListId':_0x12e5b1[_0x6577('0xb0')]}));})[_0x6577('0x13')](function(_0x221b87){if(!_0x221b87)return;var _0x5eaa9e={'UserId':_0xd509b6[_0x6577('0x32')]['id'],'ContactId':_0x221b87['id'],'MailAccountId':_0x12e5b1['id'],'inReplyTo':_0x37e9df[_0x6577('0xb1')],'to':_0xd509b6[_0x6577('0x64')][_0x6577('0xa5')],'cc':_0xd509b6[_0x6577('0x64')]['cc'],'subject':_0xd509b6[_0x6577('0x64')]['subject'],'attach':_0xd509b6[_0x6577('0x64')][_0x6577('0xb2')],'firstMsgDirection':_0x6577('0xb3'),'lastMsgAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':_0x6577('0xb3'),'Messages':[_[_0x6577('0x58')](_0xd509b6[_0x6577('0x64')],{'messageId':_0x37e9df[_0x6577('0xb1')],'sentAt':moment()[_0x6577('0x9e')](_0x6577('0xb4')),'read':!![],'MailAccountId':_0x12e5b1['id'],'UserId':_0xd509b6[_0x6577('0x32')]['id'],'ContactId':_0x221b87['id']})]};if(_0xd509b6[_0x6577('0x64')][_0x6577('0xb5')]){_0x5eaa9e=_[_0x6577('0x58')](_0x5eaa9e,_0xd509b6[_0x6577('0x64')]['Interaction']);}return db['MailInteraction'][_0x6577('0x72')](_0x5eaa9e,{'include':[{'model':db[_0x6577('0x9b')],'as':_0x6577('0xb6')}]});})[_0x6577('0x13')](respondWithResult(_0x3b146e,null))['catch'](handleError(_0x3b146e,null));};exports[_0x6577('0xb7')]=function(_0x38849e,_0x4807f1){return db[_0x6577('0x45')][_0x6577('0x62')]({'where':{'id':_0x38849e[_0x6577('0x60')]['id']},'include':[{'model':db[_0x6577('0x41')],'as':_0x6577('0x3e'),'raw':!![],'include':[{'model':db[_0x6577('0xa4')],'as':_0x6577('0xa4'),'raw':!![]}]}]})[_0x6577('0x13')](handleEntityNotFound(_0x4807f1,null))[_0x6577('0x13')](function(_0x26032e){if(!_0x26032e['Smtp'])return;var _0xd7fa46=_0x26032e[_0x6577('0xac')]();return respondWithRpcPromise('VerifySmtp','verifySmtp',{'account':_0xd7fa46});})[_0x6577('0x13')](respondWithResult(_0x4807f1,null))['catch'](handleError(_0x4807f1,null));};exports[_0x6577('0x25')]=function(_0x679a1f,_0x10ad86){return db[_0x6577('0x45')][_0x6577('0x62')]({'where':{'id':_0x679a1f['params']['id']}})['then'](handleEntityNotFound(_0x10ad86,null))[_0x6577('0x13')](function(_0x101f3a){if(_0x101f3a&&_0x101f3a[_0x6577('0x3b')]){throw new db[(_0x6577('0xb8'))][(_0x6577('0xb9'))](_0x6577('0xba'));}return _0x101f3a;})[_0x6577('0x13')](removeEntity(_0x10ad86,null))[_0x6577('0x5e')](handleError(_0x10ad86,null));};exports['addAgents']=function(_0x2e2ec9,_0x272e74){return db[_0x6577('0x45')][_0x6577('0x62')]({'where':{'id':_0x2e2ec9[_0x6577('0x60')]['id']}})[_0x6577('0x13')](handleEntityNotFound(_0x272e74,null))[_0x6577('0x13')](function(_0x31eeea){if(_0x31eeea){return _0x31eeea[_0x6577('0xbb')](_0x2e2ec9[_0x6577('0x64')][_0x6577('0x70')],_[_0x6577('0xbc')](_0x2e2ec9[_0x6577('0x64')],[_0x6577('0x70'),'id'])||{})['spread'](function(_0x51cd04){for(var _0x2f3618=0x0;_0x2f3618<_0x2e2ec9['body'][_0x6577('0x70')][_0x6577('0x4f')];_0x2f3618+=0x1){socket[_0x6577('0xbd')](_0x6577('0xbe'),{'UserId':Number(_0x2e2ec9[_0x6577('0x64')][_0x6577('0x70')][_0x2f3618]),'MailAccountId':Number(_0x2e2ec9[_0x6577('0x60')]['id'])});}return _0x51cd04;});}})[_0x6577('0x13')](respondWithResult(_0x272e74,null))['catch'](handleError(_0x272e74,null));};exports['removeAgents']=function(_0x469cfc,_0x5966a1){return db[_0x6577('0x45')][_0x6577('0x62')]({'where':{'id':_0x469cfc[_0x6577('0x60')]['id']}})[_0x6577('0x13')](handleEntityNotFound(_0x5966a1,null))[_0x6577('0x13')](function(_0x47ac8e){if(_0x47ac8e){return _0x47ac8e['removeAgents'](_0x469cfc[_0x6577('0x4a')][_0x6577('0x70')])['then'](function(){if(_[_0x6577('0xbf')](_0x469cfc[_0x6577('0x4a')][_0x6577('0x70')])){for(var _0x5b7a9f=0x0;_0x5b7a9f<_0x469cfc[_0x6577('0x4a')][_0x6577('0x70')]['length'];_0x5b7a9f+=0x1){socket['emit'](_0x6577('0xc0'),{'UserId':Number(_0x469cfc['query'][_0x6577('0x70')][_0x5b7a9f]),'MailAccountId':Number(_0x469cfc[_0x6577('0x60')]['id'])});}}else{socket[_0x6577('0xbd')](_0x6577('0xc0'),{'UserId':Number(_0x469cfc[_0x6577('0x4a')][_0x6577('0x70')]),'MailAccountId':Number(_0x469cfc[_0x6577('0x60')]['id'])});}});}})['then'](respondWithStatusCode(_0x5966a1,null))[_0x6577('0x5e')](handleError(_0x5966a1,null));};exports[_0x6577('0xc1')]=function(_0x379c43,_0x818f32){var _0x36445a={};var _0x2e88b5={};var _0x5a86e3;var _0x25dc5b;return db[_0x6577('0x45')][_0x6577('0x6d')]({'where':{'id':_0x379c43[_0x6577('0x60')]['id']}})[_0x6577('0x13')](handleEntityNotFound(_0x818f32,null))[_0x6577('0x13')](function(_0x1ec742){if(_0x1ec742){_0x5a86e3=_0x1ec742;_0x2e88b5[_0x6577('0x49')]=_[_0x6577('0x4b')](db[_0x6577('0x88')][_0x6577('0x46')]);_0x2e88b5[_0x6577('0x4a')]=_[_0x6577('0x4b')](_0x379c43['query']);_0x2e88b5['filters']=_[_0x6577('0x61')](_0x2e88b5[_0x6577('0x49')],_0x2e88b5[_0x6577('0x4a')]);_0x36445a[_0x6577('0x4d')]=_['intersection'](_0x2e88b5[_0x6577('0x49')],qs[_0x6577('0x4e')](_0x379c43[_0x6577('0x4a')][_0x6577('0x4e')]));_0x36445a[_0x6577('0x4d')]=_0x36445a[_0x6577('0x4d')][_0x6577('0x4f')]?_0x36445a['attributes']:_0x2e88b5[_0x6577('0x49')];_0x36445a[_0x6577('0x52')]=qs[_0x6577('0x53')](_0x379c43['query'][_0x6577('0x53')]);_0x36445a[_0x6577('0x56')]=qs[_0x6577('0x4c')](_[_0x6577('0x54')](_0x379c43[_0x6577('0x4a')],_0x2e88b5['filters']));if(_0x379c43[_0x6577('0x4a')]['filter']){_0x36445a[_0x6577('0x56')]=_[_0x6577('0x58')](_0x36445a[_0x6577('0x56')],{'$or':_[_0x6577('0x44')](_0x36445a[_0x6577('0x4d')],function(_0x17dff2){var _0x50a75f={};_0x50a75f[_0x17dff2]={'$like':'%'+_0x379c43[_0x6577('0x4a')]['filter']+'%'};return _0x50a75f;})});}_0x36445a=_[_0x6577('0x58')]({},_0x36445a,_0x379c43[_0x6577('0x59')]);return _0x5a86e3[_0x6577('0xc1')](_0x36445a);}})['then'](function(_0x19c06b){if(_0x19c06b){_0x25dc5b=_0x19c06b[_0x6577('0x4f')];if(!_0x379c43[_0x6577('0x4a')]['hasOwnProperty']('nolimit')){_0x36445a[_0x6577('0x51')]=qs['limit'](_0x379c43[_0x6577('0x4a')]['limit']);_0x36445a[_0x6577('0x1f')]=qs[_0x6577('0x1f')](_0x379c43['query'][_0x6577('0x1f')]);}return _0x5a86e3[_0x6577('0xc1')](_0x36445a);}})[_0x6577('0x13')](function(_0x180451){if(_0x180451){return _0x180451?{'count':_0x25dc5b,'rows':_0x180451}:null;}})[_0x6577('0x13')](respondWithResult(_0x818f32,null))[_0x6577('0x5e')](handleError(_0x818f32,null));};