Built motion from commit e0fa946e.|2.6.5
[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 _0xd687=['MailInteraction','addInteraction','omit','getInteractions','CmContact','Contact','User','Owner','fullname','Tag','Tags','color','tag','addApplications','sequelize','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','priority','finally','sendStatus','getApplications','getMessages','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','inlineCss','true','CmList','List','Contacts','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','isNil','from','%s\x20<%s>','attachments','join','server/files/attachments','basename','getSmtpOptions','SendMail','sendMail','List\x20not\x20found','defaults','subject','attach','out','messageId','Interaction','Messages','verifySmtp','VerifySmtp','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','moment','bluebird','util','path','lodash','juice','ioredis','../../components/parsers/qs','api','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','register','jayson/promise','client','http','request','then','MailAccount,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','info','result','catch','status','end','json','offset','undefined','limit','count','set','Content-Range','update','destroy','get','MailAccounts','UserProfileResource','stack','name','send','gmail','yahoo','imap.mail.yahoo.com','hotmail','imap-mail.outlook.com','outlook.office365.com','smtp.mail.yahoo.com','smtp-mail.outlook.com','outlook365','smtp.office365.com','Unknown\x20email\x20service\x20provider','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','index','MailServerOut','Pause','map','MailAccount','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','MailServerIn','find','body','provider','custom','mandatoryDispositionPause','describe','addDisposition','MailAccountId','Disposition','getDispositions','findOne','ids','addAnswer','CannedAnswer','create','getAnswers','removeAnswers','email','ListId','active','description','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp'];(function(_0x5ddb1c,_0x5ea4df){var _0x354adc=function(_0x2dfb1f){while(--_0x2dfb1f){_0x5ddb1c['push'](_0x5ddb1c['shift']());}};_0x354adc(++_0x5ea4df);}(_0xd687,0x112));var _0x7d68=function(_0x54cd98,_0x3029e6){_0x54cd98=_0x54cd98-0x0;var _0x4abd09=_0xd687[_0x54cd98];return _0x4abd09;};'use strict';var moment=require(_0x7d68('0x0'));var BPromise=require(_0x7d68('0x1'));var util=require(_0x7d68('0x2'));var path=require(_0x7d68('0x3'));var _=require(_0x7d68('0x4'));var juice=require(_0x7d68('0x5'));var Redis=require(_0x7d68('0x6'));var qs=require(_0x7d68('0x7'));var logger=require('../../config/logger')(_0x7d68('0x8'));var config=require(_0x7d68('0x9'));var db=require(_0x7d68('0xa'))['db'];config['redis']=_['defaults'](config[_0x7d68('0xb')],{'host':_0x7d68('0xc'),'port':0x18eb});var socket=require(_0x7d68('0xd'))(new Redis(config[_0x7d68('0xb')]));require('./mailAccount.socket')[_0x7d68('0xe')](socket);var jayson=require(_0x7d68('0xf'));var client=jayson[_0x7d68('0x10')][_0x7d68('0x11')]({'port':0x232b});function respondWithRpcPromise(_0x2d867a,_0x3dda5d,_0x1a76a2,_0x89d14c){return new BPromise(function(_0x40fc47,_0x2058ad){var _0x5b0909=_0x89d14c||client;return _0x5b0909[_0x7d68('0x12')](_0x2d867a,_0x1a76a2)[_0x7d68('0x13')](function(_0x57c985){logger['info'](_0x7d68('0x14'),_0x3dda5d,_0x7d68('0x15'));logger['debug']('MailAccount,\x20%s,\x20%s,\x20%s',_0x3dda5d,'request\x20sent',JSON[_0x7d68('0x16')](_0x57c985));if(_0x57c985[_0x7d68('0x17')]){if(_0x57c985[_0x7d68('0x17')][_0x7d68('0x18')]===0x1f4){logger[_0x7d68('0x17')](_0x7d68('0x14'),_0x3dda5d,_0x57c985['error'][_0x7d68('0x19')]);return _0x2058ad(_0x57c985[_0x7d68('0x17')]['message']);}logger['error'](_0x7d68('0x14'),_0x3dda5d,_0x57c985[_0x7d68('0x17')][_0x7d68('0x19')]);return _0x40fc47(_0x57c985[_0x7d68('0x17')]['message']);}else{logger[_0x7d68('0x1a')](_0x7d68('0x14'),_0x3dda5d,_0x7d68('0x15'));_0x40fc47(_0x57c985[_0x7d68('0x1b')][_0x7d68('0x19')]);}})[_0x7d68('0x1c')](function(_0x13afdd){logger[_0x7d68('0x17')](_0x7d68('0x14'),_0x3dda5d,_0x13afdd);_0x2058ad(_0x13afdd);});});}function respondWithStatusCode(_0x73938f,_0x3070c9){_0x3070c9=_0x3070c9||0xcc;return function(_0x3ad849){if(_0x3ad849){return _0x73938f['sendStatus'](_0x3070c9);}return _0x73938f[_0x7d68('0x1d')](_0x3070c9)[_0x7d68('0x1e')]();};}function respondWithResult(_0x517244,_0x404666){_0x404666=_0x404666||0xc8;return function(_0x247b53){if(_0x247b53){return _0x517244[_0x7d68('0x1d')](_0x404666)[_0x7d68('0x1f')](_0x247b53);}};}function respondWithFilteredResult(_0x4be458,_0x125016){return function(_0x158c5a){if(_0x158c5a){var _0x4d6bb0=typeof _0x125016[_0x7d68('0x20')]===_0x7d68('0x21')&&typeof _0x125016[_0x7d68('0x22')]===_0x7d68('0x21');var _0x50df27=_0x158c5a[_0x7d68('0x23')];var _0x4979fa=_0x4d6bb0?0x0:_0x125016[_0x7d68('0x20')];var _0x4eeabb=_0x4d6bb0?_0x158c5a[_0x7d68('0x23')]:_0x125016[_0x7d68('0x20')]+_0x125016[_0x7d68('0x22')];var _0x3ef322;if(_0x4eeabb>=_0x50df27){_0x4eeabb=_0x50df27;_0x3ef322=0xc8;}else{_0x3ef322=0xce;}_0x4be458[_0x7d68('0x1d')](_0x3ef322);return _0x4be458[_0x7d68('0x24')](_0x7d68('0x25'),_0x4979fa+'-'+_0x4eeabb+'/'+_0x50df27)[_0x7d68('0x1f')](_0x158c5a);}return null;};}function saveUpdates(_0x584181){return function(_0x4497d2){if(_0x4497d2){return _0x4497d2[_0x7d68('0x26')](_0x584181)[_0x7d68('0x13')](function(_0x16c411){return _0x16c411;});}return null;};}function removeEntity(_0x504b10){return function(_0x216599){if(_0x216599){return _0x216599[_0x7d68('0x27')]()[_0x7d68('0x13')](function(){var _0x210254=_0x216599[_0x7d68('0x28')]({'plain':!![]});var _0x56287a=_0x7d68('0x29');return db[_0x7d68('0x2a')][_0x7d68('0x27')]({'where':{'type':_0x56287a,'resourceId':_0x210254['id']}})[_0x7d68('0x13')](function(){return _0x216599;});})[_0x7d68('0x13')](function(){_0x504b10[_0x7d68('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5ce58f){return function(_0x50c81b){if(!_0x50c81b){_0x5ce58f['sendStatus'](0x194);}return _0x50c81b;};}function handleError(_0x49f6b6,_0x266501){_0x266501=_0x266501||0x1f4;return function(_0x2bcdc0){logger[_0x7d68('0x17')](_0x2bcdc0[_0x7d68('0x2b')]);if(_0x2bcdc0['name']){delete _0x2bcdc0[_0x7d68('0x2c')];}_0x49f6b6[_0x7d68('0x1d')](_0x266501)[_0x7d68('0x2d')](_0x2bcdc0);};}function getImapHost(_0x45c017){switch(_0x45c017){case _0x7d68('0x2e'):return'imap.gmail.com';case _0x7d68('0x2f'):return _0x7d68('0x30');case _0x7d68('0x31'):return _0x7d68('0x32');case'outlook365':return _0x7d68('0x33');}throw new Error('Unknown\x20email\x20service\x20provider',_0x45c017);}function getSmtpHost(_0x4d31f4){switch(_0x4d31f4){case _0x7d68('0x2e'):return'smtp.gmail.com';case'yahoo':return _0x7d68('0x34');case'hotmail':return _0x7d68('0x35');case _0x7d68('0x36'):return _0x7d68('0x37');}throw new Error(_0x7d68('0x38'),_0x4d31f4);}function getAuthenticationOptions(_0x26f7f0,_0x215672){var _0x3b0670={};var _0x4bb68b={};if(_0x26f7f0){_0x3b0670['user']=_0x4bb68b[_0x7d68('0x39')]=_0x215672[_0x7d68('0x3a')];_0x3b0670[_0x7d68('0x3b')]=_0x4bb68b[_0x7d68('0x3c')]=_0x215672['password'];if(_0x215672[_0x7d68('0x3d')]){_0x3b0670['modernAuthentication']=_0x4bb68b[_0x7d68('0x3d')]=!![];_0x3b0670[_0x7d68('0x3e')]=_0x4bb68b[_0x7d68('0x3e')]=_0x215672[_0x7d68('0x3e')];_0x3b0670[_0x7d68('0x3b')]=_0x4bb68b[_0x7d68('0x3c')]=null;}else{_0x3b0670[_0x7d68('0x3e')]=_0x4bb68b[_0x7d68('0x3e')]=null;}_0x3b0670[_0x7d68('0x3f')]=getImapHost(_0x26f7f0);_0x3b0670[_0x7d68('0x40')]=0x3e1;_0x4bb68b[_0x7d68('0x3f')]=getSmtpHost(_0x26f7f0);_0x4bb68b[_0x7d68('0x40')]=0x24b;_0x4bb68b[_0x7d68('0x41')]=![];_0x3b0670[_0x7d68('0x42')]=_0x4bb68b[_0x7d68('0x42')]=null;}else{if(_0x215672[_0x7d68('0x43')]){_0x3b0670['user']=_0x4bb68b['user']=_0x215672[_0x7d68('0x3a')];_0x3b0670['password']=_0x4bb68b[_0x7d68('0x3c')]=_0x215672['password'];}else{_0x3b0670[_0x7d68('0x43')]=_0x4bb68b['authentication']=![];_0x3b0670[_0x7d68('0x39')]=_0x4bb68b[_0x7d68('0x39')]=null;_0x3b0670[_0x7d68('0x3b')]=_0x4bb68b[_0x7d68('0x3c')]=null;}_0x3b0670['host']=_0x215672[_0x7d68('0x44')][_0x7d68('0x3f')];_0x3b0670[_0x7d68('0x40')]=_0x215672[_0x7d68('0x44')][_0x7d68('0x40')];_0x4bb68b['host']=_0x215672['Smtp'][_0x7d68('0x3f')];_0x4bb68b[_0x7d68('0x40')]=_0x215672[_0x7d68('0x45')][_0x7d68('0x40')];}return{'Imap':_0x3b0670,'Smtp':_0x4bb68b};}exports[_0x7d68('0x46')]=function(_0x284e7d,_0x589e8f){var _0x31db4e={'include':[{'model':db['MailServerIn'],'as':_0x7d68('0x44')},{'model':db[_0x7d68('0x47')],'as':_0x7d68('0x45')},{'model':db[_0x7d68('0x48')],'as':'mandatoryDispositionPause'}]},_0x20949b={},_0x52afd7={'count':0x0,'rows':[]};var _0x516c56=_[_0x7d68('0x49')](db[_0x7d68('0x4a')][_0x7d68('0x4b')],function(_0x376a2a){return{'name':_0x376a2a[_0x7d68('0x4c')],'type':_0x376a2a[_0x7d68('0x4d')][_0x7d68('0x4e')]};});_0x20949b['model']=_['map'](_0x516c56,'name');_0x20949b[_0x7d68('0x4f')]=_[_0x7d68('0x50')](_0x284e7d['query']);_0x20949b[_0x7d68('0x51')]=_[_0x7d68('0x52')](_0x20949b[_0x7d68('0x53')],_0x20949b[_0x7d68('0x4f')]);_0x31db4e[_0x7d68('0x54')]=_[_0x7d68('0x52')](_0x20949b['model'],qs[_0x7d68('0x55')](_0x284e7d[_0x7d68('0x4f')][_0x7d68('0x55')]));_0x31db4e['attributes']=_0x31db4e['attributes'][_0x7d68('0x56')]?_0x31db4e['attributes']:_0x20949b[_0x7d68('0x53')];if(!_0x284e7d[_0x7d68('0x4f')][_0x7d68('0x57')](_0x7d68('0x58'))){_0x31db4e[_0x7d68('0x22')]=qs[_0x7d68('0x22')](_0x284e7d[_0x7d68('0x4f')]['limit']);_0x31db4e['offset']=qs[_0x7d68('0x20')](_0x284e7d[_0x7d68('0x4f')][_0x7d68('0x20')]);}_0x31db4e[_0x7d68('0x59')]=qs[_0x7d68('0x5a')](_0x284e7d['query'][_0x7d68('0x5a')]);_0x31db4e[_0x7d68('0x5b')]=qs[_0x7d68('0x51')](_[_0x7d68('0x5c')](_0x284e7d[_0x7d68('0x4f')],_0x20949b[_0x7d68('0x51')]),_0x516c56);if(_0x284e7d[_0x7d68('0x4f')][_0x7d68('0x5d')]){_0x31db4e[_0x7d68('0x5b')]=_[_0x7d68('0x5e')](_0x31db4e[_0x7d68('0x5b')],{'$or':_[_0x7d68('0x49')](_0x516c56,function(_0x2f1714){if(_0x2f1714[_0x7d68('0x4d')]!==_0x7d68('0x5f')){var _0x5f5bc8={};_0x5f5bc8[_0x2f1714['name']]={'$like':'%'+_0x284e7d['query'][_0x7d68('0x5d')]+'%'};return _0x5f5bc8;}})});}_0x31db4e=_[_0x7d68('0x5e')]({},_0x31db4e,_0x284e7d[_0x7d68('0x60')]);var _0x109584={'where':_0x31db4e['where']};return db[_0x7d68('0x4a')]['count'](_0x109584)[_0x7d68('0x13')](function(_0x416bda){_0x52afd7['count']=_0x416bda;if(_0x284e7d[_0x7d68('0x4f')][_0x7d68('0x61')]){_0x31db4e[_0x7d68('0x62')]=[{'all':!![]}];}return db[_0x7d68('0x4a')][_0x7d68('0x63')](_0x31db4e);})[_0x7d68('0x13')](function(_0x1ee1f3){_0x52afd7[_0x7d68('0x64')]=_0x1ee1f3;return _0x52afd7;})[_0x7d68('0x13')](respondWithFilteredResult(_0x589e8f,_0x31db4e))[_0x7d68('0x1c')](handleError(_0x589e8f,null));};exports[_0x7d68('0x65')]=function(_0x42ba6e,_0x32b7ac){var _0x174207={'raw':![],'where':{'id':_0x42ba6e[_0x7d68('0x66')]['id']},'include':[{'model':db[_0x7d68('0x67')],'as':_0x7d68('0x44')},{'model':db[_0x7d68('0x47')],'as':_0x7d68('0x45')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]},_0x48de20={};_0x48de20[_0x7d68('0x53')]=_['keys'](db[_0x7d68('0x4a')][_0x7d68('0x4b')]);_0x48de20[_0x7d68('0x4f')]=_[_0x7d68('0x50')](_0x42ba6e[_0x7d68('0x4f')]);_0x48de20['filters']=_['intersection'](_0x48de20[_0x7d68('0x53')],_0x48de20['query']);_0x174207[_0x7d68('0x54')]=_['intersection'](_0x48de20[_0x7d68('0x53')],qs[_0x7d68('0x55')](_0x42ba6e['query'][_0x7d68('0x55')]));_0x174207[_0x7d68('0x54')]=_0x174207[_0x7d68('0x54')]['length']?_0x174207[_0x7d68('0x54')]:_0x48de20[_0x7d68('0x53')];if(_0x42ba6e[_0x7d68('0x4f')][_0x7d68('0x61')]){_0x174207[_0x7d68('0x62')]=[{'all':!![]}];}_0x174207=_[_0x7d68('0x5e')]({},_0x174207,_0x42ba6e[_0x7d68('0x60')]);return db[_0x7d68('0x4a')][_0x7d68('0x68')](_0x174207)['then'](handleEntityNotFound(_0x32b7ac,null))['then'](respondWithResult(_0x32b7ac,null))['catch'](handleError(_0x32b7ac,null));};exports['update']=function(_0x5967cf,_0x151aef){if(_0x5967cf['body']['id']){delete _0x5967cf[_0x7d68('0x69')]['id'];}var _0x3bb84b=_0x5967cf[_0x7d68('0x69')][_0x7d68('0x6a')]===_0x7d68('0x6b')?null:_0x5967cf['body']['provider'];var _0x41b480=_0x5967cf[_0x7d68('0x69')][_0x7d68('0x44')]||{};var _0xb2a908=_0x5967cf[_0x7d68('0x69')][_0x7d68('0x45')]||{};if(_0x3bb84b){_0x41b480[_0x7d68('0x3f')]=getImapHost(_0x3bb84b);_0x41b480['port']=0x3e1;_0xb2a908['host']=getSmtpHost(_0x3bb84b);_0xb2a908[_0x7d68('0x40')]=0x24b;_0xb2a908[_0x7d68('0x41')]=![];}if(_0xb2a908[_0x7d68('0x3d')]){_0xb2a908[_0x7d68('0x41')]=![];}else{_0xb2a908['CloudProviderId']=null;}if(!_0x41b480['modernAuthentication'])_0x41b480[_0x7d68('0x3e')]=null;_0x5967cf[_0x7d68('0x69')][_0x7d68('0x44')]=_0x41b480;_0x5967cf[_0x7d68('0x69')][_0x7d68('0x45')]=_0xb2a908;return db[_0x7d68('0x4a')][_0x7d68('0x68')]({'where':{'id':_0x5967cf['params']['id']},'include':[{'model':db['MailServerIn'],'as':_0x7d68('0x44')},{'model':db[_0x7d68('0x47')],'as':_0x7d68('0x45')},{'model':db['Pause'],'as':_0x7d68('0x6c')}]})[_0x7d68('0x13')](handleEntityNotFound(_0x151aef,null))[_0x7d68('0x13')](function(_0x1f54d4){if(!_0x1f54d4)throw new Error('Mail\x20Account\x20not\x20found');if(_0x1f54d4[_0x7d68('0x42')])delete _0x5967cf[_0x7d68('0x69')][_0x7d68('0x44')];return _0x1f54d4;})[_0x7d68('0x13')](saveUpdates(_0x5967cf[_0x7d68('0x69')],null))[_0x7d68('0x13')](function(_0x5dd59a){if(!_0x5967cf[_0x7d68('0x69')][_0x7d68('0x44')])return _0x5dd59a;return db[_0x7d68('0x67')][_0x7d68('0x26')](_0x5967cf[_0x7d68('0x69')][_0x7d68('0x44')],{'where':{'MailAccountId':_0x5dd59a['id']}})[_0x7d68('0x13')](function(){return _0x5dd59a;});})[_0x7d68('0x13')](function(_0x38145d){if(!_0x5967cf[_0x7d68('0x69')][_0x7d68('0x45')])return _0x38145d;return db['MailServerOut']['update'](_0x5967cf[_0x7d68('0x69')][_0x7d68('0x45')],{'where':{'MailAccountId':_0x38145d['id']}})[_0x7d68('0x13')](function(){return _0x38145d;});})[_0x7d68('0x13')](respondWithResult(_0x151aef,null))[_0x7d68('0x1c')](handleError(_0x151aef,null));};exports['describe']=function(_0x3d2ab5,_0xa1a32){return db['MailAccount'][_0x7d68('0x6d')]()[_0x7d68('0x13')](respondWithResult(_0xa1a32,null))['catch'](handleError(_0xa1a32,null));};exports[_0x7d68('0x6e')]=function(_0x5b5361,_0x4f572e){if(_0x5b5361[_0x7d68('0x69')]['id']){delete _0x5b5361['body']['id'];}return db[_0x7d68('0x4a')][_0x7d68('0x68')]({'where':{'id':_0x5b5361[_0x7d68('0x66')]['id']}})[_0x7d68('0x13')](handleEntityNotFound(_0x4f572e,null))[_0x7d68('0x13')](function(_0x51f395){if(_0x51f395){_0x5b5361[_0x7d68('0x69')][_0x7d68('0x6f')]=_0x51f395['id'];return db[_0x7d68('0x70')]['create'](_0x5b5361[_0x7d68('0x69')]);}})[_0x7d68('0x13')](respondWithResult(_0x4f572e,null))[_0x7d68('0x1c')](handleError(_0x4f572e,null));};exports[_0x7d68('0x71')]=function(_0x5578c7,_0x4feff7){var _0x33289b={'raw':![],'where':{}};var _0x4e7578={};var _0x4c6492={'count':0x0,'rows':[]};return db[_0x7d68('0x4a')][_0x7d68('0x72')]({'where':{'id':_0x5578c7[_0x7d68('0x66')]['id']}})['then'](handleEntityNotFound(_0x4feff7,null))[_0x7d68('0x13')](function(_0x2256a9){if(_0x2256a9){_0x4e7578[_0x7d68('0x53')]=_[_0x7d68('0x50')](db[_0x7d68('0x70')][_0x7d68('0x4b')]);_0x4e7578[_0x7d68('0x4f')]=_[_0x7d68('0x50')](_0x5578c7[_0x7d68('0x4f')]);_0x4e7578[_0x7d68('0x51')]=_['intersection'](_0x4e7578['model'],_0x4e7578[_0x7d68('0x4f')]);_0x33289b[_0x7d68('0x54')]=_[_0x7d68('0x52')](_0x4e7578['model'],qs[_0x7d68('0x55')](_0x5578c7[_0x7d68('0x4f')][_0x7d68('0x55')]));_0x33289b['attributes']=_0x33289b[_0x7d68('0x54')][_0x7d68('0x56')]?_0x33289b[_0x7d68('0x54')]:_0x4e7578[_0x7d68('0x53')];if(!_0x5578c7[_0x7d68('0x4f')][_0x7d68('0x57')](_0x7d68('0x58'))){_0x33289b[_0x7d68('0x22')]=qs['limit'](_0x5578c7[_0x7d68('0x4f')][_0x7d68('0x22')]);_0x33289b[_0x7d68('0x20')]=qs['offset'](_0x5578c7[_0x7d68('0x4f')][_0x7d68('0x20')]);}_0x33289b['order']=qs[_0x7d68('0x5a')](_0x5578c7[_0x7d68('0x4f')][_0x7d68('0x5a')]);_0x33289b[_0x7d68('0x5b')]=qs['filters'](_[_0x7d68('0x5c')](_0x5578c7[_0x7d68('0x4f')],_0x4e7578[_0x7d68('0x51')]));_0x33289b['where']['MailAccountId']=_0x2256a9['id'];if(_0x5578c7[_0x7d68('0x4f')]['filter']){_0x33289b[_0x7d68('0x5b')]=_[_0x7d68('0x5e')](_0x33289b[_0x7d68('0x5b')],{'$or':_[_0x7d68('0x49')](_0x33289b[_0x7d68('0x54')],function(_0x29e246){var _0x3c5029={};_0x3c5029[_0x29e246]={'$like':'%'+_0x5578c7['query'][_0x7d68('0x5d')]+'%'};return _0x3c5029;})});}_0x33289b=_[_0x7d68('0x5e')]({},_0x33289b,_0x5578c7[_0x7d68('0x60')]);return db[_0x7d68('0x70')]['count']({'where':_0x33289b[_0x7d68('0x5b')]})[_0x7d68('0x13')](function(_0xd975ce){_0x4c6492[_0x7d68('0x23')]=_0xd975ce;if(_0x5578c7[_0x7d68('0x4f')][_0x7d68('0x61')]){_0x33289b[_0x7d68('0x62')]=[{'all':!![]}];}return db[_0x7d68('0x70')][_0x7d68('0x63')](_0x33289b);})[_0x7d68('0x13')](function(_0x10d5cf){_0x4c6492[_0x7d68('0x64')]=_0x10d5cf;return _0x4c6492;});}})[_0x7d68('0x13')](respondWithFilteredResult(_0x4feff7,_0x33289b))['catch'](handleError(_0x4feff7,null));};exports['removeDispositions']=function(_0x3e02c2,_0x448601){return db[_0x7d68('0x4a')][_0x7d68('0x68')]({'where':{'id':_0x3e02c2['params']['id']}})[_0x7d68('0x13')](handleEntityNotFound(_0x448601,null))[_0x7d68('0x13')](function(_0x44abf1){if(_0x44abf1){return _0x44abf1['removeDispositions'](_0x3e02c2['query'][_0x7d68('0x73')]);}})[_0x7d68('0x13')](respondWithStatusCode(_0x448601,null))[_0x7d68('0x1c')](handleError(_0x448601,null));};exports[_0x7d68('0x74')]=function(_0x259912,_0x3f803d){if(_0x259912[_0x7d68('0x69')]['id']){delete _0x259912[_0x7d68('0x69')]['id'];}return db['MailAccount'][_0x7d68('0x68')]({'where':{'id':_0x259912[_0x7d68('0x66')]['id']}})[_0x7d68('0x13')](handleEntityNotFound(_0x3f803d,null))[_0x7d68('0x13')](function(_0x17648b){if(_0x17648b){_0x259912[_0x7d68('0x69')][_0x7d68('0x6f')]=_0x17648b['id'];return db[_0x7d68('0x75')][_0x7d68('0x76')](_0x259912['body']);}})['then'](respondWithResult(_0x3f803d,null))['catch'](handleError(_0x3f803d,null));};exports[_0x7d68('0x77')]=function(_0x1470ca,_0x54048b){var _0x292967={'raw':![],'where':{}};var _0x3c5787={};var _0x2def6d={'count':0x0,'rows':[]};return db[_0x7d68('0x4a')][_0x7d68('0x72')]({'where':{'id':_0x1470ca[_0x7d68('0x66')]['id']}})[_0x7d68('0x13')](handleEntityNotFound(_0x54048b,null))[_0x7d68('0x13')](function(_0x304e1f){if(_0x304e1f){_0x3c5787[_0x7d68('0x53')]=_[_0x7d68('0x50')](db[_0x7d68('0x75')][_0x7d68('0x4b')]);_0x3c5787[_0x7d68('0x4f')]=_['keys'](_0x1470ca[_0x7d68('0x4f')]);_0x3c5787[_0x7d68('0x51')]=_['intersection'](_0x3c5787[_0x7d68('0x53')],_0x3c5787['query']);_0x292967[_0x7d68('0x54')]=_[_0x7d68('0x52')](_0x3c5787[_0x7d68('0x53')],qs['fields'](_0x1470ca['query']['fields']));_0x292967['attributes']=_0x292967[_0x7d68('0x54')][_0x7d68('0x56')]?_0x292967[_0x7d68('0x54')]:_0x3c5787[_0x7d68('0x53')];if(!_0x1470ca[_0x7d68('0x4f')]['hasOwnProperty'](_0x7d68('0x58'))){_0x292967[_0x7d68('0x22')]=qs[_0x7d68('0x22')](_0x1470ca[_0x7d68('0x4f')][_0x7d68('0x22')]);_0x292967[_0x7d68('0x20')]=qs['offset'](_0x1470ca[_0x7d68('0x4f')][_0x7d68('0x20')]);}_0x292967['order']=qs['sort'](_0x1470ca[_0x7d68('0x4f')][_0x7d68('0x5a')]);_0x292967[_0x7d68('0x5b')]=qs[_0x7d68('0x51')](_[_0x7d68('0x5c')](_0x1470ca[_0x7d68('0x4f')],_0x3c5787[_0x7d68('0x51')]));_0x292967[_0x7d68('0x5b')][_0x7d68('0x6f')]=_0x304e1f['id'];if(_0x1470ca[_0x7d68('0x4f')]['filter']){_0x292967[_0x7d68('0x5b')]=_['merge'](_0x292967[_0x7d68('0x5b')],{'$or':_['map'](_0x292967['attributes'],function(_0xc2132){var _0x590c94={};_0x590c94[_0xc2132]={'$like':'%'+_0x1470ca[_0x7d68('0x4f')]['filter']+'%'};return _0x590c94;})});}_0x292967=_[_0x7d68('0x5e')]({},_0x292967,_0x1470ca['options']);return db[_0x7d68('0x75')]['count']({'where':_0x292967[_0x7d68('0x5b')]})[_0x7d68('0x13')](function(_0x4867ae){_0x2def6d['count']=_0x4867ae;if(_0x1470ca[_0x7d68('0x4f')][_0x7d68('0x61')]){_0x292967['include']=[{'all':!![]}];}return db[_0x7d68('0x75')][_0x7d68('0x63')](_0x292967);})[_0x7d68('0x13')](function(_0x4c3596){_0x2def6d[_0x7d68('0x64')]=_0x4c3596;return _0x2def6d;});}})[_0x7d68('0x13')](respondWithFilteredResult(_0x54048b,_0x292967))['catch'](handleError(_0x54048b,null));};exports[_0x7d68('0x78')]=function(_0x2ee7de,_0x5a07ea){return db[_0x7d68('0x4a')]['find']({'where':{'id':_0x2ee7de['params']['id']}})[_0x7d68('0x13')](handleEntityNotFound(_0x5a07ea,null))[_0x7d68('0x13')](function(_0x3718cb){if(_0x3718cb){return _0x3718cb[_0x7d68('0x78')](_0x2ee7de[_0x7d68('0x4f')][_0x7d68('0x73')]);}})[_0x7d68('0x13')](respondWithStatusCode(_0x5a07ea,null))[_0x7d68('0x1c')](handleError(_0x5a07ea,null));};exports['create']=function(_0xa8c5f9,_0x146f0a){var _0x486dc1={'name':_0xa8c5f9['body'][_0x7d68('0x2c')],'key':_0xa8c5f9['body'][_0x7d68('0x4e')],'provider':_0xa8c5f9['body'][_0x7d68('0x6a')]===_0x7d68('0x6b')?null:_0xa8c5f9[_0x7d68('0x69')][_0x7d68('0x6a')],'email':_0xa8c5f9['body'][_0x7d68('0x79')],'ListId':_0xa8c5f9[_0x7d68('0x69')][_0x7d68('0x7a')],'active':!_['isNil'](_0xa8c5f9[_0x7d68('0x69')][_0x7d68('0x7b')])?_0xa8c5f9[_0x7d68('0x69')][_0x7d68('0x7b')]:!![],'description':_0xa8c5f9['body'][_0x7d68('0x7c')]||null};var _0x12f0f4=getAuthenticationOptions(_0x486dc1['provider'],_0xa8c5f9['body']);_0x486dc1[_0x7d68('0x44')]=_0x12f0f4[_0x7d68('0x44')];_0x486dc1[_0x7d68('0x45')]=_0x12f0f4[_0x7d68('0x45')];return db['MailAccount'][_0x7d68('0x76')](_0x486dc1,{'include':[{'model':db['MailServerOut'],'as':_0x7d68('0x45')},{'model':db[_0x7d68('0x67')],'as':_0x7d68('0x44')}]})[_0x7d68('0x13')](function(_0x3063fb){var _0x36d947=_0xa8c5f9['user'][_0x7d68('0x28')]({'plain':!![]});if(!_0x36d947)throw new Error(_0x7d68('0x7d'));if(_0x36d947[_0x7d68('0x7e')]===_0x7d68('0x39')){var _0xfab5bf=_0x3063fb[_0x7d68('0x28')]({'plain':!![]});return db['UserProfileSection'][_0x7d68('0x68')]({'where':{'name':_0x7d68('0x29'),'userProfileId':_0x36d947[_0x7d68('0x7f')]},'raw':!![]})[_0x7d68('0x13')](function(_0x3e6f10){if(_0x3e6f10&&_0x3e6f10['autoAssociation']===0x0){return db['UserProfileResource']['create']({'name':_0xfab5bf[_0x7d68('0x2c')],'resourceId':_0xfab5bf['id'],'type':_0x3e6f10['name'],'sectionId':_0x3e6f10['id']},{})[_0x7d68('0x13')](function(){return _0x3063fb;});}else{return _0x3063fb;}})['catch'](function(_0x54ebba){logger[_0x7d68('0x17')](_0x7d68('0x80'),_0x54ebba);throw _0x54ebba;});}return _0x3063fb;})[_0x7d68('0x13')](respondWithResult(_0x146f0a,0xc9))[_0x7d68('0x1c')](handleError(_0x146f0a,null));};exports['getImap']=function(_0x27dda9,_0x51b60b){return db[_0x7d68('0x4a')][_0x7d68('0x72')]({'where':{'id':_0x27dda9['params']['id']}})[_0x7d68('0x13')](handleEntityNotFound(_0x51b60b,null))[_0x7d68('0x13')](function(_0x112364){if(_0x112364){return _0x112364[_0x7d68('0x81')]();}return null;})[_0x7d68('0x13')](respondWithResult(_0x51b60b,null))[_0x7d68('0x1c')](handleError(_0x51b60b,null));};exports[_0x7d68('0x82')]=function(_0x1158e5,_0x280f05){if(_0x1158e5[_0x7d68('0x69')]['id']){delete _0x1158e5[_0x7d68('0x69')]['id'];}return db[_0x7d68('0x4a')][_0x7d68('0x68')]({'where':{'id':_0x1158e5[_0x7d68('0x66')]['id']}})[_0x7d68('0x13')](handleEntityNotFound(_0x280f05,null))[_0x7d68('0x13')](function(_0x257ea5){if(_0x257ea5){_0x1158e5[_0x7d68('0x69')][_0x7d68('0x6f')]=_0x257ea5['id'];return db[_0x7d68('0x67')][_0x7d68('0x76')](_0x1158e5[_0x7d68('0x69')]);}})[_0x7d68('0x13')](respondWithResult(_0x280f05,null))[_0x7d68('0x1c')](handleError(_0x280f05,null));};exports[_0x7d68('0x83')]=function(_0xead138,_0x195a38){return db[_0x7d68('0x4a')]['findOne']({'where':{'id':_0xead138[_0x7d68('0x66')]['id']}})[_0x7d68('0x13')](handleEntityNotFound(_0x195a38,null))[_0x7d68('0x13')](function(_0x4f64a1){if(_0x4f64a1){return _0x4f64a1[_0x7d68('0x84')](null);}return null;})[_0x7d68('0x13')](respondWithStatusCode(_0x195a38,null))[_0x7d68('0x1c')](handleError(_0x195a38,null));};exports[_0x7d68('0x85')]=function(_0x5f1f11,_0x1150f8){return db[_0x7d68('0x4a')][_0x7d68('0x72')]({'where':{'id':_0x5f1f11[_0x7d68('0x66')]['id']}})['then'](handleEntityNotFound(_0x1150f8,null))[_0x7d68('0x13')](function(_0x56ba58){if(_0x56ba58){return _0x56ba58[_0x7d68('0x85')]();}return null;})[_0x7d68('0x13')](respondWithResult(_0x1150f8,null))[_0x7d68('0x1c')](handleError(_0x1150f8,null));};exports[_0x7d68('0x86')]=function(_0x53081a,_0x13c7f2){if(_0x53081a[_0x7d68('0x69')]['id']){delete _0x53081a['body']['id'];}return db['MailAccount'][_0x7d68('0x68')]({'where':{'id':_0x53081a['params']['id']}})['then'](handleEntityNotFound(_0x13c7f2,null))[_0x7d68('0x13')](function(_0x35a95b){if(_0x35a95b){_0x53081a[_0x7d68('0x69')][_0x7d68('0x6f')]=_0x35a95b['id'];return db[_0x7d68('0x47')][_0x7d68('0x76')](_0x53081a[_0x7d68('0x69')]);}})[_0x7d68('0x13')](respondWithResult(_0x13c7f2,null))[_0x7d68('0x1c')](handleError(_0x13c7f2,null));};exports[_0x7d68('0x87')]=function(_0x5907d1,_0x25785){return db[_0x7d68('0x4a')]['findOne']({'where':{'id':_0x5907d1[_0x7d68('0x66')]['id']}})[_0x7d68('0x13')](handleEntityNotFound(_0x25785,null))[_0x7d68('0x13')](function(_0x368868){if(_0x368868){return _0x368868['setSmtp'](null);}return null;})[_0x7d68('0x13')](respondWithStatusCode(_0x25785,null))[_0x7d68('0x1c')](handleError(_0x25785,null));};exports['addInteraction']=function(_0x417268,_0x252195){return db[_0x7d68('0x88')][_0x7d68('0x68')]({'where':{'id':_0x417268[_0x7d68('0x66')]['id']}})[_0x7d68('0x13')](handleEntityNotFound(_0x252195,null))[_0x7d68('0x13')](function(_0x328aa3){if(_0x328aa3){return _0x328aa3[_0x7d68('0x89')](_0x417268[_0x7d68('0x69')][_0x7d68('0x73')],_[_0x7d68('0x8a')](_0x417268['body'],[_0x7d68('0x73'),'id'])||{});}})[_0x7d68('0x13')](respondWithResult(_0x252195,null))[_0x7d68('0x1c')](handleError(_0x252195,null));};exports[_0x7d68('0x8b')]=function(_0x19edc3,_0x4d6d39){var _0x1fb32c={'raw':![],'where':{}};var _0xfbe5ee={};var _0xa43eae={'count':0x0,'rows':[]};return db[_0x7d68('0x4a')][_0x7d68('0x72')]({'where':{'id':_0x19edc3['params']['id']}})['then'](handleEntityNotFound(_0x4d6d39,null))[_0x7d68('0x13')](function(_0x1e55c4){if(_0x1e55c4){_0xfbe5ee[_0x7d68('0x53')]=_['keys'](db[_0x7d68('0x88')][_0x7d68('0x4b')]);_0xfbe5ee['query']=_[_0x7d68('0x50')](_0x19edc3[_0x7d68('0x4f')]);_0xfbe5ee[_0x7d68('0x51')]=_[_0x7d68('0x52')](_0xfbe5ee[_0x7d68('0x53')],_0xfbe5ee['query']);_0x1fb32c[_0x7d68('0x54')]=_[_0x7d68('0x52')](_0xfbe5ee['model'],qs['fields'](_0x19edc3['query'][_0x7d68('0x55')]));_0x1fb32c[_0x7d68('0x54')]=_0x1fb32c[_0x7d68('0x54')][_0x7d68('0x56')]?_0x1fb32c[_0x7d68('0x54')]:_0xfbe5ee[_0x7d68('0x53')];if(!_0x19edc3[_0x7d68('0x4f')]['hasOwnProperty']('nolimit')){_0x1fb32c[_0x7d68('0x22')]=qs['limit'](_0x19edc3[_0x7d68('0x4f')][_0x7d68('0x22')]);_0x1fb32c['offset']=qs['offset'](_0x19edc3[_0x7d68('0x4f')][_0x7d68('0x20')]);}_0x1fb32c['order']=qs[_0x7d68('0x5a')](_0x19edc3[_0x7d68('0x4f')][_0x7d68('0x5a')]);_0x1fb32c[_0x7d68('0x5b')]=qs[_0x7d68('0x51')](_['pick'](_0x19edc3[_0x7d68('0x4f')],_0xfbe5ee[_0x7d68('0x51')]));_0x1fb32c[_0x7d68('0x5b')][_0x7d68('0x6f')]=_0x1e55c4['id'];if(_0x19edc3[_0x7d68('0x4f')]['filter']){_0x1fb32c['where']=_[_0x7d68('0x5e')](_0x1fb32c[_0x7d68('0x5b')],{'$or':_[_0x7d68('0x49')](_0x1fb32c[_0x7d68('0x54')],function(_0x5f59d3){var _0x2a696d={};_0x2a696d[_0x5f59d3]={'$like':'%'+_0x19edc3[_0x7d68('0x4f')][_0x7d68('0x5d')]+'%'};return _0x2a696d;})});}_0x1fb32c=_[_0x7d68('0x5e')]({},_0x1fb32c,_0x19edc3[_0x7d68('0x60')]);return db[_0x7d68('0x88')][_0x7d68('0x23')]({'where':_0x1fb32c[_0x7d68('0x5b')]})[_0x7d68('0x13')](function(_0x4e0042){_0xa43eae['count']=_0x4e0042;if(_0x19edc3['query']['includeAll']){_0x1fb32c[_0x7d68('0x62')]=[{'model':db[_0x7d68('0x8c')],'as':_0x7d68('0x8d'),'required':![]},{'model':db[_0x7d68('0x8e')],'as':_0x7d68('0x8f'),'attributes':[_0x7d68('0x2c'),_0x7d68('0x90'),'internal'],'required':![]},{'model':db[_0x7d68('0x91')],'as':_0x7d68('0x92'),'attributes':['id',_0x7d68('0x2c'),_0x7d68('0x93')],'where':_0x19edc3[_0x7d68('0x4f')][_0x7d68('0x94')]?{'id':_0x19edc3['query'][_0x7d68('0x94')]}:undefined,'required':_0x19edc3['query'][_0x7d68('0x94')]?!![]:![]}];}return db[_0x7d68('0x88')][_0x7d68('0x63')](_0x1fb32c);})[_0x7d68('0x13')](function(_0x274907){_0xa43eae[_0x7d68('0x64')]=_0x274907;return _0xa43eae;});}})[_0x7d68('0x13')](respondWithFilteredResult(_0x4d6d39,_0x1fb32c))[_0x7d68('0x1c')](handleError(_0x4d6d39,null));};exports[_0x7d68('0x95')]=function addApplications(_0x14ed5c,_0x3290f2){var _0x559cfc=_0x14ed5c[_0x7d68('0x66')]['id'];var _0x3d79cf=_0x14ed5c[_0x7d68('0x69')];var _0x52bf08=0xc8;var _0x3b7250=null;return db['sequelize']['transaction']({'isolationLevel':db[_0x7d68('0x96')][_0x7d68('0x97')][_0x7d68('0x98')][_0x7d68('0x99')]},function(_0x273665){return db['MailAccount'][_0x7d68('0x72')]({'where':{'id':_0x559cfc},'transaction':_0x273665})[_0x7d68('0x13')](function(_0x361f29){if(_0x361f29){return db[_0x7d68('0x9a')][_0x7d68('0x27')]({'where':{'MailAccountId':_0x559cfc},'transaction':_0x273665})[_0x7d68('0x13')](function(){var _0x121c30=_['map'](_0x3d79cf,function(_0x5b2eba){_0x5b2eba['MailAccountId']=_0x559cfc;return _0x5b2eba;});return db[_0x7d68('0x9a')][_0x7d68('0x9b')](_0x121c30,{'transaction':_0x273665});});}else{_0x52bf08=0x194;_0x3b7250=[];}});})['then'](function(){if(_0x52bf08!==0x194){return db[_0x7d68('0x9a')]['findAndCountAll']({'where':{'MailAccountId':_0x559cfc},'order':_0x7d68('0x9c')})[_0x7d68('0x13')](function(_0x333a45){_0x3b7250=_0x333a45;});}})[_0x7d68('0x1c')](function(_0x5b8783){_0x52bf08=0x1f4;logger[_0x7d68('0x17')](_0x5b8783['stack']);if(_0x5b8783['name']){delete _0x5b8783[_0x7d68('0x2c')];}_0x3b7250=_0x5b8783;})[_0x7d68('0x9d')](function(){if(_0x3b7250===null){_0x3290f2[_0x7d68('0x9e')](_0x52bf08);}else{if(_0x52bf08===0x1f4){_0x3290f2[_0x7d68('0x1d')](_0x52bf08)[_0x7d68('0x2d')](_0x3b7250);}else{_0x3290f2['status'](_0x52bf08)[_0x7d68('0x1f')](_0x3b7250);}}});};exports[_0x7d68('0x9f')]=function(_0x2948cf,_0x2a9ad2){var _0x30d4b3={};var _0x28f4f8={};var _0xe6aaa1;var _0x14e867;return db[_0x7d68('0x4a')][_0x7d68('0x72')]({'where':{'id':_0x2948cf[_0x7d68('0x66')]['id']}})[_0x7d68('0x13')](handleEntityNotFound(_0x2a9ad2,null))['then'](function(_0x36965a){if(_0x36965a){_0xe6aaa1=_0x36965a;_0x28f4f8[_0x7d68('0x53')]=_[_0x7d68('0x50')](db['MailApplication'][_0x7d68('0x4b')]);_0x28f4f8[_0x7d68('0x4f')]=_[_0x7d68('0x50')](_0x2948cf['query']);_0x28f4f8['filters']=_[_0x7d68('0x52')](_0x28f4f8['model'],_0x28f4f8[_0x7d68('0x4f')]);_0x30d4b3[_0x7d68('0x54')]=_[_0x7d68('0x52')](_0x28f4f8[_0x7d68('0x53')],qs[_0x7d68('0x55')](_0x2948cf['query'][_0x7d68('0x55')]));_0x30d4b3['attributes']=_0x30d4b3[_0x7d68('0x54')][_0x7d68('0x56')]?_0x30d4b3[_0x7d68('0x54')]:_0x28f4f8['model'];_0x30d4b3['order']=qs[_0x7d68('0x5a')](_0x2948cf[_0x7d68('0x4f')]['sort']);_0x30d4b3[_0x7d68('0x5b')]=qs[_0x7d68('0x51')](_[_0x7d68('0x5c')](_0x2948cf['query'],_0x28f4f8[_0x7d68('0x51')]));if(_0x2948cf[_0x7d68('0x4f')][_0x7d68('0x5d')]){_0x30d4b3[_0x7d68('0x5b')]=_[_0x7d68('0x5e')](_0x30d4b3[_0x7d68('0x5b')],{'$or':_['map'](_0x30d4b3[_0x7d68('0x54')],function(_0x4156a6){var _0x5a4069={};_0x5a4069[_0x4156a6]={'$like':'%'+_0x2948cf[_0x7d68('0x4f')][_0x7d68('0x5d')]+'%'};return _0x5a4069;})});}_0x30d4b3=_[_0x7d68('0x5e')]({},_0x30d4b3,_0x2948cf[_0x7d68('0x60')]);return _0xe6aaa1['getApplications'](_0x30d4b3);}})[_0x7d68('0x13')](function(_0x4a064e){if(_0x4a064e){_0x14e867=_0x4a064e['length'];if(!_0x2948cf[_0x7d68('0x4f')][_0x7d68('0x57')](_0x7d68('0x58'))){_0x30d4b3[_0x7d68('0x22')]=qs[_0x7d68('0x22')](_0x2948cf[_0x7d68('0x4f')][_0x7d68('0x22')]);_0x30d4b3[_0x7d68('0x20')]=qs[_0x7d68('0x20')](_0x2948cf[_0x7d68('0x4f')]['offset']);}return _0xe6aaa1[_0x7d68('0x9f')](_0x30d4b3);}})[_0x7d68('0x13')](function(_0x2f663a){if(_0x2f663a){return _0x2f663a?{'count':_0x14e867,'rows':_0x2f663a}:null;}})[_0x7d68('0x13')](respondWithResult(_0x2a9ad2,null))[_0x7d68('0x1c')](handleError(_0x2a9ad2,null));};exports[_0x7d68('0xa0')]=function(_0x16a3e0,_0x39ef94){var _0x41f712={'raw':!![],'where':{}};var _0x1a5632={};var _0x14cd8f={'count':0x0,'rows':[]};return db[_0x7d68('0x4a')][_0x7d68('0x72')]({'where':{'id':_0x16a3e0[_0x7d68('0x66')]['id']}})[_0x7d68('0x13')](handleEntityNotFound(_0x39ef94,null))[_0x7d68('0x13')](function(_0x4b0315){if(_0x4b0315){_0x1a5632[_0x7d68('0x53')]=_['keys'](db['MailMessage']['rawAttributes']);_0x1a5632[_0x7d68('0x4f')]=_[_0x7d68('0x50')](_0x16a3e0['query']);_0x1a5632[_0x7d68('0x51')]=_[_0x7d68('0x52')](_0x1a5632['model'],_0x1a5632['query']);_0x41f712[_0x7d68('0x54')]=_[_0x7d68('0x52')](_0x1a5632[_0x7d68('0x53')],qs[_0x7d68('0x55')](_0x16a3e0[_0x7d68('0x4f')][_0x7d68('0x55')]));_0x41f712[_0x7d68('0x54')]=_0x41f712[_0x7d68('0x54')][_0x7d68('0x56')]?_0x41f712['attributes']:_0x1a5632[_0x7d68('0x53')];if(!_0x16a3e0['query'][_0x7d68('0x57')](_0x7d68('0x58'))){_0x41f712['limit']=qs[_0x7d68('0x22')](_0x16a3e0[_0x7d68('0x4f')][_0x7d68('0x22')]);_0x41f712['offset']=qs[_0x7d68('0x20')](_0x16a3e0[_0x7d68('0x4f')][_0x7d68('0x20')]);}_0x41f712[_0x7d68('0x59')]=qs[_0x7d68('0x5a')](_0x16a3e0[_0x7d68('0x4f')][_0x7d68('0x5a')]);_0x41f712['where']=qs[_0x7d68('0x51')](_['pick'](_0x16a3e0[_0x7d68('0x4f')],_0x1a5632['filters']));_0x41f712[_0x7d68('0x5b')][_0x7d68('0x6f')]=_0x4b0315['id'];if(_0x16a3e0['query']['filter']){_0x41f712[_0x7d68('0x5b')]=_[_0x7d68('0x5e')](_0x41f712[_0x7d68('0x5b')],{'$or':_['map'](_0x41f712['attributes'],function(_0x44ff83){var _0x177115={};_0x177115[_0x44ff83]={'$like':'%'+_0x16a3e0[_0x7d68('0x4f')][_0x7d68('0x5d')]+'%'};return _0x177115;})});}if(_0x16a3e0[_0x7d68('0x4f')]['$gte']){var _0x135526=_0x16a3e0[_0x7d68('0x4f')][_0x7d68('0xa1')][_0x7d68('0xa2')](',');var _0x48490e={};_0x48490e[_0x135526[0x0]]={'$gte':moment(_0x135526[0x1])[_0x7d68('0xa3')](_0x7d68('0xa4'))};_0x41f712[_0x7d68('0x5b')]=_[_0x7d68('0x5e')](_0x41f712[_0x7d68('0x5b')],_0x48490e);}_0x41f712=_[_0x7d68('0x5e')]({},_0x41f712,_0x16a3e0[_0x7d68('0x60')]);return db['MailMessage']['count']({'where':_0x41f712[_0x7d68('0x5b')]})[_0x7d68('0x13')](function(_0x30cc0a){_0x14cd8f[_0x7d68('0x23')]=_0x30cc0a;if(_0x16a3e0['query'][_0x7d68('0x61')]){_0x41f712['include']=[{'all':!![]}];}return db[_0x7d68('0xa5')][_0x7d68('0x63')](_0x41f712);})[_0x7d68('0x13')](function(_0x1face0){if(_0x16a3e0[_0x7d68('0x4f')][_0x7d68('0xa6')]===_0x7d68('0xa7')){for(var _0x467309=0x0;_0x467309<_0x1face0['length'];_0x467309++){_0x1face0[_0x467309][_0x7d68('0x69')]=juice(_0x1face0[_0x467309]['body']);}}_0x14cd8f[_0x7d68('0x64')]=_0x1face0;return _0x14cd8f;});}})[_0x7d68('0x13')](respondWithFilteredResult(_0x39ef94,_0x41f712))[_0x7d68('0x1c')](handleError(_0x39ef94,null));};exports[_0x7d68('0x2d')]=function(_0x1ae62d,_0x5c0729){var _0x528f18,_0x2bf761={},_0x19f6e6;if(_0x1ae62d[_0x7d68('0x69')]['to']){_0x19f6e6=_0x1ae62d[_0x7d68('0x69')]['to'][_0x7d68('0xa2')](',')[0x0];}return db[_0x7d68('0x4a')][_0x7d68('0x68')]({'where':{'id':_0x1ae62d['params']['id']},'include':[{'model':db[_0x7d68('0xa8')],'as':_0x7d68('0xa9'),'include':[{'model':db['CmContact'],'as':_0x7d68('0xaa'),'where':{'email':_0x19f6e6},'limit':0x1,'order':[[_0x7d68('0xab'),_0x7d68('0xac')]]}]},{'model':db[_0x7d68('0x47')],'as':_0x7d68('0x45'),'raw':!![],'include':[{'model':db[_0x7d68('0xad')],'as':'CloudProvider','raw':!![]}]}]})[_0x7d68('0x13')](handleEntityNotFound(_0x5c0729,null))[_0x7d68('0x13')](function(_0x8aa91c){if(!_0x8aa91c)return;_0x528f18=_0x8aa91c;if(!_0x8aa91c[_0x7d68('0x45')])throw new Error(_0x7d68('0xae'));if(_[_0x7d68('0xaf')](_0x1ae62d['body'][_0x7d68('0xb0')])){_0x1ae62d['body'][_0x7d68('0xb0')]=util[_0x7d68('0xa3')](_0x7d68('0xb1'),_0x8aa91c[_0x7d68('0x2c')],_0x8aa91c['email']||_0x8aa91c['Smtp'][_0x7d68('0x39')]);}if(_0x1ae62d[_0x7d68('0x69')]['attachments']&&_0x1ae62d[_0x7d68('0x69')][_0x7d68('0xb2')]['length']){for(var _0x51c071=0x0;_0x51c071<_0x1ae62d[_0x7d68('0x69')][_0x7d68('0xb2')][_0x7d68('0x56')];_0x51c071+=0x1){_0x1ae62d[_0x7d68('0x69')][_0x7d68('0xb2')][_0x51c071]={'filename':_0x1ae62d[_0x7d68('0x69')][_0x7d68('0xb2')][_0x51c071][_0x7d68('0x2c')],'path':path[_0x7d68('0xb3')](config['root'],_0x7d68('0xb4'),_0x1ae62d['body'][_0x7d68('0xb2')][_0x51c071][_0x7d68('0xb5')])};}}var _0x56da50=_0x8aa91c[_0x7d68('0xb6')]();return respondWithRpcPromise(_0x7d68('0xb7'),_0x7d68('0xb8'),{'account':_0x56da50,'message':_0x1ae62d[_0x7d68('0x69')]});})['then'](function(_0xf2a219){if(!_0xf2a219)return;_0x2bf761=_0xf2a219;if(!_0x528f18[_0x7d68('0xa9')])throw new Error(_0x7d68('0xb9'));if(_0x528f18[_0x7d68('0xa9')][_0x7d68('0xaa')]['length'])return _0x528f18[_0x7d68('0xa9')][_0x7d68('0xaa')][0x0];return db[_0x7d68('0x8c')][_0x7d68('0x76')](_[_0x7d68('0xba')](_0x1ae62d['body'],{'firstName':_0x1ae62d[_0x7d68('0x69')]['to'],'email':_0x1ae62d['body']['to'],'phone':_0x1ae62d['body']['to'],'ListId':_0x528f18[_0x7d68('0x7a')]}));})[_0x7d68('0x13')](function(_0x57e32c){if(!_0x57e32c)return;var _0x36fde2={'UserId':_0x1ae62d['user']['id'],'ContactId':_0x57e32c['id'],'MailAccountId':_0x528f18['id'],'inReplyTo':_0x2bf761['messageId'],'to':_0x1ae62d[_0x7d68('0x69')][_0x7d68('0xb0')],'cc':_0x1ae62d[_0x7d68('0x69')]['cc'],'subject':_0x1ae62d['body'][_0x7d68('0xbb')],'attach':_0x1ae62d['body'][_0x7d68('0xbc')],'firstMsgDirection':_0x7d68('0xbd'),'lastMsgAt':moment()[_0x7d68('0xa3')](_0x7d68('0xa4')),'lastMsgDirection':_0x7d68('0xbd'),'Messages':[_[_0x7d68('0x5e')](_0x1ae62d[_0x7d68('0x69')],{'messageId':_0x2bf761[_0x7d68('0xbe')],'sentAt':moment()[_0x7d68('0xa3')](_0x7d68('0xa4')),'read':!![],'MailAccountId':_0x528f18['id'],'UserId':_0x1ae62d[_0x7d68('0x39')]['id'],'ContactId':_0x57e32c['id']})]};if(_0x1ae62d[_0x7d68('0x69')][_0x7d68('0xbf')]){_0x36fde2=_[_0x7d68('0x5e')](_0x36fde2,_0x1ae62d['body']['Interaction']);}return db['MailInteraction'][_0x7d68('0x76')](_0x36fde2,{'include':[{'model':db[_0x7d68('0xa5')],'as':_0x7d68('0xc0')}]});})['then'](respondWithResult(_0x5c0729,null))['catch'](handleError(_0x5c0729,null));};exports[_0x7d68('0xc1')]=function(_0x12d160,_0x55a68a){return db['MailAccount'][_0x7d68('0x68')]({'where':{'id':_0x12d160[_0x7d68('0x66')]['id']},'include':[{'model':db[_0x7d68('0x47')],'as':_0x7d68('0x45'),'raw':!![],'include':[{'model':db[_0x7d68('0xad')],'as':'CloudProvider','raw':!![]}]}]})[_0x7d68('0x13')](handleEntityNotFound(_0x55a68a,null))[_0x7d68('0x13')](function(_0x1c4776){if(!_0x1c4776['Smtp'])return;var _0x1819ae=_0x1c4776[_0x7d68('0xb6')]();return respondWithRpcPromise(_0x7d68('0xc2'),_0x7d68('0xc1'),{'account':_0x1819ae});})['then'](respondWithResult(_0x55a68a,null))[_0x7d68('0x1c')](handleError(_0x55a68a,null));};exports[_0x7d68('0x27')]=function(_0xbe16c3,_0x42a08c){return db['MailAccount']['find']({'where':{'id':_0xbe16c3[_0x7d68('0x66')]['id']}})[_0x7d68('0x13')](handleEntityNotFound(_0x42a08c,null))['then'](function(_0x416aac){if(_0x416aac&&_0x416aac[_0x7d68('0x42')]){throw new db['Sequelize'][(_0x7d68('0xc3'))](_0x7d68('0xc4'));}return _0x416aac;})[_0x7d68('0x13')](removeEntity(_0x42a08c,null))[_0x7d68('0x1c')](handleError(_0x42a08c,null));};exports[_0x7d68('0xc5')]=function(_0x14a6bb,_0x2f1523){return db['MailAccount']['find']({'where':{'id':_0x14a6bb[_0x7d68('0x66')]['id']}})['then'](handleEntityNotFound(_0x2f1523,null))[_0x7d68('0x13')](function(_0x50443b){if(_0x50443b){return _0x50443b[_0x7d68('0xc5')](_0x14a6bb[_0x7d68('0x69')]['ids'],_['omit'](_0x14a6bb['body'],['ids','id'])||{})[_0x7d68('0xc6')](function(_0x2e81c2){for(var _0x5a8d5d=0x0;_0x5a8d5d<_0x14a6bb[_0x7d68('0x69')][_0x7d68('0x73')][_0x7d68('0x56')];_0x5a8d5d+=0x1){socket[_0x7d68('0xc7')](_0x7d68('0xc8'),{'UserId':Number(_0x14a6bb[_0x7d68('0x69')]['ids'][_0x5a8d5d]),'MailAccountId':Number(_0x14a6bb[_0x7d68('0x66')]['id'])});}return _0x2e81c2;});}})['then'](respondWithResult(_0x2f1523,null))[_0x7d68('0x1c')](handleError(_0x2f1523,null));};exports[_0x7d68('0xc9')]=function(_0x1c5868,_0x4a738b){return db[_0x7d68('0x4a')][_0x7d68('0x68')]({'where':{'id':_0x1c5868[_0x7d68('0x66')]['id']}})[_0x7d68('0x13')](handleEntityNotFound(_0x4a738b,null))['then'](function(_0x32ea76){if(_0x32ea76){return _0x32ea76[_0x7d68('0xc9')](_0x1c5868[_0x7d68('0x4f')][_0x7d68('0x73')])['then'](function(){if(_[_0x7d68('0xca')](_0x1c5868['query'][_0x7d68('0x73')])){for(var _0x5d5ed3=0x0;_0x5d5ed3<_0x1c5868[_0x7d68('0x4f')][_0x7d68('0x73')][_0x7d68('0x56')];_0x5d5ed3+=0x1){socket['emit'](_0x7d68('0xcb'),{'UserId':Number(_0x1c5868[_0x7d68('0x4f')][_0x7d68('0x73')][_0x5d5ed3]),'MailAccountId':Number(_0x1c5868['params']['id'])});}}else{socket['emit'](_0x7d68('0xcb'),{'UserId':Number(_0x1c5868[_0x7d68('0x4f')][_0x7d68('0x73')]),'MailAccountId':Number(_0x1c5868[_0x7d68('0x66')]['id'])});}});}})[_0x7d68('0x13')](respondWithStatusCode(_0x4a738b,null))['catch'](handleError(_0x4a738b,null));};exports[_0x7d68('0xcc')]=function(_0xd6e313,_0x3e71d4){var _0x109763={};var _0x246fd1={};var _0x4fc929;var _0x4192ce;return db[_0x7d68('0x4a')][_0x7d68('0x72')]({'where':{'id':_0xd6e313[_0x7d68('0x66')]['id']}})[_0x7d68('0x13')](handleEntityNotFound(_0x3e71d4,null))[_0x7d68('0x13')](function(_0x22f38e){if(_0x22f38e){_0x4fc929=_0x22f38e;_0x246fd1[_0x7d68('0x53')]=_['keys'](db[_0x7d68('0x8e')][_0x7d68('0x4b')]);_0x246fd1[_0x7d68('0x4f')]=_[_0x7d68('0x50')](_0xd6e313[_0x7d68('0x4f')]);_0x246fd1[_0x7d68('0x51')]=_[_0x7d68('0x52')](_0x246fd1['model'],_0x246fd1[_0x7d68('0x4f')]);_0x109763['attributes']=_['intersection'](_0x246fd1['model'],qs[_0x7d68('0x55')](_0xd6e313[_0x7d68('0x4f')][_0x7d68('0x55')]));_0x109763[_0x7d68('0x54')]=_0x109763[_0x7d68('0x54')]['length']?_0x109763['attributes']:_0x246fd1[_0x7d68('0x53')];_0x109763[_0x7d68('0x59')]=qs[_0x7d68('0x5a')](_0xd6e313[_0x7d68('0x4f')][_0x7d68('0x5a')]);_0x109763[_0x7d68('0x5b')]=qs[_0x7d68('0x51')](_[_0x7d68('0x5c')](_0xd6e313[_0x7d68('0x4f')],_0x246fd1[_0x7d68('0x51')]));if(_0xd6e313[_0x7d68('0x4f')][_0x7d68('0x5d')]){_0x109763['where']=_[_0x7d68('0x5e')](_0x109763['where'],{'$or':_[_0x7d68('0x49')](_0x109763[_0x7d68('0x54')],function(_0x1f656b){var _0x5ca479={};_0x5ca479[_0x1f656b]={'$like':'%'+_0xd6e313[_0x7d68('0x4f')][_0x7d68('0x5d')]+'%'};return _0x5ca479;})});}_0x109763=_['merge']({},_0x109763,_0xd6e313[_0x7d68('0x60')]);return _0x4fc929[_0x7d68('0xcc')](_0x109763);}})[_0x7d68('0x13')](function(_0x1722fb){if(_0x1722fb){_0x4192ce=_0x1722fb['length'];if(!_0xd6e313[_0x7d68('0x4f')][_0x7d68('0x57')]('nolimit')){_0x109763[_0x7d68('0x22')]=qs['limit'](_0xd6e313[_0x7d68('0x4f')][_0x7d68('0x22')]);_0x109763[_0x7d68('0x20')]=qs['offset'](_0xd6e313['query']['offset']);}return _0x4fc929[_0x7d68('0xcc')](_0x109763);}})['then'](function(_0x2032b3){if(_0x2032b3){return _0x2032b3?{'count':_0x4192ce,'rows':_0x2032b3}:null;}})[_0x7d68('0x13')](respondWithResult(_0x3e71d4,null))['catch'](handleError(_0x3e71d4,null));};