Built motion from commit eddce310.|2.6.12
[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 _0x44fd=['server/files/attachments','getSmtpOptions','SendMail','sendMail','messageId','subject','attach','out','Interaction','Messages','verifySmtp','ValidationError','addAgents','emit','userMailAccount:save','removeAgents','userMailAccount:remove','getAgents','moment','bluebird','path','lodash','juice','../../config/logger','api','../../config/environment','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','http','request','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','message','result','sendStatus','status','end','json','offset','undefined','count','limit','set','update','destroy','MailAccounts','UserProfileResource','stack','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','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','user','Imap','Smtp','MailServerIn','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','type','key','query','keys','filters','attributes','intersection','model','fields','length','hasOwnProperty','nolimit','order','where','filter','merge','VIRTUAL','includeAll','include','findAll','rows','params','MailServerOut','options','find','body','custom','provider','Mail\x20Account\x20not\x20found','catch','describe','addDisposition','MailAccountId','create','getDispositions','findOne','Disposition','sort','pick','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','removeAnswers','ListId','active','get','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','getInteractions','CmContact','Contact','Owner','internal','Tag','Tags','color','tag','addApplications','transaction','sequelize','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','priority','finally','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','CmList','List','Contacts','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','isNil','from','%s\x20<%s>','email','attachments','join'];(function(_0x2b10c6,_0x185590){var _0x3789d2=function(_0x272987){while(--_0x272987){_0x2b10c6['push'](_0x2b10c6['shift']());}};_0x3789d2(++_0x185590);}(_0x44fd,0x186));var _0xd44f=function(_0x1a8ff0,_0x20788d){_0x1a8ff0=_0x1a8ff0-0x0;var _0x3588bf=_0x44fd[_0x1a8ff0];return _0x3588bf;};'use strict';var moment=require(_0xd44f('0x0'));var BPromise=require(_0xd44f('0x1'));var util=require('util');var path=require(_0xd44f('0x2'));var _=require(_0xd44f('0x3'));var juice=require(_0xd44f('0x4'));var Redis=require('ioredis');var qs=require('../../components/parsers/qs');var logger=require(_0xd44f('0x5'))(_0xd44f('0x6'));var config=require(_0xd44f('0x7'));var db=require('../../mysqldb')['db'];config[_0xd44f('0x8')]=_[_0xd44f('0x9')](config[_0xd44f('0x8')],{'host':_0xd44f('0xa'),'port':0x18eb});var socket=require(_0xd44f('0xb'))(new Redis(config[_0xd44f('0x8')]));require(_0xd44f('0xc'))['register'](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0xd44f('0xd')]({'port':0x232b});function respondWithRpcPromise(_0x5eafed,_0x2f5ba6,_0x1b67b3,_0x56c0bc){return new BPromise(function(_0x10c452,_0x767bfb){var _0x1d7c62=_0x56c0bc||client;return _0x1d7c62[_0xd44f('0xe')](_0x5eafed,_0x1b67b3)[_0xd44f('0xf')](function(_0x51e52a){logger[_0xd44f('0x10')](_0xd44f('0x11'),_0x2f5ba6,_0xd44f('0x12'));logger[_0xd44f('0x13')](_0xd44f('0x14'),_0x2f5ba6,_0xd44f('0x12'),JSON[_0xd44f('0x15')](_0x51e52a));if(_0x51e52a['error']){if(_0x51e52a[_0xd44f('0x16')]['code']===0x1f4){logger[_0xd44f('0x16')]('MailAccount,\x20%s,\x20%s',_0x2f5ba6,_0x51e52a[_0xd44f('0x16')][_0xd44f('0x17')]);return _0x767bfb(_0x51e52a[_0xd44f('0x16')]['message']);}logger[_0xd44f('0x16')](_0xd44f('0x11'),_0x2f5ba6,_0x51e52a['error'][_0xd44f('0x17')]);return _0x10c452(_0x51e52a[_0xd44f('0x16')]['message']);}else{logger[_0xd44f('0x10')]('MailAccount,\x20%s,\x20%s',_0x2f5ba6,_0xd44f('0x12'));_0x10c452(_0x51e52a[_0xd44f('0x18')][_0xd44f('0x17')]);}})['catch'](function(_0xb9648c){logger[_0xd44f('0x16')](_0xd44f('0x11'),_0x2f5ba6,_0xb9648c);_0x767bfb(_0xb9648c);});});}function respondWithStatusCode(_0x1e1556,_0x1d4718){_0x1d4718=_0x1d4718||0xcc;return function(_0x41ef04){if(_0x41ef04){return _0x1e1556[_0xd44f('0x19')](_0x1d4718);}return _0x1e1556[_0xd44f('0x1a')](_0x1d4718)[_0xd44f('0x1b')]();};}function respondWithResult(_0x33e860,_0x22885d){_0x22885d=_0x22885d||0xc8;return function(_0xe5f0fa){if(_0xe5f0fa){return _0x33e860[_0xd44f('0x1a')](_0x22885d)[_0xd44f('0x1c')](_0xe5f0fa);}};}function respondWithFilteredResult(_0x1d4512,_0x2d3e3b){return function(_0x43c66f){if(_0x43c66f){var _0x1c4960=typeof _0x2d3e3b[_0xd44f('0x1d')]===_0xd44f('0x1e')&&typeof _0x2d3e3b['limit']==='undefined';var _0x48d233=_0x43c66f[_0xd44f('0x1f')];var _0x435e6e=_0x1c4960?0x0:_0x2d3e3b[_0xd44f('0x1d')];var _0x3f24f1=_0x1c4960?_0x43c66f[_0xd44f('0x1f')]:_0x2d3e3b['offset']+_0x2d3e3b[_0xd44f('0x20')];var _0x22fd61;if(_0x3f24f1>=_0x48d233){_0x3f24f1=_0x48d233;_0x22fd61=0xc8;}else{_0x22fd61=0xce;}_0x1d4512[_0xd44f('0x1a')](_0x22fd61);return _0x1d4512[_0xd44f('0x21')]('Content-Range',_0x435e6e+'-'+_0x3f24f1+'/'+_0x48d233)[_0xd44f('0x1c')](_0x43c66f);}return null;};}function saveUpdates(_0x1d1aa3){return function(_0x54a84d){if(_0x54a84d){return _0x54a84d[_0xd44f('0x22')](_0x1d1aa3)[_0xd44f('0xf')](function(_0x501c41){return _0x501c41;});}return null;};}function removeEntity(_0x1dc014){return function(_0x4f8aeb){if(_0x4f8aeb){return _0x4f8aeb[_0xd44f('0x23')]()['then'](function(){var _0x40865a=_0x4f8aeb['get']({'plain':!![]});var _0x1a4904=_0xd44f('0x24');return db[_0xd44f('0x25')][_0xd44f('0x23')]({'where':{'type':_0x1a4904,'resourceId':_0x40865a['id']}})[_0xd44f('0xf')](function(){return _0x4f8aeb;});})['then'](function(){_0x1dc014[_0xd44f('0x1a')](0xcc)[_0xd44f('0x1b')]();});}};}function handleEntityNotFound(_0x1eaefe){return function(_0x5715b8){if(!_0x5715b8){_0x1eaefe['sendStatus'](0x194);}return _0x5715b8;};}function handleError(_0x3f9fde,_0xa4be89){_0xa4be89=_0xa4be89||0x1f4;return function(_0x3f2dfb){logger[_0xd44f('0x16')](_0x3f2dfb[_0xd44f('0x26')]);if(_0x3f2dfb[_0xd44f('0x27')]){delete _0x3f2dfb[_0xd44f('0x27')];}_0x3f9fde['status'](_0xa4be89)[_0xd44f('0x28')](_0x3f2dfb);};}function getImapHost(_0x46d4ed){switch(_0x46d4ed){case _0xd44f('0x29'):return _0xd44f('0x2a');case _0xd44f('0x2b'):return _0xd44f('0x2c');case'hotmail':return _0xd44f('0x2d');case _0xd44f('0x2e'):return _0xd44f('0x2f');}throw new Error(_0xd44f('0x30'),_0x46d4ed);}function getSmtpHost(_0x5398e8){switch(_0x5398e8){case _0xd44f('0x29'):return'smtp.gmail.com';case _0xd44f('0x2b'):return _0xd44f('0x31');case _0xd44f('0x32'):return'smtp-mail.outlook.com';case _0xd44f('0x2e'):return'smtp.office365.com';}throw new Error('Unknown\x20email\x20service\x20provider',_0x5398e8);}function getAuthenticationOptions(_0x2b8559,_0x1ad24b){var _0x19a7cc={};var _0x42a1db={};if(_0x2b8559){_0x19a7cc['user']=_0x42a1db['user']=_0x1ad24b[_0xd44f('0x33')];_0x19a7cc[_0xd44f('0x34')]=_0x42a1db[_0xd44f('0x35')]=_0x1ad24b['password'];if(_0x1ad24b[_0xd44f('0x36')]){_0x19a7cc[_0xd44f('0x36')]=_0x42a1db[_0xd44f('0x36')]=!![];_0x19a7cc['CloudProviderId']=_0x42a1db[_0xd44f('0x37')]=_0x1ad24b['CloudProviderId'];_0x19a7cc[_0xd44f('0x34')]=_0x42a1db[_0xd44f('0x35')]=null;}else{_0x19a7cc[_0xd44f('0x37')]=_0x42a1db['CloudProviderId']=null;}_0x19a7cc[_0xd44f('0x38')]=getImapHost(_0x2b8559);_0x19a7cc['port']=0x3e1;_0x42a1db[_0xd44f('0x38')]=getSmtpHost(_0x2b8559);_0x42a1db[_0xd44f('0x39')]=0x24b;_0x42a1db[_0xd44f('0x3a')]=![];_0x19a7cc[_0xd44f('0x3b')]=_0x42a1db[_0xd44f('0x3b')]=null;}else{if(_0x1ad24b[_0xd44f('0x3c')]){_0x19a7cc[_0xd44f('0x3d')]=_0x42a1db[_0xd44f('0x3d')]=_0x1ad24b[_0xd44f('0x33')];_0x19a7cc['password']=_0x42a1db['pass']=_0x1ad24b[_0xd44f('0x34')];}else{_0x19a7cc[_0xd44f('0x3c')]=_0x42a1db[_0xd44f('0x3c')]=![];_0x19a7cc[_0xd44f('0x3d')]=_0x42a1db['user']=null;_0x19a7cc[_0xd44f('0x34')]=_0x42a1db[_0xd44f('0x35')]=null;}_0x19a7cc['host']=_0x1ad24b[_0xd44f('0x3e')][_0xd44f('0x38')];_0x19a7cc[_0xd44f('0x39')]=_0x1ad24b['Imap'][_0xd44f('0x39')];_0x42a1db['host']=_0x1ad24b[_0xd44f('0x3f')][_0xd44f('0x38')];_0x42a1db['port']=_0x1ad24b[_0xd44f('0x3f')][_0xd44f('0x39')];}return{'Imap':_0x19a7cc,'Smtp':_0x42a1db};}exports['index']=function(_0x284bab,_0x14fa47){var _0x55a7c3={'include':[{'model':db[_0xd44f('0x40')],'as':'Imap'},{'model':db['MailServerOut'],'as':_0xd44f('0x3f')},{'model':db[_0xd44f('0x41')],'as':_0xd44f('0x42')}]},_0x1ed2d2={},_0x335ef5={'count':0x0,'rows':[]};var _0x2062ba=_[_0xd44f('0x43')](db[_0xd44f('0x44')][_0xd44f('0x45')],function(_0x10cfb0){return{'name':_0x10cfb0['fieldName'],'type':_0x10cfb0[_0xd44f('0x46')][_0xd44f('0x47')]};});_0x1ed2d2['model']=_[_0xd44f('0x43')](_0x2062ba,'name');_0x1ed2d2[_0xd44f('0x48')]=_[_0xd44f('0x49')](_0x284bab[_0xd44f('0x48')]);_0x1ed2d2[_0xd44f('0x4a')]=_['intersection'](_0x1ed2d2['model'],_0x1ed2d2[_0xd44f('0x48')]);_0x55a7c3[_0xd44f('0x4b')]=_[_0xd44f('0x4c')](_0x1ed2d2[_0xd44f('0x4d')],qs[_0xd44f('0x4e')](_0x284bab['query']['fields']));_0x55a7c3[_0xd44f('0x4b')]=_0x55a7c3[_0xd44f('0x4b')][_0xd44f('0x4f')]?_0x55a7c3[_0xd44f('0x4b')]:_0x1ed2d2['model'];if(!_0x284bab[_0xd44f('0x48')][_0xd44f('0x50')](_0xd44f('0x51'))){_0x55a7c3['limit']=qs[_0xd44f('0x20')](_0x284bab[_0xd44f('0x48')][_0xd44f('0x20')]);_0x55a7c3[_0xd44f('0x1d')]=qs[_0xd44f('0x1d')](_0x284bab[_0xd44f('0x48')][_0xd44f('0x1d')]);}_0x55a7c3[_0xd44f('0x52')]=qs['sort'](_0x284bab['query']['sort']);_0x55a7c3[_0xd44f('0x53')]=qs[_0xd44f('0x4a')](_['pick'](_0x284bab[_0xd44f('0x48')],_0x1ed2d2['filters']),_0x2062ba);if(_0x284bab['query'][_0xd44f('0x54')]){_0x55a7c3['where']=_[_0xd44f('0x55')](_0x55a7c3[_0xd44f('0x53')],{'$or':_[_0xd44f('0x43')](_0x2062ba,function(_0xf13e55){if(_0xf13e55[_0xd44f('0x46')]!==_0xd44f('0x56')){var _0x1389f5={};_0x1389f5[_0xf13e55['name']]={'$like':'%'+_0x284bab[_0xd44f('0x48')]['filter']+'%'};return _0x1389f5;}})});}_0x55a7c3=_[_0xd44f('0x55')]({},_0x55a7c3,_0x284bab['options']);var _0x45e82e={'where':_0x55a7c3[_0xd44f('0x53')]};return db[_0xd44f('0x44')][_0xd44f('0x1f')](_0x45e82e)[_0xd44f('0xf')](function(_0x6498ae){_0x335ef5[_0xd44f('0x1f')]=_0x6498ae;if(_0x284bab[_0xd44f('0x48')][_0xd44f('0x57')]){_0x55a7c3[_0xd44f('0x58')]=[{'all':!![]}];}return db[_0xd44f('0x44')][_0xd44f('0x59')](_0x55a7c3);})[_0xd44f('0xf')](function(_0x1ba1f0){_0x335ef5[_0xd44f('0x5a')]=_0x1ba1f0;return _0x335ef5;})[_0xd44f('0xf')](respondWithFilteredResult(_0x14fa47,_0x55a7c3))['catch'](handleError(_0x14fa47,null));};exports['show']=function(_0x55f99f,_0x261726){var _0x382fbd={'raw':![],'where':{'id':_0x55f99f[_0xd44f('0x5b')]['id']},'include':[{'model':db[_0xd44f('0x40')],'as':'Imap'},{'model':db[_0xd44f('0x5c')],'as':_0xd44f('0x3f')},{'model':db[_0xd44f('0x41')],'as':_0xd44f('0x42')}]},_0x33f5ce={};_0x33f5ce['model']=_[_0xd44f('0x49')](db[_0xd44f('0x44')]['rawAttributes']);_0x33f5ce[_0xd44f('0x48')]=_[_0xd44f('0x49')](_0x55f99f[_0xd44f('0x48')]);_0x33f5ce[_0xd44f('0x4a')]=_[_0xd44f('0x4c')](_0x33f5ce[_0xd44f('0x4d')],_0x33f5ce['query']);_0x382fbd[_0xd44f('0x4b')]=_[_0xd44f('0x4c')](_0x33f5ce['model'],qs[_0xd44f('0x4e')](_0x55f99f[_0xd44f('0x48')][_0xd44f('0x4e')]));_0x382fbd[_0xd44f('0x4b')]=_0x382fbd['attributes'][_0xd44f('0x4f')]?_0x382fbd[_0xd44f('0x4b')]:_0x33f5ce[_0xd44f('0x4d')];if(_0x55f99f[_0xd44f('0x48')]['includeAll']){_0x382fbd[_0xd44f('0x58')]=[{'all':!![]}];}_0x382fbd=_[_0xd44f('0x55')]({},_0x382fbd,_0x55f99f[_0xd44f('0x5d')]);return db[_0xd44f('0x44')][_0xd44f('0x5e')](_0x382fbd)[_0xd44f('0xf')](handleEntityNotFound(_0x261726,null))[_0xd44f('0xf')](respondWithResult(_0x261726,null))['catch'](handleError(_0x261726,null));};exports[_0xd44f('0x22')]=function(_0xbccb2c,_0x51c08b){if(_0xbccb2c['body']['id']){delete _0xbccb2c[_0xd44f('0x5f')]['id'];}var _0x3b2507=_0xbccb2c[_0xd44f('0x5f')]['provider']===_0xd44f('0x60')?null:_0xbccb2c[_0xd44f('0x5f')][_0xd44f('0x61')];var _0x39ea48=_0xbccb2c[_0xd44f('0x5f')][_0xd44f('0x3e')]||{};var _0x829e32=_0xbccb2c['body']['Smtp']||{};if(_0x3b2507){_0x39ea48[_0xd44f('0x38')]=getImapHost(_0x3b2507);_0x39ea48[_0xd44f('0x39')]=0x3e1;_0x829e32['host']=getSmtpHost(_0x3b2507);_0x829e32[_0xd44f('0x39')]=0x24b;_0x829e32['secure']=![];}if(_0x829e32[_0xd44f('0x36')]){_0x829e32['secure']=![];}else{_0x829e32[_0xd44f('0x37')]=null;}if(!_0x39ea48[_0xd44f('0x36')])_0x39ea48[_0xd44f('0x37')]=null;_0xbccb2c['body'][_0xd44f('0x3e')]=_0x39ea48;_0xbccb2c[_0xd44f('0x5f')][_0xd44f('0x3f')]=_0x829e32;return db[_0xd44f('0x44')]['find']({'where':{'id':_0xbccb2c['params']['id']},'include':[{'model':db[_0xd44f('0x40')],'as':_0xd44f('0x3e')},{'model':db[_0xd44f('0x5c')],'as':_0xd44f('0x3f')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]})[_0xd44f('0xf')](handleEntityNotFound(_0x51c08b,null))[_0xd44f('0xf')](function(_0x253cb3){if(!_0x253cb3)throw new Error(_0xd44f('0x62'));if(_0x253cb3[_0xd44f('0x3b')])delete _0xbccb2c[_0xd44f('0x5f')][_0xd44f('0x3e')];return _0x253cb3;})[_0xd44f('0xf')](saveUpdates(_0xbccb2c[_0xd44f('0x5f')],null))[_0xd44f('0xf')](function(_0x400577){if(!_0xbccb2c['body'][_0xd44f('0x3e')])return _0x400577;return db[_0xd44f('0x40')][_0xd44f('0x22')](_0xbccb2c[_0xd44f('0x5f')][_0xd44f('0x3e')],{'where':{'MailAccountId':_0x400577['id']}})[_0xd44f('0xf')](function(){return _0x400577;});})[_0xd44f('0xf')](function(_0x350ca7){if(!_0xbccb2c['body'][_0xd44f('0x3f')])return _0x350ca7;return db[_0xd44f('0x5c')][_0xd44f('0x22')](_0xbccb2c[_0xd44f('0x5f')][_0xd44f('0x3f')],{'where':{'MailAccountId':_0x350ca7['id']}})[_0xd44f('0xf')](function(){return _0x350ca7;});})[_0xd44f('0xf')](respondWithResult(_0x51c08b,null))[_0xd44f('0x63')](handleError(_0x51c08b,null));};exports[_0xd44f('0x64')]=function(_0x512db4,_0x54fa17){return db[_0xd44f('0x44')][_0xd44f('0x64')]()[_0xd44f('0xf')](respondWithResult(_0x54fa17,null))[_0xd44f('0x63')](handleError(_0x54fa17,null));};exports[_0xd44f('0x65')]=function(_0x2c80cf,_0x25f8ce){if(_0x2c80cf[_0xd44f('0x5f')]['id']){delete _0x2c80cf[_0xd44f('0x5f')]['id'];}return db[_0xd44f('0x44')][_0xd44f('0x5e')]({'where':{'id':_0x2c80cf[_0xd44f('0x5b')]['id']}})[_0xd44f('0xf')](handleEntityNotFound(_0x25f8ce,null))['then'](function(_0x3de866){if(_0x3de866){_0x2c80cf[_0xd44f('0x5f')][_0xd44f('0x66')]=_0x3de866['id'];return db['Disposition'][_0xd44f('0x67')](_0x2c80cf[_0xd44f('0x5f')]);}})['then'](respondWithResult(_0x25f8ce,null))[_0xd44f('0x63')](handleError(_0x25f8ce,null));};exports[_0xd44f('0x68')]=function(_0x51299b,_0x4158cd){var _0x3ef4b0={'raw':![],'where':{}};var _0x4edce2={};var _0xf01080={'count':0x0,'rows':[]};return db[_0xd44f('0x44')][_0xd44f('0x69')]({'where':{'id':_0x51299b[_0xd44f('0x5b')]['id']}})[_0xd44f('0xf')](handleEntityNotFound(_0x4158cd,null))[_0xd44f('0xf')](function(_0x19ab98){if(_0x19ab98){_0x4edce2['model']=_[_0xd44f('0x49')](db[_0xd44f('0x6a')]['rawAttributes']);_0x4edce2[_0xd44f('0x48')]=_[_0xd44f('0x49')](_0x51299b[_0xd44f('0x48')]);_0x4edce2['filters']=_[_0xd44f('0x4c')](_0x4edce2[_0xd44f('0x4d')],_0x4edce2['query']);_0x3ef4b0['attributes']=_[_0xd44f('0x4c')](_0x4edce2[_0xd44f('0x4d')],qs[_0xd44f('0x4e')](_0x51299b[_0xd44f('0x48')]['fields']));_0x3ef4b0[_0xd44f('0x4b')]=_0x3ef4b0[_0xd44f('0x4b')][_0xd44f('0x4f')]?_0x3ef4b0[_0xd44f('0x4b')]:_0x4edce2[_0xd44f('0x4d')];if(!_0x51299b['query']['hasOwnProperty'](_0xd44f('0x51'))){_0x3ef4b0['limit']=qs[_0xd44f('0x20')](_0x51299b[_0xd44f('0x48')]['limit']);_0x3ef4b0[_0xd44f('0x1d')]=qs['offset'](_0x51299b['query']['offset']);}_0x3ef4b0['order']=qs[_0xd44f('0x6b')](_0x51299b[_0xd44f('0x48')][_0xd44f('0x6b')]);_0x3ef4b0['where']=qs['filters'](_[_0xd44f('0x6c')](_0x51299b[_0xd44f('0x48')],_0x4edce2[_0xd44f('0x4a')]));_0x3ef4b0[_0xd44f('0x53')][_0xd44f('0x66')]=_0x19ab98['id'];if(_0x51299b['query'][_0xd44f('0x54')]){_0x3ef4b0[_0xd44f('0x53')]=_[_0xd44f('0x55')](_0x3ef4b0[_0xd44f('0x53')],{'$or':_[_0xd44f('0x43')](_0x3ef4b0['attributes'],function(_0xc02302){var _0x5e7725={};_0x5e7725[_0xc02302]={'$like':'%'+_0x51299b[_0xd44f('0x48')][_0xd44f('0x54')]+'%'};return _0x5e7725;})});}_0x3ef4b0=_[_0xd44f('0x55')]({},_0x3ef4b0,_0x51299b['options']);return db[_0xd44f('0x6a')][_0xd44f('0x1f')]({'where':_0x3ef4b0[_0xd44f('0x53')]})[_0xd44f('0xf')](function(_0x16086f){_0xf01080[_0xd44f('0x1f')]=_0x16086f;if(_0x51299b[_0xd44f('0x48')][_0xd44f('0x57')]){_0x3ef4b0[_0xd44f('0x58')]=[{'all':!![]}];}return db['Disposition'][_0xd44f('0x59')](_0x3ef4b0);})[_0xd44f('0xf')](function(_0x29a10a){_0xf01080[_0xd44f('0x5a')]=_0x29a10a;return _0xf01080;});}})[_0xd44f('0xf')](respondWithFilteredResult(_0x4158cd,_0x3ef4b0))[_0xd44f('0x63')](handleError(_0x4158cd,null));};exports[_0xd44f('0x6d')]=function(_0x1fd9b8,_0x255d05){return db[_0xd44f('0x44')]['find']({'where':{'id':_0x1fd9b8[_0xd44f('0x5b')]['id']}})[_0xd44f('0xf')](handleEntityNotFound(_0x255d05,null))[_0xd44f('0xf')](function(_0x212831){if(_0x212831){return _0x212831[_0xd44f('0x6d')](_0x1fd9b8[_0xd44f('0x48')][_0xd44f('0x6e')]);}})['then'](respondWithStatusCode(_0x255d05,null))[_0xd44f('0x63')](handleError(_0x255d05,null));};exports[_0xd44f('0x6f')]=function(_0x167ba6,_0x1adefc){if(_0x167ba6[_0xd44f('0x5f')]['id']){delete _0x167ba6[_0xd44f('0x5f')]['id'];}return db['MailAccount'][_0xd44f('0x5e')]({'where':{'id':_0x167ba6[_0xd44f('0x5b')]['id']}})[_0xd44f('0xf')](handleEntityNotFound(_0x1adefc,null))[_0xd44f('0xf')](function(_0xf013b3){if(_0xf013b3){_0x167ba6[_0xd44f('0x5f')]['MailAccountId']=_0xf013b3['id'];return db[_0xd44f('0x70')][_0xd44f('0x67')](_0x167ba6[_0xd44f('0x5f')]);}})['then'](respondWithResult(_0x1adefc,null))[_0xd44f('0x63')](handleError(_0x1adefc,null));};exports[_0xd44f('0x71')]=function(_0x4abb79,_0x240477){var _0x42b829={'raw':![],'where':{}};var _0x3e8aa7={};var _0x1cc1a6={'count':0x0,'rows':[]};return db[_0xd44f('0x44')][_0xd44f('0x69')]({'where':{'id':_0x4abb79[_0xd44f('0x5b')]['id']}})['then'](handleEntityNotFound(_0x240477,null))['then'](function(_0x31dd2e){if(_0x31dd2e){_0x3e8aa7[_0xd44f('0x4d')]=_[_0xd44f('0x49')](db[_0xd44f('0x70')][_0xd44f('0x45')]);_0x3e8aa7[_0xd44f('0x48')]=_['keys'](_0x4abb79['query']);_0x3e8aa7[_0xd44f('0x4a')]=_[_0xd44f('0x4c')](_0x3e8aa7['model'],_0x3e8aa7[_0xd44f('0x48')]);_0x42b829[_0xd44f('0x4b')]=_[_0xd44f('0x4c')](_0x3e8aa7[_0xd44f('0x4d')],qs[_0xd44f('0x4e')](_0x4abb79[_0xd44f('0x48')]['fields']));_0x42b829[_0xd44f('0x4b')]=_0x42b829[_0xd44f('0x4b')][_0xd44f('0x4f')]?_0x42b829[_0xd44f('0x4b')]:_0x3e8aa7['model'];if(!_0x4abb79[_0xd44f('0x48')][_0xd44f('0x50')](_0xd44f('0x51'))){_0x42b829[_0xd44f('0x20')]=qs[_0xd44f('0x20')](_0x4abb79['query']['limit']);_0x42b829[_0xd44f('0x1d')]=qs[_0xd44f('0x1d')](_0x4abb79[_0xd44f('0x48')]['offset']);}_0x42b829[_0xd44f('0x52')]=qs[_0xd44f('0x6b')](_0x4abb79[_0xd44f('0x48')]['sort']);_0x42b829[_0xd44f('0x53')]=qs[_0xd44f('0x4a')](_['pick'](_0x4abb79['query'],_0x3e8aa7[_0xd44f('0x4a')]));_0x42b829[_0xd44f('0x53')][_0xd44f('0x66')]=_0x31dd2e['id'];if(_0x4abb79['query'][_0xd44f('0x54')]){_0x42b829[_0xd44f('0x53')]=_[_0xd44f('0x55')](_0x42b829[_0xd44f('0x53')],{'$or':_['map'](_0x42b829['attributes'],function(_0x4b1a7e){var _0x202252={};_0x202252[_0x4b1a7e]={'$like':'%'+_0x4abb79[_0xd44f('0x48')][_0xd44f('0x54')]+'%'};return _0x202252;})});}_0x42b829=_['merge']({},_0x42b829,_0x4abb79[_0xd44f('0x5d')]);return db[_0xd44f('0x70')][_0xd44f('0x1f')]({'where':_0x42b829['where']})[_0xd44f('0xf')](function(_0x430d3c){_0x1cc1a6[_0xd44f('0x1f')]=_0x430d3c;if(_0x4abb79[_0xd44f('0x48')][_0xd44f('0x57')]){_0x42b829['include']=[{'all':!![]}];}return db[_0xd44f('0x70')]['findAll'](_0x42b829);})['then'](function(_0x20b0df){_0x1cc1a6[_0xd44f('0x5a')]=_0x20b0df;return _0x1cc1a6;});}})[_0xd44f('0xf')](respondWithFilteredResult(_0x240477,_0x42b829))[_0xd44f('0x63')](handleError(_0x240477,null));};exports[_0xd44f('0x72')]=function(_0x1201b2,_0x223c4b){return db['MailAccount'][_0xd44f('0x5e')]({'where':{'id':_0x1201b2[_0xd44f('0x5b')]['id']}})[_0xd44f('0xf')](handleEntityNotFound(_0x223c4b,null))[_0xd44f('0xf')](function(_0x1fe283){if(_0x1fe283){return _0x1fe283[_0xd44f('0x72')](_0x1201b2['query'][_0xd44f('0x6e')]);}})['then'](respondWithStatusCode(_0x223c4b,null))[_0xd44f('0x63')](handleError(_0x223c4b,null));};exports['create']=function(_0x11f0ae,_0x3421cf){var _0x4461cc={'name':_0x11f0ae[_0xd44f('0x5f')][_0xd44f('0x27')],'key':_0x11f0ae[_0xd44f('0x5f')][_0xd44f('0x47')],'provider':_0x11f0ae[_0xd44f('0x5f')][_0xd44f('0x61')]===_0xd44f('0x60')?null:_0x11f0ae[_0xd44f('0x5f')][_0xd44f('0x61')],'email':_0x11f0ae[_0xd44f('0x5f')]['email'],'ListId':_0x11f0ae[_0xd44f('0x5f')][_0xd44f('0x73')],'active':!_['isNil'](_0x11f0ae['body'][_0xd44f('0x74')])?_0x11f0ae[_0xd44f('0x5f')]['active']:!![],'description':_0x11f0ae[_0xd44f('0x5f')]['description']||null};var _0x50abef=getAuthenticationOptions(_0x4461cc[_0xd44f('0x61')],_0x11f0ae[_0xd44f('0x5f')]);_0x4461cc[_0xd44f('0x3e')]=_0x50abef[_0xd44f('0x3e')];_0x4461cc[_0xd44f('0x3f')]=_0x50abef[_0xd44f('0x3f')];return db['MailAccount']['create'](_0x4461cc,{'include':[{'model':db[_0xd44f('0x5c')],'as':_0xd44f('0x3f')},{'model':db['MailServerIn'],'as':_0xd44f('0x3e')}]})['then'](function(_0x33e3cb){var _0xca3efc=_0x11f0ae['user'][_0xd44f('0x75')]({'plain':!![]});if(!_0xca3efc)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xca3efc['role']===_0xd44f('0x3d')){var _0x172102=_0x33e3cb[_0xd44f('0x75')]({'plain':!![]});return db['UserProfileSection']['find']({'where':{'name':_0xd44f('0x24'),'userProfileId':_0xca3efc[_0xd44f('0x76')]},'raw':!![]})[_0xd44f('0xf')](function(_0x225c59){if(_0x225c59&&_0x225c59[_0xd44f('0x77')]===0x0){return db[_0xd44f('0x25')][_0xd44f('0x67')]({'name':_0x172102[_0xd44f('0x27')],'resourceId':_0x172102['id'],'type':_0x225c59['name'],'sectionId':_0x225c59['id']},{})[_0xd44f('0xf')](function(){return _0x33e3cb;});}else{return _0x33e3cb;}})[_0xd44f('0x63')](function(_0x3633c3){logger['error'](_0xd44f('0x78'),_0x3633c3);throw _0x3633c3;});}return _0x33e3cb;})['then'](respondWithResult(_0x3421cf,0xc9))[_0xd44f('0x63')](handleError(_0x3421cf,null));};exports[_0xd44f('0x79')]=function(_0x1ebc96,_0x888081){return db[_0xd44f('0x44')]['findOne']({'where':{'id':_0x1ebc96[_0xd44f('0x5b')]['id']}})[_0xd44f('0xf')](handleEntityNotFound(_0x888081,null))[_0xd44f('0xf')](function(_0x46a9c9){if(_0x46a9c9){return _0x46a9c9[_0xd44f('0x79')]();}return null;})[_0xd44f('0xf')](respondWithResult(_0x888081,null))['catch'](handleError(_0x888081,null));};exports[_0xd44f('0x7a')]=function(_0x443927,_0x114bc1){if(_0x443927[_0xd44f('0x5f')]['id']){delete _0x443927[_0xd44f('0x5f')]['id'];}return db[_0xd44f('0x44')][_0xd44f('0x5e')]({'where':{'id':_0x443927[_0xd44f('0x5b')]['id']}})['then'](handleEntityNotFound(_0x114bc1,null))[_0xd44f('0xf')](function(_0x4f724e){if(_0x4f724e){_0x443927[_0xd44f('0x5f')][_0xd44f('0x66')]=_0x4f724e['id'];return db[_0xd44f('0x40')][_0xd44f('0x67')](_0x443927[_0xd44f('0x5f')]);}})[_0xd44f('0xf')](respondWithResult(_0x114bc1,null))['catch'](handleError(_0x114bc1,null));};exports['removeImap']=function(_0x167b7d,_0x368d4f){return db[_0xd44f('0x44')][_0xd44f('0x69')]({'where':{'id':_0x167b7d[_0xd44f('0x5b')]['id']}})[_0xd44f('0xf')](handleEntityNotFound(_0x368d4f,null))['then'](function(_0x2d1446){if(_0x2d1446){return _0x2d1446[_0xd44f('0x7b')](null);}return null;})['then'](respondWithStatusCode(_0x368d4f,null))[_0xd44f('0x63')](handleError(_0x368d4f,null));};exports['getSmtp']=function(_0x2761c9,_0x392702){return db[_0xd44f('0x44')][_0xd44f('0x69')]({'where':{'id':_0x2761c9[_0xd44f('0x5b')]['id']}})[_0xd44f('0xf')](handleEntityNotFound(_0x392702,null))[_0xd44f('0xf')](function(_0x1e104d){if(_0x1e104d){return _0x1e104d[_0xd44f('0x7c')]();}return null;})[_0xd44f('0xf')](respondWithResult(_0x392702,null))['catch'](handleError(_0x392702,null));};exports[_0xd44f('0x7d')]=function(_0xec4eca,_0x3bfc0d){if(_0xec4eca['body']['id']){delete _0xec4eca[_0xd44f('0x5f')]['id'];}return db[_0xd44f('0x44')][_0xd44f('0x5e')]({'where':{'id':_0xec4eca[_0xd44f('0x5b')]['id']}})['then'](handleEntityNotFound(_0x3bfc0d,null))[_0xd44f('0xf')](function(_0x4d5a95){if(_0x4d5a95){_0xec4eca[_0xd44f('0x5f')][_0xd44f('0x66')]=_0x4d5a95['id'];return db[_0xd44f('0x5c')][_0xd44f('0x67')](_0xec4eca[_0xd44f('0x5f')]);}})['then'](respondWithResult(_0x3bfc0d,null))[_0xd44f('0x63')](handleError(_0x3bfc0d,null));};exports[_0xd44f('0x7e')]=function(_0x1d73a6,_0x89b0ff){return db['MailAccount']['findOne']({'where':{'id':_0x1d73a6[_0xd44f('0x5b')]['id']}})[_0xd44f('0xf')](handleEntityNotFound(_0x89b0ff,null))['then'](function(_0x21a5c3){if(_0x21a5c3){return _0x21a5c3[_0xd44f('0x7f')](null);}return null;})[_0xd44f('0xf')](respondWithStatusCode(_0x89b0ff,null))['catch'](handleError(_0x89b0ff,null));};exports[_0xd44f('0x80')]=function(_0x565f67,_0x59c8b7){return db[_0xd44f('0x81')]['find']({'where':{'id':_0x565f67[_0xd44f('0x5b')]['id']}})[_0xd44f('0xf')](handleEntityNotFound(_0x59c8b7,null))[_0xd44f('0xf')](function(_0x326619){if(_0x326619){return _0x326619[_0xd44f('0x80')](_0x565f67['body'][_0xd44f('0x6e')],_['omit'](_0x565f67[_0xd44f('0x5f')],[_0xd44f('0x6e'),'id'])||{});}})['then'](respondWithResult(_0x59c8b7,null))['catch'](handleError(_0x59c8b7,null));};exports[_0xd44f('0x82')]=function(_0x44eae4,_0x42b8dd){var _0x4b2979={'raw':![],'where':{}};var _0x3b0112={};var _0x373396={'count':0x0,'rows':[]};return db[_0xd44f('0x44')][_0xd44f('0x69')]({'where':{'id':_0x44eae4[_0xd44f('0x5b')]['id']}})[_0xd44f('0xf')](handleEntityNotFound(_0x42b8dd,null))[_0xd44f('0xf')](function(_0x3eacb5){if(_0x3eacb5){_0x3b0112['model']=_[_0xd44f('0x49')](db[_0xd44f('0x81')][_0xd44f('0x45')]);_0x3b0112[_0xd44f('0x48')]=_[_0xd44f('0x49')](_0x44eae4['query']);_0x3b0112[_0xd44f('0x4a')]=_[_0xd44f('0x4c')](_0x3b0112[_0xd44f('0x4d')],_0x3b0112['query']);_0x4b2979['attributes']=_[_0xd44f('0x4c')](_0x3b0112['model'],qs['fields'](_0x44eae4['query'][_0xd44f('0x4e')]));_0x4b2979[_0xd44f('0x4b')]=_0x4b2979['attributes'][_0xd44f('0x4f')]?_0x4b2979['attributes']:_0x3b0112[_0xd44f('0x4d')];if(!_0x44eae4[_0xd44f('0x48')][_0xd44f('0x50')]('nolimit')){_0x4b2979[_0xd44f('0x20')]=qs[_0xd44f('0x20')](_0x44eae4[_0xd44f('0x48')][_0xd44f('0x20')]);_0x4b2979['offset']=qs[_0xd44f('0x1d')](_0x44eae4[_0xd44f('0x48')][_0xd44f('0x1d')]);}_0x4b2979[_0xd44f('0x52')]=qs[_0xd44f('0x6b')](_0x44eae4[_0xd44f('0x48')]['sort']);_0x4b2979[_0xd44f('0x53')]=qs['filters'](_['pick'](_0x44eae4[_0xd44f('0x48')],_0x3b0112[_0xd44f('0x4a')]));_0x4b2979[_0xd44f('0x53')]['MailAccountId']=_0x3eacb5['id'];if(_0x44eae4[_0xd44f('0x48')][_0xd44f('0x54')]){_0x4b2979['where']=_['merge'](_0x4b2979[_0xd44f('0x53')],{'$or':_[_0xd44f('0x43')](_0x4b2979[_0xd44f('0x4b')],function(_0x56fdc0){var _0xa7c783={};_0xa7c783[_0x56fdc0]={'$like':'%'+_0x44eae4['query']['filter']+'%'};return _0xa7c783;})});}_0x4b2979=_[_0xd44f('0x55')]({},_0x4b2979,_0x44eae4['options']);return db[_0xd44f('0x81')]['count']({'where':_0x4b2979[_0xd44f('0x53')]})[_0xd44f('0xf')](function(_0x211734){_0x373396[_0xd44f('0x1f')]=_0x211734;if(_0x44eae4[_0xd44f('0x48')][_0xd44f('0x57')]){_0x4b2979[_0xd44f('0x58')]=[{'model':db[_0xd44f('0x83')],'as':_0xd44f('0x84'),'required':![]},{'model':db['User'],'as':_0xd44f('0x85'),'attributes':[_0xd44f('0x27'),'fullname',_0xd44f('0x86')],'required':![]},{'model':db[_0xd44f('0x87')],'as':_0xd44f('0x88'),'attributes':['id',_0xd44f('0x27'),_0xd44f('0x89')],'where':_0x44eae4[_0xd44f('0x48')][_0xd44f('0x8a')]?{'id':_0x44eae4[_0xd44f('0x48')][_0xd44f('0x8a')]}:undefined,'required':_0x44eae4['query'][_0xd44f('0x8a')]?!![]:![]}];}return db[_0xd44f('0x81')][_0xd44f('0x59')](_0x4b2979);})[_0xd44f('0xf')](function(_0x4d4efa){_0x373396[_0xd44f('0x5a')]=_0x4d4efa;return _0x373396;});}})[_0xd44f('0xf')](respondWithFilteredResult(_0x42b8dd,_0x4b2979))[_0xd44f('0x63')](handleError(_0x42b8dd,null));};exports[_0xd44f('0x8b')]=function addApplications(_0x39a92e,_0x2fddd9){var _0x3f5f23=_0x39a92e[_0xd44f('0x5b')]['id'];var _0x69a058=_0x39a92e[_0xd44f('0x5f')];var _0x511202=0xc8;var _0x883b65=null;return db['sequelize'][_0xd44f('0x8c')]({'isolationLevel':db[_0xd44f('0x8d')]['Transaction']['ISOLATION_LEVELS'][_0xd44f('0x8e')]},function(_0x373689){return db[_0xd44f('0x44')][_0xd44f('0x69')]({'where':{'id':_0x3f5f23},'transaction':_0x373689})[_0xd44f('0xf')](function(_0x1b2690){if(_0x1b2690){return db['MailApplication'][_0xd44f('0x23')]({'where':{'MailAccountId':_0x3f5f23},'transaction':_0x373689})['then'](function(){var _0x5be0b3=_['map'](_0x69a058,function(_0x26ae8f){_0x26ae8f[_0xd44f('0x66')]=_0x3f5f23;return _0x26ae8f;});return db[_0xd44f('0x8f')][_0xd44f('0x90')](_0x5be0b3,{'transaction':_0x373689});});}else{_0x511202=0x194;_0x883b65=[];}});})[_0xd44f('0xf')](function(){if(_0x511202!==0x194){return db[_0xd44f('0x8f')][_0xd44f('0x91')]({'where':{'MailAccountId':_0x3f5f23},'order':_0xd44f('0x92')})['then'](function(_0x36de1d){_0x883b65=_0x36de1d;});}})['catch'](function(_0x4c7011){_0x511202=0x1f4;logger[_0xd44f('0x16')](_0x4c7011[_0xd44f('0x26')]);if(_0x4c7011[_0xd44f('0x27')]){delete _0x4c7011[_0xd44f('0x27')];}_0x883b65=_0x4c7011;})[_0xd44f('0x93')](function(){if(_0x883b65===null){_0x2fddd9[_0xd44f('0x19')](_0x511202);}else{if(_0x511202===0x1f4){_0x2fddd9[_0xd44f('0x1a')](_0x511202)[_0xd44f('0x28')](_0x883b65);}else{_0x2fddd9[_0xd44f('0x1a')](_0x511202)['json'](_0x883b65);}}});};exports[_0xd44f('0x94')]=function(_0x481013,_0x163485){var _0x2ef673={};var _0x497077={};var _0x2925c9;var _0x5cbf5a;return db['MailAccount'][_0xd44f('0x69')]({'where':{'id':_0x481013[_0xd44f('0x5b')]['id']}})[_0xd44f('0xf')](handleEntityNotFound(_0x163485,null))[_0xd44f('0xf')](function(_0x4833dd){if(_0x4833dd){_0x2925c9=_0x4833dd;_0x497077[_0xd44f('0x4d')]=_[_0xd44f('0x49')](db[_0xd44f('0x8f')][_0xd44f('0x45')]);_0x497077[_0xd44f('0x48')]=_[_0xd44f('0x49')](_0x481013['query']);_0x497077[_0xd44f('0x4a')]=_['intersection'](_0x497077[_0xd44f('0x4d')],_0x497077[_0xd44f('0x48')]);_0x2ef673[_0xd44f('0x4b')]=_[_0xd44f('0x4c')](_0x497077[_0xd44f('0x4d')],qs['fields'](_0x481013[_0xd44f('0x48')][_0xd44f('0x4e')]));_0x2ef673[_0xd44f('0x4b')]=_0x2ef673['attributes']['length']?_0x2ef673[_0xd44f('0x4b')]:_0x497077[_0xd44f('0x4d')];_0x2ef673[_0xd44f('0x52')]=qs['sort'](_0x481013[_0xd44f('0x48')][_0xd44f('0x6b')]);_0x2ef673[_0xd44f('0x53')]=qs[_0xd44f('0x4a')](_[_0xd44f('0x6c')](_0x481013['query'],_0x497077[_0xd44f('0x4a')]));if(_0x481013[_0xd44f('0x48')][_0xd44f('0x54')]){_0x2ef673[_0xd44f('0x53')]=_[_0xd44f('0x55')](_0x2ef673['where'],{'$or':_[_0xd44f('0x43')](_0x2ef673[_0xd44f('0x4b')],function(_0x1a6e26){var _0x39c971={};_0x39c971[_0x1a6e26]={'$like':'%'+_0x481013[_0xd44f('0x48')]['filter']+'%'};return _0x39c971;})});}_0x2ef673=_[_0xd44f('0x55')]({},_0x2ef673,_0x481013['options']);return _0x2925c9['getApplications'](_0x2ef673);}})['then'](function(_0x2b283e){if(_0x2b283e){_0x5cbf5a=_0x2b283e[_0xd44f('0x4f')];if(!_0x481013[_0xd44f('0x48')][_0xd44f('0x50')](_0xd44f('0x51'))){_0x2ef673['limit']=qs[_0xd44f('0x20')](_0x481013[_0xd44f('0x48')]['limit']);_0x2ef673[_0xd44f('0x1d')]=qs[_0xd44f('0x1d')](_0x481013[_0xd44f('0x48')]['offset']);}return _0x2925c9[_0xd44f('0x94')](_0x2ef673);}})[_0xd44f('0xf')](function(_0x31538f){if(_0x31538f){return _0x31538f?{'count':_0x5cbf5a,'rows':_0x31538f}:null;}})[_0xd44f('0xf')](respondWithResult(_0x163485,null))['catch'](handleError(_0x163485,null));};exports[_0xd44f('0x95')]=function(_0x249208,_0x31884a){var _0xfd2d77={'raw':!![],'where':{}};var _0x2d6863={};var _0x433166={'count':0x0,'rows':[]};return db[_0xd44f('0x44')][_0xd44f('0x69')]({'where':{'id':_0x249208[_0xd44f('0x5b')]['id']}})[_0xd44f('0xf')](handleEntityNotFound(_0x31884a,null))[_0xd44f('0xf')](function(_0x119cd5){if(_0x119cd5){_0x2d6863['model']=_[_0xd44f('0x49')](db[_0xd44f('0x96')][_0xd44f('0x45')]);_0x2d6863['query']=_[_0xd44f('0x49')](_0x249208[_0xd44f('0x48')]);_0x2d6863['filters']=_[_0xd44f('0x4c')](_0x2d6863['model'],_0x2d6863[_0xd44f('0x48')]);_0xfd2d77[_0xd44f('0x4b')]=_[_0xd44f('0x4c')](_0x2d6863['model'],qs[_0xd44f('0x4e')](_0x249208[_0xd44f('0x48')][_0xd44f('0x4e')]));_0xfd2d77[_0xd44f('0x4b')]=_0xfd2d77['attributes'][_0xd44f('0x4f')]?_0xfd2d77[_0xd44f('0x4b')]:_0x2d6863['model'];if(!_0x249208[_0xd44f('0x48')][_0xd44f('0x50')]('nolimit')){_0xfd2d77[_0xd44f('0x20')]=qs[_0xd44f('0x20')](_0x249208[_0xd44f('0x48')]['limit']);_0xfd2d77[_0xd44f('0x1d')]=qs[_0xd44f('0x1d')](_0x249208['query']['offset']);}_0xfd2d77[_0xd44f('0x52')]=qs[_0xd44f('0x6b')](_0x249208[_0xd44f('0x48')][_0xd44f('0x6b')]);_0xfd2d77['where']=qs['filters'](_[_0xd44f('0x6c')](_0x249208['query'],_0x2d6863['filters']));_0xfd2d77[_0xd44f('0x53')][_0xd44f('0x66')]=_0x119cd5['id'];if(_0x249208[_0xd44f('0x48')][_0xd44f('0x54')]){_0xfd2d77['where']=_[_0xd44f('0x55')](_0xfd2d77[_0xd44f('0x53')],{'$or':_[_0xd44f('0x43')](_0xfd2d77[_0xd44f('0x4b')],function(_0xa59df7){var _0x62122f={};_0x62122f[_0xa59df7]={'$like':'%'+_0x249208[_0xd44f('0x48')]['filter']+'%'};return _0x62122f;})});}if(_0x249208['query']['$gte']){var _0x2ee9b8=_0x249208[_0xd44f('0x48')][_0xd44f('0x97')][_0xd44f('0x98')](',');var _0x36e942={};_0x36e942[_0x2ee9b8[0x0]]={'$gte':moment(_0x2ee9b8[0x1])[_0xd44f('0x99')](_0xd44f('0x9a'))};_0xfd2d77[_0xd44f('0x53')]=_['merge'](_0xfd2d77[_0xd44f('0x53')],_0x36e942);}_0xfd2d77=_[_0xd44f('0x55')]({},_0xfd2d77,_0x249208[_0xd44f('0x5d')]);return db[_0xd44f('0x96')][_0xd44f('0x1f')]({'where':_0xfd2d77[_0xd44f('0x53')]})[_0xd44f('0xf')](function(_0x46e2b6){_0x433166[_0xd44f('0x1f')]=_0x46e2b6;if(_0x249208['query'][_0xd44f('0x57')]){_0xfd2d77[_0xd44f('0x58')]=[{'all':!![]}];}return db[_0xd44f('0x96')][_0xd44f('0x59')](_0xfd2d77);})['then'](function(_0x400eb7){if(_0x249208[_0xd44f('0x48')]['inlineCss']==='true'){for(var _0x5cac41=0x0;_0x5cac41<_0x400eb7[_0xd44f('0x4f')];_0x5cac41++){_0x400eb7[_0x5cac41][_0xd44f('0x5f')]=juice(_0x400eb7[_0x5cac41][_0xd44f('0x5f')]);}}_0x433166['rows']=_0x400eb7;return _0x433166;});}})[_0xd44f('0xf')](respondWithFilteredResult(_0x31884a,_0xfd2d77))[_0xd44f('0x63')](handleError(_0x31884a,null));};exports[_0xd44f('0x28')]=function(_0x4d0c14,_0x7cd53a){var _0x1e0b9b,_0x6d0909={},_0xbc7cad;if(_0x4d0c14[_0xd44f('0x5f')]['to']){_0xbc7cad=_0x4d0c14[_0xd44f('0x5f')]['to'][_0xd44f('0x98')](',')[0x0];}return db[_0xd44f('0x44')]['find']({'where':{'id':_0x4d0c14[_0xd44f('0x5b')]['id']},'include':[{'model':db[_0xd44f('0x9b')],'as':_0xd44f('0x9c'),'include':[{'model':db['CmContact'],'as':_0xd44f('0x9d'),'where':{'email':_0xbc7cad},'limit':0x1,'order':[[_0xd44f('0x9e'),_0xd44f('0x9f')]]}]},{'model':db[_0xd44f('0x5c')],'as':'Smtp','raw':!![],'include':[{'model':db[_0xd44f('0xa0')],'as':_0xd44f('0xa0'),'raw':!![]}]}]})[_0xd44f('0xf')](handleEntityNotFound(_0x7cd53a,null))['then'](function(_0x1dd39c){if(!_0x1dd39c)return;_0x1e0b9b=_0x1dd39c;if(!_0x1dd39c[_0xd44f('0x3f')])throw new Error(_0xd44f('0xa1'));if(_[_0xd44f('0xa2')](_0x4d0c14[_0xd44f('0x5f')]['from'])){_0x4d0c14[_0xd44f('0x5f')][_0xd44f('0xa3')]=util[_0xd44f('0x99')](_0xd44f('0xa4'),_0x1dd39c[_0xd44f('0x27')],_0x1dd39c[_0xd44f('0xa5')]||_0x1dd39c['Smtp'][_0xd44f('0x3d')]);}if(_0x4d0c14['body']['attachments']&&_0x4d0c14[_0xd44f('0x5f')][_0xd44f('0xa6')][_0xd44f('0x4f')]){for(var _0x8151d0=0x0;_0x8151d0<_0x4d0c14['body'][_0xd44f('0xa6')][_0xd44f('0x4f')];_0x8151d0+=0x1){_0x4d0c14[_0xd44f('0x5f')][_0xd44f('0xa6')][_0x8151d0]={'filename':_0x4d0c14[_0xd44f('0x5f')][_0xd44f('0xa6')][_0x8151d0][_0xd44f('0x27')],'path':path[_0xd44f('0xa7')](config['root'],_0xd44f('0xa8'),_0x4d0c14['body'][_0xd44f('0xa6')][_0x8151d0]['basename'])};}}var _0xf94661=_0x1dd39c[_0xd44f('0xa9')]();return respondWithRpcPromise(_0xd44f('0xaa'),_0xd44f('0xab'),{'account':_0xf94661,'message':_0x4d0c14[_0xd44f('0x5f')]});})[_0xd44f('0xf')](function(_0x96ba1){if(!_0x96ba1)return;_0x6d0909=_0x96ba1;if(!_0x1e0b9b['List'])throw new Error('List\x20not\x20found');if(_0x1e0b9b[_0xd44f('0x9c')][_0xd44f('0x9d')][_0xd44f('0x4f')])return _0x1e0b9b['List'][_0xd44f('0x9d')][0x0];return db['CmContact'][_0xd44f('0x67')](_['defaults'](_0x4d0c14[_0xd44f('0x5f')],{'firstName':_0x4d0c14[_0xd44f('0x5f')]['to'],'email':_0x4d0c14[_0xd44f('0x5f')]['to'],'phone':_0x4d0c14[_0xd44f('0x5f')]['to'],'ListId':_0x1e0b9b[_0xd44f('0x73')]}));})[_0xd44f('0xf')](function(_0x5b5d2c){if(!_0x5b5d2c)return;var _0x378b77={'UserId':_0x4d0c14[_0xd44f('0x3d')]['id'],'ContactId':_0x5b5d2c['id'],'MailAccountId':_0x1e0b9b['id'],'inReplyTo':_0x6d0909[_0xd44f('0xac')],'to':_0x4d0c14[_0xd44f('0x5f')]['from'],'cc':_0x4d0c14[_0xd44f('0x5f')]['cc'],'subject':_0x4d0c14[_0xd44f('0x5f')][_0xd44f('0xad')],'attach':_0x4d0c14['body'][_0xd44f('0xae')],'firstMsgDirection':_0xd44f('0xaf'),'lastMsgAt':moment()[_0xd44f('0x99')](_0xd44f('0x9a')),'lastMsgDirection':'out','Messages':[_['merge'](_0x4d0c14[_0xd44f('0x5f')],{'messageId':_0x6d0909[_0xd44f('0xac')],'sentAt':moment()[_0xd44f('0x99')](_0xd44f('0x9a')),'read':!![],'MailAccountId':_0x1e0b9b['id'],'UserId':_0x4d0c14['user']['id'],'ContactId':_0x5b5d2c['id']})]};if(_0x4d0c14[_0xd44f('0x5f')][_0xd44f('0xb0')]){_0x378b77=_[_0xd44f('0x55')](_0x378b77,_0x4d0c14[_0xd44f('0x5f')]['Interaction']);}return db[_0xd44f('0x81')][_0xd44f('0x67')](_0x378b77,{'include':[{'model':db[_0xd44f('0x96')],'as':_0xd44f('0xb1')}]});})[_0xd44f('0xf')](respondWithResult(_0x7cd53a,null))[_0xd44f('0x63')](handleError(_0x7cd53a,null));};exports['verifySmtp']=function(_0x4ae889,_0x50dc19){return db[_0xd44f('0x44')]['find']({'where':{'id':_0x4ae889[_0xd44f('0x5b')]['id']},'include':[{'model':db[_0xd44f('0x5c')],'as':'Smtp','raw':!![],'include':[{'model':db[_0xd44f('0xa0')],'as':_0xd44f('0xa0'),'raw':!![]}]}]})[_0xd44f('0xf')](handleEntityNotFound(_0x50dc19,null))['then'](function(_0x2d1b2b){if(!_0x2d1b2b['Smtp'])return;var _0x340376=_0x2d1b2b[_0xd44f('0xa9')]();return respondWithRpcPromise('VerifySmtp',_0xd44f('0xb2'),{'account':_0x340376});})[_0xd44f('0xf')](respondWithResult(_0x50dc19,null))[_0xd44f('0x63')](handleError(_0x50dc19,null));};exports['destroy']=function(_0x5b6a13,_0x57c5fc){return db[_0xd44f('0x44')][_0xd44f('0x5e')]({'where':{'id':_0x5b6a13[_0xd44f('0x5b')]['id']}})['then'](handleEntityNotFound(_0x57c5fc,null))[_0xd44f('0xf')](function(_0x50bf32){if(_0x50bf32&&_0x50bf32[_0xd44f('0x3b')]){throw new db['Sequelize'][(_0xd44f('0xb3'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x50bf32;})[_0xd44f('0xf')](removeEntity(_0x57c5fc,null))[_0xd44f('0x63')](handleError(_0x57c5fc,null));};exports[_0xd44f('0xb4')]=function(_0x1535a1,_0x2e1825){return db['MailAccount'][_0xd44f('0x5e')]({'where':{'id':_0x1535a1[_0xd44f('0x5b')]['id']}})[_0xd44f('0xf')](handleEntityNotFound(_0x2e1825,null))[_0xd44f('0xf')](function(_0x50f773){if(_0x50f773){return _0x50f773[_0xd44f('0xb4')](_0x1535a1[_0xd44f('0x5f')]['ids'],_['omit'](_0x1535a1[_0xd44f('0x5f')],[_0xd44f('0x6e'),'id'])||{})['spread'](function(_0x56b6e4){for(var _0xe14e87=0x0;_0xe14e87<_0x1535a1['body'][_0xd44f('0x6e')][_0xd44f('0x4f')];_0xe14e87+=0x1){socket[_0xd44f('0xb5')](_0xd44f('0xb6'),{'UserId':Number(_0x1535a1['body']['ids'][_0xe14e87]),'MailAccountId':Number(_0x1535a1[_0xd44f('0x5b')]['id'])});}return _0x56b6e4;});}})[_0xd44f('0xf')](respondWithResult(_0x2e1825,null))[_0xd44f('0x63')](handleError(_0x2e1825,null));};exports[_0xd44f('0xb7')]=function(_0x1ddba1,_0x283159){return db['MailAccount'][_0xd44f('0x5e')]({'where':{'id':_0x1ddba1[_0xd44f('0x5b')]['id']}})[_0xd44f('0xf')](handleEntityNotFound(_0x283159,null))[_0xd44f('0xf')](function(_0x18cecc){if(_0x18cecc){return _0x18cecc[_0xd44f('0xb7')](_0x1ddba1['query'][_0xd44f('0x6e')])['then'](function(){if(_['isArray'](_0x1ddba1['query'][_0xd44f('0x6e')])){for(var _0x483eed=0x0;_0x483eed<_0x1ddba1['query']['ids'][_0xd44f('0x4f')];_0x483eed+=0x1){socket['emit'](_0xd44f('0xb8'),{'UserId':Number(_0x1ddba1[_0xd44f('0x48')]['ids'][_0x483eed]),'MailAccountId':Number(_0x1ddba1['params']['id'])});}}else{socket['emit'](_0xd44f('0xb8'),{'UserId':Number(_0x1ddba1[_0xd44f('0x48')]['ids']),'MailAccountId':Number(_0x1ddba1[_0xd44f('0x5b')]['id'])});}});}})['then'](respondWithStatusCode(_0x283159,null))[_0xd44f('0x63')](handleError(_0x283159,null));};exports[_0xd44f('0xb9')]=function(_0x147b29,_0x314c5f){var _0x2499eb={};var _0x450833={};var _0x576052;var _0x344534;return db['MailAccount'][_0xd44f('0x69')]({'where':{'id':_0x147b29[_0xd44f('0x5b')]['id']}})['then'](handleEntityNotFound(_0x314c5f,null))[_0xd44f('0xf')](function(_0x13f2a1){if(_0x13f2a1){_0x576052=_0x13f2a1;_0x450833[_0xd44f('0x4d')]=_['keys'](db['User'][_0xd44f('0x45')]);_0x450833['query']=_[_0xd44f('0x49')](_0x147b29['query']);_0x450833[_0xd44f('0x4a')]=_[_0xd44f('0x4c')](_0x450833[_0xd44f('0x4d')],_0x450833[_0xd44f('0x48')]);_0x2499eb[_0xd44f('0x4b')]=_[_0xd44f('0x4c')](_0x450833[_0xd44f('0x4d')],qs[_0xd44f('0x4e')](_0x147b29[_0xd44f('0x48')][_0xd44f('0x4e')]));_0x2499eb['attributes']=_0x2499eb[_0xd44f('0x4b')]['length']?_0x2499eb[_0xd44f('0x4b')]:_0x450833[_0xd44f('0x4d')];_0x2499eb[_0xd44f('0x52')]=qs['sort'](_0x147b29[_0xd44f('0x48')][_0xd44f('0x6b')]);_0x2499eb['where']=qs[_0xd44f('0x4a')](_[_0xd44f('0x6c')](_0x147b29['query'],_0x450833[_0xd44f('0x4a')]));if(_0x147b29[_0xd44f('0x48')][_0xd44f('0x54')]){_0x2499eb[_0xd44f('0x53')]=_[_0xd44f('0x55')](_0x2499eb[_0xd44f('0x53')],{'$or':_[_0xd44f('0x43')](_0x2499eb[_0xd44f('0x4b')],function(_0xd03a13){var _0x19eea8={};_0x19eea8[_0xd03a13]={'$like':'%'+_0x147b29['query'][_0xd44f('0x54')]+'%'};return _0x19eea8;})});}_0x2499eb=_[_0xd44f('0x55')]({},_0x2499eb,_0x147b29[_0xd44f('0x5d')]);return _0x576052[_0xd44f('0xb9')](_0x2499eb);}})['then'](function(_0x111c0a){if(_0x111c0a){_0x344534=_0x111c0a[_0xd44f('0x4f')];if(!_0x147b29[_0xd44f('0x48')]['hasOwnProperty'](_0xd44f('0x51'))){_0x2499eb[_0xd44f('0x20')]=qs['limit'](_0x147b29[_0xd44f('0x48')]['limit']);_0x2499eb['offset']=qs[_0xd44f('0x1d')](_0x147b29['query'][_0xd44f('0x1d')]);}return _0x576052[_0xd44f('0xb9')](_0x2499eb);}})['then'](function(_0x16e3cc){if(_0x16e3cc){return _0x16e3cc?{'count':_0x344534,'rows':_0x16e3cc}:null;}})['then'](respondWithResult(_0x314c5f,null))[_0xd44f('0x63')](handleError(_0x314c5f,null));};