3dbc1af9a39a4897bd5ac070ee0cd570df0d81e6
[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 _0xdcf9=['key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','merge','VIRTUAL','options','MailAccount','includeAll','include','rows','params','rawAttributes','find','body','custom','provider','secure','Mail\x20Account\x20not\x20found','describe','Disposition','create','findOne','order','findAll','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','nolimit','removeAnswers','email','isNil','active','description','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','MailAccountId','removeImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','getInteractions','Contact','Owner','internal','Tag','color','tag','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','priority','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','CmContact','Contacts','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','from','%s\x20<%s>','attachments','join','server/files/attachments','basename','getSmtpOptions','SendMail','List','List\x20not\x20found','messageId','subject','attach','out','Interaction','verifySmtp','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','omit','spread','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','emit','getAgents','User','moment','bluebird','util','path','lodash','juice','../../components/parsers/qs','api','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./mailAccount.socket','jayson/promise','client','http','then','info','MailAccount,\x20%s,\x20%s','debug','MailAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','catch','sendStatus','status','json','offset','undefined','limit','count','set','update','destroy','get','MailAccounts','UserProfileResource','end','stack','name','send','gmail','imap.gmail.com','yahoo','imap.mail.yahoo.com','hotmail','imap-mail.outlook.com','outlook365','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp.gmail.com','smtp.mail.yahoo.com','smtp-mail.outlook.com','smtp.office365.com','username','pass','password','modernAuthentication','CloudProviderId','host','port','service','authentication','user','Smtp','index','MailServerIn','Imap','MailServerOut','Pause','mandatoryDispositionPause','map','fieldName','type'];(function(_0x176e11,_0xbd8c84){var _0x4817c0=function(_0x457036){while(--_0x457036){_0x176e11['push'](_0x176e11['shift']());}};_0x4817c0(++_0xbd8c84);}(_0xdcf9,0x13e));var _0x9dcf=function(_0x2ebf5e,_0x16af2b){_0x2ebf5e=_0x2ebf5e-0x0;var _0x4af3ef=_0xdcf9[_0x2ebf5e];return _0x4af3ef;};'use strict';var moment=require(_0x9dcf('0x0'));var BPromise=require(_0x9dcf('0x1'));var util=require(_0x9dcf('0x2'));var path=require(_0x9dcf('0x3'));var _=require(_0x9dcf('0x4'));var juice=require(_0x9dcf('0x5'));var Redis=require('ioredis');var qs=require(_0x9dcf('0x6'));var logger=require('../../config/logger')(_0x9dcf('0x7'));var config=require(_0x9dcf('0x8'));var db=require(_0x9dcf('0x9'))['db'];config['redis']=_[_0x9dcf('0xa')](config[_0x9dcf('0xb')],{'host':_0x9dcf('0xc'),'port':0x18eb});var socket=require(_0x9dcf('0xd'))(new Redis(config[_0x9dcf('0xb')]));require(_0x9dcf('0xe'))['register'](socket);var jayson=require(_0x9dcf('0xf'));var client=jayson[_0x9dcf('0x10')][_0x9dcf('0x11')]({'port':0x232b});function respondWithRpcPromise(_0x1ba8d4,_0x5d4c90,_0x414ed,_0x596f48){return new BPromise(function(_0x4f845f,_0x3eb173){var _0x349140=_0x596f48||client;return _0x349140['request'](_0x1ba8d4,_0x414ed)[_0x9dcf('0x12')](function(_0x24c048){logger[_0x9dcf('0x13')](_0x9dcf('0x14'),_0x5d4c90,'request\x20sent');logger[_0x9dcf('0x15')](_0x9dcf('0x16'),_0x5d4c90,_0x9dcf('0x17'),JSON[_0x9dcf('0x18')](_0x24c048));if(_0x24c048['error']){if(_0x24c048[_0x9dcf('0x19')][_0x9dcf('0x1a')]===0x1f4){logger[_0x9dcf('0x19')](_0x9dcf('0x14'),_0x5d4c90,_0x24c048[_0x9dcf('0x19')][_0x9dcf('0x1b')]);return _0x3eb173(_0x24c048['error'][_0x9dcf('0x1b')]);}logger['error']('MailAccount,\x20%s,\x20%s',_0x5d4c90,_0x24c048[_0x9dcf('0x19')]['message']);return _0x4f845f(_0x24c048[_0x9dcf('0x19')][_0x9dcf('0x1b')]);}else{logger[_0x9dcf('0x13')](_0x9dcf('0x14'),_0x5d4c90,_0x9dcf('0x17'));_0x4f845f(_0x24c048[_0x9dcf('0x1c')][_0x9dcf('0x1b')]);}})[_0x9dcf('0x1d')](function(_0x9659d8){logger[_0x9dcf('0x19')]('MailAccount,\x20%s,\x20%s',_0x5d4c90,_0x9659d8);_0x3eb173(_0x9659d8);});});}function respondWithStatusCode(_0x420065,_0x6cdfbf){_0x6cdfbf=_0x6cdfbf||0xcc;return function(_0x2f2e30){if(_0x2f2e30){return _0x420065[_0x9dcf('0x1e')](_0x6cdfbf);}return _0x420065[_0x9dcf('0x1f')](_0x6cdfbf)['end']();};}function respondWithResult(_0x66fd06,_0x410483){_0x410483=_0x410483||0xc8;return function(_0x2aa3d3){if(_0x2aa3d3){return _0x66fd06['status'](_0x410483)[_0x9dcf('0x20')](_0x2aa3d3);}};}function respondWithFilteredResult(_0x4e6bde,_0x2c8c46){return function(_0x44951b){if(_0x44951b){var _0x24efd6=typeof _0x2c8c46[_0x9dcf('0x21')]===_0x9dcf('0x22')&&typeof _0x2c8c46[_0x9dcf('0x23')]==='undefined';var _0x5541a6=_0x44951b[_0x9dcf('0x24')];var _0x1b8895=_0x24efd6?0x0:_0x2c8c46['offset'];var _0x32a61c=_0x24efd6?_0x44951b[_0x9dcf('0x24')]:_0x2c8c46[_0x9dcf('0x21')]+_0x2c8c46[_0x9dcf('0x23')];var _0x44d9bb;if(_0x32a61c>=_0x5541a6){_0x32a61c=_0x5541a6;_0x44d9bb=0xc8;}else{_0x44d9bb=0xce;}_0x4e6bde[_0x9dcf('0x1f')](_0x44d9bb);return _0x4e6bde[_0x9dcf('0x25')]('Content-Range',_0x1b8895+'-'+_0x32a61c+'/'+_0x5541a6)[_0x9dcf('0x20')](_0x44951b);}return null;};}function saveUpdates(_0x3cf370){return function(_0x167c8c){if(_0x167c8c){return _0x167c8c[_0x9dcf('0x26')](_0x3cf370)[_0x9dcf('0x12')](function(_0x2c97d4){return _0x2c97d4;});}return null;};}function removeEntity(_0x356211){return function(_0x211b29){if(_0x211b29){return _0x211b29[_0x9dcf('0x27')]()[_0x9dcf('0x12')](function(){var _0x4e2391=_0x211b29[_0x9dcf('0x28')]({'plain':!![]});var _0x20c790=_0x9dcf('0x29');return db[_0x9dcf('0x2a')][_0x9dcf('0x27')]({'where':{'type':_0x20c790,'resourceId':_0x4e2391['id']}})[_0x9dcf('0x12')](function(){return _0x211b29;});})[_0x9dcf('0x12')](function(){_0x356211[_0x9dcf('0x1f')](0xcc)[_0x9dcf('0x2b')]();});}};}function handleEntityNotFound(_0x4c0f42){return function(_0x481bc9){if(!_0x481bc9){_0x4c0f42['sendStatus'](0x194);}return _0x481bc9;};}function handleError(_0x4d6ecc,_0x5cf0b0){_0x5cf0b0=_0x5cf0b0||0x1f4;return function(_0x41db2e){logger[_0x9dcf('0x19')](_0x41db2e[_0x9dcf('0x2c')]);if(_0x41db2e[_0x9dcf('0x2d')]){delete _0x41db2e[_0x9dcf('0x2d')];}_0x4d6ecc[_0x9dcf('0x1f')](_0x5cf0b0)[_0x9dcf('0x2e')](_0x41db2e);};}function getImapHost(_0x437335){switch(_0x437335){case _0x9dcf('0x2f'):return _0x9dcf('0x30');case _0x9dcf('0x31'):return _0x9dcf('0x32');case _0x9dcf('0x33'):return _0x9dcf('0x34');case _0x9dcf('0x35'):return _0x9dcf('0x36');}throw new Error(_0x9dcf('0x37'),_0x437335);}function getSmtpHost(_0x814f01){switch(_0x814f01){case _0x9dcf('0x2f'):return _0x9dcf('0x38');case _0x9dcf('0x31'):return _0x9dcf('0x39');case _0x9dcf('0x33'):return _0x9dcf('0x3a');case _0x9dcf('0x35'):return _0x9dcf('0x3b');}throw new Error(_0x9dcf('0x37'),_0x814f01);}function getAuthenticationOptions(_0x4e36a1,_0x3a97d6){var _0x13a47b={};var _0xfdd9fe={};if(_0x4e36a1){_0x13a47b['user']=_0xfdd9fe['user']=_0x3a97d6[_0x9dcf('0x3c')];_0x13a47b['password']=_0xfdd9fe[_0x9dcf('0x3d')]=_0x3a97d6[_0x9dcf('0x3e')];if(_0x3a97d6[_0x9dcf('0x3f')]){_0x13a47b['modernAuthentication']=_0xfdd9fe[_0x9dcf('0x3f')]=!![];_0x13a47b['CloudProviderId']=_0xfdd9fe['CloudProviderId']=_0x3a97d6[_0x9dcf('0x40')];_0x13a47b[_0x9dcf('0x3e')]=_0xfdd9fe[_0x9dcf('0x3d')]=null;}else{_0x13a47b[_0x9dcf('0x40')]=_0xfdd9fe['CloudProviderId']=null;}_0x13a47b[_0x9dcf('0x41')]=getImapHost(_0x4e36a1);_0x13a47b[_0x9dcf('0x42')]=0x3e1;_0xfdd9fe[_0x9dcf('0x41')]=getSmtpHost(_0x4e36a1);_0xfdd9fe['port']=0x24b;_0xfdd9fe['secure']=![];_0x13a47b[_0x9dcf('0x43')]=_0xfdd9fe[_0x9dcf('0x43')]=null;}else{if(_0x3a97d6[_0x9dcf('0x44')]){_0x13a47b[_0x9dcf('0x45')]=_0xfdd9fe[_0x9dcf('0x45')]=_0x3a97d6[_0x9dcf('0x3c')];_0x13a47b[_0x9dcf('0x3e')]=_0xfdd9fe[_0x9dcf('0x3d')]=_0x3a97d6[_0x9dcf('0x3e')];}else{_0x13a47b[_0x9dcf('0x44')]=_0xfdd9fe[_0x9dcf('0x44')]=![];_0x13a47b[_0x9dcf('0x45')]=_0xfdd9fe[_0x9dcf('0x45')]=null;_0x13a47b['password']=_0xfdd9fe[_0x9dcf('0x3d')]=null;}_0x13a47b[_0x9dcf('0x41')]=_0x3a97d6['Imap']['host'];_0x13a47b[_0x9dcf('0x42')]=_0x3a97d6['Imap'][_0x9dcf('0x42')];_0xfdd9fe[_0x9dcf('0x41')]=_0x3a97d6[_0x9dcf('0x46')][_0x9dcf('0x41')];_0xfdd9fe[_0x9dcf('0x42')]=_0x3a97d6['Smtp'][_0x9dcf('0x42')];}return{'Imap':_0x13a47b,'Smtp':_0xfdd9fe};}exports[_0x9dcf('0x47')]=function(_0x3ffa18,_0x1f85e2){var _0x362030={'include':[{'model':db[_0x9dcf('0x48')],'as':_0x9dcf('0x49')},{'model':db[_0x9dcf('0x4a')],'as':'Smtp'},{'model':db[_0x9dcf('0x4b')],'as':_0x9dcf('0x4c')}]},_0x2ee479={},_0x260bc2={'count':0x0,'rows':[]};var _0x4513ae=_[_0x9dcf('0x4d')](db['MailAccount']['rawAttributes'],function(_0x42c116){return{'name':_0x42c116[_0x9dcf('0x4e')],'type':_0x42c116[_0x9dcf('0x4f')][_0x9dcf('0x50')]};});_0x2ee479[_0x9dcf('0x51')]=_[_0x9dcf('0x4d')](_0x4513ae,'name');_0x2ee479[_0x9dcf('0x52')]=_[_0x9dcf('0x53')](_0x3ffa18[_0x9dcf('0x52')]);_0x2ee479[_0x9dcf('0x54')]=_[_0x9dcf('0x55')](_0x2ee479[_0x9dcf('0x51')],_0x2ee479[_0x9dcf('0x52')]);_0x362030[_0x9dcf('0x56')]=_[_0x9dcf('0x55')](_0x2ee479[_0x9dcf('0x51')],qs[_0x9dcf('0x57')](_0x3ffa18[_0x9dcf('0x52')]['fields']));_0x362030[_0x9dcf('0x56')]=_0x362030[_0x9dcf('0x56')][_0x9dcf('0x58')]?_0x362030[_0x9dcf('0x56')]:_0x2ee479[_0x9dcf('0x51')];if(!_0x3ffa18[_0x9dcf('0x52')][_0x9dcf('0x59')]('nolimit')){_0x362030[_0x9dcf('0x23')]=qs[_0x9dcf('0x23')](_0x3ffa18['query']['limit']);_0x362030['offset']=qs[_0x9dcf('0x21')](_0x3ffa18[_0x9dcf('0x52')][_0x9dcf('0x21')]);}_0x362030['order']=qs[_0x9dcf('0x5a')](_0x3ffa18[_0x9dcf('0x52')][_0x9dcf('0x5a')]);_0x362030[_0x9dcf('0x5b')]=qs['filters'](_[_0x9dcf('0x5c')](_0x3ffa18[_0x9dcf('0x52')],_0x2ee479[_0x9dcf('0x54')]),_0x4513ae);if(_0x3ffa18['query'][_0x9dcf('0x5d')]){_0x362030[_0x9dcf('0x5b')]=_[_0x9dcf('0x5e')](_0x362030[_0x9dcf('0x5b')],{'$or':_['map'](_0x4513ae,function(_0x20ade2){if(_0x20ade2['type']!==_0x9dcf('0x5f')){var _0x1d6b78={};_0x1d6b78[_0x20ade2[_0x9dcf('0x2d')]]={'$like':'%'+_0x3ffa18[_0x9dcf('0x52')][_0x9dcf('0x5d')]+'%'};return _0x1d6b78;}})});}_0x362030=_['merge']({},_0x362030,_0x3ffa18[_0x9dcf('0x60')]);var _0x3296cc={'where':_0x362030['where']};return db[_0x9dcf('0x61')][_0x9dcf('0x24')](_0x3296cc)['then'](function(_0x3cfdce){_0x260bc2[_0x9dcf('0x24')]=_0x3cfdce;if(_0x3ffa18[_0x9dcf('0x52')][_0x9dcf('0x62')]){_0x362030[_0x9dcf('0x63')]=[{'all':!![]}];}return db['MailAccount']['findAll'](_0x362030);})[_0x9dcf('0x12')](function(_0x1958fb){_0x260bc2[_0x9dcf('0x64')]=_0x1958fb;return _0x260bc2;})[_0x9dcf('0x12')](respondWithFilteredResult(_0x1f85e2,_0x362030))[_0x9dcf('0x1d')](handleError(_0x1f85e2,null));};exports['show']=function(_0x2f5f8c,_0x3b75a8){var _0x52de7e={'raw':![],'where':{'id':_0x2f5f8c[_0x9dcf('0x65')]['id']},'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db[_0x9dcf('0x4a')],'as':_0x9dcf('0x46')},{'model':db[_0x9dcf('0x4b')],'as':_0x9dcf('0x4c')}]},_0xd8cc5b={};_0xd8cc5b[_0x9dcf('0x51')]=_['keys'](db['MailAccount'][_0x9dcf('0x66')]);_0xd8cc5b['query']=_['keys'](_0x2f5f8c['query']);_0xd8cc5b[_0x9dcf('0x54')]=_[_0x9dcf('0x55')](_0xd8cc5b[_0x9dcf('0x51')],_0xd8cc5b[_0x9dcf('0x52')]);_0x52de7e['attributes']=_[_0x9dcf('0x55')](_0xd8cc5b['model'],qs[_0x9dcf('0x57')](_0x2f5f8c['query']['fields']));_0x52de7e[_0x9dcf('0x56')]=_0x52de7e['attributes']['length']?_0x52de7e['attributes']:_0xd8cc5b[_0x9dcf('0x51')];if(_0x2f5f8c[_0x9dcf('0x52')][_0x9dcf('0x62')]){_0x52de7e[_0x9dcf('0x63')]=[{'all':!![]}];}_0x52de7e=_[_0x9dcf('0x5e')]({},_0x52de7e,_0x2f5f8c[_0x9dcf('0x60')]);return db[_0x9dcf('0x61')][_0x9dcf('0x67')](_0x52de7e)[_0x9dcf('0x12')](handleEntityNotFound(_0x3b75a8,null))[_0x9dcf('0x12')](respondWithResult(_0x3b75a8,null))[_0x9dcf('0x1d')](handleError(_0x3b75a8,null));};exports[_0x9dcf('0x26')]=function(_0x332649,_0x3bdf1f){if(_0x332649[_0x9dcf('0x68')]['id']){delete _0x332649['body']['id'];}var _0x1e397c=_0x332649[_0x9dcf('0x68')]['provider']===_0x9dcf('0x69')?null:_0x332649[_0x9dcf('0x68')][_0x9dcf('0x6a')];var _0x24cf4d=_0x332649[_0x9dcf('0x68')][_0x9dcf('0x49')]||{};var _0x1c98d1=_0x332649[_0x9dcf('0x68')]['Smtp']||{};if(_0x1e397c){_0x24cf4d[_0x9dcf('0x41')]=getImapHost(_0x1e397c);_0x24cf4d['port']=0x3e1;_0x1c98d1[_0x9dcf('0x41')]=getSmtpHost(_0x1e397c);_0x1c98d1[_0x9dcf('0x42')]=0x24b;_0x1c98d1[_0x9dcf('0x6b')]=![];}if(_0x1c98d1[_0x9dcf('0x3f')]){_0x1c98d1[_0x9dcf('0x6b')]=![];}else{_0x1c98d1[_0x9dcf('0x40')]=null;}if(!_0x24cf4d[_0x9dcf('0x3f')])_0x24cf4d['CloudProviderId']=null;_0x332649[_0x9dcf('0x68')][_0x9dcf('0x49')]=_0x24cf4d;_0x332649['body'][_0x9dcf('0x46')]=_0x1c98d1;return db[_0x9dcf('0x61')]['find']({'where':{'id':_0x332649[_0x9dcf('0x65')]['id']},'include':[{'model':db[_0x9dcf('0x48')],'as':_0x9dcf('0x49')},{'model':db[_0x9dcf('0x4a')],'as':_0x9dcf('0x46')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]})['then'](handleEntityNotFound(_0x3bdf1f,null))[_0x9dcf('0x12')](function(_0x155c8c){if(!_0x155c8c)throw new Error(_0x9dcf('0x6c'));if(_0x155c8c[_0x9dcf('0x43')])delete _0x332649[_0x9dcf('0x68')]['Imap'];return _0x155c8c;})['then'](saveUpdates(_0x332649[_0x9dcf('0x68')],null))[_0x9dcf('0x12')](function(_0x5b3f8c){if(!_0x332649[_0x9dcf('0x68')][_0x9dcf('0x49')])return _0x5b3f8c;return db['MailServerIn'][_0x9dcf('0x26')](_0x332649['body'][_0x9dcf('0x49')],{'where':{'MailAccountId':_0x5b3f8c['id']}})['then'](function(){return _0x5b3f8c;});})[_0x9dcf('0x12')](function(_0x1d6fe9){if(!_0x332649[_0x9dcf('0x68')][_0x9dcf('0x46')])return _0x1d6fe9;return db[_0x9dcf('0x4a')]['update'](_0x332649['body'][_0x9dcf('0x46')],{'where':{'MailAccountId':_0x1d6fe9['id']}})['then'](function(){return _0x1d6fe9;});})[_0x9dcf('0x12')](respondWithResult(_0x3bdf1f,null))[_0x9dcf('0x1d')](handleError(_0x3bdf1f,null));};exports['describe']=function(_0x5348b3,_0x9a4862){return db[_0x9dcf('0x61')][_0x9dcf('0x6d')]()[_0x9dcf('0x12')](respondWithResult(_0x9a4862,null))[_0x9dcf('0x1d')](handleError(_0x9a4862,null));};exports['addDisposition']=function(_0x133dff,_0x35eab6){if(_0x133dff[_0x9dcf('0x68')]['id']){delete _0x133dff[_0x9dcf('0x68')]['id'];}return db[_0x9dcf('0x61')][_0x9dcf('0x67')]({'where':{'id':_0x133dff['params']['id']}})[_0x9dcf('0x12')](handleEntityNotFound(_0x35eab6,null))[_0x9dcf('0x12')](function(_0xdbf8b5){if(_0xdbf8b5){_0x133dff['body']['MailAccountId']=_0xdbf8b5['id'];return db[_0x9dcf('0x6e')][_0x9dcf('0x6f')](_0x133dff[_0x9dcf('0x68')]);}})[_0x9dcf('0x12')](respondWithResult(_0x35eab6,null))[_0x9dcf('0x1d')](handleError(_0x35eab6,null));};exports['getDispositions']=function(_0x5338f6,_0x3cd4bd){var _0x31aa5c={'raw':![],'where':{}};var _0x563e9d={};var _0x555b75={'count':0x0,'rows':[]};return db[_0x9dcf('0x61')][_0x9dcf('0x70')]({'where':{'id':_0x5338f6[_0x9dcf('0x65')]['id']}})[_0x9dcf('0x12')](handleEntityNotFound(_0x3cd4bd,null))['then'](function(_0x1a5a12){if(_0x1a5a12){_0x563e9d[_0x9dcf('0x51')]=_[_0x9dcf('0x53')](db[_0x9dcf('0x6e')][_0x9dcf('0x66')]);_0x563e9d[_0x9dcf('0x52')]=_[_0x9dcf('0x53')](_0x5338f6[_0x9dcf('0x52')]);_0x563e9d[_0x9dcf('0x54')]=_[_0x9dcf('0x55')](_0x563e9d[_0x9dcf('0x51')],_0x563e9d[_0x9dcf('0x52')]);_0x31aa5c['attributes']=_[_0x9dcf('0x55')](_0x563e9d[_0x9dcf('0x51')],qs[_0x9dcf('0x57')](_0x5338f6[_0x9dcf('0x52')]['fields']));_0x31aa5c['attributes']=_0x31aa5c[_0x9dcf('0x56')][_0x9dcf('0x58')]?_0x31aa5c[_0x9dcf('0x56')]:_0x563e9d['model'];if(!_0x5338f6['query'][_0x9dcf('0x59')]('nolimit')){_0x31aa5c[_0x9dcf('0x23')]=qs['limit'](_0x5338f6['query'][_0x9dcf('0x23')]);_0x31aa5c[_0x9dcf('0x21')]=qs['offset'](_0x5338f6['query'][_0x9dcf('0x21')]);}_0x31aa5c[_0x9dcf('0x71')]=qs[_0x9dcf('0x5a')](_0x5338f6[_0x9dcf('0x52')][_0x9dcf('0x5a')]);_0x31aa5c[_0x9dcf('0x5b')]=qs[_0x9dcf('0x54')](_['pick'](_0x5338f6[_0x9dcf('0x52')],_0x563e9d[_0x9dcf('0x54')]));_0x31aa5c[_0x9dcf('0x5b')]['MailAccountId']=_0x1a5a12['id'];if(_0x5338f6[_0x9dcf('0x52')][_0x9dcf('0x5d')]){_0x31aa5c[_0x9dcf('0x5b')]=_[_0x9dcf('0x5e')](_0x31aa5c[_0x9dcf('0x5b')],{'$or':_[_0x9dcf('0x4d')](_0x31aa5c[_0x9dcf('0x56')],function(_0x3b68c7){var _0x3c8836={};_0x3c8836[_0x3b68c7]={'$like':'%'+_0x5338f6['query']['filter']+'%'};return _0x3c8836;})});}_0x31aa5c=_[_0x9dcf('0x5e')]({},_0x31aa5c,_0x5338f6[_0x9dcf('0x60')]);return db[_0x9dcf('0x6e')][_0x9dcf('0x24')]({'where':_0x31aa5c[_0x9dcf('0x5b')]})[_0x9dcf('0x12')](function(_0xaa18c6){_0x555b75[_0x9dcf('0x24')]=_0xaa18c6;if(_0x5338f6['query'][_0x9dcf('0x62')]){_0x31aa5c[_0x9dcf('0x63')]=[{'all':!![]}];}return db['Disposition'][_0x9dcf('0x72')](_0x31aa5c);})[_0x9dcf('0x12')](function(_0x4acd42){_0x555b75[_0x9dcf('0x64')]=_0x4acd42;return _0x555b75;});}})[_0x9dcf('0x12')](respondWithFilteredResult(_0x3cd4bd,_0x31aa5c))['catch'](handleError(_0x3cd4bd,null));};exports[_0x9dcf('0x73')]=function(_0x2f8984,_0x4e6df1){return db[_0x9dcf('0x61')][_0x9dcf('0x67')]({'where':{'id':_0x2f8984['params']['id']}})[_0x9dcf('0x12')](handleEntityNotFound(_0x4e6df1,null))[_0x9dcf('0x12')](function(_0x2a29e9){if(_0x2a29e9){return _0x2a29e9[_0x9dcf('0x73')](_0x2f8984['query'][_0x9dcf('0x74')]);}})[_0x9dcf('0x12')](respondWithStatusCode(_0x4e6df1,null))['catch'](handleError(_0x4e6df1,null));};exports[_0x9dcf('0x75')]=function(_0x1c1039,_0x1025b1){if(_0x1c1039[_0x9dcf('0x68')]['id']){delete _0x1c1039[_0x9dcf('0x68')]['id'];}return db[_0x9dcf('0x61')][_0x9dcf('0x67')]({'where':{'id':_0x1c1039[_0x9dcf('0x65')]['id']}})['then'](handleEntityNotFound(_0x1025b1,null))[_0x9dcf('0x12')](function(_0x2f6019){if(_0x2f6019){_0x1c1039[_0x9dcf('0x68')]['MailAccountId']=_0x2f6019['id'];return db[_0x9dcf('0x76')][_0x9dcf('0x6f')](_0x1c1039[_0x9dcf('0x68')]);}})[_0x9dcf('0x12')](respondWithResult(_0x1025b1,null))[_0x9dcf('0x1d')](handleError(_0x1025b1,null));};exports[_0x9dcf('0x77')]=function(_0x3a2af1,_0x5ec7e6){var _0x35a432={'raw':![],'where':{}};var _0x54bf03={};var _0x3e56da={'count':0x0,'rows':[]};return db['MailAccount'][_0x9dcf('0x70')]({'where':{'id':_0x3a2af1[_0x9dcf('0x65')]['id']}})[_0x9dcf('0x12')](handleEntityNotFound(_0x5ec7e6,null))['then'](function(_0x480be9){if(_0x480be9){_0x54bf03['model']=_['keys'](db['CannedAnswer'][_0x9dcf('0x66')]);_0x54bf03[_0x9dcf('0x52')]=_[_0x9dcf('0x53')](_0x3a2af1[_0x9dcf('0x52')]);_0x54bf03[_0x9dcf('0x54')]=_['intersection'](_0x54bf03[_0x9dcf('0x51')],_0x54bf03['query']);_0x35a432['attributes']=_['intersection'](_0x54bf03['model'],qs[_0x9dcf('0x57')](_0x3a2af1[_0x9dcf('0x52')][_0x9dcf('0x57')]));_0x35a432['attributes']=_0x35a432[_0x9dcf('0x56')][_0x9dcf('0x58')]?_0x35a432[_0x9dcf('0x56')]:_0x54bf03[_0x9dcf('0x51')];if(!_0x3a2af1['query'][_0x9dcf('0x59')](_0x9dcf('0x78'))){_0x35a432['limit']=qs[_0x9dcf('0x23')](_0x3a2af1['query'][_0x9dcf('0x23')]);_0x35a432[_0x9dcf('0x21')]=qs[_0x9dcf('0x21')](_0x3a2af1[_0x9dcf('0x52')]['offset']);}_0x35a432['order']=qs[_0x9dcf('0x5a')](_0x3a2af1[_0x9dcf('0x52')]['sort']);_0x35a432[_0x9dcf('0x5b')]=qs['filters'](_[_0x9dcf('0x5c')](_0x3a2af1[_0x9dcf('0x52')],_0x54bf03['filters']));_0x35a432[_0x9dcf('0x5b')]['MailAccountId']=_0x480be9['id'];if(_0x3a2af1[_0x9dcf('0x52')][_0x9dcf('0x5d')]){_0x35a432[_0x9dcf('0x5b')]=_[_0x9dcf('0x5e')](_0x35a432[_0x9dcf('0x5b')],{'$or':_[_0x9dcf('0x4d')](_0x35a432[_0x9dcf('0x56')],function(_0x15cc5f){var _0x1313fa={};_0x1313fa[_0x15cc5f]={'$like':'%'+_0x3a2af1[_0x9dcf('0x52')][_0x9dcf('0x5d')]+'%'};return _0x1313fa;})});}_0x35a432=_[_0x9dcf('0x5e')]({},_0x35a432,_0x3a2af1[_0x9dcf('0x60')]);return db[_0x9dcf('0x76')]['count']({'where':_0x35a432[_0x9dcf('0x5b')]})[_0x9dcf('0x12')](function(_0x11a4b1){_0x3e56da[_0x9dcf('0x24')]=_0x11a4b1;if(_0x3a2af1['query'][_0x9dcf('0x62')]){_0x35a432[_0x9dcf('0x63')]=[{'all':!![]}];}return db[_0x9dcf('0x76')][_0x9dcf('0x72')](_0x35a432);})[_0x9dcf('0x12')](function(_0x49fb61){_0x3e56da['rows']=_0x49fb61;return _0x3e56da;});}})[_0x9dcf('0x12')](respondWithFilteredResult(_0x5ec7e6,_0x35a432))[_0x9dcf('0x1d')](handleError(_0x5ec7e6,null));};exports[_0x9dcf('0x79')]=function(_0x3a4c06,_0x4ed0f5){return db[_0x9dcf('0x61')][_0x9dcf('0x67')]({'where':{'id':_0x3a4c06[_0x9dcf('0x65')]['id']}})[_0x9dcf('0x12')](handleEntityNotFound(_0x4ed0f5,null))['then'](function(_0x54052e){if(_0x54052e){return _0x54052e[_0x9dcf('0x79')](_0x3a4c06[_0x9dcf('0x52')]['ids']);}})[_0x9dcf('0x12')](respondWithStatusCode(_0x4ed0f5,null))[_0x9dcf('0x1d')](handleError(_0x4ed0f5,null));};exports[_0x9dcf('0x6f')]=function(_0x580d53,_0x5b5375){var _0x56f86a={'name':_0x580d53['body'][_0x9dcf('0x2d')],'key':_0x580d53[_0x9dcf('0x68')][_0x9dcf('0x50')],'provider':_0x580d53[_0x9dcf('0x68')][_0x9dcf('0x6a')]==='custom'?null:_0x580d53[_0x9dcf('0x68')][_0x9dcf('0x6a')],'email':_0x580d53[_0x9dcf('0x68')][_0x9dcf('0x7a')],'ListId':_0x580d53[_0x9dcf('0x68')]['ListId'],'active':!_[_0x9dcf('0x7b')](_0x580d53[_0x9dcf('0x68')][_0x9dcf('0x7c')])?_0x580d53[_0x9dcf('0x68')][_0x9dcf('0x7c')]:!![],'description':_0x580d53[_0x9dcf('0x68')][_0x9dcf('0x7d')]||null};var _0xec2398=getAuthenticationOptions(_0x56f86a[_0x9dcf('0x6a')],_0x580d53[_0x9dcf('0x68')]);_0x56f86a[_0x9dcf('0x49')]=_0xec2398[_0x9dcf('0x49')];_0x56f86a['Smtp']=_0xec2398['Smtp'];return db[_0x9dcf('0x61')][_0x9dcf('0x6f')](_0x56f86a,{'include':[{'model':db['MailServerOut'],'as':_0x9dcf('0x46')},{'model':db[_0x9dcf('0x48')],'as':_0x9dcf('0x49')}]})[_0x9dcf('0x12')](function(_0x3105b3){var _0x5c6195=_0x580d53['user'][_0x9dcf('0x28')]({'plain':!![]});if(!_0x5c6195)throw new Error(_0x9dcf('0x7e'));if(_0x5c6195[_0x9dcf('0x7f')]===_0x9dcf('0x45')){var _0x90b6f7=_0x3105b3[_0x9dcf('0x28')]({'plain':!![]});return db[_0x9dcf('0x80')][_0x9dcf('0x67')]({'where':{'name':_0x9dcf('0x29'),'userProfileId':_0x5c6195[_0x9dcf('0x81')]},'raw':!![]})[_0x9dcf('0x12')](function(_0x24bf47){if(_0x24bf47&&_0x24bf47[_0x9dcf('0x82')]===0x0){return db['UserProfileResource'][_0x9dcf('0x6f')]({'name':_0x90b6f7[_0x9dcf('0x2d')],'resourceId':_0x90b6f7['id'],'type':_0x24bf47['name'],'sectionId':_0x24bf47['id']},{})['then'](function(){return _0x3105b3;});}else{return _0x3105b3;}})[_0x9dcf('0x1d')](function(_0x18818f){logger[_0x9dcf('0x19')](_0x9dcf('0x83'),_0x18818f);throw _0x18818f;});}return _0x3105b3;})[_0x9dcf('0x12')](respondWithResult(_0x5b5375,0xc9))[_0x9dcf('0x1d')](handleError(_0x5b5375,null));};exports[_0x9dcf('0x84')]=function(_0x316c1b,_0x43e45a){return db['MailAccount'][_0x9dcf('0x70')]({'where':{'id':_0x316c1b[_0x9dcf('0x65')]['id']}})[_0x9dcf('0x12')](handleEntityNotFound(_0x43e45a,null))[_0x9dcf('0x12')](function(_0x36c205){if(_0x36c205){return _0x36c205['getImap']();}return null;})[_0x9dcf('0x12')](respondWithResult(_0x43e45a,null))[_0x9dcf('0x1d')](handleError(_0x43e45a,null));};exports['addImap']=function(_0x15da14,_0x605ada){if(_0x15da14[_0x9dcf('0x68')]['id']){delete _0x15da14[_0x9dcf('0x68')]['id'];}return db[_0x9dcf('0x61')][_0x9dcf('0x67')]({'where':{'id':_0x15da14[_0x9dcf('0x65')]['id']}})['then'](handleEntityNotFound(_0x605ada,null))[_0x9dcf('0x12')](function(_0x43ae4d){if(_0x43ae4d){_0x15da14[_0x9dcf('0x68')][_0x9dcf('0x85')]=_0x43ae4d['id'];return db[_0x9dcf('0x48')][_0x9dcf('0x6f')](_0x15da14[_0x9dcf('0x68')]);}})[_0x9dcf('0x12')](respondWithResult(_0x605ada,null))['catch'](handleError(_0x605ada,null));};exports[_0x9dcf('0x86')]=function(_0x53d182,_0x2653ee){return db[_0x9dcf('0x61')]['findOne']({'where':{'id':_0x53d182[_0x9dcf('0x65')]['id']}})[_0x9dcf('0x12')](handleEntityNotFound(_0x2653ee,null))[_0x9dcf('0x12')](function(_0x39f783){if(_0x39f783){return _0x39f783['setImap'](null);}return null;})[_0x9dcf('0x12')](respondWithStatusCode(_0x2653ee,null))[_0x9dcf('0x1d')](handleError(_0x2653ee,null));};exports[_0x9dcf('0x87')]=function(_0x46c81d,_0x51c699){return db['MailAccount'][_0x9dcf('0x70')]({'where':{'id':_0x46c81d['params']['id']}})[_0x9dcf('0x12')](handleEntityNotFound(_0x51c699,null))['then'](function(_0xbd912f){if(_0xbd912f){return _0xbd912f[_0x9dcf('0x87')]();}return null;})[_0x9dcf('0x12')](respondWithResult(_0x51c699,null))[_0x9dcf('0x1d')](handleError(_0x51c699,null));};exports[_0x9dcf('0x88')]=function(_0x2c413f,_0x58e979){if(_0x2c413f['body']['id']){delete _0x2c413f['body']['id'];}return db['MailAccount'][_0x9dcf('0x67')]({'where':{'id':_0x2c413f[_0x9dcf('0x65')]['id']}})['then'](handleEntityNotFound(_0x58e979,null))[_0x9dcf('0x12')](function(_0xd0bdab){if(_0xd0bdab){_0x2c413f[_0x9dcf('0x68')][_0x9dcf('0x85')]=_0xd0bdab['id'];return db[_0x9dcf('0x4a')][_0x9dcf('0x6f')](_0x2c413f[_0x9dcf('0x68')]);}})['then'](respondWithResult(_0x58e979,null))['catch'](handleError(_0x58e979,null));};exports[_0x9dcf('0x89')]=function(_0x4c0693,_0x14d2b7){return db[_0x9dcf('0x61')]['findOne']({'where':{'id':_0x4c0693['params']['id']}})[_0x9dcf('0x12')](handleEntityNotFound(_0x14d2b7,null))[_0x9dcf('0x12')](function(_0x40d822){if(_0x40d822){return _0x40d822[_0x9dcf('0x8a')](null);}return null;})[_0x9dcf('0x12')](respondWithStatusCode(_0x14d2b7,null))[_0x9dcf('0x1d')](handleError(_0x14d2b7,null));};exports[_0x9dcf('0x8b')]=function(_0x49c160,_0xa29cf4){return db[_0x9dcf('0x8c')][_0x9dcf('0x67')]({'where':{'id':_0x49c160[_0x9dcf('0x65')]['id']}})['then'](handleEntityNotFound(_0xa29cf4,null))[_0x9dcf('0x12')](function(_0xc14866){if(_0xc14866){return _0xc14866[_0x9dcf('0x8b')](_0x49c160[_0x9dcf('0x68')][_0x9dcf('0x74')],_['omit'](_0x49c160[_0x9dcf('0x68')],['ids','id'])||{});}})['then'](respondWithResult(_0xa29cf4,null))['catch'](handleError(_0xa29cf4,null));};exports[_0x9dcf('0x8d')]=function(_0x4c6b9f,_0x1dace0){var _0x25bff4={'raw':![],'where':{}};var _0x4d6668={};var _0x58181d={'count':0x0,'rows':[]};return db[_0x9dcf('0x61')]['findOne']({'where':{'id':_0x4c6b9f[_0x9dcf('0x65')]['id']}})['then'](handleEntityNotFound(_0x1dace0,null))[_0x9dcf('0x12')](function(_0x1af33a){if(_0x1af33a){_0x4d6668[_0x9dcf('0x51')]=_['keys'](db[_0x9dcf('0x8c')][_0x9dcf('0x66')]);_0x4d6668[_0x9dcf('0x52')]=_[_0x9dcf('0x53')](_0x4c6b9f['query']);_0x4d6668['filters']=_['intersection'](_0x4d6668['model'],_0x4d6668[_0x9dcf('0x52')]);_0x25bff4[_0x9dcf('0x56')]=_[_0x9dcf('0x55')](_0x4d6668[_0x9dcf('0x51')],qs[_0x9dcf('0x57')](_0x4c6b9f[_0x9dcf('0x52')][_0x9dcf('0x57')]));_0x25bff4['attributes']=_0x25bff4['attributes'][_0x9dcf('0x58')]?_0x25bff4[_0x9dcf('0x56')]:_0x4d6668[_0x9dcf('0x51')];if(!_0x4c6b9f[_0x9dcf('0x52')][_0x9dcf('0x59')](_0x9dcf('0x78'))){_0x25bff4[_0x9dcf('0x23')]=qs[_0x9dcf('0x23')](_0x4c6b9f[_0x9dcf('0x52')]['limit']);_0x25bff4['offset']=qs['offset'](_0x4c6b9f[_0x9dcf('0x52')]['offset']);}_0x25bff4['order']=qs['sort'](_0x4c6b9f['query']['sort']);_0x25bff4['where']=qs[_0x9dcf('0x54')](_[_0x9dcf('0x5c')](_0x4c6b9f[_0x9dcf('0x52')],_0x4d6668['filters']));_0x25bff4['where'][_0x9dcf('0x85')]=_0x1af33a['id'];if(_0x4c6b9f[_0x9dcf('0x52')][_0x9dcf('0x5d')]){_0x25bff4[_0x9dcf('0x5b')]=_[_0x9dcf('0x5e')](_0x25bff4[_0x9dcf('0x5b')],{'$or':_[_0x9dcf('0x4d')](_0x25bff4['attributes'],function(_0x5d3cb0){var _0x55f690={};_0x55f690[_0x5d3cb0]={'$like':'%'+_0x4c6b9f[_0x9dcf('0x52')][_0x9dcf('0x5d')]+'%'};return _0x55f690;})});}_0x25bff4=_[_0x9dcf('0x5e')]({},_0x25bff4,_0x4c6b9f[_0x9dcf('0x60')]);return db['MailInteraction'][_0x9dcf('0x24')]({'where':_0x25bff4[_0x9dcf('0x5b')]})[_0x9dcf('0x12')](function(_0x19b73d){_0x58181d[_0x9dcf('0x24')]=_0x19b73d;if(_0x4c6b9f['query'][_0x9dcf('0x62')]){_0x25bff4[_0x9dcf('0x63')]=[{'model':db['CmContact'],'as':_0x9dcf('0x8e'),'required':![]},{'model':db['User'],'as':_0x9dcf('0x8f'),'attributes':[_0x9dcf('0x2d'),'fullname',_0x9dcf('0x90')],'required':![]},{'model':db[_0x9dcf('0x91')],'as':'Tags','attributes':['id',_0x9dcf('0x2d'),_0x9dcf('0x92')],'where':_0x4c6b9f['query'][_0x9dcf('0x93')]?{'id':_0x4c6b9f[_0x9dcf('0x52')][_0x9dcf('0x93')]}:undefined,'required':_0x4c6b9f[_0x9dcf('0x52')][_0x9dcf('0x93')]?!![]:![]}];}return db['MailInteraction'][_0x9dcf('0x72')](_0x25bff4);})[_0x9dcf('0x12')](function(_0x53bd73){_0x58181d[_0x9dcf('0x64')]=_0x53bd73;return _0x58181d;});}})[_0x9dcf('0x12')](respondWithFilteredResult(_0x1dace0,_0x25bff4))[_0x9dcf('0x1d')](handleError(_0x1dace0,null));};exports[_0x9dcf('0x94')]=function addApplications(_0x48b903,_0x23a099){var _0xbb8c8b=_0x48b903[_0x9dcf('0x65')]['id'];var _0x177298=_0x48b903[_0x9dcf('0x68')];var _0x1060a8=0xc8;var _0xe42d61=null;return db[_0x9dcf('0x95')][_0x9dcf('0x96')]({'isolationLevel':db[_0x9dcf('0x95')][_0x9dcf('0x97')][_0x9dcf('0x98')][_0x9dcf('0x99')]},function(_0x524330){return db[_0x9dcf('0x61')][_0x9dcf('0x70')]({'where':{'id':_0xbb8c8b},'transaction':_0x524330})[_0x9dcf('0x12')](function(_0xdc4a9f){if(_0xdc4a9f){return db[_0x9dcf('0x9a')][_0x9dcf('0x27')]({'where':{'MailAccountId':_0xbb8c8b},'transaction':_0x524330})['then'](function(){var _0x1b8c65=_[_0x9dcf('0x4d')](_0x177298,function(_0x1feb7e){_0x1feb7e[_0x9dcf('0x85')]=_0xbb8c8b;return _0x1feb7e;});return db[_0x9dcf('0x9a')][_0x9dcf('0x9b')](_0x1b8c65,{'transaction':_0x524330});});}else{_0x1060a8=0x194;_0xe42d61=[];}});})[_0x9dcf('0x12')](function(){if(_0x1060a8!==0x194){return db['MailApplication']['findAndCountAll']({'where':{'MailAccountId':_0xbb8c8b},'order':_0x9dcf('0x9c')})[_0x9dcf('0x12')](function(_0x473c7e){_0xe42d61=_0x473c7e;});}})['catch'](function(_0x1c2914){_0x1060a8=0x1f4;logger[_0x9dcf('0x19')](_0x1c2914[_0x9dcf('0x2c')]);if(_0x1c2914[_0x9dcf('0x2d')]){delete _0x1c2914['name'];}_0xe42d61=_0x1c2914;})['finally'](function(){if(_0xe42d61===null){_0x23a099[_0x9dcf('0x1e')](_0x1060a8);}else{if(_0x1060a8===0x1f4){_0x23a099[_0x9dcf('0x1f')](_0x1060a8)['send'](_0xe42d61);}else{_0x23a099[_0x9dcf('0x1f')](_0x1060a8)[_0x9dcf('0x20')](_0xe42d61);}}});};exports[_0x9dcf('0x9d')]=function(_0xab7f5,_0xd0c4db){var _0x17770b={};var _0xe4aca0={};var _0x6e3b66;var _0x150e78;return db[_0x9dcf('0x61')][_0x9dcf('0x70')]({'where':{'id':_0xab7f5['params']['id']}})[_0x9dcf('0x12')](handleEntityNotFound(_0xd0c4db,null))[_0x9dcf('0x12')](function(_0x1263ff){if(_0x1263ff){_0x6e3b66=_0x1263ff;_0xe4aca0['model']=_[_0x9dcf('0x53')](db[_0x9dcf('0x9a')][_0x9dcf('0x66')]);_0xe4aca0[_0x9dcf('0x52')]=_['keys'](_0xab7f5[_0x9dcf('0x52')]);_0xe4aca0['filters']=_[_0x9dcf('0x55')](_0xe4aca0[_0x9dcf('0x51')],_0xe4aca0['query']);_0x17770b['attributes']=_[_0x9dcf('0x55')](_0xe4aca0['model'],qs['fields'](_0xab7f5['query'][_0x9dcf('0x57')]));_0x17770b['attributes']=_0x17770b['attributes'][_0x9dcf('0x58')]?_0x17770b[_0x9dcf('0x56')]:_0xe4aca0[_0x9dcf('0x51')];_0x17770b[_0x9dcf('0x71')]=qs[_0x9dcf('0x5a')](_0xab7f5[_0x9dcf('0x52')]['sort']);_0x17770b[_0x9dcf('0x5b')]=qs[_0x9dcf('0x54')](_[_0x9dcf('0x5c')](_0xab7f5[_0x9dcf('0x52')],_0xe4aca0[_0x9dcf('0x54')]));if(_0xab7f5['query'][_0x9dcf('0x5d')]){_0x17770b[_0x9dcf('0x5b')]=_[_0x9dcf('0x5e')](_0x17770b[_0x9dcf('0x5b')],{'$or':_[_0x9dcf('0x4d')](_0x17770b[_0x9dcf('0x56')],function(_0x373efd){var _0xa1967a={};_0xa1967a[_0x373efd]={'$like':'%'+_0xab7f5[_0x9dcf('0x52')][_0x9dcf('0x5d')]+'%'};return _0xa1967a;})});}_0x17770b=_['merge']({},_0x17770b,_0xab7f5[_0x9dcf('0x60')]);return _0x6e3b66['getApplications'](_0x17770b);}})[_0x9dcf('0x12')](function(_0xc66746){if(_0xc66746){_0x150e78=_0xc66746[_0x9dcf('0x58')];if(!_0xab7f5[_0x9dcf('0x52')][_0x9dcf('0x59')]('nolimit')){_0x17770b[_0x9dcf('0x23')]=qs[_0x9dcf('0x23')](_0xab7f5[_0x9dcf('0x52')][_0x9dcf('0x23')]);_0x17770b[_0x9dcf('0x21')]=qs[_0x9dcf('0x21')](_0xab7f5['query'][_0x9dcf('0x21')]);}return _0x6e3b66[_0x9dcf('0x9d')](_0x17770b);}})[_0x9dcf('0x12')](function(_0x2ce6db){if(_0x2ce6db){return _0x2ce6db?{'count':_0x150e78,'rows':_0x2ce6db}:null;}})[_0x9dcf('0x12')](respondWithResult(_0xd0c4db,null))[_0x9dcf('0x1d')](handleError(_0xd0c4db,null));};exports[_0x9dcf('0x9e')]=function(_0x240554,_0x3bce89){var _0x27e298={'raw':!![],'where':{}};var _0x1fab59={};var _0x46b9c1={'count':0x0,'rows':[]};return db[_0x9dcf('0x61')][_0x9dcf('0x70')]({'where':{'id':_0x240554[_0x9dcf('0x65')]['id']}})[_0x9dcf('0x12')](handleEntityNotFound(_0x3bce89,null))[_0x9dcf('0x12')](function(_0x394b61){if(_0x394b61){_0x1fab59[_0x9dcf('0x51')]=_[_0x9dcf('0x53')](db[_0x9dcf('0x9f')]['rawAttributes']);_0x1fab59[_0x9dcf('0x52')]=_['keys'](_0x240554[_0x9dcf('0x52')]);_0x1fab59[_0x9dcf('0x54')]=_[_0x9dcf('0x55')](_0x1fab59['model'],_0x1fab59[_0x9dcf('0x52')]);_0x27e298[_0x9dcf('0x56')]=_[_0x9dcf('0x55')](_0x1fab59[_0x9dcf('0x51')],qs[_0x9dcf('0x57')](_0x240554[_0x9dcf('0x52')][_0x9dcf('0x57')]));_0x27e298['attributes']=_0x27e298[_0x9dcf('0x56')][_0x9dcf('0x58')]?_0x27e298[_0x9dcf('0x56')]:_0x1fab59['model'];if(!_0x240554[_0x9dcf('0x52')][_0x9dcf('0x59')](_0x9dcf('0x78'))){_0x27e298[_0x9dcf('0x23')]=qs[_0x9dcf('0x23')](_0x240554[_0x9dcf('0x52')][_0x9dcf('0x23')]);_0x27e298[_0x9dcf('0x21')]=qs[_0x9dcf('0x21')](_0x240554['query'][_0x9dcf('0x21')]);}_0x27e298[_0x9dcf('0x71')]=qs[_0x9dcf('0x5a')](_0x240554[_0x9dcf('0x52')]['sort']);_0x27e298['where']=qs['filters'](_[_0x9dcf('0x5c')](_0x240554[_0x9dcf('0x52')],_0x1fab59[_0x9dcf('0x54')]));_0x27e298[_0x9dcf('0x5b')][_0x9dcf('0x85')]=_0x394b61['id'];if(_0x240554['query']['filter']){_0x27e298['where']=_[_0x9dcf('0x5e')](_0x27e298[_0x9dcf('0x5b')],{'$or':_[_0x9dcf('0x4d')](_0x27e298[_0x9dcf('0x56')],function(_0x500af3){var _0x3af60d={};_0x3af60d[_0x500af3]={'$like':'%'+_0x240554[_0x9dcf('0x52')][_0x9dcf('0x5d')]+'%'};return _0x3af60d;})});}if(_0x240554[_0x9dcf('0x52')]['$gte']){var _0x3d29e7=_0x240554['query'][_0x9dcf('0xa0')][_0x9dcf('0xa1')](',');var _0xbc853={};_0xbc853[_0x3d29e7[0x0]]={'$gte':moment(_0x3d29e7[0x1])[_0x9dcf('0xa2')](_0x9dcf('0xa3'))};_0x27e298[_0x9dcf('0x5b')]=_['merge'](_0x27e298['where'],_0xbc853);}_0x27e298=_['merge']({},_0x27e298,_0x240554['options']);return db[_0x9dcf('0x9f')][_0x9dcf('0x24')]({'where':_0x27e298[_0x9dcf('0x5b')]})[_0x9dcf('0x12')](function(_0x4d5133){_0x46b9c1[_0x9dcf('0x24')]=_0x4d5133;if(_0x240554['query'][_0x9dcf('0x62')]){_0x27e298['include']=[{'all':!![]}];}return db[_0x9dcf('0x9f')]['findAll'](_0x27e298);})['then'](function(_0x85c39){if(_0x240554[_0x9dcf('0x52')][_0x9dcf('0xa4')]==='true'){for(var _0x443563=0x0;_0x443563<_0x85c39[_0x9dcf('0x58')];_0x443563++){_0x85c39[_0x443563][_0x9dcf('0x68')]=juice(_0x85c39[_0x443563][_0x9dcf('0x68')]);}}_0x46b9c1[_0x9dcf('0x64')]=_0x85c39;return _0x46b9c1;});}})[_0x9dcf('0x12')](respondWithFilteredResult(_0x3bce89,_0x27e298))[_0x9dcf('0x1d')](handleError(_0x3bce89,null));};exports[_0x9dcf('0x2e')]=function(_0x2a56f1,_0x3684fb){var _0x234efc,_0x4ded08={},_0x323601;if(_0x2a56f1[_0x9dcf('0x68')]['to']){_0x323601=_0x2a56f1[_0x9dcf('0x68')]['to'][_0x9dcf('0xa1')](',')[0x0];}return db[_0x9dcf('0x61')][_0x9dcf('0x67')]({'where':{'id':_0x2a56f1['params']['id']},'include':[{'model':db['CmList'],'as':'List','include':[{'model':db[_0x9dcf('0xa5')],'as':_0x9dcf('0xa6'),'where':{'email':_0x323601},'limit':0x1,'order':[[_0x9dcf('0xa7'),_0x9dcf('0xa8')]]}]},{'model':db[_0x9dcf('0x4a')],'as':_0x9dcf('0x46'),'raw':!![],'include':[{'model':db[_0x9dcf('0xa9')],'as':_0x9dcf('0xa9'),'raw':!![]}]}]})[_0x9dcf('0x12')](handleEntityNotFound(_0x3684fb,null))[_0x9dcf('0x12')](function(_0x47d0ae){if(!_0x47d0ae)return;_0x234efc=_0x47d0ae;if(!_0x47d0ae[_0x9dcf('0x46')])throw new Error(_0x9dcf('0xaa'));if(_[_0x9dcf('0x7b')](_0x2a56f1['body'][_0x9dcf('0xab')])){_0x2a56f1['body']['from']=util[_0x9dcf('0xa2')](_0x9dcf('0xac'),_0x47d0ae[_0x9dcf('0x2d')],_0x47d0ae[_0x9dcf('0x7a')]||_0x47d0ae[_0x9dcf('0x46')][_0x9dcf('0x45')]);}if(_0x2a56f1[_0x9dcf('0x68')][_0x9dcf('0xad')]&&_0x2a56f1[_0x9dcf('0x68')][_0x9dcf('0xad')][_0x9dcf('0x58')]){for(var _0x27a00d=0x0;_0x27a00d<_0x2a56f1[_0x9dcf('0x68')][_0x9dcf('0xad')][_0x9dcf('0x58')];_0x27a00d+=0x1){_0x2a56f1[_0x9dcf('0x68')][_0x9dcf('0xad')][_0x27a00d]={'filename':_0x2a56f1[_0x9dcf('0x68')][_0x9dcf('0xad')][_0x27a00d][_0x9dcf('0x2d')],'path':path[_0x9dcf('0xae')](config['root'],_0x9dcf('0xaf'),_0x2a56f1[_0x9dcf('0x68')][_0x9dcf('0xad')][_0x27a00d][_0x9dcf('0xb0')])};}}var _0x37afd4=_0x47d0ae[_0x9dcf('0xb1')]();return respondWithRpcPromise(_0x9dcf('0xb2'),'sendMail',{'account':_0x37afd4,'message':_0x2a56f1[_0x9dcf('0x68')]});})[_0x9dcf('0x12')](function(_0x339dd3){if(!_0x339dd3)return;_0x4ded08=_0x339dd3;if(!_0x234efc[_0x9dcf('0xb3')])throw new Error(_0x9dcf('0xb4'));if(_0x234efc[_0x9dcf('0xb3')][_0x9dcf('0xa6')]['length'])return _0x234efc[_0x9dcf('0xb3')][_0x9dcf('0xa6')][0x0];return db[_0x9dcf('0xa5')][_0x9dcf('0x6f')](_['defaults'](_0x2a56f1[_0x9dcf('0x68')],{'firstName':_0x2a56f1[_0x9dcf('0x68')]['to'],'email':_0x2a56f1['body']['to'],'phone':_0x2a56f1[_0x9dcf('0x68')]['to'],'ListId':_0x234efc['ListId']}));})[_0x9dcf('0x12')](function(_0x588b7d){if(!_0x588b7d)return;var _0x1fe03d={'UserId':_0x2a56f1[_0x9dcf('0x45')]['id'],'ContactId':_0x588b7d['id'],'MailAccountId':_0x234efc['id'],'inReplyTo':_0x4ded08[_0x9dcf('0xb5')],'to':_0x2a56f1[_0x9dcf('0x68')]['from'],'cc':_0x2a56f1['body']['cc'],'subject':_0x2a56f1[_0x9dcf('0x68')][_0x9dcf('0xb6')],'attach':_0x2a56f1['body'][_0x9dcf('0xb7')],'firstMsgDirection':_0x9dcf('0xb8'),'lastMsgAt':moment()['format'](_0x9dcf('0xa3')),'lastMsgDirection':'out','Messages':[_[_0x9dcf('0x5e')](_0x2a56f1[_0x9dcf('0x68')],{'messageId':_0x4ded08[_0x9dcf('0xb5')],'sentAt':moment()[_0x9dcf('0xa2')](_0x9dcf('0xa3')),'read':!![],'MailAccountId':_0x234efc['id'],'UserId':_0x2a56f1[_0x9dcf('0x45')]['id'],'ContactId':_0x588b7d['id']})]};if(_0x2a56f1[_0x9dcf('0x68')][_0x9dcf('0xb9')]){_0x1fe03d=_[_0x9dcf('0x5e')](_0x1fe03d,_0x2a56f1['body'][_0x9dcf('0xb9')]);}return db['MailInteraction']['create'](_0x1fe03d,{'include':[{'model':db['MailMessage'],'as':'Messages'}]});})[_0x9dcf('0x12')](respondWithResult(_0x3684fb,null))[_0x9dcf('0x1d')](handleError(_0x3684fb,null));};exports[_0x9dcf('0xba')]=function(_0x5b5917,_0x37714a){return db['MailAccount'][_0x9dcf('0x67')]({'where':{'id':_0x5b5917[_0x9dcf('0x65')]['id']},'include':[{'model':db[_0x9dcf('0x4a')],'as':_0x9dcf('0x46'),'raw':!![],'include':[{'model':db[_0x9dcf('0xa9')],'as':_0x9dcf('0xa9'),'raw':!![]}]}]})[_0x9dcf('0x12')](handleEntityNotFound(_0x37714a,null))[_0x9dcf('0x12')](function(_0x2b5eba){if(!_0x2b5eba[_0x9dcf('0x46')])return;var _0x309d92=_0x2b5eba[_0x9dcf('0xb1')]();return respondWithRpcPromise('VerifySmtp','verifySmtp',{'account':_0x309d92});})['then'](respondWithResult(_0x37714a,null))[_0x9dcf('0x1d')](handleError(_0x37714a,null));};exports[_0x9dcf('0x27')]=function(_0x42a53a,_0x2983df){return db[_0x9dcf('0x61')][_0x9dcf('0x67')]({'where':{'id':_0x42a53a[_0x9dcf('0x65')]['id']}})[_0x9dcf('0x12')](handleEntityNotFound(_0x2983df,null))[_0x9dcf('0x12')](function(_0x1d38d7){if(_0x1d38d7&&_0x1d38d7[_0x9dcf('0x43')]){throw new db['Sequelize'][(_0x9dcf('0xbb'))](_0x9dcf('0xbc'));}return _0x1d38d7;})['then'](removeEntity(_0x2983df,null))['catch'](handleError(_0x2983df,null));};exports[_0x9dcf('0xbd')]=function(_0x2491e1,_0x1bd716){return db[_0x9dcf('0x61')][_0x9dcf('0x67')]({'where':{'id':_0x2491e1[_0x9dcf('0x65')]['id']}})[_0x9dcf('0x12')](handleEntityNotFound(_0x1bd716,null))[_0x9dcf('0x12')](function(_0x4bf17a){if(_0x4bf17a){return _0x4bf17a[_0x9dcf('0xbd')](_0x2491e1[_0x9dcf('0x68')][_0x9dcf('0x74')],_[_0x9dcf('0xbe')](_0x2491e1[_0x9dcf('0x68')],[_0x9dcf('0x74'),'id'])||{})[_0x9dcf('0xbf')](function(_0x2802db){for(var _0xc2dec5=0x0;_0xc2dec5<_0x2491e1[_0x9dcf('0x68')]['ids'][_0x9dcf('0x58')];_0xc2dec5+=0x1){socket['emit'](_0x9dcf('0xc0'),{'UserId':Number(_0x2491e1[_0x9dcf('0x68')][_0x9dcf('0x74')][_0xc2dec5]),'MailAccountId':Number(_0x2491e1['params']['id'])});}return _0x2802db;});}})[_0x9dcf('0x12')](respondWithResult(_0x1bd716,null))[_0x9dcf('0x1d')](handleError(_0x1bd716,null));};exports[_0x9dcf('0xc1')]=function(_0x138b2b,_0x1bd6bf){return db['MailAccount'][_0x9dcf('0x67')]({'where':{'id':_0x138b2b[_0x9dcf('0x65')]['id']}})[_0x9dcf('0x12')](handleEntityNotFound(_0x1bd6bf,null))['then'](function(_0xe353c9){if(_0xe353c9){return _0xe353c9[_0x9dcf('0xc1')](_0x138b2b[_0x9dcf('0x52')]['ids'])['then'](function(){if(_[_0x9dcf('0xc2')](_0x138b2b['query'][_0x9dcf('0x74')])){for(var _0x281884=0x0;_0x281884<_0x138b2b[_0x9dcf('0x52')][_0x9dcf('0x74')][_0x9dcf('0x58')];_0x281884+=0x1){socket['emit'](_0x9dcf('0xc3'),{'UserId':Number(_0x138b2b[_0x9dcf('0x52')]['ids'][_0x281884]),'MailAccountId':Number(_0x138b2b[_0x9dcf('0x65')]['id'])});}}else{socket[_0x9dcf('0xc4')]('userMailAccount:remove',{'UserId':Number(_0x138b2b[_0x9dcf('0x52')][_0x9dcf('0x74')]),'MailAccountId':Number(_0x138b2b[_0x9dcf('0x65')]['id'])});}});}})[_0x9dcf('0x12')](respondWithStatusCode(_0x1bd6bf,null))[_0x9dcf('0x1d')](handleError(_0x1bd6bf,null));};exports[_0x9dcf('0xc5')]=function(_0x82c22b,_0x487768){var _0x1404ea={};var _0x17e52d={};var _0x6bd583;var _0x2aea01;return db[_0x9dcf('0x61')][_0x9dcf('0x70')]({'where':{'id':_0x82c22b['params']['id']}})[_0x9dcf('0x12')](handleEntityNotFound(_0x487768,null))[_0x9dcf('0x12')](function(_0x894d8a){if(_0x894d8a){_0x6bd583=_0x894d8a;_0x17e52d['model']=_[_0x9dcf('0x53')](db[_0x9dcf('0xc6')][_0x9dcf('0x66')]);_0x17e52d[_0x9dcf('0x52')]=_[_0x9dcf('0x53')](_0x82c22b[_0x9dcf('0x52')]);_0x17e52d['filters']=_[_0x9dcf('0x55')](_0x17e52d['model'],_0x17e52d[_0x9dcf('0x52')]);_0x1404ea[_0x9dcf('0x56')]=_[_0x9dcf('0x55')](_0x17e52d[_0x9dcf('0x51')],qs['fields'](_0x82c22b[_0x9dcf('0x52')][_0x9dcf('0x57')]));_0x1404ea['attributes']=_0x1404ea['attributes'][_0x9dcf('0x58')]?_0x1404ea['attributes']:_0x17e52d[_0x9dcf('0x51')];_0x1404ea[_0x9dcf('0x71')]=qs[_0x9dcf('0x5a')](_0x82c22b[_0x9dcf('0x52')]['sort']);_0x1404ea[_0x9dcf('0x5b')]=qs['filters'](_['pick'](_0x82c22b[_0x9dcf('0x52')],_0x17e52d['filters']));if(_0x82c22b[_0x9dcf('0x52')][_0x9dcf('0x5d')]){_0x1404ea[_0x9dcf('0x5b')]=_[_0x9dcf('0x5e')](_0x1404ea[_0x9dcf('0x5b')],{'$or':_[_0x9dcf('0x4d')](_0x1404ea['attributes'],function(_0x54d5ba){var _0x46a1a8={};_0x46a1a8[_0x54d5ba]={'$like':'%'+_0x82c22b[_0x9dcf('0x52')][_0x9dcf('0x5d')]+'%'};return _0x46a1a8;})});}_0x1404ea=_[_0x9dcf('0x5e')]({},_0x1404ea,_0x82c22b[_0x9dcf('0x60')]);return _0x6bd583[_0x9dcf('0xc5')](_0x1404ea);}})[_0x9dcf('0x12')](function(_0x5d23b0){if(_0x5d23b0){_0x2aea01=_0x5d23b0[_0x9dcf('0x58')];if(!_0x82c22b[_0x9dcf('0x52')][_0x9dcf('0x59')](_0x9dcf('0x78'))){_0x1404ea[_0x9dcf('0x23')]=qs[_0x9dcf('0x23')](_0x82c22b['query'][_0x9dcf('0x23')]);_0x1404ea[_0x9dcf('0x21')]=qs['offset'](_0x82c22b[_0x9dcf('0x52')]['offset']);}return _0x6bd583['getAgents'](_0x1404ea);}})[_0x9dcf('0x12')](function(_0xbad0a2){if(_0xbad0a2){return _0xbad0a2?{'count':_0x2aea01,'rows':_0xbad0a2}:null;}})[_0x9dcf('0x12')](respondWithResult(_0x487768,null))[_0x9dcf('0x1d')](handleError(_0x487768,null));};