Built motion from commit 9d0783e6.|2.6.13
[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 _0x85e1=['sendStatus','status','json','undefined','limit','count','set','Content-Range','destroy','get','UserProfileResource','end','stack','name','gmail','imap.gmail.com','imap.mail.yahoo.com','hotmail','imap-mail.outlook.com','Unknown\x20email\x20service\x20provider','smtp.gmail.com','yahoo','smtp.mail.yahoo.com','smtp.office365.com','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','index','MailServerIn','MailServerOut','Pause','map','MailAccount','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','offset','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','catch','show','params','mandatoryDispositionPause','find','update','body','provider','custom','Mail\x20Account\x20not\x20found','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','removeDispositions','ids','addAnswer','CannedAnswer','removeAnswers','email','ListId','isNil','active','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','MailAccounts','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','removeImap','setImap','addSmtp','removeSmtp','MailInteraction','addInteraction','omit','getInteractions','User','Owner','fullname','Tags','color','tag','findAll','addApplications','sequelize','transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','finally','send','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','true','CmList','List','CmContact','Contacts','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','from','%s\x20<%s>','attachments','server/files/attachments','getSmtpOptions','SendMail','sendMail','messageId','subject','attach','out','Interaction','Messages','verifySmtp','VerifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','emit','userMailAccount:save','removeAgents','userMailAccount:remove','moment','bluebird','util','path','lodash','juice','ioredis','../../config/logger','api','../../mysqldb','redis','defaults','socket.io-emitter','./mailAccount.socket','jayson/promise','http','request','then','info','debug','request\x20sent','stringify','error','MailAccount,\x20%s,\x20%s','message','result'];(function(_0x45f951,_0x2750c8){var _0x24756c=function(_0x31c931){while(--_0x31c931){_0x45f951['push'](_0x45f951['shift']());}};_0x24756c(++_0x2750c8);}(_0x85e1,0xa5));var _0x185e=function(_0x537d4e,_0x2bfd04){_0x537d4e=_0x537d4e-0x0;var _0x4a3c54=_0x85e1[_0x537d4e];return _0x4a3c54;};'use strict';var moment=require(_0x185e('0x0'));var BPromise=require(_0x185e('0x1'));var util=require(_0x185e('0x2'));var path=require(_0x185e('0x3'));var _=require(_0x185e('0x4'));var juice=require(_0x185e('0x5'));var Redis=require(_0x185e('0x6'));var qs=require('../../components/parsers/qs');var logger=require(_0x185e('0x7'))(_0x185e('0x8'));var config=require('../../config/environment');var db=require(_0x185e('0x9'))['db'];config[_0x185e('0xa')]=_[_0x185e('0xb')](config[_0x185e('0xa')],{'host':'localhost','port':0x18eb});var socket=require(_0x185e('0xc'))(new Redis(config['redis']));require(_0x185e('0xd'))['register'](socket);var jayson=require(_0x185e('0xe'));var client=jayson['client'][_0x185e('0xf')]({'port':0x232b});function respondWithRpcPromise(_0x17e43d,_0x3db368,_0x589df5,_0x4cde77){return new BPromise(function(_0x38490e,_0x2d8ce3){var _0x6720fb=_0x4cde77||client;return _0x6720fb[_0x185e('0x10')](_0x17e43d,_0x589df5)[_0x185e('0x11')](function(_0x29906d){logger[_0x185e('0x12')]('MailAccount,\x20%s,\x20%s',_0x3db368,'request\x20sent');logger[_0x185e('0x13')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x3db368,_0x185e('0x14'),JSON[_0x185e('0x15')](_0x29906d));if(_0x29906d[_0x185e('0x16')]){if(_0x29906d[_0x185e('0x16')]['code']===0x1f4){logger[_0x185e('0x16')](_0x185e('0x17'),_0x3db368,_0x29906d[_0x185e('0x16')][_0x185e('0x18')]);return _0x2d8ce3(_0x29906d[_0x185e('0x16')][_0x185e('0x18')]);}logger['error'](_0x185e('0x17'),_0x3db368,_0x29906d[_0x185e('0x16')][_0x185e('0x18')]);return _0x38490e(_0x29906d[_0x185e('0x16')][_0x185e('0x18')]);}else{logger[_0x185e('0x12')](_0x185e('0x17'),_0x3db368,_0x185e('0x14'));_0x38490e(_0x29906d[_0x185e('0x19')][_0x185e('0x18')]);}})['catch'](function(_0xbd23ab){logger[_0x185e('0x16')](_0x185e('0x17'),_0x3db368,_0xbd23ab);_0x2d8ce3(_0xbd23ab);});});}function respondWithStatusCode(_0x3deaf9,_0x2f27de){_0x2f27de=_0x2f27de||0xcc;return function(_0x6a3160){if(_0x6a3160){return _0x3deaf9[_0x185e('0x1a')](_0x2f27de);}return _0x3deaf9['status'](_0x2f27de)['end']();};}function respondWithResult(_0x3abd46,_0x12bbf9){_0x12bbf9=_0x12bbf9||0xc8;return function(_0x231f1f){if(_0x231f1f){return _0x3abd46[_0x185e('0x1b')](_0x12bbf9)[_0x185e('0x1c')](_0x231f1f);}};}function respondWithFilteredResult(_0x5589b9,_0x367d19){return function(_0x5d51ba){if(_0x5d51ba){var _0x7109a5=typeof _0x367d19['offset']===_0x185e('0x1d')&&typeof _0x367d19[_0x185e('0x1e')]==='undefined';var _0x4122c3=_0x5d51ba[_0x185e('0x1f')];var _0x490c9c=_0x7109a5?0x0:_0x367d19['offset'];var _0x28eaaa=_0x7109a5?_0x5d51ba['count']:_0x367d19['offset']+_0x367d19[_0x185e('0x1e')];var _0x50dc75;if(_0x28eaaa>=_0x4122c3){_0x28eaaa=_0x4122c3;_0x50dc75=0xc8;}else{_0x50dc75=0xce;}_0x5589b9[_0x185e('0x1b')](_0x50dc75);return _0x5589b9[_0x185e('0x20')](_0x185e('0x21'),_0x490c9c+'-'+_0x28eaaa+'/'+_0x4122c3)[_0x185e('0x1c')](_0x5d51ba);}return null;};}function saveUpdates(_0x52d493){return function(_0x5b32ba){if(_0x5b32ba){return _0x5b32ba['update'](_0x52d493)['then'](function(_0x465938){return _0x465938;});}return null;};}function removeEntity(_0x35fba8){return function(_0x49a951){if(_0x49a951){return _0x49a951[_0x185e('0x22')]()['then'](function(){var _0x266cb0=_0x49a951[_0x185e('0x23')]({'plain':!![]});var _0x4dbeed='MailAccounts';return db[_0x185e('0x24')]['destroy']({'where':{'type':_0x4dbeed,'resourceId':_0x266cb0['id']}})[_0x185e('0x11')](function(){return _0x49a951;});})[_0x185e('0x11')](function(){_0x35fba8[_0x185e('0x1b')](0xcc)[_0x185e('0x25')]();});}};}function handleEntityNotFound(_0x3f06ca){return function(_0x430c13){if(!_0x430c13){_0x3f06ca[_0x185e('0x1a')](0x194);}return _0x430c13;};}function handleError(_0xbdd842,_0x1cdaad){_0x1cdaad=_0x1cdaad||0x1f4;return function(_0x44c660){logger[_0x185e('0x16')](_0x44c660[_0x185e('0x26')]);if(_0x44c660[_0x185e('0x27')]){delete _0x44c660['name'];}_0xbdd842[_0x185e('0x1b')](_0x1cdaad)['send'](_0x44c660);};}function getImapHost(_0x5915b8){switch(_0x5915b8){case _0x185e('0x28'):return _0x185e('0x29');case'yahoo':return _0x185e('0x2a');case _0x185e('0x2b'):return _0x185e('0x2c');case'outlook365':return'outlook.office365.com';}throw new Error(_0x185e('0x2d'),_0x5915b8);}function getSmtpHost(_0x14dcba){switch(_0x14dcba){case _0x185e('0x28'):return _0x185e('0x2e');case _0x185e('0x2f'):return _0x185e('0x30');case _0x185e('0x2b'):return'smtp-mail.outlook.com';case'outlook365':return _0x185e('0x31');}throw new Error(_0x185e('0x2d'),_0x14dcba);}function getAuthenticationOptions(_0x49ffc6,_0x1056c8){var _0x5632cb={};var _0x2cfcc8={};if(_0x49ffc6){_0x5632cb[_0x185e('0x32')]=_0x2cfcc8['user']=_0x1056c8[_0x185e('0x33')];_0x5632cb[_0x185e('0x34')]=_0x2cfcc8[_0x185e('0x35')]=_0x1056c8[_0x185e('0x34')];if(_0x1056c8[_0x185e('0x36')]){_0x5632cb[_0x185e('0x36')]=_0x2cfcc8['modernAuthentication']=!![];_0x5632cb[_0x185e('0x37')]=_0x2cfcc8[_0x185e('0x37')]=_0x1056c8[_0x185e('0x37')];_0x5632cb[_0x185e('0x34')]=_0x2cfcc8['pass']=null;}else{_0x5632cb[_0x185e('0x37')]=_0x2cfcc8[_0x185e('0x37')]=null;}_0x5632cb[_0x185e('0x38')]=getImapHost(_0x49ffc6);_0x5632cb[_0x185e('0x39')]=0x3e1;_0x2cfcc8['host']=getSmtpHost(_0x49ffc6);_0x2cfcc8[_0x185e('0x39')]=0x24b;_0x2cfcc8[_0x185e('0x3a')]=![];_0x5632cb[_0x185e('0x3b')]=_0x2cfcc8[_0x185e('0x3b')]=null;}else{if(_0x1056c8[_0x185e('0x3c')]){_0x5632cb[_0x185e('0x32')]=_0x2cfcc8['user']=_0x1056c8['username'];_0x5632cb[_0x185e('0x34')]=_0x2cfcc8[_0x185e('0x35')]=_0x1056c8['password'];}else{_0x5632cb[_0x185e('0x3c')]=_0x2cfcc8[_0x185e('0x3c')]=![];_0x5632cb[_0x185e('0x32')]=_0x2cfcc8[_0x185e('0x32')]=null;_0x5632cb[_0x185e('0x34')]=_0x2cfcc8[_0x185e('0x35')]=null;}_0x5632cb[_0x185e('0x38')]=_0x1056c8[_0x185e('0x3d')][_0x185e('0x38')];_0x5632cb[_0x185e('0x39')]=_0x1056c8['Imap'][_0x185e('0x39')];_0x2cfcc8[_0x185e('0x38')]=_0x1056c8[_0x185e('0x3e')]['host'];_0x2cfcc8[_0x185e('0x39')]=_0x1056c8[_0x185e('0x3e')][_0x185e('0x39')];}return{'Imap':_0x5632cb,'Smtp':_0x2cfcc8};}exports[_0x185e('0x3f')]=function(_0x74daa4,_0x534311){var _0x489b25={'include':[{'model':db[_0x185e('0x40')],'as':_0x185e('0x3d')},{'model':db[_0x185e('0x41')],'as':_0x185e('0x3e')},{'model':db[_0x185e('0x42')],'as':'mandatoryDispositionPause'}]},_0x27227b={},_0x9df834={'count':0x0,'rows':[]};var _0x164c9f=_[_0x185e('0x43')](db[_0x185e('0x44')][_0x185e('0x45')],function(_0x5c5487){return{'name':_0x5c5487[_0x185e('0x46')],'type':_0x5c5487[_0x185e('0x47')][_0x185e('0x48')]};});_0x27227b['model']=_[_0x185e('0x43')](_0x164c9f,_0x185e('0x27'));_0x27227b[_0x185e('0x49')]=_[_0x185e('0x4a')](_0x74daa4[_0x185e('0x49')]);_0x27227b[_0x185e('0x4b')]=_[_0x185e('0x4c')](_0x27227b[_0x185e('0x4d')],_0x27227b[_0x185e('0x49')]);_0x489b25[_0x185e('0x4e')]=_['intersection'](_0x27227b[_0x185e('0x4d')],qs[_0x185e('0x4f')](_0x74daa4[_0x185e('0x49')][_0x185e('0x4f')]));_0x489b25[_0x185e('0x4e')]=_0x489b25['attributes'][_0x185e('0x50')]?_0x489b25['attributes']:_0x27227b[_0x185e('0x4d')];if(!_0x74daa4[_0x185e('0x49')][_0x185e('0x51')](_0x185e('0x52'))){_0x489b25[_0x185e('0x1e')]=qs[_0x185e('0x1e')](_0x74daa4[_0x185e('0x49')][_0x185e('0x1e')]);_0x489b25[_0x185e('0x53')]=qs[_0x185e('0x53')](_0x74daa4[_0x185e('0x49')][_0x185e('0x53')]);}_0x489b25[_0x185e('0x54')]=qs[_0x185e('0x55')](_0x74daa4[_0x185e('0x49')][_0x185e('0x55')]);_0x489b25[_0x185e('0x56')]=qs['filters'](_[_0x185e('0x57')](_0x74daa4[_0x185e('0x49')],_0x27227b['filters']),_0x164c9f);if(_0x74daa4[_0x185e('0x49')][_0x185e('0x58')]){_0x489b25['where']=_[_0x185e('0x59')](_0x489b25[_0x185e('0x56')],{'$or':_[_0x185e('0x43')](_0x164c9f,function(_0x3fca43){if(_0x3fca43[_0x185e('0x47')]!==_0x185e('0x5a')){var _0x384c10={};_0x384c10[_0x3fca43['name']]={'$like':'%'+_0x74daa4[_0x185e('0x49')][_0x185e('0x58')]+'%'};return _0x384c10;}})});}_0x489b25=_[_0x185e('0x59')]({},_0x489b25,_0x74daa4[_0x185e('0x5b')]);var _0x55747={'where':_0x489b25[_0x185e('0x56')]};return db[_0x185e('0x44')][_0x185e('0x1f')](_0x55747)['then'](function(_0x592125){_0x9df834[_0x185e('0x1f')]=_0x592125;if(_0x74daa4[_0x185e('0x49')][_0x185e('0x5c')]){_0x489b25[_0x185e('0x5d')]=[{'all':!![]}];}return db[_0x185e('0x44')]['findAll'](_0x489b25);})[_0x185e('0x11')](function(_0x3958df){_0x9df834[_0x185e('0x5e')]=_0x3958df;return _0x9df834;})[_0x185e('0x11')](respondWithFilteredResult(_0x534311,_0x489b25))[_0x185e('0x5f')](handleError(_0x534311,null));};exports[_0x185e('0x60')]=function(_0xd5e859,_0x73181f){var _0x2344ed={'raw':![],'where':{'id':_0xd5e859[_0x185e('0x61')]['id']},'include':[{'model':db[_0x185e('0x40')],'as':'Imap'},{'model':db[_0x185e('0x41')],'as':_0x185e('0x3e')},{'model':db[_0x185e('0x42')],'as':_0x185e('0x62')}]},_0x27f18e={};_0x27f18e['model']=_[_0x185e('0x4a')](db[_0x185e('0x44')][_0x185e('0x45')]);_0x27f18e[_0x185e('0x49')]=_[_0x185e('0x4a')](_0xd5e859[_0x185e('0x49')]);_0x27f18e[_0x185e('0x4b')]=_['intersection'](_0x27f18e[_0x185e('0x4d')],_0x27f18e['query']);_0x2344ed[_0x185e('0x4e')]=_[_0x185e('0x4c')](_0x27f18e[_0x185e('0x4d')],qs[_0x185e('0x4f')](_0xd5e859[_0x185e('0x49')][_0x185e('0x4f')]));_0x2344ed[_0x185e('0x4e')]=_0x2344ed[_0x185e('0x4e')][_0x185e('0x50')]?_0x2344ed[_0x185e('0x4e')]:_0x27f18e[_0x185e('0x4d')];if(_0xd5e859[_0x185e('0x49')][_0x185e('0x5c')]){_0x2344ed[_0x185e('0x5d')]=[{'all':!![]}];}_0x2344ed=_['merge']({},_0x2344ed,_0xd5e859['options']);return db['MailAccount'][_0x185e('0x63')](_0x2344ed)[_0x185e('0x11')](handleEntityNotFound(_0x73181f,null))[_0x185e('0x11')](respondWithResult(_0x73181f,null))['catch'](handleError(_0x73181f,null));};exports[_0x185e('0x64')]=function(_0xf94e57,_0x274e48){if(_0xf94e57[_0x185e('0x65')]['id']){delete _0xf94e57['body']['id'];}var _0x4b56c4=_0xf94e57[_0x185e('0x65')][_0x185e('0x66')]===_0x185e('0x67')?null:_0xf94e57[_0x185e('0x65')][_0x185e('0x66')];var _0x4cc046=_0xf94e57[_0x185e('0x65')][_0x185e('0x3d')]||{};var _0x5b21ce=_0xf94e57[_0x185e('0x65')]['Smtp']||{};if(_0x4b56c4){_0x4cc046[_0x185e('0x38')]=getImapHost(_0x4b56c4);_0x4cc046[_0x185e('0x39')]=0x3e1;_0x5b21ce[_0x185e('0x38')]=getSmtpHost(_0x4b56c4);_0x5b21ce[_0x185e('0x39')]=0x24b;_0x5b21ce['secure']=![];}if(_0x5b21ce[_0x185e('0x36')]){_0x5b21ce[_0x185e('0x3a')]=![];}else{_0x5b21ce[_0x185e('0x37')]=null;}if(!_0x4cc046[_0x185e('0x36')])_0x4cc046['CloudProviderId']=null;_0xf94e57[_0x185e('0x65')][_0x185e('0x3d')]=_0x4cc046;_0xf94e57[_0x185e('0x65')]['Smtp']=_0x5b21ce;return db[_0x185e('0x44')][_0x185e('0x63')]({'where':{'id':_0xf94e57['params']['id']},'include':[{'model':db[_0x185e('0x40')],'as':_0x185e('0x3d')},{'model':db[_0x185e('0x41')],'as':_0x185e('0x3e')},{'model':db[_0x185e('0x42')],'as':_0x185e('0x62')}]})[_0x185e('0x11')](handleEntityNotFound(_0x274e48,null))[_0x185e('0x11')](function(_0x3e8497){if(!_0x3e8497)throw new Error(_0x185e('0x68'));if(_0x3e8497[_0x185e('0x3b')])delete _0xf94e57[_0x185e('0x65')]['Imap'];return _0x3e8497;})['then'](saveUpdates(_0xf94e57[_0x185e('0x65')],null))[_0x185e('0x11')](function(_0x3afdf8){if(!_0xf94e57[_0x185e('0x65')]['Imap'])return _0x3afdf8;return db['MailServerIn'][_0x185e('0x64')](_0xf94e57['body']['Imap'],{'where':{'MailAccountId':_0x3afdf8['id']}})[_0x185e('0x11')](function(){return _0x3afdf8;});})[_0x185e('0x11')](function(_0x2d70ee){if(!_0xf94e57['body'][_0x185e('0x3e')])return _0x2d70ee;return db['MailServerOut'][_0x185e('0x64')](_0xf94e57[_0x185e('0x65')][_0x185e('0x3e')],{'where':{'MailAccountId':_0x2d70ee['id']}})[_0x185e('0x11')](function(){return _0x2d70ee;});})[_0x185e('0x11')](respondWithResult(_0x274e48,null))[_0x185e('0x5f')](handleError(_0x274e48,null));};exports[_0x185e('0x69')]=function(_0x4ff1f3,_0xfe907b){return db['MailAccount'][_0x185e('0x69')]()['then'](respondWithResult(_0xfe907b,null))['catch'](handleError(_0xfe907b,null));};exports[_0x185e('0x6a')]=function(_0x14321d,_0x5f49bb){if(_0x14321d['body']['id']){delete _0x14321d['body']['id'];}return db[_0x185e('0x44')][_0x185e('0x63')]({'where':{'id':_0x14321d[_0x185e('0x61')]['id']}})[_0x185e('0x11')](handleEntityNotFound(_0x5f49bb,null))[_0x185e('0x11')](function(_0x1ad134){if(_0x1ad134){_0x14321d[_0x185e('0x65')][_0x185e('0x6b')]=_0x1ad134['id'];return db[_0x185e('0x6c')][_0x185e('0x6d')](_0x14321d[_0x185e('0x65')]);}})['then'](respondWithResult(_0x5f49bb,null))['catch'](handleError(_0x5f49bb,null));};exports[_0x185e('0x6e')]=function(_0x12a0e2,_0x5dab4){var _0x2bd35c={'raw':![],'where':{}};var _0x25cf44={};var _0x3f5be1={'count':0x0,'rows':[]};return db['MailAccount'][_0x185e('0x6f')]({'where':{'id':_0x12a0e2[_0x185e('0x61')]['id']}})['then'](handleEntityNotFound(_0x5dab4,null))['then'](function(_0x58e9b2){if(_0x58e9b2){_0x25cf44['model']=_['keys'](db[_0x185e('0x6c')][_0x185e('0x45')]);_0x25cf44[_0x185e('0x49')]=_[_0x185e('0x4a')](_0x12a0e2['query']);_0x25cf44['filters']=_['intersection'](_0x25cf44[_0x185e('0x4d')],_0x25cf44[_0x185e('0x49')]);_0x2bd35c['attributes']=_['intersection'](_0x25cf44[_0x185e('0x4d')],qs[_0x185e('0x4f')](_0x12a0e2[_0x185e('0x49')]['fields']));_0x2bd35c[_0x185e('0x4e')]=_0x2bd35c[_0x185e('0x4e')][_0x185e('0x50')]?_0x2bd35c['attributes']:_0x25cf44[_0x185e('0x4d')];if(!_0x12a0e2['query'][_0x185e('0x51')](_0x185e('0x52'))){_0x2bd35c['limit']=qs[_0x185e('0x1e')](_0x12a0e2[_0x185e('0x49')][_0x185e('0x1e')]);_0x2bd35c['offset']=qs[_0x185e('0x53')](_0x12a0e2[_0x185e('0x49')][_0x185e('0x53')]);}_0x2bd35c[_0x185e('0x54')]=qs[_0x185e('0x55')](_0x12a0e2[_0x185e('0x49')][_0x185e('0x55')]);_0x2bd35c[_0x185e('0x56')]=qs[_0x185e('0x4b')](_[_0x185e('0x57')](_0x12a0e2['query'],_0x25cf44['filters']));_0x2bd35c[_0x185e('0x56')][_0x185e('0x6b')]=_0x58e9b2['id'];if(_0x12a0e2[_0x185e('0x49')][_0x185e('0x58')]){_0x2bd35c[_0x185e('0x56')]=_[_0x185e('0x59')](_0x2bd35c[_0x185e('0x56')],{'$or':_[_0x185e('0x43')](_0x2bd35c[_0x185e('0x4e')],function(_0x1e78b7){var _0x4a73f8={};_0x4a73f8[_0x1e78b7]={'$like':'%'+_0x12a0e2[_0x185e('0x49')][_0x185e('0x58')]+'%'};return _0x4a73f8;})});}_0x2bd35c=_['merge']({},_0x2bd35c,_0x12a0e2['options']);return db[_0x185e('0x6c')][_0x185e('0x1f')]({'where':_0x2bd35c['where']})[_0x185e('0x11')](function(_0x5cd230){_0x3f5be1[_0x185e('0x1f')]=_0x5cd230;if(_0x12a0e2[_0x185e('0x49')][_0x185e('0x5c')]){_0x2bd35c['include']=[{'all':!![]}];}return db[_0x185e('0x6c')]['findAll'](_0x2bd35c);})[_0x185e('0x11')](function(_0x4e1c21){_0x3f5be1[_0x185e('0x5e')]=_0x4e1c21;return _0x3f5be1;});}})[_0x185e('0x11')](respondWithFilteredResult(_0x5dab4,_0x2bd35c))['catch'](handleError(_0x5dab4,null));};exports[_0x185e('0x70')]=function(_0x4ff275,_0x531a96){return db[_0x185e('0x44')][_0x185e('0x63')]({'where':{'id':_0x4ff275[_0x185e('0x61')]['id']}})[_0x185e('0x11')](handleEntityNotFound(_0x531a96,null))[_0x185e('0x11')](function(_0x227c6c){if(_0x227c6c){return _0x227c6c[_0x185e('0x70')](_0x4ff275[_0x185e('0x49')][_0x185e('0x71')]);}})[_0x185e('0x11')](respondWithStatusCode(_0x531a96,null))['catch'](handleError(_0x531a96,null));};exports[_0x185e('0x72')]=function(_0x375d72,_0x1640d3){if(_0x375d72[_0x185e('0x65')]['id']){delete _0x375d72['body']['id'];}return db[_0x185e('0x44')][_0x185e('0x63')]({'where':{'id':_0x375d72[_0x185e('0x61')]['id']}})[_0x185e('0x11')](handleEntityNotFound(_0x1640d3,null))[_0x185e('0x11')](function(_0x2583b6){if(_0x2583b6){_0x375d72[_0x185e('0x65')]['MailAccountId']=_0x2583b6['id'];return db[_0x185e('0x73')][_0x185e('0x6d')](_0x375d72[_0x185e('0x65')]);}})[_0x185e('0x11')](respondWithResult(_0x1640d3,null))[_0x185e('0x5f')](handleError(_0x1640d3,null));};exports['getAnswers']=function(_0x12aa99,_0x223b5d){var _0x56405f={'raw':![],'where':{}};var _0x21f6ed={};var _0x2bff15={'count':0x0,'rows':[]};return db[_0x185e('0x44')]['findOne']({'where':{'id':_0x12aa99[_0x185e('0x61')]['id']}})[_0x185e('0x11')](handleEntityNotFound(_0x223b5d,null))[_0x185e('0x11')](function(_0x579d1e){if(_0x579d1e){_0x21f6ed[_0x185e('0x4d')]=_[_0x185e('0x4a')](db[_0x185e('0x73')]['rawAttributes']);_0x21f6ed['query']=_[_0x185e('0x4a')](_0x12aa99[_0x185e('0x49')]);_0x21f6ed['filters']=_[_0x185e('0x4c')](_0x21f6ed[_0x185e('0x4d')],_0x21f6ed[_0x185e('0x49')]);_0x56405f[_0x185e('0x4e')]=_[_0x185e('0x4c')](_0x21f6ed['model'],qs[_0x185e('0x4f')](_0x12aa99['query'][_0x185e('0x4f')]));_0x56405f[_0x185e('0x4e')]=_0x56405f[_0x185e('0x4e')][_0x185e('0x50')]?_0x56405f[_0x185e('0x4e')]:_0x21f6ed['model'];if(!_0x12aa99['query'][_0x185e('0x51')](_0x185e('0x52'))){_0x56405f[_0x185e('0x1e')]=qs[_0x185e('0x1e')](_0x12aa99[_0x185e('0x49')][_0x185e('0x1e')]);_0x56405f[_0x185e('0x53')]=qs['offset'](_0x12aa99[_0x185e('0x49')][_0x185e('0x53')]);}_0x56405f[_0x185e('0x54')]=qs[_0x185e('0x55')](_0x12aa99['query']['sort']);_0x56405f[_0x185e('0x56')]=qs['filters'](_[_0x185e('0x57')](_0x12aa99[_0x185e('0x49')],_0x21f6ed[_0x185e('0x4b')]));_0x56405f[_0x185e('0x56')][_0x185e('0x6b')]=_0x579d1e['id'];if(_0x12aa99['query'][_0x185e('0x58')]){_0x56405f[_0x185e('0x56')]=_[_0x185e('0x59')](_0x56405f['where'],{'$or':_[_0x185e('0x43')](_0x56405f[_0x185e('0x4e')],function(_0x1daffa){var _0x48ee69={};_0x48ee69[_0x1daffa]={'$like':'%'+_0x12aa99['query']['filter']+'%'};return _0x48ee69;})});}_0x56405f=_[_0x185e('0x59')]({},_0x56405f,_0x12aa99[_0x185e('0x5b')]);return db[_0x185e('0x73')][_0x185e('0x1f')]({'where':_0x56405f[_0x185e('0x56')]})[_0x185e('0x11')](function(_0x3c9a1d){_0x2bff15[_0x185e('0x1f')]=_0x3c9a1d;if(_0x12aa99['query']['includeAll']){_0x56405f[_0x185e('0x5d')]=[{'all':!![]}];}return db[_0x185e('0x73')]['findAll'](_0x56405f);})[_0x185e('0x11')](function(_0x3b56d2){_0x2bff15[_0x185e('0x5e')]=_0x3b56d2;return _0x2bff15;});}})[_0x185e('0x11')](respondWithFilteredResult(_0x223b5d,_0x56405f))[_0x185e('0x5f')](handleError(_0x223b5d,null));};exports[_0x185e('0x74')]=function(_0x1172b1,_0x3cdace){return db[_0x185e('0x44')][_0x185e('0x63')]({'where':{'id':_0x1172b1[_0x185e('0x61')]['id']}})['then'](handleEntityNotFound(_0x3cdace,null))[_0x185e('0x11')](function(_0x5160a7){if(_0x5160a7){return _0x5160a7['removeAnswers'](_0x1172b1[_0x185e('0x49')][_0x185e('0x71')]);}})[_0x185e('0x11')](respondWithStatusCode(_0x3cdace,null))['catch'](handleError(_0x3cdace,null));};exports[_0x185e('0x6d')]=function(_0x2ce86d,_0x2f74b9){var _0x22d7b2={'name':_0x2ce86d[_0x185e('0x65')][_0x185e('0x27')],'key':_0x2ce86d['body'][_0x185e('0x48')],'provider':_0x2ce86d['body'][_0x185e('0x66')]===_0x185e('0x67')?null:_0x2ce86d[_0x185e('0x65')][_0x185e('0x66')],'email':_0x2ce86d[_0x185e('0x65')][_0x185e('0x75')],'ListId':_0x2ce86d['body'][_0x185e('0x76')],'active':!_[_0x185e('0x77')](_0x2ce86d[_0x185e('0x65')][_0x185e('0x78')])?_0x2ce86d[_0x185e('0x65')]['active']:!![],'description':_0x2ce86d[_0x185e('0x65')]['description']||null};var _0xb9deb0=getAuthenticationOptions(_0x22d7b2[_0x185e('0x66')],_0x2ce86d['body']);_0x22d7b2['Imap']=_0xb9deb0[_0x185e('0x3d')];_0x22d7b2[_0x185e('0x3e')]=_0xb9deb0[_0x185e('0x3e')];return db['MailAccount'][_0x185e('0x6d')](_0x22d7b2,{'include':[{'model':db['MailServerOut'],'as':_0x185e('0x3e')},{'model':db[_0x185e('0x40')],'as':_0x185e('0x3d')}]})[_0x185e('0x11')](function(_0x2522dc){var _0xb84357=_0x2ce86d[_0x185e('0x32')][_0x185e('0x23')]({'plain':!![]});if(!_0xb84357)throw new Error(_0x185e('0x79'));if(_0xb84357['role']==='user'){var _0x510c0d=_0x2522dc['get']({'plain':!![]});return db[_0x185e('0x7a')][_0x185e('0x63')]({'where':{'name':_0x185e('0x7b'),'userProfileId':_0xb84357[_0x185e('0x7c')]},'raw':!![]})[_0x185e('0x11')](function(_0x1c5499){if(_0x1c5499&&_0x1c5499['autoAssociation']===0x0){return db['UserProfileResource'][_0x185e('0x6d')]({'name':_0x510c0d['name'],'resourceId':_0x510c0d['id'],'type':_0x1c5499[_0x185e('0x27')],'sectionId':_0x1c5499['id']},{})['then'](function(){return _0x2522dc;});}else{return _0x2522dc;}})['catch'](function(_0x4eaa7d){logger[_0x185e('0x16')](_0x185e('0x7d'),_0x4eaa7d);throw _0x4eaa7d;});}return _0x2522dc;})[_0x185e('0x11')](respondWithResult(_0x2f74b9,0xc9))['catch'](handleError(_0x2f74b9,null));};exports[_0x185e('0x7e')]=function(_0x39e3b9,_0x19cfea){return db[_0x185e('0x44')][_0x185e('0x6f')]({'where':{'id':_0x39e3b9['params']['id']}})[_0x185e('0x11')](handleEntityNotFound(_0x19cfea,null))[_0x185e('0x11')](function(_0x5dcc28){if(_0x5dcc28){return _0x5dcc28[_0x185e('0x7e')]();}return null;})['then'](respondWithResult(_0x19cfea,null))[_0x185e('0x5f')](handleError(_0x19cfea,null));};exports['addImap']=function(_0x294e74,_0x1cc52){if(_0x294e74[_0x185e('0x65')]['id']){delete _0x294e74['body']['id'];}return db[_0x185e('0x44')][_0x185e('0x63')]({'where':{'id':_0x294e74[_0x185e('0x61')]['id']}})['then'](handleEntityNotFound(_0x1cc52,null))['then'](function(_0xfb1db){if(_0xfb1db){_0x294e74[_0x185e('0x65')][_0x185e('0x6b')]=_0xfb1db['id'];return db[_0x185e('0x40')][_0x185e('0x6d')](_0x294e74['body']);}})[_0x185e('0x11')](respondWithResult(_0x1cc52,null))['catch'](handleError(_0x1cc52,null));};exports[_0x185e('0x7f')]=function(_0x53d21b,_0x544a20){return db[_0x185e('0x44')][_0x185e('0x6f')]({'where':{'id':_0x53d21b[_0x185e('0x61')]['id']}})[_0x185e('0x11')](handleEntityNotFound(_0x544a20,null))[_0x185e('0x11')](function(_0x3a3f91){if(_0x3a3f91){return _0x3a3f91[_0x185e('0x80')](null);}return null;})[_0x185e('0x11')](respondWithStatusCode(_0x544a20,null))[_0x185e('0x5f')](handleError(_0x544a20,null));};exports['getSmtp']=function(_0xf60987,_0x577040){return db[_0x185e('0x44')][_0x185e('0x6f')]({'where':{'id':_0xf60987[_0x185e('0x61')]['id']}})['then'](handleEntityNotFound(_0x577040,null))['then'](function(_0x12f5fb){if(_0x12f5fb){return _0x12f5fb['getSmtp']();}return null;})[_0x185e('0x11')](respondWithResult(_0x577040,null))['catch'](handleError(_0x577040,null));};exports[_0x185e('0x81')]=function(_0x5a8c1e,_0x538150){if(_0x5a8c1e[_0x185e('0x65')]['id']){delete _0x5a8c1e['body']['id'];}return db[_0x185e('0x44')][_0x185e('0x63')]({'where':{'id':_0x5a8c1e['params']['id']}})[_0x185e('0x11')](handleEntityNotFound(_0x538150,null))[_0x185e('0x11')](function(_0x16ebb9){if(_0x16ebb9){_0x5a8c1e[_0x185e('0x65')]['MailAccountId']=_0x16ebb9['id'];return db[_0x185e('0x41')][_0x185e('0x6d')](_0x5a8c1e[_0x185e('0x65')]);}})[_0x185e('0x11')](respondWithResult(_0x538150,null))[_0x185e('0x5f')](handleError(_0x538150,null));};exports[_0x185e('0x82')]=function(_0x55cfcc,_0x4a59ca){return db[_0x185e('0x44')][_0x185e('0x6f')]({'where':{'id':_0x55cfcc[_0x185e('0x61')]['id']}})[_0x185e('0x11')](handleEntityNotFound(_0x4a59ca,null))[_0x185e('0x11')](function(_0x1bd0eb){if(_0x1bd0eb){return _0x1bd0eb['setSmtp'](null);}return null;})['then'](respondWithStatusCode(_0x4a59ca,null))['catch'](handleError(_0x4a59ca,null));};exports['addInteraction']=function(_0x212174,_0x2d6135){return db[_0x185e('0x83')]['find']({'where':{'id':_0x212174[_0x185e('0x61')]['id']}})[_0x185e('0x11')](handleEntityNotFound(_0x2d6135,null))['then'](function(_0x12db9d){if(_0x12db9d){return _0x12db9d[_0x185e('0x84')](_0x212174[_0x185e('0x65')]['ids'],_[_0x185e('0x85')](_0x212174['body'],[_0x185e('0x71'),'id'])||{});}})['then'](respondWithResult(_0x2d6135,null))[_0x185e('0x5f')](handleError(_0x2d6135,null));};exports[_0x185e('0x86')]=function(_0x359f42,_0x107971){var _0x14cb71={'raw':![],'where':{}};var _0x550d3f={};var _0x57022e={'count':0x0,'rows':[]};return db[_0x185e('0x44')][_0x185e('0x6f')]({'where':{'id':_0x359f42[_0x185e('0x61')]['id']}})[_0x185e('0x11')](handleEntityNotFound(_0x107971,null))['then'](function(_0x22d5b6){if(_0x22d5b6){_0x550d3f['model']=_['keys'](db['MailInteraction']['rawAttributes']);_0x550d3f[_0x185e('0x49')]=_[_0x185e('0x4a')](_0x359f42[_0x185e('0x49')]);_0x550d3f['filters']=_[_0x185e('0x4c')](_0x550d3f[_0x185e('0x4d')],_0x550d3f[_0x185e('0x49')]);_0x14cb71[_0x185e('0x4e')]=_['intersection'](_0x550d3f[_0x185e('0x4d')],qs['fields'](_0x359f42[_0x185e('0x49')][_0x185e('0x4f')]));_0x14cb71['attributes']=_0x14cb71[_0x185e('0x4e')]['length']?_0x14cb71[_0x185e('0x4e')]:_0x550d3f['model'];if(!_0x359f42[_0x185e('0x49')]['hasOwnProperty'](_0x185e('0x52'))){_0x14cb71['limit']=qs[_0x185e('0x1e')](_0x359f42['query'][_0x185e('0x1e')]);_0x14cb71['offset']=qs['offset'](_0x359f42['query'][_0x185e('0x53')]);}_0x14cb71[_0x185e('0x54')]=qs[_0x185e('0x55')](_0x359f42[_0x185e('0x49')][_0x185e('0x55')]);_0x14cb71[_0x185e('0x56')]=qs[_0x185e('0x4b')](_[_0x185e('0x57')](_0x359f42[_0x185e('0x49')],_0x550d3f[_0x185e('0x4b')]));_0x14cb71[_0x185e('0x56')][_0x185e('0x6b')]=_0x22d5b6['id'];if(_0x359f42[_0x185e('0x49')][_0x185e('0x58')]){_0x14cb71[_0x185e('0x56')]=_['merge'](_0x14cb71['where'],{'$or':_[_0x185e('0x43')](_0x14cb71['attributes'],function(_0xb1dc3e){var _0x5bb252={};_0x5bb252[_0xb1dc3e]={'$like':'%'+_0x359f42[_0x185e('0x49')][_0x185e('0x58')]+'%'};return _0x5bb252;})});}_0x14cb71=_[_0x185e('0x59')]({},_0x14cb71,_0x359f42[_0x185e('0x5b')]);return db[_0x185e('0x83')]['count']({'where':_0x14cb71[_0x185e('0x56')]})[_0x185e('0x11')](function(_0x41c8df){_0x57022e[_0x185e('0x1f')]=_0x41c8df;if(_0x359f42[_0x185e('0x49')]['includeAll']){_0x14cb71[_0x185e('0x5d')]=[{'model':db['CmContact'],'as':'Contact','required':![]},{'model':db[_0x185e('0x87')],'as':_0x185e('0x88'),'attributes':[_0x185e('0x27'),_0x185e('0x89'),'internal'],'required':![]},{'model':db['Tag'],'as':_0x185e('0x8a'),'attributes':['id',_0x185e('0x27'),_0x185e('0x8b')],'where':_0x359f42[_0x185e('0x49')][_0x185e('0x8c')]?{'id':_0x359f42['query'][_0x185e('0x8c')]}:undefined,'required':_0x359f42['query'][_0x185e('0x8c')]?!![]:![]}];}return db[_0x185e('0x83')][_0x185e('0x8d')](_0x14cb71);})[_0x185e('0x11')](function(_0x31be71){_0x57022e['rows']=_0x31be71;return _0x57022e;});}})[_0x185e('0x11')](respondWithFilteredResult(_0x107971,_0x14cb71))[_0x185e('0x5f')](handleError(_0x107971,null));};exports[_0x185e('0x8e')]=function addApplications(_0x49788e,_0x198507){var _0x462c81=_0x49788e['params']['id'];var _0xe9e09d=_0x49788e[_0x185e('0x65')];var _0x6ef12e=0xc8;var _0x202813=null;return db[_0x185e('0x8f')][_0x185e('0x90')]({'isolationLevel':db[_0x185e('0x8f')]['Transaction'][_0x185e('0x91')][_0x185e('0x92')]},function(_0x1ac310){return db['MailAccount'][_0x185e('0x6f')]({'where':{'id':_0x462c81},'transaction':_0x1ac310})[_0x185e('0x11')](function(_0x29a9f0){if(_0x29a9f0){return db['MailApplication'][_0x185e('0x22')]({'where':{'MailAccountId':_0x462c81},'transaction':_0x1ac310})[_0x185e('0x11')](function(){var _0xd20726=_[_0x185e('0x43')](_0xe9e09d,function(_0x13b06d){_0x13b06d['MailAccountId']=_0x462c81;return _0x13b06d;});return db[_0x185e('0x93')][_0x185e('0x94')](_0xd20726,{'transaction':_0x1ac310});});}else{_0x6ef12e=0x194;_0x202813=[];}});})[_0x185e('0x11')](function(){if(_0x6ef12e!==0x194){return db['MailApplication'][_0x185e('0x95')]({'where':{'MailAccountId':_0x462c81},'order':'priority'})[_0x185e('0x11')](function(_0x31a285){_0x202813=_0x31a285;});}})['catch'](function(_0xd210e0){_0x6ef12e=0x1f4;logger[_0x185e('0x16')](_0xd210e0['stack']);if(_0xd210e0['name']){delete _0xd210e0[_0x185e('0x27')];}_0x202813=_0xd210e0;})[_0x185e('0x96')](function(){if(_0x202813===null){_0x198507[_0x185e('0x1a')](_0x6ef12e);}else{if(_0x6ef12e===0x1f4){_0x198507[_0x185e('0x1b')](_0x6ef12e)[_0x185e('0x97')](_0x202813);}else{_0x198507[_0x185e('0x1b')](_0x6ef12e)[_0x185e('0x1c')](_0x202813);}}});};exports[_0x185e('0x98')]=function(_0x234eed,_0x3977ad){var _0x591ba1={};var _0x186945={};var _0x78880e;var _0x3bf1da;return db[_0x185e('0x44')][_0x185e('0x6f')]({'where':{'id':_0x234eed[_0x185e('0x61')]['id']}})['then'](handleEntityNotFound(_0x3977ad,null))[_0x185e('0x11')](function(_0x5ad0fa){if(_0x5ad0fa){_0x78880e=_0x5ad0fa;_0x186945[_0x185e('0x4d')]=_[_0x185e('0x4a')](db['MailApplication'][_0x185e('0x45')]);_0x186945[_0x185e('0x49')]=_[_0x185e('0x4a')](_0x234eed[_0x185e('0x49')]);_0x186945[_0x185e('0x4b')]=_[_0x185e('0x4c')](_0x186945[_0x185e('0x4d')],_0x186945[_0x185e('0x49')]);_0x591ba1[_0x185e('0x4e')]=_[_0x185e('0x4c')](_0x186945[_0x185e('0x4d')],qs[_0x185e('0x4f')](_0x234eed['query'][_0x185e('0x4f')]));_0x591ba1[_0x185e('0x4e')]=_0x591ba1[_0x185e('0x4e')][_0x185e('0x50')]?_0x591ba1[_0x185e('0x4e')]:_0x186945[_0x185e('0x4d')];_0x591ba1['order']=qs[_0x185e('0x55')](_0x234eed[_0x185e('0x49')][_0x185e('0x55')]);_0x591ba1[_0x185e('0x56')]=qs[_0x185e('0x4b')](_[_0x185e('0x57')](_0x234eed[_0x185e('0x49')],_0x186945[_0x185e('0x4b')]));if(_0x234eed[_0x185e('0x49')][_0x185e('0x58')]){_0x591ba1[_0x185e('0x56')]=_[_0x185e('0x59')](_0x591ba1[_0x185e('0x56')],{'$or':_[_0x185e('0x43')](_0x591ba1[_0x185e('0x4e')],function(_0xfc558b){var _0x45a026={};_0x45a026[_0xfc558b]={'$like':'%'+_0x234eed['query'][_0x185e('0x58')]+'%'};return _0x45a026;})});}_0x591ba1=_['merge']({},_0x591ba1,_0x234eed[_0x185e('0x5b')]);return _0x78880e[_0x185e('0x98')](_0x591ba1);}})[_0x185e('0x11')](function(_0x117d03){if(_0x117d03){_0x3bf1da=_0x117d03['length'];if(!_0x234eed[_0x185e('0x49')][_0x185e('0x51')](_0x185e('0x52'))){_0x591ba1['limit']=qs[_0x185e('0x1e')](_0x234eed[_0x185e('0x49')][_0x185e('0x1e')]);_0x591ba1[_0x185e('0x53')]=qs[_0x185e('0x53')](_0x234eed[_0x185e('0x49')][_0x185e('0x53')]);}return _0x78880e['getApplications'](_0x591ba1);}})[_0x185e('0x11')](function(_0x2be3a9){if(_0x2be3a9){return _0x2be3a9?{'count':_0x3bf1da,'rows':_0x2be3a9}:null;}})[_0x185e('0x11')](respondWithResult(_0x3977ad,null))[_0x185e('0x5f')](handleError(_0x3977ad,null));};exports[_0x185e('0x99')]=function(_0x3077ca,_0x156f48){var _0x12b428={'raw':!![],'where':{}};var _0x1528f4={};var _0x3d44bf={'count':0x0,'rows':[]};return db['MailAccount'][_0x185e('0x6f')]({'where':{'id':_0x3077ca[_0x185e('0x61')]['id']}})[_0x185e('0x11')](handleEntityNotFound(_0x156f48,null))['then'](function(_0x33c021){if(_0x33c021){_0x1528f4[_0x185e('0x4d')]=_['keys'](db[_0x185e('0x9a')][_0x185e('0x45')]);_0x1528f4[_0x185e('0x49')]=_[_0x185e('0x4a')](_0x3077ca[_0x185e('0x49')]);_0x1528f4[_0x185e('0x4b')]=_[_0x185e('0x4c')](_0x1528f4['model'],_0x1528f4['query']);_0x12b428['attributes']=_['intersection'](_0x1528f4['model'],qs[_0x185e('0x4f')](_0x3077ca[_0x185e('0x49')][_0x185e('0x4f')]));_0x12b428['attributes']=_0x12b428[_0x185e('0x4e')]['length']?_0x12b428[_0x185e('0x4e')]:_0x1528f4['model'];if(!_0x3077ca[_0x185e('0x49')][_0x185e('0x51')](_0x185e('0x52'))){_0x12b428[_0x185e('0x1e')]=qs[_0x185e('0x1e')](_0x3077ca[_0x185e('0x49')]['limit']);_0x12b428[_0x185e('0x53')]=qs[_0x185e('0x53')](_0x3077ca[_0x185e('0x49')]['offset']);}_0x12b428['order']=qs[_0x185e('0x55')](_0x3077ca[_0x185e('0x49')]['sort']);_0x12b428[_0x185e('0x56')]=qs[_0x185e('0x4b')](_[_0x185e('0x57')](_0x3077ca[_0x185e('0x49')],_0x1528f4[_0x185e('0x4b')]));_0x12b428[_0x185e('0x56')][_0x185e('0x6b')]=_0x33c021['id'];if(_0x3077ca[_0x185e('0x49')][_0x185e('0x58')]){_0x12b428['where']=_[_0x185e('0x59')](_0x12b428[_0x185e('0x56')],{'$or':_[_0x185e('0x43')](_0x12b428[_0x185e('0x4e')],function(_0x1599c1){var _0x377bbc={};_0x377bbc[_0x1599c1]={'$like':'%'+_0x3077ca['query'][_0x185e('0x58')]+'%'};return _0x377bbc;})});}if(_0x3077ca[_0x185e('0x49')][_0x185e('0x9b')]){var _0x5b61b2=_0x3077ca[_0x185e('0x49')][_0x185e('0x9b')][_0x185e('0x9c')](',');var _0x311d08={};_0x311d08[_0x5b61b2[0x0]]={'$gte':moment(_0x5b61b2[0x1])[_0x185e('0x9d')](_0x185e('0x9e'))};_0x12b428[_0x185e('0x56')]=_['merge'](_0x12b428[_0x185e('0x56')],_0x311d08);}_0x12b428=_[_0x185e('0x59')]({},_0x12b428,_0x3077ca[_0x185e('0x5b')]);return db[_0x185e('0x9a')][_0x185e('0x1f')]({'where':_0x12b428[_0x185e('0x56')]})[_0x185e('0x11')](function(_0x230f3e){_0x3d44bf[_0x185e('0x1f')]=_0x230f3e;if(_0x3077ca[_0x185e('0x49')]['includeAll']){_0x12b428[_0x185e('0x5d')]=[{'all':!![]}];}return db['MailMessage'][_0x185e('0x8d')](_0x12b428);})['then'](function(_0x11c9e2){if(_0x3077ca[_0x185e('0x49')][_0x185e('0x9f')]===_0x185e('0xa0')){for(var _0x382e9d=0x0;_0x382e9d<_0x11c9e2[_0x185e('0x50')];_0x382e9d++){_0x11c9e2[_0x382e9d][_0x185e('0x65')]=juice(_0x11c9e2[_0x382e9d][_0x185e('0x65')]);}}_0x3d44bf[_0x185e('0x5e')]=_0x11c9e2;return _0x3d44bf;});}})['then'](respondWithFilteredResult(_0x156f48,_0x12b428))[_0x185e('0x5f')](handleError(_0x156f48,null));};exports['send']=function(_0x5852e3,_0x19eb7b){var _0x54f38a,_0x4f5907={},_0x1e87f3;if(_0x5852e3[_0x185e('0x65')]['to']){_0x1e87f3=_0x5852e3[_0x185e('0x65')]['to'][_0x185e('0x9c')](',')[0x0];}return db[_0x185e('0x44')][_0x185e('0x63')]({'where':{'id':_0x5852e3['params']['id']},'include':[{'model':db[_0x185e('0xa1')],'as':_0x185e('0xa2'),'include':[{'model':db[_0x185e('0xa3')],'as':_0x185e('0xa4'),'where':{'email':_0x1e87f3},'limit':0x1,'order':[[_0x185e('0xa5'),_0x185e('0xa6')]]}]},{'model':db[_0x185e('0x41')],'as':_0x185e('0x3e'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':_0x185e('0xa7'),'raw':!![]}]}]})[_0x185e('0x11')](handleEntityNotFound(_0x19eb7b,null))[_0x185e('0x11')](function(_0x567e48){if(!_0x567e48)return;_0x54f38a=_0x567e48;if(!_0x567e48[_0x185e('0x3e')])throw new Error(_0x185e('0xa8'));if(_[_0x185e('0x77')](_0x5852e3['body'][_0x185e('0xa9')])){_0x5852e3[_0x185e('0x65')][_0x185e('0xa9')]=util[_0x185e('0x9d')](_0x185e('0xaa'),_0x567e48['name'],_0x567e48['email']||_0x567e48[_0x185e('0x3e')]['user']);}if(_0x5852e3[_0x185e('0x65')][_0x185e('0xab')]&&_0x5852e3[_0x185e('0x65')][_0x185e('0xab')][_0x185e('0x50')]){for(var _0x54a754=0x0;_0x54a754<_0x5852e3[_0x185e('0x65')]['attachments']['length'];_0x54a754+=0x1){_0x5852e3[_0x185e('0x65')][_0x185e('0xab')][_0x54a754]={'filename':_0x5852e3[_0x185e('0x65')]['attachments'][_0x54a754][_0x185e('0x27')],'path':path['join'](config['root'],_0x185e('0xac'),_0x5852e3[_0x185e('0x65')][_0x185e('0xab')][_0x54a754]['basename'])};}}var _0x4e16d6=_0x567e48[_0x185e('0xad')]();return respondWithRpcPromise(_0x185e('0xae'),_0x185e('0xaf'),{'account':_0x4e16d6,'message':_0x5852e3[_0x185e('0x65')]});})['then'](function(_0x1c1a98){if(!_0x1c1a98)return;_0x4f5907=_0x1c1a98;if(!_0x54f38a[_0x185e('0xa2')])throw new Error('List\x20not\x20found');if(_0x54f38a[_0x185e('0xa2')][_0x185e('0xa4')][_0x185e('0x50')])return _0x54f38a[_0x185e('0xa2')][_0x185e('0xa4')][0x0];return db[_0x185e('0xa3')][_0x185e('0x6d')](_[_0x185e('0xb')](_0x5852e3[_0x185e('0x65')],{'firstName':_0x5852e3[_0x185e('0x65')]['to'],'email':_0x5852e3[_0x185e('0x65')]['to'],'phone':_0x5852e3['body']['to'],'ListId':_0x54f38a[_0x185e('0x76')]}));})[_0x185e('0x11')](function(_0x5d2abd){if(!_0x5d2abd)return;var _0x26ea30={'UserId':_0x5852e3[_0x185e('0x32')]['id'],'ContactId':_0x5d2abd['id'],'MailAccountId':_0x54f38a['id'],'inReplyTo':_0x4f5907[_0x185e('0xb0')],'to':_0x5852e3[_0x185e('0x65')][_0x185e('0xa9')],'cc':_0x5852e3[_0x185e('0x65')]['cc'],'subject':_0x5852e3[_0x185e('0x65')][_0x185e('0xb1')],'attach':_0x5852e3[_0x185e('0x65')][_0x185e('0xb2')],'firstMsgDirection':_0x185e('0xb3'),'lastMsgAt':moment()[_0x185e('0x9d')](_0x185e('0x9e')),'lastMsgDirection':_0x185e('0xb3'),'Messages':[_[_0x185e('0x59')](_0x5852e3['body'],{'messageId':_0x4f5907[_0x185e('0xb0')],'sentAt':moment()[_0x185e('0x9d')](_0x185e('0x9e')),'read':!![],'MailAccountId':_0x54f38a['id'],'UserId':_0x5852e3[_0x185e('0x32')]['id'],'ContactId':_0x5d2abd['id']})]};if(_0x5852e3[_0x185e('0x65')][_0x185e('0xb4')]){_0x26ea30=_[_0x185e('0x59')](_0x26ea30,_0x5852e3['body'][_0x185e('0xb4')]);}return db[_0x185e('0x83')][_0x185e('0x6d')](_0x26ea30,{'include':[{'model':db['MailMessage'],'as':_0x185e('0xb5')}]});})[_0x185e('0x11')](respondWithResult(_0x19eb7b,null))[_0x185e('0x5f')](handleError(_0x19eb7b,null));};exports[_0x185e('0xb6')]=function(_0x31c17e,_0x5211b0){return db[_0x185e('0x44')][_0x185e('0x63')]({'where':{'id':_0x31c17e[_0x185e('0x61')]['id']},'include':[{'model':db[_0x185e('0x41')],'as':_0x185e('0x3e'),'raw':!![],'include':[{'model':db[_0x185e('0xa7')],'as':_0x185e('0xa7'),'raw':!![]}]}]})[_0x185e('0x11')](handleEntityNotFound(_0x5211b0,null))[_0x185e('0x11')](function(_0x401a93){if(!_0x401a93[_0x185e('0x3e')])return;var _0x119a79=_0x401a93['getSmtpOptions']();return respondWithRpcPromise(_0x185e('0xb7'),_0x185e('0xb6'),{'account':_0x119a79});})['then'](respondWithResult(_0x5211b0,null))[_0x185e('0x5f')](handleError(_0x5211b0,null));};exports[_0x185e('0x22')]=function(_0x192ebc,_0x2efe58){return db['MailAccount'][_0x185e('0x63')]({'where':{'id':_0x192ebc['params']['id']}})['then'](handleEntityNotFound(_0x2efe58,null))['then'](function(_0x58cd6f){if(_0x58cd6f&&_0x58cd6f[_0x185e('0x3b')]){throw new db[(_0x185e('0xb8'))]['ValidationError'](_0x185e('0xb9'));}return _0x58cd6f;})[_0x185e('0x11')](removeEntity(_0x2efe58,null))[_0x185e('0x5f')](handleError(_0x2efe58,null));};exports[_0x185e('0xba')]=function(_0x545d62,_0x4757c1){return db[_0x185e('0x44')][_0x185e('0x63')]({'where':{'id':_0x545d62['params']['id']}})['then'](handleEntityNotFound(_0x4757c1,null))[_0x185e('0x11')](function(_0xe75d71){if(_0xe75d71){return _0xe75d71[_0x185e('0xba')](_0x545d62['body'][_0x185e('0x71')],_[_0x185e('0x85')](_0x545d62[_0x185e('0x65')],['ids','id'])||{})['spread'](function(_0x26adeb){for(var _0xe99bce=0x0;_0xe99bce<_0x545d62['body']['ids'][_0x185e('0x50')];_0xe99bce+=0x1){socket[_0x185e('0xbb')](_0x185e('0xbc'),{'UserId':Number(_0x545d62[_0x185e('0x65')][_0x185e('0x71')][_0xe99bce]),'MailAccountId':Number(_0x545d62[_0x185e('0x61')]['id'])});}return _0x26adeb;});}})['then'](respondWithResult(_0x4757c1,null))[_0x185e('0x5f')](handleError(_0x4757c1,null));};exports[_0x185e('0xbd')]=function(_0x55aa03,_0x56b2f6){return db['MailAccount'][_0x185e('0x63')]({'where':{'id':_0x55aa03[_0x185e('0x61')]['id']}})[_0x185e('0x11')](handleEntityNotFound(_0x56b2f6,null))[_0x185e('0x11')](function(_0x183ac9){if(_0x183ac9){return _0x183ac9[_0x185e('0xbd')](_0x55aa03[_0x185e('0x49')][_0x185e('0x71')])[_0x185e('0x11')](function(){if(_['isArray'](_0x55aa03['query'][_0x185e('0x71')])){for(var _0x5ea9da=0x0;_0x5ea9da<_0x55aa03[_0x185e('0x49')][_0x185e('0x71')][_0x185e('0x50')];_0x5ea9da+=0x1){socket['emit'](_0x185e('0xbe'),{'UserId':Number(_0x55aa03['query'][_0x185e('0x71')][_0x5ea9da]),'MailAccountId':Number(_0x55aa03[_0x185e('0x61')]['id'])});}}else{socket[_0x185e('0xbb')]('userMailAccount:remove',{'UserId':Number(_0x55aa03['query']['ids']),'MailAccountId':Number(_0x55aa03['params']['id'])});}});}})[_0x185e('0x11')](respondWithStatusCode(_0x56b2f6,null))[_0x185e('0x5f')](handleError(_0x56b2f6,null));};exports['getAgents']=function(_0x5c2ccc,_0x2b1acc){var _0x4ce91a={};var _0x137458={};var _0x4cb4f1;var _0x32590f;return db[_0x185e('0x44')]['findOne']({'where':{'id':_0x5c2ccc[_0x185e('0x61')]['id']}})['then'](handleEntityNotFound(_0x2b1acc,null))[_0x185e('0x11')](function(_0xfcfd78){if(_0xfcfd78){_0x4cb4f1=_0xfcfd78;_0x137458[_0x185e('0x4d')]=_['keys'](db['User']['rawAttributes']);_0x137458[_0x185e('0x49')]=_[_0x185e('0x4a')](_0x5c2ccc['query']);_0x137458[_0x185e('0x4b')]=_[_0x185e('0x4c')](_0x137458[_0x185e('0x4d')],_0x137458['query']);_0x4ce91a[_0x185e('0x4e')]=_[_0x185e('0x4c')](_0x137458[_0x185e('0x4d')],qs[_0x185e('0x4f')](_0x5c2ccc[_0x185e('0x49')]['fields']));_0x4ce91a[_0x185e('0x4e')]=_0x4ce91a[_0x185e('0x4e')][_0x185e('0x50')]?_0x4ce91a[_0x185e('0x4e')]:_0x137458['model'];_0x4ce91a[_0x185e('0x54')]=qs['sort'](_0x5c2ccc[_0x185e('0x49')]['sort']);_0x4ce91a['where']=qs[_0x185e('0x4b')](_[_0x185e('0x57')](_0x5c2ccc[_0x185e('0x49')],_0x137458[_0x185e('0x4b')]));if(_0x5c2ccc[_0x185e('0x49')][_0x185e('0x58')]){_0x4ce91a[_0x185e('0x56')]=_[_0x185e('0x59')](_0x4ce91a[_0x185e('0x56')],{'$or':_['map'](_0x4ce91a[_0x185e('0x4e')],function(_0x15ccb4){var _0x5305ed={};_0x5305ed[_0x15ccb4]={'$like':'%'+_0x5c2ccc['query']['filter']+'%'};return _0x5305ed;})});}_0x4ce91a=_['merge']({},_0x4ce91a,_0x5c2ccc[_0x185e('0x5b')]);return _0x4cb4f1['getAgents'](_0x4ce91a);}})[_0x185e('0x11')](function(_0x1e4968){if(_0x1e4968){_0x32590f=_0x1e4968[_0x185e('0x50')];if(!_0x5c2ccc[_0x185e('0x49')][_0x185e('0x51')](_0x185e('0x52'))){_0x4ce91a[_0x185e('0x1e')]=qs[_0x185e('0x1e')](_0x5c2ccc['query']['limit']);_0x4ce91a[_0x185e('0x53')]=qs[_0x185e('0x53')](_0x5c2ccc['query']['offset']);}return _0x4cb4f1['getAgents'](_0x4ce91a);}})[_0x185e('0x11')](function(_0x4afadb){if(_0x4afadb){return _0x4afadb?{'count':_0x32590f,'rows':_0x4afadb}:null;}})[_0x185e('0x11')](respondWithResult(_0x2b1acc,null))[_0x185e('0x5f')](handleError(_0x2b1acc,null));};