Built motion from commit 2b9af5da.|2.6.26
[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 _0xcad6=['addSmtp','removeSmtp','MailInteraction','addInteraction','omit','CmContact','Contact','User','Owner','fullname','internal','Tag','tag','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','findAndCountAll','priority','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','true','send','CmList','List','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','from','%s\x20<%s>','attachments','join','basename','getSmtpOptions','SendMail','sendMail','List\x20not\x20found','Contacts','messageId','subject','attach','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','ioredis','../../components/parsers/qs','../../config/logger','api','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','jayson/promise','request','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','message','catch','sendStatus','status','offset','undefined','count','limit','set','Content-Range','json','update','then','destroy','UserProfileResource','end','stack','name','imap.gmail.com','yahoo','imap.mail.yahoo.com','hotmail','imap-mail.outlook.com','outlook.office365.com','smtp.gmail.com','smtp.mail.yahoo.com','smtp-mail.outlook.com','Unknown\x20email\x20service\x20provider','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','index','MailServerOut','map','MailAccount','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','options','includeAll','include','findAll','show','params','MailServerIn','Pause','keys','merge','find','body','provider','custom','Mail\x20Account\x20not\x20found','addDisposition','MailAccountId','Disposition','findOne','rows','removeDispositions','ids','addAnswer','CannedAnswer','create','getAnswers','removeAnswers','key','email','isNil','description','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','removeImap','getSmtp'];(function(_0xa013a4,_0x2ff249){var _0x27f4a2=function(_0x1a5a6f){while(--_0x1a5a6f){_0xa013a4['push'](_0xa013a4['shift']());}};_0x27f4a2(++_0x2ff249);}(_0xcad6,0x101));var _0x6cad=function(_0x1f6aa2,_0xa7762c){_0x1f6aa2=_0x1f6aa2-0x0;var _0x946ab5=_0xcad6[_0x1f6aa2];return _0x946ab5;};'use strict';var moment=require(_0x6cad('0x0'));var BPromise=require(_0x6cad('0x1'));var util=require(_0x6cad('0x2'));var path=require(_0x6cad('0x3'));var _=require(_0x6cad('0x4'));var juice=require(_0x6cad('0x5'));var Redis=require(_0x6cad('0x6'));var qs=require(_0x6cad('0x7'));var logger=require(_0x6cad('0x8'))(_0x6cad('0x9'));var config=require('../../config/environment');var db=require(_0x6cad('0xa'))['db'];config[_0x6cad('0xb')]=_[_0x6cad('0xc')](config[_0x6cad('0xb')],{'host':_0x6cad('0xd'),'port':0x18eb});var socket=require(_0x6cad('0xe'))(new Redis(config[_0x6cad('0xb')]));require(_0x6cad('0xf'))['register'](socket);var jayson=require(_0x6cad('0x10'));var client=jayson['client']['http']({'port':0x232b});function respondWithRpcPromise(_0x122fdf,_0x42107b,_0x12ea72,_0x2b40a9){return new BPromise(function(_0x262fa6,_0x5046a3){var _0x404d50=_0x2b40a9||client;return _0x404d50[_0x6cad('0x11')](_0x122fdf,_0x12ea72)['then'](function(_0xf4fe20){logger[_0x6cad('0x12')](_0x6cad('0x13'),_0x42107b,_0x6cad('0x14'));logger[_0x6cad('0x15')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x42107b,_0x6cad('0x14'),JSON[_0x6cad('0x16')](_0xf4fe20));if(_0xf4fe20['error']){if(_0xf4fe20['error']['code']===0x1f4){logger[_0x6cad('0x17')](_0x6cad('0x13'),_0x42107b,_0xf4fe20['error'][_0x6cad('0x18')]);return _0x5046a3(_0xf4fe20['error']['message']);}logger[_0x6cad('0x17')]('MailAccount,\x20%s,\x20%s',_0x42107b,_0xf4fe20[_0x6cad('0x17')][_0x6cad('0x18')]);return _0x262fa6(_0xf4fe20['error'][_0x6cad('0x18')]);}else{logger['info']('MailAccount,\x20%s,\x20%s',_0x42107b,'request\x20sent');_0x262fa6(_0xf4fe20['result'][_0x6cad('0x18')]);}})[_0x6cad('0x19')](function(_0x417693){logger['error'](_0x6cad('0x13'),_0x42107b,_0x417693);_0x5046a3(_0x417693);});});}function respondWithStatusCode(_0x5d5a77,_0x520e66){_0x520e66=_0x520e66||0xcc;return function(_0x2e7ad2){if(_0x2e7ad2){return _0x5d5a77[_0x6cad('0x1a')](_0x520e66);}return _0x5d5a77[_0x6cad('0x1b')](_0x520e66)['end']();};}function respondWithResult(_0x25ed12,_0xb59bfb){_0xb59bfb=_0xb59bfb||0xc8;return function(_0x1abd94){if(_0x1abd94){return _0x25ed12[_0x6cad('0x1b')](_0xb59bfb)['json'](_0x1abd94);}};}function respondWithFilteredResult(_0x265a9a,_0x50f40d){return function(_0x4b7a9e){if(_0x4b7a9e){var _0x500469=typeof _0x50f40d[_0x6cad('0x1c')]===_0x6cad('0x1d')&&typeof _0x50f40d['limit']===_0x6cad('0x1d');var _0x4f9a4a=_0x4b7a9e[_0x6cad('0x1e')];var _0x464fd5=_0x500469?0x0:_0x50f40d[_0x6cad('0x1c')];var _0xad78d7=_0x500469?_0x4b7a9e[_0x6cad('0x1e')]:_0x50f40d[_0x6cad('0x1c')]+_0x50f40d[_0x6cad('0x1f')];var _0x48aceb;if(_0xad78d7>=_0x4f9a4a){_0xad78d7=_0x4f9a4a;_0x48aceb=0xc8;}else{_0x48aceb=0xce;}_0x265a9a['status'](_0x48aceb);return _0x265a9a[_0x6cad('0x20')](_0x6cad('0x21'),_0x464fd5+'-'+_0xad78d7+'/'+_0x4f9a4a)[_0x6cad('0x22')](_0x4b7a9e);}return null;};}function saveUpdates(_0x4322cc){return function(_0x169cc2){if(_0x169cc2){return _0x169cc2[_0x6cad('0x23')](_0x4322cc)[_0x6cad('0x24')](function(_0x3182d2){return _0x3182d2;});}return null;};}function removeEntity(_0x4c1482){return function(_0x3eadc2){if(_0x3eadc2){return _0x3eadc2[_0x6cad('0x25')]()[_0x6cad('0x24')](function(){var _0x3caf8c=_0x3eadc2['get']({'plain':!![]});var _0xaa29a8='MailAccounts';return db[_0x6cad('0x26')][_0x6cad('0x25')]({'where':{'type':_0xaa29a8,'resourceId':_0x3caf8c['id']}})['then'](function(){return _0x3eadc2;});})[_0x6cad('0x24')](function(){_0x4c1482[_0x6cad('0x1b')](0xcc)[_0x6cad('0x27')]();});}};}function handleEntityNotFound(_0x27ec6e){return function(_0x157a8f){if(!_0x157a8f){_0x27ec6e[_0x6cad('0x1a')](0x194);}return _0x157a8f;};}function handleError(_0x53ae9f,_0x3df408){_0x3df408=_0x3df408||0x1f4;return function(_0x12d53c){logger[_0x6cad('0x17')](_0x12d53c[_0x6cad('0x28')]);if(_0x12d53c['name']){delete _0x12d53c[_0x6cad('0x29')];}_0x53ae9f[_0x6cad('0x1b')](_0x3df408)['send'](_0x12d53c);};}function getImapHost(_0x556ec9){switch(_0x556ec9){case'gmail':return _0x6cad('0x2a');case _0x6cad('0x2b'):return _0x6cad('0x2c');case _0x6cad('0x2d'):return _0x6cad('0x2e');case'outlook365':return _0x6cad('0x2f');}throw new Error('Unknown\x20email\x20service\x20provider',_0x556ec9);}function getSmtpHost(_0x4561c1){switch(_0x4561c1){case'gmail':return _0x6cad('0x30');case _0x6cad('0x2b'):return _0x6cad('0x31');case _0x6cad('0x2d'):return _0x6cad('0x32');case'outlook365':return'smtp.office365.com';}throw new Error(_0x6cad('0x33'),_0x4561c1);}function getAuthenticationOptions(_0x5c7ca2,_0x5d79ec){var _0x11a7dc={};var _0x52ba4e={};if(_0x5c7ca2){_0x11a7dc[_0x6cad('0x34')]=_0x52ba4e[_0x6cad('0x34')]=_0x5d79ec[_0x6cad('0x35')];_0x11a7dc[_0x6cad('0x36')]=_0x52ba4e[_0x6cad('0x37')]=_0x5d79ec[_0x6cad('0x36')];if(_0x5d79ec['modernAuthentication']){_0x11a7dc[_0x6cad('0x38')]=_0x52ba4e[_0x6cad('0x38')]=!![];_0x11a7dc[_0x6cad('0x39')]=_0x52ba4e['CloudProviderId']=_0x5d79ec[_0x6cad('0x39')];_0x11a7dc[_0x6cad('0x36')]=_0x52ba4e['pass']=null;}else{_0x11a7dc[_0x6cad('0x39')]=_0x52ba4e[_0x6cad('0x39')]=null;}_0x11a7dc[_0x6cad('0x3a')]=getImapHost(_0x5c7ca2);_0x11a7dc['port']=0x3e1;_0x52ba4e[_0x6cad('0x3a')]=getSmtpHost(_0x5c7ca2);_0x52ba4e[_0x6cad('0x3b')]=0x24b;_0x52ba4e[_0x6cad('0x3c')]=![];_0x11a7dc[_0x6cad('0x3d')]=_0x52ba4e[_0x6cad('0x3d')]=null;}else{if(_0x5d79ec['authentication']){_0x11a7dc[_0x6cad('0x34')]=_0x52ba4e['user']=_0x5d79ec[_0x6cad('0x35')];_0x11a7dc['password']=_0x52ba4e[_0x6cad('0x37')]=_0x5d79ec[_0x6cad('0x36')];}else{_0x11a7dc[_0x6cad('0x3e')]=_0x52ba4e['authentication']=![];_0x11a7dc['user']=_0x52ba4e[_0x6cad('0x34')]=null;_0x11a7dc[_0x6cad('0x36')]=_0x52ba4e[_0x6cad('0x37')]=null;}_0x11a7dc['host']=_0x5d79ec[_0x6cad('0x3f')]['host'];_0x11a7dc[_0x6cad('0x3b')]=_0x5d79ec['Imap']['port'];_0x52ba4e[_0x6cad('0x3a')]=_0x5d79ec[_0x6cad('0x40')][_0x6cad('0x3a')];_0x52ba4e['port']=_0x5d79ec[_0x6cad('0x40')][_0x6cad('0x3b')];}return{'Imap':_0x11a7dc,'Smtp':_0x52ba4e};}exports[_0x6cad('0x41')]=function(_0x170ae0,_0x33c632){var _0x1addcf={'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db[_0x6cad('0x42')],'as':_0x6cad('0x40')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]},_0x2a8133={},_0x2a9465={'count':0x0,'rows':[]};var _0x5a9a87=_[_0x6cad('0x43')](db[_0x6cad('0x44')][_0x6cad('0x45')],function(_0x27b074){return{'name':_0x27b074[_0x6cad('0x46')],'type':_0x27b074[_0x6cad('0x47')]['key']};});_0x2a8133[_0x6cad('0x48')]=_[_0x6cad('0x43')](_0x5a9a87,_0x6cad('0x29'));_0x2a8133[_0x6cad('0x49')]=_['keys'](_0x170ae0[_0x6cad('0x49')]);_0x2a8133[_0x6cad('0x4a')]=_[_0x6cad('0x4b')](_0x2a8133[_0x6cad('0x48')],_0x2a8133[_0x6cad('0x49')]);_0x1addcf[_0x6cad('0x4c')]=_[_0x6cad('0x4b')](_0x2a8133[_0x6cad('0x48')],qs['fields'](_0x170ae0[_0x6cad('0x49')][_0x6cad('0x4d')]));_0x1addcf[_0x6cad('0x4c')]=_0x1addcf[_0x6cad('0x4c')][_0x6cad('0x4e')]?_0x1addcf[_0x6cad('0x4c')]:_0x2a8133[_0x6cad('0x48')];if(!_0x170ae0[_0x6cad('0x49')][_0x6cad('0x4f')](_0x6cad('0x50'))){_0x1addcf[_0x6cad('0x1f')]=qs[_0x6cad('0x1f')](_0x170ae0[_0x6cad('0x49')][_0x6cad('0x1f')]);_0x1addcf['offset']=qs[_0x6cad('0x1c')](_0x170ae0[_0x6cad('0x49')][_0x6cad('0x1c')]);}_0x1addcf[_0x6cad('0x51')]=qs[_0x6cad('0x52')](_0x170ae0[_0x6cad('0x49')][_0x6cad('0x52')]);_0x1addcf[_0x6cad('0x53')]=qs[_0x6cad('0x4a')](_[_0x6cad('0x54')](_0x170ae0[_0x6cad('0x49')],_0x2a8133['filters']),_0x5a9a87);if(_0x170ae0[_0x6cad('0x49')][_0x6cad('0x55')]){_0x1addcf['where']=_['merge'](_0x1addcf['where'],{'$or':_[_0x6cad('0x43')](_0x5a9a87,function(_0x1fed01){if(_0x1fed01[_0x6cad('0x47')]!==_0x6cad('0x56')){var _0x53f22={};_0x53f22[_0x1fed01[_0x6cad('0x29')]]={'$like':'%'+_0x170ae0[_0x6cad('0x49')][_0x6cad('0x55')]+'%'};return _0x53f22;}})});}_0x1addcf=_['merge']({},_0x1addcf,_0x170ae0[_0x6cad('0x57')]);var _0x55fc4c={'where':_0x1addcf[_0x6cad('0x53')]};return db['MailAccount']['count'](_0x55fc4c)[_0x6cad('0x24')](function(_0x2b6de4){_0x2a9465[_0x6cad('0x1e')]=_0x2b6de4;if(_0x170ae0['query'][_0x6cad('0x58')]){_0x1addcf[_0x6cad('0x59')]=[{'all':!![]}];}return db[_0x6cad('0x44')][_0x6cad('0x5a')](_0x1addcf);})[_0x6cad('0x24')](function(_0xf19c71){_0x2a9465['rows']=_0xf19c71;return _0x2a9465;})['then'](respondWithFilteredResult(_0x33c632,_0x1addcf))[_0x6cad('0x19')](handleError(_0x33c632,null));};exports[_0x6cad('0x5b')]=function(_0x294167,_0x2ec89c){var _0x3c8b43={'raw':![],'where':{'id':_0x294167[_0x6cad('0x5c')]['id']},'include':[{'model':db[_0x6cad('0x5d')],'as':'Imap'},{'model':db[_0x6cad('0x42')],'as':_0x6cad('0x40')},{'model':db[_0x6cad('0x5e')],'as':'mandatoryDispositionPause'}]},_0x2be501={};_0x2be501[_0x6cad('0x48')]=_[_0x6cad('0x5f')](db[_0x6cad('0x44')]['rawAttributes']);_0x2be501[_0x6cad('0x49')]=_[_0x6cad('0x5f')](_0x294167[_0x6cad('0x49')]);_0x2be501[_0x6cad('0x4a')]=_[_0x6cad('0x4b')](_0x2be501['model'],_0x2be501['query']);_0x3c8b43['attributes']=_[_0x6cad('0x4b')](_0x2be501['model'],qs[_0x6cad('0x4d')](_0x294167[_0x6cad('0x49')][_0x6cad('0x4d')]));_0x3c8b43[_0x6cad('0x4c')]=_0x3c8b43[_0x6cad('0x4c')][_0x6cad('0x4e')]?_0x3c8b43[_0x6cad('0x4c')]:_0x2be501['model'];if(_0x294167[_0x6cad('0x49')][_0x6cad('0x58')]){_0x3c8b43['include']=[{'all':!![]}];}_0x3c8b43=_[_0x6cad('0x60')]({},_0x3c8b43,_0x294167[_0x6cad('0x57')]);return db[_0x6cad('0x44')][_0x6cad('0x61')](_0x3c8b43)['then'](handleEntityNotFound(_0x2ec89c,null))[_0x6cad('0x24')](respondWithResult(_0x2ec89c,null))['catch'](handleError(_0x2ec89c,null));};exports[_0x6cad('0x23')]=function(_0x2f3952,_0xbd810d){if(_0x2f3952['body']['id']){delete _0x2f3952[_0x6cad('0x62')]['id'];}var _0x1e3dfa=_0x2f3952['body'][_0x6cad('0x63')]===_0x6cad('0x64')?null:_0x2f3952[_0x6cad('0x62')][_0x6cad('0x63')];var _0x5be50b=_0x2f3952['body']['Imap']||{};var _0x2bfe2b=_0x2f3952[_0x6cad('0x62')]['Smtp']||{};if(_0x1e3dfa){_0x5be50b[_0x6cad('0x3a')]=getImapHost(_0x1e3dfa);_0x5be50b[_0x6cad('0x3b')]=0x3e1;_0x2bfe2b[_0x6cad('0x3a')]=getSmtpHost(_0x1e3dfa);_0x2bfe2b['port']=0x24b;_0x2bfe2b[_0x6cad('0x3c')]=![];}if(_0x2bfe2b[_0x6cad('0x38')]){_0x2bfe2b[_0x6cad('0x3c')]=![];}else{_0x2bfe2b[_0x6cad('0x39')]=null;}if(!_0x5be50b['modernAuthentication'])_0x5be50b[_0x6cad('0x39')]=null;_0x2f3952[_0x6cad('0x62')]['Imap']=_0x5be50b;_0x2f3952[_0x6cad('0x62')]['Smtp']=_0x2bfe2b;return db[_0x6cad('0x44')][_0x6cad('0x61')]({'where':{'id':_0x2f3952[_0x6cad('0x5c')]['id']},'include':[{'model':db[_0x6cad('0x5d')],'as':_0x6cad('0x3f')},{'model':db[_0x6cad('0x42')],'as':_0x6cad('0x40')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]})[_0x6cad('0x24')](handleEntityNotFound(_0xbd810d,null))[_0x6cad('0x24')](function(_0x114265){if(!_0x114265)throw new Error(_0x6cad('0x65'));if(_0x114265[_0x6cad('0x3d')])delete _0x2f3952[_0x6cad('0x62')][_0x6cad('0x3f')];return _0x114265;})[_0x6cad('0x24')](saveUpdates(_0x2f3952[_0x6cad('0x62')],null))['then'](function(_0x40b461){if(!_0x2f3952[_0x6cad('0x62')]['Imap'])return _0x40b461;return db[_0x6cad('0x5d')]['update'](_0x2f3952[_0x6cad('0x62')][_0x6cad('0x3f')],{'where':{'MailAccountId':_0x40b461['id']}})[_0x6cad('0x24')](function(){return _0x40b461;});})['then'](function(_0x226861){if(!_0x2f3952['body']['Smtp'])return _0x226861;return db[_0x6cad('0x42')]['update'](_0x2f3952['body'][_0x6cad('0x40')],{'where':{'MailAccountId':_0x226861['id']}})['then'](function(){return _0x226861;});})[_0x6cad('0x24')](respondWithResult(_0xbd810d,null))['catch'](handleError(_0xbd810d,null));};exports['describe']=function(_0x1188a5,_0x4ffbc0){return db[_0x6cad('0x44')]['describe']()[_0x6cad('0x24')](respondWithResult(_0x4ffbc0,null))[_0x6cad('0x19')](handleError(_0x4ffbc0,null));};exports[_0x6cad('0x66')]=function(_0x383676,_0x359c24){if(_0x383676['body']['id']){delete _0x383676[_0x6cad('0x62')]['id'];}return db[_0x6cad('0x44')][_0x6cad('0x61')]({'where':{'id':_0x383676[_0x6cad('0x5c')]['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0x359c24,null))[_0x6cad('0x24')](function(_0x4021c6){if(_0x4021c6){_0x383676['body'][_0x6cad('0x67')]=_0x4021c6['id'];return db[_0x6cad('0x68')]['create'](_0x383676[_0x6cad('0x62')]);}})['then'](respondWithResult(_0x359c24,null))[_0x6cad('0x19')](handleError(_0x359c24,null));};exports['getDispositions']=function(_0xd54843,_0xef39){var _0x36fcc4={'raw':![],'where':{}};var _0x7f2fba={};var _0x38f045={'count':0x0,'rows':[]};return db[_0x6cad('0x44')][_0x6cad('0x69')]({'where':{'id':_0xd54843['params']['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0xef39,null))[_0x6cad('0x24')](function(_0x3b6383){if(_0x3b6383){_0x7f2fba[_0x6cad('0x48')]=_[_0x6cad('0x5f')](db[_0x6cad('0x68')]['rawAttributes']);_0x7f2fba[_0x6cad('0x49')]=_[_0x6cad('0x5f')](_0xd54843[_0x6cad('0x49')]);_0x7f2fba[_0x6cad('0x4a')]=_[_0x6cad('0x4b')](_0x7f2fba[_0x6cad('0x48')],_0x7f2fba['query']);_0x36fcc4[_0x6cad('0x4c')]=_[_0x6cad('0x4b')](_0x7f2fba[_0x6cad('0x48')],qs['fields'](_0xd54843[_0x6cad('0x49')]['fields']));_0x36fcc4['attributes']=_0x36fcc4[_0x6cad('0x4c')][_0x6cad('0x4e')]?_0x36fcc4[_0x6cad('0x4c')]:_0x7f2fba['model'];if(!_0xd54843[_0x6cad('0x49')]['hasOwnProperty'](_0x6cad('0x50'))){_0x36fcc4['limit']=qs[_0x6cad('0x1f')](_0xd54843[_0x6cad('0x49')][_0x6cad('0x1f')]);_0x36fcc4[_0x6cad('0x1c')]=qs['offset'](_0xd54843['query'][_0x6cad('0x1c')]);}_0x36fcc4[_0x6cad('0x51')]=qs[_0x6cad('0x52')](_0xd54843['query'][_0x6cad('0x52')]);_0x36fcc4['where']=qs[_0x6cad('0x4a')](_['pick'](_0xd54843[_0x6cad('0x49')],_0x7f2fba[_0x6cad('0x4a')]));_0x36fcc4[_0x6cad('0x53')][_0x6cad('0x67')]=_0x3b6383['id'];if(_0xd54843[_0x6cad('0x49')][_0x6cad('0x55')]){_0x36fcc4['where']=_['merge'](_0x36fcc4[_0x6cad('0x53')],{'$or':_['map'](_0x36fcc4[_0x6cad('0x4c')],function(_0x2a627f){var _0x578ab6={};_0x578ab6[_0x2a627f]={'$like':'%'+_0xd54843[_0x6cad('0x49')][_0x6cad('0x55')]+'%'};return _0x578ab6;})});}_0x36fcc4=_[_0x6cad('0x60')]({},_0x36fcc4,_0xd54843[_0x6cad('0x57')]);return db[_0x6cad('0x68')]['count']({'where':_0x36fcc4[_0x6cad('0x53')]})['then'](function(_0x50b9c2){_0x38f045[_0x6cad('0x1e')]=_0x50b9c2;if(_0xd54843['query'][_0x6cad('0x58')]){_0x36fcc4[_0x6cad('0x59')]=[{'all':!![]}];}return db['Disposition']['findAll'](_0x36fcc4);})['then'](function(_0xb2ee1c){_0x38f045[_0x6cad('0x6a')]=_0xb2ee1c;return _0x38f045;});}})[_0x6cad('0x24')](respondWithFilteredResult(_0xef39,_0x36fcc4))[_0x6cad('0x19')](handleError(_0xef39,null));};exports[_0x6cad('0x6b')]=function(_0x330e28,_0x381111){return db[_0x6cad('0x44')]['find']({'where':{'id':_0x330e28[_0x6cad('0x5c')]['id']}})['then'](handleEntityNotFound(_0x381111,null))['then'](function(_0x398616){if(_0x398616){return _0x398616[_0x6cad('0x6b')](_0x330e28['query'][_0x6cad('0x6c')]);}})[_0x6cad('0x24')](respondWithStatusCode(_0x381111,null))[_0x6cad('0x19')](handleError(_0x381111,null));};exports[_0x6cad('0x6d')]=function(_0x475091,_0x1a6470){if(_0x475091[_0x6cad('0x62')]['id']){delete _0x475091[_0x6cad('0x62')]['id'];}return db[_0x6cad('0x44')]['find']({'where':{'id':_0x475091[_0x6cad('0x5c')]['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0x1a6470,null))[_0x6cad('0x24')](function(_0x5b69ab){if(_0x5b69ab){_0x475091[_0x6cad('0x62')][_0x6cad('0x67')]=_0x5b69ab['id'];return db[_0x6cad('0x6e')][_0x6cad('0x6f')](_0x475091[_0x6cad('0x62')]);}})['then'](respondWithResult(_0x1a6470,null))[_0x6cad('0x19')](handleError(_0x1a6470,null));};exports[_0x6cad('0x70')]=function(_0x5c4c05,_0x4c7b4f){var _0x2ffcaa={'raw':![],'where':{}};var _0x571f46={};var _0x422fcd={'count':0x0,'rows':[]};return db[_0x6cad('0x44')][_0x6cad('0x69')]({'where':{'id':_0x5c4c05['params']['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0x4c7b4f,null))[_0x6cad('0x24')](function(_0x5ac64a){if(_0x5ac64a){_0x571f46[_0x6cad('0x48')]=_[_0x6cad('0x5f')](db[_0x6cad('0x6e')][_0x6cad('0x45')]);_0x571f46[_0x6cad('0x49')]=_[_0x6cad('0x5f')](_0x5c4c05[_0x6cad('0x49')]);_0x571f46['filters']=_[_0x6cad('0x4b')](_0x571f46['model'],_0x571f46[_0x6cad('0x49')]);_0x2ffcaa['attributes']=_[_0x6cad('0x4b')](_0x571f46[_0x6cad('0x48')],qs[_0x6cad('0x4d')](_0x5c4c05[_0x6cad('0x49')][_0x6cad('0x4d')]));_0x2ffcaa[_0x6cad('0x4c')]=_0x2ffcaa[_0x6cad('0x4c')][_0x6cad('0x4e')]?_0x2ffcaa[_0x6cad('0x4c')]:_0x571f46[_0x6cad('0x48')];if(!_0x5c4c05[_0x6cad('0x49')][_0x6cad('0x4f')](_0x6cad('0x50'))){_0x2ffcaa[_0x6cad('0x1f')]=qs[_0x6cad('0x1f')](_0x5c4c05[_0x6cad('0x49')][_0x6cad('0x1f')]);_0x2ffcaa[_0x6cad('0x1c')]=qs[_0x6cad('0x1c')](_0x5c4c05[_0x6cad('0x49')][_0x6cad('0x1c')]);}_0x2ffcaa[_0x6cad('0x51')]=qs[_0x6cad('0x52')](_0x5c4c05[_0x6cad('0x49')][_0x6cad('0x52')]);_0x2ffcaa['where']=qs[_0x6cad('0x4a')](_[_0x6cad('0x54')](_0x5c4c05['query'],_0x571f46['filters']));_0x2ffcaa[_0x6cad('0x53')][_0x6cad('0x67')]=_0x5ac64a['id'];if(_0x5c4c05['query'][_0x6cad('0x55')]){_0x2ffcaa[_0x6cad('0x53')]=_[_0x6cad('0x60')](_0x2ffcaa[_0x6cad('0x53')],{'$or':_['map'](_0x2ffcaa[_0x6cad('0x4c')],function(_0x2815af){var _0x5c1ffc={};_0x5c1ffc[_0x2815af]={'$like':'%'+_0x5c4c05[_0x6cad('0x49')][_0x6cad('0x55')]+'%'};return _0x5c1ffc;})});}_0x2ffcaa=_[_0x6cad('0x60')]({},_0x2ffcaa,_0x5c4c05['options']);return db['CannedAnswer'][_0x6cad('0x1e')]({'where':_0x2ffcaa[_0x6cad('0x53')]})[_0x6cad('0x24')](function(_0x27213b){_0x422fcd['count']=_0x27213b;if(_0x5c4c05[_0x6cad('0x49')][_0x6cad('0x58')]){_0x2ffcaa[_0x6cad('0x59')]=[{'all':!![]}];}return db[_0x6cad('0x6e')]['findAll'](_0x2ffcaa);})[_0x6cad('0x24')](function(_0x28822c){_0x422fcd[_0x6cad('0x6a')]=_0x28822c;return _0x422fcd;});}})[_0x6cad('0x24')](respondWithFilteredResult(_0x4c7b4f,_0x2ffcaa))[_0x6cad('0x19')](handleError(_0x4c7b4f,null));};exports[_0x6cad('0x71')]=function(_0x5868a3,_0x1c32d6){return db['MailAccount'][_0x6cad('0x61')]({'where':{'id':_0x5868a3[_0x6cad('0x5c')]['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0x1c32d6,null))['then'](function(_0x9700){if(_0x9700){return _0x9700[_0x6cad('0x71')](_0x5868a3[_0x6cad('0x49')]['ids']);}})[_0x6cad('0x24')](respondWithStatusCode(_0x1c32d6,null))[_0x6cad('0x19')](handleError(_0x1c32d6,null));};exports[_0x6cad('0x6f')]=function(_0x31f719,_0x1677df){var _0x418c39={'name':_0x31f719['body']['name'],'key':_0x31f719[_0x6cad('0x62')][_0x6cad('0x72')],'provider':_0x31f719['body'][_0x6cad('0x63')]===_0x6cad('0x64')?null:_0x31f719[_0x6cad('0x62')][_0x6cad('0x63')],'email':_0x31f719['body'][_0x6cad('0x73')],'ListId':_0x31f719[_0x6cad('0x62')]['ListId'],'active':!_[_0x6cad('0x74')](_0x31f719[_0x6cad('0x62')]['active'])?_0x31f719[_0x6cad('0x62')]['active']:!![],'description':_0x31f719[_0x6cad('0x62')][_0x6cad('0x75')]||null};var _0x58e388=getAuthenticationOptions(_0x418c39['provider'],_0x31f719[_0x6cad('0x62')]);_0x418c39[_0x6cad('0x3f')]=_0x58e388[_0x6cad('0x3f')];_0x418c39['Smtp']=_0x58e388['Smtp'];return db[_0x6cad('0x44')][_0x6cad('0x6f')](_0x418c39,{'include':[{'model':db[_0x6cad('0x42')],'as':_0x6cad('0x40')},{'model':db['MailServerIn'],'as':_0x6cad('0x3f')}]})[_0x6cad('0x24')](function(_0xc2e1f){var _0x142c57=_0x31f719[_0x6cad('0x34')]['get']({'plain':!![]});if(!_0x142c57)throw new Error(_0x6cad('0x76'));if(_0x142c57[_0x6cad('0x77')]===_0x6cad('0x34')){var _0x120f53=_0xc2e1f['get']({'plain':!![]});return db[_0x6cad('0x78')]['find']({'where':{'name':'MailAccounts','userProfileId':_0x142c57[_0x6cad('0x79')]},'raw':!![]})[_0x6cad('0x24')](function(_0x2bffca){if(_0x2bffca&&_0x2bffca[_0x6cad('0x7a')]===0x0){return db[_0x6cad('0x26')][_0x6cad('0x6f')]({'name':_0x120f53['name'],'resourceId':_0x120f53['id'],'type':_0x2bffca[_0x6cad('0x29')],'sectionId':_0x2bffca['id']},{})['then'](function(){return _0xc2e1f;});}else{return _0xc2e1f;}})[_0x6cad('0x19')](function(_0x4fb5c0){logger[_0x6cad('0x17')](_0x6cad('0x7b'),_0x4fb5c0);throw _0x4fb5c0;});}return _0xc2e1f;})[_0x6cad('0x24')](respondWithResult(_0x1677df,0xc9))[_0x6cad('0x19')](handleError(_0x1677df,null));};exports[_0x6cad('0x7c')]=function(_0x2f96e5,_0x378dd4){return db[_0x6cad('0x44')]['findOne']({'where':{'id':_0x2f96e5['params']['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0x378dd4,null))[_0x6cad('0x24')](function(_0x2406f0){if(_0x2406f0){return _0x2406f0[_0x6cad('0x7c')]();}return null;})['then'](respondWithResult(_0x378dd4,null))[_0x6cad('0x19')](handleError(_0x378dd4,null));};exports['addImap']=function(_0x1e8295,_0x18a6dd){if(_0x1e8295[_0x6cad('0x62')]['id']){delete _0x1e8295[_0x6cad('0x62')]['id'];}return db[_0x6cad('0x44')][_0x6cad('0x61')]({'where':{'id':_0x1e8295[_0x6cad('0x5c')]['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0x18a6dd,null))[_0x6cad('0x24')](function(_0x5dc444){if(_0x5dc444){_0x1e8295['body']['MailAccountId']=_0x5dc444['id'];return db[_0x6cad('0x5d')]['create'](_0x1e8295[_0x6cad('0x62')]);}})['then'](respondWithResult(_0x18a6dd,null))[_0x6cad('0x19')](handleError(_0x18a6dd,null));};exports[_0x6cad('0x7d')]=function(_0x143bdf,_0x20bb72){return db[_0x6cad('0x44')][_0x6cad('0x69')]({'where':{'id':_0x143bdf['params']['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0x20bb72,null))[_0x6cad('0x24')](function(_0x58ff4a){if(_0x58ff4a){return _0x58ff4a['setImap'](null);}return null;})[_0x6cad('0x24')](respondWithStatusCode(_0x20bb72,null))[_0x6cad('0x19')](handleError(_0x20bb72,null));};exports[_0x6cad('0x7e')]=function(_0x3eff55,_0x1674c9){return db['MailAccount'][_0x6cad('0x69')]({'where':{'id':_0x3eff55['params']['id']}})['then'](handleEntityNotFound(_0x1674c9,null))[_0x6cad('0x24')](function(_0x250950){if(_0x250950){return _0x250950['getSmtp']();}return null;})[_0x6cad('0x24')](respondWithResult(_0x1674c9,null))[_0x6cad('0x19')](handleError(_0x1674c9,null));};exports[_0x6cad('0x7f')]=function(_0x12ed22,_0xc7b5b0){if(_0x12ed22['body']['id']){delete _0x12ed22['body']['id'];}return db['MailAccount'][_0x6cad('0x61')]({'where':{'id':_0x12ed22[_0x6cad('0x5c')]['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0xc7b5b0,null))[_0x6cad('0x24')](function(_0x3b689f){if(_0x3b689f){_0x12ed22[_0x6cad('0x62')][_0x6cad('0x67')]=_0x3b689f['id'];return db[_0x6cad('0x42')]['create'](_0x12ed22[_0x6cad('0x62')]);}})[_0x6cad('0x24')](respondWithResult(_0xc7b5b0,null))[_0x6cad('0x19')](handleError(_0xc7b5b0,null));};exports[_0x6cad('0x80')]=function(_0x221131,_0x455034){return db[_0x6cad('0x44')]['findOne']({'where':{'id':_0x221131[_0x6cad('0x5c')]['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0x455034,null))[_0x6cad('0x24')](function(_0x35df70){if(_0x35df70){return _0x35df70['setSmtp'](null);}return null;})['then'](respondWithStatusCode(_0x455034,null))[_0x6cad('0x19')](handleError(_0x455034,null));};exports['addInteraction']=function(_0x27b35b,_0x10a834){return db[_0x6cad('0x81')]['find']({'where':{'id':_0x27b35b[_0x6cad('0x5c')]['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0x10a834,null))[_0x6cad('0x24')](function(_0x3bd312){if(_0x3bd312){return _0x3bd312[_0x6cad('0x82')](_0x27b35b[_0x6cad('0x62')][_0x6cad('0x6c')],_[_0x6cad('0x83')](_0x27b35b['body'],[_0x6cad('0x6c'),'id'])||{});}})[_0x6cad('0x24')](respondWithResult(_0x10a834,null))[_0x6cad('0x19')](handleError(_0x10a834,null));};exports['getInteractions']=function(_0xef5cba,_0x3d7f78){var _0x5c6e11={'raw':![],'where':{}};var _0x88b01f={};var _0x5d9c53={'count':0x0,'rows':[]};return db[_0x6cad('0x44')][_0x6cad('0x69')]({'where':{'id':_0xef5cba[_0x6cad('0x5c')]['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0x3d7f78,null))[_0x6cad('0x24')](function(_0x4d2d2d){if(_0x4d2d2d){_0x88b01f[_0x6cad('0x48')]=_[_0x6cad('0x5f')](db[_0x6cad('0x81')][_0x6cad('0x45')]);_0x88b01f['query']=_['keys'](_0xef5cba['query']);_0x88b01f[_0x6cad('0x4a')]=_[_0x6cad('0x4b')](_0x88b01f[_0x6cad('0x48')],_0x88b01f[_0x6cad('0x49')]);_0x5c6e11[_0x6cad('0x4c')]=_['intersection'](_0x88b01f[_0x6cad('0x48')],qs[_0x6cad('0x4d')](_0xef5cba['query'][_0x6cad('0x4d')]));_0x5c6e11[_0x6cad('0x4c')]=_0x5c6e11['attributes'][_0x6cad('0x4e')]?_0x5c6e11[_0x6cad('0x4c')]:_0x88b01f['model'];if(!_0xef5cba[_0x6cad('0x49')][_0x6cad('0x4f')](_0x6cad('0x50'))){_0x5c6e11[_0x6cad('0x1f')]=qs[_0x6cad('0x1f')](_0xef5cba[_0x6cad('0x49')]['limit']);_0x5c6e11[_0x6cad('0x1c')]=qs[_0x6cad('0x1c')](_0xef5cba['query']['offset']);}_0x5c6e11[_0x6cad('0x51')]=qs[_0x6cad('0x52')](_0xef5cba[_0x6cad('0x49')]['sort']);_0x5c6e11[_0x6cad('0x53')]=qs[_0x6cad('0x4a')](_[_0x6cad('0x54')](_0xef5cba[_0x6cad('0x49')],_0x88b01f['filters']));_0x5c6e11[_0x6cad('0x53')][_0x6cad('0x67')]=_0x4d2d2d['id'];if(_0xef5cba[_0x6cad('0x49')][_0x6cad('0x55')]){_0x5c6e11[_0x6cad('0x53')]=_[_0x6cad('0x60')](_0x5c6e11[_0x6cad('0x53')],{'$or':_[_0x6cad('0x43')](_0x5c6e11[_0x6cad('0x4c')],function(_0x52b73e){var _0x3446d1={};_0x3446d1[_0x52b73e]={'$like':'%'+_0xef5cba['query'][_0x6cad('0x55')]+'%'};return _0x3446d1;})});}_0x5c6e11=_[_0x6cad('0x60')]({},_0x5c6e11,_0xef5cba[_0x6cad('0x57')]);return db[_0x6cad('0x81')]['count']({'where':_0x5c6e11[_0x6cad('0x53')]})['then'](function(_0x39b270){_0x5d9c53[_0x6cad('0x1e')]=_0x39b270;if(_0xef5cba[_0x6cad('0x49')][_0x6cad('0x58')]){_0x5c6e11['include']=[{'model':db[_0x6cad('0x84')],'as':_0x6cad('0x85'),'required':![]},{'model':db[_0x6cad('0x86')],'as':_0x6cad('0x87'),'attributes':['name',_0x6cad('0x88'),_0x6cad('0x89')],'required':![]},{'model':db[_0x6cad('0x8a')],'as':'Tags','attributes':['id',_0x6cad('0x29'),'color'],'where':_0xef5cba['query'][_0x6cad('0x8b')]?{'id':_0xef5cba[_0x6cad('0x49')][_0x6cad('0x8b')]}:undefined,'required':_0xef5cba[_0x6cad('0x49')][_0x6cad('0x8b')]?!![]:![]}];}return db['MailInteraction'][_0x6cad('0x5a')](_0x5c6e11);})['then'](function(_0x117006){_0x5d9c53['rows']=_0x117006;return _0x5d9c53;});}})[_0x6cad('0x24')](respondWithFilteredResult(_0x3d7f78,_0x5c6e11))[_0x6cad('0x19')](handleError(_0x3d7f78,null));};exports['addApplications']=function addApplications(_0x215b80,_0x3eb018){var _0x2dd124=_0x215b80[_0x6cad('0x5c')]['id'];var _0x55a2d6=_0x215b80['body'];var _0x4ea6c5=0xc8;var _0x57d030=null;return db[_0x6cad('0x8c')][_0x6cad('0x8d')]({'isolationLevel':db[_0x6cad('0x8c')][_0x6cad('0x8e')][_0x6cad('0x8f')][_0x6cad('0x90')]},function(_0x41a0c4){return db[_0x6cad('0x44')][_0x6cad('0x69')]({'where':{'id':_0x2dd124},'transaction':_0x41a0c4})[_0x6cad('0x24')](function(_0x16c828){if(_0x16c828){return db[_0x6cad('0x91')]['destroy']({'where':{'MailAccountId':_0x2dd124},'transaction':_0x41a0c4})[_0x6cad('0x24')](function(){var _0x2a4da6=_[_0x6cad('0x43')](_0x55a2d6,function(_0xd41689){_0xd41689['MailAccountId']=_0x2dd124;return _0xd41689;});return db[_0x6cad('0x91')]['bulkCreate'](_0x2a4da6,{'transaction':_0x41a0c4});});}else{_0x4ea6c5=0x194;_0x57d030=[];}});})['then'](function(){if(_0x4ea6c5!==0x194){return db[_0x6cad('0x91')][_0x6cad('0x92')]({'where':{'MailAccountId':_0x2dd124},'order':_0x6cad('0x93')})[_0x6cad('0x24')](function(_0x278768){_0x57d030=_0x278768;});}})[_0x6cad('0x19')](function(_0x536c3b){_0x4ea6c5=0x1f4;logger[_0x6cad('0x17')](_0x536c3b['stack']);if(_0x536c3b['name']){delete _0x536c3b[_0x6cad('0x29')];}_0x57d030=_0x536c3b;})['finally'](function(){if(_0x57d030===null){_0x3eb018[_0x6cad('0x1a')](_0x4ea6c5);}else{if(_0x4ea6c5===0x1f4){_0x3eb018[_0x6cad('0x1b')](_0x4ea6c5)['send'](_0x57d030);}else{_0x3eb018[_0x6cad('0x1b')](_0x4ea6c5)[_0x6cad('0x22')](_0x57d030);}}});};exports['getApplications']=function(_0x292823,_0x1d5d55){var _0x259e70={};var _0xea192d={};var _0x2c8c60;var _0x4ee5ce;return db['MailAccount'][_0x6cad('0x69')]({'where':{'id':_0x292823[_0x6cad('0x5c')]['id']}})['then'](handleEntityNotFound(_0x1d5d55,null))['then'](function(_0x506873){if(_0x506873){_0x2c8c60=_0x506873;_0xea192d[_0x6cad('0x48')]=_['keys'](db[_0x6cad('0x91')][_0x6cad('0x45')]);_0xea192d[_0x6cad('0x49')]=_[_0x6cad('0x5f')](_0x292823[_0x6cad('0x49')]);_0xea192d[_0x6cad('0x4a')]=_[_0x6cad('0x4b')](_0xea192d[_0x6cad('0x48')],_0xea192d[_0x6cad('0x49')]);_0x259e70[_0x6cad('0x4c')]=_[_0x6cad('0x4b')](_0xea192d[_0x6cad('0x48')],qs['fields'](_0x292823[_0x6cad('0x49')][_0x6cad('0x4d')]));_0x259e70[_0x6cad('0x4c')]=_0x259e70[_0x6cad('0x4c')][_0x6cad('0x4e')]?_0x259e70[_0x6cad('0x4c')]:_0xea192d[_0x6cad('0x48')];_0x259e70[_0x6cad('0x51')]=qs[_0x6cad('0x52')](_0x292823[_0x6cad('0x49')][_0x6cad('0x52')]);_0x259e70[_0x6cad('0x53')]=qs['filters'](_[_0x6cad('0x54')](_0x292823[_0x6cad('0x49')],_0xea192d['filters']));if(_0x292823[_0x6cad('0x49')]['filter']){_0x259e70['where']=_[_0x6cad('0x60')](_0x259e70[_0x6cad('0x53')],{'$or':_[_0x6cad('0x43')](_0x259e70['attributes'],function(_0xcc870b){var _0x193341={};_0x193341[_0xcc870b]={'$like':'%'+_0x292823[_0x6cad('0x49')]['filter']+'%'};return _0x193341;})});}_0x259e70=_[_0x6cad('0x60')]({},_0x259e70,_0x292823[_0x6cad('0x57')]);return _0x2c8c60['getApplications'](_0x259e70);}})[_0x6cad('0x24')](function(_0x1382ca){if(_0x1382ca){_0x4ee5ce=_0x1382ca[_0x6cad('0x4e')];if(!_0x292823[_0x6cad('0x49')][_0x6cad('0x4f')](_0x6cad('0x50'))){_0x259e70[_0x6cad('0x1f')]=qs[_0x6cad('0x1f')](_0x292823['query'][_0x6cad('0x1f')]);_0x259e70[_0x6cad('0x1c')]=qs[_0x6cad('0x1c')](_0x292823[_0x6cad('0x49')][_0x6cad('0x1c')]);}return _0x2c8c60[_0x6cad('0x94')](_0x259e70);}})[_0x6cad('0x24')](function(_0x2dab05){if(_0x2dab05){return _0x2dab05?{'count':_0x4ee5ce,'rows':_0x2dab05}:null;}})[_0x6cad('0x24')](respondWithResult(_0x1d5d55,null))['catch'](handleError(_0x1d5d55,null));};exports[_0x6cad('0x95')]=function(_0x174009,_0x267018){var _0x4db16a={'raw':!![],'where':{}};var _0x50b53f={};var _0x220d48={'count':0x0,'rows':[]};return db[_0x6cad('0x44')][_0x6cad('0x69')]({'where':{'id':_0x174009[_0x6cad('0x5c')]['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0x267018,null))[_0x6cad('0x24')](function(_0x2ae11e){if(_0x2ae11e){_0x50b53f[_0x6cad('0x48')]=_[_0x6cad('0x5f')](db[_0x6cad('0x96')][_0x6cad('0x45')]);_0x50b53f[_0x6cad('0x49')]=_[_0x6cad('0x5f')](_0x174009[_0x6cad('0x49')]);_0x50b53f[_0x6cad('0x4a')]=_[_0x6cad('0x4b')](_0x50b53f[_0x6cad('0x48')],_0x50b53f[_0x6cad('0x49')]);_0x4db16a['attributes']=_[_0x6cad('0x4b')](_0x50b53f['model'],qs[_0x6cad('0x4d')](_0x174009[_0x6cad('0x49')][_0x6cad('0x4d')]));_0x4db16a['attributes']=_0x4db16a[_0x6cad('0x4c')][_0x6cad('0x4e')]?_0x4db16a[_0x6cad('0x4c')]:_0x50b53f[_0x6cad('0x48')];if(!_0x174009[_0x6cad('0x49')][_0x6cad('0x4f')](_0x6cad('0x50'))){_0x4db16a['limit']=qs[_0x6cad('0x1f')](_0x174009['query'][_0x6cad('0x1f')]);_0x4db16a[_0x6cad('0x1c')]=qs[_0x6cad('0x1c')](_0x174009[_0x6cad('0x49')][_0x6cad('0x1c')]);}_0x4db16a['order']=qs[_0x6cad('0x52')](_0x174009['query']['sort']);_0x4db16a[_0x6cad('0x53')]=qs[_0x6cad('0x4a')](_['pick'](_0x174009[_0x6cad('0x49')],_0x50b53f[_0x6cad('0x4a')]));_0x4db16a[_0x6cad('0x53')][_0x6cad('0x67')]=_0x2ae11e['id'];if(_0x174009[_0x6cad('0x49')][_0x6cad('0x55')]){_0x4db16a['where']=_[_0x6cad('0x60')](_0x4db16a[_0x6cad('0x53')],{'$or':_[_0x6cad('0x43')](_0x4db16a[_0x6cad('0x4c')],function(_0x5110e9){var _0x45456e={};_0x45456e[_0x5110e9]={'$like':'%'+_0x174009[_0x6cad('0x49')][_0x6cad('0x55')]+'%'};return _0x45456e;})});}if(_0x174009[_0x6cad('0x49')][_0x6cad('0x97')]){var _0x11d775=_0x174009['query'][_0x6cad('0x97')][_0x6cad('0x98')](',');var _0x3a8144={};_0x3a8144[_0x11d775[0x0]]={'$gte':moment(_0x11d775[0x1])[_0x6cad('0x99')](_0x6cad('0x9a'))};_0x4db16a[_0x6cad('0x53')]=_[_0x6cad('0x60')](_0x4db16a[_0x6cad('0x53')],_0x3a8144);}_0x4db16a=_[_0x6cad('0x60')]({},_0x4db16a,_0x174009[_0x6cad('0x57')]);return db[_0x6cad('0x96')][_0x6cad('0x1e')]({'where':_0x4db16a[_0x6cad('0x53')]})[_0x6cad('0x24')](function(_0x4cb1b5){_0x220d48[_0x6cad('0x1e')]=_0x4cb1b5;if(_0x174009[_0x6cad('0x49')][_0x6cad('0x58')]){_0x4db16a[_0x6cad('0x59')]=[{'all':!![]}];}return db['MailMessage'][_0x6cad('0x5a')](_0x4db16a);})['then'](function(_0x3ca702){if(_0x174009[_0x6cad('0x49')][_0x6cad('0x9b')]===_0x6cad('0x9c')){for(var _0x13d997=0x0;_0x13d997<_0x3ca702[_0x6cad('0x4e')];_0x13d997++){_0x3ca702[_0x13d997][_0x6cad('0x62')]=juice(_0x3ca702[_0x13d997][_0x6cad('0x62')]);}}_0x220d48[_0x6cad('0x6a')]=_0x3ca702;return _0x220d48;});}})[_0x6cad('0x24')](respondWithFilteredResult(_0x267018,_0x4db16a))[_0x6cad('0x19')](handleError(_0x267018,null));};exports[_0x6cad('0x9d')]=function(_0x73334d,_0x1c7403){var _0x141c71,_0x307a71={},_0x53d5ce;if(_0x73334d[_0x6cad('0x62')]['to']){_0x53d5ce=_0x73334d[_0x6cad('0x62')]['to'][_0x6cad('0x98')](',')[0x0];}return db['MailAccount'][_0x6cad('0x61')]({'where':{'id':_0x73334d['params']['id']},'include':[{'model':db[_0x6cad('0x9e')],'as':_0x6cad('0x9f'),'include':[{'model':db[_0x6cad('0x84')],'as':'Contacts','where':{'email':_0x53d5ce},'limit':0x1,'order':[[_0x6cad('0xa0'),_0x6cad('0xa1')]]}]},{'model':db[_0x6cad('0x42')],'as':'Smtp','raw':!![],'include':[{'model':db[_0x6cad('0xa2')],'as':_0x6cad('0xa2'),'raw':!![]}]}]})[_0x6cad('0x24')](handleEntityNotFound(_0x1c7403,null))[_0x6cad('0x24')](function(_0x24d104){if(!_0x24d104)return;_0x141c71=_0x24d104;if(!_0x24d104[_0x6cad('0x40')])throw new Error(_0x6cad('0xa3'));if(_[_0x6cad('0x74')](_0x73334d['body'][_0x6cad('0xa4')])){_0x73334d[_0x6cad('0x62')][_0x6cad('0xa4')]=util[_0x6cad('0x99')](_0x6cad('0xa5'),_0x24d104[_0x6cad('0x29')],_0x24d104['email']||_0x24d104[_0x6cad('0x40')][_0x6cad('0x34')]);}if(_0x73334d[_0x6cad('0x62')][_0x6cad('0xa6')]&&_0x73334d[_0x6cad('0x62')]['attachments'][_0x6cad('0x4e')]){for(var _0x409df9=0x0;_0x409df9<_0x73334d[_0x6cad('0x62')][_0x6cad('0xa6')][_0x6cad('0x4e')];_0x409df9+=0x1){_0x73334d[_0x6cad('0x62')][_0x6cad('0xa6')][_0x409df9]={'filename':_0x73334d[_0x6cad('0x62')][_0x6cad('0xa6')][_0x409df9][_0x6cad('0x29')],'path':path[_0x6cad('0xa7')](config['root'],'server/files/attachments',_0x73334d[_0x6cad('0x62')][_0x6cad('0xa6')][_0x409df9][_0x6cad('0xa8')])};}}var _0x17077a=_0x24d104[_0x6cad('0xa9')]();return respondWithRpcPromise(_0x6cad('0xaa'),_0x6cad('0xab'),{'account':_0x17077a,'message':_0x73334d[_0x6cad('0x62')]});})[_0x6cad('0x24')](function(_0x1ced7e){if(!_0x1ced7e)return;_0x307a71=_0x1ced7e;if(!_0x141c71['List'])throw new Error(_0x6cad('0xac'));if(_0x141c71[_0x6cad('0x9f')][_0x6cad('0xad')][_0x6cad('0x4e')])return _0x141c71[_0x6cad('0x9f')][_0x6cad('0xad')][0x0];return db[_0x6cad('0x84')][_0x6cad('0x6f')](_['defaults'](_0x73334d[_0x6cad('0x62')],{'firstName':_0x73334d[_0x6cad('0x62')]['to'],'email':_0x73334d[_0x6cad('0x62')]['to'],'phone':_0x73334d[_0x6cad('0x62')]['to'],'ListId':_0x141c71['ListId']}));})[_0x6cad('0x24')](function(_0x832096){if(!_0x832096)return;var _0x38c68c={'UserId':_0x73334d[_0x6cad('0x34')]['id'],'ContactId':_0x832096['id'],'MailAccountId':_0x141c71['id'],'inReplyTo':_0x307a71[_0x6cad('0xae')],'to':_0x73334d[_0x6cad('0x62')]['from'],'cc':_0x73334d['body']['cc'],'subject':_0x73334d[_0x6cad('0x62')][_0x6cad('0xaf')],'attach':_0x73334d[_0x6cad('0x62')][_0x6cad('0xb0')],'firstMsgDirection':_0x6cad('0xb1'),'lastMsgAt':moment()['format'](_0x6cad('0x9a')),'lastMsgDirection':_0x6cad('0xb1'),'Messages':[_[_0x6cad('0x60')](_0x73334d[_0x6cad('0x62')],{'messageId':_0x307a71['messageId'],'sentAt':moment()['format'](_0x6cad('0x9a')),'read':!![],'MailAccountId':_0x141c71['id'],'UserId':_0x73334d[_0x6cad('0x34')]['id'],'ContactId':_0x832096['id']})]};if(_0x73334d['body'][_0x6cad('0xb2')]){_0x38c68c=_[_0x6cad('0x60')](_0x38c68c,_0x73334d[_0x6cad('0x62')]['Interaction']);}return db['MailInteraction'][_0x6cad('0x6f')](_0x38c68c,{'include':[{'model':db[_0x6cad('0x96')],'as':'Messages'}]});})[_0x6cad('0x24')](respondWithResult(_0x1c7403,null))[_0x6cad('0x19')](handleError(_0x1c7403,null));};exports[_0x6cad('0xb3')]=function(_0x438172,_0x34b6fe){return db[_0x6cad('0x44')][_0x6cad('0x61')]({'where':{'id':_0x438172['params']['id']},'include':[{'model':db[_0x6cad('0x42')],'as':_0x6cad('0x40'),'raw':!![],'include':[{'model':db[_0x6cad('0xa2')],'as':_0x6cad('0xa2'),'raw':!![]}]}]})[_0x6cad('0x24')](handleEntityNotFound(_0x34b6fe,null))[_0x6cad('0x24')](function(_0x71d83a){if(!_0x71d83a[_0x6cad('0x40')])return;var _0x2a241e=_0x71d83a[_0x6cad('0xa9')]();return respondWithRpcPromise(_0x6cad('0xb4'),_0x6cad('0xb3'),{'account':_0x2a241e});})[_0x6cad('0x24')](respondWithResult(_0x34b6fe,null))['catch'](handleError(_0x34b6fe,null));};exports['destroy']=function(_0x56be00,_0x2c9eb4){return db[_0x6cad('0x44')][_0x6cad('0x61')]({'where':{'id':_0x56be00[_0x6cad('0x5c')]['id']}})['then'](handleEntityNotFound(_0x2c9eb4,null))[_0x6cad('0x24')](function(_0xae8eda){if(_0xae8eda&&_0xae8eda[_0x6cad('0x3d')]){throw new db[(_0x6cad('0xb5'))][(_0x6cad('0xb6'))](_0x6cad('0xb7'));}return _0xae8eda;})['then'](removeEntity(_0x2c9eb4,null))[_0x6cad('0x19')](handleError(_0x2c9eb4,null));};exports[_0x6cad('0xb8')]=function(_0x39f92f,_0x3aecab){return db['MailAccount'][_0x6cad('0x61')]({'where':{'id':_0x39f92f[_0x6cad('0x5c')]['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0x3aecab,null))['then'](function(_0x3d4415){if(_0x3d4415){return _0x3d4415[_0x6cad('0xb8')](_0x39f92f[_0x6cad('0x62')][_0x6cad('0x6c')],_[_0x6cad('0x83')](_0x39f92f[_0x6cad('0x62')],[_0x6cad('0x6c'),'id'])||{})[_0x6cad('0xb9')](function(_0x51daf0){for(var _0x4c0400=0x0;_0x4c0400<_0x39f92f[_0x6cad('0x62')][_0x6cad('0x6c')][_0x6cad('0x4e')];_0x4c0400+=0x1){socket[_0x6cad('0xba')](_0x6cad('0xbb'),{'UserId':Number(_0x39f92f[_0x6cad('0x62')]['ids'][_0x4c0400]),'MailAccountId':Number(_0x39f92f[_0x6cad('0x5c')]['id'])});}return _0x51daf0;});}})[_0x6cad('0x24')](respondWithResult(_0x3aecab,null))['catch'](handleError(_0x3aecab,null));};exports[_0x6cad('0xbc')]=function(_0x49aa7e,_0x23e148){return db[_0x6cad('0x44')][_0x6cad('0x61')]({'where':{'id':_0x49aa7e['params']['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0x23e148,null))[_0x6cad('0x24')](function(_0x4f4767){if(_0x4f4767){return _0x4f4767[_0x6cad('0xbc')](_0x49aa7e[_0x6cad('0x49')][_0x6cad('0x6c')])[_0x6cad('0x24')](function(){if(_[_0x6cad('0xbd')](_0x49aa7e[_0x6cad('0x49')]['ids'])){for(var _0x454c4b=0x0;_0x454c4b<_0x49aa7e[_0x6cad('0x49')][_0x6cad('0x6c')][_0x6cad('0x4e')];_0x454c4b+=0x1){socket[_0x6cad('0xba')](_0x6cad('0xbe'),{'UserId':Number(_0x49aa7e[_0x6cad('0x49')][_0x6cad('0x6c')][_0x454c4b]),'MailAccountId':Number(_0x49aa7e['params']['id'])});}}else{socket[_0x6cad('0xba')](_0x6cad('0xbe'),{'UserId':Number(_0x49aa7e[_0x6cad('0x49')]['ids']),'MailAccountId':Number(_0x49aa7e[_0x6cad('0x5c')]['id'])});}});}})[_0x6cad('0x24')](respondWithStatusCode(_0x23e148,null))[_0x6cad('0x19')](handleError(_0x23e148,null));};exports[_0x6cad('0xbf')]=function(_0x19c821,_0xc0ee67){var _0x45b36f={};var _0x266512={};var _0x2d411e;var _0x14748e;return db[_0x6cad('0x44')]['findOne']({'where':{'id':_0x19c821['params']['id']}})[_0x6cad('0x24')](handleEntityNotFound(_0xc0ee67,null))[_0x6cad('0x24')](function(_0x506d41){if(_0x506d41){_0x2d411e=_0x506d41;_0x266512[_0x6cad('0x48')]=_[_0x6cad('0x5f')](db[_0x6cad('0x86')][_0x6cad('0x45')]);_0x266512[_0x6cad('0x49')]=_['keys'](_0x19c821[_0x6cad('0x49')]);_0x266512[_0x6cad('0x4a')]=_['intersection'](_0x266512[_0x6cad('0x48')],_0x266512[_0x6cad('0x49')]);_0x45b36f['attributes']=_['intersection'](_0x266512[_0x6cad('0x48')],qs[_0x6cad('0x4d')](_0x19c821[_0x6cad('0x49')][_0x6cad('0x4d')]));_0x45b36f['attributes']=_0x45b36f[_0x6cad('0x4c')][_0x6cad('0x4e')]?_0x45b36f[_0x6cad('0x4c')]:_0x266512[_0x6cad('0x48')];_0x45b36f[_0x6cad('0x51')]=qs[_0x6cad('0x52')](_0x19c821['query'][_0x6cad('0x52')]);_0x45b36f[_0x6cad('0x53')]=qs[_0x6cad('0x4a')](_[_0x6cad('0x54')](_0x19c821['query'],_0x266512['filters']));if(_0x19c821[_0x6cad('0x49')]['filter']){_0x45b36f[_0x6cad('0x53')]=_[_0x6cad('0x60')](_0x45b36f[_0x6cad('0x53')],{'$or':_['map'](_0x45b36f[_0x6cad('0x4c')],function(_0x277142){var _0x34425b={};_0x34425b[_0x277142]={'$like':'%'+_0x19c821[_0x6cad('0x49')][_0x6cad('0x55')]+'%'};return _0x34425b;})});}_0x45b36f=_[_0x6cad('0x60')]({},_0x45b36f,_0x19c821[_0x6cad('0x57')]);return _0x2d411e[_0x6cad('0xbf')](_0x45b36f);}})['then'](function(_0x2232f5){if(_0x2232f5){_0x14748e=_0x2232f5[_0x6cad('0x4e')];if(!_0x19c821[_0x6cad('0x49')][_0x6cad('0x4f')](_0x6cad('0x50'))){_0x45b36f[_0x6cad('0x1f')]=qs[_0x6cad('0x1f')](_0x19c821[_0x6cad('0x49')][_0x6cad('0x1f')]);_0x45b36f['offset']=qs[_0x6cad('0x1c')](_0x19c821['query'][_0x6cad('0x1c')]);}return _0x2d411e['getAgents'](_0x45b36f);}})[_0x6cad('0x24')](function(_0x4a481f){if(_0x4a481f){return _0x4a481f?{'count':_0x14748e,'rows':_0x4a481f}:null;}})[_0x6cad('0x24')](respondWithResult(_0xc0ee67,null))[_0x6cad('0x19')](handleError(_0xc0ee67,null));};