7629a81fc5fe7e1a733676deb1b7471d2d664137
[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 _0x6ede=['../../mysqldb','redis','./mailAccount.socket','register','jayson/promise','client','info','request\x20sent','debug','error','message','MailAccount,\x20%s,\x20%s','result','catch','sendStatus','status','end','json','undefined','limit','count','offset','Content-Range','update','then','destroy','get','MailAccounts','UserProfileResource','stack','name','yahoo','imap.mail.yahoo.com','hotmail','imap-mail.outlook.com','gmail','smtp.gmail.com','smtp.mail.yahoo.com','smtp-mail.outlook.com','outlook365','Unknown\x20email\x20service\x20provider','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','index','MailServerOut','Pause','mandatoryDispositionPause','MailAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','filter','merge','VIRTUAL','includeAll','findAll','rows','show','params','MailServerIn','include','options','body','custom','find','describe','MailAccountId','Disposition','create','getDispositions','findOne','nolimit','pick','removeDispositions','ids','addAnswer','map','CannedAnswer','removeAnswers','provider','email','ListId','isNil','active','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','removeImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','omit','getInteractions','MailInteraction','Contact','User','Owner','fullname','internal','Tag','Tags','color','tag','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','priority','finally','getApplications','getMessages','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','true','send','CmList','List','CmContact','Contacts','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','from','attachments','root','basename','getSmtpOptions','SendMail','sendMail','List\x20not\x20found','messageId','out','Interaction','VerifySmtp','verifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','moment','bluebird','util','path','lodash','juice','api'];(function(_0xc6971f,_0x53138a){var _0x28ca53=function(_0xa0f0b4){while(--_0xa0f0b4){_0xc6971f['push'](_0xc6971f['shift']());}};_0x28ca53(++_0x53138a);}(_0x6ede,0xb6));var _0xe6ed=function(_0x587693,_0x27fe90){_0x587693=_0x587693-0x0;var _0x510a1a=_0x6ede[_0x587693];return _0x510a1a;};'use strict';var moment=require(_0xe6ed('0x0'));var BPromise=require(_0xe6ed('0x1'));var util=require(_0xe6ed('0x2'));var path=require(_0xe6ed('0x3'));var _=require(_0xe6ed('0x4'));var juice=require(_0xe6ed('0x5'));var Redis=require('ioredis');var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')(_0xe6ed('0x6'));var config=require('../../config/environment');var db=require(_0xe6ed('0x7'))['db'];config['redis']=_['defaults'](config[_0xe6ed('0x8')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0xe6ed('0x9'))[_0xe6ed('0xa')](socket);var jayson=require(_0xe6ed('0xb'));var client=jayson[_0xe6ed('0xc')]['http']({'port':0x232b});function respondWithRpcPromise(_0x53d025,_0x58d687,_0x31f4e2,_0x41bf4c){return new BPromise(function(_0x1ba92c,_0x537930){var _0x4eba4e=_0x41bf4c||client;return _0x4eba4e['request'](_0x53d025,_0x31f4e2)['then'](function(_0x157930){logger[_0xe6ed('0xd')]('MailAccount,\x20%s,\x20%s',_0x58d687,_0xe6ed('0xe'));logger[_0xe6ed('0xf')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x58d687,'request\x20sent',JSON['stringify'](_0x157930));if(_0x157930['error']){if(_0x157930[_0xe6ed('0x10')]['code']===0x1f4){logger[_0xe6ed('0x10')]('MailAccount,\x20%s,\x20%s',_0x58d687,_0x157930[_0xe6ed('0x10')][_0xe6ed('0x11')]);return _0x537930(_0x157930['error']['message']);}logger['error']('MailAccount,\x20%s,\x20%s',_0x58d687,_0x157930['error'][_0xe6ed('0x11')]);return _0x1ba92c(_0x157930[_0xe6ed('0x10')][_0xe6ed('0x11')]);}else{logger[_0xe6ed('0xd')](_0xe6ed('0x12'),_0x58d687,'request\x20sent');_0x1ba92c(_0x157930[_0xe6ed('0x13')][_0xe6ed('0x11')]);}})[_0xe6ed('0x14')](function(_0x520069){logger['error'](_0xe6ed('0x12'),_0x58d687,_0x520069);_0x537930(_0x520069);});});}function respondWithStatusCode(_0x4b3cc8,_0x5893db){_0x5893db=_0x5893db||0xcc;return function(_0x2cd004){if(_0x2cd004){return _0x4b3cc8[_0xe6ed('0x15')](_0x5893db);}return _0x4b3cc8[_0xe6ed('0x16')](_0x5893db)[_0xe6ed('0x17')]();};}function respondWithResult(_0xfc1330,_0x3e20eb){_0x3e20eb=_0x3e20eb||0xc8;return function(_0x121534){if(_0x121534){return _0xfc1330[_0xe6ed('0x16')](_0x3e20eb)[_0xe6ed('0x18')](_0x121534);}};}function respondWithFilteredResult(_0x4db1d4,_0x57b529){return function(_0x35fa46){if(_0x35fa46){var _0x394307=typeof _0x57b529['offset']===_0xe6ed('0x19')&&typeof _0x57b529[_0xe6ed('0x1a')]===_0xe6ed('0x19');var _0x362680=_0x35fa46[_0xe6ed('0x1b')];var _0x1e1884=_0x394307?0x0:_0x57b529[_0xe6ed('0x1c')];var _0x2fc69e=_0x394307?_0x35fa46['count']:_0x57b529[_0xe6ed('0x1c')]+_0x57b529[_0xe6ed('0x1a')];var _0x2ca89f;if(_0x2fc69e>=_0x362680){_0x2fc69e=_0x362680;_0x2ca89f=0xc8;}else{_0x2ca89f=0xce;}_0x4db1d4[_0xe6ed('0x16')](_0x2ca89f);return _0x4db1d4['set'](_0xe6ed('0x1d'),_0x1e1884+'-'+_0x2fc69e+'/'+_0x362680)[_0xe6ed('0x18')](_0x35fa46);}return null;};}function saveUpdates(_0x42ef26){return function(_0x15e3e2){if(_0x15e3e2){return _0x15e3e2[_0xe6ed('0x1e')](_0x42ef26)[_0xe6ed('0x1f')](function(_0x53ca50){return _0x53ca50;});}return null;};}function removeEntity(_0x281a5f){return function(_0x592f62){if(_0x592f62){return _0x592f62[_0xe6ed('0x20')]()[_0xe6ed('0x1f')](function(){var _0x1fc7cc=_0x592f62[_0xe6ed('0x21')]({'plain':!![]});var _0x36848e=_0xe6ed('0x22');return db[_0xe6ed('0x23')][_0xe6ed('0x20')]({'where':{'type':_0x36848e,'resourceId':_0x1fc7cc['id']}})[_0xe6ed('0x1f')](function(){return _0x592f62;});})[_0xe6ed('0x1f')](function(){_0x281a5f[_0xe6ed('0x16')](0xcc)[_0xe6ed('0x17')]();});}};}function handleEntityNotFound(_0x17abcc){return function(_0x37a4ac){if(!_0x37a4ac){_0x17abcc[_0xe6ed('0x15')](0x194);}return _0x37a4ac;};}function handleError(_0x57c9fc,_0x11a61a){_0x11a61a=_0x11a61a||0x1f4;return function(_0x5a69b1){logger[_0xe6ed('0x10')](_0x5a69b1[_0xe6ed('0x24')]);if(_0x5a69b1['name']){delete _0x5a69b1[_0xe6ed('0x25')];}_0x57c9fc[_0xe6ed('0x16')](_0x11a61a)['send'](_0x5a69b1);};}function getImapHost(_0x59f3b0){switch(_0x59f3b0){case'gmail':return'imap.gmail.com';case _0xe6ed('0x26'):return _0xe6ed('0x27');case _0xe6ed('0x28'):return _0xe6ed('0x29');case'outlook365':return'outlook.office365.com';}throw new Error('Unknown\x20email\x20service\x20provider',_0x59f3b0);}function getSmtpHost(_0x256776){switch(_0x256776){case _0xe6ed('0x2a'):return _0xe6ed('0x2b');case _0xe6ed('0x26'):return _0xe6ed('0x2c');case _0xe6ed('0x28'):return _0xe6ed('0x2d');case _0xe6ed('0x2e'):return'smtp.office365.com';}throw new Error(_0xe6ed('0x2f'),_0x256776);}function getAuthenticationOptions(_0x1252dd,_0x3ea47f){var _0x4ce8a0={};var _0x2811cb={};if(_0x1252dd){_0x4ce8a0[_0xe6ed('0x30')]=_0x2811cb[_0xe6ed('0x30')]=_0x3ea47f[_0xe6ed('0x31')];_0x4ce8a0[_0xe6ed('0x32')]=_0x2811cb[_0xe6ed('0x33')]=_0x3ea47f['password'];if(_0x3ea47f['modernAuthentication']){_0x4ce8a0[_0xe6ed('0x34')]=_0x2811cb[_0xe6ed('0x34')]=!![];_0x4ce8a0[_0xe6ed('0x35')]=_0x2811cb['CloudProviderId']=_0x3ea47f['CloudProviderId'];_0x4ce8a0[_0xe6ed('0x32')]=_0x2811cb[_0xe6ed('0x33')]=null;}else{_0x4ce8a0[_0xe6ed('0x35')]=_0x2811cb['CloudProviderId']=null;}_0x4ce8a0[_0xe6ed('0x36')]=getImapHost(_0x1252dd);_0x4ce8a0['port']=0x3e1;_0x2811cb[_0xe6ed('0x36')]=getSmtpHost(_0x1252dd);_0x2811cb[_0xe6ed('0x37')]=0x24b;_0x2811cb[_0xe6ed('0x38')]=![];_0x4ce8a0[_0xe6ed('0x39')]=_0x2811cb[_0xe6ed('0x39')]=null;}else{if(_0x3ea47f[_0xe6ed('0x3a')]){_0x4ce8a0[_0xe6ed('0x30')]=_0x2811cb['user']=_0x3ea47f[_0xe6ed('0x31')];_0x4ce8a0[_0xe6ed('0x32')]=_0x2811cb[_0xe6ed('0x33')]=_0x3ea47f[_0xe6ed('0x32')];}else{_0x4ce8a0[_0xe6ed('0x3a')]=_0x2811cb[_0xe6ed('0x3a')]=![];_0x4ce8a0[_0xe6ed('0x30')]=_0x2811cb[_0xe6ed('0x30')]=null;_0x4ce8a0[_0xe6ed('0x32')]=_0x2811cb[_0xe6ed('0x33')]=null;}_0x4ce8a0['host']=_0x3ea47f[_0xe6ed('0x3b')]['host'];_0x4ce8a0[_0xe6ed('0x37')]=_0x3ea47f[_0xe6ed('0x3b')][_0xe6ed('0x37')];_0x2811cb['host']=_0x3ea47f[_0xe6ed('0x3c')][_0xe6ed('0x36')];_0x2811cb[_0xe6ed('0x37')]=_0x3ea47f[_0xe6ed('0x3c')][_0xe6ed('0x37')];}return{'Imap':_0x4ce8a0,'Smtp':_0x2811cb};}exports[_0xe6ed('0x3d')]=function(_0x18e1b0,_0x595d78){var _0x44f148={'include':[{'model':db['MailServerIn'],'as':_0xe6ed('0x3b')},{'model':db[_0xe6ed('0x3e')],'as':_0xe6ed('0x3c')},{'model':db[_0xe6ed('0x3f')],'as':_0xe6ed('0x40')}]},_0x13173d={},_0x562fb6={'count':0x0,'rows':[]};var _0x4a5495=_['map'](db[_0xe6ed('0x41')][_0xe6ed('0x42')],function(_0x5047aa){return{'name':_0x5047aa[_0xe6ed('0x43')],'type':_0x5047aa[_0xe6ed('0x44')][_0xe6ed('0x45')]};});_0x13173d[_0xe6ed('0x46')]=_['map'](_0x4a5495,_0xe6ed('0x25'));_0x13173d[_0xe6ed('0x47')]=_[_0xe6ed('0x48')](_0x18e1b0[_0xe6ed('0x47')]);_0x13173d[_0xe6ed('0x49')]=_['intersection'](_0x13173d['model'],_0x13173d[_0xe6ed('0x47')]);_0x44f148[_0xe6ed('0x4a')]=_[_0xe6ed('0x4b')](_0x13173d['model'],qs[_0xe6ed('0x4c')](_0x18e1b0[_0xe6ed('0x47')][_0xe6ed('0x4c')]));_0x44f148[_0xe6ed('0x4a')]=_0x44f148['attributes'][_0xe6ed('0x4d')]?_0x44f148[_0xe6ed('0x4a')]:_0x13173d[_0xe6ed('0x46')];if(!_0x18e1b0[_0xe6ed('0x47')][_0xe6ed('0x4e')]('nolimit')){_0x44f148[_0xe6ed('0x1a')]=qs['limit'](_0x18e1b0['query']['limit']);_0x44f148[_0xe6ed('0x1c')]=qs[_0xe6ed('0x1c')](_0x18e1b0[_0xe6ed('0x47')][_0xe6ed('0x1c')]);}_0x44f148[_0xe6ed('0x4f')]=qs[_0xe6ed('0x50')](_0x18e1b0['query'][_0xe6ed('0x50')]);_0x44f148[_0xe6ed('0x51')]=qs[_0xe6ed('0x49')](_['pick'](_0x18e1b0['query'],_0x13173d[_0xe6ed('0x49')]),_0x4a5495);if(_0x18e1b0['query'][_0xe6ed('0x52')]){_0x44f148[_0xe6ed('0x51')]=_[_0xe6ed('0x53')](_0x44f148[_0xe6ed('0x51')],{'$or':_['map'](_0x4a5495,function(_0x45a435){if(_0x45a435[_0xe6ed('0x44')]!==_0xe6ed('0x54')){var _0x36d657={};_0x36d657[_0x45a435['name']]={'$like':'%'+_0x18e1b0[_0xe6ed('0x47')][_0xe6ed('0x52')]+'%'};return _0x36d657;}})});}_0x44f148=_[_0xe6ed('0x53')]({},_0x44f148,_0x18e1b0['options']);var _0x464da6={'where':_0x44f148['where']};return db[_0xe6ed('0x41')][_0xe6ed('0x1b')](_0x464da6)['then'](function(_0x2e46d5){_0x562fb6[_0xe6ed('0x1b')]=_0x2e46d5;if(_0x18e1b0[_0xe6ed('0x47')][_0xe6ed('0x55')]){_0x44f148['include']=[{'all':!![]}];}return db[_0xe6ed('0x41')][_0xe6ed('0x56')](_0x44f148);})[_0xe6ed('0x1f')](function(_0x419779){_0x562fb6[_0xe6ed('0x57')]=_0x419779;return _0x562fb6;})['then'](respondWithFilteredResult(_0x595d78,_0x44f148))[_0xe6ed('0x14')](handleError(_0x595d78,null));};exports[_0xe6ed('0x58')]=function(_0x4dabc1,_0x44537a){var _0x3270e0={'raw':![],'where':{'id':_0x4dabc1[_0xe6ed('0x59')]['id']},'include':[{'model':db[_0xe6ed('0x5a')],'as':_0xe6ed('0x3b')},{'model':db[_0xe6ed('0x3e')],'as':_0xe6ed('0x3c')},{'model':db[_0xe6ed('0x3f')],'as':_0xe6ed('0x40')}]},_0x169e4b={};_0x169e4b[_0xe6ed('0x46')]=_[_0xe6ed('0x48')](db[_0xe6ed('0x41')]['rawAttributes']);_0x169e4b[_0xe6ed('0x47')]=_[_0xe6ed('0x48')](_0x4dabc1[_0xe6ed('0x47')]);_0x169e4b[_0xe6ed('0x49')]=_[_0xe6ed('0x4b')](_0x169e4b[_0xe6ed('0x46')],_0x169e4b[_0xe6ed('0x47')]);_0x3270e0[_0xe6ed('0x4a')]=_[_0xe6ed('0x4b')](_0x169e4b[_0xe6ed('0x46')],qs[_0xe6ed('0x4c')](_0x4dabc1[_0xe6ed('0x47')][_0xe6ed('0x4c')]));_0x3270e0[_0xe6ed('0x4a')]=_0x3270e0[_0xe6ed('0x4a')][_0xe6ed('0x4d')]?_0x3270e0[_0xe6ed('0x4a')]:_0x169e4b[_0xe6ed('0x46')];if(_0x4dabc1[_0xe6ed('0x47')][_0xe6ed('0x55')]){_0x3270e0[_0xe6ed('0x5b')]=[{'all':!![]}];}_0x3270e0=_[_0xe6ed('0x53')]({},_0x3270e0,_0x4dabc1[_0xe6ed('0x5c')]);return db[_0xe6ed('0x41')]['find'](_0x3270e0)[_0xe6ed('0x1f')](handleEntityNotFound(_0x44537a,null))[_0xe6ed('0x1f')](respondWithResult(_0x44537a,null))[_0xe6ed('0x14')](handleError(_0x44537a,null));};exports[_0xe6ed('0x1e')]=function(_0x49d6b9,_0x45f1a9){if(_0x49d6b9[_0xe6ed('0x5d')]['id']){delete _0x49d6b9[_0xe6ed('0x5d')]['id'];}var _0x26545c=_0x49d6b9[_0xe6ed('0x5d')]['provider']===_0xe6ed('0x5e')?null:_0x49d6b9[_0xe6ed('0x5d')]['provider'];var _0x1e166d=_0x49d6b9['body']['Imap']||{};var _0x531743=_0x49d6b9[_0xe6ed('0x5d')]['Smtp']||{};if(_0x26545c){_0x1e166d[_0xe6ed('0x36')]=getImapHost(_0x26545c);_0x1e166d[_0xe6ed('0x37')]=0x3e1;_0x531743['host']=getSmtpHost(_0x26545c);_0x531743['port']=0x24b;_0x531743[_0xe6ed('0x38')]=![];}if(_0x531743[_0xe6ed('0x34')]){_0x531743[_0xe6ed('0x38')]=![];}else{_0x531743[_0xe6ed('0x35')]=null;}if(!_0x1e166d[_0xe6ed('0x34')])_0x1e166d[_0xe6ed('0x35')]=null;_0x49d6b9['body'][_0xe6ed('0x3b')]=_0x1e166d;_0x49d6b9[_0xe6ed('0x5d')][_0xe6ed('0x3c')]=_0x531743;return db['MailAccount'][_0xe6ed('0x5f')]({'where':{'id':_0x49d6b9[_0xe6ed('0x59')]['id']},'include':[{'model':db[_0xe6ed('0x5a')],'as':_0xe6ed('0x3b')},{'model':db[_0xe6ed('0x3e')],'as':_0xe6ed('0x3c')},{'model':db[_0xe6ed('0x3f')],'as':_0xe6ed('0x40')}]})[_0xe6ed('0x1f')](handleEntityNotFound(_0x45f1a9,null))[_0xe6ed('0x1f')](function(_0x446984){if(!_0x446984)throw new Error('Mail\x20Account\x20not\x20found');if(_0x446984[_0xe6ed('0x39')])delete _0x49d6b9[_0xe6ed('0x5d')][_0xe6ed('0x3b')];return _0x446984;})['then'](saveUpdates(_0x49d6b9[_0xe6ed('0x5d')],null))[_0xe6ed('0x1f')](function(_0x30006d){if(!_0x49d6b9[_0xe6ed('0x5d')][_0xe6ed('0x3b')])return _0x30006d;return db['MailServerIn']['update'](_0x49d6b9['body'][_0xe6ed('0x3b')],{'where':{'MailAccountId':_0x30006d['id']}})[_0xe6ed('0x1f')](function(){return _0x30006d;});})[_0xe6ed('0x1f')](function(_0x4a0bf4){if(!_0x49d6b9[_0xe6ed('0x5d')]['Smtp'])return _0x4a0bf4;return db[_0xe6ed('0x3e')][_0xe6ed('0x1e')](_0x49d6b9['body'][_0xe6ed('0x3c')],{'where':{'MailAccountId':_0x4a0bf4['id']}})['then'](function(){return _0x4a0bf4;});})[_0xe6ed('0x1f')](respondWithResult(_0x45f1a9,null))['catch'](handleError(_0x45f1a9,null));};exports[_0xe6ed('0x60')]=function(_0x375053,_0x2998ee){return db[_0xe6ed('0x41')][_0xe6ed('0x60')]()[_0xe6ed('0x1f')](respondWithResult(_0x2998ee,null))[_0xe6ed('0x14')](handleError(_0x2998ee,null));};exports['addDisposition']=function(_0x45a6bc,_0x473ca8){if(_0x45a6bc[_0xe6ed('0x5d')]['id']){delete _0x45a6bc[_0xe6ed('0x5d')]['id'];}return db['MailAccount'][_0xe6ed('0x5f')]({'where':{'id':_0x45a6bc['params']['id']}})['then'](handleEntityNotFound(_0x473ca8,null))[_0xe6ed('0x1f')](function(_0x5582a8){if(_0x5582a8){_0x45a6bc[_0xe6ed('0x5d')][_0xe6ed('0x61')]=_0x5582a8['id'];return db[_0xe6ed('0x62')][_0xe6ed('0x63')](_0x45a6bc['body']);}})['then'](respondWithResult(_0x473ca8,null))[_0xe6ed('0x14')](handleError(_0x473ca8,null));};exports[_0xe6ed('0x64')]=function(_0x403b83,_0x2c54d5){var _0x43419a={'raw':![],'where':{}};var _0x52b2fd={};var _0x1b535b={'count':0x0,'rows':[]};return db[_0xe6ed('0x41')][_0xe6ed('0x65')]({'where':{'id':_0x403b83[_0xe6ed('0x59')]['id']}})['then'](handleEntityNotFound(_0x2c54d5,null))[_0xe6ed('0x1f')](function(_0x27985f){if(_0x27985f){_0x52b2fd[_0xe6ed('0x46')]=_[_0xe6ed('0x48')](db[_0xe6ed('0x62')][_0xe6ed('0x42')]);_0x52b2fd[_0xe6ed('0x47')]=_[_0xe6ed('0x48')](_0x403b83[_0xe6ed('0x47')]);_0x52b2fd[_0xe6ed('0x49')]=_[_0xe6ed('0x4b')](_0x52b2fd[_0xe6ed('0x46')],_0x52b2fd['query']);_0x43419a[_0xe6ed('0x4a')]=_[_0xe6ed('0x4b')](_0x52b2fd[_0xe6ed('0x46')],qs[_0xe6ed('0x4c')](_0x403b83['query'][_0xe6ed('0x4c')]));_0x43419a['attributes']=_0x43419a['attributes'][_0xe6ed('0x4d')]?_0x43419a[_0xe6ed('0x4a')]:_0x52b2fd[_0xe6ed('0x46')];if(!_0x403b83[_0xe6ed('0x47')][_0xe6ed('0x4e')](_0xe6ed('0x66'))){_0x43419a[_0xe6ed('0x1a')]=qs['limit'](_0x403b83[_0xe6ed('0x47')]['limit']);_0x43419a['offset']=qs[_0xe6ed('0x1c')](_0x403b83[_0xe6ed('0x47')][_0xe6ed('0x1c')]);}_0x43419a[_0xe6ed('0x4f')]=qs[_0xe6ed('0x50')](_0x403b83['query'][_0xe6ed('0x50')]);_0x43419a[_0xe6ed('0x51')]=qs['filters'](_[_0xe6ed('0x67')](_0x403b83['query'],_0x52b2fd[_0xe6ed('0x49')]));_0x43419a[_0xe6ed('0x51')]['MailAccountId']=_0x27985f['id'];if(_0x403b83['query'][_0xe6ed('0x52')]){_0x43419a['where']=_[_0xe6ed('0x53')](_0x43419a[_0xe6ed('0x51')],{'$or':_['map'](_0x43419a[_0xe6ed('0x4a')],function(_0x2bb791){var _0x134134={};_0x134134[_0x2bb791]={'$like':'%'+_0x403b83['query'][_0xe6ed('0x52')]+'%'};return _0x134134;})});}_0x43419a=_[_0xe6ed('0x53')]({},_0x43419a,_0x403b83[_0xe6ed('0x5c')]);return db[_0xe6ed('0x62')][_0xe6ed('0x1b')]({'where':_0x43419a[_0xe6ed('0x51')]})['then'](function(_0x109bd5){_0x1b535b[_0xe6ed('0x1b')]=_0x109bd5;if(_0x403b83[_0xe6ed('0x47')][_0xe6ed('0x55')]){_0x43419a['include']=[{'all':!![]}];}return db[_0xe6ed('0x62')]['findAll'](_0x43419a);})[_0xe6ed('0x1f')](function(_0x4a47b5){_0x1b535b[_0xe6ed('0x57')]=_0x4a47b5;return _0x1b535b;});}})[_0xe6ed('0x1f')](respondWithFilteredResult(_0x2c54d5,_0x43419a))['catch'](handleError(_0x2c54d5,null));};exports[_0xe6ed('0x68')]=function(_0x16b603,_0x3b2d21){return db[_0xe6ed('0x41')][_0xe6ed('0x5f')]({'where':{'id':_0x16b603[_0xe6ed('0x59')]['id']}})[_0xe6ed('0x1f')](handleEntityNotFound(_0x3b2d21,null))[_0xe6ed('0x1f')](function(_0x160354){if(_0x160354){return _0x160354[_0xe6ed('0x68')](_0x16b603[_0xe6ed('0x47')][_0xe6ed('0x69')]);}})['then'](respondWithStatusCode(_0x3b2d21,null))[_0xe6ed('0x14')](handleError(_0x3b2d21,null));};exports[_0xe6ed('0x6a')]=function(_0x348398,_0x10ef69){if(_0x348398[_0xe6ed('0x5d')]['id']){delete _0x348398[_0xe6ed('0x5d')]['id'];}return db[_0xe6ed('0x41')][_0xe6ed('0x5f')]({'where':{'id':_0x348398[_0xe6ed('0x59')]['id']}})[_0xe6ed('0x1f')](handleEntityNotFound(_0x10ef69,null))[_0xe6ed('0x1f')](function(_0x37ad61){if(_0x37ad61){_0x348398['body'][_0xe6ed('0x61')]=_0x37ad61['id'];return db['CannedAnswer'][_0xe6ed('0x63')](_0x348398['body']);}})[_0xe6ed('0x1f')](respondWithResult(_0x10ef69,null))[_0xe6ed('0x14')](handleError(_0x10ef69,null));};exports['getAnswers']=function(_0x5285b2,_0x533090){var _0x4303fd={'raw':![],'where':{}};var _0x56b36a={};var _0x195a16={'count':0x0,'rows':[]};return db[_0xe6ed('0x41')]['findOne']({'where':{'id':_0x5285b2[_0xe6ed('0x59')]['id']}})['then'](handleEntityNotFound(_0x533090,null))['then'](function(_0x5e6bda){if(_0x5e6bda){_0x56b36a['model']=_[_0xe6ed('0x48')](db['CannedAnswer'][_0xe6ed('0x42')]);_0x56b36a[_0xe6ed('0x47')]=_[_0xe6ed('0x48')](_0x5285b2[_0xe6ed('0x47')]);_0x56b36a[_0xe6ed('0x49')]=_[_0xe6ed('0x4b')](_0x56b36a['model'],_0x56b36a[_0xe6ed('0x47')]);_0x4303fd[_0xe6ed('0x4a')]=_[_0xe6ed('0x4b')](_0x56b36a['model'],qs[_0xe6ed('0x4c')](_0x5285b2['query'][_0xe6ed('0x4c')]));_0x4303fd[_0xe6ed('0x4a')]=_0x4303fd[_0xe6ed('0x4a')][_0xe6ed('0x4d')]?_0x4303fd[_0xe6ed('0x4a')]:_0x56b36a[_0xe6ed('0x46')];if(!_0x5285b2[_0xe6ed('0x47')][_0xe6ed('0x4e')](_0xe6ed('0x66'))){_0x4303fd[_0xe6ed('0x1a')]=qs[_0xe6ed('0x1a')](_0x5285b2[_0xe6ed('0x47')][_0xe6ed('0x1a')]);_0x4303fd[_0xe6ed('0x1c')]=qs[_0xe6ed('0x1c')](_0x5285b2[_0xe6ed('0x47')]['offset']);}_0x4303fd[_0xe6ed('0x4f')]=qs[_0xe6ed('0x50')](_0x5285b2[_0xe6ed('0x47')][_0xe6ed('0x50')]);_0x4303fd[_0xe6ed('0x51')]=qs[_0xe6ed('0x49')](_[_0xe6ed('0x67')](_0x5285b2[_0xe6ed('0x47')],_0x56b36a[_0xe6ed('0x49')]));_0x4303fd['where']['MailAccountId']=_0x5e6bda['id'];if(_0x5285b2[_0xe6ed('0x47')][_0xe6ed('0x52')]){_0x4303fd[_0xe6ed('0x51')]=_[_0xe6ed('0x53')](_0x4303fd['where'],{'$or':_[_0xe6ed('0x6b')](_0x4303fd[_0xe6ed('0x4a')],function(_0x10db18){var _0x2d6614={};_0x2d6614[_0x10db18]={'$like':'%'+_0x5285b2[_0xe6ed('0x47')][_0xe6ed('0x52')]+'%'};return _0x2d6614;})});}_0x4303fd=_[_0xe6ed('0x53')]({},_0x4303fd,_0x5285b2['options']);return db[_0xe6ed('0x6c')][_0xe6ed('0x1b')]({'where':_0x4303fd[_0xe6ed('0x51')]})[_0xe6ed('0x1f')](function(_0x3e3b48){_0x195a16[_0xe6ed('0x1b')]=_0x3e3b48;if(_0x5285b2[_0xe6ed('0x47')][_0xe6ed('0x55')]){_0x4303fd[_0xe6ed('0x5b')]=[{'all':!![]}];}return db[_0xe6ed('0x6c')][_0xe6ed('0x56')](_0x4303fd);})[_0xe6ed('0x1f')](function(_0x993809){_0x195a16[_0xe6ed('0x57')]=_0x993809;return _0x195a16;});}})['then'](respondWithFilteredResult(_0x533090,_0x4303fd))[_0xe6ed('0x14')](handleError(_0x533090,null));};exports[_0xe6ed('0x6d')]=function(_0x734dcc,_0x45bd7e){return db[_0xe6ed('0x41')][_0xe6ed('0x5f')]({'where':{'id':_0x734dcc[_0xe6ed('0x59')]['id']}})[_0xe6ed('0x1f')](handleEntityNotFound(_0x45bd7e,null))[_0xe6ed('0x1f')](function(_0x3130cd){if(_0x3130cd){return _0x3130cd[_0xe6ed('0x6d')](_0x734dcc['query']['ids']);}})['then'](respondWithStatusCode(_0x45bd7e,null))[_0xe6ed('0x14')](handleError(_0x45bd7e,null));};exports['create']=function(_0x1ebb22,_0x1266db){var _0x13be06={'name':_0x1ebb22[_0xe6ed('0x5d')][_0xe6ed('0x25')],'key':_0x1ebb22['body'][_0xe6ed('0x45')],'provider':_0x1ebb22['body']['provider']===_0xe6ed('0x5e')?null:_0x1ebb22[_0xe6ed('0x5d')][_0xe6ed('0x6e')],'email':_0x1ebb22[_0xe6ed('0x5d')][_0xe6ed('0x6f')],'ListId':_0x1ebb22[_0xe6ed('0x5d')][_0xe6ed('0x70')],'active':!_[_0xe6ed('0x71')](_0x1ebb22['body'][_0xe6ed('0x72')])?_0x1ebb22[_0xe6ed('0x5d')][_0xe6ed('0x72')]:!![],'description':_0x1ebb22[_0xe6ed('0x5d')]['description']||null};var _0x591cab=getAuthenticationOptions(_0x13be06['provider'],_0x1ebb22['body']);_0x13be06['Imap']=_0x591cab[_0xe6ed('0x3b')];_0x13be06[_0xe6ed('0x3c')]=_0x591cab[_0xe6ed('0x3c')];return db['MailAccount'][_0xe6ed('0x63')](_0x13be06,{'include':[{'model':db[_0xe6ed('0x3e')],'as':'Smtp'},{'model':db[_0xe6ed('0x5a')],'as':_0xe6ed('0x3b')}]})[_0xe6ed('0x1f')](function(_0x2460b0){var _0x204be3=_0x1ebb22[_0xe6ed('0x30')][_0xe6ed('0x21')]({'plain':!![]});if(!_0x204be3)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x204be3[_0xe6ed('0x73')]==='user'){var _0x181a3e=_0x2460b0[_0xe6ed('0x21')]({'plain':!![]});return db['UserProfileSection'][_0xe6ed('0x5f')]({'where':{'name':'MailAccounts','userProfileId':_0x204be3[_0xe6ed('0x74')]},'raw':!![]})[_0xe6ed('0x1f')](function(_0x1723c9){if(_0x1723c9&&_0x1723c9[_0xe6ed('0x75')]===0x0){return db[_0xe6ed('0x23')][_0xe6ed('0x63')]({'name':_0x181a3e['name'],'resourceId':_0x181a3e['id'],'type':_0x1723c9[_0xe6ed('0x25')],'sectionId':_0x1723c9['id']},{})[_0xe6ed('0x1f')](function(){return _0x2460b0;});}else{return _0x2460b0;}})[_0xe6ed('0x14')](function(_0x37cbb4){logger[_0xe6ed('0x10')](_0xe6ed('0x76'),_0x37cbb4);throw _0x37cbb4;});}return _0x2460b0;})['then'](respondWithResult(_0x1266db,0xc9))[_0xe6ed('0x14')](handleError(_0x1266db,null));};exports[_0xe6ed('0x77')]=function(_0x373f70,_0x1dbb1d){return db[_0xe6ed('0x41')][_0xe6ed('0x65')]({'where':{'id':_0x373f70[_0xe6ed('0x59')]['id']}})[_0xe6ed('0x1f')](handleEntityNotFound(_0x1dbb1d,null))['then'](function(_0x239383){if(_0x239383){return _0x239383[_0xe6ed('0x77')]();}return null;})[_0xe6ed('0x1f')](respondWithResult(_0x1dbb1d,null))['catch'](handleError(_0x1dbb1d,null));};exports['addImap']=function(_0x51d188,_0xe8d4c){if(_0x51d188[_0xe6ed('0x5d')]['id']){delete _0x51d188[_0xe6ed('0x5d')]['id'];}return db[_0xe6ed('0x41')][_0xe6ed('0x5f')]({'where':{'id':_0x51d188['params']['id']}})['then'](handleEntityNotFound(_0xe8d4c,null))[_0xe6ed('0x1f')](function(_0x14c61e){if(_0x14c61e){_0x51d188[_0xe6ed('0x5d')][_0xe6ed('0x61')]=_0x14c61e['id'];return db[_0xe6ed('0x5a')][_0xe6ed('0x63')](_0x51d188[_0xe6ed('0x5d')]);}})[_0xe6ed('0x1f')](respondWithResult(_0xe8d4c,null))[_0xe6ed('0x14')](handleError(_0xe8d4c,null));};exports[_0xe6ed('0x78')]=function(_0x12c051,_0x507f70){return db[_0xe6ed('0x41')][_0xe6ed('0x65')]({'where':{'id':_0x12c051[_0xe6ed('0x59')]['id']}})[_0xe6ed('0x1f')](handleEntityNotFound(_0x507f70,null))[_0xe6ed('0x1f')](function(_0x5a2047){if(_0x5a2047){return _0x5a2047['setImap'](null);}return null;})['then'](respondWithStatusCode(_0x507f70,null))[_0xe6ed('0x14')](handleError(_0x507f70,null));};exports[_0xe6ed('0x79')]=function(_0x32085a,_0x40b884){return db[_0xe6ed('0x41')]['findOne']({'where':{'id':_0x32085a[_0xe6ed('0x59')]['id']}})['then'](handleEntityNotFound(_0x40b884,null))[_0xe6ed('0x1f')](function(_0x420260){if(_0x420260){return _0x420260[_0xe6ed('0x79')]();}return null;})[_0xe6ed('0x1f')](respondWithResult(_0x40b884,null))[_0xe6ed('0x14')](handleError(_0x40b884,null));};exports[_0xe6ed('0x7a')]=function(_0x40de6c,_0x5fefdd){if(_0x40de6c[_0xe6ed('0x5d')]['id']){delete _0x40de6c['body']['id'];}return db[_0xe6ed('0x41')][_0xe6ed('0x5f')]({'where':{'id':_0x40de6c['params']['id']}})['then'](handleEntityNotFound(_0x5fefdd,null))[_0xe6ed('0x1f')](function(_0x1579ab){if(_0x1579ab){_0x40de6c['body'][_0xe6ed('0x61')]=_0x1579ab['id'];return db['MailServerOut']['create'](_0x40de6c[_0xe6ed('0x5d')]);}})[_0xe6ed('0x1f')](respondWithResult(_0x5fefdd,null))[_0xe6ed('0x14')](handleError(_0x5fefdd,null));};exports[_0xe6ed('0x7b')]=function(_0x5ddd7b,_0x5edd1d){return db[_0xe6ed('0x41')][_0xe6ed('0x65')]({'where':{'id':_0x5ddd7b[_0xe6ed('0x59')]['id']}})[_0xe6ed('0x1f')](handleEntityNotFound(_0x5edd1d,null))[_0xe6ed('0x1f')](function(_0x4e91e9){if(_0x4e91e9){return _0x4e91e9[_0xe6ed('0x7c')](null);}return null;})[_0xe6ed('0x1f')](respondWithStatusCode(_0x5edd1d,null))['catch'](handleError(_0x5edd1d,null));};exports['addInteraction']=function(_0x11ef12,_0x2a4352){return db['MailInteraction'][_0xe6ed('0x5f')]({'where':{'id':_0x11ef12[_0xe6ed('0x59')]['id']}})['then'](handleEntityNotFound(_0x2a4352,null))[_0xe6ed('0x1f')](function(_0x2f0955){if(_0x2f0955){return _0x2f0955[_0xe6ed('0x7d')](_0x11ef12['body']['ids'],_[_0xe6ed('0x7e')](_0x11ef12[_0xe6ed('0x5d')],[_0xe6ed('0x69'),'id'])||{});}})['then'](respondWithResult(_0x2a4352,null))[_0xe6ed('0x14')](handleError(_0x2a4352,null));};exports[_0xe6ed('0x7f')]=function(_0x3f23fe,_0x35cef5){var _0x39c04b={'raw':![],'where':{}};var _0x4b5979={};var _0x197bdc={'count':0x0,'rows':[]};return db['MailAccount'][_0xe6ed('0x65')]({'where':{'id':_0x3f23fe['params']['id']}})[_0xe6ed('0x1f')](handleEntityNotFound(_0x35cef5,null))[_0xe6ed('0x1f')](function(_0x326087){if(_0x326087){_0x4b5979[_0xe6ed('0x46')]=_['keys'](db[_0xe6ed('0x80')][_0xe6ed('0x42')]);_0x4b5979[_0xe6ed('0x47')]=_[_0xe6ed('0x48')](_0x3f23fe[_0xe6ed('0x47')]);_0x4b5979['filters']=_[_0xe6ed('0x4b')](_0x4b5979[_0xe6ed('0x46')],_0x4b5979['query']);_0x39c04b['attributes']=_['intersection'](_0x4b5979[_0xe6ed('0x46')],qs['fields'](_0x3f23fe[_0xe6ed('0x47')]['fields']));_0x39c04b[_0xe6ed('0x4a')]=_0x39c04b[_0xe6ed('0x4a')]['length']?_0x39c04b['attributes']:_0x4b5979[_0xe6ed('0x46')];if(!_0x3f23fe[_0xe6ed('0x47')][_0xe6ed('0x4e')]('nolimit')){_0x39c04b[_0xe6ed('0x1a')]=qs[_0xe6ed('0x1a')](_0x3f23fe[_0xe6ed('0x47')][_0xe6ed('0x1a')]);_0x39c04b[_0xe6ed('0x1c')]=qs[_0xe6ed('0x1c')](_0x3f23fe[_0xe6ed('0x47')]['offset']);}_0x39c04b[_0xe6ed('0x4f')]=qs[_0xe6ed('0x50')](_0x3f23fe['query'][_0xe6ed('0x50')]);_0x39c04b['where']=qs[_0xe6ed('0x49')](_[_0xe6ed('0x67')](_0x3f23fe[_0xe6ed('0x47')],_0x4b5979['filters']));_0x39c04b[_0xe6ed('0x51')][_0xe6ed('0x61')]=_0x326087['id'];if(_0x3f23fe[_0xe6ed('0x47')][_0xe6ed('0x52')]){_0x39c04b['where']=_[_0xe6ed('0x53')](_0x39c04b['where'],{'$or':_['map'](_0x39c04b['attributes'],function(_0x2857a2){var _0x40af02={};_0x40af02[_0x2857a2]={'$like':'%'+_0x3f23fe[_0xe6ed('0x47')][_0xe6ed('0x52')]+'%'};return _0x40af02;})});}_0x39c04b=_[_0xe6ed('0x53')]({},_0x39c04b,_0x3f23fe['options']);return db[_0xe6ed('0x80')]['count']({'where':_0x39c04b[_0xe6ed('0x51')]})[_0xe6ed('0x1f')](function(_0x579b54){_0x197bdc[_0xe6ed('0x1b')]=_0x579b54;if(_0x3f23fe[_0xe6ed('0x47')][_0xe6ed('0x55')]){_0x39c04b[_0xe6ed('0x5b')]=[{'model':db['CmContact'],'as':_0xe6ed('0x81'),'required':![]},{'model':db[_0xe6ed('0x82')],'as':_0xe6ed('0x83'),'attributes':[_0xe6ed('0x25'),_0xe6ed('0x84'),_0xe6ed('0x85')],'required':![]},{'model':db[_0xe6ed('0x86')],'as':_0xe6ed('0x87'),'attributes':['id',_0xe6ed('0x25'),_0xe6ed('0x88')],'where':_0x3f23fe[_0xe6ed('0x47')][_0xe6ed('0x89')]?{'id':_0x3f23fe[_0xe6ed('0x47')][_0xe6ed('0x89')]}:undefined,'required':_0x3f23fe[_0xe6ed('0x47')][_0xe6ed('0x89')]?!![]:![]}];}return db[_0xe6ed('0x80')][_0xe6ed('0x56')](_0x39c04b);})[_0xe6ed('0x1f')](function(_0x415646){_0x197bdc['rows']=_0x415646;return _0x197bdc;});}})[_0xe6ed('0x1f')](respondWithFilteredResult(_0x35cef5,_0x39c04b))['catch'](handleError(_0x35cef5,null));};exports[_0xe6ed('0x8a')]=function addApplications(_0x3bcfd7,_0x4a7e0f){var _0x121a19=_0x3bcfd7['params']['id'];var _0x381299=_0x3bcfd7[_0xe6ed('0x5d')];var _0x3f4d02=0xc8;var _0x1ab4b4=null;return db[_0xe6ed('0x8b')][_0xe6ed('0x8c')]({'isolationLevel':db[_0xe6ed('0x8b')][_0xe6ed('0x8d')][_0xe6ed('0x8e')][_0xe6ed('0x8f')]},function(_0x35ffdd){return db[_0xe6ed('0x41')]['findOne']({'where':{'id':_0x121a19},'transaction':_0x35ffdd})[_0xe6ed('0x1f')](function(_0xa23e75){if(_0xa23e75){return db[_0xe6ed('0x90')][_0xe6ed('0x20')]({'where':{'MailAccountId':_0x121a19},'transaction':_0x35ffdd})['then'](function(){var _0x5a658f=_[_0xe6ed('0x6b')](_0x381299,function(_0x26c9c4){_0x26c9c4[_0xe6ed('0x61')]=_0x121a19;return _0x26c9c4;});return db[_0xe6ed('0x90')][_0xe6ed('0x91')](_0x5a658f,{'transaction':_0x35ffdd});});}else{_0x3f4d02=0x194;_0x1ab4b4=[];}});})[_0xe6ed('0x1f')](function(){if(_0x3f4d02!==0x194){return db[_0xe6ed('0x90')]['findAndCountAll']({'where':{'MailAccountId':_0x121a19},'order':_0xe6ed('0x92')})[_0xe6ed('0x1f')](function(_0x17fad2){_0x1ab4b4=_0x17fad2;});}})[_0xe6ed('0x14')](function(_0x1b6925){_0x3f4d02=0x1f4;logger[_0xe6ed('0x10')](_0x1b6925[_0xe6ed('0x24')]);if(_0x1b6925['name']){delete _0x1b6925['name'];}_0x1ab4b4=_0x1b6925;})[_0xe6ed('0x93')](function(){if(_0x1ab4b4===null){_0x4a7e0f[_0xe6ed('0x15')](_0x3f4d02);}else{if(_0x3f4d02===0x1f4){_0x4a7e0f['status'](_0x3f4d02)['send'](_0x1ab4b4);}else{_0x4a7e0f[_0xe6ed('0x16')](_0x3f4d02)['json'](_0x1ab4b4);}}});};exports[_0xe6ed('0x94')]=function(_0x280964,_0x505a5e){var _0x5e33bb={};var _0x1ab655={};var _0x281575;var _0x1e974c;return db[_0xe6ed('0x41')][_0xe6ed('0x65')]({'where':{'id':_0x280964[_0xe6ed('0x59')]['id']}})[_0xe6ed('0x1f')](handleEntityNotFound(_0x505a5e,null))[_0xe6ed('0x1f')](function(_0x56f5a7){if(_0x56f5a7){_0x281575=_0x56f5a7;_0x1ab655[_0xe6ed('0x46')]=_[_0xe6ed('0x48')](db[_0xe6ed('0x90')][_0xe6ed('0x42')]);_0x1ab655[_0xe6ed('0x47')]=_['keys'](_0x280964[_0xe6ed('0x47')]);_0x1ab655[_0xe6ed('0x49')]=_[_0xe6ed('0x4b')](_0x1ab655[_0xe6ed('0x46')],_0x1ab655['query']);_0x5e33bb[_0xe6ed('0x4a')]=_['intersection'](_0x1ab655['model'],qs['fields'](_0x280964[_0xe6ed('0x47')]['fields']));_0x5e33bb[_0xe6ed('0x4a')]=_0x5e33bb[_0xe6ed('0x4a')]['length']?_0x5e33bb[_0xe6ed('0x4a')]:_0x1ab655['model'];_0x5e33bb[_0xe6ed('0x4f')]=qs[_0xe6ed('0x50')](_0x280964[_0xe6ed('0x47')][_0xe6ed('0x50')]);_0x5e33bb[_0xe6ed('0x51')]=qs[_0xe6ed('0x49')](_[_0xe6ed('0x67')](_0x280964[_0xe6ed('0x47')],_0x1ab655[_0xe6ed('0x49')]));if(_0x280964[_0xe6ed('0x47')][_0xe6ed('0x52')]){_0x5e33bb[_0xe6ed('0x51')]=_[_0xe6ed('0x53')](_0x5e33bb[_0xe6ed('0x51')],{'$or':_[_0xe6ed('0x6b')](_0x5e33bb[_0xe6ed('0x4a')],function(_0x4bb4c0){var _0x150d8e={};_0x150d8e[_0x4bb4c0]={'$like':'%'+_0x280964['query']['filter']+'%'};return _0x150d8e;})});}_0x5e33bb=_['merge']({},_0x5e33bb,_0x280964[_0xe6ed('0x5c')]);return _0x281575[_0xe6ed('0x94')](_0x5e33bb);}})[_0xe6ed('0x1f')](function(_0x3356ac){if(_0x3356ac){_0x1e974c=_0x3356ac['length'];if(!_0x280964[_0xe6ed('0x47')][_0xe6ed('0x4e')](_0xe6ed('0x66'))){_0x5e33bb[_0xe6ed('0x1a')]=qs[_0xe6ed('0x1a')](_0x280964[_0xe6ed('0x47')][_0xe6ed('0x1a')]);_0x5e33bb[_0xe6ed('0x1c')]=qs['offset'](_0x280964[_0xe6ed('0x47')][_0xe6ed('0x1c')]);}return _0x281575[_0xe6ed('0x94')](_0x5e33bb);}})[_0xe6ed('0x1f')](function(_0x14d7a8){if(_0x14d7a8){return _0x14d7a8?{'count':_0x1e974c,'rows':_0x14d7a8}:null;}})['then'](respondWithResult(_0x505a5e,null))[_0xe6ed('0x14')](handleError(_0x505a5e,null));};exports[_0xe6ed('0x95')]=function(_0x339f26,_0x172f84){var _0x133182={'raw':!![],'where':{}};var _0x22b898={};var _0x337cc2={'count':0x0,'rows':[]};return db['MailAccount']['findOne']({'where':{'id':_0x339f26[_0xe6ed('0x59')]['id']}})[_0xe6ed('0x1f')](handleEntityNotFound(_0x172f84,null))['then'](function(_0x2723ef){if(_0x2723ef){_0x22b898['model']=_['keys'](db['MailMessage']['rawAttributes']);_0x22b898[_0xe6ed('0x47')]=_[_0xe6ed('0x48')](_0x339f26[_0xe6ed('0x47')]);_0x22b898[_0xe6ed('0x49')]=_[_0xe6ed('0x4b')](_0x22b898[_0xe6ed('0x46')],_0x22b898['query']);_0x133182[_0xe6ed('0x4a')]=_[_0xe6ed('0x4b')](_0x22b898[_0xe6ed('0x46')],qs['fields'](_0x339f26['query'][_0xe6ed('0x4c')]));_0x133182['attributes']=_0x133182[_0xe6ed('0x4a')][_0xe6ed('0x4d')]?_0x133182[_0xe6ed('0x4a')]:_0x22b898[_0xe6ed('0x46')];if(!_0x339f26[_0xe6ed('0x47')][_0xe6ed('0x4e')](_0xe6ed('0x66'))){_0x133182['limit']=qs[_0xe6ed('0x1a')](_0x339f26[_0xe6ed('0x47')][_0xe6ed('0x1a')]);_0x133182[_0xe6ed('0x1c')]=qs[_0xe6ed('0x1c')](_0x339f26['query']['offset']);}_0x133182[_0xe6ed('0x4f')]=qs[_0xe6ed('0x50')](_0x339f26[_0xe6ed('0x47')][_0xe6ed('0x50')]);_0x133182[_0xe6ed('0x51')]=qs['filters'](_[_0xe6ed('0x67')](_0x339f26['query'],_0x22b898['filters']));_0x133182[_0xe6ed('0x51')]['MailAccountId']=_0x2723ef['id'];if(_0x339f26[_0xe6ed('0x47')][_0xe6ed('0x52')]){_0x133182[_0xe6ed('0x51')]=_[_0xe6ed('0x53')](_0x133182[_0xe6ed('0x51')],{'$or':_[_0xe6ed('0x6b')](_0x133182[_0xe6ed('0x4a')],function(_0x449e72){var _0x2aedf9={};_0x2aedf9[_0x449e72]={'$like':'%'+_0x339f26[_0xe6ed('0x47')][_0xe6ed('0x52')]+'%'};return _0x2aedf9;})});}if(_0x339f26[_0xe6ed('0x47')][_0xe6ed('0x96')]){var _0x5c6a18=_0x339f26['query'][_0xe6ed('0x96')][_0xe6ed('0x97')](',');var _0xd12cf={};_0xd12cf[_0x5c6a18[0x0]]={'$gte':moment(_0x5c6a18[0x1])[_0xe6ed('0x98')](_0xe6ed('0x99'))};_0x133182[_0xe6ed('0x51')]=_[_0xe6ed('0x53')](_0x133182[_0xe6ed('0x51')],_0xd12cf);}_0x133182=_[_0xe6ed('0x53')]({},_0x133182,_0x339f26[_0xe6ed('0x5c')]);return db[_0xe6ed('0x9a')][_0xe6ed('0x1b')]({'where':_0x133182[_0xe6ed('0x51')]})[_0xe6ed('0x1f')](function(_0x5d86dc){_0x337cc2[_0xe6ed('0x1b')]=_0x5d86dc;if(_0x339f26['query'][_0xe6ed('0x55')]){_0x133182[_0xe6ed('0x5b')]=[{'all':!![]}];}return db[_0xe6ed('0x9a')][_0xe6ed('0x56')](_0x133182);})[_0xe6ed('0x1f')](function(_0x1f07c6){if(_0x339f26['query']['inlineCss']===_0xe6ed('0x9b')){for(var _0x112206=0x0;_0x112206<_0x1f07c6[_0xe6ed('0x4d')];_0x112206++){_0x1f07c6[_0x112206][_0xe6ed('0x5d')]=juice(_0x1f07c6[_0x112206][_0xe6ed('0x5d')]);}}_0x337cc2['rows']=_0x1f07c6;return _0x337cc2;});}})[_0xe6ed('0x1f')](respondWithFilteredResult(_0x172f84,_0x133182))[_0xe6ed('0x14')](handleError(_0x172f84,null));};exports[_0xe6ed('0x9c')]=function(_0x3e0d1a,_0x30ace4){var _0x2126d6,_0x4eca36={},_0xa2ec1e;if(_0x3e0d1a['body']['to']){_0xa2ec1e=_0x3e0d1a[_0xe6ed('0x5d')]['to'][_0xe6ed('0x97')](',')[0x0];}return db[_0xe6ed('0x41')][_0xe6ed('0x5f')]({'where':{'id':_0x3e0d1a[_0xe6ed('0x59')]['id']},'include':[{'model':db[_0xe6ed('0x9d')],'as':_0xe6ed('0x9e'),'include':[{'model':db[_0xe6ed('0x9f')],'as':_0xe6ed('0xa0'),'where':{'email':_0xa2ec1e},'limit':0x1,'order':[[_0xe6ed('0xa1'),_0xe6ed('0xa2')]]}]},{'model':db['MailServerOut'],'as':'Smtp','raw':!![],'include':[{'model':db[_0xe6ed('0xa3')],'as':_0xe6ed('0xa3'),'raw':!![]}]}]})[_0xe6ed('0x1f')](handleEntityNotFound(_0x30ace4,null))[_0xe6ed('0x1f')](function(_0x42f0f1){if(!_0x42f0f1)return;_0x2126d6=_0x42f0f1;if(!_0x42f0f1['Smtp'])throw new Error(_0xe6ed('0xa4'));if(_[_0xe6ed('0x71')](_0x3e0d1a[_0xe6ed('0x5d')][_0xe6ed('0xa5')])){_0x3e0d1a[_0xe6ed('0x5d')]['from']=util[_0xe6ed('0x98')]('%s\x20<%s>',_0x42f0f1[_0xe6ed('0x25')],_0x42f0f1[_0xe6ed('0x6f')]||_0x42f0f1[_0xe6ed('0x3c')][_0xe6ed('0x30')]);}if(_0x3e0d1a[_0xe6ed('0x5d')][_0xe6ed('0xa6')]&&_0x3e0d1a[_0xe6ed('0x5d')][_0xe6ed('0xa6')][_0xe6ed('0x4d')]){for(var _0x17ee2e=0x0;_0x17ee2e<_0x3e0d1a[_0xe6ed('0x5d')]['attachments'][_0xe6ed('0x4d')];_0x17ee2e+=0x1){_0x3e0d1a[_0xe6ed('0x5d')]['attachments'][_0x17ee2e]={'filename':_0x3e0d1a[_0xe6ed('0x5d')]['attachments'][_0x17ee2e][_0xe6ed('0x25')],'path':path['join'](config[_0xe6ed('0xa7')],'server/files/attachments',_0x3e0d1a[_0xe6ed('0x5d')]['attachments'][_0x17ee2e][_0xe6ed('0xa8')])};}}var _0x4759c4=_0x42f0f1[_0xe6ed('0xa9')]();return respondWithRpcPromise(_0xe6ed('0xaa'),_0xe6ed('0xab'),{'account':_0x4759c4,'message':_0x3e0d1a['body']});})[_0xe6ed('0x1f')](function(_0x401449){if(!_0x401449)return;_0x4eca36=_0x401449;if(!_0x2126d6[_0xe6ed('0x9e')])throw new Error(_0xe6ed('0xac'));if(_0x2126d6[_0xe6ed('0x9e')][_0xe6ed('0xa0')][_0xe6ed('0x4d')])return _0x2126d6[_0xe6ed('0x9e')][_0xe6ed('0xa0')][0x0];return db['CmContact'][_0xe6ed('0x63')](_['defaults'](_0x3e0d1a[_0xe6ed('0x5d')],{'firstName':_0x3e0d1a[_0xe6ed('0x5d')]['to'],'email':_0x3e0d1a['body']['to'],'phone':_0x3e0d1a[_0xe6ed('0x5d')]['to'],'ListId':_0x2126d6[_0xe6ed('0x70')]}));})[_0xe6ed('0x1f')](function(_0x41ee0f){if(!_0x41ee0f)return;var _0x4296b3={'UserId':_0x3e0d1a[_0xe6ed('0x30')]['id'],'ContactId':_0x41ee0f['id'],'MailAccountId':_0x2126d6['id'],'inReplyTo':_0x4eca36[_0xe6ed('0xad')],'to':_0x3e0d1a[_0xe6ed('0x5d')][_0xe6ed('0xa5')],'cc':_0x3e0d1a[_0xe6ed('0x5d')]['cc'],'subject':_0x3e0d1a[_0xe6ed('0x5d')]['subject'],'attach':_0x3e0d1a[_0xe6ed('0x5d')]['attach'],'firstMsgDirection':_0xe6ed('0xae'),'lastMsgAt':moment()[_0xe6ed('0x98')](_0xe6ed('0x99')),'lastMsgDirection':'out','Messages':[_[_0xe6ed('0x53')](_0x3e0d1a[_0xe6ed('0x5d')],{'messageId':_0x4eca36[_0xe6ed('0xad')],'sentAt':moment()['format'](_0xe6ed('0x99')),'read':!![],'MailAccountId':_0x2126d6['id'],'UserId':_0x3e0d1a[_0xe6ed('0x30')]['id'],'ContactId':_0x41ee0f['id']})]};if(_0x3e0d1a['body'][_0xe6ed('0xaf')]){_0x4296b3=_[_0xe6ed('0x53')](_0x4296b3,_0x3e0d1a['body'][_0xe6ed('0xaf')]);}return db['MailInteraction']['create'](_0x4296b3,{'include':[{'model':db['MailMessage'],'as':'Messages'}]});})[_0xe6ed('0x1f')](respondWithResult(_0x30ace4,null))[_0xe6ed('0x14')](handleError(_0x30ace4,null));};exports['verifySmtp']=function(_0x255c5a,_0x5e4c68){return db[_0xe6ed('0x41')][_0xe6ed('0x5f')]({'where':{'id':_0x255c5a[_0xe6ed('0x59')]['id']},'include':[{'model':db[_0xe6ed('0x3e')],'as':_0xe6ed('0x3c'),'raw':!![],'include':[{'model':db[_0xe6ed('0xa3')],'as':_0xe6ed('0xa3'),'raw':!![]}]}]})[_0xe6ed('0x1f')](handleEntityNotFound(_0x5e4c68,null))[_0xe6ed('0x1f')](function(_0x4d3884){if(!_0x4d3884[_0xe6ed('0x3c')])return;var _0x40139f=_0x4d3884[_0xe6ed('0xa9')]();return respondWithRpcPromise(_0xe6ed('0xb0'),_0xe6ed('0xb1'),{'account':_0x40139f});})['then'](respondWithResult(_0x5e4c68,null))[_0xe6ed('0x14')](handleError(_0x5e4c68,null));};exports[_0xe6ed('0x20')]=function(_0x314f28,_0x48f620){return db[_0xe6ed('0x41')][_0xe6ed('0x5f')]({'where':{'id':_0x314f28[_0xe6ed('0x59')]['id']}})[_0xe6ed('0x1f')](handleEntityNotFound(_0x48f620,null))[_0xe6ed('0x1f')](function(_0x5094c3){if(_0x5094c3&&_0x5094c3[_0xe6ed('0x39')]){throw new db[(_0xe6ed('0xb2'))][(_0xe6ed('0xb3'))](_0xe6ed('0xb4'));}return _0x5094c3;})[_0xe6ed('0x1f')](removeEntity(_0x48f620,null))[_0xe6ed('0x14')](handleError(_0x48f620,null));};exports[_0xe6ed('0xb5')]=function(_0xcffbd5,_0x171b86){return db[_0xe6ed('0x41')][_0xe6ed('0x5f')]({'where':{'id':_0xcffbd5[_0xe6ed('0x59')]['id']}})[_0xe6ed('0x1f')](handleEntityNotFound(_0x171b86,null))[_0xe6ed('0x1f')](function(_0x20d87c){if(_0x20d87c){return _0x20d87c[_0xe6ed('0xb5')](_0xcffbd5['body']['ids'],_[_0xe6ed('0x7e')](_0xcffbd5[_0xe6ed('0x5d')],[_0xe6ed('0x69'),'id'])||{})[_0xe6ed('0xb6')](function(_0x557478){for(var _0x89a7d0=0x0;_0x89a7d0<_0xcffbd5['body']['ids'][_0xe6ed('0x4d')];_0x89a7d0+=0x1){socket[_0xe6ed('0xb7')](_0xe6ed('0xb8'),{'UserId':Number(_0xcffbd5['body']['ids'][_0x89a7d0]),'MailAccountId':Number(_0xcffbd5[_0xe6ed('0x59')]['id'])});}return _0x557478;});}})[_0xe6ed('0x1f')](respondWithResult(_0x171b86,null))['catch'](handleError(_0x171b86,null));};exports[_0xe6ed('0xb9')]=function(_0x2c0a9d,_0x4caae3){return db['MailAccount'][_0xe6ed('0x5f')]({'where':{'id':_0x2c0a9d[_0xe6ed('0x59')]['id']}})[_0xe6ed('0x1f')](handleEntityNotFound(_0x4caae3,null))['then'](function(_0x5a076f){if(_0x5a076f){return _0x5a076f[_0xe6ed('0xb9')](_0x2c0a9d[_0xe6ed('0x47')]['ids'])[_0xe6ed('0x1f')](function(){if(_[_0xe6ed('0xba')](_0x2c0a9d['query'][_0xe6ed('0x69')])){for(var _0x13a40b=0x0;_0x13a40b<_0x2c0a9d[_0xe6ed('0x47')][_0xe6ed('0x69')][_0xe6ed('0x4d')];_0x13a40b+=0x1){socket[_0xe6ed('0xb7')](_0xe6ed('0xbb'),{'UserId':Number(_0x2c0a9d[_0xe6ed('0x47')]['ids'][_0x13a40b]),'MailAccountId':Number(_0x2c0a9d['params']['id'])});}}else{socket[_0xe6ed('0xb7')](_0xe6ed('0xbb'),{'UserId':Number(_0x2c0a9d['query'][_0xe6ed('0x69')]),'MailAccountId':Number(_0x2c0a9d[_0xe6ed('0x59')]['id'])});}});}})[_0xe6ed('0x1f')](respondWithStatusCode(_0x4caae3,null))['catch'](handleError(_0x4caae3,null));};exports[_0xe6ed('0xbc')]=function(_0x2ed9fe,_0x3a6d6c){var _0x3410dd={};var _0x2de0ee={};var _0xdd8c36;var _0x501dfc;return db[_0xe6ed('0x41')][_0xe6ed('0x65')]({'where':{'id':_0x2ed9fe[_0xe6ed('0x59')]['id']}})[_0xe6ed('0x1f')](handleEntityNotFound(_0x3a6d6c,null))['then'](function(_0x232730){if(_0x232730){_0xdd8c36=_0x232730;_0x2de0ee[_0xe6ed('0x46')]=_['keys'](db['User'][_0xe6ed('0x42')]);_0x2de0ee[_0xe6ed('0x47')]=_[_0xe6ed('0x48')](_0x2ed9fe[_0xe6ed('0x47')]);_0x2de0ee[_0xe6ed('0x49')]=_[_0xe6ed('0x4b')](_0x2de0ee[_0xe6ed('0x46')],_0x2de0ee[_0xe6ed('0x47')]);_0x3410dd[_0xe6ed('0x4a')]=_[_0xe6ed('0x4b')](_0x2de0ee['model'],qs[_0xe6ed('0x4c')](_0x2ed9fe['query'][_0xe6ed('0x4c')]));_0x3410dd[_0xe6ed('0x4a')]=_0x3410dd['attributes']['length']?_0x3410dd[_0xe6ed('0x4a')]:_0x2de0ee[_0xe6ed('0x46')];_0x3410dd[_0xe6ed('0x4f')]=qs[_0xe6ed('0x50')](_0x2ed9fe[_0xe6ed('0x47')][_0xe6ed('0x50')]);_0x3410dd['where']=qs['filters'](_[_0xe6ed('0x67')](_0x2ed9fe[_0xe6ed('0x47')],_0x2de0ee[_0xe6ed('0x49')]));if(_0x2ed9fe[_0xe6ed('0x47')][_0xe6ed('0x52')]){_0x3410dd[_0xe6ed('0x51')]=_[_0xe6ed('0x53')](_0x3410dd[_0xe6ed('0x51')],{'$or':_[_0xe6ed('0x6b')](_0x3410dd[_0xe6ed('0x4a')],function(_0x549d25){var _0x5c0ea1={};_0x5c0ea1[_0x549d25]={'$like':'%'+_0x2ed9fe[_0xe6ed('0x47')][_0xe6ed('0x52')]+'%'};return _0x5c0ea1;})});}_0x3410dd=_[_0xe6ed('0x53')]({},_0x3410dd,_0x2ed9fe['options']);return _0xdd8c36[_0xe6ed('0xbc')](_0x3410dd);}})[_0xe6ed('0x1f')](function(_0x2d05e8){if(_0x2d05e8){_0x501dfc=_0x2d05e8[_0xe6ed('0x4d')];if(!_0x2ed9fe[_0xe6ed('0x47')][_0xe6ed('0x4e')]('nolimit')){_0x3410dd[_0xe6ed('0x1a')]=qs[_0xe6ed('0x1a')](_0x2ed9fe[_0xe6ed('0x47')][_0xe6ed('0x1a')]);_0x3410dd[_0xe6ed('0x1c')]=qs[_0xe6ed('0x1c')](_0x2ed9fe[_0xe6ed('0x47')][_0xe6ed('0x1c')]);}return _0xdd8c36[_0xe6ed('0xbc')](_0x3410dd);}})[_0xe6ed('0x1f')](function(_0x21c48d){if(_0x21c48d){return _0x21c48d?{'count':_0x501dfc,'rows':_0x21c48d}:null;}})[_0xe6ed('0x1f')](respondWithResult(_0x3a6d6c,null))[_0xe6ed('0x14')](handleError(_0x3a6d6c,null));};