Built motion from commit f74363e9.|2.6.34
[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 _0x5146=['gmail','smtp-mail.outlook.com','user','username','password','pass','modernAuthentication','CloudProviderId','port','host','service','authentication','Imap','Smtp','MailServerIn','MailServerOut','Pause','map','MailAccount','rawAttributes','key','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','type','VIRTUAL','merge','options','includeAll','include','findAll','rows','show','params','mandatoryDispositionPause','find','update','body','provider','secure','describe','addDisposition','MailAccountId','Disposition','getDispositions','removeDispositions','ids','CannedAnswer','create','getAnswers','findOne','removeAnswers','email','ListId','active','description','get','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','MailInteraction','addInteraction','omit','getInteractions','CmContact','Contact','Owner','internal','color','tag','addApplications','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','true','CmList','List','Contacts','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','isNil','from','%s\x20<%s>','attachments','join','root','basename','List\x20not\x20found','messageId','subject','attach','out','Interaction','verifySmtp','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','userMailAccount:remove','getAgents','User','moment','bluebird','util','path','lodash','juice','ioredis','../../components/parsers/qs','../../config/logger','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','register','jayson/promise','client','http','request','MailAccount,\x20%s,\x20%s','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','message','request\x20sent','result','catch','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','then','MailAccounts','destroy','name','send','yahoo','hotmail','imap-mail.outlook.com','outlook365','outlook.office365.com','Unknown\x20email\x20service\x20provider'];(function(_0x2f7a85,_0x3a1daa){var _0x2ec0d8=function(_0x4cbb48){while(--_0x4cbb48){_0x2f7a85['push'](_0x2f7a85['shift']());}};_0x2ec0d8(++_0x3a1daa);}(_0x5146,0x8a));var _0x6514=function(_0x167a5c,_0x34a0f9){_0x167a5c=_0x167a5c-0x0;var _0x2ceec7=_0x5146[_0x167a5c];return _0x2ceec7;};'use strict';var moment=require(_0x6514('0x0'));var BPromise=require(_0x6514('0x1'));var util=require(_0x6514('0x2'));var path=require(_0x6514('0x3'));var _=require(_0x6514('0x4'));var juice=require(_0x6514('0x5'));var Redis=require(_0x6514('0x6'));var qs=require(_0x6514('0x7'));var logger=require(_0x6514('0x8'))('api');var config=require(_0x6514('0x9'));var db=require(_0x6514('0xa'))['db'];config[_0x6514('0xb')]=_[_0x6514('0xc')](config[_0x6514('0xb')],{'host':_0x6514('0xd'),'port':0x18eb});var socket=require(_0x6514('0xe'))(new Redis(config['redis']));require(_0x6514('0xf'))[_0x6514('0x10')](socket);var jayson=require(_0x6514('0x11'));var client=jayson[_0x6514('0x12')][_0x6514('0x13')]({'port':0x232b});function respondWithRpcPromise(_0x58520d,_0x5b436a,_0x2d39cf,_0x3c7b82){return new BPromise(function(_0x1d2bab,_0x1ed376){var _0x26db73=_0x3c7b82||client;return _0x26db73[_0x6514('0x14')](_0x58520d,_0x2d39cf)['then'](function(_0x3a1cf2){logger['info'](_0x6514('0x15'),_0x5b436a,'request\x20sent');logger[_0x6514('0x16')](_0x6514('0x17'),_0x5b436a,'request\x20sent',JSON[_0x6514('0x18')](_0x3a1cf2));if(_0x3a1cf2['error']){if(_0x3a1cf2[_0x6514('0x19')]['code']===0x1f4){logger['error']('MailAccount,\x20%s,\x20%s',_0x5b436a,_0x3a1cf2[_0x6514('0x19')][_0x6514('0x1a')]);return _0x1ed376(_0x3a1cf2[_0x6514('0x19')][_0x6514('0x1a')]);}logger[_0x6514('0x19')](_0x6514('0x15'),_0x5b436a,_0x3a1cf2[_0x6514('0x19')][_0x6514('0x1a')]);return _0x1d2bab(_0x3a1cf2[_0x6514('0x19')]['message']);}else{logger['info'](_0x6514('0x15'),_0x5b436a,_0x6514('0x1b'));_0x1d2bab(_0x3a1cf2[_0x6514('0x1c')][_0x6514('0x1a')]);}})[_0x6514('0x1d')](function(_0x2653fd){logger['error'](_0x6514('0x15'),_0x5b436a,_0x2653fd);_0x1ed376(_0x2653fd);});});}function respondWithStatusCode(_0x2a5e9f,_0x1d9075){_0x1d9075=_0x1d9075||0xcc;return function(_0xfbc728){if(_0xfbc728){return _0x2a5e9f[_0x6514('0x1e')](_0x1d9075);}return _0x2a5e9f[_0x6514('0x1f')](_0x1d9075)[_0x6514('0x20')]();};}function respondWithResult(_0x773d83,_0xf35ccf){_0xf35ccf=_0xf35ccf||0xc8;return function(_0x93c0bc){if(_0x93c0bc){return _0x773d83[_0x6514('0x1f')](_0xf35ccf)[_0x6514('0x21')](_0x93c0bc);}};}function respondWithFilteredResult(_0x5da028,_0x571365){return function(_0x100b25){if(_0x100b25){var _0x262192=typeof _0x571365[_0x6514('0x22')]===_0x6514('0x23')&&typeof _0x571365[_0x6514('0x24')]===_0x6514('0x23');var _0x39d86f=_0x100b25[_0x6514('0x25')];var _0x1d09f8=_0x262192?0x0:_0x571365[_0x6514('0x22')];var _0x44c875=_0x262192?_0x100b25[_0x6514('0x25')]:_0x571365['offset']+_0x571365[_0x6514('0x24')];var _0x4b8694;if(_0x44c875>=_0x39d86f){_0x44c875=_0x39d86f;_0x4b8694=0xc8;}else{_0x4b8694=0xce;}_0x5da028['status'](_0x4b8694);return _0x5da028[_0x6514('0x26')](_0x6514('0x27'),_0x1d09f8+'-'+_0x44c875+'/'+_0x39d86f)['json'](_0x100b25);}return null;};}function saveUpdates(_0x2b747e){return function(_0x41edf2){if(_0x41edf2){return _0x41edf2['update'](_0x2b747e)[_0x6514('0x28')](function(_0x11740f){return _0x11740f;});}return null;};}function removeEntity(_0x47c7f7){return function(_0x2a1f6b){if(_0x2a1f6b){return _0x2a1f6b['destroy']()[_0x6514('0x28')](function(){var _0x3081f1=_0x2a1f6b['get']({'plain':!![]});var _0x588aac=_0x6514('0x29');return db['UserProfileResource'][_0x6514('0x2a')]({'where':{'type':_0x588aac,'resourceId':_0x3081f1['id']}})[_0x6514('0x28')](function(){return _0x2a1f6b;});})[_0x6514('0x28')](function(){_0x47c7f7[_0x6514('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4a39a5){return function(_0x9f4132){if(!_0x9f4132){_0x4a39a5[_0x6514('0x1e')](0x194);}return _0x9f4132;};}function handleError(_0x28346f,_0x5e9746){_0x5e9746=_0x5e9746||0x1f4;return function(_0xbceea9){logger[_0x6514('0x19')](_0xbceea9['stack']);if(_0xbceea9[_0x6514('0x2b')]){delete _0xbceea9[_0x6514('0x2b')];}_0x28346f[_0x6514('0x1f')](_0x5e9746)[_0x6514('0x2c')](_0xbceea9);};}function getImapHost(_0x8d3231){switch(_0x8d3231){case'gmail':return'imap.gmail.com';case _0x6514('0x2d'):return'imap.mail.yahoo.com';case _0x6514('0x2e'):return _0x6514('0x2f');case _0x6514('0x30'):return _0x6514('0x31');}throw new Error(_0x6514('0x32'),_0x8d3231);}function getSmtpHost(_0x496efc){switch(_0x496efc){case _0x6514('0x33'):return'smtp.gmail.com';case _0x6514('0x2d'):return'smtp.mail.yahoo.com';case _0x6514('0x2e'):return _0x6514('0x34');case _0x6514('0x30'):return'smtp.office365.com';}throw new Error('Unknown\x20email\x20service\x20provider',_0x496efc);}function getAuthenticationOptions(_0xf2e0c6,_0x41c877){var _0xb8a74d={};var _0x80312d={};if(_0xf2e0c6){_0xb8a74d[_0x6514('0x35')]=_0x80312d['user']=_0x41c877[_0x6514('0x36')];_0xb8a74d[_0x6514('0x37')]=_0x80312d[_0x6514('0x38')]=_0x41c877[_0x6514('0x37')];if(_0x41c877[_0x6514('0x39')]){_0xb8a74d[_0x6514('0x39')]=_0x80312d[_0x6514('0x39')]=!![];_0xb8a74d[_0x6514('0x3a')]=_0x80312d[_0x6514('0x3a')]=_0x41c877[_0x6514('0x3a')];_0xb8a74d[_0x6514('0x37')]=_0x80312d['pass']=null;}else{_0xb8a74d[_0x6514('0x3a')]=_0x80312d[_0x6514('0x3a')]=null;}_0xb8a74d['host']=getImapHost(_0xf2e0c6);_0xb8a74d[_0x6514('0x3b')]=0x3e1;_0x80312d[_0x6514('0x3c')]=getSmtpHost(_0xf2e0c6);_0x80312d[_0x6514('0x3b')]=0x24b;_0x80312d['secure']=![];_0xb8a74d['service']=_0x80312d[_0x6514('0x3d')]=null;}else{if(_0x41c877[_0x6514('0x3e')]){_0xb8a74d['user']=_0x80312d[_0x6514('0x35')]=_0x41c877[_0x6514('0x36')];_0xb8a74d[_0x6514('0x37')]=_0x80312d[_0x6514('0x38')]=_0x41c877[_0x6514('0x37')];}else{_0xb8a74d['authentication']=_0x80312d[_0x6514('0x3e')]=![];_0xb8a74d['user']=_0x80312d['user']=null;_0xb8a74d[_0x6514('0x37')]=_0x80312d[_0x6514('0x38')]=null;}_0xb8a74d[_0x6514('0x3c')]=_0x41c877[_0x6514('0x3f')]['host'];_0xb8a74d[_0x6514('0x3b')]=_0x41c877[_0x6514('0x3f')][_0x6514('0x3b')];_0x80312d[_0x6514('0x3c')]=_0x41c877[_0x6514('0x40')][_0x6514('0x3c')];_0x80312d[_0x6514('0x3b')]=_0x41c877[_0x6514('0x40')][_0x6514('0x3b')];}return{'Imap':_0xb8a74d,'Smtp':_0x80312d};}exports['index']=function(_0x54220c,_0x35685e){var _0x4c1fd4={'include':[{'model':db[_0x6514('0x41')],'as':_0x6514('0x3f')},{'model':db[_0x6514('0x42')],'as':'Smtp'},{'model':db[_0x6514('0x43')],'as':'mandatoryDispositionPause'}]},_0x41f16a={},_0x53469e={'count':0x0,'rows':[]};var _0x33a54f=_[_0x6514('0x44')](db[_0x6514('0x45')][_0x6514('0x46')],function(_0x594501){return{'name':_0x594501['fieldName'],'type':_0x594501['type'][_0x6514('0x47')]};});_0x41f16a['model']=_[_0x6514('0x44')](_0x33a54f,_0x6514('0x2b'));_0x41f16a[_0x6514('0x48')]=_[_0x6514('0x49')](_0x54220c[_0x6514('0x48')]);_0x41f16a[_0x6514('0x4a')]=_['intersection'](_0x41f16a[_0x6514('0x4b')],_0x41f16a[_0x6514('0x48')]);_0x4c1fd4[_0x6514('0x4c')]=_[_0x6514('0x4d')](_0x41f16a[_0x6514('0x4b')],qs[_0x6514('0x4e')](_0x54220c[_0x6514('0x48')][_0x6514('0x4e')]));_0x4c1fd4[_0x6514('0x4c')]=_0x4c1fd4[_0x6514('0x4c')][_0x6514('0x4f')]?_0x4c1fd4[_0x6514('0x4c')]:_0x41f16a[_0x6514('0x4b')];if(!_0x54220c[_0x6514('0x48')][_0x6514('0x50')](_0x6514('0x51'))){_0x4c1fd4[_0x6514('0x24')]=qs['limit'](_0x54220c['query'][_0x6514('0x24')]);_0x4c1fd4[_0x6514('0x22')]=qs['offset'](_0x54220c[_0x6514('0x48')]['offset']);}_0x4c1fd4[_0x6514('0x52')]=qs[_0x6514('0x53')](_0x54220c[_0x6514('0x48')][_0x6514('0x53')]);_0x4c1fd4[_0x6514('0x54')]=qs[_0x6514('0x4a')](_[_0x6514('0x55')](_0x54220c[_0x6514('0x48')],_0x41f16a[_0x6514('0x4a')]),_0x33a54f);if(_0x54220c[_0x6514('0x48')][_0x6514('0x56')]){_0x4c1fd4[_0x6514('0x54')]=_['merge'](_0x4c1fd4['where'],{'$or':_[_0x6514('0x44')](_0x33a54f,function(_0x5cf7fe){if(_0x5cf7fe[_0x6514('0x57')]!==_0x6514('0x58')){var _0x3b6099={};_0x3b6099[_0x5cf7fe[_0x6514('0x2b')]]={'$like':'%'+_0x54220c[_0x6514('0x48')][_0x6514('0x56')]+'%'};return _0x3b6099;}})});}_0x4c1fd4=_[_0x6514('0x59')]({},_0x4c1fd4,_0x54220c[_0x6514('0x5a')]);var _0x346029={'where':_0x4c1fd4['where']};return db[_0x6514('0x45')]['count'](_0x346029)['then'](function(_0x37dba5){_0x53469e[_0x6514('0x25')]=_0x37dba5;if(_0x54220c[_0x6514('0x48')][_0x6514('0x5b')]){_0x4c1fd4[_0x6514('0x5c')]=[{'all':!![]}];}return db['MailAccount'][_0x6514('0x5d')](_0x4c1fd4);})[_0x6514('0x28')](function(_0x4cf25f){_0x53469e[_0x6514('0x5e')]=_0x4cf25f;return _0x53469e;})[_0x6514('0x28')](respondWithFilteredResult(_0x35685e,_0x4c1fd4))[_0x6514('0x1d')](handleError(_0x35685e,null));};exports[_0x6514('0x5f')]=function(_0x3a804b,_0x27332b){var _0x13ec59={'raw':![],'where':{'id':_0x3a804b[_0x6514('0x60')]['id']},'include':[{'model':db[_0x6514('0x41')],'as':_0x6514('0x3f')},{'model':db[_0x6514('0x42')],'as':_0x6514('0x40')},{'model':db[_0x6514('0x43')],'as':_0x6514('0x61')}]},_0x32d894={};_0x32d894[_0x6514('0x4b')]=_[_0x6514('0x49')](db['MailAccount'][_0x6514('0x46')]);_0x32d894[_0x6514('0x48')]=_[_0x6514('0x49')](_0x3a804b['query']);_0x32d894[_0x6514('0x4a')]=_[_0x6514('0x4d')](_0x32d894[_0x6514('0x4b')],_0x32d894['query']);_0x13ec59['attributes']=_[_0x6514('0x4d')](_0x32d894[_0x6514('0x4b')],qs[_0x6514('0x4e')](_0x3a804b['query']['fields']));_0x13ec59['attributes']=_0x13ec59['attributes'][_0x6514('0x4f')]?_0x13ec59[_0x6514('0x4c')]:_0x32d894[_0x6514('0x4b')];if(_0x3a804b['query'][_0x6514('0x5b')]){_0x13ec59['include']=[{'all':!![]}];}_0x13ec59=_[_0x6514('0x59')]({},_0x13ec59,_0x3a804b['options']);return db['MailAccount'][_0x6514('0x62')](_0x13ec59)[_0x6514('0x28')](handleEntityNotFound(_0x27332b,null))[_0x6514('0x28')](respondWithResult(_0x27332b,null))[_0x6514('0x1d')](handleError(_0x27332b,null));};exports[_0x6514('0x63')]=function(_0x1368b3,_0x48e0c3){if(_0x1368b3[_0x6514('0x64')]['id']){delete _0x1368b3[_0x6514('0x64')]['id'];}var _0x2eec63=_0x1368b3['body'][_0x6514('0x65')]==='custom'?null:_0x1368b3[_0x6514('0x64')]['provider'];var _0x4d2480=_0x1368b3['body']['Imap']||{};var _0x4be126=_0x1368b3[_0x6514('0x64')][_0x6514('0x40')]||{};if(_0x2eec63){_0x4d2480[_0x6514('0x3c')]=getImapHost(_0x2eec63);_0x4d2480['port']=0x3e1;_0x4be126[_0x6514('0x3c')]=getSmtpHost(_0x2eec63);_0x4be126[_0x6514('0x3b')]=0x24b;_0x4be126[_0x6514('0x66')]=![];}if(_0x4be126['modernAuthentication']){_0x4be126[_0x6514('0x66')]=![];}else{_0x4be126['CloudProviderId']=null;}if(!_0x4d2480[_0x6514('0x39')])_0x4d2480['CloudProviderId']=null;_0x1368b3[_0x6514('0x64')][_0x6514('0x3f')]=_0x4d2480;_0x1368b3[_0x6514('0x64')][_0x6514('0x40')]=_0x4be126;return db['MailAccount'][_0x6514('0x62')]({'where':{'id':_0x1368b3[_0x6514('0x60')]['id']},'include':[{'model':db['MailServerIn'],'as':_0x6514('0x3f')},{'model':db['MailServerOut'],'as':_0x6514('0x40')},{'model':db[_0x6514('0x43')],'as':_0x6514('0x61')}]})[_0x6514('0x28')](handleEntityNotFound(_0x48e0c3,null))['then'](function(_0x2898db){if(!_0x2898db)throw new Error('Mail\x20Account\x20not\x20found');if(_0x2898db[_0x6514('0x3d')])delete _0x1368b3[_0x6514('0x64')][_0x6514('0x3f')];return _0x2898db;})[_0x6514('0x28')](saveUpdates(_0x1368b3[_0x6514('0x64')],null))[_0x6514('0x28')](function(_0x130edf){if(!_0x1368b3['body'][_0x6514('0x3f')])return _0x130edf;return db[_0x6514('0x41')][_0x6514('0x63')](_0x1368b3[_0x6514('0x64')][_0x6514('0x3f')],{'where':{'MailAccountId':_0x130edf['id']}})['then'](function(){return _0x130edf;});})['then'](function(_0x210143){if(!_0x1368b3[_0x6514('0x64')][_0x6514('0x40')])return _0x210143;return db[_0x6514('0x42')][_0x6514('0x63')](_0x1368b3[_0x6514('0x64')][_0x6514('0x40')],{'where':{'MailAccountId':_0x210143['id']}})[_0x6514('0x28')](function(){return _0x210143;});})[_0x6514('0x28')](respondWithResult(_0x48e0c3,null))[_0x6514('0x1d')](handleError(_0x48e0c3,null));};exports[_0x6514('0x67')]=function(_0xc50fce,_0x3636e7){return db[_0x6514('0x45')][_0x6514('0x67')]()[_0x6514('0x28')](respondWithResult(_0x3636e7,null))['catch'](handleError(_0x3636e7,null));};exports[_0x6514('0x68')]=function(_0x3e6859,_0x17c5ad){if(_0x3e6859[_0x6514('0x64')]['id']){delete _0x3e6859['body']['id'];}return db[_0x6514('0x45')]['find']({'where':{'id':_0x3e6859['params']['id']}})[_0x6514('0x28')](handleEntityNotFound(_0x17c5ad,null))[_0x6514('0x28')](function(_0x2a5ca1){if(_0x2a5ca1){_0x3e6859[_0x6514('0x64')][_0x6514('0x69')]=_0x2a5ca1['id'];return db[_0x6514('0x6a')]['create'](_0x3e6859[_0x6514('0x64')]);}})[_0x6514('0x28')](respondWithResult(_0x17c5ad,null))['catch'](handleError(_0x17c5ad,null));};exports[_0x6514('0x6b')]=function(_0x535680,_0x2a6484){var _0x447318={'raw':![],'where':{}};var _0x57f184={};var _0x56b540={'count':0x0,'rows':[]};return db[_0x6514('0x45')]['findOne']({'where':{'id':_0x535680[_0x6514('0x60')]['id']}})[_0x6514('0x28')](handleEntityNotFound(_0x2a6484,null))[_0x6514('0x28')](function(_0xa3f58b){if(_0xa3f58b){_0x57f184[_0x6514('0x4b')]=_['keys'](db[_0x6514('0x6a')][_0x6514('0x46')]);_0x57f184['query']=_['keys'](_0x535680[_0x6514('0x48')]);_0x57f184['filters']=_[_0x6514('0x4d')](_0x57f184['model'],_0x57f184[_0x6514('0x48')]);_0x447318[_0x6514('0x4c')]=_['intersection'](_0x57f184['model'],qs[_0x6514('0x4e')](_0x535680[_0x6514('0x48')][_0x6514('0x4e')]));_0x447318[_0x6514('0x4c')]=_0x447318['attributes'][_0x6514('0x4f')]?_0x447318[_0x6514('0x4c')]:_0x57f184[_0x6514('0x4b')];if(!_0x535680[_0x6514('0x48')][_0x6514('0x50')](_0x6514('0x51'))){_0x447318[_0x6514('0x24')]=qs['limit'](_0x535680['query'][_0x6514('0x24')]);_0x447318[_0x6514('0x22')]=qs[_0x6514('0x22')](_0x535680['query']['offset']);}_0x447318[_0x6514('0x52')]=qs[_0x6514('0x53')](_0x535680[_0x6514('0x48')][_0x6514('0x53')]);_0x447318[_0x6514('0x54')]=qs[_0x6514('0x4a')](_['pick'](_0x535680['query'],_0x57f184[_0x6514('0x4a')]));_0x447318[_0x6514('0x54')][_0x6514('0x69')]=_0xa3f58b['id'];if(_0x535680[_0x6514('0x48')][_0x6514('0x56')]){_0x447318[_0x6514('0x54')]=_[_0x6514('0x59')](_0x447318['where'],{'$or':_[_0x6514('0x44')](_0x447318['attributes'],function(_0x1e9c47){var _0x322ccb={};_0x322ccb[_0x1e9c47]={'$like':'%'+_0x535680['query'][_0x6514('0x56')]+'%'};return _0x322ccb;})});}_0x447318=_[_0x6514('0x59')]({},_0x447318,_0x535680[_0x6514('0x5a')]);return db[_0x6514('0x6a')]['count']({'where':_0x447318[_0x6514('0x54')]})['then'](function(_0x2e2e20){_0x56b540[_0x6514('0x25')]=_0x2e2e20;if(_0x535680[_0x6514('0x48')][_0x6514('0x5b')]){_0x447318[_0x6514('0x5c')]=[{'all':!![]}];}return db[_0x6514('0x6a')]['findAll'](_0x447318);})['then'](function(_0x4af643){_0x56b540[_0x6514('0x5e')]=_0x4af643;return _0x56b540;});}})['then'](respondWithFilteredResult(_0x2a6484,_0x447318))['catch'](handleError(_0x2a6484,null));};exports[_0x6514('0x6c')]=function(_0x3d8001,_0x18d48e){return db[_0x6514('0x45')]['find']({'where':{'id':_0x3d8001['params']['id']}})[_0x6514('0x28')](handleEntityNotFound(_0x18d48e,null))[_0x6514('0x28')](function(_0x558054){if(_0x558054){return _0x558054['removeDispositions'](_0x3d8001['query'][_0x6514('0x6d')]);}})[_0x6514('0x28')](respondWithStatusCode(_0x18d48e,null))['catch'](handleError(_0x18d48e,null));};exports['addAnswer']=function(_0x2e5a65,_0x3145b1){if(_0x2e5a65['body']['id']){delete _0x2e5a65[_0x6514('0x64')]['id'];}return db[_0x6514('0x45')]['find']({'where':{'id':_0x2e5a65[_0x6514('0x60')]['id']}})['then'](handleEntityNotFound(_0x3145b1,null))[_0x6514('0x28')](function(_0x3d2e1a){if(_0x3d2e1a){_0x2e5a65[_0x6514('0x64')][_0x6514('0x69')]=_0x3d2e1a['id'];return db[_0x6514('0x6e')][_0x6514('0x6f')](_0x2e5a65['body']);}})[_0x6514('0x28')](respondWithResult(_0x3145b1,null))['catch'](handleError(_0x3145b1,null));};exports[_0x6514('0x70')]=function(_0x26a14b,_0x3ae78f){var _0x299ffd={'raw':![],'where':{}};var _0x29a6d={};var _0x46fd1e={'count':0x0,'rows':[]};return db[_0x6514('0x45')][_0x6514('0x71')]({'where':{'id':_0x26a14b['params']['id']}})['then'](handleEntityNotFound(_0x3ae78f,null))['then'](function(_0x2ec625){if(_0x2ec625){_0x29a6d[_0x6514('0x4b')]=_['keys'](db[_0x6514('0x6e')][_0x6514('0x46')]);_0x29a6d[_0x6514('0x48')]=_['keys'](_0x26a14b[_0x6514('0x48')]);_0x29a6d[_0x6514('0x4a')]=_[_0x6514('0x4d')](_0x29a6d[_0x6514('0x4b')],_0x29a6d[_0x6514('0x48')]);_0x299ffd[_0x6514('0x4c')]=_[_0x6514('0x4d')](_0x29a6d[_0x6514('0x4b')],qs[_0x6514('0x4e')](_0x26a14b[_0x6514('0x48')][_0x6514('0x4e')]));_0x299ffd[_0x6514('0x4c')]=_0x299ffd['attributes'][_0x6514('0x4f')]?_0x299ffd[_0x6514('0x4c')]:_0x29a6d[_0x6514('0x4b')];if(!_0x26a14b[_0x6514('0x48')][_0x6514('0x50')](_0x6514('0x51'))){_0x299ffd[_0x6514('0x24')]=qs[_0x6514('0x24')](_0x26a14b['query'][_0x6514('0x24')]);_0x299ffd['offset']=qs[_0x6514('0x22')](_0x26a14b[_0x6514('0x48')][_0x6514('0x22')]);}_0x299ffd[_0x6514('0x52')]=qs[_0x6514('0x53')](_0x26a14b[_0x6514('0x48')][_0x6514('0x53')]);_0x299ffd[_0x6514('0x54')]=qs[_0x6514('0x4a')](_[_0x6514('0x55')](_0x26a14b['query'],_0x29a6d[_0x6514('0x4a')]));_0x299ffd['where'][_0x6514('0x69')]=_0x2ec625['id'];if(_0x26a14b[_0x6514('0x48')][_0x6514('0x56')]){_0x299ffd['where']=_[_0x6514('0x59')](_0x299ffd['where'],{'$or':_[_0x6514('0x44')](_0x299ffd[_0x6514('0x4c')],function(_0x4e5b8c){var _0xf39f2d={};_0xf39f2d[_0x4e5b8c]={'$like':'%'+_0x26a14b[_0x6514('0x48')][_0x6514('0x56')]+'%'};return _0xf39f2d;})});}_0x299ffd=_[_0x6514('0x59')]({},_0x299ffd,_0x26a14b[_0x6514('0x5a')]);return db[_0x6514('0x6e')][_0x6514('0x25')]({'where':_0x299ffd[_0x6514('0x54')]})[_0x6514('0x28')](function(_0xd16c23){_0x46fd1e[_0x6514('0x25')]=_0xd16c23;if(_0x26a14b['query'][_0x6514('0x5b')]){_0x299ffd[_0x6514('0x5c')]=[{'all':!![]}];}return db['CannedAnswer']['findAll'](_0x299ffd);})[_0x6514('0x28')](function(_0x31b139){_0x46fd1e[_0x6514('0x5e')]=_0x31b139;return _0x46fd1e;});}})[_0x6514('0x28')](respondWithFilteredResult(_0x3ae78f,_0x299ffd))[_0x6514('0x1d')](handleError(_0x3ae78f,null));};exports[_0x6514('0x72')]=function(_0x596d0e,_0x2fa996){return db[_0x6514('0x45')]['find']({'where':{'id':_0x596d0e['params']['id']}})['then'](handleEntityNotFound(_0x2fa996,null))[_0x6514('0x28')](function(_0x41f48c){if(_0x41f48c){return _0x41f48c['removeAnswers'](_0x596d0e[_0x6514('0x48')][_0x6514('0x6d')]);}})[_0x6514('0x28')](respondWithStatusCode(_0x2fa996,null))['catch'](handleError(_0x2fa996,null));};exports[_0x6514('0x6f')]=function(_0x2c814a,_0x27620d){var _0x4514f2={'name':_0x2c814a[_0x6514('0x64')][_0x6514('0x2b')],'key':_0x2c814a[_0x6514('0x64')]['key'],'provider':_0x2c814a[_0x6514('0x64')][_0x6514('0x65')]==='custom'?null:_0x2c814a[_0x6514('0x64')]['provider'],'email':_0x2c814a[_0x6514('0x64')][_0x6514('0x73')],'ListId':_0x2c814a[_0x6514('0x64')][_0x6514('0x74')],'active':!_['isNil'](_0x2c814a[_0x6514('0x64')][_0x6514('0x75')])?_0x2c814a[_0x6514('0x64')][_0x6514('0x75')]:!![],'description':_0x2c814a['body'][_0x6514('0x76')]||null};var _0x26fa6d=getAuthenticationOptions(_0x4514f2[_0x6514('0x65')],_0x2c814a[_0x6514('0x64')]);_0x4514f2[_0x6514('0x3f')]=_0x26fa6d['Imap'];_0x4514f2[_0x6514('0x40')]=_0x26fa6d[_0x6514('0x40')];return db[_0x6514('0x45')][_0x6514('0x6f')](_0x4514f2,{'include':[{'model':db['MailServerOut'],'as':_0x6514('0x40')},{'model':db[_0x6514('0x41')],'as':_0x6514('0x3f')}]})[_0x6514('0x28')](function(_0x1ab928){var _0x4bfb1f=_0x2c814a['user'][_0x6514('0x77')]({'plain':!![]});if(!_0x4bfb1f)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4bfb1f['role']==='user'){var _0x569621=_0x1ab928[_0x6514('0x77')]({'plain':!![]});return db[_0x6514('0x78')][_0x6514('0x62')]({'where':{'name':_0x6514('0x29'),'userProfileId':_0x4bfb1f[_0x6514('0x79')]},'raw':!![]})[_0x6514('0x28')](function(_0x45f249){if(_0x45f249&&_0x45f249[_0x6514('0x7a')]===0x0){return db[_0x6514('0x7b')][_0x6514('0x6f')]({'name':_0x569621[_0x6514('0x2b')],'resourceId':_0x569621['id'],'type':_0x45f249[_0x6514('0x2b')],'sectionId':_0x45f249['id']},{})['then'](function(){return _0x1ab928;});}else{return _0x1ab928;}})[_0x6514('0x1d')](function(_0x51dbf0){logger[_0x6514('0x19')](_0x6514('0x7c'),_0x51dbf0);throw _0x51dbf0;});}return _0x1ab928;})[_0x6514('0x28')](respondWithResult(_0x27620d,0xc9))[_0x6514('0x1d')](handleError(_0x27620d,null));};exports[_0x6514('0x7d')]=function(_0x474f73,_0x390280){return db[_0x6514('0x45')][_0x6514('0x71')]({'where':{'id':_0x474f73[_0x6514('0x60')]['id']}})[_0x6514('0x28')](handleEntityNotFound(_0x390280,null))[_0x6514('0x28')](function(_0xa3898c){if(_0xa3898c){return _0xa3898c['getImap']();}return null;})['then'](respondWithResult(_0x390280,null))[_0x6514('0x1d')](handleError(_0x390280,null));};exports[_0x6514('0x7e')]=function(_0x3c8fd7,_0x3d5232){if(_0x3c8fd7[_0x6514('0x64')]['id']){delete _0x3c8fd7[_0x6514('0x64')]['id'];}return db[_0x6514('0x45')][_0x6514('0x62')]({'where':{'id':_0x3c8fd7[_0x6514('0x60')]['id']}})['then'](handleEntityNotFound(_0x3d5232,null))[_0x6514('0x28')](function(_0x53c8d0){if(_0x53c8d0){_0x3c8fd7[_0x6514('0x64')][_0x6514('0x69')]=_0x53c8d0['id'];return db['MailServerIn'][_0x6514('0x6f')](_0x3c8fd7[_0x6514('0x64')]);}})[_0x6514('0x28')](respondWithResult(_0x3d5232,null))[_0x6514('0x1d')](handleError(_0x3d5232,null));};exports['removeImap']=function(_0xc131b3,_0x1bad11){return db[_0x6514('0x45')]['findOne']({'where':{'id':_0xc131b3['params']['id']}})[_0x6514('0x28')](handleEntityNotFound(_0x1bad11,null))[_0x6514('0x28')](function(_0x53c2e0){if(_0x53c2e0){return _0x53c2e0[_0x6514('0x7f')](null);}return null;})[_0x6514('0x28')](respondWithStatusCode(_0x1bad11,null))[_0x6514('0x1d')](handleError(_0x1bad11,null));};exports[_0x6514('0x80')]=function(_0x349991,_0x338503){return db['MailAccount']['findOne']({'where':{'id':_0x349991['params']['id']}})['then'](handleEntityNotFound(_0x338503,null))['then'](function(_0x1a249b){if(_0x1a249b){return _0x1a249b[_0x6514('0x80')]();}return null;})[_0x6514('0x28')](respondWithResult(_0x338503,null))[_0x6514('0x1d')](handleError(_0x338503,null));};exports[_0x6514('0x81')]=function(_0x5c4810,_0x5aeaa9){if(_0x5c4810['body']['id']){delete _0x5c4810['body']['id'];}return db['MailAccount'][_0x6514('0x62')]({'where':{'id':_0x5c4810[_0x6514('0x60')]['id']}})[_0x6514('0x28')](handleEntityNotFound(_0x5aeaa9,null))[_0x6514('0x28')](function(_0x2244d0){if(_0x2244d0){_0x5c4810[_0x6514('0x64')]['MailAccountId']=_0x2244d0['id'];return db[_0x6514('0x42')][_0x6514('0x6f')](_0x5c4810['body']);}})[_0x6514('0x28')](respondWithResult(_0x5aeaa9,null))[_0x6514('0x1d')](handleError(_0x5aeaa9,null));};exports[_0x6514('0x82')]=function(_0x37647a,_0x271edc){return db[_0x6514('0x45')]['findOne']({'where':{'id':_0x37647a[_0x6514('0x60')]['id']}})['then'](handleEntityNotFound(_0x271edc,null))[_0x6514('0x28')](function(_0xe0be3d){if(_0xe0be3d){return _0xe0be3d[_0x6514('0x83')](null);}return null;})[_0x6514('0x28')](respondWithStatusCode(_0x271edc,null))[_0x6514('0x1d')](handleError(_0x271edc,null));};exports['addInteraction']=function(_0xa1992e,_0x3fd27b){return db[_0x6514('0x84')][_0x6514('0x62')]({'where':{'id':_0xa1992e[_0x6514('0x60')]['id']}})[_0x6514('0x28')](handleEntityNotFound(_0x3fd27b,null))[_0x6514('0x28')](function(_0x3f6d5e){if(_0x3f6d5e){return _0x3f6d5e[_0x6514('0x85')](_0xa1992e[_0x6514('0x64')][_0x6514('0x6d')],_[_0x6514('0x86')](_0xa1992e[_0x6514('0x64')],['ids','id'])||{});}})[_0x6514('0x28')](respondWithResult(_0x3fd27b,null))[_0x6514('0x1d')](handleError(_0x3fd27b,null));};exports[_0x6514('0x87')]=function(_0x10fde8,_0x184cd9){var _0x284086={'raw':![],'where':{}};var _0x3cc297={};var _0x22cc61={'count':0x0,'rows':[]};return db['MailAccount'][_0x6514('0x71')]({'where':{'id':_0x10fde8[_0x6514('0x60')]['id']}})[_0x6514('0x28')](handleEntityNotFound(_0x184cd9,null))['then'](function(_0x4f8f0e){if(_0x4f8f0e){_0x3cc297['model']=_[_0x6514('0x49')](db['MailInteraction'][_0x6514('0x46')]);_0x3cc297[_0x6514('0x48')]=_[_0x6514('0x49')](_0x10fde8[_0x6514('0x48')]);_0x3cc297[_0x6514('0x4a')]=_[_0x6514('0x4d')](_0x3cc297['model'],_0x3cc297[_0x6514('0x48')]);_0x284086[_0x6514('0x4c')]=_[_0x6514('0x4d')](_0x3cc297['model'],qs[_0x6514('0x4e')](_0x10fde8[_0x6514('0x48')]['fields']));_0x284086[_0x6514('0x4c')]=_0x284086[_0x6514('0x4c')][_0x6514('0x4f')]?_0x284086[_0x6514('0x4c')]:_0x3cc297[_0x6514('0x4b')];if(!_0x10fde8[_0x6514('0x48')][_0x6514('0x50')](_0x6514('0x51'))){_0x284086[_0x6514('0x24')]=qs[_0x6514('0x24')](_0x10fde8[_0x6514('0x48')][_0x6514('0x24')]);_0x284086[_0x6514('0x22')]=qs[_0x6514('0x22')](_0x10fde8[_0x6514('0x48')][_0x6514('0x22')]);}_0x284086['order']=qs['sort'](_0x10fde8[_0x6514('0x48')][_0x6514('0x53')]);_0x284086[_0x6514('0x54')]=qs[_0x6514('0x4a')](_[_0x6514('0x55')](_0x10fde8[_0x6514('0x48')],_0x3cc297[_0x6514('0x4a')]));_0x284086[_0x6514('0x54')][_0x6514('0x69')]=_0x4f8f0e['id'];if(_0x10fde8[_0x6514('0x48')][_0x6514('0x56')]){_0x284086['where']=_[_0x6514('0x59')](_0x284086[_0x6514('0x54')],{'$or':_[_0x6514('0x44')](_0x284086[_0x6514('0x4c')],function(_0x2b6ed4){var _0x34930e={};_0x34930e[_0x2b6ed4]={'$like':'%'+_0x10fde8[_0x6514('0x48')][_0x6514('0x56')]+'%'};return _0x34930e;})});}_0x284086=_['merge']({},_0x284086,_0x10fde8[_0x6514('0x5a')]);return db[_0x6514('0x84')][_0x6514('0x25')]({'where':_0x284086['where']})[_0x6514('0x28')](function(_0x17fb2a){_0x22cc61['count']=_0x17fb2a;if(_0x10fde8['query'][_0x6514('0x5b')]){_0x284086[_0x6514('0x5c')]=[{'model':db[_0x6514('0x88')],'as':_0x6514('0x89'),'required':![]},{'model':db['User'],'as':_0x6514('0x8a'),'attributes':[_0x6514('0x2b'),'fullname',_0x6514('0x8b')],'required':![]},{'model':db['Tag'],'as':'Tags','attributes':['id',_0x6514('0x2b'),_0x6514('0x8c')],'where':_0x10fde8[_0x6514('0x48')][_0x6514('0x8d')]?{'id':_0x10fde8['query'][_0x6514('0x8d')]}:undefined,'required':_0x10fde8[_0x6514('0x48')][_0x6514('0x8d')]?!![]:![]}];}return db[_0x6514('0x84')][_0x6514('0x5d')](_0x284086);})[_0x6514('0x28')](function(_0xcb0109){_0x22cc61[_0x6514('0x5e')]=_0xcb0109;return _0x22cc61;});}})['then'](respondWithFilteredResult(_0x184cd9,_0x284086))[_0x6514('0x1d')](handleError(_0x184cd9,null));};exports[_0x6514('0x8e')]=function addApplications(_0x5550f9,_0x235c83){var _0x4554ab=_0x5550f9[_0x6514('0x60')]['id'];var _0x5949e7=_0x5550f9[_0x6514('0x64')];var _0x259198=0xc8;var _0x357025=null;return db['sequelize']['transaction']({'isolationLevel':db['sequelize'][_0x6514('0x8f')][_0x6514('0x90')][_0x6514('0x91')]},function(_0x258d05){return db[_0x6514('0x45')]['findOne']({'where':{'id':_0x4554ab},'transaction':_0x258d05})[_0x6514('0x28')](function(_0x30ce18){if(_0x30ce18){return db['MailApplication'][_0x6514('0x2a')]({'where':{'MailAccountId':_0x4554ab},'transaction':_0x258d05})['then'](function(){var _0x5e58b6=_[_0x6514('0x44')](_0x5949e7,function(_0x2bbef7){_0x2bbef7[_0x6514('0x69')]=_0x4554ab;return _0x2bbef7;});return db[_0x6514('0x92')][_0x6514('0x93')](_0x5e58b6,{'transaction':_0x258d05});});}else{_0x259198=0x194;_0x357025=[];}});})[_0x6514('0x28')](function(){if(_0x259198!==0x194){return db[_0x6514('0x92')][_0x6514('0x94')]({'where':{'MailAccountId':_0x4554ab},'order':'priority'})['then'](function(_0x40cb32){_0x357025=_0x40cb32;});}})[_0x6514('0x1d')](function(_0x3df1ff){_0x259198=0x1f4;logger[_0x6514('0x19')](_0x3df1ff['stack']);if(_0x3df1ff[_0x6514('0x2b')]){delete _0x3df1ff[_0x6514('0x2b')];}_0x357025=_0x3df1ff;})['finally'](function(){if(_0x357025===null){_0x235c83['sendStatus'](_0x259198);}else{if(_0x259198===0x1f4){_0x235c83[_0x6514('0x1f')](_0x259198)['send'](_0x357025);}else{_0x235c83[_0x6514('0x1f')](_0x259198)[_0x6514('0x21')](_0x357025);}}});};exports[_0x6514('0x95')]=function(_0x584e32,_0x313a1f){var _0x4fd5cd={};var _0x5d530d={};var _0x520ba1;var _0x5dbb62;return db[_0x6514('0x45')][_0x6514('0x71')]({'where':{'id':_0x584e32[_0x6514('0x60')]['id']}})[_0x6514('0x28')](handleEntityNotFound(_0x313a1f,null))[_0x6514('0x28')](function(_0x23ccf1){if(_0x23ccf1){_0x520ba1=_0x23ccf1;_0x5d530d[_0x6514('0x4b')]=_[_0x6514('0x49')](db[_0x6514('0x92')][_0x6514('0x46')]);_0x5d530d[_0x6514('0x48')]=_['keys'](_0x584e32[_0x6514('0x48')]);_0x5d530d[_0x6514('0x4a')]=_['intersection'](_0x5d530d[_0x6514('0x4b')],_0x5d530d[_0x6514('0x48')]);_0x4fd5cd[_0x6514('0x4c')]=_[_0x6514('0x4d')](_0x5d530d[_0x6514('0x4b')],qs[_0x6514('0x4e')](_0x584e32[_0x6514('0x48')][_0x6514('0x4e')]));_0x4fd5cd[_0x6514('0x4c')]=_0x4fd5cd['attributes'][_0x6514('0x4f')]?_0x4fd5cd[_0x6514('0x4c')]:_0x5d530d['model'];_0x4fd5cd[_0x6514('0x52')]=qs[_0x6514('0x53')](_0x584e32[_0x6514('0x48')][_0x6514('0x53')]);_0x4fd5cd['where']=qs[_0x6514('0x4a')](_[_0x6514('0x55')](_0x584e32[_0x6514('0x48')],_0x5d530d['filters']));if(_0x584e32['query'][_0x6514('0x56')]){_0x4fd5cd['where']=_['merge'](_0x4fd5cd[_0x6514('0x54')],{'$or':_[_0x6514('0x44')](_0x4fd5cd[_0x6514('0x4c')],function(_0x8134fa){var _0x4c2c87={};_0x4c2c87[_0x8134fa]={'$like':'%'+_0x584e32['query'][_0x6514('0x56')]+'%'};return _0x4c2c87;})});}_0x4fd5cd=_[_0x6514('0x59')]({},_0x4fd5cd,_0x584e32[_0x6514('0x5a')]);return _0x520ba1[_0x6514('0x95')](_0x4fd5cd);}})[_0x6514('0x28')](function(_0x3df9fa){if(_0x3df9fa){_0x5dbb62=_0x3df9fa['length'];if(!_0x584e32[_0x6514('0x48')]['hasOwnProperty'](_0x6514('0x51'))){_0x4fd5cd[_0x6514('0x24')]=qs[_0x6514('0x24')](_0x584e32[_0x6514('0x48')][_0x6514('0x24')]);_0x4fd5cd[_0x6514('0x22')]=qs[_0x6514('0x22')](_0x584e32['query'][_0x6514('0x22')]);}return _0x520ba1[_0x6514('0x95')](_0x4fd5cd);}})[_0x6514('0x28')](function(_0x22277e){if(_0x22277e){return _0x22277e?{'count':_0x5dbb62,'rows':_0x22277e}:null;}})['then'](respondWithResult(_0x313a1f,null))['catch'](handleError(_0x313a1f,null));};exports[_0x6514('0x96')]=function(_0x437279,_0xa02c13){var _0x4abc1f={'raw':!![],'where':{}};var _0xe5acdd={};var _0x57a460={'count':0x0,'rows':[]};return db[_0x6514('0x45')]['findOne']({'where':{'id':_0x437279[_0x6514('0x60')]['id']}})[_0x6514('0x28')](handleEntityNotFound(_0xa02c13,null))[_0x6514('0x28')](function(_0x464942){if(_0x464942){_0xe5acdd[_0x6514('0x4b')]=_[_0x6514('0x49')](db[_0x6514('0x97')][_0x6514('0x46')]);_0xe5acdd[_0x6514('0x48')]=_[_0x6514('0x49')](_0x437279[_0x6514('0x48')]);_0xe5acdd[_0x6514('0x4a')]=_[_0x6514('0x4d')](_0xe5acdd[_0x6514('0x4b')],_0xe5acdd[_0x6514('0x48')]);_0x4abc1f[_0x6514('0x4c')]=_['intersection'](_0xe5acdd['model'],qs[_0x6514('0x4e')](_0x437279[_0x6514('0x48')]['fields']));_0x4abc1f['attributes']=_0x4abc1f['attributes'][_0x6514('0x4f')]?_0x4abc1f[_0x6514('0x4c')]:_0xe5acdd['model'];if(!_0x437279[_0x6514('0x48')][_0x6514('0x50')](_0x6514('0x51'))){_0x4abc1f[_0x6514('0x24')]=qs[_0x6514('0x24')](_0x437279[_0x6514('0x48')][_0x6514('0x24')]);_0x4abc1f[_0x6514('0x22')]=qs[_0x6514('0x22')](_0x437279[_0x6514('0x48')][_0x6514('0x22')]);}_0x4abc1f[_0x6514('0x52')]=qs[_0x6514('0x53')](_0x437279[_0x6514('0x48')][_0x6514('0x53')]);_0x4abc1f['where']=qs[_0x6514('0x4a')](_[_0x6514('0x55')](_0x437279[_0x6514('0x48')],_0xe5acdd['filters']));_0x4abc1f[_0x6514('0x54')]['MailAccountId']=_0x464942['id'];if(_0x437279['query'][_0x6514('0x56')]){_0x4abc1f[_0x6514('0x54')]=_[_0x6514('0x59')](_0x4abc1f['where'],{'$or':_['map'](_0x4abc1f[_0x6514('0x4c')],function(_0x39e190){var _0x5455f6={};_0x5455f6[_0x39e190]={'$like':'%'+_0x437279[_0x6514('0x48')][_0x6514('0x56')]+'%'};return _0x5455f6;})});}if(_0x437279[_0x6514('0x48')]['$gte']){var _0x4abd26=_0x437279[_0x6514('0x48')][_0x6514('0x98')][_0x6514('0x99')](',');var _0x5c5d38={};_0x5c5d38[_0x4abd26[0x0]]={'$gte':moment(_0x4abd26[0x1])[_0x6514('0x9a')](_0x6514('0x9b'))};_0x4abc1f[_0x6514('0x54')]=_[_0x6514('0x59')](_0x4abc1f['where'],_0x5c5d38);}_0x4abc1f=_[_0x6514('0x59')]({},_0x4abc1f,_0x437279[_0x6514('0x5a')]);return db['MailMessage']['count']({'where':_0x4abc1f[_0x6514('0x54')]})[_0x6514('0x28')](function(_0x4c5d01){_0x57a460[_0x6514('0x25')]=_0x4c5d01;if(_0x437279[_0x6514('0x48')][_0x6514('0x5b')]){_0x4abc1f[_0x6514('0x5c')]=[{'all':!![]}];}return db[_0x6514('0x97')][_0x6514('0x5d')](_0x4abc1f);})[_0x6514('0x28')](function(_0x7ef73d){if(_0x437279[_0x6514('0x48')][_0x6514('0x9c')]===_0x6514('0x9d')){for(var _0x79fac1=0x0;_0x79fac1<_0x7ef73d[_0x6514('0x4f')];_0x79fac1++){_0x7ef73d[_0x79fac1][_0x6514('0x64')]=juice(_0x7ef73d[_0x79fac1][_0x6514('0x64')]);}}_0x57a460[_0x6514('0x5e')]=_0x7ef73d;return _0x57a460;});}})[_0x6514('0x28')](respondWithFilteredResult(_0xa02c13,_0x4abc1f))[_0x6514('0x1d')](handleError(_0xa02c13,null));};exports[_0x6514('0x2c')]=function(_0x15f94f,_0x1f8b8e){var _0xbb0793,_0x3a8df5={},_0x98fa6a;if(_0x15f94f[_0x6514('0x64')]['to']){_0x98fa6a=_0x15f94f[_0x6514('0x64')]['to']['split'](',')[0x0];}return db[_0x6514('0x45')][_0x6514('0x62')]({'where':{'id':_0x15f94f[_0x6514('0x60')]['id']},'include':[{'model':db[_0x6514('0x9e')],'as':_0x6514('0x9f'),'include':[{'model':db[_0x6514('0x88')],'as':_0x6514('0xa0'),'where':{'email':_0x98fa6a},'limit':0x1,'order':[[_0x6514('0xa1'),_0x6514('0xa2')]]}]},{'model':db[_0x6514('0x42')],'as':_0x6514('0x40'),'raw':!![],'include':[{'model':db[_0x6514('0xa3')],'as':_0x6514('0xa3'),'raw':!![]}]}]})[_0x6514('0x28')](handleEntityNotFound(_0x1f8b8e,null))[_0x6514('0x28')](function(_0x465a41){if(!_0x465a41)return;_0xbb0793=_0x465a41;if(!_0x465a41[_0x6514('0x40')])throw new Error(_0x6514('0xa4'));if(_[_0x6514('0xa5')](_0x15f94f[_0x6514('0x64')][_0x6514('0xa6')])){_0x15f94f[_0x6514('0x64')]['from']=util[_0x6514('0x9a')](_0x6514('0xa7'),_0x465a41['name'],_0x465a41[_0x6514('0x73')]||_0x465a41[_0x6514('0x40')][_0x6514('0x35')]);}if(_0x15f94f['body'][_0x6514('0xa8')]&&_0x15f94f[_0x6514('0x64')][_0x6514('0xa8')][_0x6514('0x4f')]){for(var _0x1776c0=0x0;_0x1776c0<_0x15f94f['body'][_0x6514('0xa8')]['length'];_0x1776c0+=0x1){_0x15f94f['body'][_0x6514('0xa8')][_0x1776c0]={'filename':_0x15f94f[_0x6514('0x64')]['attachments'][_0x1776c0][_0x6514('0x2b')],'path':path[_0x6514('0xa9')](config[_0x6514('0xaa')],'server/files/attachments',_0x15f94f[_0x6514('0x64')][_0x6514('0xa8')][_0x1776c0][_0x6514('0xab')])};}}var _0x9e85b1=_0x465a41['getSmtpOptions']();return respondWithRpcPromise('SendMail','sendMail',{'account':_0x9e85b1,'message':_0x15f94f[_0x6514('0x64')]});})[_0x6514('0x28')](function(_0x35973e){if(!_0x35973e)return;_0x3a8df5=_0x35973e;if(!_0xbb0793[_0x6514('0x9f')])throw new Error(_0x6514('0xac'));if(_0xbb0793[_0x6514('0x9f')][_0x6514('0xa0')][_0x6514('0x4f')])return _0xbb0793[_0x6514('0x9f')][_0x6514('0xa0')][0x0];return db['CmContact']['create'](_[_0x6514('0xc')](_0x15f94f['body'],{'firstName':_0x15f94f[_0x6514('0x64')]['to'],'email':_0x15f94f['body']['to'],'phone':_0x15f94f[_0x6514('0x64')]['to'],'ListId':_0xbb0793['ListId']}));})['then'](function(_0x1a119b){if(!_0x1a119b)return;var _0x217868={'UserId':_0x15f94f[_0x6514('0x35')]['id'],'ContactId':_0x1a119b['id'],'MailAccountId':_0xbb0793['id'],'inReplyTo':_0x3a8df5[_0x6514('0xad')],'to':_0x15f94f[_0x6514('0x64')][_0x6514('0xa6')],'cc':_0x15f94f[_0x6514('0x64')]['cc'],'subject':_0x15f94f[_0x6514('0x64')][_0x6514('0xae')],'attach':_0x15f94f[_0x6514('0x64')][_0x6514('0xaf')],'firstMsgDirection':_0x6514('0xb0'),'lastMsgAt':moment()['format'](_0x6514('0x9b')),'lastMsgDirection':_0x6514('0xb0'),'Messages':[_[_0x6514('0x59')](_0x15f94f[_0x6514('0x64')],{'messageId':_0x3a8df5['messageId'],'sentAt':moment()[_0x6514('0x9a')](_0x6514('0x9b')),'read':!![],'MailAccountId':_0xbb0793['id'],'UserId':_0x15f94f[_0x6514('0x35')]['id'],'ContactId':_0x1a119b['id']})]};if(_0x15f94f[_0x6514('0x64')][_0x6514('0xb1')]){_0x217868=_[_0x6514('0x59')](_0x217868,_0x15f94f[_0x6514('0x64')][_0x6514('0xb1')]);}return db[_0x6514('0x84')][_0x6514('0x6f')](_0x217868,{'include':[{'model':db[_0x6514('0x97')],'as':'Messages'}]});})['then'](respondWithResult(_0x1f8b8e,null))[_0x6514('0x1d')](handleError(_0x1f8b8e,null));};exports[_0x6514('0xb2')]=function(_0x4c3efa,_0x3024ee){return db[_0x6514('0x45')][_0x6514('0x62')]({'where':{'id':_0x4c3efa[_0x6514('0x60')]['id']},'include':[{'model':db[_0x6514('0x42')],'as':_0x6514('0x40'),'raw':!![],'include':[{'model':db[_0x6514('0xa3')],'as':_0x6514('0xa3'),'raw':!![]}]}]})[_0x6514('0x28')](handleEntityNotFound(_0x3024ee,null))[_0x6514('0x28')](function(_0x5dcca7){if(!_0x5dcca7['Smtp'])return;var _0x175ed6=_0x5dcca7['getSmtpOptions']();return respondWithRpcPromise('VerifySmtp',_0x6514('0xb2'),{'account':_0x175ed6});})[_0x6514('0x28')](respondWithResult(_0x3024ee,null))[_0x6514('0x1d')](handleError(_0x3024ee,null));};exports[_0x6514('0x2a')]=function(_0x3fd8ef,_0x5de23c){return db[_0x6514('0x45')][_0x6514('0x62')]({'where':{'id':_0x3fd8ef[_0x6514('0x60')]['id']}})[_0x6514('0x28')](handleEntityNotFound(_0x5de23c,null))['then'](function(_0x3f9f64){if(_0x3f9f64&&_0x3f9f64[_0x6514('0x3d')]){throw new db['Sequelize'][(_0x6514('0xb3'))](_0x6514('0xb4'));}return _0x3f9f64;})[_0x6514('0x28')](removeEntity(_0x5de23c,null))[_0x6514('0x1d')](handleError(_0x5de23c,null));};exports[_0x6514('0xb5')]=function(_0x3521e0,_0x4cbb25){return db[_0x6514('0x45')][_0x6514('0x62')]({'where':{'id':_0x3521e0['params']['id']}})[_0x6514('0x28')](handleEntityNotFound(_0x4cbb25,null))['then'](function(_0x4436d9){if(_0x4436d9){return _0x4436d9[_0x6514('0xb5')](_0x3521e0[_0x6514('0x64')]['ids'],_[_0x6514('0x86')](_0x3521e0[_0x6514('0x64')],[_0x6514('0x6d'),'id'])||{})[_0x6514('0xb6')](function(_0x163baa){for(var _0xe0c3df=0x0;_0xe0c3df<_0x3521e0[_0x6514('0x64')][_0x6514('0x6d')][_0x6514('0x4f')];_0xe0c3df+=0x1){socket[_0x6514('0xb7')](_0x6514('0xb8'),{'UserId':Number(_0x3521e0[_0x6514('0x64')]['ids'][_0xe0c3df]),'MailAccountId':Number(_0x3521e0[_0x6514('0x60')]['id'])});}return _0x163baa;});}})[_0x6514('0x28')](respondWithResult(_0x4cbb25,null))[_0x6514('0x1d')](handleError(_0x4cbb25,null));};exports[_0x6514('0xb9')]=function(_0x451c4f,_0x3dd7a1){return db[_0x6514('0x45')][_0x6514('0x62')]({'where':{'id':_0x451c4f[_0x6514('0x60')]['id']}})['then'](handleEntityNotFound(_0x3dd7a1,null))[_0x6514('0x28')](function(_0x56e3d6){if(_0x56e3d6){return _0x56e3d6[_0x6514('0xb9')](_0x451c4f['query'][_0x6514('0x6d')])[_0x6514('0x28')](function(){if(_['isArray'](_0x451c4f[_0x6514('0x48')][_0x6514('0x6d')])){for(var _0x33463e=0x0;_0x33463e<_0x451c4f[_0x6514('0x48')][_0x6514('0x6d')][_0x6514('0x4f')];_0x33463e+=0x1){socket[_0x6514('0xb7')](_0x6514('0xba'),{'UserId':Number(_0x451c4f[_0x6514('0x48')][_0x6514('0x6d')][_0x33463e]),'MailAccountId':Number(_0x451c4f['params']['id'])});}}else{socket[_0x6514('0xb7')](_0x6514('0xba'),{'UserId':Number(_0x451c4f[_0x6514('0x48')]['ids']),'MailAccountId':Number(_0x451c4f[_0x6514('0x60')]['id'])});}});}})[_0x6514('0x28')](respondWithStatusCode(_0x3dd7a1,null))['catch'](handleError(_0x3dd7a1,null));};exports[_0x6514('0xbb')]=function(_0x1402eb,_0x1a596b){var _0x2552de={};var _0x31c637={};var _0x325309;var _0x58bc71;return db[_0x6514('0x45')][_0x6514('0x71')]({'where':{'id':_0x1402eb['params']['id']}})[_0x6514('0x28')](handleEntityNotFound(_0x1a596b,null))[_0x6514('0x28')](function(_0x350aa3){if(_0x350aa3){_0x325309=_0x350aa3;_0x31c637[_0x6514('0x4b')]=_[_0x6514('0x49')](db[_0x6514('0xbc')][_0x6514('0x46')]);_0x31c637['query']=_[_0x6514('0x49')](_0x1402eb[_0x6514('0x48')]);_0x31c637[_0x6514('0x4a')]=_['intersection'](_0x31c637[_0x6514('0x4b')],_0x31c637['query']);_0x2552de[_0x6514('0x4c')]=_[_0x6514('0x4d')](_0x31c637[_0x6514('0x4b')],qs['fields'](_0x1402eb[_0x6514('0x48')][_0x6514('0x4e')]));_0x2552de[_0x6514('0x4c')]=_0x2552de[_0x6514('0x4c')][_0x6514('0x4f')]?_0x2552de['attributes']:_0x31c637[_0x6514('0x4b')];_0x2552de[_0x6514('0x52')]=qs[_0x6514('0x53')](_0x1402eb[_0x6514('0x48')][_0x6514('0x53')]);_0x2552de[_0x6514('0x54')]=qs[_0x6514('0x4a')](_[_0x6514('0x55')](_0x1402eb[_0x6514('0x48')],_0x31c637['filters']));if(_0x1402eb[_0x6514('0x48')][_0x6514('0x56')]){_0x2552de[_0x6514('0x54')]=_['merge'](_0x2552de[_0x6514('0x54')],{'$or':_[_0x6514('0x44')](_0x2552de[_0x6514('0x4c')],function(_0x2d8658){var _0x592551={};_0x592551[_0x2d8658]={'$like':'%'+_0x1402eb['query']['filter']+'%'};return _0x592551;})});}_0x2552de=_[_0x6514('0x59')]({},_0x2552de,_0x1402eb[_0x6514('0x5a')]);return _0x325309['getAgents'](_0x2552de);}})[_0x6514('0x28')](function(_0x1e15a4){if(_0x1e15a4){_0x58bc71=_0x1e15a4[_0x6514('0x4f')];if(!_0x1402eb[_0x6514('0x48')]['hasOwnProperty'](_0x6514('0x51'))){_0x2552de[_0x6514('0x24')]=qs[_0x6514('0x24')](_0x1402eb['query'][_0x6514('0x24')]);_0x2552de[_0x6514('0x22')]=qs[_0x6514('0x22')](_0x1402eb['query'][_0x6514('0x22')]);}return _0x325309[_0x6514('0xbb')](_0x2552de);}})['then'](function(_0x5c6a68){if(_0x5c6a68){return _0x5c6a68?{'count':_0x58bc71,'rows':_0x5c6a68}:null;}})[_0x6514('0x28')](respondWithResult(_0x1a596b,null))[_0x6514('0x1d')](handleError(_0x1a596b,null));};