Built motion from commit 497d3d92.|2.5.43
[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 _0x5d7a=['ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','priority','stack','finally','getApplications','getMessages','$gte','format','MailMessage','inlineCss','true','split','CmList','List','Contacts','updatedAt','DESC','from','%s\x20<%s>','email','attachments','join','root','server/files/attachments','auth','secure','SendMail','sendMail','List\x20not\x20found','attach','out','YYYY-MM-DD\x20HH:mm:ss','messageId','Interaction','Messages','verifySmtp','custom','OAuth2','CloudProvider','data5','VerifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','User','moment','util','path','lodash','juice','ioredis','../../config/logger','api','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','jayson/promise','client','http','then','info','MailAccount,\x20%s,\x20%s','debug','MailAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','catch','sendStatus','end','status','json','undefined','offset','count','limit','set','Content-Range','update','destroy','get','MailAccounts','UserProfileResource','name','send','index','MailServerIn','Imap','MailServerOut','Smtp','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','filter','where','VIRTUAL','merge','includeAll','include','findAll','rows','show','params','options','find','body','modernAuthentication','CloudProviderId','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','sort','pick','removeDispositions','ids','addAnswer','CannedAnswer','findOne','provider','ListId','isNil','active','user','username','pass','password','service','port','authentication','host','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','getImap','addImap','getSmtp','addSmtp','setSmtp','addInteraction','MailInteraction','omit','CmContact','Contact','Owner','fullname','internal','Tags','tag','sequelize','transaction','Transaction'];(function(_0x42b7f4,_0x22418e){var _0xf07c31=function(_0x2c38ff){while(--_0x2c38ff){_0x42b7f4['push'](_0x42b7f4['shift']());}};_0xf07c31(++_0x22418e);}(_0x5d7a,0xf3));var _0xa5d7=function(_0x3bf83f,_0x181cac){_0x3bf83f=_0x3bf83f-0x0;var _0x22c4a9=_0x5d7a[_0x3bf83f];return _0x22c4a9;};'use strict';var moment=require(_0xa5d7('0x0'));var BPromise=require('bluebird');var util=require(_0xa5d7('0x1'));var path=require(_0xa5d7('0x2'));var _=require(_0xa5d7('0x3'));var juice=require(_0xa5d7('0x4'));var Redis=require(_0xa5d7('0x5'));var qs=require('../../components/parsers/qs');var logger=require(_0xa5d7('0x6'))(_0xa5d7('0x7'));var config=require('../../config/environment');var db=require(_0xa5d7('0x8'))['db'];config[_0xa5d7('0x9')]=_[_0xa5d7('0xa')](config['redis'],{'host':_0xa5d7('0xb'),'port':0x18eb});var socket=require(_0xa5d7('0xc'))(new Redis(config['redis']));require('./mailAccount.socket')[_0xa5d7('0xd')](socket);var jayson=require(_0xa5d7('0xe'));var client=jayson[_0xa5d7('0xf')][_0xa5d7('0x10')]({'port':0x232b});function respondWithRpcPromise(_0x5079be,_0xc39df1,_0x2e1468,_0x3135d6){return new BPromise(function(_0x127602,_0xb04e78){var _0x492af6=_0x3135d6||client;return _0x492af6['request'](_0x5079be,_0x2e1468)[_0xa5d7('0x11')](function(_0x5cdf3a){logger[_0xa5d7('0x12')](_0xa5d7('0x13'),_0xc39df1,'request\x20sent');logger[_0xa5d7('0x14')](_0xa5d7('0x15'),_0xc39df1,_0xa5d7('0x16'),JSON[_0xa5d7('0x17')](_0x5cdf3a));if(_0x5cdf3a[_0xa5d7('0x18')]){if(_0x5cdf3a[_0xa5d7('0x18')][_0xa5d7('0x19')]===0x1f4){logger[_0xa5d7('0x18')](_0xa5d7('0x13'),_0xc39df1,_0x5cdf3a[_0xa5d7('0x18')][_0xa5d7('0x1a')]);return _0xb04e78(_0x5cdf3a[_0xa5d7('0x18')][_0xa5d7('0x1a')]);}logger[_0xa5d7('0x18')](_0xa5d7('0x13'),_0xc39df1,_0x5cdf3a[_0xa5d7('0x18')][_0xa5d7('0x1a')]);return _0x127602(_0x5cdf3a[_0xa5d7('0x18')][_0xa5d7('0x1a')]);}else{logger[_0xa5d7('0x12')]('MailAccount,\x20%s,\x20%s',_0xc39df1,'request\x20sent');_0x127602(_0x5cdf3a[_0xa5d7('0x1b')][_0xa5d7('0x1a')]);}})[_0xa5d7('0x1c')](function(_0x428aaf){logger[_0xa5d7('0x18')](_0xa5d7('0x13'),_0xc39df1,_0x428aaf);_0xb04e78(_0x428aaf);});});}function respondWithStatusCode(_0x1ed092,_0x4ec3fd){_0x4ec3fd=_0x4ec3fd||0xcc;return function(_0x50597c){if(_0x50597c){return _0x1ed092[_0xa5d7('0x1d')](_0x4ec3fd);}return _0x1ed092['status'](_0x4ec3fd)[_0xa5d7('0x1e')]();};}function respondWithResult(_0x30d9f3,_0x5c0c45){_0x5c0c45=_0x5c0c45||0xc8;return function(_0x5d8103){if(_0x5d8103){return _0x30d9f3[_0xa5d7('0x1f')](_0x5c0c45)[_0xa5d7('0x20')](_0x5d8103);}};}function respondWithFilteredResult(_0x10dce3,_0x328c26){return function(_0xa2edeb){if(_0xa2edeb){var _0x153cbb=typeof _0x328c26['offset']===_0xa5d7('0x21')&&typeof _0x328c26['limit']===_0xa5d7('0x21');var _0x325a5e=_0xa2edeb['count'];var _0x425f72=_0x153cbb?0x0:_0x328c26[_0xa5d7('0x22')];var _0x4c127c=_0x153cbb?_0xa2edeb[_0xa5d7('0x23')]:_0x328c26[_0xa5d7('0x22')]+_0x328c26[_0xa5d7('0x24')];var _0x285016;if(_0x4c127c>=_0x325a5e){_0x4c127c=_0x325a5e;_0x285016=0xc8;}else{_0x285016=0xce;}_0x10dce3[_0xa5d7('0x1f')](_0x285016);return _0x10dce3[_0xa5d7('0x25')](_0xa5d7('0x26'),_0x425f72+'-'+_0x4c127c+'/'+_0x325a5e)[_0xa5d7('0x20')](_0xa2edeb);}return null;};}function saveUpdates(_0x2b453c){return function(_0xb1ed4c){if(_0xb1ed4c){return _0xb1ed4c[_0xa5d7('0x27')](_0x2b453c)[_0xa5d7('0x11')](function(_0x1db806){return _0x1db806;});}return null;};}function removeEntity(_0x5e7944){return function(_0x24e1ee){if(_0x24e1ee){return _0x24e1ee[_0xa5d7('0x28')]()[_0xa5d7('0x11')](function(){var _0x47ef2c=_0x24e1ee[_0xa5d7('0x29')]({'plain':!![]});var _0x5847d7=_0xa5d7('0x2a');return db[_0xa5d7('0x2b')][_0xa5d7('0x28')]({'where':{'type':_0x5847d7,'resourceId':_0x47ef2c['id']}})[_0xa5d7('0x11')](function(){return _0x24e1ee;});})[_0xa5d7('0x11')](function(){_0x5e7944[_0xa5d7('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x443910){return function(_0x1c02e2){if(!_0x1c02e2){_0x443910[_0xa5d7('0x1d')](0x194);}return _0x1c02e2;};}function handleError(_0x736836,_0x4cb9aa){_0x4cb9aa=_0x4cb9aa||0x1f4;return function(_0x1489ed){logger['error'](_0x1489ed['stack']);if(_0x1489ed[_0xa5d7('0x2c')]){delete _0x1489ed[_0xa5d7('0x2c')];}_0x736836[_0xa5d7('0x1f')](_0x4cb9aa)[_0xa5d7('0x2d')](_0x1489ed);};}exports[_0xa5d7('0x2e')]=function(_0x39d58,_0x2b9d8a){var _0x63bc5d={'include':[{'model':db[_0xa5d7('0x2f')],'as':_0xa5d7('0x30')},{'model':db[_0xa5d7('0x31')],'as':_0xa5d7('0x32')},{'model':db[_0xa5d7('0x33')],'as':_0xa5d7('0x34')}]},_0x39d049={},_0x1e88e4={'count':0x0,'rows':[]};var _0x3bca76=_[_0xa5d7('0x35')](db[_0xa5d7('0x36')][_0xa5d7('0x37')],function(_0x52c727){return{'name':_0x52c727['fieldName'],'type':_0x52c727[_0xa5d7('0x38')][_0xa5d7('0x39')]};});_0x39d049[_0xa5d7('0x3a')]=_[_0xa5d7('0x35')](_0x3bca76,_0xa5d7('0x2c'));_0x39d049[_0xa5d7('0x3b')]=_[_0xa5d7('0x3c')](_0x39d58[_0xa5d7('0x3b')]);_0x39d049[_0xa5d7('0x3d')]=_['intersection'](_0x39d049['model'],_0x39d049[_0xa5d7('0x3b')]);_0x63bc5d[_0xa5d7('0x3e')]=_[_0xa5d7('0x3f')](_0x39d049[_0xa5d7('0x3a')],qs[_0xa5d7('0x40')](_0x39d58[_0xa5d7('0x3b')][_0xa5d7('0x40')]));_0x63bc5d[_0xa5d7('0x3e')]=_0x63bc5d[_0xa5d7('0x3e')][_0xa5d7('0x41')]?_0x63bc5d['attributes']:_0x39d049[_0xa5d7('0x3a')];if(!_0x39d58[_0xa5d7('0x3b')][_0xa5d7('0x42')](_0xa5d7('0x43'))){_0x63bc5d[_0xa5d7('0x24')]=qs[_0xa5d7('0x24')](_0x39d58[_0xa5d7('0x3b')][_0xa5d7('0x24')]);_0x63bc5d[_0xa5d7('0x22')]=qs[_0xa5d7('0x22')](_0x39d58['query'][_0xa5d7('0x22')]);}_0x63bc5d[_0xa5d7('0x44')]=qs['sort'](_0x39d58['query']['sort']);_0x63bc5d['where']=qs['filters'](_['pick'](_0x39d58[_0xa5d7('0x3b')],_0x39d049[_0xa5d7('0x3d')]),_0x3bca76);if(_0x39d58[_0xa5d7('0x3b')][_0xa5d7('0x45')]){_0x63bc5d['where']=_['merge'](_0x63bc5d[_0xa5d7('0x46')],{'$or':_[_0xa5d7('0x35')](_0x3bca76,function(_0x203f37){if(_0x203f37[_0xa5d7('0x38')]!==_0xa5d7('0x47')){var _0x44e936={};_0x44e936[_0x203f37[_0xa5d7('0x2c')]]={'$like':'%'+_0x39d58[_0xa5d7('0x3b')][_0xa5d7('0x45')]+'%'};return _0x44e936;}})});}_0x63bc5d=_[_0xa5d7('0x48')]({},_0x63bc5d,_0x39d58['options']);var _0x459e56={'where':_0x63bc5d[_0xa5d7('0x46')]};return db[_0xa5d7('0x36')][_0xa5d7('0x23')](_0x459e56)[_0xa5d7('0x11')](function(_0x4fcdcd){_0x1e88e4[_0xa5d7('0x23')]=_0x4fcdcd;if(_0x39d58['query'][_0xa5d7('0x49')]){_0x63bc5d[_0xa5d7('0x4a')]=[{'all':!![]}];}return db[_0xa5d7('0x36')][_0xa5d7('0x4b')](_0x63bc5d);})[_0xa5d7('0x11')](function(_0x4571d1){_0x1e88e4[_0xa5d7('0x4c')]=_0x4571d1;return _0x1e88e4;})[_0xa5d7('0x11')](respondWithFilteredResult(_0x2b9d8a,_0x63bc5d))[_0xa5d7('0x1c')](handleError(_0x2b9d8a,null));};exports[_0xa5d7('0x4d')]=function(_0x5901f0,_0x3125fc){var _0x3e4745={'raw':![],'where':{'id':_0x5901f0[_0xa5d7('0x4e')]['id']},'include':[{'model':db['MailServerIn'],'as':_0xa5d7('0x30')},{'model':db[_0xa5d7('0x31')],'as':_0xa5d7('0x32')},{'model':db[_0xa5d7('0x33')],'as':_0xa5d7('0x34')}]},_0xcaa727={};_0xcaa727['model']=_[_0xa5d7('0x3c')](db['MailAccount']['rawAttributes']);_0xcaa727[_0xa5d7('0x3b')]=_['keys'](_0x5901f0[_0xa5d7('0x3b')]);_0xcaa727['filters']=_['intersection'](_0xcaa727[_0xa5d7('0x3a')],_0xcaa727['query']);_0x3e4745['attributes']=_[_0xa5d7('0x3f')](_0xcaa727[_0xa5d7('0x3a')],qs[_0xa5d7('0x40')](_0x5901f0['query'][_0xa5d7('0x40')]));_0x3e4745['attributes']=_0x3e4745['attributes'][_0xa5d7('0x41')]?_0x3e4745[_0xa5d7('0x3e')]:_0xcaa727[_0xa5d7('0x3a')];if(_0x5901f0[_0xa5d7('0x3b')]['includeAll']){_0x3e4745[_0xa5d7('0x4a')]=[{'all':!![]}];}_0x3e4745=_[_0xa5d7('0x48')]({},_0x3e4745,_0x5901f0[_0xa5d7('0x4f')]);return db[_0xa5d7('0x36')][_0xa5d7('0x50')](_0x3e4745)['then'](handleEntityNotFound(_0x3125fc,null))['then'](respondWithResult(_0x3125fc,null))['catch'](handleError(_0x3125fc,null));};exports[_0xa5d7('0x27')]=function(_0x342383,_0x58bbaf){if(_0x342383[_0xa5d7('0x51')]['id']){delete _0x342383['body']['id'];}if(_0x342383[_0xa5d7('0x51')][_0xa5d7('0x30')]){if(!_0x342383[_0xa5d7('0x51')][_0xa5d7('0x30')]['modernAuthentication']){_0x342383[_0xa5d7('0x51')]['Imap']['CloudProviderId']=null;}}if(_0x342383[_0xa5d7('0x51')][_0xa5d7('0x32')]){if(!_0x342383[_0xa5d7('0x51')][_0xa5d7('0x32')][_0xa5d7('0x52')]){_0x342383[_0xa5d7('0x51')][_0xa5d7('0x32')][_0xa5d7('0x53')]=null;}}return db[_0xa5d7('0x36')][_0xa5d7('0x50')]({'where':{'id':_0x342383[_0xa5d7('0x4e')]['id']},'include':[{'model':db[_0xa5d7('0x2f')],'as':_0xa5d7('0x30')},{'model':db[_0xa5d7('0x31')],'as':_0xa5d7('0x32')},{'model':db[_0xa5d7('0x33')],'as':_0xa5d7('0x34')}]})[_0xa5d7('0x11')](handleEntityNotFound(_0x58bbaf,null))[_0xa5d7('0x11')](saveUpdates(_0x342383[_0xa5d7('0x51')],null))[_0xa5d7('0x11')](function(_0x152e51){if(_0x152e51&&_0x342383['body'][_0xa5d7('0x30')]){return db['MailServerIn']['update'](_0x342383[_0xa5d7('0x51')][_0xa5d7('0x30')],{'where':{'MailAccountId':_0x152e51['id']}})[_0xa5d7('0x11')](function(){return _0x152e51;});}return _0x152e51;})['then'](function(_0x219af9){if(_0x219af9&&_0x342383[_0xa5d7('0x51')]['Smtp']){return db['MailServerOut'][_0xa5d7('0x27')](_0x342383['body'][_0xa5d7('0x32')],{'where':{'MailAccountId':_0x219af9['id']}})[_0xa5d7('0x11')](function(){return _0x219af9;});}return _0x219af9;})[_0xa5d7('0x11')](respondWithResult(_0x58bbaf,null))[_0xa5d7('0x1c')](handleError(_0x58bbaf,null));};exports['describe']=function(_0x4d193c,_0x2ac0d6){return db[_0xa5d7('0x36')][_0xa5d7('0x54')]()['then'](respondWithResult(_0x2ac0d6,null))[_0xa5d7('0x1c')](handleError(_0x2ac0d6,null));};exports[_0xa5d7('0x55')]=function(_0x5684cb,_0x186eee){if(_0x5684cb[_0xa5d7('0x51')]['id']){delete _0x5684cb['body']['id'];}return db[_0xa5d7('0x36')][_0xa5d7('0x50')]({'where':{'id':_0x5684cb['params']['id']}})['then'](handleEntityNotFound(_0x186eee,null))['then'](function(_0x3f14d1){if(_0x3f14d1){_0x5684cb[_0xa5d7('0x51')][_0xa5d7('0x56')]=_0x3f14d1['id'];return db[_0xa5d7('0x57')][_0xa5d7('0x58')](_0x5684cb[_0xa5d7('0x51')]);}})['then'](respondWithResult(_0x186eee,null))['catch'](handleError(_0x186eee,null));};exports[_0xa5d7('0x59')]=function(_0x109709,_0x369f55){var _0x275898={'raw':![],'where':{}};var _0x1e55c8={};var _0x596d9f={'count':0x0,'rows':[]};return db[_0xa5d7('0x36')]['findOne']({'where':{'id':_0x109709['params']['id']}})[_0xa5d7('0x11')](handleEntityNotFound(_0x369f55,null))[_0xa5d7('0x11')](function(_0x20f57c){if(_0x20f57c){_0x1e55c8[_0xa5d7('0x3a')]=_[_0xa5d7('0x3c')](db[_0xa5d7('0x57')][_0xa5d7('0x37')]);_0x1e55c8['query']=_['keys'](_0x109709[_0xa5d7('0x3b')]);_0x1e55c8[_0xa5d7('0x3d')]=_[_0xa5d7('0x3f')](_0x1e55c8['model'],_0x1e55c8['query']);_0x275898['attributes']=_[_0xa5d7('0x3f')](_0x1e55c8[_0xa5d7('0x3a')],qs[_0xa5d7('0x40')](_0x109709[_0xa5d7('0x3b')][_0xa5d7('0x40')]));_0x275898[_0xa5d7('0x3e')]=_0x275898[_0xa5d7('0x3e')][_0xa5d7('0x41')]?_0x275898['attributes']:_0x1e55c8[_0xa5d7('0x3a')];if(!_0x109709[_0xa5d7('0x3b')][_0xa5d7('0x42')](_0xa5d7('0x43'))){_0x275898[_0xa5d7('0x24')]=qs[_0xa5d7('0x24')](_0x109709[_0xa5d7('0x3b')][_0xa5d7('0x24')]);_0x275898['offset']=qs['offset'](_0x109709[_0xa5d7('0x3b')][_0xa5d7('0x22')]);}_0x275898[_0xa5d7('0x44')]=qs[_0xa5d7('0x5a')](_0x109709['query'][_0xa5d7('0x5a')]);_0x275898[_0xa5d7('0x46')]=qs[_0xa5d7('0x3d')](_[_0xa5d7('0x5b')](_0x109709[_0xa5d7('0x3b')],_0x1e55c8[_0xa5d7('0x3d')]));_0x275898[_0xa5d7('0x46')]['MailAccountId']=_0x20f57c['id'];if(_0x109709[_0xa5d7('0x3b')][_0xa5d7('0x45')]){_0x275898['where']=_[_0xa5d7('0x48')](_0x275898[_0xa5d7('0x46')],{'$or':_['map'](_0x275898[_0xa5d7('0x3e')],function(_0xd7c310){var _0xd45068={};_0xd45068[_0xd7c310]={'$like':'%'+_0x109709[_0xa5d7('0x3b')]['filter']+'%'};return _0xd45068;})});}_0x275898=_['merge']({},_0x275898,_0x109709[_0xa5d7('0x4f')]);return db['Disposition'][_0xa5d7('0x23')]({'where':_0x275898[_0xa5d7('0x46')]})[_0xa5d7('0x11')](function(_0x5e5465){_0x596d9f[_0xa5d7('0x23')]=_0x5e5465;if(_0x109709[_0xa5d7('0x3b')][_0xa5d7('0x49')]){_0x275898[_0xa5d7('0x4a')]=[{'all':!![]}];}return db[_0xa5d7('0x57')]['findAll'](_0x275898);})[_0xa5d7('0x11')](function(_0xb32aec){_0x596d9f[_0xa5d7('0x4c')]=_0xb32aec;return _0x596d9f;});}})[_0xa5d7('0x11')](respondWithFilteredResult(_0x369f55,_0x275898))['catch'](handleError(_0x369f55,null));};exports[_0xa5d7('0x5c')]=function(_0x2c45b5,_0x4bd9cc){return db[_0xa5d7('0x36')][_0xa5d7('0x50')]({'where':{'id':_0x2c45b5[_0xa5d7('0x4e')]['id']}})[_0xa5d7('0x11')](handleEntityNotFound(_0x4bd9cc,null))['then'](function(_0x18f369){if(_0x18f369){return _0x18f369['removeDispositions'](_0x2c45b5[_0xa5d7('0x3b')][_0xa5d7('0x5d')]);}})[_0xa5d7('0x11')](respondWithStatusCode(_0x4bd9cc,null))[_0xa5d7('0x1c')](handleError(_0x4bd9cc,null));};exports[_0xa5d7('0x5e')]=function(_0x150745,_0x530e01){if(_0x150745[_0xa5d7('0x51')]['id']){delete _0x150745[_0xa5d7('0x51')]['id'];}return db[_0xa5d7('0x36')][_0xa5d7('0x50')]({'where':{'id':_0x150745[_0xa5d7('0x4e')]['id']}})['then'](handleEntityNotFound(_0x530e01,null))[_0xa5d7('0x11')](function(_0x58d9f5){if(_0x58d9f5){_0x150745[_0xa5d7('0x51')][_0xa5d7('0x56')]=_0x58d9f5['id'];return db[_0xa5d7('0x5f')][_0xa5d7('0x58')](_0x150745['body']);}})['then'](respondWithResult(_0x530e01,null))[_0xa5d7('0x1c')](handleError(_0x530e01,null));};exports['getAnswers']=function(_0x588b06,_0x7198d3){var _0x315c52={'raw':![],'where':{}};var _0x2c32ce={};var _0x273fb8={'count':0x0,'rows':[]};return db[_0xa5d7('0x36')][_0xa5d7('0x60')]({'where':{'id':_0x588b06[_0xa5d7('0x4e')]['id']}})[_0xa5d7('0x11')](handleEntityNotFound(_0x7198d3,null))[_0xa5d7('0x11')](function(_0x2617d4){if(_0x2617d4){_0x2c32ce[_0xa5d7('0x3a')]=_[_0xa5d7('0x3c')](db[_0xa5d7('0x5f')][_0xa5d7('0x37')]);_0x2c32ce[_0xa5d7('0x3b')]=_[_0xa5d7('0x3c')](_0x588b06[_0xa5d7('0x3b')]);_0x2c32ce[_0xa5d7('0x3d')]=_[_0xa5d7('0x3f')](_0x2c32ce['model'],_0x2c32ce[_0xa5d7('0x3b')]);_0x315c52[_0xa5d7('0x3e')]=_[_0xa5d7('0x3f')](_0x2c32ce[_0xa5d7('0x3a')],qs[_0xa5d7('0x40')](_0x588b06[_0xa5d7('0x3b')]['fields']));_0x315c52['attributes']=_0x315c52[_0xa5d7('0x3e')][_0xa5d7('0x41')]?_0x315c52[_0xa5d7('0x3e')]:_0x2c32ce[_0xa5d7('0x3a')];if(!_0x588b06[_0xa5d7('0x3b')][_0xa5d7('0x42')](_0xa5d7('0x43'))){_0x315c52['limit']=qs[_0xa5d7('0x24')](_0x588b06['query'][_0xa5d7('0x24')]);_0x315c52[_0xa5d7('0x22')]=qs[_0xa5d7('0x22')](_0x588b06[_0xa5d7('0x3b')][_0xa5d7('0x22')]);}_0x315c52[_0xa5d7('0x44')]=qs[_0xa5d7('0x5a')](_0x588b06[_0xa5d7('0x3b')][_0xa5d7('0x5a')]);_0x315c52[_0xa5d7('0x46')]=qs[_0xa5d7('0x3d')](_['pick'](_0x588b06[_0xa5d7('0x3b')],_0x2c32ce[_0xa5d7('0x3d')]));_0x315c52[_0xa5d7('0x46')]['MailAccountId']=_0x2617d4['id'];if(_0x588b06[_0xa5d7('0x3b')]['filter']){_0x315c52[_0xa5d7('0x46')]=_[_0xa5d7('0x48')](_0x315c52['where'],{'$or':_[_0xa5d7('0x35')](_0x315c52[_0xa5d7('0x3e')],function(_0x46aa74){var _0x368e34={};_0x368e34[_0x46aa74]={'$like':'%'+_0x588b06[_0xa5d7('0x3b')][_0xa5d7('0x45')]+'%'};return _0x368e34;})});}_0x315c52=_['merge']({},_0x315c52,_0x588b06[_0xa5d7('0x4f')]);return db[_0xa5d7('0x5f')][_0xa5d7('0x23')]({'where':_0x315c52[_0xa5d7('0x46')]})[_0xa5d7('0x11')](function(_0x5cc97f){_0x273fb8['count']=_0x5cc97f;if(_0x588b06['query']['includeAll']){_0x315c52[_0xa5d7('0x4a')]=[{'all':!![]}];}return db[_0xa5d7('0x5f')][_0xa5d7('0x4b')](_0x315c52);})[_0xa5d7('0x11')](function(_0x2fd2d9){_0x273fb8['rows']=_0x2fd2d9;return _0x273fb8;});}})[_0xa5d7('0x11')](respondWithFilteredResult(_0x7198d3,_0x315c52))[_0xa5d7('0x1c')](handleError(_0x7198d3,null));};exports['removeAnswers']=function(_0x30e09c,_0x269597){return db[_0xa5d7('0x36')]['find']({'where':{'id':_0x30e09c['params']['id']}})['then'](handleEntityNotFound(_0x269597,null))[_0xa5d7('0x11')](function(_0x3479e2){if(_0x3479e2){return _0x3479e2['removeAnswers'](_0x30e09c['query'][_0xa5d7('0x5d')]);}})[_0xa5d7('0x11')](respondWithStatusCode(_0x269597,null))[_0xa5d7('0x1c')](handleError(_0x269597,null));};exports[_0xa5d7('0x58')]=function(_0x1b50bf,_0x5b3d1f){var _0x40fcd5={'name':_0x1b50bf['body']['name'],'key':_0x1b50bf[_0xa5d7('0x51')][_0xa5d7('0x39')],'provider':_0x1b50bf[_0xa5d7('0x51')]['provider']==='custom'?null:_0x1b50bf[_0xa5d7('0x51')][_0xa5d7('0x61')],'email':_0x1b50bf[_0xa5d7('0x51')]['email'],'ListId':_0x1b50bf['body'][_0xa5d7('0x62')],'active':!_[_0xa5d7('0x63')](_0x1b50bf[_0xa5d7('0x51')]['active'])?_0x1b50bf[_0xa5d7('0x51')][_0xa5d7('0x64')]:!![],'description':_0x1b50bf[_0xa5d7('0x51')]['description']||null,'Imap':{},'Smtp':{}};if(_0x40fcd5['provider']){_0x40fcd5['Imap'][_0xa5d7('0x65')]=_0x40fcd5['Smtp'][_0xa5d7('0x65')]=_0x1b50bf[_0xa5d7('0x51')][_0xa5d7('0x66')];_0x40fcd5[_0xa5d7('0x30')]['password']=_0x40fcd5['Smtp'][_0xa5d7('0x67')]=_0x1b50bf[_0xa5d7('0x51')][_0xa5d7('0x68')];if(_0x1b50bf[_0xa5d7('0x51')][_0xa5d7('0x52')]){_0x40fcd5['Imap'][_0xa5d7('0x52')]=_0x40fcd5[_0xa5d7('0x32')][_0xa5d7('0x52')]=!![];_0x40fcd5['Imap'][_0xa5d7('0x53')]=_0x40fcd5[_0xa5d7('0x32')][_0xa5d7('0x53')]=_0x1b50bf[_0xa5d7('0x51')][_0xa5d7('0x53')];_0x40fcd5['Imap'][_0xa5d7('0x68')]=_0x40fcd5[_0xa5d7('0x32')][_0xa5d7('0x67')]=null;}else{_0x40fcd5['Imap'][_0xa5d7('0x53')]=_0x40fcd5[_0xa5d7('0x32')]['CloudProviderId']=null;}_0x40fcd5[_0xa5d7('0x30')]['service']=_0x40fcd5[_0xa5d7('0x32')][_0xa5d7('0x69')]=null;_0x40fcd5['Imap']['host']=_0x40fcd5[_0xa5d7('0x32')]['host']=null;_0x40fcd5[_0xa5d7('0x30')][_0xa5d7('0x6a')]=_0x40fcd5['Smtp'][_0xa5d7('0x6a')]=null;}else{if(_0x1b50bf[_0xa5d7('0x51')][_0xa5d7('0x6b')]){_0x40fcd5[_0xa5d7('0x30')]['user']=_0x40fcd5[_0xa5d7('0x32')][_0xa5d7('0x65')]=_0x1b50bf[_0xa5d7('0x51')][_0xa5d7('0x66')];_0x40fcd5['Imap']['password']=_0x40fcd5['Smtp'][_0xa5d7('0x67')]=_0x1b50bf[_0xa5d7('0x51')]['password'];}else{_0x40fcd5[_0xa5d7('0x30')][_0xa5d7('0x6b')]=_0x40fcd5['Smtp'][_0xa5d7('0x6b')]=![];_0x40fcd5[_0xa5d7('0x30')]['user']=_0x40fcd5[_0xa5d7('0x32')][_0xa5d7('0x65')]=null;_0x40fcd5[_0xa5d7('0x30')][_0xa5d7('0x68')]=_0x40fcd5[_0xa5d7('0x32')][_0xa5d7('0x67')]=null;}_0x40fcd5[_0xa5d7('0x30')][_0xa5d7('0x6c')]=_0x1b50bf[_0xa5d7('0x51')][_0xa5d7('0x30')][_0xa5d7('0x6c')];_0x40fcd5[_0xa5d7('0x30')][_0xa5d7('0x6a')]=_0x1b50bf[_0xa5d7('0x51')][_0xa5d7('0x30')][_0xa5d7('0x6a')];_0x40fcd5[_0xa5d7('0x32')][_0xa5d7('0x6c')]=_0x1b50bf[_0xa5d7('0x51')][_0xa5d7('0x32')][_0xa5d7('0x6c')];_0x40fcd5[_0xa5d7('0x32')][_0xa5d7('0x6a')]=_0x1b50bf[_0xa5d7('0x51')]['Smtp'][_0xa5d7('0x6a')];}return db[_0xa5d7('0x36')][_0xa5d7('0x58')](_0x40fcd5,{'include':[{'model':db[_0xa5d7('0x31')],'as':_0xa5d7('0x32')},{'model':db[_0xa5d7('0x2f')],'as':_0xa5d7('0x30')}]})[_0xa5d7('0x11')](function(_0x546699){var _0x45b07c=_0x1b50bf['user'][_0xa5d7('0x29')]({'plain':!![]});if(!_0x45b07c)throw new Error(_0xa5d7('0x6d'));if(_0x45b07c[_0xa5d7('0x6e')]==='user'){var _0x4c5b0b=_0x546699[_0xa5d7('0x29')]({'plain':!![]});return db['UserProfileSection'][_0xa5d7('0x50')]({'where':{'name':'MailAccounts','userProfileId':_0x45b07c[_0xa5d7('0x6f')]},'raw':!![]})[_0xa5d7('0x11')](function(_0x2ff44e){if(_0x2ff44e&&_0x2ff44e[_0xa5d7('0x70')]===0x0){return db[_0xa5d7('0x2b')]['create']({'name':_0x4c5b0b[_0xa5d7('0x2c')],'resourceId':_0x4c5b0b['id'],'type':_0x2ff44e[_0xa5d7('0x2c')],'sectionId':_0x2ff44e['id']},{})[_0xa5d7('0x11')](function(){return _0x546699;});}else{return _0x546699;}})[_0xa5d7('0x1c')](function(_0x17ebbe){logger[_0xa5d7('0x18')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x17ebbe);throw _0x17ebbe;});}return _0x546699;})['then'](respondWithResult(_0x5b3d1f,0xc9))[_0xa5d7('0x1c')](handleError(_0x5b3d1f,null));};exports[_0xa5d7('0x71')]=function(_0x526145,_0x39e330){return db[_0xa5d7('0x36')]['findOne']({'where':{'id':_0x526145[_0xa5d7('0x4e')]['id']}})[_0xa5d7('0x11')](handleEntityNotFound(_0x39e330,null))['then'](function(_0x2fd301){if(_0x2fd301){return _0x2fd301[_0xa5d7('0x71')]();}return null;})['then'](respondWithResult(_0x39e330,null))[_0xa5d7('0x1c')](handleError(_0x39e330,null));};exports[_0xa5d7('0x72')]=function(_0x275294,_0x53a762){if(_0x275294[_0xa5d7('0x51')]['id']){delete _0x275294[_0xa5d7('0x51')]['id'];}return db[_0xa5d7('0x36')][_0xa5d7('0x50')]({'where':{'id':_0x275294[_0xa5d7('0x4e')]['id']}})[_0xa5d7('0x11')](handleEntityNotFound(_0x53a762,null))[_0xa5d7('0x11')](function(_0x59012e){if(_0x59012e){_0x275294[_0xa5d7('0x51')][_0xa5d7('0x56')]=_0x59012e['id'];return db[_0xa5d7('0x2f')][_0xa5d7('0x58')](_0x275294['body']);}})[_0xa5d7('0x11')](respondWithResult(_0x53a762,null))[_0xa5d7('0x1c')](handleError(_0x53a762,null));};exports['removeImap']=function(_0x6855b1,_0x50369c){return db[_0xa5d7('0x36')]['findOne']({'where':{'id':_0x6855b1[_0xa5d7('0x4e')]['id']}})[_0xa5d7('0x11')](handleEntityNotFound(_0x50369c,null))['then'](function(_0x38c96c){if(_0x38c96c){return _0x38c96c['setImap'](null);}return null;})[_0xa5d7('0x11')](respondWithStatusCode(_0x50369c,null))[_0xa5d7('0x1c')](handleError(_0x50369c,null));};exports[_0xa5d7('0x73')]=function(_0x2f441e,_0x38fd44){return db[_0xa5d7('0x36')][_0xa5d7('0x60')]({'where':{'id':_0x2f441e[_0xa5d7('0x4e')]['id']}})['then'](handleEntityNotFound(_0x38fd44,null))['then'](function(_0x30fea0){if(_0x30fea0){return _0x30fea0[_0xa5d7('0x73')]();}return null;})[_0xa5d7('0x11')](respondWithResult(_0x38fd44,null))[_0xa5d7('0x1c')](handleError(_0x38fd44,null));};exports[_0xa5d7('0x74')]=function(_0x1ebaac,_0x21f15e){if(_0x1ebaac['body']['id']){delete _0x1ebaac['body']['id'];}return db[_0xa5d7('0x36')][_0xa5d7('0x50')]({'where':{'id':_0x1ebaac['params']['id']}})['then'](handleEntityNotFound(_0x21f15e,null))[_0xa5d7('0x11')](function(_0xe55ad2){if(_0xe55ad2){_0x1ebaac[_0xa5d7('0x51')]['MailAccountId']=_0xe55ad2['id'];return db[_0xa5d7('0x31')][_0xa5d7('0x58')](_0x1ebaac[_0xa5d7('0x51')]);}})[_0xa5d7('0x11')](respondWithResult(_0x21f15e,null))['catch'](handleError(_0x21f15e,null));};exports['removeSmtp']=function(_0x5e1d1a,_0x3bca67){return db['MailAccount'][_0xa5d7('0x60')]({'where':{'id':_0x5e1d1a[_0xa5d7('0x4e')]['id']}})[_0xa5d7('0x11')](handleEntityNotFound(_0x3bca67,null))[_0xa5d7('0x11')](function(_0x267140){if(_0x267140){return _0x267140[_0xa5d7('0x75')](null);}return null;})[_0xa5d7('0x11')](respondWithStatusCode(_0x3bca67,null))[_0xa5d7('0x1c')](handleError(_0x3bca67,null));};exports[_0xa5d7('0x76')]=function(_0x5a7d7c,_0x34542c){return db[_0xa5d7('0x77')]['find']({'where':{'id':_0x5a7d7c['params']['id']}})[_0xa5d7('0x11')](handleEntityNotFound(_0x34542c,null))[_0xa5d7('0x11')](function(_0x586617){if(_0x586617){return _0x586617[_0xa5d7('0x76')](_0x5a7d7c[_0xa5d7('0x51')]['ids'],_[_0xa5d7('0x78')](_0x5a7d7c[_0xa5d7('0x51')],[_0xa5d7('0x5d'),'id'])||{});}})[_0xa5d7('0x11')](respondWithResult(_0x34542c,null))[_0xa5d7('0x1c')](handleError(_0x34542c,null));};exports['getInteractions']=function(_0x138e4d,_0x364d0d){var _0x217e60={'raw':![],'where':{}};var _0x24b370={};var _0x4f9b47={'count':0x0,'rows':[]};return db[_0xa5d7('0x36')][_0xa5d7('0x60')]({'where':{'id':_0x138e4d[_0xa5d7('0x4e')]['id']}})['then'](handleEntityNotFound(_0x364d0d,null))[_0xa5d7('0x11')](function(_0x3d2689){if(_0x3d2689){_0x24b370[_0xa5d7('0x3a')]=_['keys'](db['MailInteraction'][_0xa5d7('0x37')]);_0x24b370[_0xa5d7('0x3b')]=_['keys'](_0x138e4d['query']);_0x24b370[_0xa5d7('0x3d')]=_[_0xa5d7('0x3f')](_0x24b370[_0xa5d7('0x3a')],_0x24b370[_0xa5d7('0x3b')]);_0x217e60[_0xa5d7('0x3e')]=_[_0xa5d7('0x3f')](_0x24b370[_0xa5d7('0x3a')],qs[_0xa5d7('0x40')](_0x138e4d[_0xa5d7('0x3b')]['fields']));_0x217e60['attributes']=_0x217e60[_0xa5d7('0x3e')][_0xa5d7('0x41')]?_0x217e60[_0xa5d7('0x3e')]:_0x24b370[_0xa5d7('0x3a')];if(!_0x138e4d[_0xa5d7('0x3b')][_0xa5d7('0x42')](_0xa5d7('0x43'))){_0x217e60[_0xa5d7('0x24')]=qs['limit'](_0x138e4d[_0xa5d7('0x3b')]['limit']);_0x217e60['offset']=qs[_0xa5d7('0x22')](_0x138e4d[_0xa5d7('0x3b')][_0xa5d7('0x22')]);}_0x217e60['order']=qs[_0xa5d7('0x5a')](_0x138e4d[_0xa5d7('0x3b')][_0xa5d7('0x5a')]);_0x217e60[_0xa5d7('0x46')]=qs[_0xa5d7('0x3d')](_[_0xa5d7('0x5b')](_0x138e4d[_0xa5d7('0x3b')],_0x24b370['filters']));_0x217e60[_0xa5d7('0x46')][_0xa5d7('0x56')]=_0x3d2689['id'];if(_0x138e4d[_0xa5d7('0x3b')][_0xa5d7('0x45')]){_0x217e60[_0xa5d7('0x46')]=_['merge'](_0x217e60['where'],{'$or':_[_0xa5d7('0x35')](_0x217e60['attributes'],function(_0x12d9e5){var _0x559d0d={};_0x559d0d[_0x12d9e5]={'$like':'%'+_0x138e4d[_0xa5d7('0x3b')]['filter']+'%'};return _0x559d0d;})});}_0x217e60=_[_0xa5d7('0x48')]({},_0x217e60,_0x138e4d[_0xa5d7('0x4f')]);return db[_0xa5d7('0x77')][_0xa5d7('0x23')]({'where':_0x217e60[_0xa5d7('0x46')]})[_0xa5d7('0x11')](function(_0x5a3fc0){_0x4f9b47[_0xa5d7('0x23')]=_0x5a3fc0;if(_0x138e4d[_0xa5d7('0x3b')][_0xa5d7('0x49')]){_0x217e60['include']=[{'model':db[_0xa5d7('0x79')],'as':_0xa5d7('0x7a'),'required':![]},{'model':db['User'],'as':_0xa5d7('0x7b'),'attributes':['name',_0xa5d7('0x7c'),_0xa5d7('0x7d')],'required':![]},{'model':db['Tag'],'as':_0xa5d7('0x7e'),'attributes':['id','name','color'],'where':_0x138e4d[_0xa5d7('0x3b')][_0xa5d7('0x7f')]?{'id':_0x138e4d[_0xa5d7('0x3b')][_0xa5d7('0x7f')]}:undefined,'required':_0x138e4d[_0xa5d7('0x3b')][_0xa5d7('0x7f')]?!![]:![]}];}return db[_0xa5d7('0x77')][_0xa5d7('0x4b')](_0x217e60);})[_0xa5d7('0x11')](function(_0xa93938){_0x4f9b47[_0xa5d7('0x4c')]=_0xa93938;return _0x4f9b47;});}})['then'](respondWithFilteredResult(_0x364d0d,_0x217e60))[_0xa5d7('0x1c')](handleError(_0x364d0d,null));};exports['addApplications']=function addApplications(_0x4d23d7,_0x4817ca){var _0x5b1daf=_0x4d23d7[_0xa5d7('0x4e')]['id'];var _0x426bf1=_0x4d23d7['body'];var _0x3023a9=0xc8;var _0x4563ac=null;return db[_0xa5d7('0x80')][_0xa5d7('0x81')]({'isolationLevel':db[_0xa5d7('0x80')][_0xa5d7('0x82')][_0xa5d7('0x83')][_0xa5d7('0x84')]},function(_0x12ee86){return db[_0xa5d7('0x36')]['findOne']({'where':{'id':_0x5b1daf},'transaction':_0x12ee86})[_0xa5d7('0x11')](function(_0x14fc29){if(_0x14fc29){return db[_0xa5d7('0x85')][_0xa5d7('0x28')]({'where':{'MailAccountId':_0x5b1daf},'transaction':_0x12ee86})[_0xa5d7('0x11')](function(){var _0x5d831f=_[_0xa5d7('0x35')](_0x426bf1,function(_0x37814f){_0x37814f[_0xa5d7('0x56')]=_0x5b1daf;return _0x37814f;});return db['MailApplication'][_0xa5d7('0x86')](_0x5d831f,{'transaction':_0x12ee86});});}else{_0x3023a9=0x194;_0x4563ac=[];}});})[_0xa5d7('0x11')](function(){if(_0x3023a9!==0x194){return db[_0xa5d7('0x85')][_0xa5d7('0x87')]({'where':{'MailAccountId':_0x5b1daf},'order':_0xa5d7('0x88')})['then'](function(_0x6b6d4e){_0x4563ac=_0x6b6d4e;});}})[_0xa5d7('0x1c')](function(_0x3e5de2){_0x3023a9=0x1f4;logger['error'](_0x3e5de2[_0xa5d7('0x89')]);if(_0x3e5de2[_0xa5d7('0x2c')]){delete _0x3e5de2[_0xa5d7('0x2c')];}_0x4563ac=_0x3e5de2;})[_0xa5d7('0x8a')](function(){if(_0x4563ac===null){_0x4817ca[_0xa5d7('0x1d')](_0x3023a9);}else{if(_0x3023a9===0x1f4){_0x4817ca[_0xa5d7('0x1f')](_0x3023a9)[_0xa5d7('0x2d')](_0x4563ac);}else{_0x4817ca[_0xa5d7('0x1f')](_0x3023a9)[_0xa5d7('0x20')](_0x4563ac);}}});};exports[_0xa5d7('0x8b')]=function(_0x499e0e,_0xab3faa){var _0x1c1ff5={};var _0x5814d2={};var _0x878c1a;var _0x5aedce;return db['MailAccount'][_0xa5d7('0x60')]({'where':{'id':_0x499e0e[_0xa5d7('0x4e')]['id']}})['then'](handleEntityNotFound(_0xab3faa,null))[_0xa5d7('0x11')](function(_0x274989){if(_0x274989){_0x878c1a=_0x274989;_0x5814d2['model']=_[_0xa5d7('0x3c')](db[_0xa5d7('0x85')][_0xa5d7('0x37')]);_0x5814d2[_0xa5d7('0x3b')]=_[_0xa5d7('0x3c')](_0x499e0e['query']);_0x5814d2[_0xa5d7('0x3d')]=_['intersection'](_0x5814d2[_0xa5d7('0x3a')],_0x5814d2[_0xa5d7('0x3b')]);_0x1c1ff5[_0xa5d7('0x3e')]=_[_0xa5d7('0x3f')](_0x5814d2[_0xa5d7('0x3a')],qs['fields'](_0x499e0e['query']['fields']));_0x1c1ff5[_0xa5d7('0x3e')]=_0x1c1ff5[_0xa5d7('0x3e')][_0xa5d7('0x41')]?_0x1c1ff5[_0xa5d7('0x3e')]:_0x5814d2['model'];_0x1c1ff5[_0xa5d7('0x44')]=qs[_0xa5d7('0x5a')](_0x499e0e['query'][_0xa5d7('0x5a')]);_0x1c1ff5[_0xa5d7('0x46')]=qs[_0xa5d7('0x3d')](_['pick'](_0x499e0e[_0xa5d7('0x3b')],_0x5814d2[_0xa5d7('0x3d')]));if(_0x499e0e[_0xa5d7('0x3b')]['filter']){_0x1c1ff5[_0xa5d7('0x46')]=_[_0xa5d7('0x48')](_0x1c1ff5['where'],{'$or':_[_0xa5d7('0x35')](_0x1c1ff5['attributes'],function(_0x487b34){var _0x50d02b={};_0x50d02b[_0x487b34]={'$like':'%'+_0x499e0e[_0xa5d7('0x3b')][_0xa5d7('0x45')]+'%'};return _0x50d02b;})});}_0x1c1ff5=_[_0xa5d7('0x48')]({},_0x1c1ff5,_0x499e0e['options']);return _0x878c1a[_0xa5d7('0x8b')](_0x1c1ff5);}})[_0xa5d7('0x11')](function(_0x2c3493){if(_0x2c3493){_0x5aedce=_0x2c3493['length'];if(!_0x499e0e[_0xa5d7('0x3b')][_0xa5d7('0x42')]('nolimit')){_0x1c1ff5['limit']=qs[_0xa5d7('0x24')](_0x499e0e[_0xa5d7('0x3b')]['limit']);_0x1c1ff5['offset']=qs['offset'](_0x499e0e[_0xa5d7('0x3b')][_0xa5d7('0x22')]);}return _0x878c1a['getApplications'](_0x1c1ff5);}})['then'](function(_0x57c6d8){if(_0x57c6d8){return _0x57c6d8?{'count':_0x5aedce,'rows':_0x57c6d8}:null;}})[_0xa5d7('0x11')](respondWithResult(_0xab3faa,null))[_0xa5d7('0x1c')](handleError(_0xab3faa,null));};exports[_0xa5d7('0x8c')]=function(_0x1587d9,_0x9ef6d0){var _0x57231b={'raw':!![],'where':{}};var _0xcad40e={};var _0x24cf6a={'count':0x0,'rows':[]};return db['MailAccount'][_0xa5d7('0x60')]({'where':{'id':_0x1587d9['params']['id']}})['then'](handleEntityNotFound(_0x9ef6d0,null))[_0xa5d7('0x11')](function(_0x350c39){if(_0x350c39){_0xcad40e[_0xa5d7('0x3a')]=_[_0xa5d7('0x3c')](db['MailMessage']['rawAttributes']);_0xcad40e[_0xa5d7('0x3b')]=_['keys'](_0x1587d9[_0xa5d7('0x3b')]);_0xcad40e['filters']=_[_0xa5d7('0x3f')](_0xcad40e[_0xa5d7('0x3a')],_0xcad40e[_0xa5d7('0x3b')]);_0x57231b[_0xa5d7('0x3e')]=_['intersection'](_0xcad40e[_0xa5d7('0x3a')],qs[_0xa5d7('0x40')](_0x1587d9[_0xa5d7('0x3b')][_0xa5d7('0x40')]));_0x57231b[_0xa5d7('0x3e')]=_0x57231b[_0xa5d7('0x3e')]['length']?_0x57231b['attributes']:_0xcad40e[_0xa5d7('0x3a')];if(!_0x1587d9[_0xa5d7('0x3b')][_0xa5d7('0x42')](_0xa5d7('0x43'))){_0x57231b['limit']=qs[_0xa5d7('0x24')](_0x1587d9['query'][_0xa5d7('0x24')]);_0x57231b['offset']=qs[_0xa5d7('0x22')](_0x1587d9[_0xa5d7('0x3b')][_0xa5d7('0x22')]);}_0x57231b[_0xa5d7('0x44')]=qs[_0xa5d7('0x5a')](_0x1587d9[_0xa5d7('0x3b')][_0xa5d7('0x5a')]);_0x57231b[_0xa5d7('0x46')]=qs[_0xa5d7('0x3d')](_['pick'](_0x1587d9[_0xa5d7('0x3b')],_0xcad40e[_0xa5d7('0x3d')]));_0x57231b[_0xa5d7('0x46')][_0xa5d7('0x56')]=_0x350c39['id'];if(_0x1587d9['query'][_0xa5d7('0x45')]){_0x57231b[_0xa5d7('0x46')]=_[_0xa5d7('0x48')](_0x57231b[_0xa5d7('0x46')],{'$or':_[_0xa5d7('0x35')](_0x57231b['attributes'],function(_0x1ce3ff){var _0x263fd4={};_0x263fd4[_0x1ce3ff]={'$like':'%'+_0x1587d9['query'][_0xa5d7('0x45')]+'%'};return _0x263fd4;})});}if(_0x1587d9['query'][_0xa5d7('0x8d')]){var _0x427507=_0x1587d9[_0xa5d7('0x3b')][_0xa5d7('0x8d')]['split'](',');var _0x20b88c={};_0x20b88c[_0x427507[0x0]]={'$gte':moment(_0x427507[0x1])[_0xa5d7('0x8e')]('YYYY-MM-DD\x20HH:mm:ss')};_0x57231b[_0xa5d7('0x46')]=_['merge'](_0x57231b[_0xa5d7('0x46')],_0x20b88c);}_0x57231b=_['merge']({},_0x57231b,_0x1587d9[_0xa5d7('0x4f')]);return db[_0xa5d7('0x8f')]['count']({'where':_0x57231b[_0xa5d7('0x46')]})[_0xa5d7('0x11')](function(_0x53f503){_0x24cf6a[_0xa5d7('0x23')]=_0x53f503;if(_0x1587d9[_0xa5d7('0x3b')][_0xa5d7('0x49')]){_0x57231b[_0xa5d7('0x4a')]=[{'all':!![]}];}return db[_0xa5d7('0x8f')][_0xa5d7('0x4b')](_0x57231b);})[_0xa5d7('0x11')](function(_0x1a7454){if(_0x1587d9[_0xa5d7('0x3b')][_0xa5d7('0x90')]===_0xa5d7('0x91')){for(var _0x493a1d=0x0;_0x493a1d<_0x1a7454[_0xa5d7('0x41')];_0x493a1d++){_0x1a7454[_0x493a1d][_0xa5d7('0x51')]=juice(_0x1a7454[_0x493a1d]['body']);}}_0x24cf6a[_0xa5d7('0x4c')]=_0x1a7454;return _0x24cf6a;});}})['then'](respondWithFilteredResult(_0x9ef6d0,_0x57231b))[_0xa5d7('0x1c')](handleError(_0x9ef6d0,null));};exports['send']=function(_0x1d0f91,_0x471753){var _0x469603,_0x56bb6a={},_0x1f28c2;if(_0x1d0f91[_0xa5d7('0x51')]['to']){_0x1f28c2=_0x1d0f91[_0xa5d7('0x51')]['to'][_0xa5d7('0x92')](',')[0x0];}return db[_0xa5d7('0x36')][_0xa5d7('0x50')]({'where':{'id':_0x1d0f91[_0xa5d7('0x4e')]['id']},'include':[{'model':db[_0xa5d7('0x93')],'as':_0xa5d7('0x94'),'include':[{'model':db[_0xa5d7('0x79')],'as':_0xa5d7('0x95'),'where':{'email':_0x1f28c2},'limit':0x1,'order':[[_0xa5d7('0x96'),_0xa5d7('0x97')]]}]},{'model':db[_0xa5d7('0x31')],'as':_0xa5d7('0x32'),'raw':!![]}]})['then'](handleEntityNotFound(_0x471753,null))[_0xa5d7('0x11')](function(_0x57ceab){if(_0x57ceab){_0x469603=_0x57ceab;if(_0x57ceab[_0xa5d7('0x32')]){if(_['isNil'](_0x1d0f91[_0xa5d7('0x51')][_0xa5d7('0x98')])){_0x1d0f91['body'][_0xa5d7('0x98')]=util[_0xa5d7('0x8e')](_0xa5d7('0x99'),_0x57ceab[_0xa5d7('0x2c')],_0x57ceab[_0xa5d7('0x9a')]||_0x57ceab[_0xa5d7('0x32')]['user']);}if(_0x1d0f91[_0xa5d7('0x51')][_0xa5d7('0x9b')]&&_0x1d0f91['body'][_0xa5d7('0x9b')][_0xa5d7('0x41')]){for(var _0x2e207c=0x0;_0x2e207c<_0x1d0f91['body'][_0xa5d7('0x9b')][_0xa5d7('0x41')];_0x2e207c+=0x1){_0x1d0f91[_0xa5d7('0x51')][_0xa5d7('0x9b')][_0x2e207c]={'filename':_0x1d0f91[_0xa5d7('0x51')]['attachments'][_0x2e207c]['name'],'path':path[_0xa5d7('0x9c')](config[_0xa5d7('0x9d')],_0xa5d7('0x9e'),_0x1d0f91[_0xa5d7('0x51')][_0xa5d7('0x9b')][_0x2e207c]['basename'])};}}var _0x3b41c9={'tls':{'rejectUnauthorized':![]}};if(_['isNil'](_0x57ceab['Smtp']['service'])){if(_0x57ceab['Smtp']['authentication']){_0x3b41c9[_0xa5d7('0x9f')]={'user':_0x57ceab[_0xa5d7('0x32')][_0xa5d7('0x65')],'pass':_0x57ceab['Smtp'][_0xa5d7('0x67')]};}_0x3b41c9['host']=_0x57ceab['Smtp'][_0xa5d7('0x6c')];_0x3b41c9['port']=_0x57ceab[_0xa5d7('0x32')]['port'];_0x3b41c9[_0xa5d7('0xa0')]=_0x57ceab[_0xa5d7('0x32')][_0xa5d7('0xa0')];}else{_0x3b41c9['service']=_0x57ceab[_0xa5d7('0x32')][_0xa5d7('0x69')];_0x3b41c9[_0xa5d7('0x9f')]={'user':_0x57ceab[_0xa5d7('0x32')]['user'],'pass':_0x57ceab[_0xa5d7('0x32')]['pass']};}return respondWithRpcPromise(_0xa5d7('0xa1'),_0xa5d7('0xa2'),{'account':_0x3b41c9,'message':_0x1d0f91[_0xa5d7('0x51')]});}else{throw new Error('List\x20not\x20found');}}})[_0xa5d7('0x11')](function(_0x12a2ae){if(_0x12a2ae){_0x56bb6a=_0x12a2ae;if(_0x469603[_0xa5d7('0x94')]){if(_0x469603['List']['Contacts'][_0xa5d7('0x41')]){return _0x469603[_0xa5d7('0x94')]['Contacts'][0x0];}else{return db[_0xa5d7('0x79')][_0xa5d7('0x58')](_[_0xa5d7('0xa')](_0x1d0f91[_0xa5d7('0x51')],{'firstName':_0x1d0f91[_0xa5d7('0x51')]['to'],'email':_0x1d0f91[_0xa5d7('0x51')]['to'],'phone':_0x1d0f91[_0xa5d7('0x51')]['to'],'ListId':_0x469603[_0xa5d7('0x62')]}));}}else{throw new Error(_0xa5d7('0xa3'));}}})['then'](function(_0x72b09e){if(_0x72b09e){var _0x390bed={'UserId':_0x1d0f91[_0xa5d7('0x65')]['id'],'ContactId':_0x72b09e['id'],'MailAccountId':_0x469603['id'],'inReplyTo':_0x56bb6a['messageId'],'to':_0x1d0f91[_0xa5d7('0x51')]['from'],'cc':_0x1d0f91['body']['cc'],'subject':_0x1d0f91['body']['subject'],'attach':_0x1d0f91[_0xa5d7('0x51')][_0xa5d7('0xa4')],'firstMsgDirection':_0xa5d7('0xa5'),'lastMsgAt':moment()[_0xa5d7('0x8e')](_0xa5d7('0xa6')),'lastMsgDirection':'out','Messages':[_[_0xa5d7('0x48')](_0x1d0f91[_0xa5d7('0x51')],{'messageId':_0x56bb6a[_0xa5d7('0xa7')],'sentAt':moment()['format'](_0xa5d7('0xa6')),'read':!![],'MailAccountId':_0x469603['id'],'UserId':_0x1d0f91[_0xa5d7('0x65')]['id'],'ContactId':_0x72b09e['id']})]};if(_0x1d0f91[_0xa5d7('0x51')]['Interaction']){_0x390bed=_[_0xa5d7('0x48')](_0x390bed,_0x1d0f91['body'][_0xa5d7('0xa8')]);}return db[_0xa5d7('0x77')][_0xa5d7('0x58')](_0x390bed,{'include':[{'model':db[_0xa5d7('0x8f')],'as':_0xa5d7('0xa9')}]});}})[_0xa5d7('0x11')](respondWithResult(_0x471753,null))[_0xa5d7('0x1c')](handleError(_0x471753,null));};exports[_0xa5d7('0xaa')]=function(_0x440b45,_0x428a5c){return db[_0xa5d7('0x36')]['find']({'where':{'id':_0x440b45['params']['id']},'include':[{'model':db[_0xa5d7('0x31')],'as':_0xa5d7('0x32'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':'CloudProvider','raw':!![]}]}]})['then'](handleEntityNotFound(_0x428a5c,null))[_0xa5d7('0x11')](function(_0x424c56){if(!_0x424c56[_0xa5d7('0x32')])return;var _0x2c5d41={'id':_0x424c56['id'],'tls':{'rejectUnauthorized':![]}};if(_0x424c56[_0xa5d7('0x61')]!==_0xa5d7('0xab')){_0x2c5d41['service']=_0x424c56[_0xa5d7('0x61')];}else{_0x2c5d41[_0xa5d7('0x6c')]=_0x424c56[_0xa5d7('0x32')][_0xa5d7('0x6c')];_0x2c5d41['port']=_0x424c56[_0xa5d7('0x32')][_0xa5d7('0x6a')];_0x2c5d41[_0xa5d7('0xa0')]=_0x424c56[_0xa5d7('0x32')][_0xa5d7('0xa0')];}if(_0x424c56[_0xa5d7('0x32')][_0xa5d7('0x6b')]){if(_0x424c56[_0xa5d7('0x32')]['modernAuthentication']){_0x2c5d41['auth']={'type':_0xa5d7('0xac'),'user':_0x424c56['Smtp'][_0xa5d7('0x65')],'accessToken':_0x424c56[_0xa5d7('0x32')][_0xa5d7('0xad')][_0xa5d7('0xae')]};}else{_0x2c5d41[_0xa5d7('0x9f')]={'user':_0x424c56[_0xa5d7('0x32')][_0xa5d7('0x65')],'pass':_0x424c56[_0xa5d7('0x32')][_0xa5d7('0x67')]};}}return respondWithRpcPromise(_0xa5d7('0xaf'),_0xa5d7('0xaa'),{'account':_0x2c5d41});})[_0xa5d7('0x11')](respondWithResult(_0x428a5c,null))[_0xa5d7('0x1c')](handleError(_0x428a5c,null));};exports['destroy']=function(_0x323428,_0x3ffe10){return db[_0xa5d7('0x36')]['find']({'where':{'id':_0x323428[_0xa5d7('0x4e')]['id']}})['then'](handleEntityNotFound(_0x3ffe10,null))[_0xa5d7('0x11')](function(_0x46feda){if(_0x46feda&&_0x46feda[_0xa5d7('0x69')]){throw new db[(_0xa5d7('0xb0'))][(_0xa5d7('0xb1'))](_0xa5d7('0xb2'));}return _0x46feda;})[_0xa5d7('0x11')](removeEntity(_0x3ffe10,null))[_0xa5d7('0x1c')](handleError(_0x3ffe10,null));};exports['addAgents']=function(_0x348a31,_0x1db7ec){return db[_0xa5d7('0x36')][_0xa5d7('0x50')]({'where':{'id':_0x348a31[_0xa5d7('0x4e')]['id']}})['then'](handleEntityNotFound(_0x1db7ec,null))[_0xa5d7('0x11')](function(_0x43af32){if(_0x43af32){return _0x43af32[_0xa5d7('0xb3')](_0x348a31[_0xa5d7('0x51')][_0xa5d7('0x5d')],_[_0xa5d7('0x78')](_0x348a31[_0xa5d7('0x51')],[_0xa5d7('0x5d'),'id'])||{})['spread'](function(_0x3031cd){for(var _0x1c5dc1=0x0;_0x1c5dc1<_0x348a31[_0xa5d7('0x51')]['ids'][_0xa5d7('0x41')];_0x1c5dc1+=0x1){socket[_0xa5d7('0xb4')](_0xa5d7('0xb5'),{'UserId':Number(_0x348a31[_0xa5d7('0x51')][_0xa5d7('0x5d')][_0x1c5dc1]),'MailAccountId':Number(_0x348a31[_0xa5d7('0x4e')]['id'])});}return _0x3031cd;});}})[_0xa5d7('0x11')](respondWithResult(_0x1db7ec,null))[_0xa5d7('0x1c')](handleError(_0x1db7ec,null));};exports[_0xa5d7('0xb6')]=function(_0x21e722,_0x232b37){return db[_0xa5d7('0x36')][_0xa5d7('0x50')]({'where':{'id':_0x21e722['params']['id']}})[_0xa5d7('0x11')](handleEntityNotFound(_0x232b37,null))[_0xa5d7('0x11')](function(_0xf30216){if(_0xf30216){return _0xf30216['removeAgents'](_0x21e722[_0xa5d7('0x3b')]['ids'])[_0xa5d7('0x11')](function(){if(_[_0xa5d7('0xb7')](_0x21e722['query']['ids'])){for(var _0x1813ae=0x0;_0x1813ae<_0x21e722[_0xa5d7('0x3b')][_0xa5d7('0x5d')][_0xa5d7('0x41')];_0x1813ae+=0x1){socket[_0xa5d7('0xb4')](_0xa5d7('0xb8'),{'UserId':Number(_0x21e722[_0xa5d7('0x3b')][_0xa5d7('0x5d')][_0x1813ae]),'MailAccountId':Number(_0x21e722[_0xa5d7('0x4e')]['id'])});}}else{socket[_0xa5d7('0xb4')](_0xa5d7('0xb8'),{'UserId':Number(_0x21e722[_0xa5d7('0x3b')][_0xa5d7('0x5d')]),'MailAccountId':Number(_0x21e722[_0xa5d7('0x4e')]['id'])});}});}})[_0xa5d7('0x11')](respondWithStatusCode(_0x232b37,null))[_0xa5d7('0x1c')](handleError(_0x232b37,null));};exports[_0xa5d7('0xb9')]=function(_0x3501f4,_0x2cf46d){var _0x17fbaa={};var _0x5c9211={};var _0x118219;var _0x5d0a58;return db['MailAccount'][_0xa5d7('0x60')]({'where':{'id':_0x3501f4[_0xa5d7('0x4e')]['id']}})[_0xa5d7('0x11')](handleEntityNotFound(_0x2cf46d,null))['then'](function(_0x6cb93e){if(_0x6cb93e){_0x118219=_0x6cb93e;_0x5c9211['model']=_[_0xa5d7('0x3c')](db[_0xa5d7('0xba')][_0xa5d7('0x37')]);_0x5c9211['query']=_[_0xa5d7('0x3c')](_0x3501f4[_0xa5d7('0x3b')]);_0x5c9211[_0xa5d7('0x3d')]=_[_0xa5d7('0x3f')](_0x5c9211[_0xa5d7('0x3a')],_0x5c9211[_0xa5d7('0x3b')]);_0x17fbaa['attributes']=_['intersection'](_0x5c9211['model'],qs[_0xa5d7('0x40')](_0x3501f4[_0xa5d7('0x3b')]['fields']));_0x17fbaa['attributes']=_0x17fbaa[_0xa5d7('0x3e')][_0xa5d7('0x41')]?_0x17fbaa[_0xa5d7('0x3e')]:_0x5c9211[_0xa5d7('0x3a')];_0x17fbaa[_0xa5d7('0x44')]=qs[_0xa5d7('0x5a')](_0x3501f4[_0xa5d7('0x3b')][_0xa5d7('0x5a')]);_0x17fbaa[_0xa5d7('0x46')]=qs['filters'](_['pick'](_0x3501f4[_0xa5d7('0x3b')],_0x5c9211[_0xa5d7('0x3d')]));if(_0x3501f4[_0xa5d7('0x3b')]['filter']){_0x17fbaa[_0xa5d7('0x46')]=_[_0xa5d7('0x48')](_0x17fbaa[_0xa5d7('0x46')],{'$or':_['map'](_0x17fbaa[_0xa5d7('0x3e')],function(_0x3f0449){var _0x1cb9db={};_0x1cb9db[_0x3f0449]={'$like':'%'+_0x3501f4[_0xa5d7('0x3b')][_0xa5d7('0x45')]+'%'};return _0x1cb9db;})});}_0x17fbaa=_[_0xa5d7('0x48')]({},_0x17fbaa,_0x3501f4[_0xa5d7('0x4f')]);return _0x118219[_0xa5d7('0xb9')](_0x17fbaa);}})[_0xa5d7('0x11')](function(_0x5217db){if(_0x5217db){_0x5d0a58=_0x5217db['length'];if(!_0x3501f4[_0xa5d7('0x3b')]['hasOwnProperty'](_0xa5d7('0x43'))){_0x17fbaa[_0xa5d7('0x24')]=qs[_0xa5d7('0x24')](_0x3501f4[_0xa5d7('0x3b')][_0xa5d7('0x24')]);_0x17fbaa[_0xa5d7('0x22')]=qs['offset'](_0x3501f4[_0xa5d7('0x3b')][_0xa5d7('0x22')]);}return _0x118219[_0xa5d7('0xb9')](_0x17fbaa);}})[_0xa5d7('0x11')](function(_0x25e205){if(_0x25e205){return _0x25e205?{'count':_0x5d0a58,'rows':_0x25e205}:null;}})['then'](respondWithResult(_0x2cf46d,null))[_0xa5d7('0x1c')](handleError(_0x2cf46d,null));};