Built motion from commit b0a9a629.|2.6.33
[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 _0xa5a5=['ids','CannedAnswer','pick','removeAnswers','ListId','active','description','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','MailAccounts','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','removeImap','setImap','getSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','getInteractions','User','Owner','fullname','internal','Tag','Tags','tag','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','priority','getApplications','MailMessage','$gte','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','true','CmList','List','CmContact','Contacts','CloudProvider','Smtp\x20configuration\x20not\x20found','isNil','from','%s\x20<%s>','join','root','server/files/attachments','basename','sendMail','List\x20not\x20found','subject','attach','out','messageId','Interaction','Messages','verifySmtp','getSmtpOptions','VerifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','omit','spread','emit','userMailAccount:save','removeAgents','userMailAccount:remove','getAgents','moment','lodash','juice','ioredis','../../components/parsers/qs','api','../../config/environment','redis','defaults','localhost','socket.io-emitter','register','jayson/promise','http','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','error','code','message','catch','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','update','destroy','UserProfileResource','stack','name','send','gmail','yahoo','imap-mail.outlook.com','outlook365','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp.gmail.com','hotmail','smtp-mail.outlook.com','user','username','password','pass','CloudProviderId','host','port','service','authentication','Imap','MailServerIn','MailServerOut','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','where','merge','VIRTUAL','includeAll','include','findAll','rows','Smtp','length','options','body','provider','secure','modernAuthentication','find','params','Mail\x20Account\x20not\x20found','describe','MailAccountId','Disposition','create','getDispositions','findOne','filter','removeDispositions'];(function(_0x445699,_0x19168b){var _0x431ac0=function(_0x328e14){while(--_0x328e14){_0x445699['push'](_0x445699['shift']());}};_0x431ac0(++_0x19168b);}(_0xa5a5,0x105));var _0x5a5a=function(_0xc0a3d3,_0x2c8d00){_0xc0a3d3=_0xc0a3d3-0x0;var _0x3386e8=_0xa5a5[_0xc0a3d3];return _0x3386e8;};'use strict';var moment=require(_0x5a5a('0x0'));var BPromise=require('bluebird');var util=require('util');var path=require('path');var _=require(_0x5a5a('0x1'));var juice=require(_0x5a5a('0x2'));var Redis=require(_0x5a5a('0x3'));var qs=require(_0x5a5a('0x4'));var logger=require('../../config/logger')(_0x5a5a('0x5'));var config=require(_0x5a5a('0x6'));var db=require('../../mysqldb')['db'];config[_0x5a5a('0x7')]=_[_0x5a5a('0x8')](config[_0x5a5a('0x7')],{'host':_0x5a5a('0x9'),'port':0x18eb});var socket=require(_0x5a5a('0xa'))(new Redis(config[_0x5a5a('0x7')]));require('./mailAccount.socket')[_0x5a5a('0xb')](socket);var jayson=require(_0x5a5a('0xc'));var client=jayson['client'][_0x5a5a('0xd')]({'port':0x232b});function respondWithRpcPromise(_0x326946,_0x2b58b7,_0x190fbc,_0x5aeb75){return new BPromise(function(_0x3cada5,_0x3e8fa2){var _0x5d212a=_0x5aeb75||client;return _0x5d212a['request'](_0x326946,_0x190fbc)[_0x5a5a('0xe')](function(_0xd6a2e8){logger[_0x5a5a('0xf')](_0x5a5a('0x10'),_0x2b58b7,_0x5a5a('0x11'));logger[_0x5a5a('0x12')](_0x5a5a('0x13'),_0x2b58b7,_0x5a5a('0x11'),JSON['stringify'](_0xd6a2e8));if(_0xd6a2e8[_0x5a5a('0x14')]){if(_0xd6a2e8[_0x5a5a('0x14')][_0x5a5a('0x15')]===0x1f4){logger[_0x5a5a('0x14')]('MailAccount,\x20%s,\x20%s',_0x2b58b7,_0xd6a2e8[_0x5a5a('0x14')]['message']);return _0x3e8fa2(_0xd6a2e8[_0x5a5a('0x14')]['message']);}logger[_0x5a5a('0x14')](_0x5a5a('0x10'),_0x2b58b7,_0xd6a2e8[_0x5a5a('0x14')][_0x5a5a('0x16')]);return _0x3cada5(_0xd6a2e8[_0x5a5a('0x14')][_0x5a5a('0x16')]);}else{logger['info'](_0x5a5a('0x10'),_0x2b58b7,_0x5a5a('0x11'));_0x3cada5(_0xd6a2e8['result'][_0x5a5a('0x16')]);}})[_0x5a5a('0x17')](function(_0x1c2497){logger[_0x5a5a('0x14')](_0x5a5a('0x10'),_0x2b58b7,_0x1c2497);_0x3e8fa2(_0x1c2497);});});}function respondWithStatusCode(_0x1f5acb,_0x30f1b4){_0x30f1b4=_0x30f1b4||0xcc;return function(_0x5b2ea9){if(_0x5b2ea9){return _0x1f5acb[_0x5a5a('0x18')](_0x30f1b4);}return _0x1f5acb[_0x5a5a('0x19')](_0x30f1b4)[_0x5a5a('0x1a')]();};}function respondWithResult(_0xe02f6f,_0x3f3761){_0x3f3761=_0x3f3761||0xc8;return function(_0x15f7e7){if(_0x15f7e7){return _0xe02f6f[_0x5a5a('0x19')](_0x3f3761)[_0x5a5a('0x1b')](_0x15f7e7);}};}function respondWithFilteredResult(_0x3cefb4,_0x40058d){return function(_0x3cbc35){if(_0x3cbc35){var _0x3f76ad=typeof _0x40058d[_0x5a5a('0x1c')]===_0x5a5a('0x1d')&&typeof _0x40058d[_0x5a5a('0x1e')]===_0x5a5a('0x1d');var _0x1f0a41=_0x3cbc35[_0x5a5a('0x1f')];var _0x1b789b=_0x3f76ad?0x0:_0x40058d[_0x5a5a('0x1c')];var _0x400ee7=_0x3f76ad?_0x3cbc35[_0x5a5a('0x1f')]:_0x40058d[_0x5a5a('0x1c')]+_0x40058d[_0x5a5a('0x1e')];var _0x30b63a;if(_0x400ee7>=_0x1f0a41){_0x400ee7=_0x1f0a41;_0x30b63a=0xc8;}else{_0x30b63a=0xce;}_0x3cefb4['status'](_0x30b63a);return _0x3cefb4[_0x5a5a('0x20')](_0x5a5a('0x21'),_0x1b789b+'-'+_0x400ee7+'/'+_0x1f0a41)['json'](_0x3cbc35);}return null;};}function saveUpdates(_0x2f908d){return function(_0x3a7ea5){if(_0x3a7ea5){return _0x3a7ea5[_0x5a5a('0x22')](_0x2f908d)[_0x5a5a('0xe')](function(_0x31d9e4){return _0x31d9e4;});}return null;};}function removeEntity(_0x397b12){return function(_0x5affc0){if(_0x5affc0){return _0x5affc0[_0x5a5a('0x23')]()[_0x5a5a('0xe')](function(){var _0x57a971=_0x5affc0['get']({'plain':!![]});var _0x1dd4af='MailAccounts';return db[_0x5a5a('0x24')][_0x5a5a('0x23')]({'where':{'type':_0x1dd4af,'resourceId':_0x57a971['id']}})[_0x5a5a('0xe')](function(){return _0x5affc0;});})[_0x5a5a('0xe')](function(){_0x397b12['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x3d079c){return function(_0x118a07){if(!_0x118a07){_0x3d079c[_0x5a5a('0x18')](0x194);}return _0x118a07;};}function handleError(_0x4e65b4,_0x3e070c){_0x3e070c=_0x3e070c||0x1f4;return function(_0x2786ce){logger[_0x5a5a('0x14')](_0x2786ce[_0x5a5a('0x25')]);if(_0x2786ce[_0x5a5a('0x26')]){delete _0x2786ce[_0x5a5a('0x26')];}_0x4e65b4[_0x5a5a('0x19')](_0x3e070c)[_0x5a5a('0x27')](_0x2786ce);};}function getImapHost(_0x183caa){switch(_0x183caa){case _0x5a5a('0x28'):return'imap.gmail.com';case _0x5a5a('0x29'):return'imap.mail.yahoo.com';case'hotmail':return _0x5a5a('0x2a');case _0x5a5a('0x2b'):return _0x5a5a('0x2c');}throw new Error(_0x5a5a('0x2d'),_0x183caa);}function getSmtpHost(_0x5e74d7){switch(_0x5e74d7){case _0x5a5a('0x28'):return _0x5a5a('0x2e');case _0x5a5a('0x29'):return'smtp.mail.yahoo.com';case _0x5a5a('0x2f'):return _0x5a5a('0x30');case _0x5a5a('0x2b'):return'smtp.office365.com';}throw new Error(_0x5a5a('0x2d'),_0x5e74d7);}function getAuthenticationOptions(_0x1ae9b3,_0x676aa2){var _0x272c59={};var _0x451f40={};if(_0x1ae9b3){_0x272c59[_0x5a5a('0x31')]=_0x451f40[_0x5a5a('0x31')]=_0x676aa2[_0x5a5a('0x32')];_0x272c59[_0x5a5a('0x33')]=_0x451f40[_0x5a5a('0x34')]=_0x676aa2['password'];if(_0x676aa2['modernAuthentication']){_0x272c59['modernAuthentication']=_0x451f40['modernAuthentication']=!![];_0x272c59[_0x5a5a('0x35')]=_0x451f40[_0x5a5a('0x35')]=_0x676aa2[_0x5a5a('0x35')];_0x272c59[_0x5a5a('0x33')]=_0x451f40[_0x5a5a('0x34')]=null;}else{_0x272c59[_0x5a5a('0x35')]=_0x451f40[_0x5a5a('0x35')]=null;}_0x272c59[_0x5a5a('0x36')]=getImapHost(_0x1ae9b3);_0x272c59[_0x5a5a('0x37')]=0x3e1;_0x451f40[_0x5a5a('0x36')]=getSmtpHost(_0x1ae9b3);_0x451f40['port']=0x24b;_0x451f40['secure']=![];_0x272c59[_0x5a5a('0x38')]=_0x451f40[_0x5a5a('0x38')]=null;}else{if(_0x676aa2[_0x5a5a('0x39')]){_0x272c59['user']=_0x451f40['user']=_0x676aa2[_0x5a5a('0x32')];_0x272c59[_0x5a5a('0x33')]=_0x451f40[_0x5a5a('0x34')]=_0x676aa2[_0x5a5a('0x33')];}else{_0x272c59[_0x5a5a('0x39')]=_0x451f40['authentication']=![];_0x272c59[_0x5a5a('0x31')]=_0x451f40[_0x5a5a('0x31')]=null;_0x272c59['password']=_0x451f40[_0x5a5a('0x34')]=null;}_0x272c59[_0x5a5a('0x36')]=_0x676aa2['Imap']['host'];_0x272c59[_0x5a5a('0x37')]=_0x676aa2[_0x5a5a('0x3a')][_0x5a5a('0x37')];_0x451f40[_0x5a5a('0x36')]=_0x676aa2['Smtp']['host'];_0x451f40['port']=_0x676aa2['Smtp'][_0x5a5a('0x37')];}return{'Imap':_0x272c59,'Smtp':_0x451f40};}exports['index']=function(_0x4c20f2,_0x16b7cd){var _0xfa7006={'include':[{'model':db[_0x5a5a('0x3b')],'as':_0x5a5a('0x3a')},{'model':db[_0x5a5a('0x3c')],'as':'Smtp'},{'model':db[_0x5a5a('0x3d')],'as':_0x5a5a('0x3e')}]},_0x462f21={},_0x5d325e={'count':0x0,'rows':[]};var _0x2e5891=_[_0x5a5a('0x3f')](db[_0x5a5a('0x40')][_0x5a5a('0x41')],function(_0x2b6f9f){return{'name':_0x2b6f9f[_0x5a5a('0x42')],'type':_0x2b6f9f[_0x5a5a('0x43')][_0x5a5a('0x44')]};});_0x462f21['model']=_[_0x5a5a('0x3f')](_0x2e5891,'name');_0x462f21[_0x5a5a('0x45')]=_[_0x5a5a('0x46')](_0x4c20f2[_0x5a5a('0x45')]);_0x462f21[_0x5a5a('0x47')]=_[_0x5a5a('0x48')](_0x462f21[_0x5a5a('0x49')],_0x462f21[_0x5a5a('0x45')]);_0xfa7006[_0x5a5a('0x4a')]=_[_0x5a5a('0x48')](_0x462f21['model'],qs[_0x5a5a('0x4b')](_0x4c20f2[_0x5a5a('0x45')][_0x5a5a('0x4b')]));_0xfa7006[_0x5a5a('0x4a')]=_0xfa7006[_0x5a5a('0x4a')]['length']?_0xfa7006[_0x5a5a('0x4a')]:_0x462f21[_0x5a5a('0x49')];if(!_0x4c20f2[_0x5a5a('0x45')][_0x5a5a('0x4c')](_0x5a5a('0x4d'))){_0xfa7006[_0x5a5a('0x1e')]=qs['limit'](_0x4c20f2[_0x5a5a('0x45')][_0x5a5a('0x1e')]);_0xfa7006[_0x5a5a('0x1c')]=qs[_0x5a5a('0x1c')](_0x4c20f2['query']['offset']);}_0xfa7006[_0x5a5a('0x4e')]=qs['sort'](_0x4c20f2[_0x5a5a('0x45')][_0x5a5a('0x4f')]);_0xfa7006[_0x5a5a('0x50')]=qs[_0x5a5a('0x47')](_['pick'](_0x4c20f2[_0x5a5a('0x45')],_0x462f21['filters']),_0x2e5891);if(_0x4c20f2[_0x5a5a('0x45')]['filter']){_0xfa7006['where']=_[_0x5a5a('0x51')](_0xfa7006[_0x5a5a('0x50')],{'$or':_[_0x5a5a('0x3f')](_0x2e5891,function(_0x5a04f1){if(_0x5a04f1[_0x5a5a('0x43')]!==_0x5a5a('0x52')){var _0x5a3baa={};_0x5a3baa[_0x5a04f1[_0x5a5a('0x26')]]={'$like':'%'+_0x4c20f2[_0x5a5a('0x45')]['filter']+'%'};return _0x5a3baa;}})});}_0xfa7006=_[_0x5a5a('0x51')]({},_0xfa7006,_0x4c20f2['options']);var _0xf4d22b={'where':_0xfa7006['where']};return db[_0x5a5a('0x40')][_0x5a5a('0x1f')](_0xf4d22b)[_0x5a5a('0xe')](function(_0x5b40b8){_0x5d325e[_0x5a5a('0x1f')]=_0x5b40b8;if(_0x4c20f2[_0x5a5a('0x45')][_0x5a5a('0x53')]){_0xfa7006[_0x5a5a('0x54')]=[{'all':!![]}];}return db['MailAccount'][_0x5a5a('0x55')](_0xfa7006);})[_0x5a5a('0xe')](function(_0x22362c){_0x5d325e[_0x5a5a('0x56')]=_0x22362c;return _0x5d325e;})[_0x5a5a('0xe')](respondWithFilteredResult(_0x16b7cd,_0xfa7006))[_0x5a5a('0x17')](handleError(_0x16b7cd,null));};exports['show']=function(_0x378e53,_0x5472d1){var _0x5e288c={'raw':![],'where':{'id':_0x378e53['params']['id']},'include':[{'model':db[_0x5a5a('0x3b')],'as':_0x5a5a('0x3a')},{'model':db['MailServerOut'],'as':_0x5a5a('0x57')},{'model':db[_0x5a5a('0x3d')],'as':_0x5a5a('0x3e')}]},_0x4e224a={};_0x4e224a['model']=_[_0x5a5a('0x46')](db[_0x5a5a('0x40')][_0x5a5a('0x41')]);_0x4e224a['query']=_[_0x5a5a('0x46')](_0x378e53[_0x5a5a('0x45')]);_0x4e224a['filters']=_['intersection'](_0x4e224a[_0x5a5a('0x49')],_0x4e224a[_0x5a5a('0x45')]);_0x5e288c[_0x5a5a('0x4a')]=_['intersection'](_0x4e224a[_0x5a5a('0x49')],qs[_0x5a5a('0x4b')](_0x378e53[_0x5a5a('0x45')][_0x5a5a('0x4b')]));_0x5e288c['attributes']=_0x5e288c[_0x5a5a('0x4a')][_0x5a5a('0x58')]?_0x5e288c[_0x5a5a('0x4a')]:_0x4e224a[_0x5a5a('0x49')];if(_0x378e53[_0x5a5a('0x45')][_0x5a5a('0x53')]){_0x5e288c[_0x5a5a('0x54')]=[{'all':!![]}];}_0x5e288c=_[_0x5a5a('0x51')]({},_0x5e288c,_0x378e53[_0x5a5a('0x59')]);return db['MailAccount']['find'](_0x5e288c)['then'](handleEntityNotFound(_0x5472d1,null))[_0x5a5a('0xe')](respondWithResult(_0x5472d1,null))[_0x5a5a('0x17')](handleError(_0x5472d1,null));};exports[_0x5a5a('0x22')]=function(_0x39f401,_0x94c383){if(_0x39f401['body']['id']){delete _0x39f401[_0x5a5a('0x5a')]['id'];}var _0x595c9a=_0x39f401[_0x5a5a('0x5a')][_0x5a5a('0x5b')]==='custom'?null:_0x39f401[_0x5a5a('0x5a')][_0x5a5a('0x5b')];var _0x1c0888=_0x39f401['body']['Imap']||{};var _0x41cfb6=_0x39f401[_0x5a5a('0x5a')]['Smtp']||{};if(_0x595c9a){_0x1c0888[_0x5a5a('0x36')]=getImapHost(_0x595c9a);_0x1c0888[_0x5a5a('0x37')]=0x3e1;_0x41cfb6['host']=getSmtpHost(_0x595c9a);_0x41cfb6['port']=0x24b;_0x41cfb6[_0x5a5a('0x5c')]=![];}if(_0x41cfb6[_0x5a5a('0x5d')]){_0x41cfb6[_0x5a5a('0x5c')]=![];}else{_0x41cfb6[_0x5a5a('0x35')]=null;}if(!_0x1c0888[_0x5a5a('0x5d')])_0x1c0888[_0x5a5a('0x35')]=null;_0x39f401[_0x5a5a('0x5a')][_0x5a5a('0x3a')]=_0x1c0888;_0x39f401[_0x5a5a('0x5a')][_0x5a5a('0x57')]=_0x41cfb6;return db[_0x5a5a('0x40')][_0x5a5a('0x5e')]({'where':{'id':_0x39f401[_0x5a5a('0x5f')]['id']},'include':[{'model':db[_0x5a5a('0x3b')],'as':_0x5a5a('0x3a')},{'model':db[_0x5a5a('0x3c')],'as':'Smtp'},{'model':db['Pause'],'as':_0x5a5a('0x3e')}]})[_0x5a5a('0xe')](handleEntityNotFound(_0x94c383,null))[_0x5a5a('0xe')](function(_0x30234e){if(!_0x30234e)throw new Error(_0x5a5a('0x60'));if(_0x30234e[_0x5a5a('0x38')])delete _0x39f401['body']['Imap'];return _0x30234e;})[_0x5a5a('0xe')](saveUpdates(_0x39f401['body'],null))[_0x5a5a('0xe')](function(_0x5031bd){if(!_0x39f401[_0x5a5a('0x5a')][_0x5a5a('0x3a')])return _0x5031bd;return db[_0x5a5a('0x3b')]['update'](_0x39f401['body']['Imap'],{'where':{'MailAccountId':_0x5031bd['id']}})['then'](function(){return _0x5031bd;});})[_0x5a5a('0xe')](function(_0x46b914){if(!_0x39f401[_0x5a5a('0x5a')]['Smtp'])return _0x46b914;return db['MailServerOut'][_0x5a5a('0x22')](_0x39f401[_0x5a5a('0x5a')]['Smtp'],{'where':{'MailAccountId':_0x46b914['id']}})[_0x5a5a('0xe')](function(){return _0x46b914;});})[_0x5a5a('0xe')](respondWithResult(_0x94c383,null))[_0x5a5a('0x17')](handleError(_0x94c383,null));};exports[_0x5a5a('0x61')]=function(_0x248715,_0xc71ca){return db[_0x5a5a('0x40')][_0x5a5a('0x61')]()[_0x5a5a('0xe')](respondWithResult(_0xc71ca,null))[_0x5a5a('0x17')](handleError(_0xc71ca,null));};exports['addDisposition']=function(_0x715b16,_0x55190f){if(_0x715b16[_0x5a5a('0x5a')]['id']){delete _0x715b16[_0x5a5a('0x5a')]['id'];}return db['MailAccount']['find']({'where':{'id':_0x715b16[_0x5a5a('0x5f')]['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x55190f,null))['then'](function(_0x4bb286){if(_0x4bb286){_0x715b16['body'][_0x5a5a('0x62')]=_0x4bb286['id'];return db[_0x5a5a('0x63')][_0x5a5a('0x64')](_0x715b16['body']);}})[_0x5a5a('0xe')](respondWithResult(_0x55190f,null))[_0x5a5a('0x17')](handleError(_0x55190f,null));};exports[_0x5a5a('0x65')]=function(_0x2fb5dc,_0x4596c8){var _0x42d8ad={'raw':![],'where':{}};var _0xe20993={};var _0x2e11d8={'count':0x0,'rows':[]};return db[_0x5a5a('0x40')][_0x5a5a('0x66')]({'where':{'id':_0x2fb5dc[_0x5a5a('0x5f')]['id']}})['then'](handleEntityNotFound(_0x4596c8,null))[_0x5a5a('0xe')](function(_0x26e665){if(_0x26e665){_0xe20993[_0x5a5a('0x49')]=_[_0x5a5a('0x46')](db['Disposition'][_0x5a5a('0x41')]);_0xe20993['query']=_[_0x5a5a('0x46')](_0x2fb5dc[_0x5a5a('0x45')]);_0xe20993['filters']=_[_0x5a5a('0x48')](_0xe20993[_0x5a5a('0x49')],_0xe20993['query']);_0x42d8ad[_0x5a5a('0x4a')]=_['intersection'](_0xe20993['model'],qs[_0x5a5a('0x4b')](_0x2fb5dc[_0x5a5a('0x45')][_0x5a5a('0x4b')]));_0x42d8ad[_0x5a5a('0x4a')]=_0x42d8ad['attributes'][_0x5a5a('0x58')]?_0x42d8ad[_0x5a5a('0x4a')]:_0xe20993[_0x5a5a('0x49')];if(!_0x2fb5dc['query']['hasOwnProperty'](_0x5a5a('0x4d'))){_0x42d8ad[_0x5a5a('0x1e')]=qs['limit'](_0x2fb5dc[_0x5a5a('0x45')]['limit']);_0x42d8ad[_0x5a5a('0x1c')]=qs[_0x5a5a('0x1c')](_0x2fb5dc[_0x5a5a('0x45')][_0x5a5a('0x1c')]);}_0x42d8ad[_0x5a5a('0x4e')]=qs['sort'](_0x2fb5dc['query'][_0x5a5a('0x4f')]);_0x42d8ad['where']=qs['filters'](_['pick'](_0x2fb5dc[_0x5a5a('0x45')],_0xe20993[_0x5a5a('0x47')]));_0x42d8ad[_0x5a5a('0x50')][_0x5a5a('0x62')]=_0x26e665['id'];if(_0x2fb5dc[_0x5a5a('0x45')][_0x5a5a('0x67')]){_0x42d8ad[_0x5a5a('0x50')]=_[_0x5a5a('0x51')](_0x42d8ad[_0x5a5a('0x50')],{'$or':_[_0x5a5a('0x3f')](_0x42d8ad['attributes'],function(_0x4af8c5){var _0x5e468d={};_0x5e468d[_0x4af8c5]={'$like':'%'+_0x2fb5dc[_0x5a5a('0x45')][_0x5a5a('0x67')]+'%'};return _0x5e468d;})});}_0x42d8ad=_[_0x5a5a('0x51')]({},_0x42d8ad,_0x2fb5dc[_0x5a5a('0x59')]);return db[_0x5a5a('0x63')]['count']({'where':_0x42d8ad[_0x5a5a('0x50')]})[_0x5a5a('0xe')](function(_0x4b5fe2){_0x2e11d8[_0x5a5a('0x1f')]=_0x4b5fe2;if(_0x2fb5dc[_0x5a5a('0x45')]['includeAll']){_0x42d8ad[_0x5a5a('0x54')]=[{'all':!![]}];}return db['Disposition'][_0x5a5a('0x55')](_0x42d8ad);})['then'](function(_0x44e07d){_0x2e11d8[_0x5a5a('0x56')]=_0x44e07d;return _0x2e11d8;});}})[_0x5a5a('0xe')](respondWithFilteredResult(_0x4596c8,_0x42d8ad))['catch'](handleError(_0x4596c8,null));};exports[_0x5a5a('0x68')]=function(_0x558e83,_0xaf353e){return db['MailAccount'][_0x5a5a('0x5e')]({'where':{'id':_0x558e83[_0x5a5a('0x5f')]['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0xaf353e,null))['then'](function(_0x47ad81){if(_0x47ad81){return _0x47ad81['removeDispositions'](_0x558e83[_0x5a5a('0x45')][_0x5a5a('0x69')]);}})[_0x5a5a('0xe')](respondWithStatusCode(_0xaf353e,null))[_0x5a5a('0x17')](handleError(_0xaf353e,null));};exports['addAnswer']=function(_0x49ec90,_0x1f3c96){if(_0x49ec90[_0x5a5a('0x5a')]['id']){delete _0x49ec90[_0x5a5a('0x5a')]['id'];}return db['MailAccount']['find']({'where':{'id':_0x49ec90['params']['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x1f3c96,null))['then'](function(_0x4928ac){if(_0x4928ac){_0x49ec90[_0x5a5a('0x5a')][_0x5a5a('0x62')]=_0x4928ac['id'];return db[_0x5a5a('0x6a')][_0x5a5a('0x64')](_0x49ec90[_0x5a5a('0x5a')]);}})[_0x5a5a('0xe')](respondWithResult(_0x1f3c96,null))[_0x5a5a('0x17')](handleError(_0x1f3c96,null));};exports['getAnswers']=function(_0xe7289,_0x27d84f){var _0x2accc8={'raw':![],'where':{}};var _0x2cb044={};var _0x3bb735={'count':0x0,'rows':[]};return db[_0x5a5a('0x40')][_0x5a5a('0x66')]({'where':{'id':_0xe7289['params']['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x27d84f,null))[_0x5a5a('0xe')](function(_0x594232){if(_0x594232){_0x2cb044[_0x5a5a('0x49')]=_[_0x5a5a('0x46')](db[_0x5a5a('0x6a')][_0x5a5a('0x41')]);_0x2cb044['query']=_[_0x5a5a('0x46')](_0xe7289[_0x5a5a('0x45')]);_0x2cb044['filters']=_[_0x5a5a('0x48')](_0x2cb044[_0x5a5a('0x49')],_0x2cb044['query']);_0x2accc8['attributes']=_[_0x5a5a('0x48')](_0x2cb044[_0x5a5a('0x49')],qs[_0x5a5a('0x4b')](_0xe7289[_0x5a5a('0x45')][_0x5a5a('0x4b')]));_0x2accc8['attributes']=_0x2accc8['attributes'][_0x5a5a('0x58')]?_0x2accc8[_0x5a5a('0x4a')]:_0x2cb044['model'];if(!_0xe7289['query'][_0x5a5a('0x4c')]('nolimit')){_0x2accc8[_0x5a5a('0x1e')]=qs[_0x5a5a('0x1e')](_0xe7289['query'][_0x5a5a('0x1e')]);_0x2accc8[_0x5a5a('0x1c')]=qs[_0x5a5a('0x1c')](_0xe7289[_0x5a5a('0x45')][_0x5a5a('0x1c')]);}_0x2accc8[_0x5a5a('0x4e')]=qs[_0x5a5a('0x4f')](_0xe7289[_0x5a5a('0x45')][_0x5a5a('0x4f')]);_0x2accc8[_0x5a5a('0x50')]=qs['filters'](_[_0x5a5a('0x6b')](_0xe7289[_0x5a5a('0x45')],_0x2cb044['filters']));_0x2accc8[_0x5a5a('0x50')]['MailAccountId']=_0x594232['id'];if(_0xe7289[_0x5a5a('0x45')][_0x5a5a('0x67')]){_0x2accc8['where']=_['merge'](_0x2accc8['where'],{'$or':_[_0x5a5a('0x3f')](_0x2accc8[_0x5a5a('0x4a')],function(_0x443264){var _0x1a3508={};_0x1a3508[_0x443264]={'$like':'%'+_0xe7289['query']['filter']+'%'};return _0x1a3508;})});}_0x2accc8=_[_0x5a5a('0x51')]({},_0x2accc8,_0xe7289[_0x5a5a('0x59')]);return db[_0x5a5a('0x6a')]['count']({'where':_0x2accc8[_0x5a5a('0x50')]})[_0x5a5a('0xe')](function(_0x26ddba){_0x3bb735['count']=_0x26ddba;if(_0xe7289['query'][_0x5a5a('0x53')]){_0x2accc8[_0x5a5a('0x54')]=[{'all':!![]}];}return db[_0x5a5a('0x6a')][_0x5a5a('0x55')](_0x2accc8);})[_0x5a5a('0xe')](function(_0x5afd0e){_0x3bb735['rows']=_0x5afd0e;return _0x3bb735;});}})[_0x5a5a('0xe')](respondWithFilteredResult(_0x27d84f,_0x2accc8))['catch'](handleError(_0x27d84f,null));};exports[_0x5a5a('0x6c')]=function(_0x57f693,_0x451f3e){return db['MailAccount'][_0x5a5a('0x5e')]({'where':{'id':_0x57f693[_0x5a5a('0x5f')]['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x451f3e,null))[_0x5a5a('0xe')](function(_0x31afd0){if(_0x31afd0){return _0x31afd0[_0x5a5a('0x6c')](_0x57f693['query'][_0x5a5a('0x69')]);}})[_0x5a5a('0xe')](respondWithStatusCode(_0x451f3e,null))[_0x5a5a('0x17')](handleError(_0x451f3e,null));};exports['create']=function(_0x3615a3,_0x3d1078){var _0x2aa314={'name':_0x3615a3[_0x5a5a('0x5a')][_0x5a5a('0x26')],'key':_0x3615a3['body'][_0x5a5a('0x44')],'provider':_0x3615a3[_0x5a5a('0x5a')][_0x5a5a('0x5b')]==='custom'?null:_0x3615a3['body'][_0x5a5a('0x5b')],'email':_0x3615a3['body']['email'],'ListId':_0x3615a3[_0x5a5a('0x5a')][_0x5a5a('0x6d')],'active':!_['isNil'](_0x3615a3['body'][_0x5a5a('0x6e')])?_0x3615a3['body'][_0x5a5a('0x6e')]:!![],'description':_0x3615a3['body'][_0x5a5a('0x6f')]||null};var _0x138bfc=getAuthenticationOptions(_0x2aa314[_0x5a5a('0x5b')],_0x3615a3[_0x5a5a('0x5a')]);_0x2aa314[_0x5a5a('0x3a')]=_0x138bfc[_0x5a5a('0x3a')];_0x2aa314[_0x5a5a('0x57')]=_0x138bfc[_0x5a5a('0x57')];return db[_0x5a5a('0x40')][_0x5a5a('0x64')](_0x2aa314,{'include':[{'model':db['MailServerOut'],'as':_0x5a5a('0x57')},{'model':db[_0x5a5a('0x3b')],'as':_0x5a5a('0x3a')}]})[_0x5a5a('0xe')](function(_0x2522ed){var _0x25d49f=_0x3615a3[_0x5a5a('0x31')][_0x5a5a('0x70')]({'plain':!![]});if(!_0x25d49f)throw new Error(_0x5a5a('0x71'));if(_0x25d49f[_0x5a5a('0x72')]===_0x5a5a('0x31')){var _0x3ce999=_0x2522ed['get']({'plain':!![]});return db[_0x5a5a('0x73')][_0x5a5a('0x5e')]({'where':{'name':_0x5a5a('0x74'),'userProfileId':_0x25d49f['userProfileId']},'raw':!![]})[_0x5a5a('0xe')](function(_0x2b61fc){if(_0x2b61fc&&_0x2b61fc[_0x5a5a('0x75')]===0x0){return db[_0x5a5a('0x24')][_0x5a5a('0x64')]({'name':_0x3ce999['name'],'resourceId':_0x3ce999['id'],'type':_0x2b61fc['name'],'sectionId':_0x2b61fc['id']},{})['then'](function(){return _0x2522ed;});}else{return _0x2522ed;}})['catch'](function(_0x4d985c){logger['error'](_0x5a5a('0x76'),_0x4d985c);throw _0x4d985c;});}return _0x2522ed;})[_0x5a5a('0xe')](respondWithResult(_0x3d1078,0xc9))['catch'](handleError(_0x3d1078,null));};exports[_0x5a5a('0x77')]=function(_0x195c95,_0x31558f){return db[_0x5a5a('0x40')][_0x5a5a('0x66')]({'where':{'id':_0x195c95[_0x5a5a('0x5f')]['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x31558f,null))[_0x5a5a('0xe')](function(_0x3baff1){if(_0x3baff1){return _0x3baff1['getImap']();}return null;})[_0x5a5a('0xe')](respondWithResult(_0x31558f,null))[_0x5a5a('0x17')](handleError(_0x31558f,null));};exports['addImap']=function(_0x200ea3,_0x5c99bd){if(_0x200ea3['body']['id']){delete _0x200ea3[_0x5a5a('0x5a')]['id'];}return db[_0x5a5a('0x40')]['find']({'where':{'id':_0x200ea3['params']['id']}})['then'](handleEntityNotFound(_0x5c99bd,null))[_0x5a5a('0xe')](function(_0x4a6282){if(_0x4a6282){_0x200ea3[_0x5a5a('0x5a')][_0x5a5a('0x62')]=_0x4a6282['id'];return db[_0x5a5a('0x3b')][_0x5a5a('0x64')](_0x200ea3[_0x5a5a('0x5a')]);}})[_0x5a5a('0xe')](respondWithResult(_0x5c99bd,null))[_0x5a5a('0x17')](handleError(_0x5c99bd,null));};exports[_0x5a5a('0x78')]=function(_0x1a4ce2,_0x4ca6eb){return db['MailAccount']['findOne']({'where':{'id':_0x1a4ce2[_0x5a5a('0x5f')]['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x4ca6eb,null))[_0x5a5a('0xe')](function(_0x5e5a97){if(_0x5e5a97){return _0x5e5a97[_0x5a5a('0x79')](null);}return null;})['then'](respondWithStatusCode(_0x4ca6eb,null))[_0x5a5a('0x17')](handleError(_0x4ca6eb,null));};exports[_0x5a5a('0x7a')]=function(_0xf9b836,_0x557158){return db[_0x5a5a('0x40')][_0x5a5a('0x66')]({'where':{'id':_0xf9b836[_0x5a5a('0x5f')]['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x557158,null))['then'](function(_0x3cd4b8){if(_0x3cd4b8){return _0x3cd4b8['getSmtp']();}return null;})[_0x5a5a('0xe')](respondWithResult(_0x557158,null))[_0x5a5a('0x17')](handleError(_0x557158,null));};exports['addSmtp']=function(_0x2cc05c,_0x57ccf9){if(_0x2cc05c[_0x5a5a('0x5a')]['id']){delete _0x2cc05c['body']['id'];}return db['MailAccount'][_0x5a5a('0x5e')]({'where':{'id':_0x2cc05c['params']['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x57ccf9,null))[_0x5a5a('0xe')](function(_0x2776fa){if(_0x2776fa){_0x2cc05c[_0x5a5a('0x5a')]['MailAccountId']=_0x2776fa['id'];return db[_0x5a5a('0x3c')]['create'](_0x2cc05c['body']);}})[_0x5a5a('0xe')](respondWithResult(_0x57ccf9,null))[_0x5a5a('0x17')](handleError(_0x57ccf9,null));};exports[_0x5a5a('0x7b')]=function(_0x3dc83c,_0x239dbb){return db['MailAccount'][_0x5a5a('0x66')]({'where':{'id':_0x3dc83c[_0x5a5a('0x5f')]['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x239dbb,null))[_0x5a5a('0xe')](function(_0x4e09b9){if(_0x4e09b9){return _0x4e09b9[_0x5a5a('0x7c')](null);}return null;})['then'](respondWithStatusCode(_0x239dbb,null))[_0x5a5a('0x17')](handleError(_0x239dbb,null));};exports[_0x5a5a('0x7d')]=function(_0x586045,_0x42222c){return db[_0x5a5a('0x7e')][_0x5a5a('0x5e')]({'where':{'id':_0x586045['params']['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x42222c,null))['then'](function(_0x79c746){if(_0x79c746){return _0x79c746[_0x5a5a('0x7d')](_0x586045[_0x5a5a('0x5a')][_0x5a5a('0x69')],_['omit'](_0x586045[_0x5a5a('0x5a')],[_0x5a5a('0x69'),'id'])||{});}})['then'](respondWithResult(_0x42222c,null))[_0x5a5a('0x17')](handleError(_0x42222c,null));};exports[_0x5a5a('0x7f')]=function(_0x4b4a8c,_0x4142b9){var _0x448b8e={'raw':![],'where':{}};var _0x2c8ca9={};var _0x4438e3={'count':0x0,'rows':[]};return db[_0x5a5a('0x40')][_0x5a5a('0x66')]({'where':{'id':_0x4b4a8c[_0x5a5a('0x5f')]['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x4142b9,null))[_0x5a5a('0xe')](function(_0x2f06d8){if(_0x2f06d8){_0x2c8ca9[_0x5a5a('0x49')]=_[_0x5a5a('0x46')](db[_0x5a5a('0x7e')][_0x5a5a('0x41')]);_0x2c8ca9[_0x5a5a('0x45')]=_[_0x5a5a('0x46')](_0x4b4a8c['query']);_0x2c8ca9[_0x5a5a('0x47')]=_[_0x5a5a('0x48')](_0x2c8ca9[_0x5a5a('0x49')],_0x2c8ca9[_0x5a5a('0x45')]);_0x448b8e[_0x5a5a('0x4a')]=_[_0x5a5a('0x48')](_0x2c8ca9[_0x5a5a('0x49')],qs[_0x5a5a('0x4b')](_0x4b4a8c['query'][_0x5a5a('0x4b')]));_0x448b8e[_0x5a5a('0x4a')]=_0x448b8e[_0x5a5a('0x4a')][_0x5a5a('0x58')]?_0x448b8e[_0x5a5a('0x4a')]:_0x2c8ca9['model'];if(!_0x4b4a8c[_0x5a5a('0x45')][_0x5a5a('0x4c')](_0x5a5a('0x4d'))){_0x448b8e['limit']=qs[_0x5a5a('0x1e')](_0x4b4a8c[_0x5a5a('0x45')][_0x5a5a('0x1e')]);_0x448b8e[_0x5a5a('0x1c')]=qs[_0x5a5a('0x1c')](_0x4b4a8c['query']['offset']);}_0x448b8e[_0x5a5a('0x4e')]=qs['sort'](_0x4b4a8c[_0x5a5a('0x45')][_0x5a5a('0x4f')]);_0x448b8e[_0x5a5a('0x50')]=qs[_0x5a5a('0x47')](_[_0x5a5a('0x6b')](_0x4b4a8c['query'],_0x2c8ca9[_0x5a5a('0x47')]));_0x448b8e[_0x5a5a('0x50')]['MailAccountId']=_0x2f06d8['id'];if(_0x4b4a8c[_0x5a5a('0x45')][_0x5a5a('0x67')]){_0x448b8e[_0x5a5a('0x50')]=_[_0x5a5a('0x51')](_0x448b8e[_0x5a5a('0x50')],{'$or':_[_0x5a5a('0x3f')](_0x448b8e['attributes'],function(_0x18fc5){var _0x331fc8={};_0x331fc8[_0x18fc5]={'$like':'%'+_0x4b4a8c[_0x5a5a('0x45')][_0x5a5a('0x67')]+'%'};return _0x331fc8;})});}_0x448b8e=_[_0x5a5a('0x51')]({},_0x448b8e,_0x4b4a8c['options']);return db[_0x5a5a('0x7e')][_0x5a5a('0x1f')]({'where':_0x448b8e[_0x5a5a('0x50')]})[_0x5a5a('0xe')](function(_0x3c4e63){_0x4438e3[_0x5a5a('0x1f')]=_0x3c4e63;if(_0x4b4a8c[_0x5a5a('0x45')][_0x5a5a('0x53')]){_0x448b8e[_0x5a5a('0x54')]=[{'model':db['CmContact'],'as':'Contact','required':![]},{'model':db[_0x5a5a('0x80')],'as':_0x5a5a('0x81'),'attributes':['name',_0x5a5a('0x82'),_0x5a5a('0x83')],'required':![]},{'model':db[_0x5a5a('0x84')],'as':_0x5a5a('0x85'),'attributes':['id','name','color'],'where':_0x4b4a8c[_0x5a5a('0x45')][_0x5a5a('0x86')]?{'id':_0x4b4a8c[_0x5a5a('0x45')]['tag']}:undefined,'required':_0x4b4a8c['query']['tag']?!![]:![]}];}return db['MailInteraction']['findAll'](_0x448b8e);})[_0x5a5a('0xe')](function(_0x22416c){_0x4438e3['rows']=_0x22416c;return _0x4438e3;});}})[_0x5a5a('0xe')](respondWithFilteredResult(_0x4142b9,_0x448b8e))[_0x5a5a('0x17')](handleError(_0x4142b9,null));};exports['addApplications']=function addApplications(_0x37e986,_0x2ada74){var _0x55bcb1=_0x37e986['params']['id'];var _0x201126=_0x37e986[_0x5a5a('0x5a')];var _0x2c45cb=0xc8;var _0x95ea2b=null;return db['sequelize'][_0x5a5a('0x87')]({'isolationLevel':db['sequelize'][_0x5a5a('0x88')][_0x5a5a('0x89')][_0x5a5a('0x8a')]},function(_0x48cccf){return db[_0x5a5a('0x40')]['findOne']({'where':{'id':_0x55bcb1},'transaction':_0x48cccf})[_0x5a5a('0xe')](function(_0x3c5686){if(_0x3c5686){return db[_0x5a5a('0x8b')][_0x5a5a('0x23')]({'where':{'MailAccountId':_0x55bcb1},'transaction':_0x48cccf})[_0x5a5a('0xe')](function(){var _0x2484a1=_[_0x5a5a('0x3f')](_0x201126,function(_0x411a2d){_0x411a2d[_0x5a5a('0x62')]=_0x55bcb1;return _0x411a2d;});return db[_0x5a5a('0x8b')]['bulkCreate'](_0x2484a1,{'transaction':_0x48cccf});});}else{_0x2c45cb=0x194;_0x95ea2b=[];}});})[_0x5a5a('0xe')](function(){if(_0x2c45cb!==0x194){return db[_0x5a5a('0x8b')]['findAndCountAll']({'where':{'MailAccountId':_0x55bcb1},'order':_0x5a5a('0x8c')})['then'](function(_0x190765){_0x95ea2b=_0x190765;});}})[_0x5a5a('0x17')](function(_0x4b82b0){_0x2c45cb=0x1f4;logger['error'](_0x4b82b0[_0x5a5a('0x25')]);if(_0x4b82b0[_0x5a5a('0x26')]){delete _0x4b82b0[_0x5a5a('0x26')];}_0x95ea2b=_0x4b82b0;})['finally'](function(){if(_0x95ea2b===null){_0x2ada74[_0x5a5a('0x18')](_0x2c45cb);}else{if(_0x2c45cb===0x1f4){_0x2ada74[_0x5a5a('0x19')](_0x2c45cb)[_0x5a5a('0x27')](_0x95ea2b);}else{_0x2ada74['status'](_0x2c45cb)[_0x5a5a('0x1b')](_0x95ea2b);}}});};exports[_0x5a5a('0x8d')]=function(_0x2e9b85,_0x3c08ed){var _0x54e152={};var _0x16c28b={};var _0xb51ebb;var _0x1cc506;return db[_0x5a5a('0x40')][_0x5a5a('0x66')]({'where':{'id':_0x2e9b85[_0x5a5a('0x5f')]['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x3c08ed,null))['then'](function(_0x322c21){if(_0x322c21){_0xb51ebb=_0x322c21;_0x16c28b['model']=_['keys'](db[_0x5a5a('0x8b')][_0x5a5a('0x41')]);_0x16c28b[_0x5a5a('0x45')]=_[_0x5a5a('0x46')](_0x2e9b85[_0x5a5a('0x45')]);_0x16c28b[_0x5a5a('0x47')]=_[_0x5a5a('0x48')](_0x16c28b[_0x5a5a('0x49')],_0x16c28b['query']);_0x54e152[_0x5a5a('0x4a')]=_[_0x5a5a('0x48')](_0x16c28b[_0x5a5a('0x49')],qs[_0x5a5a('0x4b')](_0x2e9b85['query'][_0x5a5a('0x4b')]));_0x54e152[_0x5a5a('0x4a')]=_0x54e152[_0x5a5a('0x4a')][_0x5a5a('0x58')]?_0x54e152[_0x5a5a('0x4a')]:_0x16c28b['model'];_0x54e152[_0x5a5a('0x4e')]=qs[_0x5a5a('0x4f')](_0x2e9b85[_0x5a5a('0x45')][_0x5a5a('0x4f')]);_0x54e152['where']=qs['filters'](_[_0x5a5a('0x6b')](_0x2e9b85[_0x5a5a('0x45')],_0x16c28b['filters']));if(_0x2e9b85[_0x5a5a('0x45')][_0x5a5a('0x67')]){_0x54e152[_0x5a5a('0x50')]=_[_0x5a5a('0x51')](_0x54e152['where'],{'$or':_[_0x5a5a('0x3f')](_0x54e152[_0x5a5a('0x4a')],function(_0x2b5236){var _0x660a84={};_0x660a84[_0x2b5236]={'$like':'%'+_0x2e9b85[_0x5a5a('0x45')][_0x5a5a('0x67')]+'%'};return _0x660a84;})});}_0x54e152=_[_0x5a5a('0x51')]({},_0x54e152,_0x2e9b85['options']);return _0xb51ebb[_0x5a5a('0x8d')](_0x54e152);}})['then'](function(_0x3e277a){if(_0x3e277a){_0x1cc506=_0x3e277a[_0x5a5a('0x58')];if(!_0x2e9b85[_0x5a5a('0x45')][_0x5a5a('0x4c')](_0x5a5a('0x4d'))){_0x54e152[_0x5a5a('0x1e')]=qs[_0x5a5a('0x1e')](_0x2e9b85[_0x5a5a('0x45')][_0x5a5a('0x1e')]);_0x54e152[_0x5a5a('0x1c')]=qs[_0x5a5a('0x1c')](_0x2e9b85[_0x5a5a('0x45')][_0x5a5a('0x1c')]);}return _0xb51ebb['getApplications'](_0x54e152);}})[_0x5a5a('0xe')](function(_0x320f83){if(_0x320f83){return _0x320f83?{'count':_0x1cc506,'rows':_0x320f83}:null;}})[_0x5a5a('0xe')](respondWithResult(_0x3c08ed,null))['catch'](handleError(_0x3c08ed,null));};exports['getMessages']=function(_0x168a21,_0x5b1800){var _0x32b3ab={'raw':!![],'where':{}};var _0x506694={};var _0x5cc766={'count':0x0,'rows':[]};return db[_0x5a5a('0x40')][_0x5a5a('0x66')]({'where':{'id':_0x168a21[_0x5a5a('0x5f')]['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x5b1800,null))[_0x5a5a('0xe')](function(_0x63056f){if(_0x63056f){_0x506694[_0x5a5a('0x49')]=_[_0x5a5a('0x46')](db[_0x5a5a('0x8e')][_0x5a5a('0x41')]);_0x506694[_0x5a5a('0x45')]=_['keys'](_0x168a21[_0x5a5a('0x45')]);_0x506694[_0x5a5a('0x47')]=_['intersection'](_0x506694[_0x5a5a('0x49')],_0x506694[_0x5a5a('0x45')]);_0x32b3ab[_0x5a5a('0x4a')]=_[_0x5a5a('0x48')](_0x506694[_0x5a5a('0x49')],qs[_0x5a5a('0x4b')](_0x168a21[_0x5a5a('0x45')][_0x5a5a('0x4b')]));_0x32b3ab['attributes']=_0x32b3ab[_0x5a5a('0x4a')][_0x5a5a('0x58')]?_0x32b3ab['attributes']:_0x506694[_0x5a5a('0x49')];if(!_0x168a21[_0x5a5a('0x45')][_0x5a5a('0x4c')](_0x5a5a('0x4d'))){_0x32b3ab[_0x5a5a('0x1e')]=qs['limit'](_0x168a21[_0x5a5a('0x45')]['limit']);_0x32b3ab['offset']=qs[_0x5a5a('0x1c')](_0x168a21[_0x5a5a('0x45')]['offset']);}_0x32b3ab[_0x5a5a('0x4e')]=qs[_0x5a5a('0x4f')](_0x168a21[_0x5a5a('0x45')][_0x5a5a('0x4f')]);_0x32b3ab['where']=qs[_0x5a5a('0x47')](_['pick'](_0x168a21[_0x5a5a('0x45')],_0x506694[_0x5a5a('0x47')]));_0x32b3ab[_0x5a5a('0x50')][_0x5a5a('0x62')]=_0x63056f['id'];if(_0x168a21[_0x5a5a('0x45')][_0x5a5a('0x67')]){_0x32b3ab['where']=_['merge'](_0x32b3ab[_0x5a5a('0x50')],{'$or':_[_0x5a5a('0x3f')](_0x32b3ab['attributes'],function(_0x49ec89){var _0xe2e86b={};_0xe2e86b[_0x49ec89]={'$like':'%'+_0x168a21[_0x5a5a('0x45')][_0x5a5a('0x67')]+'%'};return _0xe2e86b;})});}if(_0x168a21[_0x5a5a('0x45')][_0x5a5a('0x8f')]){var _0x5d6350=_0x168a21[_0x5a5a('0x45')][_0x5a5a('0x8f')]['split'](',');var _0x3a2000={};_0x3a2000[_0x5d6350[0x0]]={'$gte':moment(_0x5d6350[0x1])[_0x5a5a('0x90')](_0x5a5a('0x91'))};_0x32b3ab['where']=_[_0x5a5a('0x51')](_0x32b3ab[_0x5a5a('0x50')],_0x3a2000);}_0x32b3ab=_['merge']({},_0x32b3ab,_0x168a21[_0x5a5a('0x59')]);return db['MailMessage'][_0x5a5a('0x1f')]({'where':_0x32b3ab[_0x5a5a('0x50')]})['then'](function(_0x1a39c7){_0x5cc766[_0x5a5a('0x1f')]=_0x1a39c7;if(_0x168a21['query'][_0x5a5a('0x53')]){_0x32b3ab[_0x5a5a('0x54')]=[{'all':!![]}];}return db[_0x5a5a('0x8e')][_0x5a5a('0x55')](_0x32b3ab);})[_0x5a5a('0xe')](function(_0x2434f1){if(_0x168a21[_0x5a5a('0x45')][_0x5a5a('0x92')]===_0x5a5a('0x93')){for(var _0x52107d=0x0;_0x52107d<_0x2434f1[_0x5a5a('0x58')];_0x52107d++){_0x2434f1[_0x52107d][_0x5a5a('0x5a')]=juice(_0x2434f1[_0x52107d][_0x5a5a('0x5a')]);}}_0x5cc766['rows']=_0x2434f1;return _0x5cc766;});}})[_0x5a5a('0xe')](respondWithFilteredResult(_0x5b1800,_0x32b3ab))[_0x5a5a('0x17')](handleError(_0x5b1800,null));};exports[_0x5a5a('0x27')]=function(_0x109616,_0x3a4162){var _0xdb1436,_0x2fd1f4={},_0x175d1c;if(_0x109616['body']['to']){_0x175d1c=_0x109616[_0x5a5a('0x5a')]['to']['split'](',')[0x0];}return db[_0x5a5a('0x40')][_0x5a5a('0x5e')]({'where':{'id':_0x109616[_0x5a5a('0x5f')]['id']},'include':[{'model':db[_0x5a5a('0x94')],'as':_0x5a5a('0x95'),'include':[{'model':db[_0x5a5a('0x96')],'as':_0x5a5a('0x97'),'where':{'email':_0x175d1c},'limit':0x1,'order':[['updatedAt','DESC']]}]},{'model':db[_0x5a5a('0x3c')],'as':_0x5a5a('0x57'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':_0x5a5a('0x98'),'raw':!![]}]}]})[_0x5a5a('0xe')](handleEntityNotFound(_0x3a4162,null))[_0x5a5a('0xe')](function(_0x22800f){if(!_0x22800f)return;_0xdb1436=_0x22800f;if(!_0x22800f['Smtp'])throw new Error(_0x5a5a('0x99'));if(_[_0x5a5a('0x9a')](_0x109616[_0x5a5a('0x5a')][_0x5a5a('0x9b')])){_0x109616[_0x5a5a('0x5a')]['from']=util[_0x5a5a('0x90')](_0x5a5a('0x9c'),_0x22800f['name'],_0x22800f['email']||_0x22800f[_0x5a5a('0x57')][_0x5a5a('0x31')]);}if(_0x109616['body']['attachments']&&_0x109616[_0x5a5a('0x5a')]['attachments'][_0x5a5a('0x58')]){for(var _0x547734=0x0;_0x547734<_0x109616[_0x5a5a('0x5a')]['attachments'][_0x5a5a('0x58')];_0x547734+=0x1){_0x109616[_0x5a5a('0x5a')]['attachments'][_0x547734]={'filename':_0x109616['body']['attachments'][_0x547734][_0x5a5a('0x26')],'path':path[_0x5a5a('0x9d')](config[_0x5a5a('0x9e')],_0x5a5a('0x9f'),_0x109616[_0x5a5a('0x5a')]['attachments'][_0x547734][_0x5a5a('0xa0')])};}}var _0x3a0ce5=_0x22800f['getSmtpOptions']();return respondWithRpcPromise('SendMail',_0x5a5a('0xa1'),{'account':_0x3a0ce5,'message':_0x109616[_0x5a5a('0x5a')]});})[_0x5a5a('0xe')](function(_0x495451){if(!_0x495451)return;_0x2fd1f4=_0x495451;if(!_0xdb1436[_0x5a5a('0x95')])throw new Error(_0x5a5a('0xa2'));if(_0xdb1436['List'][_0x5a5a('0x97')][_0x5a5a('0x58')])return _0xdb1436[_0x5a5a('0x95')]['Contacts'][0x0];return db[_0x5a5a('0x96')]['create'](_[_0x5a5a('0x8')](_0x109616[_0x5a5a('0x5a')],{'firstName':_0x109616[_0x5a5a('0x5a')]['to'],'email':_0x109616[_0x5a5a('0x5a')]['to'],'phone':_0x109616[_0x5a5a('0x5a')]['to'],'ListId':_0xdb1436[_0x5a5a('0x6d')]}));})['then'](function(_0x59254b){if(!_0x59254b)return;var _0x4daaa2={'UserId':_0x109616[_0x5a5a('0x31')]['id'],'ContactId':_0x59254b['id'],'MailAccountId':_0xdb1436['id'],'inReplyTo':_0x2fd1f4['messageId'],'to':_0x109616['body'][_0x5a5a('0x9b')],'cc':_0x109616[_0x5a5a('0x5a')]['cc'],'subject':_0x109616[_0x5a5a('0x5a')][_0x5a5a('0xa3')],'attach':_0x109616[_0x5a5a('0x5a')][_0x5a5a('0xa4')],'firstMsgDirection':_0x5a5a('0xa5'),'lastMsgAt':moment()[_0x5a5a('0x90')](_0x5a5a('0x91')),'lastMsgDirection':_0x5a5a('0xa5'),'Messages':[_[_0x5a5a('0x51')](_0x109616[_0x5a5a('0x5a')],{'messageId':_0x2fd1f4[_0x5a5a('0xa6')],'sentAt':moment()[_0x5a5a('0x90')]('YYYY-MM-DD\x20HH:mm:ss'),'read':!![],'MailAccountId':_0xdb1436['id'],'UserId':_0x109616[_0x5a5a('0x31')]['id'],'ContactId':_0x59254b['id']})]};if(_0x109616[_0x5a5a('0x5a')][_0x5a5a('0xa7')]){_0x4daaa2=_[_0x5a5a('0x51')](_0x4daaa2,_0x109616['body'][_0x5a5a('0xa7')]);}return db['MailInteraction']['create'](_0x4daaa2,{'include':[{'model':db[_0x5a5a('0x8e')],'as':_0x5a5a('0xa8')}]});})[_0x5a5a('0xe')](respondWithResult(_0x3a4162,null))['catch'](handleError(_0x3a4162,null));};exports[_0x5a5a('0xa9')]=function(_0x25d9ec,_0x3caa5a){return db[_0x5a5a('0x40')]['find']({'where':{'id':_0x25d9ec[_0x5a5a('0x5f')]['id']},'include':[{'model':db[_0x5a5a('0x3c')],'as':_0x5a5a('0x57'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':_0x5a5a('0x98'),'raw':!![]}]}]})[_0x5a5a('0xe')](handleEntityNotFound(_0x3caa5a,null))['then'](function(_0x5c1d37){if(!_0x5c1d37['Smtp'])return;var _0x25ccf9=_0x5c1d37[_0x5a5a('0xaa')]();return respondWithRpcPromise(_0x5a5a('0xab'),_0x5a5a('0xa9'),{'account':_0x25ccf9});})['then'](respondWithResult(_0x3caa5a,null))[_0x5a5a('0x17')](handleError(_0x3caa5a,null));};exports[_0x5a5a('0x23')]=function(_0x34ed73,_0x379333){return db[_0x5a5a('0x40')]['find']({'where':{'id':_0x34ed73['params']['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x379333,null))[_0x5a5a('0xe')](function(_0x4e4681){if(_0x4e4681&&_0x4e4681['service']){throw new db[(_0x5a5a('0xac'))][(_0x5a5a('0xad'))](_0x5a5a('0xae'));}return _0x4e4681;})['then'](removeEntity(_0x379333,null))[_0x5a5a('0x17')](handleError(_0x379333,null));};exports[_0x5a5a('0xaf')]=function(_0x2289b5,_0x2a24a8){return db[_0x5a5a('0x40')][_0x5a5a('0x5e')]({'where':{'id':_0x2289b5[_0x5a5a('0x5f')]['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x2a24a8,null))[_0x5a5a('0xe')](function(_0x216f68){if(_0x216f68){return _0x216f68['addAgents'](_0x2289b5['body'][_0x5a5a('0x69')],_[_0x5a5a('0xb0')](_0x2289b5[_0x5a5a('0x5a')],[_0x5a5a('0x69'),'id'])||{})[_0x5a5a('0xb1')](function(_0x419f0e){for(var _0x405cab=0x0;_0x405cab<_0x2289b5['body']['ids'][_0x5a5a('0x58')];_0x405cab+=0x1){socket[_0x5a5a('0xb2')](_0x5a5a('0xb3'),{'UserId':Number(_0x2289b5[_0x5a5a('0x5a')]['ids'][_0x405cab]),'MailAccountId':Number(_0x2289b5[_0x5a5a('0x5f')]['id'])});}return _0x419f0e;});}})['then'](respondWithResult(_0x2a24a8,null))[_0x5a5a('0x17')](handleError(_0x2a24a8,null));};exports[_0x5a5a('0xb4')]=function(_0x45e2ed,_0x1030da){return db[_0x5a5a('0x40')][_0x5a5a('0x5e')]({'where':{'id':_0x45e2ed[_0x5a5a('0x5f')]['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x1030da,null))['then'](function(_0x2191ce){if(_0x2191ce){return _0x2191ce[_0x5a5a('0xb4')](_0x45e2ed[_0x5a5a('0x45')][_0x5a5a('0x69')])[_0x5a5a('0xe')](function(){if(_['isArray'](_0x45e2ed[_0x5a5a('0x45')][_0x5a5a('0x69')])){for(var _0x1c78f9=0x0;_0x1c78f9<_0x45e2ed[_0x5a5a('0x45')][_0x5a5a('0x69')][_0x5a5a('0x58')];_0x1c78f9+=0x1){socket[_0x5a5a('0xb2')](_0x5a5a('0xb5'),{'UserId':Number(_0x45e2ed[_0x5a5a('0x45')][_0x5a5a('0x69')][_0x1c78f9]),'MailAccountId':Number(_0x45e2ed[_0x5a5a('0x5f')]['id'])});}}else{socket[_0x5a5a('0xb2')]('userMailAccount:remove',{'UserId':Number(_0x45e2ed[_0x5a5a('0x45')][_0x5a5a('0x69')]),'MailAccountId':Number(_0x45e2ed[_0x5a5a('0x5f')]['id'])});}});}})[_0x5a5a('0xe')](respondWithStatusCode(_0x1030da,null))[_0x5a5a('0x17')](handleError(_0x1030da,null));};exports['getAgents']=function(_0x198daa,_0x2a5cb6){var _0x4b5738={};var _0x250d92={};var _0x337744;var _0x38fc18;return db[_0x5a5a('0x40')]['findOne']({'where':{'id':_0x198daa[_0x5a5a('0x5f')]['id']}})[_0x5a5a('0xe')](handleEntityNotFound(_0x2a5cb6,null))['then'](function(_0x5c2a9f){if(_0x5c2a9f){_0x337744=_0x5c2a9f;_0x250d92['model']=_[_0x5a5a('0x46')](db[_0x5a5a('0x80')]['rawAttributes']);_0x250d92['query']=_[_0x5a5a('0x46')](_0x198daa['query']);_0x250d92[_0x5a5a('0x47')]=_[_0x5a5a('0x48')](_0x250d92['model'],_0x250d92[_0x5a5a('0x45')]);_0x4b5738['attributes']=_[_0x5a5a('0x48')](_0x250d92[_0x5a5a('0x49')],qs['fields'](_0x198daa['query'][_0x5a5a('0x4b')]));_0x4b5738['attributes']=_0x4b5738[_0x5a5a('0x4a')][_0x5a5a('0x58')]?_0x4b5738[_0x5a5a('0x4a')]:_0x250d92[_0x5a5a('0x49')];_0x4b5738[_0x5a5a('0x4e')]=qs[_0x5a5a('0x4f')](_0x198daa[_0x5a5a('0x45')][_0x5a5a('0x4f')]);_0x4b5738[_0x5a5a('0x50')]=qs[_0x5a5a('0x47')](_['pick'](_0x198daa[_0x5a5a('0x45')],_0x250d92[_0x5a5a('0x47')]));if(_0x198daa[_0x5a5a('0x45')]['filter']){_0x4b5738['where']=_[_0x5a5a('0x51')](_0x4b5738[_0x5a5a('0x50')],{'$or':_[_0x5a5a('0x3f')](_0x4b5738[_0x5a5a('0x4a')],function(_0x2e691c){var _0x1db47f={};_0x1db47f[_0x2e691c]={'$like':'%'+_0x198daa[_0x5a5a('0x45')][_0x5a5a('0x67')]+'%'};return _0x1db47f;})});}_0x4b5738=_['merge']({},_0x4b5738,_0x198daa['options']);return _0x337744[_0x5a5a('0xb6')](_0x4b5738);}})['then'](function(_0x5ce319){if(_0x5ce319){_0x38fc18=_0x5ce319['length'];if(!_0x198daa[_0x5a5a('0x45')]['hasOwnProperty'](_0x5a5a('0x4d'))){_0x4b5738['limit']=qs[_0x5a5a('0x1e')](_0x198daa['query'][_0x5a5a('0x1e')]);_0x4b5738[_0x5a5a('0x1c')]=qs[_0x5a5a('0x1c')](_0x198daa[_0x5a5a('0x45')][_0x5a5a('0x1c')]);}return _0x337744['getAgents'](_0x4b5738);}})['then'](function(_0x152dbf){if(_0x152dbf){return _0x152dbf?{'count':_0x38fc18,'rows':_0x152dbf}:null;}})[_0x5a5a('0xe')](respondWithResult(_0x2a5cb6,null))[_0x5a5a('0x17')](handleError(_0x2a5cb6,null));};