Built motion from commit 85328c08.|2.5.50
[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 _0x3e09=['error','code','message','catch','status','end','offset','undefined','limit','count','Content-Range','json','update','get','MailAccounts','UserProfileResource','destroy','name','gmail','imap.gmail.com','imap.mail.yahoo.com','imap-mail.outlook.com','outlook.office365.com','Unknown\x20email\x20service\x20provider','yahoo','hotmail','outlook365','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','authentication','Imap','Smtp','index','MailServerIn','MailServerOut','Pause','mandatoryDispositionPause','map','rawAttributes','fieldName','type','key','query','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','filter','MailAccount','include','rows','show','keys','includeAll','options','body','provider','custom','find','params','Mail\x20Account\x20not\x20found','service','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','findAll','removeDispositions','addAnswer','CannedAnswer','getAnswers','removeAnswers','ids','email','ListId','isNil','active','description','role','UserProfileSection','userProfileId','autoAssociation','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','Contact','User','Owner','fullname','internal','Tag','Tags','color','tag','addApplications','sequelize','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','priority','stack','send','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','true','List','updatedAt','CloudProvider','Smtp\x20configuration\x20not\x20found','from','%s\x20<%s>','attachments','join','root','basename','getSmtpOptions','SendMail','sendMail','List\x20not\x20found','Contacts','CmContact','defaults','messageId','subject','attach','out','Interaction','verifySmtp','VerifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','userMailAccount:save','removeAgents','isArray','emit','userMailAccount:remove','getAgents','bluebird','util','path','lodash','juice','ioredis','../../components/parsers/qs','api','../../config/environment','redis','localhost','socket.io-emitter','./mailAccount.socket','register','http','request','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s'];(function(_0x487b09,_0x349b11){var _0x28830b=function(_0x51705f){while(--_0x51705f){_0x487b09['push'](_0x487b09['shift']());}};_0x28830b(++_0x349b11);}(_0x3e09,0xae));var _0x93e0=function(_0x5da54c,_0x520452){_0x5da54c=_0x5da54c-0x0;var _0x1246b0=_0x3e09[_0x5da54c];return _0x1246b0;};'use strict';var moment=require('moment');var BPromise=require(_0x93e0('0x0'));var util=require(_0x93e0('0x1'));var path=require(_0x93e0('0x2'));var _=require(_0x93e0('0x3'));var juice=require(_0x93e0('0x4'));var Redis=require(_0x93e0('0x5'));var qs=require(_0x93e0('0x6'));var logger=require('../../config/logger')(_0x93e0('0x7'));var config=require(_0x93e0('0x8'));var db=require('../../mysqldb')['db'];config['redis']=_['defaults'](config[_0x93e0('0x9')],{'host':_0x93e0('0xa'),'port':0x18eb});var socket=require(_0x93e0('0xb'))(new Redis(config[_0x93e0('0x9')]));require(_0x93e0('0xc'))[_0x93e0('0xd')](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0x93e0('0xe')]({'port':0x232b});function respondWithRpcPromise(_0x42bf00,_0x27a8dd,_0x165025,_0x24088b){return new BPromise(function(_0x416528,_0x1e10ab){var _0x4a71f9=_0x24088b||client;return _0x4a71f9[_0x93e0('0xf')](_0x42bf00,_0x165025)[_0x93e0('0x10')](function(_0x208355){logger[_0x93e0('0x11')](_0x93e0('0x12'),_0x27a8dd,_0x93e0('0x13'));logger[_0x93e0('0x14')](_0x93e0('0x15'),_0x27a8dd,_0x93e0('0x13'),JSON['stringify'](_0x208355));if(_0x208355[_0x93e0('0x16')]){if(_0x208355['error'][_0x93e0('0x17')]===0x1f4){logger[_0x93e0('0x16')](_0x93e0('0x12'),_0x27a8dd,_0x208355[_0x93e0('0x16')][_0x93e0('0x18')]);return _0x1e10ab(_0x208355[_0x93e0('0x16')][_0x93e0('0x18')]);}logger[_0x93e0('0x16')](_0x93e0('0x12'),_0x27a8dd,_0x208355[_0x93e0('0x16')]['message']);return _0x416528(_0x208355[_0x93e0('0x16')][_0x93e0('0x18')]);}else{logger[_0x93e0('0x11')](_0x93e0('0x12'),_0x27a8dd,_0x93e0('0x13'));_0x416528(_0x208355['result'][_0x93e0('0x18')]);}})[_0x93e0('0x19')](function(_0x2b1d24){logger[_0x93e0('0x16')]('MailAccount,\x20%s,\x20%s',_0x27a8dd,_0x2b1d24);_0x1e10ab(_0x2b1d24);});});}function respondWithStatusCode(_0x5b7301,_0x368361){_0x368361=_0x368361||0xcc;return function(_0x348450){if(_0x348450){return _0x5b7301['sendStatus'](_0x368361);}return _0x5b7301[_0x93e0('0x1a')](_0x368361)[_0x93e0('0x1b')]();};}function respondWithResult(_0x487b69,_0x19f1df){_0x19f1df=_0x19f1df||0xc8;return function(_0x562c1f){if(_0x562c1f){return _0x487b69[_0x93e0('0x1a')](_0x19f1df)['json'](_0x562c1f);}};}function respondWithFilteredResult(_0x3c3205,_0x4b349a){return function(_0x144f8c){if(_0x144f8c){var _0x4929e6=typeof _0x4b349a[_0x93e0('0x1c')]===_0x93e0('0x1d')&&typeof _0x4b349a[_0x93e0('0x1e')]==='undefined';var _0x543f2f=_0x144f8c[_0x93e0('0x1f')];var _0x29fe3e=_0x4929e6?0x0:_0x4b349a[_0x93e0('0x1c')];var _0x5c6888=_0x4929e6?_0x144f8c[_0x93e0('0x1f')]:_0x4b349a[_0x93e0('0x1c')]+_0x4b349a[_0x93e0('0x1e')];var _0x32dd3f;if(_0x5c6888>=_0x543f2f){_0x5c6888=_0x543f2f;_0x32dd3f=0xc8;}else{_0x32dd3f=0xce;}_0x3c3205[_0x93e0('0x1a')](_0x32dd3f);return _0x3c3205['set'](_0x93e0('0x20'),_0x29fe3e+'-'+_0x5c6888+'/'+_0x543f2f)[_0x93e0('0x21')](_0x144f8c);}return null;};}function saveUpdates(_0x137e3e){return function(_0x5e128d){if(_0x5e128d){return _0x5e128d[_0x93e0('0x22')](_0x137e3e)[_0x93e0('0x10')](function(_0x2007a0){return _0x2007a0;});}return null;};}function removeEntity(_0x1d6245){return function(_0x3a6261){if(_0x3a6261){return _0x3a6261['destroy']()['then'](function(){var _0x4641c8=_0x3a6261[_0x93e0('0x23')]({'plain':!![]});var _0x554d33=_0x93e0('0x24');return db[_0x93e0('0x25')][_0x93e0('0x26')]({'where':{'type':_0x554d33,'resourceId':_0x4641c8['id']}})['then'](function(){return _0x3a6261;});})['then'](function(){_0x1d6245[_0x93e0('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5a30e1){return function(_0xff0ec7){if(!_0xff0ec7){_0x5a30e1['sendStatus'](0x194);}return _0xff0ec7;};}function handleError(_0x5017ce,_0x2124fb){_0x2124fb=_0x2124fb||0x1f4;return function(_0x35fb15){logger[_0x93e0('0x16')](_0x35fb15['stack']);if(_0x35fb15[_0x93e0('0x27')]){delete _0x35fb15[_0x93e0('0x27')];}_0x5017ce[_0x93e0('0x1a')](_0x2124fb)['send'](_0x35fb15);};}function getImapHost(_0x5bdfe3){switch(_0x5bdfe3){case _0x93e0('0x28'):return _0x93e0('0x29');case'yahoo':return _0x93e0('0x2a');case'hotmail':return _0x93e0('0x2b');case'outlook365':return _0x93e0('0x2c');}throw new Error(_0x93e0('0x2d'),_0x5bdfe3);}function getSmtpHost(_0x5f13e7){switch(_0x5f13e7){case'gmail':return'smtp.gmail.com';case _0x93e0('0x2e'):return'smtp.mail.yahoo.com';case _0x93e0('0x2f'):return'smtp-mail.outlook.com';case _0x93e0('0x30'):return'smtp.office365.com';}throw new Error(_0x93e0('0x2d'),_0x5f13e7);}function getAuthenticationOptions(_0x204d13,_0x2966b0){var _0x3ea000={};var _0x3fd131={};if(_0x204d13){_0x3ea000[_0x93e0('0x31')]=_0x3fd131[_0x93e0('0x31')]=_0x2966b0[_0x93e0('0x32')];_0x3ea000[_0x93e0('0x33')]=_0x3fd131[_0x93e0('0x34')]=_0x2966b0['password'];if(_0x2966b0[_0x93e0('0x35')]){_0x3ea000[_0x93e0('0x35')]=_0x3fd131[_0x93e0('0x35')]=!![];_0x3ea000[_0x93e0('0x36')]=_0x3fd131[_0x93e0('0x36')]=_0x2966b0[_0x93e0('0x36')];_0x3ea000['password']=_0x3fd131[_0x93e0('0x34')]=null;}else{_0x3ea000[_0x93e0('0x36')]=_0x3fd131[_0x93e0('0x36')]=null;}_0x3ea000[_0x93e0('0x37')]=getImapHost(_0x204d13);_0x3ea000['port']=0x3e1;_0x3fd131[_0x93e0('0x37')]=getSmtpHost(_0x204d13);_0x3fd131[_0x93e0('0x38')]=0x24b;_0x3fd131[_0x93e0('0x39')]=![];_0x3ea000['service']=_0x3fd131['service']=null;}else{if(_0x2966b0[_0x93e0('0x3a')]){_0x3ea000['user']=_0x3fd131[_0x93e0('0x31')]=_0x2966b0[_0x93e0('0x32')];_0x3ea000[_0x93e0('0x33')]=_0x3fd131[_0x93e0('0x34')]=_0x2966b0[_0x93e0('0x33')];}else{_0x3ea000[_0x93e0('0x3a')]=_0x3fd131['authentication']=![];_0x3ea000[_0x93e0('0x31')]=_0x3fd131[_0x93e0('0x31')]=null;_0x3ea000[_0x93e0('0x33')]=_0x3fd131['pass']=null;}_0x3ea000[_0x93e0('0x37')]=_0x2966b0[_0x93e0('0x3b')][_0x93e0('0x37')];_0x3ea000[_0x93e0('0x38')]=_0x2966b0[_0x93e0('0x3b')][_0x93e0('0x38')];_0x3fd131[_0x93e0('0x37')]=_0x2966b0['Smtp'][_0x93e0('0x37')];_0x3fd131[_0x93e0('0x38')]=_0x2966b0[_0x93e0('0x3c')][_0x93e0('0x38')];}return{'Imap':_0x3ea000,'Smtp':_0x3fd131};}exports[_0x93e0('0x3d')]=function(_0x3732d3,_0x354117){var _0x4a8e0e={'include':[{'model':db[_0x93e0('0x3e')],'as':_0x93e0('0x3b')},{'model':db[_0x93e0('0x3f')],'as':_0x93e0('0x3c')},{'model':db[_0x93e0('0x40')],'as':_0x93e0('0x41')}]},_0x5575fa={},_0x24ba85={'count':0x0,'rows':[]};var _0x12f03f=_[_0x93e0('0x42')](db['MailAccount'][_0x93e0('0x43')],function(_0x5bf9ec){return{'name':_0x5bf9ec[_0x93e0('0x44')],'type':_0x5bf9ec[_0x93e0('0x45')][_0x93e0('0x46')]};});_0x5575fa['model']=_['map'](_0x12f03f,'name');_0x5575fa[_0x93e0('0x47')]=_['keys'](_0x3732d3['query']);_0x5575fa[_0x93e0('0x48')]=_[_0x93e0('0x49')](_0x5575fa['model'],_0x5575fa[_0x93e0('0x47')]);_0x4a8e0e[_0x93e0('0x4a')]=_['intersection'](_0x5575fa[_0x93e0('0x4b')],qs['fields'](_0x3732d3['query'][_0x93e0('0x4c')]));_0x4a8e0e[_0x93e0('0x4a')]=_0x4a8e0e[_0x93e0('0x4a')][_0x93e0('0x4d')]?_0x4a8e0e[_0x93e0('0x4a')]:_0x5575fa[_0x93e0('0x4b')];if(!_0x3732d3[_0x93e0('0x47')][_0x93e0('0x4e')](_0x93e0('0x4f'))){_0x4a8e0e['limit']=qs[_0x93e0('0x1e')](_0x3732d3[_0x93e0('0x47')][_0x93e0('0x1e')]);_0x4a8e0e[_0x93e0('0x1c')]=qs[_0x93e0('0x1c')](_0x3732d3['query']['offset']);}_0x4a8e0e[_0x93e0('0x50')]=qs[_0x93e0('0x51')](_0x3732d3['query'][_0x93e0('0x51')]);_0x4a8e0e[_0x93e0('0x52')]=qs['filters'](_[_0x93e0('0x53')](_0x3732d3[_0x93e0('0x47')],_0x5575fa[_0x93e0('0x48')]),_0x12f03f);if(_0x3732d3['query']['filter']){_0x4a8e0e[_0x93e0('0x52')]=_[_0x93e0('0x54')](_0x4a8e0e[_0x93e0('0x52')],{'$or':_[_0x93e0('0x42')](_0x12f03f,function(_0x367fd6){if(_0x367fd6['type']!=='VIRTUAL'){var _0x557f98={};_0x557f98[_0x367fd6[_0x93e0('0x27')]]={'$like':'%'+_0x3732d3[_0x93e0('0x47')][_0x93e0('0x55')]+'%'};return _0x557f98;}})});}_0x4a8e0e=_[_0x93e0('0x54')]({},_0x4a8e0e,_0x3732d3['options']);var _0x35b1b8={'where':_0x4a8e0e['where']};return db[_0x93e0('0x56')]['count'](_0x35b1b8)[_0x93e0('0x10')](function(_0x9dd908){_0x24ba85[_0x93e0('0x1f')]=_0x9dd908;if(_0x3732d3['query']['includeAll']){_0x4a8e0e[_0x93e0('0x57')]=[{'all':!![]}];}return db[_0x93e0('0x56')]['findAll'](_0x4a8e0e);})[_0x93e0('0x10')](function(_0x14931c){_0x24ba85[_0x93e0('0x58')]=_0x14931c;return _0x24ba85;})['then'](respondWithFilteredResult(_0x354117,_0x4a8e0e))[_0x93e0('0x19')](handleError(_0x354117,null));};exports[_0x93e0('0x59')]=function(_0x47809a,_0x5624fe){var _0x17b308={'raw':![],'where':{'id':_0x47809a['params']['id']},'include':[{'model':db[_0x93e0('0x3e')],'as':_0x93e0('0x3b')},{'model':db[_0x93e0('0x3f')],'as':'Smtp'},{'model':db[_0x93e0('0x40')],'as':'mandatoryDispositionPause'}]},_0x24e23e={};_0x24e23e[_0x93e0('0x4b')]=_[_0x93e0('0x5a')](db[_0x93e0('0x56')][_0x93e0('0x43')]);_0x24e23e['query']=_['keys'](_0x47809a[_0x93e0('0x47')]);_0x24e23e[_0x93e0('0x48')]=_[_0x93e0('0x49')](_0x24e23e['model'],_0x24e23e[_0x93e0('0x47')]);_0x17b308['attributes']=_[_0x93e0('0x49')](_0x24e23e[_0x93e0('0x4b')],qs['fields'](_0x47809a[_0x93e0('0x47')]['fields']));_0x17b308['attributes']=_0x17b308[_0x93e0('0x4a')][_0x93e0('0x4d')]?_0x17b308[_0x93e0('0x4a')]:_0x24e23e[_0x93e0('0x4b')];if(_0x47809a[_0x93e0('0x47')][_0x93e0('0x5b')]){_0x17b308['include']=[{'all':!![]}];}_0x17b308=_[_0x93e0('0x54')]({},_0x17b308,_0x47809a[_0x93e0('0x5c')]);return db['MailAccount']['find'](_0x17b308)[_0x93e0('0x10')](handleEntityNotFound(_0x5624fe,null))['then'](respondWithResult(_0x5624fe,null))[_0x93e0('0x19')](handleError(_0x5624fe,null));};exports[_0x93e0('0x22')]=function(_0x39193f,_0x15623e){if(_0x39193f[_0x93e0('0x5d')]['id']){delete _0x39193f[_0x93e0('0x5d')]['id'];}var _0x447b9a=_0x39193f[_0x93e0('0x5d')][_0x93e0('0x5e')]===_0x93e0('0x5f')?null:_0x39193f[_0x93e0('0x5d')][_0x93e0('0x5e')];var _0x49ca13=_0x39193f[_0x93e0('0x5d')]['Imap']||{};var _0x18eabd=_0x39193f[_0x93e0('0x5d')][_0x93e0('0x3c')]||{};if(_0x447b9a){_0x49ca13['host']=getImapHost(_0x447b9a);_0x49ca13['port']=0x3e1;_0x18eabd[_0x93e0('0x37')]=getSmtpHost(_0x447b9a);_0x18eabd[_0x93e0('0x38')]=0x24b;_0x18eabd[_0x93e0('0x39')]=![];}if(_0x18eabd['modernAuthentication']){_0x18eabd[_0x93e0('0x39')]=![];}else{_0x18eabd[_0x93e0('0x36')]=null;}if(!_0x49ca13[_0x93e0('0x35')])_0x49ca13[_0x93e0('0x36')]=null;_0x39193f['body'][_0x93e0('0x3b')]=_0x49ca13;_0x39193f[_0x93e0('0x5d')][_0x93e0('0x3c')]=_0x18eabd;return db['MailAccount'][_0x93e0('0x60')]({'where':{'id':_0x39193f[_0x93e0('0x61')]['id']},'include':[{'model':db['MailServerIn'],'as':_0x93e0('0x3b')},{'model':db[_0x93e0('0x3f')],'as':_0x93e0('0x3c')},{'model':db[_0x93e0('0x40')],'as':_0x93e0('0x41')}]})[_0x93e0('0x10')](handleEntityNotFound(_0x15623e,null))[_0x93e0('0x10')](function(_0xdeb97e){if(!_0xdeb97e)throw new Error(_0x93e0('0x62'));if(_0xdeb97e[_0x93e0('0x63')])delete _0x39193f[_0x93e0('0x5d')][_0x93e0('0x3b')];return _0xdeb97e;})[_0x93e0('0x10')](saveUpdates(_0x39193f[_0x93e0('0x5d')],null))[_0x93e0('0x10')](function(_0x3aa248){if(!_0x39193f[_0x93e0('0x5d')][_0x93e0('0x3b')])return _0x3aa248;return db[_0x93e0('0x3e')][_0x93e0('0x22')](_0x39193f[_0x93e0('0x5d')][_0x93e0('0x3b')],{'where':{'MailAccountId':_0x3aa248['id']}})[_0x93e0('0x10')](function(){return _0x3aa248;});})[_0x93e0('0x10')](function(_0x4d899d){if(!_0x39193f[_0x93e0('0x5d')]['Smtp'])return _0x4d899d;return db[_0x93e0('0x3f')][_0x93e0('0x22')](_0x39193f[_0x93e0('0x5d')][_0x93e0('0x3c')],{'where':{'MailAccountId':_0x4d899d['id']}})[_0x93e0('0x10')](function(){return _0x4d899d;});})[_0x93e0('0x10')](respondWithResult(_0x15623e,null))['catch'](handleError(_0x15623e,null));};exports[_0x93e0('0x64')]=function(_0x203790,_0x461b83){return db[_0x93e0('0x56')]['describe']()['then'](respondWithResult(_0x461b83,null))[_0x93e0('0x19')](handleError(_0x461b83,null));};exports[_0x93e0('0x65')]=function(_0x25462c,_0xa5796b){if(_0x25462c['body']['id']){delete _0x25462c[_0x93e0('0x5d')]['id'];}return db[_0x93e0('0x56')][_0x93e0('0x60')]({'where':{'id':_0x25462c[_0x93e0('0x61')]['id']}})['then'](handleEntityNotFound(_0xa5796b,null))['then'](function(_0x4d3b96){if(_0x4d3b96){_0x25462c[_0x93e0('0x5d')][_0x93e0('0x66')]=_0x4d3b96['id'];return db[_0x93e0('0x67')][_0x93e0('0x68')](_0x25462c['body']);}})[_0x93e0('0x10')](respondWithResult(_0xa5796b,null))[_0x93e0('0x19')](handleError(_0xa5796b,null));};exports[_0x93e0('0x69')]=function(_0x10cf94,_0x4c9577){var _0x19652b={'raw':![],'where':{}};var _0x4b62f3={};var _0x32977b={'count':0x0,'rows':[]};return db[_0x93e0('0x56')][_0x93e0('0x6a')]({'where':{'id':_0x10cf94[_0x93e0('0x61')]['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x4c9577,null))[_0x93e0('0x10')](function(_0x48f01f){if(_0x48f01f){_0x4b62f3[_0x93e0('0x4b')]=_[_0x93e0('0x5a')](db[_0x93e0('0x67')][_0x93e0('0x43')]);_0x4b62f3[_0x93e0('0x47')]=_[_0x93e0('0x5a')](_0x10cf94[_0x93e0('0x47')]);_0x4b62f3[_0x93e0('0x48')]=_[_0x93e0('0x49')](_0x4b62f3[_0x93e0('0x4b')],_0x4b62f3[_0x93e0('0x47')]);_0x19652b[_0x93e0('0x4a')]=_[_0x93e0('0x49')](_0x4b62f3['model'],qs['fields'](_0x10cf94[_0x93e0('0x47')]['fields']));_0x19652b[_0x93e0('0x4a')]=_0x19652b[_0x93e0('0x4a')][_0x93e0('0x4d')]?_0x19652b['attributes']:_0x4b62f3['model'];if(!_0x10cf94['query'][_0x93e0('0x4e')](_0x93e0('0x4f'))){_0x19652b['limit']=qs[_0x93e0('0x1e')](_0x10cf94[_0x93e0('0x47')][_0x93e0('0x1e')]);_0x19652b['offset']=qs[_0x93e0('0x1c')](_0x10cf94[_0x93e0('0x47')][_0x93e0('0x1c')]);}_0x19652b['order']=qs[_0x93e0('0x51')](_0x10cf94[_0x93e0('0x47')][_0x93e0('0x51')]);_0x19652b[_0x93e0('0x52')]=qs[_0x93e0('0x48')](_['pick'](_0x10cf94['query'],_0x4b62f3['filters']));_0x19652b[_0x93e0('0x52')]['MailAccountId']=_0x48f01f['id'];if(_0x10cf94['query'][_0x93e0('0x55')]){_0x19652b[_0x93e0('0x52')]=_[_0x93e0('0x54')](_0x19652b['where'],{'$or':_['map'](_0x19652b[_0x93e0('0x4a')],function(_0x43324b){var _0x5d8c64={};_0x5d8c64[_0x43324b]={'$like':'%'+_0x10cf94['query'][_0x93e0('0x55')]+'%'};return _0x5d8c64;})});}_0x19652b=_[_0x93e0('0x54')]({},_0x19652b,_0x10cf94[_0x93e0('0x5c')]);return db[_0x93e0('0x67')]['count']({'where':_0x19652b[_0x93e0('0x52')]})[_0x93e0('0x10')](function(_0x1e54f7){_0x32977b[_0x93e0('0x1f')]=_0x1e54f7;if(_0x10cf94[_0x93e0('0x47')][_0x93e0('0x5b')]){_0x19652b[_0x93e0('0x57')]=[{'all':!![]}];}return db['Disposition'][_0x93e0('0x6b')](_0x19652b);})['then'](function(_0x326826){_0x32977b[_0x93e0('0x58')]=_0x326826;return _0x32977b;});}})[_0x93e0('0x10')](respondWithFilteredResult(_0x4c9577,_0x19652b))['catch'](handleError(_0x4c9577,null));};exports[_0x93e0('0x6c')]=function(_0x2966e3,_0x3edec8){return db['MailAccount'][_0x93e0('0x60')]({'where':{'id':_0x2966e3['params']['id']}})['then'](handleEntityNotFound(_0x3edec8,null))['then'](function(_0x3eb0a2){if(_0x3eb0a2){return _0x3eb0a2[_0x93e0('0x6c')](_0x2966e3[_0x93e0('0x47')]['ids']);}})[_0x93e0('0x10')](respondWithStatusCode(_0x3edec8,null))[_0x93e0('0x19')](handleError(_0x3edec8,null));};exports[_0x93e0('0x6d')]=function(_0x3cb3b7,_0x2699d6){if(_0x3cb3b7[_0x93e0('0x5d')]['id']){delete _0x3cb3b7[_0x93e0('0x5d')]['id'];}return db[_0x93e0('0x56')][_0x93e0('0x60')]({'where':{'id':_0x3cb3b7[_0x93e0('0x61')]['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x2699d6,null))[_0x93e0('0x10')](function(_0x4c4eb8){if(_0x4c4eb8){_0x3cb3b7[_0x93e0('0x5d')]['MailAccountId']=_0x4c4eb8['id'];return db[_0x93e0('0x6e')]['create'](_0x3cb3b7['body']);}})[_0x93e0('0x10')](respondWithResult(_0x2699d6,null))[_0x93e0('0x19')](handleError(_0x2699d6,null));};exports[_0x93e0('0x6f')]=function(_0x5f19af,_0x3a6ea1){var _0x5189b4={'raw':![],'where':{}};var _0x2367f6={};var _0x16679a={'count':0x0,'rows':[]};return db['MailAccount'][_0x93e0('0x6a')]({'where':{'id':_0x5f19af[_0x93e0('0x61')]['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x3a6ea1,null))[_0x93e0('0x10')](function(_0x152fb6){if(_0x152fb6){_0x2367f6[_0x93e0('0x4b')]=_[_0x93e0('0x5a')](db[_0x93e0('0x6e')]['rawAttributes']);_0x2367f6['query']=_[_0x93e0('0x5a')](_0x5f19af[_0x93e0('0x47')]);_0x2367f6['filters']=_[_0x93e0('0x49')](_0x2367f6[_0x93e0('0x4b')],_0x2367f6[_0x93e0('0x47')]);_0x5189b4[_0x93e0('0x4a')]=_[_0x93e0('0x49')](_0x2367f6[_0x93e0('0x4b')],qs[_0x93e0('0x4c')](_0x5f19af[_0x93e0('0x47')][_0x93e0('0x4c')]));_0x5189b4[_0x93e0('0x4a')]=_0x5189b4[_0x93e0('0x4a')][_0x93e0('0x4d')]?_0x5189b4[_0x93e0('0x4a')]:_0x2367f6[_0x93e0('0x4b')];if(!_0x5f19af[_0x93e0('0x47')][_0x93e0('0x4e')](_0x93e0('0x4f'))){_0x5189b4['limit']=qs[_0x93e0('0x1e')](_0x5f19af[_0x93e0('0x47')]['limit']);_0x5189b4[_0x93e0('0x1c')]=qs[_0x93e0('0x1c')](_0x5f19af[_0x93e0('0x47')][_0x93e0('0x1c')]);}_0x5189b4['order']=qs[_0x93e0('0x51')](_0x5f19af[_0x93e0('0x47')][_0x93e0('0x51')]);_0x5189b4['where']=qs[_0x93e0('0x48')](_[_0x93e0('0x53')](_0x5f19af[_0x93e0('0x47')],_0x2367f6[_0x93e0('0x48')]));_0x5189b4[_0x93e0('0x52')][_0x93e0('0x66')]=_0x152fb6['id'];if(_0x5f19af[_0x93e0('0x47')][_0x93e0('0x55')]){_0x5189b4[_0x93e0('0x52')]=_[_0x93e0('0x54')](_0x5189b4[_0x93e0('0x52')],{'$or':_['map'](_0x5189b4[_0x93e0('0x4a')],function(_0x23979b){var _0x105db3={};_0x105db3[_0x23979b]={'$like':'%'+_0x5f19af[_0x93e0('0x47')][_0x93e0('0x55')]+'%'};return _0x105db3;})});}_0x5189b4=_['merge']({},_0x5189b4,_0x5f19af[_0x93e0('0x5c')]);return db['CannedAnswer'][_0x93e0('0x1f')]({'where':_0x5189b4[_0x93e0('0x52')]})[_0x93e0('0x10')](function(_0x1a67f2){_0x16679a[_0x93e0('0x1f')]=_0x1a67f2;if(_0x5f19af['query'][_0x93e0('0x5b')]){_0x5189b4['include']=[{'all':!![]}];}return db[_0x93e0('0x6e')][_0x93e0('0x6b')](_0x5189b4);})[_0x93e0('0x10')](function(_0x1774eb){_0x16679a[_0x93e0('0x58')]=_0x1774eb;return _0x16679a;});}})[_0x93e0('0x10')](respondWithFilteredResult(_0x3a6ea1,_0x5189b4))[_0x93e0('0x19')](handleError(_0x3a6ea1,null));};exports[_0x93e0('0x70')]=function(_0x112f10,_0x1a2d3e){return db[_0x93e0('0x56')][_0x93e0('0x60')]({'where':{'id':_0x112f10[_0x93e0('0x61')]['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x1a2d3e,null))[_0x93e0('0x10')](function(_0x4bfb8c){if(_0x4bfb8c){return _0x4bfb8c[_0x93e0('0x70')](_0x112f10[_0x93e0('0x47')][_0x93e0('0x71')]);}})['then'](respondWithStatusCode(_0x1a2d3e,null))[_0x93e0('0x19')](handleError(_0x1a2d3e,null));};exports[_0x93e0('0x68')]=function(_0x57ed61,_0x1e81ba){var _0x601ef5={'name':_0x57ed61[_0x93e0('0x5d')][_0x93e0('0x27')],'key':_0x57ed61[_0x93e0('0x5d')][_0x93e0('0x46')],'provider':_0x57ed61[_0x93e0('0x5d')]['provider']===_0x93e0('0x5f')?null:_0x57ed61[_0x93e0('0x5d')][_0x93e0('0x5e')],'email':_0x57ed61['body'][_0x93e0('0x72')],'ListId':_0x57ed61[_0x93e0('0x5d')][_0x93e0('0x73')],'active':!_[_0x93e0('0x74')](_0x57ed61[_0x93e0('0x5d')][_0x93e0('0x75')])?_0x57ed61[_0x93e0('0x5d')][_0x93e0('0x75')]:!![],'description':_0x57ed61['body'][_0x93e0('0x76')]||null};var _0x2a15e5=getAuthenticationOptions(_0x601ef5[_0x93e0('0x5e')],_0x57ed61[_0x93e0('0x5d')]);_0x601ef5['Imap']=_0x2a15e5[_0x93e0('0x3b')];_0x601ef5[_0x93e0('0x3c')]=_0x2a15e5[_0x93e0('0x3c')];return db[_0x93e0('0x56')][_0x93e0('0x68')](_0x601ef5,{'include':[{'model':db['MailServerOut'],'as':_0x93e0('0x3c')},{'model':db[_0x93e0('0x3e')],'as':_0x93e0('0x3b')}]})[_0x93e0('0x10')](function(_0x3f1d94){var _0x5ae4a4=_0x57ed61[_0x93e0('0x31')][_0x93e0('0x23')]({'plain':!![]});if(!_0x5ae4a4)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5ae4a4[_0x93e0('0x77')]==='user'){var _0xb50267=_0x3f1d94['get']({'plain':!![]});return db[_0x93e0('0x78')]['find']({'where':{'name':_0x93e0('0x24'),'userProfileId':_0x5ae4a4[_0x93e0('0x79')]},'raw':!![]})[_0x93e0('0x10')](function(_0x57d3c2){if(_0x57d3c2&&_0x57d3c2[_0x93e0('0x7a')]===0x0){return db[_0x93e0('0x25')]['create']({'name':_0xb50267[_0x93e0('0x27')],'resourceId':_0xb50267['id'],'type':_0x57d3c2[_0x93e0('0x27')],'sectionId':_0x57d3c2['id']},{})[_0x93e0('0x10')](function(){return _0x3f1d94;});}else{return _0x3f1d94;}})[_0x93e0('0x19')](function(_0x38d6ae){logger[_0x93e0('0x16')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x38d6ae);throw _0x38d6ae;});}return _0x3f1d94;})[_0x93e0('0x10')](respondWithResult(_0x1e81ba,0xc9))[_0x93e0('0x19')](handleError(_0x1e81ba,null));};exports[_0x93e0('0x7b')]=function(_0x20aa5f,_0x4e1a4d){return db[_0x93e0('0x56')][_0x93e0('0x6a')]({'where':{'id':_0x20aa5f[_0x93e0('0x61')]['id']}})['then'](handleEntityNotFound(_0x4e1a4d,null))['then'](function(_0xafdfd0){if(_0xafdfd0){return _0xafdfd0['getImap']();}return null;})[_0x93e0('0x10')](respondWithResult(_0x4e1a4d,null))[_0x93e0('0x19')](handleError(_0x4e1a4d,null));};exports[_0x93e0('0x7c')]=function(_0x4ae304,_0x87d557){if(_0x4ae304[_0x93e0('0x5d')]['id']){delete _0x4ae304[_0x93e0('0x5d')]['id'];}return db[_0x93e0('0x56')][_0x93e0('0x60')]({'where':{'id':_0x4ae304[_0x93e0('0x61')]['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x87d557,null))[_0x93e0('0x10')](function(_0x5a393f){if(_0x5a393f){_0x4ae304[_0x93e0('0x5d')]['MailAccountId']=_0x5a393f['id'];return db[_0x93e0('0x3e')][_0x93e0('0x68')](_0x4ae304[_0x93e0('0x5d')]);}})[_0x93e0('0x10')](respondWithResult(_0x87d557,null))[_0x93e0('0x19')](handleError(_0x87d557,null));};exports[_0x93e0('0x7d')]=function(_0x241f6e,_0x3099dd){return db[_0x93e0('0x56')][_0x93e0('0x6a')]({'where':{'id':_0x241f6e[_0x93e0('0x61')]['id']}})['then'](handleEntityNotFound(_0x3099dd,null))[_0x93e0('0x10')](function(_0x18d7fc){if(_0x18d7fc){return _0x18d7fc[_0x93e0('0x7e')](null);}return null;})[_0x93e0('0x10')](respondWithStatusCode(_0x3099dd,null))[_0x93e0('0x19')](handleError(_0x3099dd,null));};exports[_0x93e0('0x7f')]=function(_0x3456db,_0x51bb3d){return db[_0x93e0('0x56')][_0x93e0('0x6a')]({'where':{'id':_0x3456db['params']['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x51bb3d,null))['then'](function(_0x271828){if(_0x271828){return _0x271828['getSmtp']();}return null;})[_0x93e0('0x10')](respondWithResult(_0x51bb3d,null))[_0x93e0('0x19')](handleError(_0x51bb3d,null));};exports[_0x93e0('0x80')]=function(_0x23c0bd,_0x3b24c7){if(_0x23c0bd[_0x93e0('0x5d')]['id']){delete _0x23c0bd[_0x93e0('0x5d')]['id'];}return db[_0x93e0('0x56')][_0x93e0('0x60')]({'where':{'id':_0x23c0bd[_0x93e0('0x61')]['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x3b24c7,null))[_0x93e0('0x10')](function(_0x5d3f09){if(_0x5d3f09){_0x23c0bd['body'][_0x93e0('0x66')]=_0x5d3f09['id'];return db['MailServerOut'][_0x93e0('0x68')](_0x23c0bd[_0x93e0('0x5d')]);}})[_0x93e0('0x10')](respondWithResult(_0x3b24c7,null))[_0x93e0('0x19')](handleError(_0x3b24c7,null));};exports[_0x93e0('0x81')]=function(_0x26a2ca,_0x4829ab){return db[_0x93e0('0x56')][_0x93e0('0x6a')]({'where':{'id':_0x26a2ca['params']['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x4829ab,null))[_0x93e0('0x10')](function(_0x4feb31){if(_0x4feb31){return _0x4feb31[_0x93e0('0x82')](null);}return null;})[_0x93e0('0x10')](respondWithStatusCode(_0x4829ab,null))[_0x93e0('0x19')](handleError(_0x4829ab,null));};exports[_0x93e0('0x83')]=function(_0x2c5a9d,_0x1d1ee3){return db[_0x93e0('0x84')]['find']({'where':{'id':_0x2c5a9d[_0x93e0('0x61')]['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x1d1ee3,null))[_0x93e0('0x10')](function(_0x244a35){if(_0x244a35){return _0x244a35[_0x93e0('0x83')](_0x2c5a9d[_0x93e0('0x5d')][_0x93e0('0x71')],_[_0x93e0('0x85')](_0x2c5a9d[_0x93e0('0x5d')],['ids','id'])||{});}})[_0x93e0('0x10')](respondWithResult(_0x1d1ee3,null))[_0x93e0('0x19')](handleError(_0x1d1ee3,null));};exports[_0x93e0('0x86')]=function(_0x37f1bf,_0x23e334){var _0x188868={'raw':![],'where':{}};var _0x3c1a0d={};var _0x479f24={'count':0x0,'rows':[]};return db[_0x93e0('0x56')][_0x93e0('0x6a')]({'where':{'id':_0x37f1bf[_0x93e0('0x61')]['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x23e334,null))[_0x93e0('0x10')](function(_0x326141){if(_0x326141){_0x3c1a0d[_0x93e0('0x4b')]=_[_0x93e0('0x5a')](db[_0x93e0('0x84')]['rawAttributes']);_0x3c1a0d[_0x93e0('0x47')]=_[_0x93e0('0x5a')](_0x37f1bf[_0x93e0('0x47')]);_0x3c1a0d[_0x93e0('0x48')]=_[_0x93e0('0x49')](_0x3c1a0d[_0x93e0('0x4b')],_0x3c1a0d[_0x93e0('0x47')]);_0x188868['attributes']=_[_0x93e0('0x49')](_0x3c1a0d['model'],qs['fields'](_0x37f1bf['query'][_0x93e0('0x4c')]));_0x188868[_0x93e0('0x4a')]=_0x188868[_0x93e0('0x4a')][_0x93e0('0x4d')]?_0x188868[_0x93e0('0x4a')]:_0x3c1a0d[_0x93e0('0x4b')];if(!_0x37f1bf[_0x93e0('0x47')][_0x93e0('0x4e')](_0x93e0('0x4f'))){_0x188868[_0x93e0('0x1e')]=qs['limit'](_0x37f1bf['query'][_0x93e0('0x1e')]);_0x188868[_0x93e0('0x1c')]=qs[_0x93e0('0x1c')](_0x37f1bf[_0x93e0('0x47')][_0x93e0('0x1c')]);}_0x188868[_0x93e0('0x50')]=qs[_0x93e0('0x51')](_0x37f1bf[_0x93e0('0x47')][_0x93e0('0x51')]);_0x188868['where']=qs['filters'](_[_0x93e0('0x53')](_0x37f1bf[_0x93e0('0x47')],_0x3c1a0d['filters']));_0x188868[_0x93e0('0x52')][_0x93e0('0x66')]=_0x326141['id'];if(_0x37f1bf['query']['filter']){_0x188868['where']=_[_0x93e0('0x54')](_0x188868[_0x93e0('0x52')],{'$or':_[_0x93e0('0x42')](_0x188868[_0x93e0('0x4a')],function(_0x1f64e7){var _0x40aa81={};_0x40aa81[_0x1f64e7]={'$like':'%'+_0x37f1bf['query'][_0x93e0('0x55')]+'%'};return _0x40aa81;})});}_0x188868=_[_0x93e0('0x54')]({},_0x188868,_0x37f1bf['options']);return db[_0x93e0('0x84')][_0x93e0('0x1f')]({'where':_0x188868[_0x93e0('0x52')]})[_0x93e0('0x10')](function(_0x500ece){_0x479f24[_0x93e0('0x1f')]=_0x500ece;if(_0x37f1bf[_0x93e0('0x47')][_0x93e0('0x5b')]){_0x188868[_0x93e0('0x57')]=[{'model':db['CmContact'],'as':_0x93e0('0x87'),'required':![]},{'model':db[_0x93e0('0x88')],'as':_0x93e0('0x89'),'attributes':['name',_0x93e0('0x8a'),_0x93e0('0x8b')],'required':![]},{'model':db[_0x93e0('0x8c')],'as':_0x93e0('0x8d'),'attributes':['id','name',_0x93e0('0x8e')],'where':_0x37f1bf[_0x93e0('0x47')][_0x93e0('0x8f')]?{'id':_0x37f1bf[_0x93e0('0x47')][_0x93e0('0x8f')]}:undefined,'required':_0x37f1bf['query'][_0x93e0('0x8f')]?!![]:![]}];}return db[_0x93e0('0x84')][_0x93e0('0x6b')](_0x188868);})['then'](function(_0x510ad7){_0x479f24[_0x93e0('0x58')]=_0x510ad7;return _0x479f24;});}})[_0x93e0('0x10')](respondWithFilteredResult(_0x23e334,_0x188868))['catch'](handleError(_0x23e334,null));};exports[_0x93e0('0x90')]=function addApplications(_0x3cab7d,_0x962e08){var _0x4cb4d6=_0x3cab7d['params']['id'];var _0x1f51d3=_0x3cab7d['body'];var _0x4b2064=0xc8;var _0x5759a5=null;return db[_0x93e0('0x91')]['transaction']({'isolationLevel':db[_0x93e0('0x91')][_0x93e0('0x92')][_0x93e0('0x93')][_0x93e0('0x94')]},function(_0x3bf5a5){return db[_0x93e0('0x56')][_0x93e0('0x6a')]({'where':{'id':_0x4cb4d6},'transaction':_0x3bf5a5})[_0x93e0('0x10')](function(_0x1009d8){if(_0x1009d8){return db[_0x93e0('0x95')][_0x93e0('0x26')]({'where':{'MailAccountId':_0x4cb4d6},'transaction':_0x3bf5a5})[_0x93e0('0x10')](function(){var _0x55524a=_[_0x93e0('0x42')](_0x1f51d3,function(_0x22a071){_0x22a071[_0x93e0('0x66')]=_0x4cb4d6;return _0x22a071;});return db[_0x93e0('0x95')][_0x93e0('0x96')](_0x55524a,{'transaction':_0x3bf5a5});});}else{_0x4b2064=0x194;_0x5759a5=[];}});})['then'](function(){if(_0x4b2064!==0x194){return db[_0x93e0('0x95')]['findAndCountAll']({'where':{'MailAccountId':_0x4cb4d6},'order':_0x93e0('0x97')})[_0x93e0('0x10')](function(_0x52e325){_0x5759a5=_0x52e325;});}})[_0x93e0('0x19')](function(_0x28243d){_0x4b2064=0x1f4;logger[_0x93e0('0x16')](_0x28243d[_0x93e0('0x98')]);if(_0x28243d[_0x93e0('0x27')]){delete _0x28243d[_0x93e0('0x27')];}_0x5759a5=_0x28243d;})['finally'](function(){if(_0x5759a5===null){_0x962e08['sendStatus'](_0x4b2064);}else{if(_0x4b2064===0x1f4){_0x962e08[_0x93e0('0x1a')](_0x4b2064)[_0x93e0('0x99')](_0x5759a5);}else{_0x962e08[_0x93e0('0x1a')](_0x4b2064)[_0x93e0('0x21')](_0x5759a5);}}});};exports['getApplications']=function(_0x2f23a2,_0x15eb1f){var _0x1c041a={};var _0x5b4159={};var _0x1c6fe2;var _0x39da90;return db[_0x93e0('0x56')][_0x93e0('0x6a')]({'where':{'id':_0x2f23a2[_0x93e0('0x61')]['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x15eb1f,null))[_0x93e0('0x10')](function(_0x8d6226){if(_0x8d6226){_0x1c6fe2=_0x8d6226;_0x5b4159[_0x93e0('0x4b')]=_[_0x93e0('0x5a')](db[_0x93e0('0x95')][_0x93e0('0x43')]);_0x5b4159[_0x93e0('0x47')]=_['keys'](_0x2f23a2[_0x93e0('0x47')]);_0x5b4159[_0x93e0('0x48')]=_[_0x93e0('0x49')](_0x5b4159[_0x93e0('0x4b')],_0x5b4159[_0x93e0('0x47')]);_0x1c041a['attributes']=_['intersection'](_0x5b4159[_0x93e0('0x4b')],qs['fields'](_0x2f23a2[_0x93e0('0x47')][_0x93e0('0x4c')]));_0x1c041a[_0x93e0('0x4a')]=_0x1c041a[_0x93e0('0x4a')][_0x93e0('0x4d')]?_0x1c041a[_0x93e0('0x4a')]:_0x5b4159['model'];_0x1c041a[_0x93e0('0x50')]=qs[_0x93e0('0x51')](_0x2f23a2['query'][_0x93e0('0x51')]);_0x1c041a[_0x93e0('0x52')]=qs[_0x93e0('0x48')](_[_0x93e0('0x53')](_0x2f23a2[_0x93e0('0x47')],_0x5b4159[_0x93e0('0x48')]));if(_0x2f23a2[_0x93e0('0x47')][_0x93e0('0x55')]){_0x1c041a[_0x93e0('0x52')]=_[_0x93e0('0x54')](_0x1c041a['where'],{'$or':_[_0x93e0('0x42')](_0x1c041a[_0x93e0('0x4a')],function(_0x147248){var _0x1c5210={};_0x1c5210[_0x147248]={'$like':'%'+_0x2f23a2[_0x93e0('0x47')][_0x93e0('0x55')]+'%'};return _0x1c5210;})});}_0x1c041a=_['merge']({},_0x1c041a,_0x2f23a2[_0x93e0('0x5c')]);return _0x1c6fe2[_0x93e0('0x9a')](_0x1c041a);}})['then'](function(_0x203af7){if(_0x203af7){_0x39da90=_0x203af7[_0x93e0('0x4d')];if(!_0x2f23a2[_0x93e0('0x47')][_0x93e0('0x4e')](_0x93e0('0x4f'))){_0x1c041a[_0x93e0('0x1e')]=qs[_0x93e0('0x1e')](_0x2f23a2[_0x93e0('0x47')][_0x93e0('0x1e')]);_0x1c041a['offset']=qs['offset'](_0x2f23a2[_0x93e0('0x47')]['offset']);}return _0x1c6fe2['getApplications'](_0x1c041a);}})[_0x93e0('0x10')](function(_0xcadc23){if(_0xcadc23){return _0xcadc23?{'count':_0x39da90,'rows':_0xcadc23}:null;}})[_0x93e0('0x10')](respondWithResult(_0x15eb1f,null))[_0x93e0('0x19')](handleError(_0x15eb1f,null));};exports[_0x93e0('0x9b')]=function(_0x111ed9,_0x12e83c){var _0x214cee={'raw':!![],'where':{}};var _0x220b9f={};var _0xd39822={'count':0x0,'rows':[]};return db[_0x93e0('0x56')][_0x93e0('0x6a')]({'where':{'id':_0x111ed9['params']['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x12e83c,null))[_0x93e0('0x10')](function(_0x5c4cdb){if(_0x5c4cdb){_0x220b9f[_0x93e0('0x4b')]=_['keys'](db[_0x93e0('0x9c')]['rawAttributes']);_0x220b9f[_0x93e0('0x47')]=_['keys'](_0x111ed9['query']);_0x220b9f['filters']=_[_0x93e0('0x49')](_0x220b9f[_0x93e0('0x4b')],_0x220b9f[_0x93e0('0x47')]);_0x214cee[_0x93e0('0x4a')]=_[_0x93e0('0x49')](_0x220b9f[_0x93e0('0x4b')],qs[_0x93e0('0x4c')](_0x111ed9[_0x93e0('0x47')][_0x93e0('0x4c')]));_0x214cee[_0x93e0('0x4a')]=_0x214cee['attributes'][_0x93e0('0x4d')]?_0x214cee['attributes']:_0x220b9f[_0x93e0('0x4b')];if(!_0x111ed9['query'][_0x93e0('0x4e')](_0x93e0('0x4f'))){_0x214cee[_0x93e0('0x1e')]=qs[_0x93e0('0x1e')](_0x111ed9[_0x93e0('0x47')][_0x93e0('0x1e')]);_0x214cee['offset']=qs[_0x93e0('0x1c')](_0x111ed9[_0x93e0('0x47')]['offset']);}_0x214cee['order']=qs[_0x93e0('0x51')](_0x111ed9[_0x93e0('0x47')]['sort']);_0x214cee[_0x93e0('0x52')]=qs['filters'](_[_0x93e0('0x53')](_0x111ed9[_0x93e0('0x47')],_0x220b9f[_0x93e0('0x48')]));_0x214cee[_0x93e0('0x52')]['MailAccountId']=_0x5c4cdb['id'];if(_0x111ed9[_0x93e0('0x47')][_0x93e0('0x55')]){_0x214cee['where']=_['merge'](_0x214cee[_0x93e0('0x52')],{'$or':_[_0x93e0('0x42')](_0x214cee['attributes'],function(_0x3bc80b){var _0x3eff24={};_0x3eff24[_0x3bc80b]={'$like':'%'+_0x111ed9[_0x93e0('0x47')][_0x93e0('0x55')]+'%'};return _0x3eff24;})});}if(_0x111ed9[_0x93e0('0x47')][_0x93e0('0x9d')]){var _0x2dd363=_0x111ed9['query'][_0x93e0('0x9d')][_0x93e0('0x9e')](',');var _0x2a7535={};_0x2a7535[_0x2dd363[0x0]]={'$gte':moment(_0x2dd363[0x1])[_0x93e0('0x9f')](_0x93e0('0xa0'))};_0x214cee['where']=_[_0x93e0('0x54')](_0x214cee[_0x93e0('0x52')],_0x2a7535);}_0x214cee=_[_0x93e0('0x54')]({},_0x214cee,_0x111ed9['options']);return db[_0x93e0('0x9c')][_0x93e0('0x1f')]({'where':_0x214cee[_0x93e0('0x52')]})['then'](function(_0x7edfce){_0xd39822[_0x93e0('0x1f')]=_0x7edfce;if(_0x111ed9[_0x93e0('0x47')][_0x93e0('0x5b')]){_0x214cee[_0x93e0('0x57')]=[{'all':!![]}];}return db[_0x93e0('0x9c')][_0x93e0('0x6b')](_0x214cee);})[_0x93e0('0x10')](function(_0x18f4fb){if(_0x111ed9[_0x93e0('0x47')]['inlineCss']===_0x93e0('0xa1')){for(var _0x289787=0x0;_0x289787<_0x18f4fb[_0x93e0('0x4d')];_0x289787++){_0x18f4fb[_0x289787][_0x93e0('0x5d')]=juice(_0x18f4fb[_0x289787][_0x93e0('0x5d')]);}}_0xd39822['rows']=_0x18f4fb;return _0xd39822;});}})[_0x93e0('0x10')](respondWithFilteredResult(_0x12e83c,_0x214cee))['catch'](handleError(_0x12e83c,null));};exports[_0x93e0('0x99')]=function(_0x168071,_0xe3529a){var _0x1ff737,_0x2c273f={},_0x4f279e;if(_0x168071[_0x93e0('0x5d')]['to']){_0x4f279e=_0x168071[_0x93e0('0x5d')]['to']['split'](',')[0x0];}return db['MailAccount'][_0x93e0('0x60')]({'where':{'id':_0x168071[_0x93e0('0x61')]['id']},'include':[{'model':db['CmList'],'as':_0x93e0('0xa2'),'include':[{'model':db['CmContact'],'as':'Contacts','where':{'email':_0x4f279e},'limit':0x1,'order':[[_0x93e0('0xa3'),'DESC']]}]},{'model':db[_0x93e0('0x3f')],'as':_0x93e0('0x3c'),'raw':!![],'include':[{'model':db[_0x93e0('0xa4')],'as':_0x93e0('0xa4'),'raw':!![]}]}]})['then'](handleEntityNotFound(_0xe3529a,null))['then'](function(_0x187c7a){if(!_0x187c7a)return;_0x1ff737=_0x187c7a;if(!_0x187c7a['Smtp'])throw new Error(_0x93e0('0xa5'));if(_[_0x93e0('0x74')](_0x168071[_0x93e0('0x5d')][_0x93e0('0xa6')])){_0x168071[_0x93e0('0x5d')][_0x93e0('0xa6')]=util[_0x93e0('0x9f')](_0x93e0('0xa7'),_0x187c7a['name'],_0x187c7a[_0x93e0('0x72')]||_0x187c7a[_0x93e0('0x3c')][_0x93e0('0x31')]);}if(_0x168071[_0x93e0('0x5d')]['attachments']&&_0x168071[_0x93e0('0x5d')][_0x93e0('0xa8')][_0x93e0('0x4d')]){for(var _0x9c9070=0x0;_0x9c9070<_0x168071[_0x93e0('0x5d')][_0x93e0('0xa8')][_0x93e0('0x4d')];_0x9c9070+=0x1){_0x168071[_0x93e0('0x5d')][_0x93e0('0xa8')][_0x9c9070]={'filename':_0x168071['body']['attachments'][_0x9c9070][_0x93e0('0x27')],'path':path[_0x93e0('0xa9')](config[_0x93e0('0xaa')],'server/files/attachments',_0x168071[_0x93e0('0x5d')][_0x93e0('0xa8')][_0x9c9070][_0x93e0('0xab')])};}}var _0x46ee3b=_0x187c7a[_0x93e0('0xac')]();return respondWithRpcPromise(_0x93e0('0xad'),_0x93e0('0xae'),{'account':_0x46ee3b,'message':_0x168071['body']});})[_0x93e0('0x10')](function(_0x34c9a8){if(!_0x34c9a8)return;_0x2c273f=_0x34c9a8;if(!_0x1ff737[_0x93e0('0xa2')])throw new Error(_0x93e0('0xaf'));if(_0x1ff737[_0x93e0('0xa2')][_0x93e0('0xb0')][_0x93e0('0x4d')])return _0x1ff737[_0x93e0('0xa2')][_0x93e0('0xb0')][0x0];return db[_0x93e0('0xb1')][_0x93e0('0x68')](_[_0x93e0('0xb2')](_0x168071[_0x93e0('0x5d')],{'firstName':_0x168071[_0x93e0('0x5d')]['to'],'email':_0x168071[_0x93e0('0x5d')]['to'],'phone':_0x168071[_0x93e0('0x5d')]['to'],'ListId':_0x1ff737[_0x93e0('0x73')]}));})[_0x93e0('0x10')](function(_0x113cc6){if(!_0x113cc6)return;var _0x3fbb35={'UserId':_0x168071['user']['id'],'ContactId':_0x113cc6['id'],'MailAccountId':_0x1ff737['id'],'inReplyTo':_0x2c273f[_0x93e0('0xb3')],'to':_0x168071[_0x93e0('0x5d')][_0x93e0('0xa6')],'cc':_0x168071[_0x93e0('0x5d')]['cc'],'subject':_0x168071['body'][_0x93e0('0xb4')],'attach':_0x168071[_0x93e0('0x5d')][_0x93e0('0xb5')],'firstMsgDirection':_0x93e0('0xb6'),'lastMsgAt':moment()[_0x93e0('0x9f')]('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':_0x93e0('0xb6'),'Messages':[_[_0x93e0('0x54')](_0x168071[_0x93e0('0x5d')],{'messageId':_0x2c273f[_0x93e0('0xb3')],'sentAt':moment()[_0x93e0('0x9f')](_0x93e0('0xa0')),'read':!![],'MailAccountId':_0x1ff737['id'],'UserId':_0x168071[_0x93e0('0x31')]['id'],'ContactId':_0x113cc6['id']})]};if(_0x168071['body'][_0x93e0('0xb7')]){_0x3fbb35=_[_0x93e0('0x54')](_0x3fbb35,_0x168071[_0x93e0('0x5d')][_0x93e0('0xb7')]);}return db[_0x93e0('0x84')][_0x93e0('0x68')](_0x3fbb35,{'include':[{'model':db[_0x93e0('0x9c')],'as':'Messages'}]});})[_0x93e0('0x10')](respondWithResult(_0xe3529a,null))['catch'](handleError(_0xe3529a,null));};exports[_0x93e0('0xb8')]=function(_0x1c0055,_0x4db3d9){return db[_0x93e0('0x56')][_0x93e0('0x60')]({'where':{'id':_0x1c0055[_0x93e0('0x61')]['id']},'include':[{'model':db[_0x93e0('0x3f')],'as':_0x93e0('0x3c'),'raw':!![],'include':[{'model':db[_0x93e0('0xa4')],'as':_0x93e0('0xa4'),'raw':!![]}]}]})['then'](handleEntityNotFound(_0x4db3d9,null))[_0x93e0('0x10')](function(_0x4752e1){if(!_0x4752e1[_0x93e0('0x3c')])return;var _0x4fd3bf=_0x4752e1[_0x93e0('0xac')]();return respondWithRpcPromise(_0x93e0('0xb9'),_0x93e0('0xb8'),{'account':_0x4fd3bf});})[_0x93e0('0x10')](respondWithResult(_0x4db3d9,null))[_0x93e0('0x19')](handleError(_0x4db3d9,null));};exports[_0x93e0('0x26')]=function(_0x4b6a02,_0x4e1267){return db[_0x93e0('0x56')][_0x93e0('0x60')]({'where':{'id':_0x4b6a02[_0x93e0('0x61')]['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x4e1267,null))[_0x93e0('0x10')](function(_0x1b35ec){if(_0x1b35ec&&_0x1b35ec[_0x93e0('0x63')]){throw new db[(_0x93e0('0xba'))]['ValidationError'](_0x93e0('0xbb'));}return _0x1b35ec;})[_0x93e0('0x10')](removeEntity(_0x4e1267,null))['catch'](handleError(_0x4e1267,null));};exports[_0x93e0('0xbc')]=function(_0x5d2306,_0x585339){return db['MailAccount']['find']({'where':{'id':_0x5d2306[_0x93e0('0x61')]['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x585339,null))[_0x93e0('0x10')](function(_0x389481){if(_0x389481){return _0x389481[_0x93e0('0xbc')](_0x5d2306[_0x93e0('0x5d')][_0x93e0('0x71')],_[_0x93e0('0x85')](_0x5d2306['body'],[_0x93e0('0x71'),'id'])||{})[_0x93e0('0xbd')](function(_0x1f312b){for(var _0x4e314d=0x0;_0x4e314d<_0x5d2306[_0x93e0('0x5d')]['ids'][_0x93e0('0x4d')];_0x4e314d+=0x1){socket['emit'](_0x93e0('0xbe'),{'UserId':Number(_0x5d2306['body'][_0x93e0('0x71')][_0x4e314d]),'MailAccountId':Number(_0x5d2306['params']['id'])});}return _0x1f312b;});}})[_0x93e0('0x10')](respondWithResult(_0x585339,null))[_0x93e0('0x19')](handleError(_0x585339,null));};exports[_0x93e0('0xbf')]=function(_0x1212ff,_0x5b06fb){return db[_0x93e0('0x56')][_0x93e0('0x60')]({'where':{'id':_0x1212ff['params']['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x5b06fb,null))[_0x93e0('0x10')](function(_0x2a78dd){if(_0x2a78dd){return _0x2a78dd[_0x93e0('0xbf')](_0x1212ff[_0x93e0('0x47')][_0x93e0('0x71')])[_0x93e0('0x10')](function(){if(_[_0x93e0('0xc0')](_0x1212ff[_0x93e0('0x47')][_0x93e0('0x71')])){for(var _0x10bc8f=0x0;_0x10bc8f<_0x1212ff['query'][_0x93e0('0x71')]['length'];_0x10bc8f+=0x1){socket[_0x93e0('0xc1')](_0x93e0('0xc2'),{'UserId':Number(_0x1212ff[_0x93e0('0x47')][_0x93e0('0x71')][_0x10bc8f]),'MailAccountId':Number(_0x1212ff['params']['id'])});}}else{socket[_0x93e0('0xc1')]('userMailAccount:remove',{'UserId':Number(_0x1212ff[_0x93e0('0x47')][_0x93e0('0x71')]),'MailAccountId':Number(_0x1212ff[_0x93e0('0x61')]['id'])});}});}})['then'](respondWithStatusCode(_0x5b06fb,null))[_0x93e0('0x19')](handleError(_0x5b06fb,null));};exports[_0x93e0('0xc3')]=function(_0x5fae6f,_0x584e74){var _0x536366={};var _0x237ae1={};var _0x204da1;var _0x22492b;return db[_0x93e0('0x56')][_0x93e0('0x6a')]({'where':{'id':_0x5fae6f[_0x93e0('0x61')]['id']}})[_0x93e0('0x10')](handleEntityNotFound(_0x584e74,null))[_0x93e0('0x10')](function(_0x1069af){if(_0x1069af){_0x204da1=_0x1069af;_0x237ae1[_0x93e0('0x4b')]=_[_0x93e0('0x5a')](db[_0x93e0('0x88')][_0x93e0('0x43')]);_0x237ae1[_0x93e0('0x47')]=_[_0x93e0('0x5a')](_0x5fae6f['query']);_0x237ae1[_0x93e0('0x48')]=_['intersection'](_0x237ae1[_0x93e0('0x4b')],_0x237ae1[_0x93e0('0x47')]);_0x536366[_0x93e0('0x4a')]=_['intersection'](_0x237ae1['model'],qs[_0x93e0('0x4c')](_0x5fae6f[_0x93e0('0x47')][_0x93e0('0x4c')]));_0x536366[_0x93e0('0x4a')]=_0x536366[_0x93e0('0x4a')]['length']?_0x536366[_0x93e0('0x4a')]:_0x237ae1[_0x93e0('0x4b')];_0x536366[_0x93e0('0x50')]=qs[_0x93e0('0x51')](_0x5fae6f['query'][_0x93e0('0x51')]);_0x536366[_0x93e0('0x52')]=qs[_0x93e0('0x48')](_['pick'](_0x5fae6f[_0x93e0('0x47')],_0x237ae1[_0x93e0('0x48')]));if(_0x5fae6f[_0x93e0('0x47')]['filter']){_0x536366[_0x93e0('0x52')]=_[_0x93e0('0x54')](_0x536366['where'],{'$or':_[_0x93e0('0x42')](_0x536366[_0x93e0('0x4a')],function(_0x3a61fa){var _0x1ec062={};_0x1ec062[_0x3a61fa]={'$like':'%'+_0x5fae6f[_0x93e0('0x47')][_0x93e0('0x55')]+'%'};return _0x1ec062;})});}_0x536366=_[_0x93e0('0x54')]({},_0x536366,_0x5fae6f['options']);return _0x204da1[_0x93e0('0xc3')](_0x536366);}})[_0x93e0('0x10')](function(_0x5c619c){if(_0x5c619c){_0x22492b=_0x5c619c['length'];if(!_0x5fae6f['query']['hasOwnProperty'](_0x93e0('0x4f'))){_0x536366[_0x93e0('0x1e')]=qs[_0x93e0('0x1e')](_0x5fae6f['query'][_0x93e0('0x1e')]);_0x536366['offset']=qs[_0x93e0('0x1c')](_0x5fae6f[_0x93e0('0x47')]['offset']);}return _0x204da1[_0x93e0('0xc3')](_0x536366);}})[_0x93e0('0x10')](function(_0x15e8df){if(_0x15e8df){return _0x15e8df?{'count':_0x22492b,'rows':_0x15e8df}:null;}})[_0x93e0('0x10')](respondWithResult(_0x584e74,null))[_0x93e0('0x19')](handleError(_0x584e74,null));};