aac5131e97044e299e1124a4f84a1a34c47f306a
[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 _0x1e28=['CloudProvider','Smtp\x20configuration\x20not\x20found','from','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','getSmtpOptions','SendMail','sendMail','List','messageId','subject','attach','out','Interaction','verifySmtp','VerifySmtp','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','removeAgents','userMailAccount:remove','getAgents','User','moment','bluebird','util','path','lodash','api','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./mailAccount.socket','register','jayson/promise','client','http','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','json','offset','undefined','limit','count','set','update','destroy','get','MailAccounts','UserProfileResource','name','send','gmail','imap.gmail.com','yahoo','imap.mail.yahoo.com','hotmail','imap-mail.outlook.com','outlook365','smtp.gmail.com','smtp.mail.yahoo.com','smtp-mail.outlook.com','smtp.office365.com','Unknown\x20email\x20service\x20provider','user','username','pass','password','modernAuthentication','CloudProviderId','host','port','service','authentication','Imap','Smtp','index','MailServerIn','MailServerOut','Pause','mandatoryDispositionPause','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','type','VIRTUAL','merge','options','MailAccount','includeAll','include','findAll','rows','show','body','provider','custom','secure','find','Mail\x20Account\x20not\x20found','describe','addDisposition','params','MailAccountId','getDispositions','Disposition','removeDispositions','create','getAnswers','findOne','CannedAnswer','removeAnswers','email','ListId','isNil','active','description','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addImap','setImap','removeSmtp','setSmtp','addInteraction','ids','omit','getInteractions','MailInteraction','CmContact','Owner','fullname','internal','Tag','Tags','color','tag','addApplications','sequelize','transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','priority','stack','finally','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','true','CmList','Contacts','updatedAt','DESC'];(function(_0x5df7f5,_0x14a312){var _0x245076=function(_0x48b982){while(--_0x48b982){_0x5df7f5['push'](_0x5df7f5['shift']());}};_0x245076(++_0x14a312);}(_0x1e28,0xe3));var _0x81e2=function(_0x237da8,_0x37b77a){_0x237da8=_0x237da8-0x0;var _0x558825=_0x1e28[_0x237da8];return _0x558825;};'use strict';var moment=require(_0x81e2('0x0'));var BPromise=require(_0x81e2('0x1'));var util=require(_0x81e2('0x2'));var path=require(_0x81e2('0x3'));var _=require(_0x81e2('0x4'));var juice=require('juice');var Redis=require('ioredis');var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')(_0x81e2('0x5'));var config=require(_0x81e2('0x6'));var db=require(_0x81e2('0x7'))['db'];config[_0x81e2('0x8')]=_[_0x81e2('0x9')](config[_0x81e2('0x8')],{'host':'localhost','port':0x18eb});var socket=require(_0x81e2('0xa'))(new Redis(config[_0x81e2('0x8')]));require(_0x81e2('0xb'))[_0x81e2('0xc')](socket);var jayson=require(_0x81e2('0xd'));var client=jayson[_0x81e2('0xe')][_0x81e2('0xf')]({'port':0x232b});function respondWithRpcPromise(_0x431fdb,_0x25f357,_0x565273,_0x5a5007){return new BPromise(function(_0x230a86,_0x4903fa){var _0x58b86a=_0x5a5007||client;return _0x58b86a['request'](_0x431fdb,_0x565273)[_0x81e2('0x10')](function(_0x4b1bf1){logger[_0x81e2('0x11')](_0x81e2('0x12'),_0x25f357,_0x81e2('0x13'));logger[_0x81e2('0x14')](_0x81e2('0x15'),_0x25f357,_0x81e2('0x13'),JSON[_0x81e2('0x16')](_0x4b1bf1));if(_0x4b1bf1['error']){if(_0x4b1bf1[_0x81e2('0x17')][_0x81e2('0x18')]===0x1f4){logger[_0x81e2('0x17')](_0x81e2('0x12'),_0x25f357,_0x4b1bf1[_0x81e2('0x17')][_0x81e2('0x19')]);return _0x4903fa(_0x4b1bf1[_0x81e2('0x17')][_0x81e2('0x19')]);}logger[_0x81e2('0x17')]('MailAccount,\x20%s,\x20%s',_0x25f357,_0x4b1bf1[_0x81e2('0x17')][_0x81e2('0x19')]);return _0x230a86(_0x4b1bf1[_0x81e2('0x17')][_0x81e2('0x19')]);}else{logger[_0x81e2('0x11')](_0x81e2('0x12'),_0x25f357,_0x81e2('0x13'));_0x230a86(_0x4b1bf1[_0x81e2('0x1a')][_0x81e2('0x19')]);}})[_0x81e2('0x1b')](function(_0x1f1bd7){logger[_0x81e2('0x17')](_0x81e2('0x12'),_0x25f357,_0x1f1bd7);_0x4903fa(_0x1f1bd7);});});}function respondWithStatusCode(_0x3a05f0,_0x8451a){_0x8451a=_0x8451a||0xcc;return function(_0x56d7a3){if(_0x56d7a3){return _0x3a05f0[_0x81e2('0x1c')](_0x8451a);}return _0x3a05f0[_0x81e2('0x1d')](_0x8451a)['end']();};}function respondWithResult(_0x59b44c,_0x1c2eff){_0x1c2eff=_0x1c2eff||0xc8;return function(_0x459378){if(_0x459378){return _0x59b44c[_0x81e2('0x1d')](_0x1c2eff)[_0x81e2('0x1e')](_0x459378);}};}function respondWithFilteredResult(_0x22cb05,_0x48cb9e){return function(_0x401156){if(_0x401156){var _0x34128f=typeof _0x48cb9e[_0x81e2('0x1f')]===_0x81e2('0x20')&&typeof _0x48cb9e[_0x81e2('0x21')]===_0x81e2('0x20');var _0x707372=_0x401156[_0x81e2('0x22')];var _0xa3e7db=_0x34128f?0x0:_0x48cb9e[_0x81e2('0x1f')];var _0x2b756f=_0x34128f?_0x401156['count']:_0x48cb9e[_0x81e2('0x1f')]+_0x48cb9e[_0x81e2('0x21')];var _0x2bf900;if(_0x2b756f>=_0x707372){_0x2b756f=_0x707372;_0x2bf900=0xc8;}else{_0x2bf900=0xce;}_0x22cb05['status'](_0x2bf900);return _0x22cb05[_0x81e2('0x23')]('Content-Range',_0xa3e7db+'-'+_0x2b756f+'/'+_0x707372)['json'](_0x401156);}return null;};}function saveUpdates(_0x5d2a8a){return function(_0x4b9fc8){if(_0x4b9fc8){return _0x4b9fc8[_0x81e2('0x24')](_0x5d2a8a)[_0x81e2('0x10')](function(_0x516f31){return _0x516f31;});}return null;};}function removeEntity(_0x1ef0b6){return function(_0x1f7a15){if(_0x1f7a15){return _0x1f7a15[_0x81e2('0x25')]()[_0x81e2('0x10')](function(){var _0x106b87=_0x1f7a15[_0x81e2('0x26')]({'plain':!![]});var _0x39ae35=_0x81e2('0x27');return db[_0x81e2('0x28')]['destroy']({'where':{'type':_0x39ae35,'resourceId':_0x106b87['id']}})[_0x81e2('0x10')](function(){return _0x1f7a15;});})[_0x81e2('0x10')](function(){_0x1ef0b6[_0x81e2('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x43c601){return function(_0x2afe39){if(!_0x2afe39){_0x43c601[_0x81e2('0x1c')](0x194);}return _0x2afe39;};}function handleError(_0x754e33,_0x4445bc){_0x4445bc=_0x4445bc||0x1f4;return function(_0x53cea1){logger[_0x81e2('0x17')](_0x53cea1['stack']);if(_0x53cea1['name']){delete _0x53cea1[_0x81e2('0x29')];}_0x754e33[_0x81e2('0x1d')](_0x4445bc)[_0x81e2('0x2a')](_0x53cea1);};}function getImapHost(_0x7f398e){switch(_0x7f398e){case _0x81e2('0x2b'):return _0x81e2('0x2c');case _0x81e2('0x2d'):return _0x81e2('0x2e');case _0x81e2('0x2f'):return _0x81e2('0x30');case _0x81e2('0x31'):return'outlook.office365.com';}throw new Error('Unknown\x20email\x20service\x20provider',_0x7f398e);}function getSmtpHost(_0x403965){switch(_0x403965){case _0x81e2('0x2b'):return _0x81e2('0x32');case'yahoo':return _0x81e2('0x33');case _0x81e2('0x2f'):return _0x81e2('0x34');case _0x81e2('0x31'):return _0x81e2('0x35');}throw new Error(_0x81e2('0x36'),_0x403965);}function getAuthenticationOptions(_0x54f6fa,_0x5cd262){var _0x4c508d={};var _0x4d8091={};if(_0x54f6fa){_0x4c508d[_0x81e2('0x37')]=_0x4d8091[_0x81e2('0x37')]=_0x5cd262[_0x81e2('0x38')];_0x4c508d['password']=_0x4d8091[_0x81e2('0x39')]=_0x5cd262[_0x81e2('0x3a')];if(_0x5cd262[_0x81e2('0x3b')]){_0x4c508d[_0x81e2('0x3b')]=_0x4d8091[_0x81e2('0x3b')]=!![];_0x4c508d[_0x81e2('0x3c')]=_0x4d8091[_0x81e2('0x3c')]=_0x5cd262['CloudProviderId'];_0x4c508d[_0x81e2('0x3a')]=_0x4d8091['pass']=null;}else{_0x4c508d[_0x81e2('0x3c')]=_0x4d8091['CloudProviderId']=null;}_0x4c508d[_0x81e2('0x3d')]=getImapHost(_0x54f6fa);_0x4c508d[_0x81e2('0x3e')]=0x3e1;_0x4d8091[_0x81e2('0x3d')]=getSmtpHost(_0x54f6fa);_0x4d8091[_0x81e2('0x3e')]=0x24b;_0x4d8091['secure']=![];_0x4c508d[_0x81e2('0x3f')]=_0x4d8091[_0x81e2('0x3f')]=null;}else{if(_0x5cd262['authentication']){_0x4c508d[_0x81e2('0x37')]=_0x4d8091[_0x81e2('0x37')]=_0x5cd262[_0x81e2('0x38')];_0x4c508d['password']=_0x4d8091[_0x81e2('0x39')]=_0x5cd262['password'];}else{_0x4c508d[_0x81e2('0x40')]=_0x4d8091[_0x81e2('0x40')]=![];_0x4c508d['user']=_0x4d8091[_0x81e2('0x37')]=null;_0x4c508d[_0x81e2('0x3a')]=_0x4d8091[_0x81e2('0x39')]=null;}_0x4c508d[_0x81e2('0x3d')]=_0x5cd262[_0x81e2('0x41')][_0x81e2('0x3d')];_0x4c508d[_0x81e2('0x3e')]=_0x5cd262[_0x81e2('0x41')][_0x81e2('0x3e')];_0x4d8091[_0x81e2('0x3d')]=_0x5cd262[_0x81e2('0x42')]['host'];_0x4d8091[_0x81e2('0x3e')]=_0x5cd262[_0x81e2('0x42')][_0x81e2('0x3e')];}return{'Imap':_0x4c508d,'Smtp':_0x4d8091};}exports[_0x81e2('0x43')]=function(_0x6575df,_0x36f9ce){var _0x1bae68={'include':[{'model':db[_0x81e2('0x44')],'as':_0x81e2('0x41')},{'model':db[_0x81e2('0x45')],'as':_0x81e2('0x42')},{'model':db[_0x81e2('0x46')],'as':_0x81e2('0x47')}]},_0x165681={},_0x5e980f={'count':0x0,'rows':[]};var _0xb3ed27=_[_0x81e2('0x48')](db['MailAccount'][_0x81e2('0x49')],function(_0x339b11){return{'name':_0x339b11[_0x81e2('0x4a')],'type':_0x339b11['type'][_0x81e2('0x4b')]};});_0x165681[_0x81e2('0x4c')]=_[_0x81e2('0x48')](_0xb3ed27,_0x81e2('0x29'));_0x165681[_0x81e2('0x4d')]=_[_0x81e2('0x4e')](_0x6575df[_0x81e2('0x4d')]);_0x165681[_0x81e2('0x4f')]=_['intersection'](_0x165681[_0x81e2('0x4c')],_0x165681[_0x81e2('0x4d')]);_0x1bae68['attributes']=_[_0x81e2('0x50')](_0x165681[_0x81e2('0x4c')],qs[_0x81e2('0x51')](_0x6575df[_0x81e2('0x4d')][_0x81e2('0x51')]));_0x1bae68[_0x81e2('0x52')]=_0x1bae68['attributes'][_0x81e2('0x53')]?_0x1bae68['attributes']:_0x165681[_0x81e2('0x4c')];if(!_0x6575df[_0x81e2('0x4d')][_0x81e2('0x54')](_0x81e2('0x55'))){_0x1bae68[_0x81e2('0x21')]=qs[_0x81e2('0x21')](_0x6575df['query']['limit']);_0x1bae68[_0x81e2('0x1f')]=qs['offset'](_0x6575df['query'][_0x81e2('0x1f')]);}_0x1bae68[_0x81e2('0x56')]=qs[_0x81e2('0x57')](_0x6575df[_0x81e2('0x4d')][_0x81e2('0x57')]);_0x1bae68[_0x81e2('0x58')]=qs[_0x81e2('0x4f')](_[_0x81e2('0x59')](_0x6575df[_0x81e2('0x4d')],_0x165681[_0x81e2('0x4f')]),_0xb3ed27);if(_0x6575df[_0x81e2('0x4d')][_0x81e2('0x5a')]){_0x1bae68[_0x81e2('0x58')]=_['merge'](_0x1bae68[_0x81e2('0x58')],{'$or':_[_0x81e2('0x48')](_0xb3ed27,function(_0x92cb07){if(_0x92cb07[_0x81e2('0x5b')]!==_0x81e2('0x5c')){var _0x4dff94={};_0x4dff94[_0x92cb07[_0x81e2('0x29')]]={'$like':'%'+_0x6575df[_0x81e2('0x4d')]['filter']+'%'};return _0x4dff94;}})});}_0x1bae68=_[_0x81e2('0x5d')]({},_0x1bae68,_0x6575df[_0x81e2('0x5e')]);var _0x30e0a0={'where':_0x1bae68[_0x81e2('0x58')]};return db[_0x81e2('0x5f')]['count'](_0x30e0a0)[_0x81e2('0x10')](function(_0x4f6fec){_0x5e980f['count']=_0x4f6fec;if(_0x6575df['query'][_0x81e2('0x60')]){_0x1bae68[_0x81e2('0x61')]=[{'all':!![]}];}return db[_0x81e2('0x5f')][_0x81e2('0x62')](_0x1bae68);})[_0x81e2('0x10')](function(_0x531d15){_0x5e980f[_0x81e2('0x63')]=_0x531d15;return _0x5e980f;})['then'](respondWithFilteredResult(_0x36f9ce,_0x1bae68))[_0x81e2('0x1b')](handleError(_0x36f9ce,null));};exports[_0x81e2('0x64')]=function(_0x3c6e0a,_0x23cea6){var _0x42a1b4={'raw':![],'where':{'id':_0x3c6e0a['params']['id']},'include':[{'model':db[_0x81e2('0x44')],'as':_0x81e2('0x41')},{'model':db['MailServerOut'],'as':_0x81e2('0x42')},{'model':db[_0x81e2('0x46')],'as':_0x81e2('0x47')}]},_0x12cc7e={};_0x12cc7e[_0x81e2('0x4c')]=_[_0x81e2('0x4e')](db[_0x81e2('0x5f')][_0x81e2('0x49')]);_0x12cc7e[_0x81e2('0x4d')]=_['keys'](_0x3c6e0a[_0x81e2('0x4d')]);_0x12cc7e['filters']=_[_0x81e2('0x50')](_0x12cc7e[_0x81e2('0x4c')],_0x12cc7e[_0x81e2('0x4d')]);_0x42a1b4['attributes']=_[_0x81e2('0x50')](_0x12cc7e[_0x81e2('0x4c')],qs[_0x81e2('0x51')](_0x3c6e0a[_0x81e2('0x4d')][_0x81e2('0x51')]));_0x42a1b4[_0x81e2('0x52')]=_0x42a1b4[_0x81e2('0x52')][_0x81e2('0x53')]?_0x42a1b4[_0x81e2('0x52')]:_0x12cc7e[_0x81e2('0x4c')];if(_0x3c6e0a[_0x81e2('0x4d')][_0x81e2('0x60')]){_0x42a1b4[_0x81e2('0x61')]=[{'all':!![]}];}_0x42a1b4=_[_0x81e2('0x5d')]({},_0x42a1b4,_0x3c6e0a[_0x81e2('0x5e')]);return db[_0x81e2('0x5f')]['find'](_0x42a1b4)['then'](handleEntityNotFound(_0x23cea6,null))[_0x81e2('0x10')](respondWithResult(_0x23cea6,null))[_0x81e2('0x1b')](handleError(_0x23cea6,null));};exports[_0x81e2('0x24')]=function(_0xbb54a5,_0x491c3d){if(_0xbb54a5[_0x81e2('0x65')]['id']){delete _0xbb54a5[_0x81e2('0x65')]['id'];}var _0x5c1b12=_0xbb54a5[_0x81e2('0x65')][_0x81e2('0x66')]===_0x81e2('0x67')?null:_0xbb54a5['body']['provider'];var _0x81414b=_0xbb54a5[_0x81e2('0x65')][_0x81e2('0x41')]||{};var _0x2dde2a=_0xbb54a5['body'][_0x81e2('0x42')]||{};if(_0x5c1b12){_0x81414b[_0x81e2('0x3d')]=getImapHost(_0x5c1b12);_0x81414b[_0x81e2('0x3e')]=0x3e1;_0x2dde2a[_0x81e2('0x3d')]=getSmtpHost(_0x5c1b12);_0x2dde2a[_0x81e2('0x3e')]=0x24b;_0x2dde2a[_0x81e2('0x68')]=![];}if(_0x2dde2a[_0x81e2('0x3b')]){_0x2dde2a[_0x81e2('0x68')]=![];}else{_0x2dde2a['CloudProviderId']=null;}if(!_0x81414b[_0x81e2('0x3b')])_0x81414b[_0x81e2('0x3c')]=null;_0xbb54a5[_0x81e2('0x65')][_0x81e2('0x41')]=_0x81414b;_0xbb54a5[_0x81e2('0x65')]['Smtp']=_0x2dde2a;return db[_0x81e2('0x5f')][_0x81e2('0x69')]({'where':{'id':_0xbb54a5['params']['id']},'include':[{'model':db[_0x81e2('0x44')],'as':_0x81e2('0x41')},{'model':db[_0x81e2('0x45')],'as':_0x81e2('0x42')},{'model':db[_0x81e2('0x46')],'as':'mandatoryDispositionPause'}]})['then'](handleEntityNotFound(_0x491c3d,null))['then'](function(_0x1cb80b){if(!_0x1cb80b)throw new Error(_0x81e2('0x6a'));if(_0x1cb80b['service'])delete _0xbb54a5[_0x81e2('0x65')][_0x81e2('0x41')];return _0x1cb80b;})['then'](saveUpdates(_0xbb54a5[_0x81e2('0x65')],null))[_0x81e2('0x10')](function(_0x1c23c0){if(!_0xbb54a5[_0x81e2('0x65')][_0x81e2('0x41')])return _0x1c23c0;return db[_0x81e2('0x44')]['update'](_0xbb54a5['body'][_0x81e2('0x41')],{'where':{'MailAccountId':_0x1c23c0['id']}})[_0x81e2('0x10')](function(){return _0x1c23c0;});})[_0x81e2('0x10')](function(_0x2834da){if(!_0xbb54a5[_0x81e2('0x65')]['Smtp'])return _0x2834da;return db[_0x81e2('0x45')][_0x81e2('0x24')](_0xbb54a5[_0x81e2('0x65')][_0x81e2('0x42')],{'where':{'MailAccountId':_0x2834da['id']}})[_0x81e2('0x10')](function(){return _0x2834da;});})[_0x81e2('0x10')](respondWithResult(_0x491c3d,null))[_0x81e2('0x1b')](handleError(_0x491c3d,null));};exports['describe']=function(_0x236e28,_0x1f8cb6){return db[_0x81e2('0x5f')][_0x81e2('0x6b')]()[_0x81e2('0x10')](respondWithResult(_0x1f8cb6,null))['catch'](handleError(_0x1f8cb6,null));};exports[_0x81e2('0x6c')]=function(_0x4772d7,_0x219b2e){if(_0x4772d7[_0x81e2('0x65')]['id']){delete _0x4772d7[_0x81e2('0x65')]['id'];}return db[_0x81e2('0x5f')][_0x81e2('0x69')]({'where':{'id':_0x4772d7[_0x81e2('0x6d')]['id']}})['then'](handleEntityNotFound(_0x219b2e,null))[_0x81e2('0x10')](function(_0x22c531){if(_0x22c531){_0x4772d7[_0x81e2('0x65')][_0x81e2('0x6e')]=_0x22c531['id'];return db['Disposition']['create'](_0x4772d7[_0x81e2('0x65')]);}})[_0x81e2('0x10')](respondWithResult(_0x219b2e,null))['catch'](handleError(_0x219b2e,null));};exports[_0x81e2('0x6f')]=function(_0x271fec,_0x20b3f5){var _0x5197d4={'raw':![],'where':{}};var _0x8e264a={};var _0x15b3f6={'count':0x0,'rows':[]};return db['MailAccount']['findOne']({'where':{'id':_0x271fec[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0x20b3f5,null))[_0x81e2('0x10')](function(_0x19680b){if(_0x19680b){_0x8e264a[_0x81e2('0x4c')]=_['keys'](db['Disposition'][_0x81e2('0x49')]);_0x8e264a['query']=_['keys'](_0x271fec[_0x81e2('0x4d')]);_0x8e264a[_0x81e2('0x4f')]=_['intersection'](_0x8e264a['model'],_0x8e264a[_0x81e2('0x4d')]);_0x5197d4[_0x81e2('0x52')]=_[_0x81e2('0x50')](_0x8e264a[_0x81e2('0x4c')],qs[_0x81e2('0x51')](_0x271fec['query'][_0x81e2('0x51')]));_0x5197d4[_0x81e2('0x52')]=_0x5197d4['attributes'][_0x81e2('0x53')]?_0x5197d4[_0x81e2('0x52')]:_0x8e264a['model'];if(!_0x271fec['query'][_0x81e2('0x54')](_0x81e2('0x55'))){_0x5197d4[_0x81e2('0x21')]=qs[_0x81e2('0x21')](_0x271fec[_0x81e2('0x4d')][_0x81e2('0x21')]);_0x5197d4[_0x81e2('0x1f')]=qs[_0x81e2('0x1f')](_0x271fec[_0x81e2('0x4d')][_0x81e2('0x1f')]);}_0x5197d4[_0x81e2('0x56')]=qs[_0x81e2('0x57')](_0x271fec[_0x81e2('0x4d')][_0x81e2('0x57')]);_0x5197d4['where']=qs[_0x81e2('0x4f')](_[_0x81e2('0x59')](_0x271fec[_0x81e2('0x4d')],_0x8e264a[_0x81e2('0x4f')]));_0x5197d4[_0x81e2('0x58')]['MailAccountId']=_0x19680b['id'];if(_0x271fec[_0x81e2('0x4d')]['filter']){_0x5197d4['where']=_['merge'](_0x5197d4[_0x81e2('0x58')],{'$or':_[_0x81e2('0x48')](_0x5197d4[_0x81e2('0x52')],function(_0x366ade){var _0x48c753={};_0x48c753[_0x366ade]={'$like':'%'+_0x271fec[_0x81e2('0x4d')]['filter']+'%'};return _0x48c753;})});}_0x5197d4=_['merge']({},_0x5197d4,_0x271fec['options']);return db[_0x81e2('0x70')][_0x81e2('0x22')]({'where':_0x5197d4['where']})[_0x81e2('0x10')](function(_0x53672d){_0x15b3f6[_0x81e2('0x22')]=_0x53672d;if(_0x271fec['query'][_0x81e2('0x60')]){_0x5197d4[_0x81e2('0x61')]=[{'all':!![]}];}return db[_0x81e2('0x70')]['findAll'](_0x5197d4);})[_0x81e2('0x10')](function(_0x17f9a5){_0x15b3f6[_0x81e2('0x63')]=_0x17f9a5;return _0x15b3f6;});}})[_0x81e2('0x10')](respondWithFilteredResult(_0x20b3f5,_0x5197d4))[_0x81e2('0x1b')](handleError(_0x20b3f5,null));};exports[_0x81e2('0x71')]=function(_0x3837e8,_0x1e0009){return db['MailAccount'][_0x81e2('0x69')]({'where':{'id':_0x3837e8[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0x1e0009,null))[_0x81e2('0x10')](function(_0x45a2bd){if(_0x45a2bd){return _0x45a2bd[_0x81e2('0x71')](_0x3837e8[_0x81e2('0x4d')]['ids']);}})[_0x81e2('0x10')](respondWithStatusCode(_0x1e0009,null))['catch'](handleError(_0x1e0009,null));};exports['addAnswer']=function(_0x39fed6,_0x1571fe){if(_0x39fed6[_0x81e2('0x65')]['id']){delete _0x39fed6[_0x81e2('0x65')]['id'];}return db[_0x81e2('0x5f')][_0x81e2('0x69')]({'where':{'id':_0x39fed6[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0x1571fe,null))[_0x81e2('0x10')](function(_0x32e0f7){if(_0x32e0f7){_0x39fed6[_0x81e2('0x65')]['MailAccountId']=_0x32e0f7['id'];return db['CannedAnswer'][_0x81e2('0x72')](_0x39fed6[_0x81e2('0x65')]);}})[_0x81e2('0x10')](respondWithResult(_0x1571fe,null))[_0x81e2('0x1b')](handleError(_0x1571fe,null));};exports[_0x81e2('0x73')]=function(_0x29f27d,_0x5e99c2){var _0xd9191b={'raw':![],'where':{}};var _0x171605={};var _0x57d1f4={'count':0x0,'rows':[]};return db[_0x81e2('0x5f')][_0x81e2('0x74')]({'where':{'id':_0x29f27d[_0x81e2('0x6d')]['id']}})['then'](handleEntityNotFound(_0x5e99c2,null))[_0x81e2('0x10')](function(_0x50060c){if(_0x50060c){_0x171605['model']=_[_0x81e2('0x4e')](db['CannedAnswer'][_0x81e2('0x49')]);_0x171605[_0x81e2('0x4d')]=_['keys'](_0x29f27d[_0x81e2('0x4d')]);_0x171605[_0x81e2('0x4f')]=_[_0x81e2('0x50')](_0x171605['model'],_0x171605[_0x81e2('0x4d')]);_0xd9191b[_0x81e2('0x52')]=_['intersection'](_0x171605[_0x81e2('0x4c')],qs[_0x81e2('0x51')](_0x29f27d['query'][_0x81e2('0x51')]));_0xd9191b[_0x81e2('0x52')]=_0xd9191b[_0x81e2('0x52')][_0x81e2('0x53')]?_0xd9191b[_0x81e2('0x52')]:_0x171605[_0x81e2('0x4c')];if(!_0x29f27d[_0x81e2('0x4d')][_0x81e2('0x54')](_0x81e2('0x55'))){_0xd9191b['limit']=qs['limit'](_0x29f27d[_0x81e2('0x4d')][_0x81e2('0x21')]);_0xd9191b[_0x81e2('0x1f')]=qs[_0x81e2('0x1f')](_0x29f27d[_0x81e2('0x4d')]['offset']);}_0xd9191b['order']=qs[_0x81e2('0x57')](_0x29f27d[_0x81e2('0x4d')][_0x81e2('0x57')]);_0xd9191b[_0x81e2('0x58')]=qs[_0x81e2('0x4f')](_[_0x81e2('0x59')](_0x29f27d[_0x81e2('0x4d')],_0x171605[_0x81e2('0x4f')]));_0xd9191b[_0x81e2('0x58')]['MailAccountId']=_0x50060c['id'];if(_0x29f27d[_0x81e2('0x4d')][_0x81e2('0x5a')]){_0xd9191b[_0x81e2('0x58')]=_[_0x81e2('0x5d')](_0xd9191b[_0x81e2('0x58')],{'$or':_[_0x81e2('0x48')](_0xd9191b['attributes'],function(_0x52052e){var _0x4115bf={};_0x4115bf[_0x52052e]={'$like':'%'+_0x29f27d[_0x81e2('0x4d')][_0x81e2('0x5a')]+'%'};return _0x4115bf;})});}_0xd9191b=_[_0x81e2('0x5d')]({},_0xd9191b,_0x29f27d[_0x81e2('0x5e')]);return db[_0x81e2('0x75')][_0x81e2('0x22')]({'where':_0xd9191b[_0x81e2('0x58')]})[_0x81e2('0x10')](function(_0x7bd1ea){_0x57d1f4['count']=_0x7bd1ea;if(_0x29f27d[_0x81e2('0x4d')]['includeAll']){_0xd9191b[_0x81e2('0x61')]=[{'all':!![]}];}return db['CannedAnswer'][_0x81e2('0x62')](_0xd9191b);})[_0x81e2('0x10')](function(_0x15a63d){_0x57d1f4[_0x81e2('0x63')]=_0x15a63d;return _0x57d1f4;});}})['then'](respondWithFilteredResult(_0x5e99c2,_0xd9191b))['catch'](handleError(_0x5e99c2,null));};exports[_0x81e2('0x76')]=function(_0x333cd6,_0x1b1fdc){return db['MailAccount'][_0x81e2('0x69')]({'where':{'id':_0x333cd6[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0x1b1fdc,null))[_0x81e2('0x10')](function(_0x42c8af){if(_0x42c8af){return _0x42c8af['removeAnswers'](_0x333cd6[_0x81e2('0x4d')]['ids']);}})[_0x81e2('0x10')](respondWithStatusCode(_0x1b1fdc,null))[_0x81e2('0x1b')](handleError(_0x1b1fdc,null));};exports['create']=function(_0x2fe1c7,_0x1cf630){var _0x4e9d34={'name':_0x2fe1c7[_0x81e2('0x65')][_0x81e2('0x29')],'key':_0x2fe1c7['body'][_0x81e2('0x4b')],'provider':_0x2fe1c7[_0x81e2('0x65')][_0x81e2('0x66')]==='custom'?null:_0x2fe1c7['body'][_0x81e2('0x66')],'email':_0x2fe1c7[_0x81e2('0x65')][_0x81e2('0x77')],'ListId':_0x2fe1c7[_0x81e2('0x65')][_0x81e2('0x78')],'active':!_[_0x81e2('0x79')](_0x2fe1c7[_0x81e2('0x65')]['active'])?_0x2fe1c7[_0x81e2('0x65')][_0x81e2('0x7a')]:!![],'description':_0x2fe1c7[_0x81e2('0x65')][_0x81e2('0x7b')]||null};var _0x3e00c4=getAuthenticationOptions(_0x4e9d34[_0x81e2('0x66')],_0x2fe1c7[_0x81e2('0x65')]);_0x4e9d34['Imap']=_0x3e00c4[_0x81e2('0x41')];_0x4e9d34[_0x81e2('0x42')]=_0x3e00c4[_0x81e2('0x42')];return db['MailAccount'][_0x81e2('0x72')](_0x4e9d34,{'include':[{'model':db[_0x81e2('0x45')],'as':_0x81e2('0x42')},{'model':db[_0x81e2('0x44')],'as':_0x81e2('0x41')}]})['then'](function(_0x930311){var _0x384215=_0x2fe1c7[_0x81e2('0x37')][_0x81e2('0x26')]({'plain':!![]});if(!_0x384215)throw new Error(_0x81e2('0x7c'));if(_0x384215[_0x81e2('0x7d')]===_0x81e2('0x37')){var _0x3efed3=_0x930311['get']({'plain':!![]});return db[_0x81e2('0x7e')][_0x81e2('0x69')]({'where':{'name':_0x81e2('0x27'),'userProfileId':_0x384215[_0x81e2('0x7f')]},'raw':!![]})[_0x81e2('0x10')](function(_0x5a7c3b){if(_0x5a7c3b&&_0x5a7c3b[_0x81e2('0x80')]===0x0){return db[_0x81e2('0x28')]['create']({'name':_0x3efed3[_0x81e2('0x29')],'resourceId':_0x3efed3['id'],'type':_0x5a7c3b[_0x81e2('0x29')],'sectionId':_0x5a7c3b['id']},{})[_0x81e2('0x10')](function(){return _0x930311;});}else{return _0x930311;}})[_0x81e2('0x1b')](function(_0x5a7df6){logger[_0x81e2('0x17')](_0x81e2('0x81'),_0x5a7df6);throw _0x5a7df6;});}return _0x930311;})[_0x81e2('0x10')](respondWithResult(_0x1cf630,0xc9))[_0x81e2('0x1b')](handleError(_0x1cf630,null));};exports['getImap']=function(_0x233fe6,_0x53e530){return db[_0x81e2('0x5f')][_0x81e2('0x74')]({'where':{'id':_0x233fe6[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0x53e530,null))['then'](function(_0x22edee){if(_0x22edee){return _0x22edee['getImap']();}return null;})['then'](respondWithResult(_0x53e530,null))[_0x81e2('0x1b')](handleError(_0x53e530,null));};exports[_0x81e2('0x82')]=function(_0x40adab,_0x3ef986){if(_0x40adab[_0x81e2('0x65')]['id']){delete _0x40adab[_0x81e2('0x65')]['id'];}return db['MailAccount'][_0x81e2('0x69')]({'where':{'id':_0x40adab[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0x3ef986,null))[_0x81e2('0x10')](function(_0x1887b0){if(_0x1887b0){_0x40adab[_0x81e2('0x65')][_0x81e2('0x6e')]=_0x1887b0['id'];return db[_0x81e2('0x44')]['create'](_0x40adab[_0x81e2('0x65')]);}})[_0x81e2('0x10')](respondWithResult(_0x3ef986,null))[_0x81e2('0x1b')](handleError(_0x3ef986,null));};exports['removeImap']=function(_0x3f7f67,_0x55738f){return db[_0x81e2('0x5f')]['findOne']({'where':{'id':_0x3f7f67[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0x55738f,null))[_0x81e2('0x10')](function(_0x5bdc42){if(_0x5bdc42){return _0x5bdc42[_0x81e2('0x83')](null);}return null;})[_0x81e2('0x10')](respondWithStatusCode(_0x55738f,null))[_0x81e2('0x1b')](handleError(_0x55738f,null));};exports['getSmtp']=function(_0x2cd808,_0x79573d){return db[_0x81e2('0x5f')][_0x81e2('0x74')]({'where':{'id':_0x2cd808[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0x79573d,null))[_0x81e2('0x10')](function(_0x373b8){if(_0x373b8){return _0x373b8['getSmtp']();}return null;})[_0x81e2('0x10')](respondWithResult(_0x79573d,null))[_0x81e2('0x1b')](handleError(_0x79573d,null));};exports['addSmtp']=function(_0x40c831,_0x367743){if(_0x40c831['body']['id']){delete _0x40c831[_0x81e2('0x65')]['id'];}return db[_0x81e2('0x5f')][_0x81e2('0x69')]({'where':{'id':_0x40c831[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0x367743,null))[_0x81e2('0x10')](function(_0x18f1b3){if(_0x18f1b3){_0x40c831[_0x81e2('0x65')][_0x81e2('0x6e')]=_0x18f1b3['id'];return db[_0x81e2('0x45')]['create'](_0x40c831[_0x81e2('0x65')]);}})['then'](respondWithResult(_0x367743,null))[_0x81e2('0x1b')](handleError(_0x367743,null));};exports[_0x81e2('0x84')]=function(_0x1fdf69,_0x1cc97f){return db['MailAccount'][_0x81e2('0x74')]({'where':{'id':_0x1fdf69[_0x81e2('0x6d')]['id']}})['then'](handleEntityNotFound(_0x1cc97f,null))['then'](function(_0x2557fe){if(_0x2557fe){return _0x2557fe[_0x81e2('0x85')](null);}return null;})[_0x81e2('0x10')](respondWithStatusCode(_0x1cc97f,null))[_0x81e2('0x1b')](handleError(_0x1cc97f,null));};exports['addInteraction']=function(_0x2ccb0b,_0x478f26){return db['MailInteraction'][_0x81e2('0x69')]({'where':{'id':_0x2ccb0b[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0x478f26,null))[_0x81e2('0x10')](function(_0x1731b4){if(_0x1731b4){return _0x1731b4[_0x81e2('0x86')](_0x2ccb0b[_0x81e2('0x65')][_0x81e2('0x87')],_[_0x81e2('0x88')](_0x2ccb0b[_0x81e2('0x65')],[_0x81e2('0x87'),'id'])||{});}})['then'](respondWithResult(_0x478f26,null))[_0x81e2('0x1b')](handleError(_0x478f26,null));};exports[_0x81e2('0x89')]=function(_0x492fc8,_0x1ac167){var _0x4daffa={'raw':![],'where':{}};var _0x1c947b={};var _0x5cbbc9={'count':0x0,'rows':[]};return db[_0x81e2('0x5f')][_0x81e2('0x74')]({'where':{'id':_0x492fc8[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0x1ac167,null))[_0x81e2('0x10')](function(_0x343b1b){if(_0x343b1b){_0x1c947b[_0x81e2('0x4c')]=_[_0x81e2('0x4e')](db['MailInteraction'][_0x81e2('0x49')]);_0x1c947b[_0x81e2('0x4d')]=_[_0x81e2('0x4e')](_0x492fc8[_0x81e2('0x4d')]);_0x1c947b['filters']=_[_0x81e2('0x50')](_0x1c947b[_0x81e2('0x4c')],_0x1c947b['query']);_0x4daffa['attributes']=_[_0x81e2('0x50')](_0x1c947b[_0x81e2('0x4c')],qs[_0x81e2('0x51')](_0x492fc8[_0x81e2('0x4d')][_0x81e2('0x51')]));_0x4daffa[_0x81e2('0x52')]=_0x4daffa[_0x81e2('0x52')][_0x81e2('0x53')]?_0x4daffa['attributes']:_0x1c947b[_0x81e2('0x4c')];if(!_0x492fc8[_0x81e2('0x4d')]['hasOwnProperty']('nolimit')){_0x4daffa[_0x81e2('0x21')]=qs['limit'](_0x492fc8[_0x81e2('0x4d')][_0x81e2('0x21')]);_0x4daffa[_0x81e2('0x1f')]=qs[_0x81e2('0x1f')](_0x492fc8[_0x81e2('0x4d')]['offset']);}_0x4daffa[_0x81e2('0x56')]=qs['sort'](_0x492fc8[_0x81e2('0x4d')]['sort']);_0x4daffa[_0x81e2('0x58')]=qs[_0x81e2('0x4f')](_[_0x81e2('0x59')](_0x492fc8[_0x81e2('0x4d')],_0x1c947b[_0x81e2('0x4f')]));_0x4daffa[_0x81e2('0x58')][_0x81e2('0x6e')]=_0x343b1b['id'];if(_0x492fc8[_0x81e2('0x4d')][_0x81e2('0x5a')]){_0x4daffa[_0x81e2('0x58')]=_[_0x81e2('0x5d')](_0x4daffa[_0x81e2('0x58')],{'$or':_['map'](_0x4daffa[_0x81e2('0x52')],function(_0x5c14dd){var _0xc7c659={};_0xc7c659[_0x5c14dd]={'$like':'%'+_0x492fc8[_0x81e2('0x4d')][_0x81e2('0x5a')]+'%'};return _0xc7c659;})});}_0x4daffa=_[_0x81e2('0x5d')]({},_0x4daffa,_0x492fc8[_0x81e2('0x5e')]);return db[_0x81e2('0x8a')][_0x81e2('0x22')]({'where':_0x4daffa[_0x81e2('0x58')]})[_0x81e2('0x10')](function(_0x45d9b0){_0x5cbbc9[_0x81e2('0x22')]=_0x45d9b0;if(_0x492fc8[_0x81e2('0x4d')][_0x81e2('0x60')]){_0x4daffa['include']=[{'model':db[_0x81e2('0x8b')],'as':'Contact','required':![]},{'model':db['User'],'as':_0x81e2('0x8c'),'attributes':[_0x81e2('0x29'),_0x81e2('0x8d'),_0x81e2('0x8e')],'required':![]},{'model':db[_0x81e2('0x8f')],'as':_0x81e2('0x90'),'attributes':['id',_0x81e2('0x29'),_0x81e2('0x91')],'where':_0x492fc8['query']['tag']?{'id':_0x492fc8[_0x81e2('0x4d')][_0x81e2('0x92')]}:undefined,'required':_0x492fc8[_0x81e2('0x4d')][_0x81e2('0x92')]?!![]:![]}];}return db['MailInteraction'][_0x81e2('0x62')](_0x4daffa);})[_0x81e2('0x10')](function(_0x41b26a){_0x5cbbc9[_0x81e2('0x63')]=_0x41b26a;return _0x5cbbc9;});}})[_0x81e2('0x10')](respondWithFilteredResult(_0x1ac167,_0x4daffa))[_0x81e2('0x1b')](handleError(_0x1ac167,null));};exports[_0x81e2('0x93')]=function addApplications(_0x49080a,_0x2ab549){var _0x4341ee=_0x49080a[_0x81e2('0x6d')]['id'];var _0x4072b3=_0x49080a[_0x81e2('0x65')];var _0x6040c8=0xc8;var _0x56fff8=null;return db[_0x81e2('0x94')][_0x81e2('0x95')]({'isolationLevel':db['sequelize']['Transaction'][_0x81e2('0x96')][_0x81e2('0x97')]},function(_0x5ad50c){return db[_0x81e2('0x5f')][_0x81e2('0x74')]({'where':{'id':_0x4341ee},'transaction':_0x5ad50c})['then'](function(_0x202649){if(_0x202649){return db[_0x81e2('0x98')][_0x81e2('0x25')]({'where':{'MailAccountId':_0x4341ee},'transaction':_0x5ad50c})['then'](function(){var _0x3baef4=_[_0x81e2('0x48')](_0x4072b3,function(_0x4ac96c){_0x4ac96c['MailAccountId']=_0x4341ee;return _0x4ac96c;});return db[_0x81e2('0x98')][_0x81e2('0x99')](_0x3baef4,{'transaction':_0x5ad50c});});}else{_0x6040c8=0x194;_0x56fff8=[];}});})[_0x81e2('0x10')](function(){if(_0x6040c8!==0x194){return db[_0x81e2('0x98')][_0x81e2('0x9a')]({'where':{'MailAccountId':_0x4341ee},'order':_0x81e2('0x9b')})[_0x81e2('0x10')](function(_0xaa3f67){_0x56fff8=_0xaa3f67;});}})['catch'](function(_0x4818a9){_0x6040c8=0x1f4;logger['error'](_0x4818a9[_0x81e2('0x9c')]);if(_0x4818a9[_0x81e2('0x29')]){delete _0x4818a9[_0x81e2('0x29')];}_0x56fff8=_0x4818a9;})[_0x81e2('0x9d')](function(){if(_0x56fff8===null){_0x2ab549[_0x81e2('0x1c')](_0x6040c8);}else{if(_0x6040c8===0x1f4){_0x2ab549[_0x81e2('0x1d')](_0x6040c8)[_0x81e2('0x2a')](_0x56fff8);}else{_0x2ab549[_0x81e2('0x1d')](_0x6040c8)[_0x81e2('0x1e')](_0x56fff8);}}});};exports[_0x81e2('0x9e')]=function(_0x317a35,_0x5d1d03){var _0x134556={};var _0x42d8fd={};var _0x9f58c3;var _0x11f02b;return db[_0x81e2('0x5f')][_0x81e2('0x74')]({'where':{'id':_0x317a35[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0x5d1d03,null))[_0x81e2('0x10')](function(_0xb7d3b6){if(_0xb7d3b6){_0x9f58c3=_0xb7d3b6;_0x42d8fd['model']=_[_0x81e2('0x4e')](db[_0x81e2('0x98')][_0x81e2('0x49')]);_0x42d8fd[_0x81e2('0x4d')]=_[_0x81e2('0x4e')](_0x317a35['query']);_0x42d8fd['filters']=_[_0x81e2('0x50')](_0x42d8fd[_0x81e2('0x4c')],_0x42d8fd[_0x81e2('0x4d')]);_0x134556[_0x81e2('0x52')]=_[_0x81e2('0x50')](_0x42d8fd[_0x81e2('0x4c')],qs[_0x81e2('0x51')](_0x317a35[_0x81e2('0x4d')][_0x81e2('0x51')]));_0x134556['attributes']=_0x134556[_0x81e2('0x52')]['length']?_0x134556[_0x81e2('0x52')]:_0x42d8fd[_0x81e2('0x4c')];_0x134556['order']=qs[_0x81e2('0x57')](_0x317a35[_0x81e2('0x4d')][_0x81e2('0x57')]);_0x134556['where']=qs[_0x81e2('0x4f')](_[_0x81e2('0x59')](_0x317a35[_0x81e2('0x4d')],_0x42d8fd['filters']));if(_0x317a35[_0x81e2('0x4d')][_0x81e2('0x5a')]){_0x134556['where']=_['merge'](_0x134556[_0x81e2('0x58')],{'$or':_[_0x81e2('0x48')](_0x134556[_0x81e2('0x52')],function(_0x12c16f){var _0x48b729={};_0x48b729[_0x12c16f]={'$like':'%'+_0x317a35[_0x81e2('0x4d')]['filter']+'%'};return _0x48b729;})});}_0x134556=_[_0x81e2('0x5d')]({},_0x134556,_0x317a35['options']);return _0x9f58c3[_0x81e2('0x9e')](_0x134556);}})[_0x81e2('0x10')](function(_0x1bbe2f){if(_0x1bbe2f){_0x11f02b=_0x1bbe2f[_0x81e2('0x53')];if(!_0x317a35['query'][_0x81e2('0x54')](_0x81e2('0x55'))){_0x134556['limit']=qs['limit'](_0x317a35[_0x81e2('0x4d')][_0x81e2('0x21')]);_0x134556[_0x81e2('0x1f')]=qs[_0x81e2('0x1f')](_0x317a35['query'][_0x81e2('0x1f')]);}return _0x9f58c3['getApplications'](_0x134556);}})[_0x81e2('0x10')](function(_0x2aa8fd){if(_0x2aa8fd){return _0x2aa8fd?{'count':_0x11f02b,'rows':_0x2aa8fd}:null;}})[_0x81e2('0x10')](respondWithResult(_0x5d1d03,null))[_0x81e2('0x1b')](handleError(_0x5d1d03,null));};exports[_0x81e2('0x9f')]=function(_0x3816c9,_0x385c9d){var _0x5720d6={'raw':!![],'where':{}};var _0x27cfd={};var _0x29eba5={'count':0x0,'rows':[]};return db[_0x81e2('0x5f')]['findOne']({'where':{'id':_0x3816c9[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0x385c9d,null))['then'](function(_0x19c40c){if(_0x19c40c){_0x27cfd['model']=_['keys'](db[_0x81e2('0xa0')][_0x81e2('0x49')]);_0x27cfd[_0x81e2('0x4d')]=_[_0x81e2('0x4e')](_0x3816c9[_0x81e2('0x4d')]);_0x27cfd[_0x81e2('0x4f')]=_[_0x81e2('0x50')](_0x27cfd[_0x81e2('0x4c')],_0x27cfd[_0x81e2('0x4d')]);_0x5720d6[_0x81e2('0x52')]=_[_0x81e2('0x50')](_0x27cfd[_0x81e2('0x4c')],qs['fields'](_0x3816c9[_0x81e2('0x4d')][_0x81e2('0x51')]));_0x5720d6[_0x81e2('0x52')]=_0x5720d6[_0x81e2('0x52')][_0x81e2('0x53')]?_0x5720d6[_0x81e2('0x52')]:_0x27cfd[_0x81e2('0x4c')];if(!_0x3816c9[_0x81e2('0x4d')][_0x81e2('0x54')](_0x81e2('0x55'))){_0x5720d6[_0x81e2('0x21')]=qs[_0x81e2('0x21')](_0x3816c9[_0x81e2('0x4d')][_0x81e2('0x21')]);_0x5720d6[_0x81e2('0x1f')]=qs['offset'](_0x3816c9['query'][_0x81e2('0x1f')]);}_0x5720d6['order']=qs[_0x81e2('0x57')](_0x3816c9['query'][_0x81e2('0x57')]);_0x5720d6[_0x81e2('0x58')]=qs['filters'](_[_0x81e2('0x59')](_0x3816c9[_0x81e2('0x4d')],_0x27cfd[_0x81e2('0x4f')]));_0x5720d6['where']['MailAccountId']=_0x19c40c['id'];if(_0x3816c9[_0x81e2('0x4d')][_0x81e2('0x5a')]){_0x5720d6['where']=_[_0x81e2('0x5d')](_0x5720d6[_0x81e2('0x58')],{'$or':_[_0x81e2('0x48')](_0x5720d6[_0x81e2('0x52')],function(_0x47397e){var _0x2c6a17={};_0x2c6a17[_0x47397e]={'$like':'%'+_0x3816c9[_0x81e2('0x4d')][_0x81e2('0x5a')]+'%'};return _0x2c6a17;})});}if(_0x3816c9[_0x81e2('0x4d')][_0x81e2('0xa1')]){var _0x2246e6=_0x3816c9['query'][_0x81e2('0xa1')][_0x81e2('0xa2')](',');var _0x54061a={};_0x54061a[_0x2246e6[0x0]]={'$gte':moment(_0x2246e6[0x1])[_0x81e2('0xa3')](_0x81e2('0xa4'))};_0x5720d6[_0x81e2('0x58')]=_[_0x81e2('0x5d')](_0x5720d6[_0x81e2('0x58')],_0x54061a);}_0x5720d6=_[_0x81e2('0x5d')]({},_0x5720d6,_0x3816c9[_0x81e2('0x5e')]);return db['MailMessage']['count']({'where':_0x5720d6[_0x81e2('0x58')]})[_0x81e2('0x10')](function(_0x1f916b){_0x29eba5['count']=_0x1f916b;if(_0x3816c9[_0x81e2('0x4d')][_0x81e2('0x60')]){_0x5720d6[_0x81e2('0x61')]=[{'all':!![]}];}return db[_0x81e2('0xa0')]['findAll'](_0x5720d6);})[_0x81e2('0x10')](function(_0x5a10c7){if(_0x3816c9[_0x81e2('0x4d')][_0x81e2('0xa5')]===_0x81e2('0xa6')){for(var _0x234896=0x0;_0x234896<_0x5a10c7[_0x81e2('0x53')];_0x234896++){_0x5a10c7[_0x234896][_0x81e2('0x65')]=juice(_0x5a10c7[_0x234896][_0x81e2('0x65')]);}}_0x29eba5[_0x81e2('0x63')]=_0x5a10c7;return _0x29eba5;});}})['then'](respondWithFilteredResult(_0x385c9d,_0x5720d6))[_0x81e2('0x1b')](handleError(_0x385c9d,null));};exports[_0x81e2('0x2a')]=function(_0x48f156,_0x42571d){var _0x3eeb73,_0x2e4af7={},_0x30a101;if(_0x48f156[_0x81e2('0x65')]['to']){_0x30a101=_0x48f156[_0x81e2('0x65')]['to'][_0x81e2('0xa2')](',')[0x0];}return db['MailAccount'][_0x81e2('0x69')]({'where':{'id':_0x48f156[_0x81e2('0x6d')]['id']},'include':[{'model':db[_0x81e2('0xa7')],'as':'List','include':[{'model':db[_0x81e2('0x8b')],'as':_0x81e2('0xa8'),'where':{'email':_0x30a101},'limit':0x1,'order':[[_0x81e2('0xa9'),_0x81e2('0xaa')]]}]},{'model':db['MailServerOut'],'as':'Smtp','raw':!![],'include':[{'model':db[_0x81e2('0xab')],'as':_0x81e2('0xab'),'raw':!![]}]}]})[_0x81e2('0x10')](handleEntityNotFound(_0x42571d,null))[_0x81e2('0x10')](function(_0x5b4a66){if(!_0x5b4a66)return;_0x3eeb73=_0x5b4a66;if(!_0x5b4a66[_0x81e2('0x42')])throw new Error(_0x81e2('0xac'));if(_[_0x81e2('0x79')](_0x48f156[_0x81e2('0x65')][_0x81e2('0xad')])){_0x48f156[_0x81e2('0x65')][_0x81e2('0xad')]=util['format'](_0x81e2('0xae'),_0x5b4a66[_0x81e2('0x29')],_0x5b4a66['email']||_0x5b4a66[_0x81e2('0x42')][_0x81e2('0x37')]);}if(_0x48f156[_0x81e2('0x65')][_0x81e2('0xaf')]&&_0x48f156['body'][_0x81e2('0xaf')][_0x81e2('0x53')]){for(var _0x3bb5c6=0x0;_0x3bb5c6<_0x48f156['body'][_0x81e2('0xaf')][_0x81e2('0x53')];_0x3bb5c6+=0x1){_0x48f156[_0x81e2('0x65')][_0x81e2('0xaf')][_0x3bb5c6]={'filename':_0x48f156[_0x81e2('0x65')][_0x81e2('0xaf')][_0x3bb5c6][_0x81e2('0x29')],'path':path[_0x81e2('0xb0')](config[_0x81e2('0xb1')],_0x81e2('0xb2'),_0x48f156[_0x81e2('0x65')][_0x81e2('0xaf')][_0x3bb5c6][_0x81e2('0xb3')])};}}var _0x50e0aa=_0x5b4a66[_0x81e2('0xb4')]();return respondWithRpcPromise(_0x81e2('0xb5'),_0x81e2('0xb6'),{'account':_0x50e0aa,'message':_0x48f156[_0x81e2('0x65')]});})[_0x81e2('0x10')](function(_0x504457){if(!_0x504457)return;_0x2e4af7=_0x504457;if(!_0x3eeb73[_0x81e2('0xb7')])throw new Error('List\x20not\x20found');if(_0x3eeb73[_0x81e2('0xb7')][_0x81e2('0xa8')][_0x81e2('0x53')])return _0x3eeb73[_0x81e2('0xb7')][_0x81e2('0xa8')][0x0];return db[_0x81e2('0x8b')]['create'](_[_0x81e2('0x9')](_0x48f156[_0x81e2('0x65')],{'firstName':_0x48f156[_0x81e2('0x65')]['to'],'email':_0x48f156[_0x81e2('0x65')]['to'],'phone':_0x48f156['body']['to'],'ListId':_0x3eeb73[_0x81e2('0x78')]}));})['then'](function(_0x5677ad){if(!_0x5677ad)return;var _0x2be015={'UserId':_0x48f156[_0x81e2('0x37')]['id'],'ContactId':_0x5677ad['id'],'MailAccountId':_0x3eeb73['id'],'inReplyTo':_0x2e4af7[_0x81e2('0xb8')],'to':_0x48f156[_0x81e2('0x65')][_0x81e2('0xad')],'cc':_0x48f156['body']['cc'],'subject':_0x48f156[_0x81e2('0x65')][_0x81e2('0xb9')],'attach':_0x48f156[_0x81e2('0x65')][_0x81e2('0xba')],'firstMsgDirection':_0x81e2('0xbb'),'lastMsgAt':moment()[_0x81e2('0xa3')]('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':'out','Messages':[_[_0x81e2('0x5d')](_0x48f156['body'],{'messageId':_0x2e4af7[_0x81e2('0xb8')],'sentAt':moment()['format'](_0x81e2('0xa4')),'read':!![],'MailAccountId':_0x3eeb73['id'],'UserId':_0x48f156['user']['id'],'ContactId':_0x5677ad['id']})]};if(_0x48f156['body'][_0x81e2('0xbc')]){_0x2be015=_[_0x81e2('0x5d')](_0x2be015,_0x48f156[_0x81e2('0x65')]['Interaction']);}return db['MailInteraction'][_0x81e2('0x72')](_0x2be015,{'include':[{'model':db['MailMessage'],'as':'Messages'}]});})[_0x81e2('0x10')](respondWithResult(_0x42571d,null))[_0x81e2('0x1b')](handleError(_0x42571d,null));};exports[_0x81e2('0xbd')]=function(_0x1bdf0f,_0x543d29){return db[_0x81e2('0x5f')]['find']({'where':{'id':_0x1bdf0f[_0x81e2('0x6d')]['id']},'include':[{'model':db['MailServerOut'],'as':'Smtp','raw':!![],'include':[{'model':db[_0x81e2('0xab')],'as':_0x81e2('0xab'),'raw':!![]}]}]})[_0x81e2('0x10')](handleEntityNotFound(_0x543d29,null))[_0x81e2('0x10')](function(_0x3d1dfd){if(!_0x3d1dfd[_0x81e2('0x42')])return;var _0x4e3a2=_0x3d1dfd[_0x81e2('0xb4')]();return respondWithRpcPromise(_0x81e2('0xbe'),_0x81e2('0xbd'),{'account':_0x4e3a2});})[_0x81e2('0x10')](respondWithResult(_0x543d29,null))[_0x81e2('0x1b')](handleError(_0x543d29,null));};exports[_0x81e2('0x25')]=function(_0x21ca55,_0x38c871){return db[_0x81e2('0x5f')]['find']({'where':{'id':_0x21ca55[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0x38c871,null))['then'](function(_0x13225d){if(_0x13225d&&_0x13225d[_0x81e2('0x3f')]){throw new db['Sequelize']['ValidationError'](_0x81e2('0xbf'));}return _0x13225d;})[_0x81e2('0x10')](removeEntity(_0x38c871,null))[_0x81e2('0x1b')](handleError(_0x38c871,null));};exports[_0x81e2('0xc0')]=function(_0x40f003,_0x51de85){return db['MailAccount']['find']({'where':{'id':_0x40f003[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0x51de85,null))['then'](function(_0x22a929){if(_0x22a929){return _0x22a929[_0x81e2('0xc0')](_0x40f003[_0x81e2('0x65')][_0x81e2('0x87')],_[_0x81e2('0x88')](_0x40f003['body'],['ids','id'])||{})[_0x81e2('0xc1')](function(_0x593d7f){for(var _0x412eab=0x0;_0x412eab<_0x40f003['body'][_0x81e2('0x87')][_0x81e2('0x53')];_0x412eab+=0x1){socket[_0x81e2('0xc2')]('userMailAccount:save',{'UserId':Number(_0x40f003[_0x81e2('0x65')]['ids'][_0x412eab]),'MailAccountId':Number(_0x40f003['params']['id'])});}return _0x593d7f;});}})['then'](respondWithResult(_0x51de85,null))[_0x81e2('0x1b')](handleError(_0x51de85,null));};exports[_0x81e2('0xc3')]=function(_0x10e9c8,_0xedd778){return db['MailAccount'][_0x81e2('0x69')]({'where':{'id':_0x10e9c8[_0x81e2('0x6d')]['id']}})[_0x81e2('0x10')](handleEntityNotFound(_0xedd778,null))['then'](function(_0x20945c){if(_0x20945c){return _0x20945c[_0x81e2('0xc3')](_0x10e9c8[_0x81e2('0x4d')]['ids'])['then'](function(){if(_['isArray'](_0x10e9c8[_0x81e2('0x4d')][_0x81e2('0x87')])){for(var _0x474ab9=0x0;_0x474ab9<_0x10e9c8[_0x81e2('0x4d')][_0x81e2('0x87')]['length'];_0x474ab9+=0x1){socket[_0x81e2('0xc2')](_0x81e2('0xc4'),{'UserId':Number(_0x10e9c8[_0x81e2('0x4d')][_0x81e2('0x87')][_0x474ab9]),'MailAccountId':Number(_0x10e9c8[_0x81e2('0x6d')]['id'])});}}else{socket['emit'](_0x81e2('0xc4'),{'UserId':Number(_0x10e9c8[_0x81e2('0x4d')][_0x81e2('0x87')]),'MailAccountId':Number(_0x10e9c8[_0x81e2('0x6d')]['id'])});}});}})[_0x81e2('0x10')](respondWithStatusCode(_0xedd778,null))[_0x81e2('0x1b')](handleError(_0xedd778,null));};exports[_0x81e2('0xc5')]=function(_0x2721b9,_0x357337){var _0x3ead45={};var _0x3547d0={};var _0x457c63;var _0x42a77f;return db['MailAccount'][_0x81e2('0x74')]({'where':{'id':_0x2721b9[_0x81e2('0x6d')]['id']}})['then'](handleEntityNotFound(_0x357337,null))[_0x81e2('0x10')](function(_0x4c533c){if(_0x4c533c){_0x457c63=_0x4c533c;_0x3547d0[_0x81e2('0x4c')]=_[_0x81e2('0x4e')](db[_0x81e2('0xc6')]['rawAttributes']);_0x3547d0[_0x81e2('0x4d')]=_[_0x81e2('0x4e')](_0x2721b9[_0x81e2('0x4d')]);_0x3547d0[_0x81e2('0x4f')]=_[_0x81e2('0x50')](_0x3547d0[_0x81e2('0x4c')],_0x3547d0['query']);_0x3ead45[_0x81e2('0x52')]=_[_0x81e2('0x50')](_0x3547d0[_0x81e2('0x4c')],qs[_0x81e2('0x51')](_0x2721b9[_0x81e2('0x4d')][_0x81e2('0x51')]));_0x3ead45[_0x81e2('0x52')]=_0x3ead45[_0x81e2('0x52')][_0x81e2('0x53')]?_0x3ead45[_0x81e2('0x52')]:_0x3547d0[_0x81e2('0x4c')];_0x3ead45[_0x81e2('0x56')]=qs[_0x81e2('0x57')](_0x2721b9[_0x81e2('0x4d')][_0x81e2('0x57')]);_0x3ead45['where']=qs[_0x81e2('0x4f')](_[_0x81e2('0x59')](_0x2721b9[_0x81e2('0x4d')],_0x3547d0[_0x81e2('0x4f')]));if(_0x2721b9['query'][_0x81e2('0x5a')]){_0x3ead45['where']=_[_0x81e2('0x5d')](_0x3ead45[_0x81e2('0x58')],{'$or':_[_0x81e2('0x48')](_0x3ead45[_0x81e2('0x52')],function(_0x1bb7e4){var _0x51c8e6={};_0x51c8e6[_0x1bb7e4]={'$like':'%'+_0x2721b9[_0x81e2('0x4d')]['filter']+'%'};return _0x51c8e6;})});}_0x3ead45=_['merge']({},_0x3ead45,_0x2721b9[_0x81e2('0x5e')]);return _0x457c63['getAgents'](_0x3ead45);}})[_0x81e2('0x10')](function(_0x774690){if(_0x774690){_0x42a77f=_0x774690[_0x81e2('0x53')];if(!_0x2721b9[_0x81e2('0x4d')][_0x81e2('0x54')](_0x81e2('0x55'))){_0x3ead45[_0x81e2('0x21')]=qs[_0x81e2('0x21')](_0x2721b9[_0x81e2('0x4d')][_0x81e2('0x21')]);_0x3ead45[_0x81e2('0x1f')]=qs[_0x81e2('0x1f')](_0x2721b9[_0x81e2('0x4d')][_0x81e2('0x1f')]);}return _0x457c63['getAgents'](_0x3ead45);}})[_0x81e2('0x10')](function(_0xc22f94){if(_0xc22f94){return _0xc22f94?{'count':_0x42a77f,'rows':_0xc22f94}:null;}})[_0x81e2('0x10')](respondWithResult(_0x357337,null))[_0x81e2('0x1b')](handleError(_0x357337,null));};