9df77501aa5960044dfe91ad255f7c48d87edd46
[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 _0xa877=['path','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','redis','defaults','localhost','socket.io-emitter','register','client','http','request','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','MailAccount,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','sendStatus','end','status','undefined','limit','count','set','json','update','destroy','get','MailAccounts','UserProfileResource','name','send','gmail','imap.gmail.com','yahoo','imap.mail.yahoo.com','imap-mail.outlook.com','outlook365','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp.mail.yahoo.com','hotmail','smtp-mail.outlook.com','smtp.office365.com','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','index','MailServerIn','MailServerOut','mandatoryDispositionPause','MailAccount','map','query','keys','intersection','attributes','model','fields','hasOwnProperty','nolimit','offset','sort','pick','filters','filter','where','VIRTUAL','merge','options','include','findAll','rows','show','Pause','rawAttributes','length','includeAll','find','body','provider','params','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','order','removeDispositions','addAnswer','getAnswers','CannedAnswer','removeAnswers','key','custom','ListId','isNil','active','description','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','setSmtp','addInteraction','MailInteraction','ids','omit','getInteractions','CmContact','Contact','User','Owner','fullname','internal','Tags','tag','addApplications','sequelize','transaction','ISOLATION_LEVELS','MailApplication','priority','getApplications','getMessages','MailMessage','$gte','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','true','split','CmList','List','Contacts','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','email','attachments','join','root','server/files/attachments','basename','SendMail','sendMail','List\x20not\x20found','messageId','from','subject','attach','out','Interaction','Messages','verifySmtp','getSmtpOptions','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','emit','getAgents','moment','bluebird','util'];(function(_0x538511,_0x515d7f){var _0xbeb986=function(_0x3001a8){while(--_0x3001a8){_0x538511['push'](_0x538511['shift']());}};_0xbeb986(++_0x515d7f);}(_0xa877,0xc1));var _0x7a87=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0xa877[_0x321bb2];return _0x9c12ed;};'use strict';var moment=require(_0x7a87('0x0'));var BPromise=require(_0x7a87('0x1'));var util=require(_0x7a87('0x2'));var path=require(_0x7a87('0x3'));var _=require('lodash');var juice=require('juice');var Redis=require(_0x7a87('0x4'));var qs=require(_0x7a87('0x5'));var logger=require(_0x7a87('0x6'))(_0x7a87('0x7'));var config=require(_0x7a87('0x8'));var db=require('../../mysqldb')['db'];config[_0x7a87('0x9')]=_[_0x7a87('0xa')](config[_0x7a87('0x9')],{'host':_0x7a87('0xb'),'port':0x18eb});var socket=require(_0x7a87('0xc'))(new Redis(config[_0x7a87('0x9')]));require('./mailAccount.socket')[_0x7a87('0xd')](socket);var jayson=require('jayson/promise');var client=jayson[_0x7a87('0xe')][_0x7a87('0xf')]({'port':0x232b});function respondWithRpcPromise(_0x57bb93,_0x146421,_0x484900,_0x3ad88c){return new BPromise(function(_0x543606,_0x1a23ef){var _0x580b1d=_0x3ad88c||client;return _0x580b1d[_0x7a87('0x10')](_0x57bb93,_0x484900)[_0x7a87('0x11')](function(_0x282409){logger[_0x7a87('0x12')](_0x7a87('0x13'),_0x146421,_0x7a87('0x14'));logger['debug'](_0x7a87('0x15'),_0x146421,_0x7a87('0x14'),JSON['stringify'](_0x282409));if(_0x282409['error']){if(_0x282409[_0x7a87('0x16')][_0x7a87('0x17')]===0x1f4){logger[_0x7a87('0x16')](_0x7a87('0x13'),_0x146421,_0x282409[_0x7a87('0x16')][_0x7a87('0x18')]);return _0x1a23ef(_0x282409[_0x7a87('0x16')][_0x7a87('0x18')]);}logger[_0x7a87('0x16')](_0x7a87('0x13'),_0x146421,_0x282409['error'][_0x7a87('0x18')]);return _0x543606(_0x282409[_0x7a87('0x16')]['message']);}else{logger[_0x7a87('0x12')](_0x7a87('0x13'),_0x146421,_0x7a87('0x14'));_0x543606(_0x282409[_0x7a87('0x19')]['message']);}})[_0x7a87('0x1a')](function(_0x340394){logger[_0x7a87('0x16')](_0x7a87('0x13'),_0x146421,_0x340394);_0x1a23ef(_0x340394);});});}function respondWithStatusCode(_0x1b1f4e,_0x4adff2){_0x4adff2=_0x4adff2||0xcc;return function(_0x5ae30d){if(_0x5ae30d){return _0x1b1f4e[_0x7a87('0x1b')](_0x4adff2);}return _0x1b1f4e['status'](_0x4adff2)[_0x7a87('0x1c')]();};}function respondWithResult(_0x29f7e0,_0x9a8dbb){_0x9a8dbb=_0x9a8dbb||0xc8;return function(_0x315d61){if(_0x315d61){return _0x29f7e0[_0x7a87('0x1d')](_0x9a8dbb)['json'](_0x315d61);}};}function respondWithFilteredResult(_0x83edcc,_0xadf6f5){return function(_0x97357f){if(_0x97357f){var _0x4b7875=typeof _0xadf6f5['offset']===_0x7a87('0x1e')&&typeof _0xadf6f5[_0x7a87('0x1f')]===_0x7a87('0x1e');var _0x2e6e19=_0x97357f[_0x7a87('0x20')];var _0x544095=_0x4b7875?0x0:_0xadf6f5['offset'];var _0x5bc7f6=_0x4b7875?_0x97357f[_0x7a87('0x20')]:_0xadf6f5['offset']+_0xadf6f5['limit'];var _0x4d41f4;if(_0x5bc7f6>=_0x2e6e19){_0x5bc7f6=_0x2e6e19;_0x4d41f4=0xc8;}else{_0x4d41f4=0xce;}_0x83edcc[_0x7a87('0x1d')](_0x4d41f4);return _0x83edcc[_0x7a87('0x21')]('Content-Range',_0x544095+'-'+_0x5bc7f6+'/'+_0x2e6e19)[_0x7a87('0x22')](_0x97357f);}return null;};}function saveUpdates(_0x192448){return function(_0x3c2c42){if(_0x3c2c42){return _0x3c2c42[_0x7a87('0x23')](_0x192448)[_0x7a87('0x11')](function(_0x1c7337){return _0x1c7337;});}return null;};}function removeEntity(_0xb8431b){return function(_0x3610f3){if(_0x3610f3){return _0x3610f3[_0x7a87('0x24')]()[_0x7a87('0x11')](function(){var _0x199ff4=_0x3610f3[_0x7a87('0x25')]({'plain':!![]});var _0x6468a1=_0x7a87('0x26');return db[_0x7a87('0x27')][_0x7a87('0x24')]({'where':{'type':_0x6468a1,'resourceId':_0x199ff4['id']}})[_0x7a87('0x11')](function(){return _0x3610f3;});})[_0x7a87('0x11')](function(){_0xb8431b['status'](0xcc)[_0x7a87('0x1c')]();});}};}function handleEntityNotFound(_0x563ec5){return function(_0x177d67){if(!_0x177d67){_0x563ec5['sendStatus'](0x194);}return _0x177d67;};}function handleError(_0x42c4e2,_0x18d3e1){_0x18d3e1=_0x18d3e1||0x1f4;return function(_0x282b5b){logger['error'](_0x282b5b['stack']);if(_0x282b5b[_0x7a87('0x28')]){delete _0x282b5b['name'];}_0x42c4e2[_0x7a87('0x1d')](_0x18d3e1)[_0x7a87('0x29')](_0x282b5b);};}function getImapHost(_0x32390e){switch(_0x32390e){case _0x7a87('0x2a'):return _0x7a87('0x2b');case _0x7a87('0x2c'):return _0x7a87('0x2d');case'hotmail':return _0x7a87('0x2e');case _0x7a87('0x2f'):return _0x7a87('0x30');}throw new Error(_0x7a87('0x31'),_0x32390e);}function getSmtpHost(_0x257481){switch(_0x257481){case _0x7a87('0x2a'):return'smtp.gmail.com';case'yahoo':return _0x7a87('0x32');case _0x7a87('0x33'):return _0x7a87('0x34');case _0x7a87('0x2f'):return _0x7a87('0x35');}throw new Error(_0x7a87('0x31'),_0x257481);}function getAuthenticationOptions(_0x5e02c6,_0xa011d8){var _0x1d3493={};var _0x5aaaba={};if(_0x5e02c6){_0x1d3493['user']=_0x5aaaba[_0x7a87('0x36')]=_0xa011d8[_0x7a87('0x37')];_0x1d3493[_0x7a87('0x38')]=_0x5aaaba[_0x7a87('0x39')]=_0xa011d8[_0x7a87('0x38')];if(_0xa011d8[_0x7a87('0x3a')]){_0x1d3493[_0x7a87('0x3a')]=_0x5aaaba[_0x7a87('0x3a')]=!![];_0x1d3493[_0x7a87('0x3b')]=_0x5aaaba[_0x7a87('0x3b')]=_0xa011d8[_0x7a87('0x3b')];_0x1d3493['password']=_0x5aaaba[_0x7a87('0x39')]=null;}else{_0x1d3493['CloudProviderId']=_0x5aaaba[_0x7a87('0x3b')]=null;}_0x1d3493[_0x7a87('0x3c')]=getImapHost(_0x5e02c6);_0x1d3493[_0x7a87('0x3d')]=0x3e1;_0x5aaaba['host']=getSmtpHost(_0x5e02c6);_0x5aaaba[_0x7a87('0x3d')]=0x24b;_0x5aaaba[_0x7a87('0x3e')]=![];_0x1d3493[_0x7a87('0x3f')]=_0x5aaaba[_0x7a87('0x3f')]=null;}else{if(_0xa011d8['authentication']){_0x1d3493[_0x7a87('0x36')]=_0x5aaaba[_0x7a87('0x36')]=_0xa011d8['username'];_0x1d3493[_0x7a87('0x38')]=_0x5aaaba[_0x7a87('0x39')]=_0xa011d8['password'];}else{_0x1d3493[_0x7a87('0x40')]=_0x5aaaba['authentication']=![];_0x1d3493['user']=_0x5aaaba[_0x7a87('0x36')]=null;_0x1d3493[_0x7a87('0x38')]=_0x5aaaba['pass']=null;}_0x1d3493[_0x7a87('0x3c')]=_0xa011d8[_0x7a87('0x41')]['host'];_0x1d3493[_0x7a87('0x3d')]=_0xa011d8['Imap'][_0x7a87('0x3d')];_0x5aaaba[_0x7a87('0x3c')]=_0xa011d8['Smtp']['host'];_0x5aaaba[_0x7a87('0x3d')]=_0xa011d8[_0x7a87('0x42')][_0x7a87('0x3d')];}return{'Imap':_0x1d3493,'Smtp':_0x5aaaba};}exports[_0x7a87('0x43')]=function(_0xffa8ca,_0xac688f){var _0x78441c={'include':[{'model':db[_0x7a87('0x44')],'as':_0x7a87('0x41')},{'model':db[_0x7a87('0x45')],'as':_0x7a87('0x42')},{'model':db['Pause'],'as':_0x7a87('0x46')}]},_0x5351d4={},_0x1ff595={'count':0x0,'rows':[]};var _0x5bef8c=_['map'](db[_0x7a87('0x47')]['rawAttributes'],function(_0x2fcc1b){return{'name':_0x2fcc1b['fieldName'],'type':_0x2fcc1b['type']['key']};});_0x5351d4['model']=_[_0x7a87('0x48')](_0x5bef8c,_0x7a87('0x28'));_0x5351d4[_0x7a87('0x49')]=_[_0x7a87('0x4a')](_0xffa8ca['query']);_0x5351d4['filters']=_[_0x7a87('0x4b')](_0x5351d4['model'],_0x5351d4['query']);_0x78441c[_0x7a87('0x4c')]=_[_0x7a87('0x4b')](_0x5351d4[_0x7a87('0x4d')],qs[_0x7a87('0x4e')](_0xffa8ca[_0x7a87('0x49')][_0x7a87('0x4e')]));_0x78441c[_0x7a87('0x4c')]=_0x78441c[_0x7a87('0x4c')]['length']?_0x78441c[_0x7a87('0x4c')]:_0x5351d4['model'];if(!_0xffa8ca[_0x7a87('0x49')][_0x7a87('0x4f')](_0x7a87('0x50'))){_0x78441c[_0x7a87('0x1f')]=qs[_0x7a87('0x1f')](_0xffa8ca[_0x7a87('0x49')][_0x7a87('0x1f')]);_0x78441c[_0x7a87('0x51')]=qs['offset'](_0xffa8ca[_0x7a87('0x49')][_0x7a87('0x51')]);}_0x78441c['order']=qs[_0x7a87('0x52')](_0xffa8ca[_0x7a87('0x49')][_0x7a87('0x52')]);_0x78441c['where']=qs['filters'](_[_0x7a87('0x53')](_0xffa8ca[_0x7a87('0x49')],_0x5351d4[_0x7a87('0x54')]),_0x5bef8c);if(_0xffa8ca[_0x7a87('0x49')][_0x7a87('0x55')]){_0x78441c[_0x7a87('0x56')]=_['merge'](_0x78441c[_0x7a87('0x56')],{'$or':_[_0x7a87('0x48')](_0x5bef8c,function(_0x2d91c4){if(_0x2d91c4['type']!==_0x7a87('0x57')){var _0x439e66={};_0x439e66[_0x2d91c4['name']]={'$like':'%'+_0xffa8ca[_0x7a87('0x49')]['filter']+'%'};return _0x439e66;}})});}_0x78441c=_[_0x7a87('0x58')]({},_0x78441c,_0xffa8ca[_0x7a87('0x59')]);var _0x2f7a46={'where':_0x78441c[_0x7a87('0x56')]};return db['MailAccount'][_0x7a87('0x20')](_0x2f7a46)[_0x7a87('0x11')](function(_0xd9083b){_0x1ff595[_0x7a87('0x20')]=_0xd9083b;if(_0xffa8ca[_0x7a87('0x49')]['includeAll']){_0x78441c[_0x7a87('0x5a')]=[{'all':!![]}];}return db[_0x7a87('0x47')][_0x7a87('0x5b')](_0x78441c);})['then'](function(_0xf9e819){_0x1ff595[_0x7a87('0x5c')]=_0xf9e819;return _0x1ff595;})[_0x7a87('0x11')](respondWithFilteredResult(_0xac688f,_0x78441c))[_0x7a87('0x1a')](handleError(_0xac688f,null));};exports[_0x7a87('0x5d')]=function(_0x5ca8fe,_0x5473b4){var _0x5dc0e0={'raw':![],'where':{'id':_0x5ca8fe['params']['id']},'include':[{'model':db[_0x7a87('0x44')],'as':'Imap'},{'model':db[_0x7a87('0x45')],'as':_0x7a87('0x42')},{'model':db[_0x7a87('0x5e')],'as':'mandatoryDispositionPause'}]},_0x1546c7={};_0x1546c7[_0x7a87('0x4d')]=_[_0x7a87('0x4a')](db[_0x7a87('0x47')][_0x7a87('0x5f')]);_0x1546c7['query']=_[_0x7a87('0x4a')](_0x5ca8fe[_0x7a87('0x49')]);_0x1546c7['filters']=_['intersection'](_0x1546c7[_0x7a87('0x4d')],_0x1546c7['query']);_0x5dc0e0[_0x7a87('0x4c')]=_[_0x7a87('0x4b')](_0x1546c7[_0x7a87('0x4d')],qs[_0x7a87('0x4e')](_0x5ca8fe[_0x7a87('0x49')][_0x7a87('0x4e')]));_0x5dc0e0[_0x7a87('0x4c')]=_0x5dc0e0[_0x7a87('0x4c')][_0x7a87('0x60')]?_0x5dc0e0[_0x7a87('0x4c')]:_0x1546c7['model'];if(_0x5ca8fe[_0x7a87('0x49')][_0x7a87('0x61')]){_0x5dc0e0[_0x7a87('0x5a')]=[{'all':!![]}];}_0x5dc0e0=_[_0x7a87('0x58')]({},_0x5dc0e0,_0x5ca8fe[_0x7a87('0x59')]);return db['MailAccount'][_0x7a87('0x62')](_0x5dc0e0)[_0x7a87('0x11')](handleEntityNotFound(_0x5473b4,null))[_0x7a87('0x11')](respondWithResult(_0x5473b4,null))[_0x7a87('0x1a')](handleError(_0x5473b4,null));};exports[_0x7a87('0x23')]=function(_0x15f74f,_0x240709){if(_0x15f74f['body']['id']){delete _0x15f74f[_0x7a87('0x63')]['id'];}var _0x205f96=_0x15f74f['body'][_0x7a87('0x64')]==='custom'?null:_0x15f74f[_0x7a87('0x63')][_0x7a87('0x64')];var _0x4704a2=_0x15f74f['body'][_0x7a87('0x41')]||{};var _0x372cfa=_0x15f74f['body'][_0x7a87('0x42')]||{};if(_0x205f96){_0x4704a2[_0x7a87('0x3c')]=getImapHost(_0x205f96);_0x4704a2['port']=0x3e1;_0x372cfa[_0x7a87('0x3c')]=getSmtpHost(_0x205f96);_0x372cfa['port']=0x24b;_0x372cfa[_0x7a87('0x3e')]=![];}if(_0x372cfa['modernAuthentication']){_0x372cfa[_0x7a87('0x3e')]=![];}else{_0x372cfa[_0x7a87('0x3b')]=null;}if(!_0x4704a2[_0x7a87('0x3a')])_0x4704a2[_0x7a87('0x3b')]=null;_0x15f74f[_0x7a87('0x63')][_0x7a87('0x41')]=_0x4704a2;_0x15f74f[_0x7a87('0x63')][_0x7a87('0x42')]=_0x372cfa;return db[_0x7a87('0x47')][_0x7a87('0x62')]({'where':{'id':_0x15f74f[_0x7a87('0x65')]['id']},'include':[{'model':db[_0x7a87('0x44')],'as':_0x7a87('0x41')},{'model':db[_0x7a87('0x45')],'as':_0x7a87('0x42')},{'model':db['Pause'],'as':_0x7a87('0x46')}]})[_0x7a87('0x11')](handleEntityNotFound(_0x240709,null))[_0x7a87('0x11')](function(_0x440fc5){if(!_0x440fc5)throw new Error('Mail\x20Account\x20not\x20found');if(_0x440fc5['service'])delete _0x15f74f['body']['Imap'];return _0x440fc5;})[_0x7a87('0x11')](saveUpdates(_0x15f74f[_0x7a87('0x63')],null))[_0x7a87('0x11')](function(_0x9bb7c4){if(!_0x15f74f[_0x7a87('0x63')][_0x7a87('0x41')])return _0x9bb7c4;return db[_0x7a87('0x44')][_0x7a87('0x23')](_0x15f74f[_0x7a87('0x63')]['Imap'],{'where':{'MailAccountId':_0x9bb7c4['id']}})[_0x7a87('0x11')](function(){return _0x9bb7c4;});})[_0x7a87('0x11')](function(_0x475fd0){if(!_0x15f74f[_0x7a87('0x63')][_0x7a87('0x42')])return _0x475fd0;return db[_0x7a87('0x45')][_0x7a87('0x23')](_0x15f74f['body']['Smtp'],{'where':{'MailAccountId':_0x475fd0['id']}})[_0x7a87('0x11')](function(){return _0x475fd0;});})[_0x7a87('0x11')](respondWithResult(_0x240709,null))[_0x7a87('0x1a')](handleError(_0x240709,null));};exports['describe']=function(_0x21c445,_0x181ed9){return db[_0x7a87('0x47')][_0x7a87('0x66')]()[_0x7a87('0x11')](respondWithResult(_0x181ed9,null))[_0x7a87('0x1a')](handleError(_0x181ed9,null));};exports[_0x7a87('0x67')]=function(_0x34180f,_0x30b61c){if(_0x34180f[_0x7a87('0x63')]['id']){delete _0x34180f[_0x7a87('0x63')]['id'];}return db[_0x7a87('0x47')][_0x7a87('0x62')]({'where':{'id':_0x34180f[_0x7a87('0x65')]['id']}})[_0x7a87('0x11')](handleEntityNotFound(_0x30b61c,null))[_0x7a87('0x11')](function(_0x5a0ef0){if(_0x5a0ef0){_0x34180f[_0x7a87('0x63')][_0x7a87('0x68')]=_0x5a0ef0['id'];return db[_0x7a87('0x69')][_0x7a87('0x6a')](_0x34180f['body']);}})[_0x7a87('0x11')](respondWithResult(_0x30b61c,null))[_0x7a87('0x1a')](handleError(_0x30b61c,null));};exports[_0x7a87('0x6b')]=function(_0x5666ca,_0xcfb506){var _0xd197bd={'raw':![],'where':{}};var _0x4dd263={};var _0x475ceb={'count':0x0,'rows':[]};return db[_0x7a87('0x47')][_0x7a87('0x6c')]({'where':{'id':_0x5666ca[_0x7a87('0x65')]['id']}})[_0x7a87('0x11')](handleEntityNotFound(_0xcfb506,null))[_0x7a87('0x11')](function(_0x489503){if(_0x489503){_0x4dd263[_0x7a87('0x4d')]=_['keys'](db[_0x7a87('0x69')]['rawAttributes']);_0x4dd263[_0x7a87('0x49')]=_['keys'](_0x5666ca[_0x7a87('0x49')]);_0x4dd263['filters']=_[_0x7a87('0x4b')](_0x4dd263[_0x7a87('0x4d')],_0x4dd263[_0x7a87('0x49')]);_0xd197bd[_0x7a87('0x4c')]=_[_0x7a87('0x4b')](_0x4dd263['model'],qs[_0x7a87('0x4e')](_0x5666ca['query'][_0x7a87('0x4e')]));_0xd197bd[_0x7a87('0x4c')]=_0xd197bd[_0x7a87('0x4c')]['length']?_0xd197bd[_0x7a87('0x4c')]:_0x4dd263[_0x7a87('0x4d')];if(!_0x5666ca[_0x7a87('0x49')][_0x7a87('0x4f')]('nolimit')){_0xd197bd[_0x7a87('0x1f')]=qs['limit'](_0x5666ca['query'][_0x7a87('0x1f')]);_0xd197bd['offset']=qs[_0x7a87('0x51')](_0x5666ca[_0x7a87('0x49')][_0x7a87('0x51')]);}_0xd197bd[_0x7a87('0x6d')]=qs[_0x7a87('0x52')](_0x5666ca[_0x7a87('0x49')]['sort']);_0xd197bd['where']=qs[_0x7a87('0x54')](_[_0x7a87('0x53')](_0x5666ca[_0x7a87('0x49')],_0x4dd263[_0x7a87('0x54')]));_0xd197bd[_0x7a87('0x56')][_0x7a87('0x68')]=_0x489503['id'];if(_0x5666ca[_0x7a87('0x49')][_0x7a87('0x55')]){_0xd197bd['where']=_['merge'](_0xd197bd[_0x7a87('0x56')],{'$or':_[_0x7a87('0x48')](_0xd197bd[_0x7a87('0x4c')],function(_0x53f144){var _0x4471d6={};_0x4471d6[_0x53f144]={'$like':'%'+_0x5666ca[_0x7a87('0x49')][_0x7a87('0x55')]+'%'};return _0x4471d6;})});}_0xd197bd=_['merge']({},_0xd197bd,_0x5666ca[_0x7a87('0x59')]);return db[_0x7a87('0x69')][_0x7a87('0x20')]({'where':_0xd197bd['where']})[_0x7a87('0x11')](function(_0x3ff5e6){_0x475ceb[_0x7a87('0x20')]=_0x3ff5e6;if(_0x5666ca[_0x7a87('0x49')][_0x7a87('0x61')]){_0xd197bd[_0x7a87('0x5a')]=[{'all':!![]}];}return db[_0x7a87('0x69')]['findAll'](_0xd197bd);})[_0x7a87('0x11')](function(_0x437e8a){_0x475ceb['rows']=_0x437e8a;return _0x475ceb;});}})[_0x7a87('0x11')](respondWithFilteredResult(_0xcfb506,_0xd197bd))[_0x7a87('0x1a')](handleError(_0xcfb506,null));};exports[_0x7a87('0x6e')]=function(_0x261e97,_0x331721){return db[_0x7a87('0x47')]['find']({'where':{'id':_0x261e97[_0x7a87('0x65')]['id']}})['then'](handleEntityNotFound(_0x331721,null))[_0x7a87('0x11')](function(_0x2d8ad5){if(_0x2d8ad5){return _0x2d8ad5[_0x7a87('0x6e')](_0x261e97[_0x7a87('0x49')]['ids']);}})[_0x7a87('0x11')](respondWithStatusCode(_0x331721,null))[_0x7a87('0x1a')](handleError(_0x331721,null));};exports[_0x7a87('0x6f')]=function(_0x5d48ea,_0x57eade){if(_0x5d48ea['body']['id']){delete _0x5d48ea[_0x7a87('0x63')]['id'];}return db['MailAccount']['find']({'where':{'id':_0x5d48ea[_0x7a87('0x65')]['id']}})[_0x7a87('0x11')](handleEntityNotFound(_0x57eade,null))[_0x7a87('0x11')](function(_0x235e47){if(_0x235e47){_0x5d48ea[_0x7a87('0x63')][_0x7a87('0x68')]=_0x235e47['id'];return db['CannedAnswer'][_0x7a87('0x6a')](_0x5d48ea[_0x7a87('0x63')]);}})[_0x7a87('0x11')](respondWithResult(_0x57eade,null))[_0x7a87('0x1a')](handleError(_0x57eade,null));};exports[_0x7a87('0x70')]=function(_0x371f0d,_0x3ce203){var _0x3a8c7d={'raw':![],'where':{}};var _0x5d98f7={};var _0x3c0791={'count':0x0,'rows':[]};return db[_0x7a87('0x47')][_0x7a87('0x6c')]({'where':{'id':_0x371f0d['params']['id']}})[_0x7a87('0x11')](handleEntityNotFound(_0x3ce203,null))[_0x7a87('0x11')](function(_0xb484a4){if(_0xb484a4){_0x5d98f7[_0x7a87('0x4d')]=_[_0x7a87('0x4a')](db[_0x7a87('0x71')][_0x7a87('0x5f')]);_0x5d98f7[_0x7a87('0x49')]=_['keys'](_0x371f0d[_0x7a87('0x49')]);_0x5d98f7[_0x7a87('0x54')]=_[_0x7a87('0x4b')](_0x5d98f7[_0x7a87('0x4d')],_0x5d98f7[_0x7a87('0x49')]);_0x3a8c7d['attributes']=_[_0x7a87('0x4b')](_0x5d98f7['model'],qs[_0x7a87('0x4e')](_0x371f0d[_0x7a87('0x49')]['fields']));_0x3a8c7d[_0x7a87('0x4c')]=_0x3a8c7d[_0x7a87('0x4c')][_0x7a87('0x60')]?_0x3a8c7d[_0x7a87('0x4c')]:_0x5d98f7[_0x7a87('0x4d')];if(!_0x371f0d['query'][_0x7a87('0x4f')](_0x7a87('0x50'))){_0x3a8c7d['limit']=qs[_0x7a87('0x1f')](_0x371f0d['query']['limit']);_0x3a8c7d[_0x7a87('0x51')]=qs[_0x7a87('0x51')](_0x371f0d[_0x7a87('0x49')][_0x7a87('0x51')]);}_0x3a8c7d[_0x7a87('0x6d')]=qs[_0x7a87('0x52')](_0x371f0d[_0x7a87('0x49')][_0x7a87('0x52')]);_0x3a8c7d[_0x7a87('0x56')]=qs['filters'](_[_0x7a87('0x53')](_0x371f0d['query'],_0x5d98f7['filters']));_0x3a8c7d[_0x7a87('0x56')][_0x7a87('0x68')]=_0xb484a4['id'];if(_0x371f0d['query'][_0x7a87('0x55')]){_0x3a8c7d[_0x7a87('0x56')]=_[_0x7a87('0x58')](_0x3a8c7d[_0x7a87('0x56')],{'$or':_[_0x7a87('0x48')](_0x3a8c7d['attributes'],function(_0x59dee3){var _0x54acee={};_0x54acee[_0x59dee3]={'$like':'%'+_0x371f0d['query']['filter']+'%'};return _0x54acee;})});}_0x3a8c7d=_['merge']({},_0x3a8c7d,_0x371f0d[_0x7a87('0x59')]);return db[_0x7a87('0x71')][_0x7a87('0x20')]({'where':_0x3a8c7d[_0x7a87('0x56')]})['then'](function(_0x47e1bb){_0x3c0791[_0x7a87('0x20')]=_0x47e1bb;if(_0x371f0d[_0x7a87('0x49')][_0x7a87('0x61')]){_0x3a8c7d['include']=[{'all':!![]}];}return db[_0x7a87('0x71')][_0x7a87('0x5b')](_0x3a8c7d);})['then'](function(_0x296e27){_0x3c0791[_0x7a87('0x5c')]=_0x296e27;return _0x3c0791;});}})[_0x7a87('0x11')](respondWithFilteredResult(_0x3ce203,_0x3a8c7d))[_0x7a87('0x1a')](handleError(_0x3ce203,null));};exports[_0x7a87('0x72')]=function(_0x41942d,_0x2bfb28){return db[_0x7a87('0x47')][_0x7a87('0x62')]({'where':{'id':_0x41942d['params']['id']}})[_0x7a87('0x11')](handleEntityNotFound(_0x2bfb28,null))[_0x7a87('0x11')](function(_0x52ce1b){if(_0x52ce1b){return _0x52ce1b['removeAnswers'](_0x41942d[_0x7a87('0x49')]['ids']);}})[_0x7a87('0x11')](respondWithStatusCode(_0x2bfb28,null))[_0x7a87('0x1a')](handleError(_0x2bfb28,null));};exports[_0x7a87('0x6a')]=function(_0x3ca6d7,_0x4a3155){var _0x4a658d={'name':_0x3ca6d7[_0x7a87('0x63')][_0x7a87('0x28')],'key':_0x3ca6d7['body'][_0x7a87('0x73')],'provider':_0x3ca6d7[_0x7a87('0x63')][_0x7a87('0x64')]===_0x7a87('0x74')?null:_0x3ca6d7[_0x7a87('0x63')]['provider'],'email':_0x3ca6d7['body']['email'],'ListId':_0x3ca6d7['body'][_0x7a87('0x75')],'active':!_[_0x7a87('0x76')](_0x3ca6d7['body'][_0x7a87('0x77')])?_0x3ca6d7[_0x7a87('0x63')][_0x7a87('0x77')]:!![],'description':_0x3ca6d7[_0x7a87('0x63')][_0x7a87('0x78')]||null};var _0x2ffa79=getAuthenticationOptions(_0x4a658d[_0x7a87('0x64')],_0x3ca6d7[_0x7a87('0x63')]);_0x4a658d[_0x7a87('0x41')]=_0x2ffa79[_0x7a87('0x41')];_0x4a658d['Smtp']=_0x2ffa79[_0x7a87('0x42')];return db['MailAccount'][_0x7a87('0x6a')](_0x4a658d,{'include':[{'model':db[_0x7a87('0x45')],'as':_0x7a87('0x42')},{'model':db['MailServerIn'],'as':_0x7a87('0x41')}]})['then'](function(_0x363534){var _0x4cbd6f=_0x3ca6d7[_0x7a87('0x36')]['get']({'plain':!![]});if(!_0x4cbd6f)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4cbd6f[_0x7a87('0x79')]==='user'){var _0x4ebfa4=_0x363534[_0x7a87('0x25')]({'plain':!![]});return db[_0x7a87('0x7a')][_0x7a87('0x62')]({'where':{'name':_0x7a87('0x26'),'userProfileId':_0x4cbd6f[_0x7a87('0x7b')]},'raw':!![]})['then'](function(_0x493ee6){if(_0x493ee6&&_0x493ee6[_0x7a87('0x7c')]===0x0){return db[_0x7a87('0x27')]['create']({'name':_0x4ebfa4[_0x7a87('0x28')],'resourceId':_0x4ebfa4['id'],'type':_0x493ee6[_0x7a87('0x28')],'sectionId':_0x493ee6['id']},{})['then'](function(){return _0x363534;});}else{return _0x363534;}})[_0x7a87('0x1a')](function(_0xe2f9e4){logger[_0x7a87('0x16')](_0x7a87('0x7d'),_0xe2f9e4);throw _0xe2f9e4;});}return _0x363534;})[_0x7a87('0x11')](respondWithResult(_0x4a3155,0xc9))['catch'](handleError(_0x4a3155,null));};exports[_0x7a87('0x7e')]=function(_0x2d1bdb,_0x42672f){return db[_0x7a87('0x47')]['findOne']({'where':{'id':_0x2d1bdb[_0x7a87('0x65')]['id']}})[_0x7a87('0x11')](handleEntityNotFound(_0x42672f,null))[_0x7a87('0x11')](function(_0x3e0ec3){if(_0x3e0ec3){return _0x3e0ec3['getImap']();}return null;})[_0x7a87('0x11')](respondWithResult(_0x42672f,null))[_0x7a87('0x1a')](handleError(_0x42672f,null));};exports[_0x7a87('0x7f')]=function(_0x50ecbb,_0x4ccc8d){if(_0x50ecbb[_0x7a87('0x63')]['id']){delete _0x50ecbb['body']['id'];}return db['MailAccount'][_0x7a87('0x62')]({'where':{'id':_0x50ecbb[_0x7a87('0x65')]['id']}})[_0x7a87('0x11')](handleEntityNotFound(_0x4ccc8d,null))[_0x7a87('0x11')](function(_0x578739){if(_0x578739){_0x50ecbb['body']['MailAccountId']=_0x578739['id'];return db[_0x7a87('0x44')][_0x7a87('0x6a')](_0x50ecbb[_0x7a87('0x63')]);}})['then'](respondWithResult(_0x4ccc8d,null))[_0x7a87('0x1a')](handleError(_0x4ccc8d,null));};exports[_0x7a87('0x80')]=function(_0x357fbc,_0x380298){return db[_0x7a87('0x47')][_0x7a87('0x6c')]({'where':{'id':_0x357fbc[_0x7a87('0x65')]['id']}})['then'](handleEntityNotFound(_0x380298,null))['then'](function(_0x7c404){if(_0x7c404){return _0x7c404[_0x7a87('0x81')](null);}return null;})[_0x7a87('0x11')](respondWithStatusCode(_0x380298,null))[_0x7a87('0x1a')](handleError(_0x380298,null));};exports[_0x7a87('0x82')]=function(_0x1c9533,_0x3673cd){return db['MailAccount']['findOne']({'where':{'id':_0x1c9533[_0x7a87('0x65')]['id']}})[_0x7a87('0x11')](handleEntityNotFound(_0x3673cd,null))['then'](function(_0x1d05af){if(_0x1d05af){return _0x1d05af[_0x7a87('0x82')]();}return null;})['then'](respondWithResult(_0x3673cd,null))[_0x7a87('0x1a')](handleError(_0x3673cd,null));};exports['addSmtp']=function(_0x5eff13,_0x3e8b86){if(_0x5eff13[_0x7a87('0x63')]['id']){delete _0x5eff13[_0x7a87('0x63')]['id'];}return db[_0x7a87('0x47')]['find']({'where':{'id':_0x5eff13[_0x7a87('0x65')]['id']}})[_0x7a87('0x11')](handleEntityNotFound(_0x3e8b86,null))[_0x7a87('0x11')](function(_0x1ef4f7){if(_0x1ef4f7){_0x5eff13[_0x7a87('0x63')][_0x7a87('0x68')]=_0x1ef4f7['id'];return db[_0x7a87('0x45')][_0x7a87('0x6a')](_0x5eff13[_0x7a87('0x63')]);}})[_0x7a87('0x11')](respondWithResult(_0x3e8b86,null))[_0x7a87('0x1a')](handleError(_0x3e8b86,null));};exports['removeSmtp']=function(_0x50470d,_0x194b82){return db[_0x7a87('0x47')]['findOne']({'where':{'id':_0x50470d['params']['id']}})['then'](handleEntityNotFound(_0x194b82,null))[_0x7a87('0x11')](function(_0x319484){if(_0x319484){return _0x319484[_0x7a87('0x83')](null);}return null;})[_0x7a87('0x11')](respondWithStatusCode(_0x194b82,null))['catch'](handleError(_0x194b82,null));};exports[_0x7a87('0x84')]=function(_0x578ffb,_0x29ed2b){return db[_0x7a87('0x85')][_0x7a87('0x62')]({'where':{'id':_0x578ffb[_0x7a87('0x65')]['id']}})['then'](handleEntityNotFound(_0x29ed2b,null))[_0x7a87('0x11')](function(_0x290d24){if(_0x290d24){return _0x290d24[_0x7a87('0x84')](_0x578ffb['body'][_0x7a87('0x86')],_[_0x7a87('0x87')](_0x578ffb[_0x7a87('0x63')],[_0x7a87('0x86'),'id'])||{});}})[_0x7a87('0x11')](respondWithResult(_0x29ed2b,null))[_0x7a87('0x1a')](handleError(_0x29ed2b,null));};exports[_0x7a87('0x88')]=function(_0x503f70,_0x487fe9){var _0x194187={'raw':![],'where':{}};var _0xd61bf={};var _0x5b376e={'count':0x0,'rows':[]};return db[_0x7a87('0x47')][_0x7a87('0x6c')]({'where':{'id':_0x503f70[_0x7a87('0x65')]['id']}})[_0x7a87('0x11')](handleEntityNotFound(_0x487fe9,null))[_0x7a87('0x11')](function(_0x5c59a1){if(_0x5c59a1){_0xd61bf[_0x7a87('0x4d')]=_[_0x7a87('0x4a')](db[_0x7a87('0x85')][_0x7a87('0x5f')]);_0xd61bf[_0x7a87('0x49')]=_[_0x7a87('0x4a')](_0x503f70[_0x7a87('0x49')]);_0xd61bf[_0x7a87('0x54')]=_['intersection'](_0xd61bf[_0x7a87('0x4d')],_0xd61bf[_0x7a87('0x49')]);_0x194187['attributes']=_[_0x7a87('0x4b')](_0xd61bf[_0x7a87('0x4d')],qs[_0x7a87('0x4e')](_0x503f70['query'][_0x7a87('0x4e')]));_0x194187[_0x7a87('0x4c')]=_0x194187[_0x7a87('0x4c')][_0x7a87('0x60')]?_0x194187[_0x7a87('0x4c')]:_0xd61bf[_0x7a87('0x4d')];if(!_0x503f70[_0x7a87('0x49')][_0x7a87('0x4f')](_0x7a87('0x50'))){_0x194187[_0x7a87('0x1f')]=qs[_0x7a87('0x1f')](_0x503f70[_0x7a87('0x49')]['limit']);_0x194187[_0x7a87('0x51')]=qs[_0x7a87('0x51')](_0x503f70[_0x7a87('0x49')][_0x7a87('0x51')]);}_0x194187['order']=qs[_0x7a87('0x52')](_0x503f70[_0x7a87('0x49')][_0x7a87('0x52')]);_0x194187[_0x7a87('0x56')]=qs[_0x7a87('0x54')](_[_0x7a87('0x53')](_0x503f70[_0x7a87('0x49')],_0xd61bf[_0x7a87('0x54')]));_0x194187[_0x7a87('0x56')]['MailAccountId']=_0x5c59a1['id'];if(_0x503f70['query'][_0x7a87('0x55')]){_0x194187[_0x7a87('0x56')]=_[_0x7a87('0x58')](_0x194187[_0x7a87('0x56')],{'$or':_[_0x7a87('0x48')](_0x194187[_0x7a87('0x4c')],function(_0x46db64){var _0x4b4283={};_0x4b4283[_0x46db64]={'$like':'%'+_0x503f70[_0x7a87('0x49')][_0x7a87('0x55')]+'%'};return _0x4b4283;})});}_0x194187=_[_0x7a87('0x58')]({},_0x194187,_0x503f70['options']);return db['MailInteraction'][_0x7a87('0x20')]({'where':_0x194187[_0x7a87('0x56')]})['then'](function(_0xd0b10b){_0x5b376e[_0x7a87('0x20')]=_0xd0b10b;if(_0x503f70[_0x7a87('0x49')][_0x7a87('0x61')]){_0x194187[_0x7a87('0x5a')]=[{'model':db[_0x7a87('0x89')],'as':_0x7a87('0x8a'),'required':![]},{'model':db[_0x7a87('0x8b')],'as':_0x7a87('0x8c'),'attributes':[_0x7a87('0x28'),_0x7a87('0x8d'),_0x7a87('0x8e')],'required':![]},{'model':db['Tag'],'as':_0x7a87('0x8f'),'attributes':['id',_0x7a87('0x28'),'color'],'where':_0x503f70[_0x7a87('0x49')][_0x7a87('0x90')]?{'id':_0x503f70[_0x7a87('0x49')][_0x7a87('0x90')]}:undefined,'required':_0x503f70[_0x7a87('0x49')]['tag']?!![]:![]}];}return db[_0x7a87('0x85')][_0x7a87('0x5b')](_0x194187);})[_0x7a87('0x11')](function(_0x35ab38){_0x5b376e[_0x7a87('0x5c')]=_0x35ab38;return _0x5b376e;});}})[_0x7a87('0x11')](respondWithFilteredResult(_0x487fe9,_0x194187))[_0x7a87('0x1a')](handleError(_0x487fe9,null));};exports[_0x7a87('0x91')]=function addApplications(_0x314a54,_0x5f5460){var _0xea6f1a=_0x314a54[_0x7a87('0x65')]['id'];var _0x214c41=_0x314a54[_0x7a87('0x63')];var _0x60d47b=0xc8;var _0x50ee1a=null;return db[_0x7a87('0x92')][_0x7a87('0x93')]({'isolationLevel':db['sequelize']['Transaction'][_0x7a87('0x94')]['READ_COMMITTED']},function(_0x2adf52){return db[_0x7a87('0x47')][_0x7a87('0x6c')]({'where':{'id':_0xea6f1a},'transaction':_0x2adf52})[_0x7a87('0x11')](function(_0x33f25a){if(_0x33f25a){return db[_0x7a87('0x95')][_0x7a87('0x24')]({'where':{'MailAccountId':_0xea6f1a},'transaction':_0x2adf52})[_0x7a87('0x11')](function(){var _0x2f878b=_[_0x7a87('0x48')](_0x214c41,function(_0x502325){_0x502325['MailAccountId']=_0xea6f1a;return _0x502325;});return db[_0x7a87('0x95')]['bulkCreate'](_0x2f878b,{'transaction':_0x2adf52});});}else{_0x60d47b=0x194;_0x50ee1a=[];}});})[_0x7a87('0x11')](function(){if(_0x60d47b!==0x194){return db[_0x7a87('0x95')]['findAndCountAll']({'where':{'MailAccountId':_0xea6f1a},'order':_0x7a87('0x96')})['then'](function(_0x15093d){_0x50ee1a=_0x15093d;});}})[_0x7a87('0x1a')](function(_0x40cb9f){_0x60d47b=0x1f4;logger['error'](_0x40cb9f['stack']);if(_0x40cb9f[_0x7a87('0x28')]){delete _0x40cb9f['name'];}_0x50ee1a=_0x40cb9f;})['finally'](function(){if(_0x50ee1a===null){_0x5f5460[_0x7a87('0x1b')](_0x60d47b);}else{if(_0x60d47b===0x1f4){_0x5f5460[_0x7a87('0x1d')](_0x60d47b)['send'](_0x50ee1a);}else{_0x5f5460['status'](_0x60d47b)[_0x7a87('0x22')](_0x50ee1a);}}});};exports['getApplications']=function(_0x407062,_0x53b480){var _0x37e8fe={};var _0x48e536={};var _0x276635;var _0x1a8a42;return db['MailAccount'][_0x7a87('0x6c')]({'where':{'id':_0x407062['params']['id']}})[_0x7a87('0x11')](handleEntityNotFound(_0x53b480,null))['then'](function(_0x3b9372){if(_0x3b9372){_0x276635=_0x3b9372;_0x48e536[_0x7a87('0x4d')]=_['keys'](db[_0x7a87('0x95')][_0x7a87('0x5f')]);_0x48e536['query']=_[_0x7a87('0x4a')](_0x407062[_0x7a87('0x49')]);_0x48e536['filters']=_[_0x7a87('0x4b')](_0x48e536[_0x7a87('0x4d')],_0x48e536[_0x7a87('0x49')]);_0x37e8fe[_0x7a87('0x4c')]=_[_0x7a87('0x4b')](_0x48e536[_0x7a87('0x4d')],qs['fields'](_0x407062[_0x7a87('0x49')][_0x7a87('0x4e')]));_0x37e8fe[_0x7a87('0x4c')]=_0x37e8fe[_0x7a87('0x4c')]['length']?_0x37e8fe[_0x7a87('0x4c')]:_0x48e536[_0x7a87('0x4d')];_0x37e8fe[_0x7a87('0x6d')]=qs[_0x7a87('0x52')](_0x407062[_0x7a87('0x49')][_0x7a87('0x52')]);_0x37e8fe[_0x7a87('0x56')]=qs[_0x7a87('0x54')](_[_0x7a87('0x53')](_0x407062[_0x7a87('0x49')],_0x48e536[_0x7a87('0x54')]));if(_0x407062[_0x7a87('0x49')][_0x7a87('0x55')]){_0x37e8fe[_0x7a87('0x56')]=_[_0x7a87('0x58')](_0x37e8fe['where'],{'$or':_[_0x7a87('0x48')](_0x37e8fe[_0x7a87('0x4c')],function(_0x1684ec){var _0x66bda9={};_0x66bda9[_0x1684ec]={'$like':'%'+_0x407062[_0x7a87('0x49')][_0x7a87('0x55')]+'%'};return _0x66bda9;})});}_0x37e8fe=_[_0x7a87('0x58')]({},_0x37e8fe,_0x407062['options']);return _0x276635[_0x7a87('0x97')](_0x37e8fe);}})[_0x7a87('0x11')](function(_0xb2dd1a){if(_0xb2dd1a){_0x1a8a42=_0xb2dd1a[_0x7a87('0x60')];if(!_0x407062[_0x7a87('0x49')][_0x7a87('0x4f')](_0x7a87('0x50'))){_0x37e8fe[_0x7a87('0x1f')]=qs[_0x7a87('0x1f')](_0x407062[_0x7a87('0x49')][_0x7a87('0x1f')]);_0x37e8fe[_0x7a87('0x51')]=qs[_0x7a87('0x51')](_0x407062[_0x7a87('0x49')][_0x7a87('0x51')]);}return _0x276635[_0x7a87('0x97')](_0x37e8fe);}})[_0x7a87('0x11')](function(_0x39be2){if(_0x39be2){return _0x39be2?{'count':_0x1a8a42,'rows':_0x39be2}:null;}})[_0x7a87('0x11')](respondWithResult(_0x53b480,null))[_0x7a87('0x1a')](handleError(_0x53b480,null));};exports[_0x7a87('0x98')]=function(_0x2a789f,_0x3af200){var _0xd8c2b4={'raw':!![],'where':{}};var _0x1a51f0={};var _0x36c875={'count':0x0,'rows':[]};return db['MailAccount']['findOne']({'where':{'id':_0x2a789f[_0x7a87('0x65')]['id']}})[_0x7a87('0x11')](handleEntityNotFound(_0x3af200,null))[_0x7a87('0x11')](function(_0x22caa9){if(_0x22caa9){_0x1a51f0[_0x7a87('0x4d')]=_[_0x7a87('0x4a')](db[_0x7a87('0x99')][_0x7a87('0x5f')]);_0x1a51f0[_0x7a87('0x49')]=_[_0x7a87('0x4a')](_0x2a789f['query']);_0x1a51f0[_0x7a87('0x54')]=_[_0x7a87('0x4b')](_0x1a51f0['model'],_0x1a51f0['query']);_0xd8c2b4[_0x7a87('0x4c')]=_[_0x7a87('0x4b')](_0x1a51f0[_0x7a87('0x4d')],qs[_0x7a87('0x4e')](_0x2a789f[_0x7a87('0x49')]['fields']));_0xd8c2b4[_0x7a87('0x4c')]=_0xd8c2b4[_0x7a87('0x4c')]['length']?_0xd8c2b4[_0x7a87('0x4c')]:_0x1a51f0['model'];if(!_0x2a789f[_0x7a87('0x49')][_0x7a87('0x4f')](_0x7a87('0x50'))){_0xd8c2b4[_0x7a87('0x1f')]=qs['limit'](_0x2a789f[_0x7a87('0x49')][_0x7a87('0x1f')]);_0xd8c2b4['offset']=qs[_0x7a87('0x51')](_0x2a789f['query']['offset']);}_0xd8c2b4[_0x7a87('0x6d')]=qs[_0x7a87('0x52')](_0x2a789f[_0x7a87('0x49')][_0x7a87('0x52')]);_0xd8c2b4[_0x7a87('0x56')]=qs['filters'](_[_0x7a87('0x53')](_0x2a789f['query'],_0x1a51f0['filters']));_0xd8c2b4[_0x7a87('0x56')][_0x7a87('0x68')]=_0x22caa9['id'];if(_0x2a789f[_0x7a87('0x49')][_0x7a87('0x55')]){_0xd8c2b4[_0x7a87('0x56')]=_['merge'](_0xd8c2b4[_0x7a87('0x56')],{'$or':_[_0x7a87('0x48')](_0xd8c2b4['attributes'],function(_0x28b342){var _0x34e581={};_0x34e581[_0x28b342]={'$like':'%'+_0x2a789f[_0x7a87('0x49')][_0x7a87('0x55')]+'%'};return _0x34e581;})});}if(_0x2a789f[_0x7a87('0x49')][_0x7a87('0x9a')]){var _0x149d7a=_0x2a789f[_0x7a87('0x49')][_0x7a87('0x9a')]['split'](',');var _0x53cd22={};_0x53cd22[_0x149d7a[0x0]]={'$gte':moment(_0x149d7a[0x1])[_0x7a87('0x9b')](_0x7a87('0x9c'))};_0xd8c2b4[_0x7a87('0x56')]=_[_0x7a87('0x58')](_0xd8c2b4[_0x7a87('0x56')],_0x53cd22);}_0xd8c2b4=_['merge']({},_0xd8c2b4,_0x2a789f[_0x7a87('0x59')]);return db[_0x7a87('0x99')][_0x7a87('0x20')]({'where':_0xd8c2b4[_0x7a87('0x56')]})[_0x7a87('0x11')](function(_0xe3fd59){_0x36c875[_0x7a87('0x20')]=_0xe3fd59;if(_0x2a789f['query'][_0x7a87('0x61')]){_0xd8c2b4[_0x7a87('0x5a')]=[{'all':!![]}];}return db['MailMessage'][_0x7a87('0x5b')](_0xd8c2b4);})[_0x7a87('0x11')](function(_0x48fdd0){if(_0x2a789f[_0x7a87('0x49')][_0x7a87('0x9d')]===_0x7a87('0x9e')){for(var _0x32511b=0x0;_0x32511b<_0x48fdd0['length'];_0x32511b++){_0x48fdd0[_0x32511b][_0x7a87('0x63')]=juice(_0x48fdd0[_0x32511b]['body']);}}_0x36c875['rows']=_0x48fdd0;return _0x36c875;});}})[_0x7a87('0x11')](respondWithFilteredResult(_0x3af200,_0xd8c2b4))[_0x7a87('0x1a')](handleError(_0x3af200,null));};exports[_0x7a87('0x29')]=function(_0x52cdd8,_0x3dcc30){var _0x2b8c87,_0x44589f={},_0x542d4d;if(_0x52cdd8[_0x7a87('0x63')]['to']){_0x542d4d=_0x52cdd8['body']['to'][_0x7a87('0x9f')](',')[0x0];}return db['MailAccount'][_0x7a87('0x62')]({'where':{'id':_0x52cdd8[_0x7a87('0x65')]['id']},'include':[{'model':db[_0x7a87('0xa0')],'as':_0x7a87('0xa1'),'include':[{'model':db['CmContact'],'as':_0x7a87('0xa2'),'where':{'email':_0x542d4d},'limit':0x1,'order':[[_0x7a87('0xa3'),_0x7a87('0xa4')]]}]},{'model':db[_0x7a87('0x45')],'as':_0x7a87('0x42'),'raw':!![],'include':[{'model':db[_0x7a87('0xa5')],'as':_0x7a87('0xa5'),'raw':!![]}]}]})[_0x7a87('0x11')](handleEntityNotFound(_0x3dcc30,null))[_0x7a87('0x11')](function(_0x537bc1){if(!_0x537bc1)return;_0x2b8c87=_0x537bc1;if(!_0x537bc1[_0x7a87('0x42')])throw new Error(_0x7a87('0xa6'));if(_['isNil'](_0x52cdd8[_0x7a87('0x63')]['from'])){_0x52cdd8[_0x7a87('0x63')]['from']=util[_0x7a87('0x9b')]('%s\x20<%s>',_0x537bc1[_0x7a87('0x28')],_0x537bc1[_0x7a87('0xa7')]||_0x537bc1[_0x7a87('0x42')]['user']);}if(_0x52cdd8[_0x7a87('0x63')][_0x7a87('0xa8')]&&_0x52cdd8['body'][_0x7a87('0xa8')][_0x7a87('0x60')]){for(var _0x1108be=0x0;_0x1108be<_0x52cdd8[_0x7a87('0x63')]['attachments']['length'];_0x1108be+=0x1){_0x52cdd8['body'][_0x7a87('0xa8')][_0x1108be]={'filename':_0x52cdd8[_0x7a87('0x63')][_0x7a87('0xa8')][_0x1108be][_0x7a87('0x28')],'path':path[_0x7a87('0xa9')](config[_0x7a87('0xaa')],_0x7a87('0xab'),_0x52cdd8[_0x7a87('0x63')]['attachments'][_0x1108be][_0x7a87('0xac')])};}}var _0xc92080=_0x537bc1['getSmtpOptions']();return respondWithRpcPromise(_0x7a87('0xad'),_0x7a87('0xae'),{'account':_0xc92080,'message':_0x52cdd8[_0x7a87('0x63')]});})[_0x7a87('0x11')](function(_0x173ea7){if(!_0x173ea7)return;_0x44589f=_0x173ea7;if(!_0x2b8c87[_0x7a87('0xa1')])throw new Error(_0x7a87('0xaf'));if(_0x2b8c87[_0x7a87('0xa1')]['Contacts']['length'])return _0x2b8c87[_0x7a87('0xa1')][_0x7a87('0xa2')][0x0];return db[_0x7a87('0x89')]['create'](_[_0x7a87('0xa')](_0x52cdd8['body'],{'firstName':_0x52cdd8[_0x7a87('0x63')]['to'],'email':_0x52cdd8[_0x7a87('0x63')]['to'],'phone':_0x52cdd8['body']['to'],'ListId':_0x2b8c87[_0x7a87('0x75')]}));})['then'](function(_0x47be19){if(!_0x47be19)return;var _0x1845d3={'UserId':_0x52cdd8[_0x7a87('0x36')]['id'],'ContactId':_0x47be19['id'],'MailAccountId':_0x2b8c87['id'],'inReplyTo':_0x44589f[_0x7a87('0xb0')],'to':_0x52cdd8['body'][_0x7a87('0xb1')],'cc':_0x52cdd8[_0x7a87('0x63')]['cc'],'subject':_0x52cdd8['body'][_0x7a87('0xb2')],'attach':_0x52cdd8[_0x7a87('0x63')][_0x7a87('0xb3')],'firstMsgDirection':_0x7a87('0xb4'),'lastMsgAt':moment()[_0x7a87('0x9b')](_0x7a87('0x9c')),'lastMsgDirection':_0x7a87('0xb4'),'Messages':[_[_0x7a87('0x58')](_0x52cdd8[_0x7a87('0x63')],{'messageId':_0x44589f['messageId'],'sentAt':moment()[_0x7a87('0x9b')](_0x7a87('0x9c')),'read':!![],'MailAccountId':_0x2b8c87['id'],'UserId':_0x52cdd8[_0x7a87('0x36')]['id'],'ContactId':_0x47be19['id']})]};if(_0x52cdd8['body'][_0x7a87('0xb5')]){_0x1845d3=_[_0x7a87('0x58')](_0x1845d3,_0x52cdd8[_0x7a87('0x63')][_0x7a87('0xb5')]);}return db[_0x7a87('0x85')][_0x7a87('0x6a')](_0x1845d3,{'include':[{'model':db[_0x7a87('0x99')],'as':_0x7a87('0xb6')}]});})[_0x7a87('0x11')](respondWithResult(_0x3dcc30,null))[_0x7a87('0x1a')](handleError(_0x3dcc30,null));};exports[_0x7a87('0xb7')]=function(_0x408506,_0xbdf933){return db[_0x7a87('0x47')][_0x7a87('0x62')]({'where':{'id':_0x408506[_0x7a87('0x65')]['id']},'include':[{'model':db[_0x7a87('0x45')],'as':'Smtp','raw':!![],'include':[{'model':db[_0x7a87('0xa5')],'as':'CloudProvider','raw':!![]}]}]})[_0x7a87('0x11')](handleEntityNotFound(_0xbdf933,null))[_0x7a87('0x11')](function(_0x450e37){if(!_0x450e37[_0x7a87('0x42')])return;var _0x23b9ec=_0x450e37[_0x7a87('0xb8')]();return respondWithRpcPromise('VerifySmtp',_0x7a87('0xb7'),{'account':_0x23b9ec});})[_0x7a87('0x11')](respondWithResult(_0xbdf933,null))[_0x7a87('0x1a')](handleError(_0xbdf933,null));};exports[_0x7a87('0x24')]=function(_0x147aaa,_0x31f3f6){return db[_0x7a87('0x47')][_0x7a87('0x62')]({'where':{'id':_0x147aaa[_0x7a87('0x65')]['id']}})['then'](handleEntityNotFound(_0x31f3f6,null))[_0x7a87('0x11')](function(_0x13fe04){if(_0x13fe04&&_0x13fe04[_0x7a87('0x3f')]){throw new db[(_0x7a87('0xb9'))][(_0x7a87('0xba'))](_0x7a87('0xbb'));}return _0x13fe04;})[_0x7a87('0x11')](removeEntity(_0x31f3f6,null))['catch'](handleError(_0x31f3f6,null));};exports[_0x7a87('0xbc')]=function(_0x1a31ea,_0x1a9bc2){return db[_0x7a87('0x47')]['find']({'where':{'id':_0x1a31ea[_0x7a87('0x65')]['id']}})[_0x7a87('0x11')](handleEntityNotFound(_0x1a9bc2,null))['then'](function(_0xa7377e){if(_0xa7377e){return _0xa7377e[_0x7a87('0xbc')](_0x1a31ea[_0x7a87('0x63')][_0x7a87('0x86')],_[_0x7a87('0x87')](_0x1a31ea['body'],[_0x7a87('0x86'),'id'])||{})[_0x7a87('0xbd')](function(_0x3899ba){for(var _0x2283cd=0x0;_0x2283cd<_0x1a31ea[_0x7a87('0x63')]['ids'][_0x7a87('0x60')];_0x2283cd+=0x1){socket['emit'](_0x7a87('0xbe'),{'UserId':Number(_0x1a31ea[_0x7a87('0x63')][_0x7a87('0x86')][_0x2283cd]),'MailAccountId':Number(_0x1a31ea[_0x7a87('0x65')]['id'])});}return _0x3899ba;});}})['then'](respondWithResult(_0x1a9bc2,null))[_0x7a87('0x1a')](handleError(_0x1a9bc2,null));};exports[_0x7a87('0xbf')]=function(_0x2273df,_0x5324cb){return db['MailAccount']['find']({'where':{'id':_0x2273df['params']['id']}})['then'](handleEntityNotFound(_0x5324cb,null))['then'](function(_0x2405fe){if(_0x2405fe){return _0x2405fe[_0x7a87('0xbf')](_0x2273df[_0x7a87('0x49')][_0x7a87('0x86')])['then'](function(){if(_[_0x7a87('0xc0')](_0x2273df[_0x7a87('0x49')]['ids'])){for(var _0x25e45f=0x0;_0x25e45f<_0x2273df[_0x7a87('0x49')][_0x7a87('0x86')][_0x7a87('0x60')];_0x25e45f+=0x1){socket['emit'](_0x7a87('0xc1'),{'UserId':Number(_0x2273df[_0x7a87('0x49')]['ids'][_0x25e45f]),'MailAccountId':Number(_0x2273df[_0x7a87('0x65')]['id'])});}}else{socket[_0x7a87('0xc2')](_0x7a87('0xc1'),{'UserId':Number(_0x2273df[_0x7a87('0x49')][_0x7a87('0x86')]),'MailAccountId':Number(_0x2273df[_0x7a87('0x65')]['id'])});}});}})[_0x7a87('0x11')](respondWithStatusCode(_0x5324cb,null))[_0x7a87('0x1a')](handleError(_0x5324cb,null));};exports[_0x7a87('0xc3')]=function(_0x301014,_0x2535f8){var _0x2824b0={};var _0x1c298d={};var _0xd8e68f;var _0x352c80;return db[_0x7a87('0x47')][_0x7a87('0x6c')]({'where':{'id':_0x301014[_0x7a87('0x65')]['id']}})[_0x7a87('0x11')](handleEntityNotFound(_0x2535f8,null))[_0x7a87('0x11')](function(_0x47c190){if(_0x47c190){_0xd8e68f=_0x47c190;_0x1c298d['model']=_['keys'](db['User']['rawAttributes']);_0x1c298d[_0x7a87('0x49')]=_[_0x7a87('0x4a')](_0x301014[_0x7a87('0x49')]);_0x1c298d[_0x7a87('0x54')]=_[_0x7a87('0x4b')](_0x1c298d[_0x7a87('0x4d')],_0x1c298d['query']);_0x2824b0[_0x7a87('0x4c')]=_[_0x7a87('0x4b')](_0x1c298d['model'],qs['fields'](_0x301014['query'][_0x7a87('0x4e')]));_0x2824b0[_0x7a87('0x4c')]=_0x2824b0[_0x7a87('0x4c')][_0x7a87('0x60')]?_0x2824b0[_0x7a87('0x4c')]:_0x1c298d['model'];_0x2824b0[_0x7a87('0x6d')]=qs['sort'](_0x301014[_0x7a87('0x49')][_0x7a87('0x52')]);_0x2824b0[_0x7a87('0x56')]=qs[_0x7a87('0x54')](_['pick'](_0x301014[_0x7a87('0x49')],_0x1c298d[_0x7a87('0x54')]));if(_0x301014['query']['filter']){_0x2824b0[_0x7a87('0x56')]=_[_0x7a87('0x58')](_0x2824b0[_0x7a87('0x56')],{'$or':_[_0x7a87('0x48')](_0x2824b0[_0x7a87('0x4c')],function(_0x2bf4fe){var _0x4f5ed8={};_0x4f5ed8[_0x2bf4fe]={'$like':'%'+_0x301014['query'][_0x7a87('0x55')]+'%'};return _0x4f5ed8;})});}_0x2824b0=_[_0x7a87('0x58')]({},_0x2824b0,_0x301014[_0x7a87('0x59')]);return _0xd8e68f[_0x7a87('0xc3')](_0x2824b0);}})[_0x7a87('0x11')](function(_0x3ced3c){if(_0x3ced3c){_0x352c80=_0x3ced3c[_0x7a87('0x60')];if(!_0x301014['query'][_0x7a87('0x4f')](_0x7a87('0x50'))){_0x2824b0[_0x7a87('0x1f')]=qs[_0x7a87('0x1f')](_0x301014[_0x7a87('0x49')]['limit']);_0x2824b0[_0x7a87('0x51')]=qs[_0x7a87('0x51')](_0x301014[_0x7a87('0x49')]['offset']);}return _0xd8e68f[_0x7a87('0xc3')](_0x2824b0);}})[_0x7a87('0x11')](function(_0x13ffdf){if(_0x13ffdf){return _0x13ffdf?{'count':_0x352c80,'rows':_0x13ffdf}:null;}})[_0x7a87('0x11')](respondWithResult(_0x2535f8,null))[_0x7a87('0x1a')](handleError(_0x2535f8,null));};