86358b7d10a6393b581bed045a54364743f92c9a
[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 _0x4972=['authentication','Imap','Smtp','index','MailServerIn','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','key','query','keys','filters','model','attributes','intersection','fields','order','sort','where','filter','merge','type','VIRTUAL','options','count','include','findAll','rows','params','includeAll','find','body','provider','custom','MailServerOut','describe','MailAccountId','Disposition','create','getDispositions','findOne','length','hasOwnProperty','pick','removeDispositions','ids','CannedAnswer','getAnswers','nolimit','email','ListId','isNil','active','description','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','getImap','addImap','removeImap','setImap','getSmtp','setSmtp','addInteraction','omit','getInteractions','MailInteraction','CmContact','Contact','Owner','fullname','internal','Tag','Tags','tag','addApplications','transaction','sequelize','Transaction','ISOLATION_LEVELS','MailApplication','bulkCreate','findAndCountAll','priority','finally','getApplications','getMessages','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','inlineCss','true','List','updatedAt','CloudProvider','Smtp\x20configuration\x20not\x20found','from','%s\x20<%s>','attachments','join','root','server/files/attachments','getSmtpOptions','SendMail','sendMail','List\x20not\x20found','Contacts','messageId','subject','attach','out','Interaction','verifySmtp','VerifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','removeAgents','isArray','emit','userMailAccount:remove','getAgents','User','moment','bluebird','util','path','lodash','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','redis','defaults','socket.io-emitter','register','jayson/promise','client','http','request','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','status','json','undefined','limit','offset','set','Content-Range','update','then','destroy','get','MailAccounts','UserProfileResource','sendStatus','stack','name','send','gmail','yahoo','hotmail','imap-mail.outlook.com','outlook365','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp.mail.yahoo.com','smtp-mail.outlook.com','user','username','pass','modernAuthentication','CloudProviderId','password','host','port','secure','service'];(function(_0x4d4a06,_0x30289a){var _0x1dbcd8=function(_0x30ed6e){while(--_0x30ed6e){_0x4d4a06['push'](_0x4d4a06['shift']());}};_0x1dbcd8(++_0x30289a);}(_0x4972,0x147));var _0x2497=function(_0x16d0dd,_0x4a2a0c){_0x16d0dd=_0x16d0dd-0x0;var _0x3b2db1=_0x4972[_0x16d0dd];return _0x3b2db1;};'use strict';var moment=require(_0x2497('0x0'));var BPromise=require(_0x2497('0x1'));var util=require(_0x2497('0x2'));var path=require(_0x2497('0x3'));var _=require(_0x2497('0x4'));var juice=require('juice');var Redis=require(_0x2497('0x5'));var qs=require(_0x2497('0x6'));var logger=require(_0x2497('0x7'))(_0x2497('0x8'));var config=require(_0x2497('0x9'));var db=require('../../mysqldb')['db'];config[_0x2497('0xa')]=_[_0x2497('0xb')](config[_0x2497('0xa')],{'host':'localhost','port':0x18eb});var socket=require(_0x2497('0xc'))(new Redis(config[_0x2497('0xa')]));require('./mailAccount.socket')[_0x2497('0xd')](socket);var jayson=require(_0x2497('0xe'));var client=jayson[_0x2497('0xf')][_0x2497('0x10')]({'port':0x232b});function respondWithRpcPromise(_0x8b912c,_0x305a55,_0x166b60,_0x5c2768){return new BPromise(function(_0x3a09c6,_0xb84633){var _0xf90360=_0x5c2768||client;return _0xf90360[_0x2497('0x11')](_0x8b912c,_0x166b60)['then'](function(_0x133bee){logger[_0x2497('0x12')](_0x2497('0x13'),_0x305a55,_0x2497('0x14'));logger[_0x2497('0x15')](_0x2497('0x16'),_0x305a55,_0x2497('0x14'),JSON[_0x2497('0x17')](_0x133bee));if(_0x133bee[_0x2497('0x18')]){if(_0x133bee[_0x2497('0x18')][_0x2497('0x19')]===0x1f4){logger[_0x2497('0x18')]('MailAccount,\x20%s,\x20%s',_0x305a55,_0x133bee[_0x2497('0x18')][_0x2497('0x1a')]);return _0xb84633(_0x133bee[_0x2497('0x18')][_0x2497('0x1a')]);}logger[_0x2497('0x18')]('MailAccount,\x20%s,\x20%s',_0x305a55,_0x133bee[_0x2497('0x18')]['message']);return _0x3a09c6(_0x133bee[_0x2497('0x18')][_0x2497('0x1a')]);}else{logger[_0x2497('0x12')]('MailAccount,\x20%s,\x20%s',_0x305a55,_0x2497('0x14'));_0x3a09c6(_0x133bee[_0x2497('0x1b')][_0x2497('0x1a')]);}})[_0x2497('0x1c')](function(_0x587a29){logger[_0x2497('0x18')](_0x2497('0x13'),_0x305a55,_0x587a29);_0xb84633(_0x587a29);});});}function respondWithStatusCode(_0x4daf5d,_0x543bbd){_0x543bbd=_0x543bbd||0xcc;return function(_0x52cc7b){if(_0x52cc7b){return _0x4daf5d['sendStatus'](_0x543bbd);}return _0x4daf5d[_0x2497('0x1d')](_0x543bbd)['end']();};}function respondWithResult(_0x16d93d,_0x43b11b){_0x43b11b=_0x43b11b||0xc8;return function(_0x2c6d89){if(_0x2c6d89){return _0x16d93d[_0x2497('0x1d')](_0x43b11b)[_0x2497('0x1e')](_0x2c6d89);}};}function respondWithFilteredResult(_0x3993f7,_0x5f2b6a){return function(_0x4c52f3){if(_0x4c52f3){var _0x2daeac=typeof _0x5f2b6a['offset']===_0x2497('0x1f')&&typeof _0x5f2b6a[_0x2497('0x20')]===_0x2497('0x1f');var _0x524801=_0x4c52f3['count'];var _0x22a81c=_0x2daeac?0x0:_0x5f2b6a[_0x2497('0x21')];var _0x381710=_0x2daeac?_0x4c52f3['count']:_0x5f2b6a[_0x2497('0x21')]+_0x5f2b6a[_0x2497('0x20')];var _0x510285;if(_0x381710>=_0x524801){_0x381710=_0x524801;_0x510285=0xc8;}else{_0x510285=0xce;}_0x3993f7[_0x2497('0x1d')](_0x510285);return _0x3993f7[_0x2497('0x22')](_0x2497('0x23'),_0x22a81c+'-'+_0x381710+'/'+_0x524801)[_0x2497('0x1e')](_0x4c52f3);}return null;};}function saveUpdates(_0x3039b4){return function(_0x421e2c){if(_0x421e2c){return _0x421e2c[_0x2497('0x24')](_0x3039b4)[_0x2497('0x25')](function(_0x5f296f){return _0x5f296f;});}return null;};}function removeEntity(_0x572159){return function(_0x2bdc16){if(_0x2bdc16){return _0x2bdc16[_0x2497('0x26')]()[_0x2497('0x25')](function(){var _0x1a3454=_0x2bdc16[_0x2497('0x27')]({'plain':!![]});var _0x3d62eb=_0x2497('0x28');return db[_0x2497('0x29')][_0x2497('0x26')]({'where':{'type':_0x3d62eb,'resourceId':_0x1a3454['id']}})[_0x2497('0x25')](function(){return _0x2bdc16;});})['then'](function(){_0x572159[_0x2497('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4d8ee4){return function(_0x52a559){if(!_0x52a559){_0x4d8ee4[_0x2497('0x2a')](0x194);}return _0x52a559;};}function handleError(_0x528dff,_0x43a574){_0x43a574=_0x43a574||0x1f4;return function(_0x48c7ab){logger[_0x2497('0x18')](_0x48c7ab[_0x2497('0x2b')]);if(_0x48c7ab[_0x2497('0x2c')]){delete _0x48c7ab[_0x2497('0x2c')];}_0x528dff[_0x2497('0x1d')](_0x43a574)[_0x2497('0x2d')](_0x48c7ab);};}function getImapHost(_0x2a8ebe){switch(_0x2a8ebe){case _0x2497('0x2e'):return'imap.gmail.com';case _0x2497('0x2f'):return'imap.mail.yahoo.com';case _0x2497('0x30'):return _0x2497('0x31');case _0x2497('0x32'):return _0x2497('0x33');}throw new Error(_0x2497('0x34'),_0x2a8ebe);}function getSmtpHost(_0x24c529){switch(_0x24c529){case'gmail':return'smtp.gmail.com';case _0x2497('0x2f'):return _0x2497('0x35');case _0x2497('0x30'):return _0x2497('0x36');case _0x2497('0x32'):return'smtp.office365.com';}throw new Error(_0x2497('0x34'),_0x24c529);}function getAuthenticationOptions(_0x1582f4,_0x32695c){var _0x221544={};var _0x54c000={};if(_0x1582f4){_0x221544[_0x2497('0x37')]=_0x54c000[_0x2497('0x37')]=_0x32695c[_0x2497('0x38')];_0x221544['password']=_0x54c000[_0x2497('0x39')]=_0x32695c['password'];if(_0x32695c[_0x2497('0x3a')]){_0x221544[_0x2497('0x3a')]=_0x54c000[_0x2497('0x3a')]=!![];_0x221544['CloudProviderId']=_0x54c000[_0x2497('0x3b')]=_0x32695c['CloudProviderId'];_0x221544[_0x2497('0x3c')]=_0x54c000[_0x2497('0x39')]=null;}else{_0x221544[_0x2497('0x3b')]=_0x54c000['CloudProviderId']=null;}_0x221544[_0x2497('0x3d')]=getImapHost(_0x1582f4);_0x221544[_0x2497('0x3e')]=0x3e1;_0x54c000[_0x2497('0x3d')]=getSmtpHost(_0x1582f4);_0x54c000[_0x2497('0x3e')]=0x24b;_0x54c000[_0x2497('0x3f')]=![];_0x221544[_0x2497('0x40')]=_0x54c000[_0x2497('0x40')]=null;}else{if(_0x32695c['authentication']){_0x221544[_0x2497('0x37')]=_0x54c000[_0x2497('0x37')]=_0x32695c[_0x2497('0x38')];_0x221544['password']=_0x54c000[_0x2497('0x39')]=_0x32695c[_0x2497('0x3c')];}else{_0x221544[_0x2497('0x41')]=_0x54c000['authentication']=![];_0x221544['user']=_0x54c000['user']=null;_0x221544[_0x2497('0x3c')]=_0x54c000['pass']=null;}_0x221544['host']=_0x32695c[_0x2497('0x42')][_0x2497('0x3d')];_0x221544['port']=_0x32695c[_0x2497('0x42')][_0x2497('0x3e')];_0x54c000['host']=_0x32695c[_0x2497('0x43')][_0x2497('0x3d')];_0x54c000[_0x2497('0x3e')]=_0x32695c[_0x2497('0x43')]['port'];}return{'Imap':_0x221544,'Smtp':_0x54c000};}exports[_0x2497('0x44')]=function(_0x1d7c35,_0x599d97){var _0x23c577={'include':[{'model':db[_0x2497('0x45')],'as':_0x2497('0x42')},{'model':db['MailServerOut'],'as':_0x2497('0x43')},{'model':db[_0x2497('0x46')],'as':_0x2497('0x47')}]},_0xd796a0={},_0x9ba9fd={'count':0x0,'rows':[]};var _0x5a8d7f=_[_0x2497('0x48')](db[_0x2497('0x49')][_0x2497('0x4a')],function(_0x1da57d){return{'name':_0x1da57d[_0x2497('0x4b')],'type':_0x1da57d['type'][_0x2497('0x4c')]};});_0xd796a0['model']=_[_0x2497('0x48')](_0x5a8d7f,_0x2497('0x2c'));_0xd796a0[_0x2497('0x4d')]=_[_0x2497('0x4e')](_0x1d7c35['query']);_0xd796a0[_0x2497('0x4f')]=_['intersection'](_0xd796a0[_0x2497('0x50')],_0xd796a0[_0x2497('0x4d')]);_0x23c577[_0x2497('0x51')]=_[_0x2497('0x52')](_0xd796a0[_0x2497('0x50')],qs[_0x2497('0x53')](_0x1d7c35[_0x2497('0x4d')][_0x2497('0x53')]));_0x23c577['attributes']=_0x23c577['attributes']['length']?_0x23c577[_0x2497('0x51')]:_0xd796a0['model'];if(!_0x1d7c35[_0x2497('0x4d')]['hasOwnProperty']('nolimit')){_0x23c577[_0x2497('0x20')]=qs['limit'](_0x1d7c35[_0x2497('0x4d')][_0x2497('0x20')]);_0x23c577[_0x2497('0x21')]=qs['offset'](_0x1d7c35['query']['offset']);}_0x23c577[_0x2497('0x54')]=qs['sort'](_0x1d7c35[_0x2497('0x4d')][_0x2497('0x55')]);_0x23c577[_0x2497('0x56')]=qs['filters'](_['pick'](_0x1d7c35['query'],_0xd796a0[_0x2497('0x4f')]),_0x5a8d7f);if(_0x1d7c35['query'][_0x2497('0x57')]){_0x23c577[_0x2497('0x56')]=_[_0x2497('0x58')](_0x23c577[_0x2497('0x56')],{'$or':_[_0x2497('0x48')](_0x5a8d7f,function(_0x43e221){if(_0x43e221[_0x2497('0x59')]!==_0x2497('0x5a')){var _0x8e2dd6={};_0x8e2dd6[_0x43e221[_0x2497('0x2c')]]={'$like':'%'+_0x1d7c35[_0x2497('0x4d')]['filter']+'%'};return _0x8e2dd6;}})});}_0x23c577=_[_0x2497('0x58')]({},_0x23c577,_0x1d7c35[_0x2497('0x5b')]);var _0x1766ba={'where':_0x23c577[_0x2497('0x56')]};return db[_0x2497('0x49')][_0x2497('0x5c')](_0x1766ba)[_0x2497('0x25')](function(_0x2858d7){_0x9ba9fd['count']=_0x2858d7;if(_0x1d7c35[_0x2497('0x4d')]['includeAll']){_0x23c577[_0x2497('0x5d')]=[{'all':!![]}];}return db[_0x2497('0x49')][_0x2497('0x5e')](_0x23c577);})[_0x2497('0x25')](function(_0x516401){_0x9ba9fd[_0x2497('0x5f')]=_0x516401;return _0x9ba9fd;})[_0x2497('0x25')](respondWithFilteredResult(_0x599d97,_0x23c577))['catch'](handleError(_0x599d97,null));};exports['show']=function(_0x1a6b49,_0x2b0974){var _0x2f818c={'raw':![],'where':{'id':_0x1a6b49[_0x2497('0x60')]['id']},'include':[{'model':db['MailServerIn'],'as':_0x2497('0x42')},{'model':db['MailServerOut'],'as':_0x2497('0x43')},{'model':db['Pause'],'as':_0x2497('0x47')}]},_0x2b5af5={};_0x2b5af5[_0x2497('0x50')]=_['keys'](db[_0x2497('0x49')]['rawAttributes']);_0x2b5af5[_0x2497('0x4d')]=_[_0x2497('0x4e')](_0x1a6b49[_0x2497('0x4d')]);_0x2b5af5[_0x2497('0x4f')]=_['intersection'](_0x2b5af5['model'],_0x2b5af5[_0x2497('0x4d')]);_0x2f818c[_0x2497('0x51')]=_[_0x2497('0x52')](_0x2b5af5[_0x2497('0x50')],qs['fields'](_0x1a6b49['query'][_0x2497('0x53')]));_0x2f818c[_0x2497('0x51')]=_0x2f818c['attributes']['length']?_0x2f818c[_0x2497('0x51')]:_0x2b5af5[_0x2497('0x50')];if(_0x1a6b49['query'][_0x2497('0x61')]){_0x2f818c[_0x2497('0x5d')]=[{'all':!![]}];}_0x2f818c=_['merge']({},_0x2f818c,_0x1a6b49[_0x2497('0x5b')]);return db['MailAccount'][_0x2497('0x62')](_0x2f818c)[_0x2497('0x25')](handleEntityNotFound(_0x2b0974,null))[_0x2497('0x25')](respondWithResult(_0x2b0974,null))[_0x2497('0x1c')](handleError(_0x2b0974,null));};exports[_0x2497('0x24')]=function(_0x3f786f,_0x15e3fa){if(_0x3f786f[_0x2497('0x63')]['id']){delete _0x3f786f[_0x2497('0x63')]['id'];}var _0x47871=_0x3f786f[_0x2497('0x63')][_0x2497('0x64')]===_0x2497('0x65')?null:_0x3f786f[_0x2497('0x63')][_0x2497('0x64')];var _0x2da442=_0x3f786f[_0x2497('0x63')][_0x2497('0x42')]||{};var _0x38e3fb=_0x3f786f[_0x2497('0x63')]['Smtp']||{};if(_0x47871){_0x2da442[_0x2497('0x3d')]=getImapHost(_0x47871);_0x2da442['port']=0x3e1;_0x38e3fb['host']=getSmtpHost(_0x47871);_0x38e3fb[_0x2497('0x3e')]=0x24b;_0x38e3fb['secure']=![];}if(_0x38e3fb[_0x2497('0x3a')]){_0x38e3fb[_0x2497('0x3f')]=![];}else{_0x38e3fb[_0x2497('0x3b')]=null;}if(!_0x2da442[_0x2497('0x3a')])_0x2da442[_0x2497('0x3b')]=null;_0x3f786f[_0x2497('0x63')]['Imap']=_0x2da442;_0x3f786f['body'][_0x2497('0x43')]=_0x38e3fb;return db[_0x2497('0x49')]['find']({'where':{'id':_0x3f786f[_0x2497('0x60')]['id']},'include':[{'model':db['MailServerIn'],'as':_0x2497('0x42')},{'model':db[_0x2497('0x66')],'as':_0x2497('0x43')},{'model':db[_0x2497('0x46')],'as':'mandatoryDispositionPause'}]})[_0x2497('0x25')](handleEntityNotFound(_0x15e3fa,null))[_0x2497('0x25')](function(_0x4427ed){if(!_0x4427ed)throw new Error('Mail\x20Account\x20not\x20found');if(_0x4427ed['service'])delete _0x3f786f[_0x2497('0x63')][_0x2497('0x42')];return _0x4427ed;})[_0x2497('0x25')](saveUpdates(_0x3f786f[_0x2497('0x63')],null))[_0x2497('0x25')](function(_0x4aa840){if(!_0x3f786f[_0x2497('0x63')][_0x2497('0x42')])return _0x4aa840;return db[_0x2497('0x45')]['update'](_0x3f786f[_0x2497('0x63')]['Imap'],{'where':{'MailAccountId':_0x4aa840['id']}})[_0x2497('0x25')](function(){return _0x4aa840;});})[_0x2497('0x25')](function(_0x463988){if(!_0x3f786f[_0x2497('0x63')]['Smtp'])return _0x463988;return db[_0x2497('0x66')][_0x2497('0x24')](_0x3f786f[_0x2497('0x63')][_0x2497('0x43')],{'where':{'MailAccountId':_0x463988['id']}})['then'](function(){return _0x463988;});})[_0x2497('0x25')](respondWithResult(_0x15e3fa,null))['catch'](handleError(_0x15e3fa,null));};exports[_0x2497('0x67')]=function(_0x237581,_0x4548e6){return db['MailAccount'][_0x2497('0x67')]()['then'](respondWithResult(_0x4548e6,null))[_0x2497('0x1c')](handleError(_0x4548e6,null));};exports['addDisposition']=function(_0x2024a0,_0x5d0f8c){if(_0x2024a0[_0x2497('0x63')]['id']){delete _0x2024a0[_0x2497('0x63')]['id'];}return db[_0x2497('0x49')][_0x2497('0x62')]({'where':{'id':_0x2024a0['params']['id']}})['then'](handleEntityNotFound(_0x5d0f8c,null))[_0x2497('0x25')](function(_0x20f04b){if(_0x20f04b){_0x2024a0['body'][_0x2497('0x68')]=_0x20f04b['id'];return db[_0x2497('0x69')][_0x2497('0x6a')](_0x2024a0[_0x2497('0x63')]);}})['then'](respondWithResult(_0x5d0f8c,null))[_0x2497('0x1c')](handleError(_0x5d0f8c,null));};exports[_0x2497('0x6b')]=function(_0x22ccaa,_0x154b9c){var _0x36a029={'raw':![],'where':{}};var _0x300f39={};var _0x5626a9={'count':0x0,'rows':[]};return db[_0x2497('0x49')][_0x2497('0x6c')]({'where':{'id':_0x22ccaa[_0x2497('0x60')]['id']}})['then'](handleEntityNotFound(_0x154b9c,null))['then'](function(_0x2187fe){if(_0x2187fe){_0x300f39[_0x2497('0x50')]=_[_0x2497('0x4e')](db[_0x2497('0x69')][_0x2497('0x4a')]);_0x300f39['query']=_[_0x2497('0x4e')](_0x22ccaa[_0x2497('0x4d')]);_0x300f39['filters']=_['intersection'](_0x300f39[_0x2497('0x50')],_0x300f39['query']);_0x36a029[_0x2497('0x51')]=_['intersection'](_0x300f39[_0x2497('0x50')],qs['fields'](_0x22ccaa['query'][_0x2497('0x53')]));_0x36a029[_0x2497('0x51')]=_0x36a029[_0x2497('0x51')][_0x2497('0x6d')]?_0x36a029[_0x2497('0x51')]:_0x300f39[_0x2497('0x50')];if(!_0x22ccaa[_0x2497('0x4d')][_0x2497('0x6e')]('nolimit')){_0x36a029[_0x2497('0x20')]=qs[_0x2497('0x20')](_0x22ccaa[_0x2497('0x4d')][_0x2497('0x20')]);_0x36a029[_0x2497('0x21')]=qs[_0x2497('0x21')](_0x22ccaa[_0x2497('0x4d')][_0x2497('0x21')]);}_0x36a029[_0x2497('0x54')]=qs['sort'](_0x22ccaa['query'][_0x2497('0x55')]);_0x36a029['where']=qs[_0x2497('0x4f')](_[_0x2497('0x6f')](_0x22ccaa['query'],_0x300f39[_0x2497('0x4f')]));_0x36a029[_0x2497('0x56')][_0x2497('0x68')]=_0x2187fe['id'];if(_0x22ccaa['query']['filter']){_0x36a029['where']=_['merge'](_0x36a029[_0x2497('0x56')],{'$or':_[_0x2497('0x48')](_0x36a029['attributes'],function(_0x206245){var _0x2ab358={};_0x2ab358[_0x206245]={'$like':'%'+_0x22ccaa[_0x2497('0x4d')][_0x2497('0x57')]+'%'};return _0x2ab358;})});}_0x36a029=_[_0x2497('0x58')]({},_0x36a029,_0x22ccaa[_0x2497('0x5b')]);return db[_0x2497('0x69')]['count']({'where':_0x36a029['where']})['then'](function(_0x563ff6){_0x5626a9['count']=_0x563ff6;if(_0x22ccaa[_0x2497('0x4d')][_0x2497('0x61')]){_0x36a029[_0x2497('0x5d')]=[{'all':!![]}];}return db[_0x2497('0x69')][_0x2497('0x5e')](_0x36a029);})[_0x2497('0x25')](function(_0x3639c6){_0x5626a9[_0x2497('0x5f')]=_0x3639c6;return _0x5626a9;});}})[_0x2497('0x25')](respondWithFilteredResult(_0x154b9c,_0x36a029))[_0x2497('0x1c')](handleError(_0x154b9c,null));};exports[_0x2497('0x70')]=function(_0x31164d,_0x20be21){return db[_0x2497('0x49')][_0x2497('0x62')]({'where':{'id':_0x31164d[_0x2497('0x60')]['id']}})['then'](handleEntityNotFound(_0x20be21,null))[_0x2497('0x25')](function(_0x4e7bd5){if(_0x4e7bd5){return _0x4e7bd5[_0x2497('0x70')](_0x31164d['query'][_0x2497('0x71')]);}})['then'](respondWithStatusCode(_0x20be21,null))['catch'](handleError(_0x20be21,null));};exports['addAnswer']=function(_0x562ecd,_0x1f4a87){if(_0x562ecd['body']['id']){delete _0x562ecd[_0x2497('0x63')]['id'];}return db['MailAccount']['find']({'where':{'id':_0x562ecd['params']['id']}})['then'](handleEntityNotFound(_0x1f4a87,null))['then'](function(_0xfea26b){if(_0xfea26b){_0x562ecd[_0x2497('0x63')][_0x2497('0x68')]=_0xfea26b['id'];return db[_0x2497('0x72')]['create'](_0x562ecd['body']);}})['then'](respondWithResult(_0x1f4a87,null))[_0x2497('0x1c')](handleError(_0x1f4a87,null));};exports[_0x2497('0x73')]=function(_0x2b1470,_0x381b8e){var _0x301eef={'raw':![],'where':{}};var _0xc6b551={};var _0x1bdc1f={'count':0x0,'rows':[]};return db[_0x2497('0x49')]['findOne']({'where':{'id':_0x2b1470[_0x2497('0x60')]['id']}})['then'](handleEntityNotFound(_0x381b8e,null))[_0x2497('0x25')](function(_0x5824d8){if(_0x5824d8){_0xc6b551['model']=_['keys'](db[_0x2497('0x72')]['rawAttributes']);_0xc6b551['query']=_[_0x2497('0x4e')](_0x2b1470[_0x2497('0x4d')]);_0xc6b551[_0x2497('0x4f')]=_[_0x2497('0x52')](_0xc6b551[_0x2497('0x50')],_0xc6b551[_0x2497('0x4d')]);_0x301eef[_0x2497('0x51')]=_[_0x2497('0x52')](_0xc6b551[_0x2497('0x50')],qs[_0x2497('0x53')](_0x2b1470[_0x2497('0x4d')]['fields']));_0x301eef[_0x2497('0x51')]=_0x301eef[_0x2497('0x51')][_0x2497('0x6d')]?_0x301eef['attributes']:_0xc6b551[_0x2497('0x50')];if(!_0x2b1470['query']['hasOwnProperty'](_0x2497('0x74'))){_0x301eef[_0x2497('0x20')]=qs['limit'](_0x2b1470['query']['limit']);_0x301eef[_0x2497('0x21')]=qs[_0x2497('0x21')](_0x2b1470[_0x2497('0x4d')]['offset']);}_0x301eef[_0x2497('0x54')]=qs[_0x2497('0x55')](_0x2b1470[_0x2497('0x4d')]['sort']);_0x301eef[_0x2497('0x56')]=qs[_0x2497('0x4f')](_[_0x2497('0x6f')](_0x2b1470[_0x2497('0x4d')],_0xc6b551[_0x2497('0x4f')]));_0x301eef[_0x2497('0x56')]['MailAccountId']=_0x5824d8['id'];if(_0x2b1470[_0x2497('0x4d')][_0x2497('0x57')]){_0x301eef[_0x2497('0x56')]=_[_0x2497('0x58')](_0x301eef[_0x2497('0x56')],{'$or':_[_0x2497('0x48')](_0x301eef['attributes'],function(_0x4f6a4f){var _0x19da7d={};_0x19da7d[_0x4f6a4f]={'$like':'%'+_0x2b1470[_0x2497('0x4d')]['filter']+'%'};return _0x19da7d;})});}_0x301eef=_['merge']({},_0x301eef,_0x2b1470[_0x2497('0x5b')]);return db[_0x2497('0x72')]['count']({'where':_0x301eef[_0x2497('0x56')]})['then'](function(_0x2f7f8e){_0x1bdc1f[_0x2497('0x5c')]=_0x2f7f8e;if(_0x2b1470[_0x2497('0x4d')][_0x2497('0x61')]){_0x301eef[_0x2497('0x5d')]=[{'all':!![]}];}return db['CannedAnswer'][_0x2497('0x5e')](_0x301eef);})[_0x2497('0x25')](function(_0x363ebf){_0x1bdc1f[_0x2497('0x5f')]=_0x363ebf;return _0x1bdc1f;});}})[_0x2497('0x25')](respondWithFilteredResult(_0x381b8e,_0x301eef))[_0x2497('0x1c')](handleError(_0x381b8e,null));};exports['removeAnswers']=function(_0x2fc593,_0x409bcb){return db[_0x2497('0x49')][_0x2497('0x62')]({'where':{'id':_0x2fc593[_0x2497('0x60')]['id']}})[_0x2497('0x25')](handleEntityNotFound(_0x409bcb,null))['then'](function(_0x28eef5){if(_0x28eef5){return _0x28eef5['removeAnswers'](_0x2fc593[_0x2497('0x4d')][_0x2497('0x71')]);}})['then'](respondWithStatusCode(_0x409bcb,null))['catch'](handleError(_0x409bcb,null));};exports[_0x2497('0x6a')]=function(_0xc6b87b,_0x1891a7){var _0x277e89={'name':_0xc6b87b['body'][_0x2497('0x2c')],'key':_0xc6b87b[_0x2497('0x63')][_0x2497('0x4c')],'provider':_0xc6b87b[_0x2497('0x63')][_0x2497('0x64')]===_0x2497('0x65')?null:_0xc6b87b[_0x2497('0x63')][_0x2497('0x64')],'email':_0xc6b87b[_0x2497('0x63')][_0x2497('0x75')],'ListId':_0xc6b87b['body'][_0x2497('0x76')],'active':!_[_0x2497('0x77')](_0xc6b87b[_0x2497('0x63')][_0x2497('0x78')])?_0xc6b87b[_0x2497('0x63')][_0x2497('0x78')]:!![],'description':_0xc6b87b[_0x2497('0x63')][_0x2497('0x79')]||null};var _0x3fc74c=getAuthenticationOptions(_0x277e89['provider'],_0xc6b87b[_0x2497('0x63')]);_0x277e89[_0x2497('0x42')]=_0x3fc74c[_0x2497('0x42')];_0x277e89[_0x2497('0x43')]=_0x3fc74c['Smtp'];return db[_0x2497('0x49')]['create'](_0x277e89,{'include':[{'model':db[_0x2497('0x66')],'as':_0x2497('0x43')},{'model':db[_0x2497('0x45')],'as':'Imap'}]})[_0x2497('0x25')](function(_0x42cc51){var _0x4ac2c9=_0xc6b87b['user'][_0x2497('0x27')]({'plain':!![]});if(!_0x4ac2c9)throw new Error(_0x2497('0x7a'));if(_0x4ac2c9[_0x2497('0x7b')]===_0x2497('0x37')){var _0x2c273f=_0x42cc51[_0x2497('0x27')]({'plain':!![]});return db[_0x2497('0x7c')]['find']({'where':{'name':'MailAccounts','userProfileId':_0x4ac2c9[_0x2497('0x7d')]},'raw':!![]})[_0x2497('0x25')](function(_0x3e744b){if(_0x3e744b&&_0x3e744b['autoAssociation']===0x0){return db[_0x2497('0x29')][_0x2497('0x6a')]({'name':_0x2c273f['name'],'resourceId':_0x2c273f['id'],'type':_0x3e744b[_0x2497('0x2c')],'sectionId':_0x3e744b['id']},{})['then'](function(){return _0x42cc51;});}else{return _0x42cc51;}})['catch'](function(_0x351e22){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x351e22);throw _0x351e22;});}return _0x42cc51;})[_0x2497('0x25')](respondWithResult(_0x1891a7,0xc9))[_0x2497('0x1c')](handleError(_0x1891a7,null));};exports[_0x2497('0x7e')]=function(_0x2084fe,_0x158ea9){return db[_0x2497('0x49')][_0x2497('0x6c')]({'where':{'id':_0x2084fe[_0x2497('0x60')]['id']}})[_0x2497('0x25')](handleEntityNotFound(_0x158ea9,null))[_0x2497('0x25')](function(_0x685839){if(_0x685839){return _0x685839[_0x2497('0x7e')]();}return null;})[_0x2497('0x25')](respondWithResult(_0x158ea9,null))[_0x2497('0x1c')](handleError(_0x158ea9,null));};exports[_0x2497('0x7f')]=function(_0x5c56e2,_0x55d80d){if(_0x5c56e2[_0x2497('0x63')]['id']){delete _0x5c56e2[_0x2497('0x63')]['id'];}return db['MailAccount'][_0x2497('0x62')]({'where':{'id':_0x5c56e2[_0x2497('0x60')]['id']}})[_0x2497('0x25')](handleEntityNotFound(_0x55d80d,null))[_0x2497('0x25')](function(_0x1d9923){if(_0x1d9923){_0x5c56e2['body']['MailAccountId']=_0x1d9923['id'];return db['MailServerIn'][_0x2497('0x6a')](_0x5c56e2[_0x2497('0x63')]);}})[_0x2497('0x25')](respondWithResult(_0x55d80d,null))[_0x2497('0x1c')](handleError(_0x55d80d,null));};exports[_0x2497('0x80')]=function(_0x1b2062,_0x4d2abf){return db['MailAccount'][_0x2497('0x6c')]({'where':{'id':_0x1b2062['params']['id']}})[_0x2497('0x25')](handleEntityNotFound(_0x4d2abf,null))[_0x2497('0x25')](function(_0x6faf39){if(_0x6faf39){return _0x6faf39[_0x2497('0x81')](null);}return null;})['then'](respondWithStatusCode(_0x4d2abf,null))[_0x2497('0x1c')](handleError(_0x4d2abf,null));};exports[_0x2497('0x82')]=function(_0x415003,_0x42f30a){return db[_0x2497('0x49')][_0x2497('0x6c')]({'where':{'id':_0x415003[_0x2497('0x60')]['id']}})[_0x2497('0x25')](handleEntityNotFound(_0x42f30a,null))['then'](function(_0x48be62){if(_0x48be62){return _0x48be62[_0x2497('0x82')]();}return null;})[_0x2497('0x25')](respondWithResult(_0x42f30a,null))[_0x2497('0x1c')](handleError(_0x42f30a,null));};exports['addSmtp']=function(_0x298b53,_0x16a555){if(_0x298b53[_0x2497('0x63')]['id']){delete _0x298b53[_0x2497('0x63')]['id'];}return db[_0x2497('0x49')][_0x2497('0x62')]({'where':{'id':_0x298b53[_0x2497('0x60')]['id']}})[_0x2497('0x25')](handleEntityNotFound(_0x16a555,null))[_0x2497('0x25')](function(_0x8173f4){if(_0x8173f4){_0x298b53[_0x2497('0x63')][_0x2497('0x68')]=_0x8173f4['id'];return db['MailServerOut'][_0x2497('0x6a')](_0x298b53['body']);}})['then'](respondWithResult(_0x16a555,null))[_0x2497('0x1c')](handleError(_0x16a555,null));};exports['removeSmtp']=function(_0x3faed1,_0xb1c62f){return db[_0x2497('0x49')][_0x2497('0x6c')]({'where':{'id':_0x3faed1[_0x2497('0x60')]['id']}})['then'](handleEntityNotFound(_0xb1c62f,null))[_0x2497('0x25')](function(_0x51d5b0){if(_0x51d5b0){return _0x51d5b0[_0x2497('0x83')](null);}return null;})[_0x2497('0x25')](respondWithStatusCode(_0xb1c62f,null))[_0x2497('0x1c')](handleError(_0xb1c62f,null));};exports[_0x2497('0x84')]=function(_0xc4a0f9,_0x2e5fb9){return db['MailInteraction'][_0x2497('0x62')]({'where':{'id':_0xc4a0f9[_0x2497('0x60')]['id']}})[_0x2497('0x25')](handleEntityNotFound(_0x2e5fb9,null))[_0x2497('0x25')](function(_0x41f0e7){if(_0x41f0e7){return _0x41f0e7['addInteraction'](_0xc4a0f9[_0x2497('0x63')][_0x2497('0x71')],_[_0x2497('0x85')](_0xc4a0f9[_0x2497('0x63')],['ids','id'])||{});}})[_0x2497('0x25')](respondWithResult(_0x2e5fb9,null))[_0x2497('0x1c')](handleError(_0x2e5fb9,null));};exports[_0x2497('0x86')]=function(_0x2ba042,_0x4829b2){var _0x6dfacb={'raw':![],'where':{}};var _0x3f99c0={};var _0x117b6c={'count':0x0,'rows':[]};return db['MailAccount']['findOne']({'where':{'id':_0x2ba042[_0x2497('0x60')]['id']}})[_0x2497('0x25')](handleEntityNotFound(_0x4829b2,null))[_0x2497('0x25')](function(_0x3d8ad7){if(_0x3d8ad7){_0x3f99c0[_0x2497('0x50')]=_[_0x2497('0x4e')](db[_0x2497('0x87')]['rawAttributes']);_0x3f99c0['query']=_[_0x2497('0x4e')](_0x2ba042['query']);_0x3f99c0['filters']=_[_0x2497('0x52')](_0x3f99c0[_0x2497('0x50')],_0x3f99c0['query']);_0x6dfacb[_0x2497('0x51')]=_['intersection'](_0x3f99c0[_0x2497('0x50')],qs[_0x2497('0x53')](_0x2ba042[_0x2497('0x4d')][_0x2497('0x53')]));_0x6dfacb[_0x2497('0x51')]=_0x6dfacb[_0x2497('0x51')][_0x2497('0x6d')]?_0x6dfacb[_0x2497('0x51')]:_0x3f99c0[_0x2497('0x50')];if(!_0x2ba042[_0x2497('0x4d')][_0x2497('0x6e')](_0x2497('0x74'))){_0x6dfacb['limit']=qs[_0x2497('0x20')](_0x2ba042['query'][_0x2497('0x20')]);_0x6dfacb[_0x2497('0x21')]=qs[_0x2497('0x21')](_0x2ba042['query'][_0x2497('0x21')]);}_0x6dfacb[_0x2497('0x54')]=qs[_0x2497('0x55')](_0x2ba042[_0x2497('0x4d')]['sort']);_0x6dfacb[_0x2497('0x56')]=qs[_0x2497('0x4f')](_[_0x2497('0x6f')](_0x2ba042[_0x2497('0x4d')],_0x3f99c0['filters']));_0x6dfacb['where']['MailAccountId']=_0x3d8ad7['id'];if(_0x2ba042[_0x2497('0x4d')][_0x2497('0x57')]){_0x6dfacb[_0x2497('0x56')]=_['merge'](_0x6dfacb['where'],{'$or':_[_0x2497('0x48')](_0x6dfacb[_0x2497('0x51')],function(_0x5b551d){var _0x3ddb0a={};_0x3ddb0a[_0x5b551d]={'$like':'%'+_0x2ba042['query'][_0x2497('0x57')]+'%'};return _0x3ddb0a;})});}_0x6dfacb=_['merge']({},_0x6dfacb,_0x2ba042['options']);return db[_0x2497('0x87')][_0x2497('0x5c')]({'where':_0x6dfacb[_0x2497('0x56')]})[_0x2497('0x25')](function(_0x184340){_0x117b6c[_0x2497('0x5c')]=_0x184340;if(_0x2ba042[_0x2497('0x4d')][_0x2497('0x61')]){_0x6dfacb['include']=[{'model':db[_0x2497('0x88')],'as':_0x2497('0x89'),'required':![]},{'model':db['User'],'as':_0x2497('0x8a'),'attributes':[_0x2497('0x2c'),_0x2497('0x8b'),_0x2497('0x8c')],'required':![]},{'model':db[_0x2497('0x8d')],'as':_0x2497('0x8e'),'attributes':['id',_0x2497('0x2c'),'color'],'where':_0x2ba042[_0x2497('0x4d')][_0x2497('0x8f')]?{'id':_0x2ba042[_0x2497('0x4d')][_0x2497('0x8f')]}:undefined,'required':_0x2ba042[_0x2497('0x4d')]['tag']?!![]:![]}];}return db[_0x2497('0x87')]['findAll'](_0x6dfacb);})[_0x2497('0x25')](function(_0x1d6a7c){_0x117b6c[_0x2497('0x5f')]=_0x1d6a7c;return _0x117b6c;});}})[_0x2497('0x25')](respondWithFilteredResult(_0x4829b2,_0x6dfacb))['catch'](handleError(_0x4829b2,null));};exports[_0x2497('0x90')]=function addApplications(_0x18c181,_0x465af4){var _0x3b76f3=_0x18c181[_0x2497('0x60')]['id'];var _0x2fd5ec=_0x18c181[_0x2497('0x63')];var _0x245a9d=0xc8;var _0xf55640=null;return db['sequelize'][_0x2497('0x91')]({'isolationLevel':db[_0x2497('0x92')][_0x2497('0x93')][_0x2497('0x94')]['READ_COMMITTED']},function(_0x1f2113){return db['MailAccount'][_0x2497('0x6c')]({'where':{'id':_0x3b76f3},'transaction':_0x1f2113})[_0x2497('0x25')](function(_0xc40a9a){if(_0xc40a9a){return db[_0x2497('0x95')][_0x2497('0x26')]({'where':{'MailAccountId':_0x3b76f3},'transaction':_0x1f2113})[_0x2497('0x25')](function(){var _0x566480=_[_0x2497('0x48')](_0x2fd5ec,function(_0x21c99a){_0x21c99a[_0x2497('0x68')]=_0x3b76f3;return _0x21c99a;});return db['MailApplication'][_0x2497('0x96')](_0x566480,{'transaction':_0x1f2113});});}else{_0x245a9d=0x194;_0xf55640=[];}});})[_0x2497('0x25')](function(){if(_0x245a9d!==0x194){return db[_0x2497('0x95')][_0x2497('0x97')]({'where':{'MailAccountId':_0x3b76f3},'order':_0x2497('0x98')})[_0x2497('0x25')](function(_0x53c341){_0xf55640=_0x53c341;});}})[_0x2497('0x1c')](function(_0x1b2d11){_0x245a9d=0x1f4;logger[_0x2497('0x18')](_0x1b2d11[_0x2497('0x2b')]);if(_0x1b2d11['name']){delete _0x1b2d11[_0x2497('0x2c')];}_0xf55640=_0x1b2d11;})[_0x2497('0x99')](function(){if(_0xf55640===null){_0x465af4[_0x2497('0x2a')](_0x245a9d);}else{if(_0x245a9d===0x1f4){_0x465af4[_0x2497('0x1d')](_0x245a9d)[_0x2497('0x2d')](_0xf55640);}else{_0x465af4[_0x2497('0x1d')](_0x245a9d)['json'](_0xf55640);}}});};exports['getApplications']=function(_0xcdc12b,_0x32ca8e){var _0x5b0f74={};var _0x26eb39={};var _0x43df9c;var _0x34687e;return db[_0x2497('0x49')][_0x2497('0x6c')]({'where':{'id':_0xcdc12b[_0x2497('0x60')]['id']}})[_0x2497('0x25')](handleEntityNotFound(_0x32ca8e,null))['then'](function(_0x2771b7){if(_0x2771b7){_0x43df9c=_0x2771b7;_0x26eb39['model']=_[_0x2497('0x4e')](db['MailApplication'][_0x2497('0x4a')]);_0x26eb39[_0x2497('0x4d')]=_[_0x2497('0x4e')](_0xcdc12b[_0x2497('0x4d')]);_0x26eb39['filters']=_['intersection'](_0x26eb39[_0x2497('0x50')],_0x26eb39[_0x2497('0x4d')]);_0x5b0f74['attributes']=_['intersection'](_0x26eb39[_0x2497('0x50')],qs[_0x2497('0x53')](_0xcdc12b[_0x2497('0x4d')][_0x2497('0x53')]));_0x5b0f74[_0x2497('0x51')]=_0x5b0f74[_0x2497('0x51')][_0x2497('0x6d')]?_0x5b0f74[_0x2497('0x51')]:_0x26eb39[_0x2497('0x50')];_0x5b0f74['order']=qs[_0x2497('0x55')](_0xcdc12b[_0x2497('0x4d')][_0x2497('0x55')]);_0x5b0f74['where']=qs[_0x2497('0x4f')](_[_0x2497('0x6f')](_0xcdc12b['query'],_0x26eb39[_0x2497('0x4f')]));if(_0xcdc12b[_0x2497('0x4d')][_0x2497('0x57')]){_0x5b0f74[_0x2497('0x56')]=_[_0x2497('0x58')](_0x5b0f74[_0x2497('0x56')],{'$or':_[_0x2497('0x48')](_0x5b0f74[_0x2497('0x51')],function(_0x35a552){var _0x4e6213={};_0x4e6213[_0x35a552]={'$like':'%'+_0xcdc12b[_0x2497('0x4d')][_0x2497('0x57')]+'%'};return _0x4e6213;})});}_0x5b0f74=_['merge']({},_0x5b0f74,_0xcdc12b['options']);return _0x43df9c[_0x2497('0x9a')](_0x5b0f74);}})[_0x2497('0x25')](function(_0x9e39bc){if(_0x9e39bc){_0x34687e=_0x9e39bc['length'];if(!_0xcdc12b[_0x2497('0x4d')][_0x2497('0x6e')](_0x2497('0x74'))){_0x5b0f74[_0x2497('0x20')]=qs[_0x2497('0x20')](_0xcdc12b['query'][_0x2497('0x20')]);_0x5b0f74['offset']=qs[_0x2497('0x21')](_0xcdc12b[_0x2497('0x4d')]['offset']);}return _0x43df9c[_0x2497('0x9a')](_0x5b0f74);}})[_0x2497('0x25')](function(_0x446b79){if(_0x446b79){return _0x446b79?{'count':_0x34687e,'rows':_0x446b79}:null;}})[_0x2497('0x25')](respondWithResult(_0x32ca8e,null))['catch'](handleError(_0x32ca8e,null));};exports[_0x2497('0x9b')]=function(_0x369fb1,_0x4504d2){var _0x551b7a={'raw':!![],'where':{}};var _0x30d88e={};var _0x32efc4={'count':0x0,'rows':[]};return db[_0x2497('0x49')]['findOne']({'where':{'id':_0x369fb1[_0x2497('0x60')]['id']}})[_0x2497('0x25')](handleEntityNotFound(_0x4504d2,null))['then'](function(_0x53df94){if(_0x53df94){_0x30d88e[_0x2497('0x50')]=_[_0x2497('0x4e')](db['MailMessage'][_0x2497('0x4a')]);_0x30d88e[_0x2497('0x4d')]=_[_0x2497('0x4e')](_0x369fb1[_0x2497('0x4d')]);_0x30d88e[_0x2497('0x4f')]=_[_0x2497('0x52')](_0x30d88e[_0x2497('0x50')],_0x30d88e[_0x2497('0x4d')]);_0x551b7a[_0x2497('0x51')]=_['intersection'](_0x30d88e[_0x2497('0x50')],qs['fields'](_0x369fb1[_0x2497('0x4d')][_0x2497('0x53')]));_0x551b7a[_0x2497('0x51')]=_0x551b7a[_0x2497('0x51')]['length']?_0x551b7a['attributes']:_0x30d88e[_0x2497('0x50')];if(!_0x369fb1['query'][_0x2497('0x6e')](_0x2497('0x74'))){_0x551b7a['limit']=qs['limit'](_0x369fb1[_0x2497('0x4d')][_0x2497('0x20')]);_0x551b7a['offset']=qs[_0x2497('0x21')](_0x369fb1[_0x2497('0x4d')][_0x2497('0x21')]);}_0x551b7a[_0x2497('0x54')]=qs['sort'](_0x369fb1[_0x2497('0x4d')]['sort']);_0x551b7a['where']=qs[_0x2497('0x4f')](_[_0x2497('0x6f')](_0x369fb1[_0x2497('0x4d')],_0x30d88e[_0x2497('0x4f')]));_0x551b7a[_0x2497('0x56')][_0x2497('0x68')]=_0x53df94['id'];if(_0x369fb1[_0x2497('0x4d')][_0x2497('0x57')]){_0x551b7a[_0x2497('0x56')]=_['merge'](_0x551b7a[_0x2497('0x56')],{'$or':_[_0x2497('0x48')](_0x551b7a[_0x2497('0x51')],function(_0x58b5b2){var _0x11dc10={};_0x11dc10[_0x58b5b2]={'$like':'%'+_0x369fb1['query'][_0x2497('0x57')]+'%'};return _0x11dc10;})});}if(_0x369fb1['query']['$gte']){var _0x2e846b=_0x369fb1[_0x2497('0x4d')][_0x2497('0x9c')][_0x2497('0x9d')](',');var _0x557951={};_0x557951[_0x2e846b[0x0]]={'$gte':moment(_0x2e846b[0x1])[_0x2497('0x9e')](_0x2497('0x9f'))};_0x551b7a[_0x2497('0x56')]=_[_0x2497('0x58')](_0x551b7a[_0x2497('0x56')],_0x557951);}_0x551b7a=_[_0x2497('0x58')]({},_0x551b7a,_0x369fb1[_0x2497('0x5b')]);return db[_0x2497('0xa0')]['count']({'where':_0x551b7a[_0x2497('0x56')]})[_0x2497('0x25')](function(_0x5cbe73){_0x32efc4[_0x2497('0x5c')]=_0x5cbe73;if(_0x369fb1[_0x2497('0x4d')][_0x2497('0x61')]){_0x551b7a[_0x2497('0x5d')]=[{'all':!![]}];}return db[_0x2497('0xa0')][_0x2497('0x5e')](_0x551b7a);})[_0x2497('0x25')](function(_0xfbebbd){if(_0x369fb1[_0x2497('0x4d')][_0x2497('0xa1')]===_0x2497('0xa2')){for(var _0x1b788c=0x0;_0x1b788c<_0xfbebbd[_0x2497('0x6d')];_0x1b788c++){_0xfbebbd[_0x1b788c]['body']=juice(_0xfbebbd[_0x1b788c][_0x2497('0x63')]);}}_0x32efc4[_0x2497('0x5f')]=_0xfbebbd;return _0x32efc4;});}})[_0x2497('0x25')](respondWithFilteredResult(_0x4504d2,_0x551b7a))[_0x2497('0x1c')](handleError(_0x4504d2,null));};exports[_0x2497('0x2d')]=function(_0x2a7e7d,_0xfbda00){var _0x5eed33,_0x1705f7={},_0x3e17e0;if(_0x2a7e7d[_0x2497('0x63')]['to']){_0x3e17e0=_0x2a7e7d['body']['to'][_0x2497('0x9d')](',')[0x0];}return db[_0x2497('0x49')][_0x2497('0x62')]({'where':{'id':_0x2a7e7d[_0x2497('0x60')]['id']},'include':[{'model':db['CmList'],'as':_0x2497('0xa3'),'include':[{'model':db['CmContact'],'as':'Contacts','where':{'email':_0x3e17e0},'limit':0x1,'order':[[_0x2497('0xa4'),'DESC']]}]},{'model':db['MailServerOut'],'as':_0x2497('0x43'),'raw':!![],'include':[{'model':db[_0x2497('0xa5')],'as':'CloudProvider','raw':!![]}]}]})[_0x2497('0x25')](handleEntityNotFound(_0xfbda00,null))[_0x2497('0x25')](function(_0x1faa3a){if(!_0x1faa3a)return;_0x5eed33=_0x1faa3a;if(!_0x1faa3a[_0x2497('0x43')])throw new Error(_0x2497('0xa6'));if(_[_0x2497('0x77')](_0x2a7e7d[_0x2497('0x63')][_0x2497('0xa7')])){_0x2a7e7d[_0x2497('0x63')][_0x2497('0xa7')]=util[_0x2497('0x9e')](_0x2497('0xa8'),_0x1faa3a['name'],_0x1faa3a[_0x2497('0x75')]||_0x1faa3a[_0x2497('0x43')][_0x2497('0x37')]);}if(_0x2a7e7d[_0x2497('0x63')][_0x2497('0xa9')]&&_0x2a7e7d[_0x2497('0x63')][_0x2497('0xa9')][_0x2497('0x6d')]){for(var _0x171deb=0x0;_0x171deb<_0x2a7e7d[_0x2497('0x63')]['attachments'][_0x2497('0x6d')];_0x171deb+=0x1){_0x2a7e7d[_0x2497('0x63')]['attachments'][_0x171deb]={'filename':_0x2a7e7d[_0x2497('0x63')][_0x2497('0xa9')][_0x171deb][_0x2497('0x2c')],'path':path[_0x2497('0xaa')](config[_0x2497('0xab')],_0x2497('0xac'),_0x2a7e7d['body'][_0x2497('0xa9')][_0x171deb]['basename'])};}}var _0x57ff29=_0x1faa3a[_0x2497('0xad')]();return respondWithRpcPromise(_0x2497('0xae'),_0x2497('0xaf'),{'account':_0x57ff29,'message':_0x2a7e7d[_0x2497('0x63')]});})[_0x2497('0x25')](function(_0x4a54a2){if(!_0x4a54a2)return;_0x1705f7=_0x4a54a2;if(!_0x5eed33[_0x2497('0xa3')])throw new Error(_0x2497('0xb0'));if(_0x5eed33[_0x2497('0xa3')][_0x2497('0xb1')][_0x2497('0x6d')])return _0x5eed33[_0x2497('0xa3')][_0x2497('0xb1')][0x0];return db[_0x2497('0x88')][_0x2497('0x6a')](_[_0x2497('0xb')](_0x2a7e7d['body'],{'firstName':_0x2a7e7d[_0x2497('0x63')]['to'],'email':_0x2a7e7d[_0x2497('0x63')]['to'],'phone':_0x2a7e7d[_0x2497('0x63')]['to'],'ListId':_0x5eed33[_0x2497('0x76')]}));})[_0x2497('0x25')](function(_0x128446){if(!_0x128446)return;var _0x3af709={'UserId':_0x2a7e7d[_0x2497('0x37')]['id'],'ContactId':_0x128446['id'],'MailAccountId':_0x5eed33['id'],'inReplyTo':_0x1705f7[_0x2497('0xb2')],'to':_0x2a7e7d['body'][_0x2497('0xa7')],'cc':_0x2a7e7d[_0x2497('0x63')]['cc'],'subject':_0x2a7e7d[_0x2497('0x63')][_0x2497('0xb3')],'attach':_0x2a7e7d[_0x2497('0x63')][_0x2497('0xb4')],'firstMsgDirection':'out','lastMsgAt':moment()[_0x2497('0x9e')](_0x2497('0x9f')),'lastMsgDirection':_0x2497('0xb5'),'Messages':[_[_0x2497('0x58')](_0x2a7e7d[_0x2497('0x63')],{'messageId':_0x1705f7[_0x2497('0xb2')],'sentAt':moment()[_0x2497('0x9e')](_0x2497('0x9f')),'read':!![],'MailAccountId':_0x5eed33['id'],'UserId':_0x2a7e7d[_0x2497('0x37')]['id'],'ContactId':_0x128446['id']})]};if(_0x2a7e7d['body'][_0x2497('0xb6')]){_0x3af709=_[_0x2497('0x58')](_0x3af709,_0x2a7e7d[_0x2497('0x63')][_0x2497('0xb6')]);}return db[_0x2497('0x87')][_0x2497('0x6a')](_0x3af709,{'include':[{'model':db[_0x2497('0xa0')],'as':'Messages'}]});})[_0x2497('0x25')](respondWithResult(_0xfbda00,null))['catch'](handleError(_0xfbda00,null));};exports[_0x2497('0xb7')]=function(_0xf4e867,_0x3b33f0){return db[_0x2497('0x49')][_0x2497('0x62')]({'where':{'id':_0xf4e867[_0x2497('0x60')]['id']},'include':[{'model':db[_0x2497('0x66')],'as':'Smtp','raw':!![],'include':[{'model':db[_0x2497('0xa5')],'as':_0x2497('0xa5'),'raw':!![]}]}]})['then'](handleEntityNotFound(_0x3b33f0,null))['then'](function(_0x1fe4c8){if(!_0x1fe4c8[_0x2497('0x43')])return;var _0x1a50a7=_0x1fe4c8['getSmtpOptions']();return respondWithRpcPromise(_0x2497('0xb8'),_0x2497('0xb7'),{'account':_0x1a50a7});})[_0x2497('0x25')](respondWithResult(_0x3b33f0,null))[_0x2497('0x1c')](handleError(_0x3b33f0,null));};exports[_0x2497('0x26')]=function(_0x12fdfc,_0x1e55fc){return db[_0x2497('0x49')]['find']({'where':{'id':_0x12fdfc[_0x2497('0x60')]['id']}})[_0x2497('0x25')](handleEntityNotFound(_0x1e55fc,null))['then'](function(_0x147783){if(_0x147783&&_0x147783[_0x2497('0x40')]){throw new db[(_0x2497('0xb9'))][(_0x2497('0xba'))](_0x2497('0xbb'));}return _0x147783;})[_0x2497('0x25')](removeEntity(_0x1e55fc,null))['catch'](handleError(_0x1e55fc,null));};exports[_0x2497('0xbc')]=function(_0x1bc85c,_0x25a4b2){return db['MailAccount'][_0x2497('0x62')]({'where':{'id':_0x1bc85c[_0x2497('0x60')]['id']}})[_0x2497('0x25')](handleEntityNotFound(_0x25a4b2,null))[_0x2497('0x25')](function(_0x156a1b){if(_0x156a1b){return _0x156a1b['addAgents'](_0x1bc85c[_0x2497('0x63')][_0x2497('0x71')],_['omit'](_0x1bc85c[_0x2497('0x63')],[_0x2497('0x71'),'id'])||{})[_0x2497('0xbd')](function(_0x46ab95){for(var _0x5546b6=0x0;_0x5546b6<_0x1bc85c[_0x2497('0x63')][_0x2497('0x71')][_0x2497('0x6d')];_0x5546b6+=0x1){socket['emit']('userMailAccount:save',{'UserId':Number(_0x1bc85c['body']['ids'][_0x5546b6]),'MailAccountId':Number(_0x1bc85c[_0x2497('0x60')]['id'])});}return _0x46ab95;});}})[_0x2497('0x25')](respondWithResult(_0x25a4b2,null))['catch'](handleError(_0x25a4b2,null));};exports[_0x2497('0xbe')]=function(_0xe7dd1a,_0x17e77b){return db[_0x2497('0x49')]['find']({'where':{'id':_0xe7dd1a['params']['id']}})[_0x2497('0x25')](handleEntityNotFound(_0x17e77b,null))[_0x2497('0x25')](function(_0x1df4d6){if(_0x1df4d6){return _0x1df4d6[_0x2497('0xbe')](_0xe7dd1a[_0x2497('0x4d')][_0x2497('0x71')])['then'](function(){if(_[_0x2497('0xbf')](_0xe7dd1a[_0x2497('0x4d')][_0x2497('0x71')])){for(var _0x3fd1b2=0x0;_0x3fd1b2<_0xe7dd1a[_0x2497('0x4d')][_0x2497('0x71')][_0x2497('0x6d')];_0x3fd1b2+=0x1){socket[_0x2497('0xc0')]('userMailAccount:remove',{'UserId':Number(_0xe7dd1a['query'][_0x2497('0x71')][_0x3fd1b2]),'MailAccountId':Number(_0xe7dd1a['params']['id'])});}}else{socket[_0x2497('0xc0')](_0x2497('0xc1'),{'UserId':Number(_0xe7dd1a['query'][_0x2497('0x71')]),'MailAccountId':Number(_0xe7dd1a['params']['id'])});}});}})['then'](respondWithStatusCode(_0x17e77b,null))['catch'](handleError(_0x17e77b,null));};exports[_0x2497('0xc2')]=function(_0x3f1cd8,_0x5e16ad){var _0x2864c3={};var _0x217fd5={};var _0x3dc4b4;var _0xc03799;return db[_0x2497('0x49')][_0x2497('0x6c')]({'where':{'id':_0x3f1cd8[_0x2497('0x60')]['id']}})[_0x2497('0x25')](handleEntityNotFound(_0x5e16ad,null))[_0x2497('0x25')](function(_0xaffbc5){if(_0xaffbc5){_0x3dc4b4=_0xaffbc5;_0x217fd5[_0x2497('0x50')]=_['keys'](db[_0x2497('0xc3')]['rawAttributes']);_0x217fd5[_0x2497('0x4d')]=_[_0x2497('0x4e')](_0x3f1cd8['query']);_0x217fd5[_0x2497('0x4f')]=_[_0x2497('0x52')](_0x217fd5[_0x2497('0x50')],_0x217fd5[_0x2497('0x4d')]);_0x2864c3[_0x2497('0x51')]=_[_0x2497('0x52')](_0x217fd5['model'],qs[_0x2497('0x53')](_0x3f1cd8[_0x2497('0x4d')][_0x2497('0x53')]));_0x2864c3[_0x2497('0x51')]=_0x2864c3[_0x2497('0x51')][_0x2497('0x6d')]?_0x2864c3[_0x2497('0x51')]:_0x217fd5[_0x2497('0x50')];_0x2864c3[_0x2497('0x54')]=qs[_0x2497('0x55')](_0x3f1cd8[_0x2497('0x4d')][_0x2497('0x55')]);_0x2864c3['where']=qs[_0x2497('0x4f')](_[_0x2497('0x6f')](_0x3f1cd8[_0x2497('0x4d')],_0x217fd5[_0x2497('0x4f')]));if(_0x3f1cd8[_0x2497('0x4d')]['filter']){_0x2864c3['where']=_[_0x2497('0x58')](_0x2864c3[_0x2497('0x56')],{'$or':_[_0x2497('0x48')](_0x2864c3[_0x2497('0x51')],function(_0x50f8a6){var _0x5a247b={};_0x5a247b[_0x50f8a6]={'$like':'%'+_0x3f1cd8['query'][_0x2497('0x57')]+'%'};return _0x5a247b;})});}_0x2864c3=_['merge']({},_0x2864c3,_0x3f1cd8[_0x2497('0x5b')]);return _0x3dc4b4['getAgents'](_0x2864c3);}})['then'](function(_0x383fcd){if(_0x383fcd){_0xc03799=_0x383fcd['length'];if(!_0x3f1cd8[_0x2497('0x4d')]['hasOwnProperty'](_0x2497('0x74'))){_0x2864c3[_0x2497('0x20')]=qs[_0x2497('0x20')](_0x3f1cd8[_0x2497('0x4d')][_0x2497('0x20')]);_0x2864c3[_0x2497('0x21')]=qs[_0x2497('0x21')](_0x3f1cd8[_0x2497('0x4d')][_0x2497('0x21')]);}return _0x3dc4b4[_0x2497('0xc2')](_0x2864c3);}})['then'](function(_0x5cd5a9){if(_0x5cd5a9){return _0x5cd5a9?{'count':_0xc03799,'rows':_0x5cd5a9}:null;}})[_0x2497('0x25')](respondWithResult(_0x5e16ad,null))[_0x2497('0x1c')](handleError(_0x5e16ad,null));};