b93381c7bb83a6ddd1aaa0c05d9681aff52cef44
[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 _0x3c25=['model','map','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','include','findAll','rows','catch','show','params','keys','options','find','body','provider','custom','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','rawAttributes','includeAll','ids','addAnswer','CannedAnswer','getAnswers','removeAnswers','ListId','isNil','active','description','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','omit','MailInteraction','CmContact','Contact','User','Owner','fullname','internal','Tags','tag','sequelize','Transaction','ISOLATION_LEVELS','MailApplication','findAndCountAll','finally','getApplications','getMessages','$gte','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','inlineCss','true','CmList','Contacts','updatedAt','CloudProvider','Smtp\x20configuration\x20not\x20found','from','attachments','join','root','basename','getSmtpOptions','sendMail','List','List\x20not\x20found','messageId','attach','out','Interaction','Messages','verifySmtp','VerifySmtp','Sequelize','ValidationError','addAgents','spread','emit','userMailAccount:save','removeAgents','getAgents','moment','bluebird','util','path','lodash','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','defaults','localhost','socket.io-emitter','redis','client','http','then','info','request\x20sent','debug','stringify','error','MailAccount,\x20%s,\x20%s','message','result','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','update','destroy','get','MailAccounts','UserProfileResource','stack','name','send','gmail','imap.gmail.com','yahoo','imap.mail.yahoo.com','hotmail','imap-mail.outlook.com','outlook.office365.com','smtp.gmail.com','smtp-mail.outlook.com','outlook365','smtp.office365.com','Unknown\x20email\x20service\x20provider','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','index','MailServerIn','MailServerOut','Pause','MailAccount','fieldName','key'];(function(_0xdd827a,_0x482ad2){var _0x2f46f1=function(_0x221046){while(--_0x221046){_0xdd827a['push'](_0xdd827a['shift']());}};_0x2f46f1(++_0x482ad2);}(_0x3c25,0x1eb));var _0x53c2=function(_0x5e1255,_0x2b703a){_0x5e1255=_0x5e1255-0x0;var _0x230c02=_0x3c25[_0x5e1255];return _0x230c02;};'use strict';var moment=require(_0x53c2('0x0'));var BPromise=require(_0x53c2('0x1'));var util=require(_0x53c2('0x2'));var path=require(_0x53c2('0x3'));var _=require(_0x53c2('0x4'));var juice=require('juice');var Redis=require(_0x53c2('0x5'));var qs=require(_0x53c2('0x6'));var logger=require(_0x53c2('0x7'))(_0x53c2('0x8'));var config=require(_0x53c2('0x9'));var db=require(_0x53c2('0xa'))['db'];config['redis']=_[_0x53c2('0xb')](config['redis'],{'host':_0x53c2('0xc'),'port':0x18eb});var socket=require(_0x53c2('0xd'))(new Redis(config[_0x53c2('0xe')]));require('./mailAccount.socket')['register'](socket);var jayson=require('jayson/promise');var client=jayson[_0x53c2('0xf')][_0x53c2('0x10')]({'port':0x232b});function respondWithRpcPromise(_0x4f32e9,_0x5e478b,_0x33e126,_0x1d6a54){return new BPromise(function(_0x46a91,_0x137075){var _0x23a5bf=_0x1d6a54||client;return _0x23a5bf['request'](_0x4f32e9,_0x33e126)[_0x53c2('0x11')](function(_0x47b77d){logger[_0x53c2('0x12')]('MailAccount,\x20%s,\x20%s',_0x5e478b,_0x53c2('0x13'));logger[_0x53c2('0x14')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x5e478b,_0x53c2('0x13'),JSON[_0x53c2('0x15')](_0x47b77d));if(_0x47b77d[_0x53c2('0x16')]){if(_0x47b77d[_0x53c2('0x16')]['code']===0x1f4){logger[_0x53c2('0x16')](_0x53c2('0x17'),_0x5e478b,_0x47b77d[_0x53c2('0x16')][_0x53c2('0x18')]);return _0x137075(_0x47b77d[_0x53c2('0x16')][_0x53c2('0x18')]);}logger[_0x53c2('0x16')](_0x53c2('0x17'),_0x5e478b,_0x47b77d[_0x53c2('0x16')][_0x53c2('0x18')]);return _0x46a91(_0x47b77d[_0x53c2('0x16')][_0x53c2('0x18')]);}else{logger[_0x53c2('0x12')](_0x53c2('0x17'),_0x5e478b,_0x53c2('0x13'));_0x46a91(_0x47b77d[_0x53c2('0x19')]['message']);}})['catch'](function(_0x2942a8){logger['error'](_0x53c2('0x17'),_0x5e478b,_0x2942a8);_0x137075(_0x2942a8);});});}function respondWithStatusCode(_0x306a1f,_0x3a874e){_0x3a874e=_0x3a874e||0xcc;return function(_0x5cdcd1){if(_0x5cdcd1){return _0x306a1f[_0x53c2('0x1a')](_0x3a874e);}return _0x306a1f[_0x53c2('0x1b')](_0x3a874e)[_0x53c2('0x1c')]();};}function respondWithResult(_0x1052d8,_0x5aaa6d){_0x5aaa6d=_0x5aaa6d||0xc8;return function(_0x35497f){if(_0x35497f){return _0x1052d8[_0x53c2('0x1b')](_0x5aaa6d)['json'](_0x35497f);}};}function respondWithFilteredResult(_0x327d20,_0x1e286d){return function(_0x5f1e52){if(_0x5f1e52){var _0x256146=typeof _0x1e286d[_0x53c2('0x1d')]===_0x53c2('0x1e')&&typeof _0x1e286d[_0x53c2('0x1f')]==='undefined';var _0x365fc6=_0x5f1e52[_0x53c2('0x20')];var _0x4a6998=_0x256146?0x0:_0x1e286d[_0x53c2('0x1d')];var _0x34adbb=_0x256146?_0x5f1e52[_0x53c2('0x20')]:_0x1e286d['offset']+_0x1e286d[_0x53c2('0x1f')];var _0x46fde6;if(_0x34adbb>=_0x365fc6){_0x34adbb=_0x365fc6;_0x46fde6=0xc8;}else{_0x46fde6=0xce;}_0x327d20[_0x53c2('0x1b')](_0x46fde6);return _0x327d20[_0x53c2('0x21')](_0x53c2('0x22'),_0x4a6998+'-'+_0x34adbb+'/'+_0x365fc6)[_0x53c2('0x23')](_0x5f1e52);}return null;};}function saveUpdates(_0x3b8823){return function(_0x1da6f7){if(_0x1da6f7){return _0x1da6f7[_0x53c2('0x24')](_0x3b8823)[_0x53c2('0x11')](function(_0x273295){return _0x273295;});}return null;};}function removeEntity(_0x54cc47){return function(_0x4b6417){if(_0x4b6417){return _0x4b6417[_0x53c2('0x25')]()['then'](function(){var _0x186da8=_0x4b6417[_0x53c2('0x26')]({'plain':!![]});var _0x57edac=_0x53c2('0x27');return db[_0x53c2('0x28')][_0x53c2('0x25')]({'where':{'type':_0x57edac,'resourceId':_0x186da8['id']}})[_0x53c2('0x11')](function(){return _0x4b6417;});})[_0x53c2('0x11')](function(){_0x54cc47[_0x53c2('0x1b')](0xcc)[_0x53c2('0x1c')]();});}};}function handleEntityNotFound(_0x506397){return function(_0x3525d7){if(!_0x3525d7){_0x506397[_0x53c2('0x1a')](0x194);}return _0x3525d7;};}function handleError(_0x187acd,_0x26d877){_0x26d877=_0x26d877||0x1f4;return function(_0xdb415d){logger[_0x53c2('0x16')](_0xdb415d[_0x53c2('0x29')]);if(_0xdb415d[_0x53c2('0x2a')]){delete _0xdb415d[_0x53c2('0x2a')];}_0x187acd['status'](_0x26d877)[_0x53c2('0x2b')](_0xdb415d);};}function getImapHost(_0x1c89b4){switch(_0x1c89b4){case _0x53c2('0x2c'):return _0x53c2('0x2d');case _0x53c2('0x2e'):return _0x53c2('0x2f');case _0x53c2('0x30'):return _0x53c2('0x31');case'outlook365':return _0x53c2('0x32');}throw new Error('Unknown\x20email\x20service\x20provider',_0x1c89b4);}function getSmtpHost(_0x250b84){switch(_0x250b84){case'gmail':return _0x53c2('0x33');case _0x53c2('0x2e'):return'smtp.mail.yahoo.com';case'hotmail':return _0x53c2('0x34');case _0x53c2('0x35'):return _0x53c2('0x36');}throw new Error(_0x53c2('0x37'),_0x250b84);}function getAuthenticationOptions(_0x2dba93,_0x3df061){var _0xf0f41d={};var _0xefbc9f={};if(_0x2dba93){_0xf0f41d[_0x53c2('0x38')]=_0xefbc9f[_0x53c2('0x38')]=_0x3df061[_0x53c2('0x39')];_0xf0f41d[_0x53c2('0x3a')]=_0xefbc9f[_0x53c2('0x3b')]=_0x3df061[_0x53c2('0x3a')];if(_0x3df061['modernAuthentication']){_0xf0f41d[_0x53c2('0x3c')]=_0xefbc9f[_0x53c2('0x3c')]=!![];_0xf0f41d[_0x53c2('0x3d')]=_0xefbc9f['CloudProviderId']=_0x3df061['CloudProviderId'];_0xf0f41d[_0x53c2('0x3a')]=_0xefbc9f[_0x53c2('0x3b')]=null;}else{_0xf0f41d[_0x53c2('0x3d')]=_0xefbc9f['CloudProviderId']=null;}_0xf0f41d[_0x53c2('0x3e')]=getImapHost(_0x2dba93);_0xf0f41d[_0x53c2('0x3f')]=0x3e1;_0xefbc9f[_0x53c2('0x3e')]=getSmtpHost(_0x2dba93);_0xefbc9f['port']=0x24b;_0xefbc9f[_0x53c2('0x40')]=![];_0xf0f41d['service']=_0xefbc9f[_0x53c2('0x41')]=null;}else{if(_0x3df061[_0x53c2('0x42')]){_0xf0f41d[_0x53c2('0x38')]=_0xefbc9f[_0x53c2('0x38')]=_0x3df061[_0x53c2('0x39')];_0xf0f41d[_0x53c2('0x3a')]=_0xefbc9f['pass']=_0x3df061[_0x53c2('0x3a')];}else{_0xf0f41d[_0x53c2('0x42')]=_0xefbc9f[_0x53c2('0x42')]=![];_0xf0f41d[_0x53c2('0x38')]=_0xefbc9f['user']=null;_0xf0f41d[_0x53c2('0x3a')]=_0xefbc9f[_0x53c2('0x3b')]=null;}_0xf0f41d[_0x53c2('0x3e')]=_0x3df061[_0x53c2('0x43')][_0x53c2('0x3e')];_0xf0f41d[_0x53c2('0x3f')]=_0x3df061[_0x53c2('0x43')][_0x53c2('0x3f')];_0xefbc9f[_0x53c2('0x3e')]=_0x3df061[_0x53c2('0x44')]['host'];_0xefbc9f['port']=_0x3df061[_0x53c2('0x44')][_0x53c2('0x3f')];}return{'Imap':_0xf0f41d,'Smtp':_0xefbc9f};}exports[_0x53c2('0x45')]=function(_0x18128d,_0x46c7e8){var _0x5519ad={'include':[{'model':db[_0x53c2('0x46')],'as':_0x53c2('0x43')},{'model':db[_0x53c2('0x47')],'as':_0x53c2('0x44')},{'model':db[_0x53c2('0x48')],'as':'mandatoryDispositionPause'}]},_0x1ff60e={},_0x35ac61={'count':0x0,'rows':[]};var _0x4a8e9a=_['map'](db[_0x53c2('0x49')]['rawAttributes'],function(_0x4bba23){return{'name':_0x4bba23[_0x53c2('0x4a')],'type':_0x4bba23['type'][_0x53c2('0x4b')]};});_0x1ff60e[_0x53c2('0x4c')]=_[_0x53c2('0x4d')](_0x4a8e9a,_0x53c2('0x2a'));_0x1ff60e[_0x53c2('0x4e')]=_['keys'](_0x18128d[_0x53c2('0x4e')]);_0x1ff60e[_0x53c2('0x4f')]=_[_0x53c2('0x50')](_0x1ff60e[_0x53c2('0x4c')],_0x1ff60e[_0x53c2('0x4e')]);_0x5519ad['attributes']=_[_0x53c2('0x50')](_0x1ff60e[_0x53c2('0x4c')],qs[_0x53c2('0x51')](_0x18128d['query'][_0x53c2('0x51')]));_0x5519ad[_0x53c2('0x52')]=_0x5519ad[_0x53c2('0x52')][_0x53c2('0x53')]?_0x5519ad[_0x53c2('0x52')]:_0x1ff60e[_0x53c2('0x4c')];if(!_0x18128d[_0x53c2('0x4e')][_0x53c2('0x54')](_0x53c2('0x55'))){_0x5519ad[_0x53c2('0x1f')]=qs[_0x53c2('0x1f')](_0x18128d[_0x53c2('0x4e')][_0x53c2('0x1f')]);_0x5519ad[_0x53c2('0x1d')]=qs[_0x53c2('0x1d')](_0x18128d['query']['offset']);}_0x5519ad[_0x53c2('0x56')]=qs[_0x53c2('0x57')](_0x18128d[_0x53c2('0x4e')][_0x53c2('0x57')]);_0x5519ad[_0x53c2('0x58')]=qs['filters'](_[_0x53c2('0x59')](_0x18128d[_0x53c2('0x4e')],_0x1ff60e['filters']),_0x4a8e9a);if(_0x18128d['query'][_0x53c2('0x5a')]){_0x5519ad[_0x53c2('0x58')]=_[_0x53c2('0x5b')](_0x5519ad[_0x53c2('0x58')],{'$or':_[_0x53c2('0x4d')](_0x4a8e9a,function(_0x421e2a){if(_0x421e2a[_0x53c2('0x5c')]!==_0x53c2('0x5d')){var _0xa8b64d={};_0xa8b64d[_0x421e2a[_0x53c2('0x2a')]]={'$like':'%'+_0x18128d[_0x53c2('0x4e')][_0x53c2('0x5a')]+'%'};return _0xa8b64d;}})});}_0x5519ad=_['merge']({},_0x5519ad,_0x18128d['options']);var _0x221519={'where':_0x5519ad[_0x53c2('0x58')]};return db[_0x53c2('0x49')][_0x53c2('0x20')](_0x221519)[_0x53c2('0x11')](function(_0xd75d7d){_0x35ac61['count']=_0xd75d7d;if(_0x18128d[_0x53c2('0x4e')]['includeAll']){_0x5519ad[_0x53c2('0x5e')]=[{'all':!![]}];}return db[_0x53c2('0x49')][_0x53c2('0x5f')](_0x5519ad);})[_0x53c2('0x11')](function(_0x4b8f95){_0x35ac61[_0x53c2('0x60')]=_0x4b8f95;return _0x35ac61;})[_0x53c2('0x11')](respondWithFilteredResult(_0x46c7e8,_0x5519ad))[_0x53c2('0x61')](handleError(_0x46c7e8,null));};exports[_0x53c2('0x62')]=function(_0x192741,_0x58368e){var _0x59da5b={'raw':![],'where':{'id':_0x192741[_0x53c2('0x63')]['id']},'include':[{'model':db['MailServerIn'],'as':_0x53c2('0x43')},{'model':db[_0x53c2('0x47')],'as':_0x53c2('0x44')},{'model':db[_0x53c2('0x48')],'as':'mandatoryDispositionPause'}]},_0x5c76f8={};_0x5c76f8[_0x53c2('0x4c')]=_['keys'](db[_0x53c2('0x49')]['rawAttributes']);_0x5c76f8[_0x53c2('0x4e')]=_[_0x53c2('0x64')](_0x192741[_0x53c2('0x4e')]);_0x5c76f8[_0x53c2('0x4f')]=_[_0x53c2('0x50')](_0x5c76f8[_0x53c2('0x4c')],_0x5c76f8[_0x53c2('0x4e')]);_0x59da5b[_0x53c2('0x52')]=_[_0x53c2('0x50')](_0x5c76f8[_0x53c2('0x4c')],qs[_0x53c2('0x51')](_0x192741[_0x53c2('0x4e')][_0x53c2('0x51')]));_0x59da5b[_0x53c2('0x52')]=_0x59da5b[_0x53c2('0x52')]['length']?_0x59da5b[_0x53c2('0x52')]:_0x5c76f8['model'];if(_0x192741[_0x53c2('0x4e')]['includeAll']){_0x59da5b['include']=[{'all':!![]}];}_0x59da5b=_[_0x53c2('0x5b')]({},_0x59da5b,_0x192741[_0x53c2('0x65')]);return db[_0x53c2('0x49')][_0x53c2('0x66')](_0x59da5b)[_0x53c2('0x11')](handleEntityNotFound(_0x58368e,null))[_0x53c2('0x11')](respondWithResult(_0x58368e,null))[_0x53c2('0x61')](handleError(_0x58368e,null));};exports[_0x53c2('0x24')]=function(_0x4d2add,_0x7f00a4){if(_0x4d2add[_0x53c2('0x67')]['id']){delete _0x4d2add['body']['id'];}var _0x279118=_0x4d2add[_0x53c2('0x67')][_0x53c2('0x68')]===_0x53c2('0x69')?null:_0x4d2add[_0x53c2('0x67')][_0x53c2('0x68')];var _0x51f333=_0x4d2add[_0x53c2('0x67')]['Imap']||{};var _0x327730=_0x4d2add[_0x53c2('0x67')][_0x53c2('0x44')]||{};if(_0x279118){_0x51f333[_0x53c2('0x3e')]=getImapHost(_0x279118);_0x51f333[_0x53c2('0x3f')]=0x3e1;_0x327730[_0x53c2('0x3e')]=getSmtpHost(_0x279118);_0x327730[_0x53c2('0x3f')]=0x24b;_0x327730[_0x53c2('0x40')]=![];}if(_0x327730[_0x53c2('0x3c')]){_0x327730[_0x53c2('0x40')]=![];}else{_0x327730[_0x53c2('0x3d')]=null;}if(!_0x51f333['modernAuthentication'])_0x51f333[_0x53c2('0x3d')]=null;_0x4d2add[_0x53c2('0x67')][_0x53c2('0x43')]=_0x51f333;_0x4d2add[_0x53c2('0x67')]['Smtp']=_0x327730;return db['MailAccount'][_0x53c2('0x66')]({'where':{'id':_0x4d2add[_0x53c2('0x63')]['id']},'include':[{'model':db[_0x53c2('0x46')],'as':_0x53c2('0x43')},{'model':db[_0x53c2('0x47')],'as':_0x53c2('0x44')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]})[_0x53c2('0x11')](handleEntityNotFound(_0x7f00a4,null))[_0x53c2('0x11')](function(_0x54b079){if(!_0x54b079)throw new Error('Mail\x20Account\x20not\x20found');if(_0x54b079[_0x53c2('0x41')])delete _0x4d2add[_0x53c2('0x67')]['Imap'];return _0x54b079;})[_0x53c2('0x11')](saveUpdates(_0x4d2add[_0x53c2('0x67')],null))[_0x53c2('0x11')](function(_0xea635a){if(!_0x4d2add[_0x53c2('0x67')][_0x53c2('0x43')])return _0xea635a;return db[_0x53c2('0x46')][_0x53c2('0x24')](_0x4d2add[_0x53c2('0x67')][_0x53c2('0x43')],{'where':{'MailAccountId':_0xea635a['id']}})['then'](function(){return _0xea635a;});})[_0x53c2('0x11')](function(_0x5d0ffc){if(!_0x4d2add[_0x53c2('0x67')][_0x53c2('0x44')])return _0x5d0ffc;return db['MailServerOut'][_0x53c2('0x24')](_0x4d2add['body'][_0x53c2('0x44')],{'where':{'MailAccountId':_0x5d0ffc['id']}})[_0x53c2('0x11')](function(){return _0x5d0ffc;});})[_0x53c2('0x11')](respondWithResult(_0x7f00a4,null))[_0x53c2('0x61')](handleError(_0x7f00a4,null));};exports['describe']=function(_0x4b6df6,_0x2bca4e){return db[_0x53c2('0x49')][_0x53c2('0x6a')]()[_0x53c2('0x11')](respondWithResult(_0x2bca4e,null))[_0x53c2('0x61')](handleError(_0x2bca4e,null));};exports[_0x53c2('0x6b')]=function(_0x5b4540,_0x2b0b27){if(_0x5b4540[_0x53c2('0x67')]['id']){delete _0x5b4540[_0x53c2('0x67')]['id'];}return db[_0x53c2('0x49')][_0x53c2('0x66')]({'where':{'id':_0x5b4540['params']['id']}})['then'](handleEntityNotFound(_0x2b0b27,null))[_0x53c2('0x11')](function(_0x4cccf5){if(_0x4cccf5){_0x5b4540[_0x53c2('0x67')][_0x53c2('0x6c')]=_0x4cccf5['id'];return db[_0x53c2('0x6d')][_0x53c2('0x6e')](_0x5b4540['body']);}})[_0x53c2('0x11')](respondWithResult(_0x2b0b27,null))[_0x53c2('0x61')](handleError(_0x2b0b27,null));};exports[_0x53c2('0x6f')]=function(_0x2fd6aa,_0x287f03){var _0x2ac4d5={'raw':![],'where':{}};var _0x70b29c={};var _0x44863b={'count':0x0,'rows':[]};return db[_0x53c2('0x49')][_0x53c2('0x70')]({'where':{'id':_0x2fd6aa[_0x53c2('0x63')]['id']}})[_0x53c2('0x11')](handleEntityNotFound(_0x287f03,null))[_0x53c2('0x11')](function(_0x119564){if(_0x119564){_0x70b29c[_0x53c2('0x4c')]=_[_0x53c2('0x64')](db['Disposition'][_0x53c2('0x71')]);_0x70b29c[_0x53c2('0x4e')]=_['keys'](_0x2fd6aa[_0x53c2('0x4e')]);_0x70b29c[_0x53c2('0x4f')]=_['intersection'](_0x70b29c[_0x53c2('0x4c')],_0x70b29c[_0x53c2('0x4e')]);_0x2ac4d5[_0x53c2('0x52')]=_[_0x53c2('0x50')](_0x70b29c[_0x53c2('0x4c')],qs[_0x53c2('0x51')](_0x2fd6aa['query'][_0x53c2('0x51')]));_0x2ac4d5['attributes']=_0x2ac4d5[_0x53c2('0x52')][_0x53c2('0x53')]?_0x2ac4d5[_0x53c2('0x52')]:_0x70b29c['model'];if(!_0x2fd6aa[_0x53c2('0x4e')][_0x53c2('0x54')](_0x53c2('0x55'))){_0x2ac4d5[_0x53c2('0x1f')]=qs[_0x53c2('0x1f')](_0x2fd6aa[_0x53c2('0x4e')]['limit']);_0x2ac4d5[_0x53c2('0x1d')]=qs['offset'](_0x2fd6aa[_0x53c2('0x4e')][_0x53c2('0x1d')]);}_0x2ac4d5[_0x53c2('0x56')]=qs[_0x53c2('0x57')](_0x2fd6aa[_0x53c2('0x4e')][_0x53c2('0x57')]);_0x2ac4d5[_0x53c2('0x58')]=qs['filters'](_[_0x53c2('0x59')](_0x2fd6aa['query'],_0x70b29c[_0x53c2('0x4f')]));_0x2ac4d5[_0x53c2('0x58')][_0x53c2('0x6c')]=_0x119564['id'];if(_0x2fd6aa[_0x53c2('0x4e')][_0x53c2('0x5a')]){_0x2ac4d5[_0x53c2('0x58')]=_[_0x53c2('0x5b')](_0x2ac4d5['where'],{'$or':_[_0x53c2('0x4d')](_0x2ac4d5[_0x53c2('0x52')],function(_0xb3a8e7){var _0xbc2117={};_0xbc2117[_0xb3a8e7]={'$like':'%'+_0x2fd6aa[_0x53c2('0x4e')][_0x53c2('0x5a')]+'%'};return _0xbc2117;})});}_0x2ac4d5=_[_0x53c2('0x5b')]({},_0x2ac4d5,_0x2fd6aa[_0x53c2('0x65')]);return db[_0x53c2('0x6d')][_0x53c2('0x20')]({'where':_0x2ac4d5['where']})[_0x53c2('0x11')](function(_0x3611eb){_0x44863b[_0x53c2('0x20')]=_0x3611eb;if(_0x2fd6aa['query'][_0x53c2('0x72')]){_0x2ac4d5[_0x53c2('0x5e')]=[{'all':!![]}];}return db[_0x53c2('0x6d')][_0x53c2('0x5f')](_0x2ac4d5);})[_0x53c2('0x11')](function(_0xc6143){_0x44863b[_0x53c2('0x60')]=_0xc6143;return _0x44863b;});}})[_0x53c2('0x11')](respondWithFilteredResult(_0x287f03,_0x2ac4d5))['catch'](handleError(_0x287f03,null));};exports['removeDispositions']=function(_0x14970d,_0x3f87f2){return db['MailAccount'][_0x53c2('0x66')]({'where':{'id':_0x14970d[_0x53c2('0x63')]['id']}})['then'](handleEntityNotFound(_0x3f87f2,null))[_0x53c2('0x11')](function(_0xf6a017){if(_0xf6a017){return _0xf6a017['removeDispositions'](_0x14970d[_0x53c2('0x4e')][_0x53c2('0x73')]);}})[_0x53c2('0x11')](respondWithStatusCode(_0x3f87f2,null))[_0x53c2('0x61')](handleError(_0x3f87f2,null));};exports[_0x53c2('0x74')]=function(_0xccdc27,_0x53345f){if(_0xccdc27[_0x53c2('0x67')]['id']){delete _0xccdc27[_0x53c2('0x67')]['id'];}return db[_0x53c2('0x49')]['find']({'where':{'id':_0xccdc27[_0x53c2('0x63')]['id']}})[_0x53c2('0x11')](handleEntityNotFound(_0x53345f,null))[_0x53c2('0x11')](function(_0xdc67d6){if(_0xdc67d6){_0xccdc27[_0x53c2('0x67')][_0x53c2('0x6c')]=_0xdc67d6['id'];return db[_0x53c2('0x75')][_0x53c2('0x6e')](_0xccdc27[_0x53c2('0x67')]);}})['then'](respondWithResult(_0x53345f,null))[_0x53c2('0x61')](handleError(_0x53345f,null));};exports[_0x53c2('0x76')]=function(_0x31b2d,_0x8b8507){var _0x25118b={'raw':![],'where':{}};var _0x3f8a81={};var _0x1cd201={'count':0x0,'rows':[]};return db['MailAccount'][_0x53c2('0x70')]({'where':{'id':_0x31b2d[_0x53c2('0x63')]['id']}})[_0x53c2('0x11')](handleEntityNotFound(_0x8b8507,null))['then'](function(_0x18f3a7){if(_0x18f3a7){_0x3f8a81[_0x53c2('0x4c')]=_[_0x53c2('0x64')](db[_0x53c2('0x75')][_0x53c2('0x71')]);_0x3f8a81[_0x53c2('0x4e')]=_[_0x53c2('0x64')](_0x31b2d[_0x53c2('0x4e')]);_0x3f8a81['filters']=_[_0x53c2('0x50')](_0x3f8a81[_0x53c2('0x4c')],_0x3f8a81[_0x53c2('0x4e')]);_0x25118b[_0x53c2('0x52')]=_[_0x53c2('0x50')](_0x3f8a81[_0x53c2('0x4c')],qs[_0x53c2('0x51')](_0x31b2d[_0x53c2('0x4e')][_0x53c2('0x51')]));_0x25118b[_0x53c2('0x52')]=_0x25118b[_0x53c2('0x52')]['length']?_0x25118b[_0x53c2('0x52')]:_0x3f8a81[_0x53c2('0x4c')];if(!_0x31b2d[_0x53c2('0x4e')]['hasOwnProperty'](_0x53c2('0x55'))){_0x25118b[_0x53c2('0x1f')]=qs[_0x53c2('0x1f')](_0x31b2d[_0x53c2('0x4e')]['limit']);_0x25118b[_0x53c2('0x1d')]=qs[_0x53c2('0x1d')](_0x31b2d[_0x53c2('0x4e')][_0x53c2('0x1d')]);}_0x25118b[_0x53c2('0x56')]=qs[_0x53c2('0x57')](_0x31b2d[_0x53c2('0x4e')][_0x53c2('0x57')]);_0x25118b['where']=qs[_0x53c2('0x4f')](_['pick'](_0x31b2d['query'],_0x3f8a81['filters']));_0x25118b[_0x53c2('0x58')][_0x53c2('0x6c')]=_0x18f3a7['id'];if(_0x31b2d['query'][_0x53c2('0x5a')]){_0x25118b['where']=_['merge'](_0x25118b[_0x53c2('0x58')],{'$or':_[_0x53c2('0x4d')](_0x25118b[_0x53c2('0x52')],function(_0x1d8994){var _0x1fed69={};_0x1fed69[_0x1d8994]={'$like':'%'+_0x31b2d[_0x53c2('0x4e')][_0x53c2('0x5a')]+'%'};return _0x1fed69;})});}_0x25118b=_[_0x53c2('0x5b')]({},_0x25118b,_0x31b2d[_0x53c2('0x65')]);return db[_0x53c2('0x75')]['count']({'where':_0x25118b[_0x53c2('0x58')]})[_0x53c2('0x11')](function(_0x292a57){_0x1cd201[_0x53c2('0x20')]=_0x292a57;if(_0x31b2d[_0x53c2('0x4e')][_0x53c2('0x72')]){_0x25118b[_0x53c2('0x5e')]=[{'all':!![]}];}return db[_0x53c2('0x75')][_0x53c2('0x5f')](_0x25118b);})[_0x53c2('0x11')](function(_0x24cec8){_0x1cd201['rows']=_0x24cec8;return _0x1cd201;});}})[_0x53c2('0x11')](respondWithFilteredResult(_0x8b8507,_0x25118b))[_0x53c2('0x61')](handleError(_0x8b8507,null));};exports[_0x53c2('0x77')]=function(_0xf0878c,_0x335718){return db['MailAccount'][_0x53c2('0x66')]({'where':{'id':_0xf0878c['params']['id']}})[_0x53c2('0x11')](handleEntityNotFound(_0x335718,null))[_0x53c2('0x11')](function(_0x24d934){if(_0x24d934){return _0x24d934[_0x53c2('0x77')](_0xf0878c['query']['ids']);}})[_0x53c2('0x11')](respondWithStatusCode(_0x335718,null))['catch'](handleError(_0x335718,null));};exports[_0x53c2('0x6e')]=function(_0x1d3b25,_0x5225e1){var _0x35baec={'name':_0x1d3b25['body']['name'],'key':_0x1d3b25[_0x53c2('0x67')][_0x53c2('0x4b')],'provider':_0x1d3b25['body'][_0x53c2('0x68')]===_0x53c2('0x69')?null:_0x1d3b25[_0x53c2('0x67')][_0x53c2('0x68')],'email':_0x1d3b25[_0x53c2('0x67')]['email'],'ListId':_0x1d3b25[_0x53c2('0x67')][_0x53c2('0x78')],'active':!_[_0x53c2('0x79')](_0x1d3b25[_0x53c2('0x67')][_0x53c2('0x7a')])?_0x1d3b25['body'][_0x53c2('0x7a')]:!![],'description':_0x1d3b25[_0x53c2('0x67')][_0x53c2('0x7b')]||null};var _0x5d956d=getAuthenticationOptions(_0x35baec['provider'],_0x1d3b25[_0x53c2('0x67')]);_0x35baec[_0x53c2('0x43')]=_0x5d956d[_0x53c2('0x43')];_0x35baec[_0x53c2('0x44')]=_0x5d956d[_0x53c2('0x44')];return db['MailAccount'][_0x53c2('0x6e')](_0x35baec,{'include':[{'model':db[_0x53c2('0x47')],'as':_0x53c2('0x44')},{'model':db['MailServerIn'],'as':_0x53c2('0x43')}]})[_0x53c2('0x11')](function(_0x391822){var _0x19b154=_0x1d3b25['user'][_0x53c2('0x26')]({'plain':!![]});if(!_0x19b154)throw new Error(_0x53c2('0x7c'));if(_0x19b154['role']===_0x53c2('0x38')){var _0x3a11f5=_0x391822['get']({'plain':!![]});return db['UserProfileSection']['find']({'where':{'name':_0x53c2('0x27'),'userProfileId':_0x19b154[_0x53c2('0x7d')]},'raw':!![]})[_0x53c2('0x11')](function(_0x4721f8){if(_0x4721f8&&_0x4721f8['autoAssociation']===0x0){return db[_0x53c2('0x28')]['create']({'name':_0x3a11f5[_0x53c2('0x2a')],'resourceId':_0x3a11f5['id'],'type':_0x4721f8[_0x53c2('0x2a')],'sectionId':_0x4721f8['id']},{})[_0x53c2('0x11')](function(){return _0x391822;});}else{return _0x391822;}})['catch'](function(_0x2b49f9){logger['error'](_0x53c2('0x7e'),_0x2b49f9);throw _0x2b49f9;});}return _0x391822;})['then'](respondWithResult(_0x5225e1,0xc9))[_0x53c2('0x61')](handleError(_0x5225e1,null));};exports['getImap']=function(_0x367ce3,_0x2f5656){return db[_0x53c2('0x49')][_0x53c2('0x70')]({'where':{'id':_0x367ce3[_0x53c2('0x63')]['id']}})['then'](handleEntityNotFound(_0x2f5656,null))[_0x53c2('0x11')](function(_0x8f560b){if(_0x8f560b){return _0x8f560b[_0x53c2('0x7f')]();}return null;})[_0x53c2('0x11')](respondWithResult(_0x2f5656,null))[_0x53c2('0x61')](handleError(_0x2f5656,null));};exports[_0x53c2('0x80')]=function(_0x3511e9,_0x41629e){if(_0x3511e9[_0x53c2('0x67')]['id']){delete _0x3511e9[_0x53c2('0x67')]['id'];}return db[_0x53c2('0x49')]['find']({'where':{'id':_0x3511e9[_0x53c2('0x63')]['id']}})[_0x53c2('0x11')](handleEntityNotFound(_0x41629e,null))['then'](function(_0x5976fb){if(_0x5976fb){_0x3511e9[_0x53c2('0x67')][_0x53c2('0x6c')]=_0x5976fb['id'];return db[_0x53c2('0x46')][_0x53c2('0x6e')](_0x3511e9['body']);}})[_0x53c2('0x11')](respondWithResult(_0x41629e,null))[_0x53c2('0x61')](handleError(_0x41629e,null));};exports[_0x53c2('0x81')]=function(_0x5708c1,_0x2331d5){return db['MailAccount'][_0x53c2('0x70')]({'where':{'id':_0x5708c1['params']['id']}})[_0x53c2('0x11')](handleEntityNotFound(_0x2331d5,null))['then'](function(_0x549a90){if(_0x549a90){return _0x549a90[_0x53c2('0x82')](null);}return null;})[_0x53c2('0x11')](respondWithStatusCode(_0x2331d5,null))['catch'](handleError(_0x2331d5,null));};exports[_0x53c2('0x83')]=function(_0xe72b3b,_0x2ce4ff){return db['MailAccount'][_0x53c2('0x70')]({'where':{'id':_0xe72b3b[_0x53c2('0x63')]['id']}})['then'](handleEntityNotFound(_0x2ce4ff,null))[_0x53c2('0x11')](function(_0x1b90d3){if(_0x1b90d3){return _0x1b90d3[_0x53c2('0x83')]();}return null;})['then'](respondWithResult(_0x2ce4ff,null))[_0x53c2('0x61')](handleError(_0x2ce4ff,null));};exports[_0x53c2('0x84')]=function(_0x278d70,_0x107010){if(_0x278d70[_0x53c2('0x67')]['id']){delete _0x278d70[_0x53c2('0x67')]['id'];}return db[_0x53c2('0x49')]['find']({'where':{'id':_0x278d70['params']['id']}})[_0x53c2('0x11')](handleEntityNotFound(_0x107010,null))[_0x53c2('0x11')](function(_0x3e561d){if(_0x3e561d){_0x278d70['body'][_0x53c2('0x6c')]=_0x3e561d['id'];return db[_0x53c2('0x47')][_0x53c2('0x6e')](_0x278d70[_0x53c2('0x67')]);}})[_0x53c2('0x11')](respondWithResult(_0x107010,null))[_0x53c2('0x61')](handleError(_0x107010,null));};exports[_0x53c2('0x85')]=function(_0x21b6a2,_0x4feddc){return db[_0x53c2('0x49')][_0x53c2('0x70')]({'where':{'id':_0x21b6a2[_0x53c2('0x63')]['id']}})[_0x53c2('0x11')](handleEntityNotFound(_0x4feddc,null))[_0x53c2('0x11')](function(_0x16a5be){if(_0x16a5be){return _0x16a5be[_0x53c2('0x86')](null);}return null;})[_0x53c2('0x11')](respondWithStatusCode(_0x4feddc,null))[_0x53c2('0x61')](handleError(_0x4feddc,null));};exports[_0x53c2('0x87')]=function(_0x4d4d1e,_0x3510c6){return db['MailInteraction'][_0x53c2('0x66')]({'where':{'id':_0x4d4d1e['params']['id']}})[_0x53c2('0x11')](handleEntityNotFound(_0x3510c6,null))['then'](function(_0x4cfc2b){if(_0x4cfc2b){return _0x4cfc2b[_0x53c2('0x87')](_0x4d4d1e[_0x53c2('0x67')][_0x53c2('0x73')],_[_0x53c2('0x88')](_0x4d4d1e['body'],[_0x53c2('0x73'),'id'])||{});}})[_0x53c2('0x11')](respondWithResult(_0x3510c6,null))[_0x53c2('0x61')](handleError(_0x3510c6,null));};exports['getInteractions']=function(_0x3c45e9,_0x4ae86c){var _0x294416={'raw':![],'where':{}};var _0x25768a={};var _0xd0af18={'count':0x0,'rows':[]};return db[_0x53c2('0x49')]['findOne']({'where':{'id':_0x3c45e9['params']['id']}})[_0x53c2('0x11')](handleEntityNotFound(_0x4ae86c,null))[_0x53c2('0x11')](function(_0x92cc6d){if(_0x92cc6d){_0x25768a[_0x53c2('0x4c')]=_[_0x53c2('0x64')](db['MailInteraction'][_0x53c2('0x71')]);_0x25768a[_0x53c2('0x4e')]=_[_0x53c2('0x64')](_0x3c45e9[_0x53c2('0x4e')]);_0x25768a[_0x53c2('0x4f')]=_[_0x53c2('0x50')](_0x25768a['model'],_0x25768a[_0x53c2('0x4e')]);_0x294416['attributes']=_['intersection'](_0x25768a[_0x53c2('0x4c')],qs['fields'](_0x3c45e9[_0x53c2('0x4e')][_0x53c2('0x51')]));_0x294416[_0x53c2('0x52')]=_0x294416[_0x53c2('0x52')]['length']?_0x294416[_0x53c2('0x52')]:_0x25768a['model'];if(!_0x3c45e9[_0x53c2('0x4e')]['hasOwnProperty'](_0x53c2('0x55'))){_0x294416[_0x53c2('0x1f')]=qs[_0x53c2('0x1f')](_0x3c45e9[_0x53c2('0x4e')][_0x53c2('0x1f')]);_0x294416[_0x53c2('0x1d')]=qs['offset'](_0x3c45e9['query']['offset']);}_0x294416[_0x53c2('0x56')]=qs[_0x53c2('0x57')](_0x3c45e9[_0x53c2('0x4e')]['sort']);_0x294416[_0x53c2('0x58')]=qs['filters'](_[_0x53c2('0x59')](_0x3c45e9['query'],_0x25768a[_0x53c2('0x4f')]));_0x294416['where']['MailAccountId']=_0x92cc6d['id'];if(_0x3c45e9[_0x53c2('0x4e')][_0x53c2('0x5a')]){_0x294416[_0x53c2('0x58')]=_[_0x53c2('0x5b')](_0x294416[_0x53c2('0x58')],{'$or':_[_0x53c2('0x4d')](_0x294416['attributes'],function(_0x37b64b){var _0x4113ae={};_0x4113ae[_0x37b64b]={'$like':'%'+_0x3c45e9['query'][_0x53c2('0x5a')]+'%'};return _0x4113ae;})});}_0x294416=_[_0x53c2('0x5b')]({},_0x294416,_0x3c45e9['options']);return db[_0x53c2('0x89')][_0x53c2('0x20')]({'where':_0x294416[_0x53c2('0x58')]})['then'](function(_0x3b261b){_0xd0af18[_0x53c2('0x20')]=_0x3b261b;if(_0x3c45e9['query']['includeAll']){_0x294416[_0x53c2('0x5e')]=[{'model':db[_0x53c2('0x8a')],'as':_0x53c2('0x8b'),'required':![]},{'model':db[_0x53c2('0x8c')],'as':_0x53c2('0x8d'),'attributes':[_0x53c2('0x2a'),_0x53c2('0x8e'),_0x53c2('0x8f')],'required':![]},{'model':db['Tag'],'as':_0x53c2('0x90'),'attributes':['id',_0x53c2('0x2a'),'color'],'where':_0x3c45e9[_0x53c2('0x4e')][_0x53c2('0x91')]?{'id':_0x3c45e9[_0x53c2('0x4e')][_0x53c2('0x91')]}:undefined,'required':_0x3c45e9[_0x53c2('0x4e')][_0x53c2('0x91')]?!![]:![]}];}return db[_0x53c2('0x89')][_0x53c2('0x5f')](_0x294416);})['then'](function(_0xc13391){_0xd0af18[_0x53c2('0x60')]=_0xc13391;return _0xd0af18;});}})[_0x53c2('0x11')](respondWithFilteredResult(_0x4ae86c,_0x294416))[_0x53c2('0x61')](handleError(_0x4ae86c,null));};exports['addApplications']=function addApplications(_0x29dbcb,_0x777ddc){var _0x305523=_0x29dbcb[_0x53c2('0x63')]['id'];var _0x2c4d81=_0x29dbcb[_0x53c2('0x67')];var _0x291b15=0xc8;var _0x439c63=null;return db[_0x53c2('0x92')]['transaction']({'isolationLevel':db[_0x53c2('0x92')][_0x53c2('0x93')][_0x53c2('0x94')]['READ_COMMITTED']},function(_0x94eeb3){return db[_0x53c2('0x49')][_0x53c2('0x70')]({'where':{'id':_0x305523},'transaction':_0x94eeb3})['then'](function(_0x3da330){if(_0x3da330){return db['MailApplication']['destroy']({'where':{'MailAccountId':_0x305523},'transaction':_0x94eeb3})[_0x53c2('0x11')](function(){var _0x27610e=_[_0x53c2('0x4d')](_0x2c4d81,function(_0x10897b){_0x10897b['MailAccountId']=_0x305523;return _0x10897b;});return db[_0x53c2('0x95')]['bulkCreate'](_0x27610e,{'transaction':_0x94eeb3});});}else{_0x291b15=0x194;_0x439c63=[];}});})['then'](function(){if(_0x291b15!==0x194){return db[_0x53c2('0x95')][_0x53c2('0x96')]({'where':{'MailAccountId':_0x305523},'order':'priority'})[_0x53c2('0x11')](function(_0x1b52bd){_0x439c63=_0x1b52bd;});}})[_0x53c2('0x61')](function(_0x53b5b4){_0x291b15=0x1f4;logger[_0x53c2('0x16')](_0x53b5b4[_0x53c2('0x29')]);if(_0x53b5b4[_0x53c2('0x2a')]){delete _0x53b5b4[_0x53c2('0x2a')];}_0x439c63=_0x53b5b4;})[_0x53c2('0x97')](function(){if(_0x439c63===null){_0x777ddc['sendStatus'](_0x291b15);}else{if(_0x291b15===0x1f4){_0x777ddc[_0x53c2('0x1b')](_0x291b15)['send'](_0x439c63);}else{_0x777ddc[_0x53c2('0x1b')](_0x291b15)[_0x53c2('0x23')](_0x439c63);}}});};exports['getApplications']=function(_0x1f7fbf,_0x363dd6){var _0x47cd64={};var _0x2075f3={};var _0x1a4dca;var _0x1abb82;return db[_0x53c2('0x49')]['findOne']({'where':{'id':_0x1f7fbf['params']['id']}})['then'](handleEntityNotFound(_0x363dd6,null))[_0x53c2('0x11')](function(_0x24d863){if(_0x24d863){_0x1a4dca=_0x24d863;_0x2075f3[_0x53c2('0x4c')]=_[_0x53c2('0x64')](db['MailApplication'][_0x53c2('0x71')]);_0x2075f3[_0x53c2('0x4e')]=_[_0x53c2('0x64')](_0x1f7fbf[_0x53c2('0x4e')]);_0x2075f3['filters']=_[_0x53c2('0x50')](_0x2075f3['model'],_0x2075f3[_0x53c2('0x4e')]);_0x47cd64['attributes']=_[_0x53c2('0x50')](_0x2075f3['model'],qs[_0x53c2('0x51')](_0x1f7fbf[_0x53c2('0x4e')][_0x53c2('0x51')]));_0x47cd64[_0x53c2('0x52')]=_0x47cd64[_0x53c2('0x52')][_0x53c2('0x53')]?_0x47cd64[_0x53c2('0x52')]:_0x2075f3['model'];_0x47cd64[_0x53c2('0x56')]=qs[_0x53c2('0x57')](_0x1f7fbf[_0x53c2('0x4e')][_0x53c2('0x57')]);_0x47cd64[_0x53c2('0x58')]=qs[_0x53c2('0x4f')](_['pick'](_0x1f7fbf['query'],_0x2075f3[_0x53c2('0x4f')]));if(_0x1f7fbf[_0x53c2('0x4e')][_0x53c2('0x5a')]){_0x47cd64[_0x53c2('0x58')]=_[_0x53c2('0x5b')](_0x47cd64['where'],{'$or':_[_0x53c2('0x4d')](_0x47cd64[_0x53c2('0x52')],function(_0x378717){var _0x203897={};_0x203897[_0x378717]={'$like':'%'+_0x1f7fbf['query'][_0x53c2('0x5a')]+'%'};return _0x203897;})});}_0x47cd64=_[_0x53c2('0x5b')]({},_0x47cd64,_0x1f7fbf[_0x53c2('0x65')]);return _0x1a4dca['getApplications'](_0x47cd64);}})[_0x53c2('0x11')](function(_0x252e5b){if(_0x252e5b){_0x1abb82=_0x252e5b[_0x53c2('0x53')];if(!_0x1f7fbf[_0x53c2('0x4e')]['hasOwnProperty'](_0x53c2('0x55'))){_0x47cd64[_0x53c2('0x1f')]=qs[_0x53c2('0x1f')](_0x1f7fbf[_0x53c2('0x4e')][_0x53c2('0x1f')]);_0x47cd64[_0x53c2('0x1d')]=qs[_0x53c2('0x1d')](_0x1f7fbf[_0x53c2('0x4e')][_0x53c2('0x1d')]);}return _0x1a4dca[_0x53c2('0x98')](_0x47cd64);}})[_0x53c2('0x11')](function(_0x4a4d08){if(_0x4a4d08){return _0x4a4d08?{'count':_0x1abb82,'rows':_0x4a4d08}:null;}})[_0x53c2('0x11')](respondWithResult(_0x363dd6,null))[_0x53c2('0x61')](handleError(_0x363dd6,null));};exports[_0x53c2('0x99')]=function(_0x7a578f,_0x26f58f){var _0x3508d8={'raw':!![],'where':{}};var _0x566dc6={};var _0x21eb09={'count':0x0,'rows':[]};return db[_0x53c2('0x49')][_0x53c2('0x70')]({'where':{'id':_0x7a578f[_0x53c2('0x63')]['id']}})['then'](handleEntityNotFound(_0x26f58f,null))['then'](function(_0xfee8ab){if(_0xfee8ab){_0x566dc6['model']=_[_0x53c2('0x64')](db['MailMessage'][_0x53c2('0x71')]);_0x566dc6[_0x53c2('0x4e')]=_[_0x53c2('0x64')](_0x7a578f[_0x53c2('0x4e')]);_0x566dc6[_0x53c2('0x4f')]=_[_0x53c2('0x50')](_0x566dc6[_0x53c2('0x4c')],_0x566dc6[_0x53c2('0x4e')]);_0x3508d8[_0x53c2('0x52')]=_[_0x53c2('0x50')](_0x566dc6[_0x53c2('0x4c')],qs['fields'](_0x7a578f[_0x53c2('0x4e')][_0x53c2('0x51')]));_0x3508d8[_0x53c2('0x52')]=_0x3508d8[_0x53c2('0x52')]['length']?_0x3508d8[_0x53c2('0x52')]:_0x566dc6[_0x53c2('0x4c')];if(!_0x7a578f[_0x53c2('0x4e')][_0x53c2('0x54')](_0x53c2('0x55'))){_0x3508d8[_0x53c2('0x1f')]=qs[_0x53c2('0x1f')](_0x7a578f['query']['limit']);_0x3508d8[_0x53c2('0x1d')]=qs[_0x53c2('0x1d')](_0x7a578f[_0x53c2('0x4e')]['offset']);}_0x3508d8[_0x53c2('0x56')]=qs['sort'](_0x7a578f['query'][_0x53c2('0x57')]);_0x3508d8[_0x53c2('0x58')]=qs[_0x53c2('0x4f')](_[_0x53c2('0x59')](_0x7a578f[_0x53c2('0x4e')],_0x566dc6[_0x53c2('0x4f')]));_0x3508d8[_0x53c2('0x58')][_0x53c2('0x6c')]=_0xfee8ab['id'];if(_0x7a578f[_0x53c2('0x4e')][_0x53c2('0x5a')]){_0x3508d8['where']=_[_0x53c2('0x5b')](_0x3508d8[_0x53c2('0x58')],{'$or':_[_0x53c2('0x4d')](_0x3508d8['attributes'],function(_0x50ed4b){var _0x403f19={};_0x403f19[_0x50ed4b]={'$like':'%'+_0x7a578f[_0x53c2('0x4e')][_0x53c2('0x5a')]+'%'};return _0x403f19;})});}if(_0x7a578f[_0x53c2('0x4e')][_0x53c2('0x9a')]){var _0x40e21c=_0x7a578f[_0x53c2('0x4e')][_0x53c2('0x9a')]['split'](',');var _0x59cefd={};_0x59cefd[_0x40e21c[0x0]]={'$gte':moment(_0x40e21c[0x1])[_0x53c2('0x9b')](_0x53c2('0x9c'))};_0x3508d8['where']=_[_0x53c2('0x5b')](_0x3508d8[_0x53c2('0x58')],_0x59cefd);}_0x3508d8=_['merge']({},_0x3508d8,_0x7a578f[_0x53c2('0x65')]);return db[_0x53c2('0x9d')][_0x53c2('0x20')]({'where':_0x3508d8[_0x53c2('0x58')]})[_0x53c2('0x11')](function(_0x33f58b){_0x21eb09[_0x53c2('0x20')]=_0x33f58b;if(_0x7a578f[_0x53c2('0x4e')][_0x53c2('0x72')]){_0x3508d8[_0x53c2('0x5e')]=[{'all':!![]}];}return db[_0x53c2('0x9d')][_0x53c2('0x5f')](_0x3508d8);})[_0x53c2('0x11')](function(_0x2a3b12){if(_0x7a578f[_0x53c2('0x4e')][_0x53c2('0x9e')]===_0x53c2('0x9f')){for(var _0x227d4f=0x0;_0x227d4f<_0x2a3b12['length'];_0x227d4f++){_0x2a3b12[_0x227d4f][_0x53c2('0x67')]=juice(_0x2a3b12[_0x227d4f]['body']);}}_0x21eb09['rows']=_0x2a3b12;return _0x21eb09;});}})[_0x53c2('0x11')](respondWithFilteredResult(_0x26f58f,_0x3508d8))[_0x53c2('0x61')](handleError(_0x26f58f,null));};exports[_0x53c2('0x2b')]=function(_0x1e5744,_0x5d75f7){var _0x4f5c06,_0x22776f={},_0x5b2ce1;if(_0x1e5744[_0x53c2('0x67')]['to']){_0x5b2ce1=_0x1e5744['body']['to']['split'](',')[0x0];}return db[_0x53c2('0x49')][_0x53c2('0x66')]({'where':{'id':_0x1e5744[_0x53c2('0x63')]['id']},'include':[{'model':db[_0x53c2('0xa0')],'as':'List','include':[{'model':db[_0x53c2('0x8a')],'as':_0x53c2('0xa1'),'where':{'email':_0x5b2ce1},'limit':0x1,'order':[[_0x53c2('0xa2'),'DESC']]}]},{'model':db[_0x53c2('0x47')],'as':_0x53c2('0x44'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':_0x53c2('0xa3'),'raw':!![]}]}]})[_0x53c2('0x11')](handleEntityNotFound(_0x5d75f7,null))['then'](function(_0x357ccb){if(!_0x357ccb)return;_0x4f5c06=_0x357ccb;if(!_0x357ccb[_0x53c2('0x44')])throw new Error(_0x53c2('0xa4'));if(_[_0x53c2('0x79')](_0x1e5744['body'][_0x53c2('0xa5')])){_0x1e5744[_0x53c2('0x67')][_0x53c2('0xa5')]=util[_0x53c2('0x9b')]('%s\x20<%s>',_0x357ccb[_0x53c2('0x2a')],_0x357ccb['email']||_0x357ccb[_0x53c2('0x44')][_0x53c2('0x38')]);}if(_0x1e5744[_0x53c2('0x67')]['attachments']&&_0x1e5744[_0x53c2('0x67')][_0x53c2('0xa6')][_0x53c2('0x53')]){for(var _0x2fd03a=0x0;_0x2fd03a<_0x1e5744['body'][_0x53c2('0xa6')][_0x53c2('0x53')];_0x2fd03a+=0x1){_0x1e5744[_0x53c2('0x67')][_0x53c2('0xa6')][_0x2fd03a]={'filename':_0x1e5744[_0x53c2('0x67')][_0x53c2('0xa6')][_0x2fd03a][_0x53c2('0x2a')],'path':path[_0x53c2('0xa7')](config[_0x53c2('0xa8')],'server/files/attachments',_0x1e5744[_0x53c2('0x67')][_0x53c2('0xa6')][_0x2fd03a][_0x53c2('0xa9')])};}}var _0xe910fc=_0x357ccb[_0x53c2('0xaa')]();return respondWithRpcPromise('SendMail',_0x53c2('0xab'),{'account':_0xe910fc,'message':_0x1e5744[_0x53c2('0x67')]});})[_0x53c2('0x11')](function(_0x22df08){if(!_0x22df08)return;_0x22776f=_0x22df08;if(!_0x4f5c06[_0x53c2('0xac')])throw new Error(_0x53c2('0xad'));if(_0x4f5c06[_0x53c2('0xac')][_0x53c2('0xa1')][_0x53c2('0x53')])return _0x4f5c06[_0x53c2('0xac')][_0x53c2('0xa1')][0x0];return db[_0x53c2('0x8a')][_0x53c2('0x6e')](_[_0x53c2('0xb')](_0x1e5744[_0x53c2('0x67')],{'firstName':_0x1e5744[_0x53c2('0x67')]['to'],'email':_0x1e5744[_0x53c2('0x67')]['to'],'phone':_0x1e5744[_0x53c2('0x67')]['to'],'ListId':_0x4f5c06[_0x53c2('0x78')]}));})[_0x53c2('0x11')](function(_0x158394){if(!_0x158394)return;var _0x959766={'UserId':_0x1e5744[_0x53c2('0x38')]['id'],'ContactId':_0x158394['id'],'MailAccountId':_0x4f5c06['id'],'inReplyTo':_0x22776f[_0x53c2('0xae')],'to':_0x1e5744[_0x53c2('0x67')]['from'],'cc':_0x1e5744['body']['cc'],'subject':_0x1e5744[_0x53c2('0x67')]['subject'],'attach':_0x1e5744[_0x53c2('0x67')][_0x53c2('0xaf')],'firstMsgDirection':'out','lastMsgAt':moment()[_0x53c2('0x9b')]('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':_0x53c2('0xb0'),'Messages':[_[_0x53c2('0x5b')](_0x1e5744[_0x53c2('0x67')],{'messageId':_0x22776f[_0x53c2('0xae')],'sentAt':moment()[_0x53c2('0x9b')](_0x53c2('0x9c')),'read':!![],'MailAccountId':_0x4f5c06['id'],'UserId':_0x1e5744['user']['id'],'ContactId':_0x158394['id']})]};if(_0x1e5744[_0x53c2('0x67')][_0x53c2('0xb1')]){_0x959766=_[_0x53c2('0x5b')](_0x959766,_0x1e5744[_0x53c2('0x67')][_0x53c2('0xb1')]);}return db['MailInteraction']['create'](_0x959766,{'include':[{'model':db['MailMessage'],'as':_0x53c2('0xb2')}]});})[_0x53c2('0x11')](respondWithResult(_0x5d75f7,null))['catch'](handleError(_0x5d75f7,null));};exports[_0x53c2('0xb3')]=function(_0x199067,_0x5a5151){return db[_0x53c2('0x49')]['find']({'where':{'id':_0x199067[_0x53c2('0x63')]['id']},'include':[{'model':db[_0x53c2('0x47')],'as':_0x53c2('0x44'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':_0x53c2('0xa3'),'raw':!![]}]}]})[_0x53c2('0x11')](handleEntityNotFound(_0x5a5151,null))['then'](function(_0x9d0d95){if(!_0x9d0d95[_0x53c2('0x44')])return;var _0x3cff89=_0x9d0d95[_0x53c2('0xaa')]();return respondWithRpcPromise(_0x53c2('0xb4'),'verifySmtp',{'account':_0x3cff89});})[_0x53c2('0x11')](respondWithResult(_0x5a5151,null))[_0x53c2('0x61')](handleError(_0x5a5151,null));};exports['destroy']=function(_0x342587,_0x1bc246){return db['MailAccount'][_0x53c2('0x66')]({'where':{'id':_0x342587[_0x53c2('0x63')]['id']}})[_0x53c2('0x11')](handleEntityNotFound(_0x1bc246,null))['then'](function(_0x264908){if(_0x264908&&_0x264908[_0x53c2('0x41')]){throw new db[(_0x53c2('0xb5'))][(_0x53c2('0xb6'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x264908;})[_0x53c2('0x11')](removeEntity(_0x1bc246,null))[_0x53c2('0x61')](handleError(_0x1bc246,null));};exports[_0x53c2('0xb7')]=function(_0xd92188,_0x41a99b){return db[_0x53c2('0x49')][_0x53c2('0x66')]({'where':{'id':_0xd92188[_0x53c2('0x63')]['id']}})[_0x53c2('0x11')](handleEntityNotFound(_0x41a99b,null))[_0x53c2('0x11')](function(_0x5b411b){if(_0x5b411b){return _0x5b411b[_0x53c2('0xb7')](_0xd92188[_0x53c2('0x67')]['ids'],_[_0x53c2('0x88')](_0xd92188[_0x53c2('0x67')],[_0x53c2('0x73'),'id'])||{})[_0x53c2('0xb8')](function(_0x4d6b32){for(var _0x3e7643=0x0;_0x3e7643<_0xd92188[_0x53c2('0x67')][_0x53c2('0x73')][_0x53c2('0x53')];_0x3e7643+=0x1){socket[_0x53c2('0xb9')](_0x53c2('0xba'),{'UserId':Number(_0xd92188[_0x53c2('0x67')]['ids'][_0x3e7643]),'MailAccountId':Number(_0xd92188[_0x53c2('0x63')]['id'])});}return _0x4d6b32;});}})[_0x53c2('0x11')](respondWithResult(_0x41a99b,null))[_0x53c2('0x61')](handleError(_0x41a99b,null));};exports[_0x53c2('0xbb')]=function(_0x426721,_0x4f67db){return db[_0x53c2('0x49')]['find']({'where':{'id':_0x426721[_0x53c2('0x63')]['id']}})[_0x53c2('0x11')](handleEntityNotFound(_0x4f67db,null))[_0x53c2('0x11')](function(_0x529eb1){if(_0x529eb1){return _0x529eb1[_0x53c2('0xbb')](_0x426721[_0x53c2('0x4e')][_0x53c2('0x73')])[_0x53c2('0x11')](function(){if(_['isArray'](_0x426721[_0x53c2('0x4e')][_0x53c2('0x73')])){for(var _0x4a305d=0x0;_0x4a305d<_0x426721[_0x53c2('0x4e')][_0x53c2('0x73')][_0x53c2('0x53')];_0x4a305d+=0x1){socket['emit']('userMailAccount:remove',{'UserId':Number(_0x426721[_0x53c2('0x4e')][_0x53c2('0x73')][_0x4a305d]),'MailAccountId':Number(_0x426721['params']['id'])});}}else{socket[_0x53c2('0xb9')]('userMailAccount:remove',{'UserId':Number(_0x426721[_0x53c2('0x4e')][_0x53c2('0x73')]),'MailAccountId':Number(_0x426721[_0x53c2('0x63')]['id'])});}});}})['then'](respondWithStatusCode(_0x4f67db,null))[_0x53c2('0x61')](handleError(_0x4f67db,null));};exports['getAgents']=function(_0x2971ef,_0x42ed3a){var _0x595b67={};var _0x4268a8={};var _0x4fda6c;var _0x3ca751;return db['MailAccount'][_0x53c2('0x70')]({'where':{'id':_0x2971ef[_0x53c2('0x63')]['id']}})[_0x53c2('0x11')](handleEntityNotFound(_0x42ed3a,null))[_0x53c2('0x11')](function(_0x2ff6f9){if(_0x2ff6f9){_0x4fda6c=_0x2ff6f9;_0x4268a8[_0x53c2('0x4c')]=_['keys'](db[_0x53c2('0x8c')][_0x53c2('0x71')]);_0x4268a8[_0x53c2('0x4e')]=_['keys'](_0x2971ef[_0x53c2('0x4e')]);_0x4268a8[_0x53c2('0x4f')]=_[_0x53c2('0x50')](_0x4268a8[_0x53c2('0x4c')],_0x4268a8[_0x53c2('0x4e')]);_0x595b67[_0x53c2('0x52')]=_[_0x53c2('0x50')](_0x4268a8[_0x53c2('0x4c')],qs[_0x53c2('0x51')](_0x2971ef[_0x53c2('0x4e')][_0x53c2('0x51')]));_0x595b67['attributes']=_0x595b67['attributes'][_0x53c2('0x53')]?_0x595b67['attributes']:_0x4268a8[_0x53c2('0x4c')];_0x595b67[_0x53c2('0x56')]=qs['sort'](_0x2971ef['query'][_0x53c2('0x57')]);_0x595b67[_0x53c2('0x58')]=qs[_0x53c2('0x4f')](_['pick'](_0x2971ef[_0x53c2('0x4e')],_0x4268a8[_0x53c2('0x4f')]));if(_0x2971ef[_0x53c2('0x4e')][_0x53c2('0x5a')]){_0x595b67[_0x53c2('0x58')]=_[_0x53c2('0x5b')](_0x595b67[_0x53c2('0x58')],{'$or':_[_0x53c2('0x4d')](_0x595b67['attributes'],function(_0x20a371){var _0x4e5ac1={};_0x4e5ac1[_0x20a371]={'$like':'%'+_0x2971ef[_0x53c2('0x4e')][_0x53c2('0x5a')]+'%'};return _0x4e5ac1;})});}_0x595b67=_['merge']({},_0x595b67,_0x2971ef['options']);return _0x4fda6c['getAgents'](_0x595b67);}})[_0x53c2('0x11')](function(_0x9db42a){if(_0x9db42a){_0x3ca751=_0x9db42a[_0x53c2('0x53')];if(!_0x2971ef['query'][_0x53c2('0x54')](_0x53c2('0x55'))){_0x595b67['limit']=qs[_0x53c2('0x1f')](_0x2971ef[_0x53c2('0x4e')][_0x53c2('0x1f')]);_0x595b67[_0x53c2('0x1d')]=qs[_0x53c2('0x1d')](_0x2971ef[_0x53c2('0x4e')][_0x53c2('0x1d')]);}return _0x4fda6c[_0x53c2('0xbc')](_0x595b67);}})[_0x53c2('0x11')](function(_0x31b6b2){if(_0x31b6b2){return _0x31b6b2?{'count':_0x3ca751,'rows':_0x31b6b2}:null;}})['then'](respondWithResult(_0x42ed3a,null))[_0x53c2('0x61')](handleError(_0x42ed3a,null));};