Built motion from commit c738b9ac.|2.6.25
[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 _0x46da=['Contact','fullname','internal','Tag','Tags','color','tag','addApplications','transaction','sequelize','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','priority','getApplications','getMessages','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','CmList','List','Contacts','updatedAt','DESC','Smtp\x20configuration\x20not\x20found','from','%s\x20<%s>','attachments','root','server/files/attachments','basename','getSmtpOptions','SendMail','sendMail','messageId','subject','attach','out','Interaction','MailMessage','verifySmtp','CloudProvider','VerifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','isArray','userMailAccount:remove','getAgents','util','lodash','juice','../../components/parsers/qs','api','../../config/environment','../../mysqldb','redis','defaults','./mailAccount.socket','register','client','http','request','then','MailAccount,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','info','catch','status','end','offset','limit','undefined','count','set','json','update','destroy','MailAccounts','UserProfileResource','sendStatus','stack','name','send','gmail','imap.gmail.com','imap.mail.yahoo.com','hotmail','imap-mail.outlook.com','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp.gmail.com','smtp-mail.outlook.com','outlook365','smtp.office365.com','user','username','pass','modernAuthentication','CloudProviderId','password','port','host','secure','service','authentication','Imap','Smtp','index','MailServerIn','MailServerOut','Pause','map','MailAccount','rawAttributes','fieldName','key','model','query','keys','intersection','attributes','fields','length','nolimit','sort','where','filters','pick','merge','VIRTUAL','filter','include','findAll','show','mandatoryDispositionPause','includeAll','options','find','body','custom','params','Mail\x20Account\x20not\x20found','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','hasOwnProperty','rows','removeDispositions','ids','addAnswer','getAnswers','CannedAnswer','order','removeAnswers','email','ListId','isNil','active','description','provider','role','get','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact'];(function(_0x16629d,_0x492375){var _0x56ccee=function(_0xa982b7){while(--_0xa982b7){_0x16629d['push'](_0x16629d['shift']());}};_0x56ccee(++_0x492375);}(_0x46da,0xf9));var _0xa46d=function(_0x21249e,_0x9ca39b){_0x21249e=_0x21249e-0x0;var _0x418762=_0x46da[_0x21249e];return _0x418762;};'use strict';var moment=require('moment');var BPromise=require('bluebird');var util=require(_0xa46d('0x0'));var path=require('path');var _=require(_0xa46d('0x1'));var juice=require(_0xa46d('0x2'));var Redis=require('ioredis');var qs=require(_0xa46d('0x3'));var logger=require('../../config/logger')(_0xa46d('0x4'));var config=require(_0xa46d('0x5'));var db=require(_0xa46d('0x6'))['db'];config[_0xa46d('0x7')]=_[_0xa46d('0x8')](config[_0xa46d('0x7')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xa46d('0x7')]));require(_0xa46d('0x9'))[_0xa46d('0xa')](socket);var jayson=require('jayson/promise');var client=jayson[_0xa46d('0xb')][_0xa46d('0xc')]({'port':0x232b});function respondWithRpcPromise(_0x3176e5,_0x5e990f,_0x19e09a,_0x12550b){return new BPromise(function(_0x3f33bf,_0x25898b){var _0x5eaaea=_0x12550b||client;return _0x5eaaea[_0xa46d('0xd')](_0x3176e5,_0x19e09a)[_0xa46d('0xe')](function(_0x552585){logger['info'](_0xa46d('0xf'),_0x5e990f,_0xa46d('0x10'));logger['debug']('MailAccount,\x20%s,\x20%s,\x20%s',_0x5e990f,_0xa46d('0x10'),JSON[_0xa46d('0x11')](_0x552585));if(_0x552585[_0xa46d('0x12')]){if(_0x552585['error'][_0xa46d('0x13')]===0x1f4){logger[_0xa46d('0x12')]('MailAccount,\x20%s,\x20%s',_0x5e990f,_0x552585['error'][_0xa46d('0x14')]);return _0x25898b(_0x552585[_0xa46d('0x12')][_0xa46d('0x14')]);}logger[_0xa46d('0x12')]('MailAccount,\x20%s,\x20%s',_0x5e990f,_0x552585[_0xa46d('0x12')][_0xa46d('0x14')]);return _0x3f33bf(_0x552585[_0xa46d('0x12')]['message']);}else{logger[_0xa46d('0x15')](_0xa46d('0xf'),_0x5e990f,_0xa46d('0x10'));_0x3f33bf(_0x552585['result'][_0xa46d('0x14')]);}})[_0xa46d('0x16')](function(_0xd718b9){logger[_0xa46d('0x12')](_0xa46d('0xf'),_0x5e990f,_0xd718b9);_0x25898b(_0xd718b9);});});}function respondWithStatusCode(_0x1c3afb,_0x2f3c3b){_0x2f3c3b=_0x2f3c3b||0xcc;return function(_0x28e8c4){if(_0x28e8c4){return _0x1c3afb['sendStatus'](_0x2f3c3b);}return _0x1c3afb[_0xa46d('0x17')](_0x2f3c3b)[_0xa46d('0x18')]();};}function respondWithResult(_0x5b74e2,_0x5826ae){_0x5826ae=_0x5826ae||0xc8;return function(_0x441699){if(_0x441699){return _0x5b74e2[_0xa46d('0x17')](_0x5826ae)['json'](_0x441699);}};}function respondWithFilteredResult(_0x154815,_0x5db6cc){return function(_0x1caf34){if(_0x1caf34){var _0x2807b6=typeof _0x5db6cc[_0xa46d('0x19')]==='undefined'&&typeof _0x5db6cc[_0xa46d('0x1a')]===_0xa46d('0x1b');var _0x27ac66=_0x1caf34['count'];var _0x475017=_0x2807b6?0x0:_0x5db6cc['offset'];var _0x52247e=_0x2807b6?_0x1caf34[_0xa46d('0x1c')]:_0x5db6cc[_0xa46d('0x19')]+_0x5db6cc[_0xa46d('0x1a')];var _0x512d81;if(_0x52247e>=_0x27ac66){_0x52247e=_0x27ac66;_0x512d81=0xc8;}else{_0x512d81=0xce;}_0x154815['status'](_0x512d81);return _0x154815[_0xa46d('0x1d')]('Content-Range',_0x475017+'-'+_0x52247e+'/'+_0x27ac66)[_0xa46d('0x1e')](_0x1caf34);}return null;};}function saveUpdates(_0x47b02d){return function(_0x5381b7){if(_0x5381b7){return _0x5381b7[_0xa46d('0x1f')](_0x47b02d)[_0xa46d('0xe')](function(_0x2ea94a){return _0x2ea94a;});}return null;};}function removeEntity(_0x56e5b1){return function(_0x317400){if(_0x317400){return _0x317400[_0xa46d('0x20')]()[_0xa46d('0xe')](function(){var _0x2e1c04=_0x317400['get']({'plain':!![]});var _0x131659=_0xa46d('0x21');return db[_0xa46d('0x22')][_0xa46d('0x20')]({'where':{'type':_0x131659,'resourceId':_0x2e1c04['id']}})[_0xa46d('0xe')](function(){return _0x317400;});})['then'](function(){_0x56e5b1[_0xa46d('0x17')](0xcc)[_0xa46d('0x18')]();});}};}function handleEntityNotFound(_0x4c286e){return function(_0x40c749){if(!_0x40c749){_0x4c286e[_0xa46d('0x23')](0x194);}return _0x40c749;};}function handleError(_0x3503f8,_0x1bed5e){_0x1bed5e=_0x1bed5e||0x1f4;return function(_0x47f47c){logger[_0xa46d('0x12')](_0x47f47c[_0xa46d('0x24')]);if(_0x47f47c[_0xa46d('0x25')]){delete _0x47f47c[_0xa46d('0x25')];}_0x3503f8[_0xa46d('0x17')](_0x1bed5e)[_0xa46d('0x26')](_0x47f47c);};}function getImapHost(_0x9d8653){switch(_0x9d8653){case _0xa46d('0x27'):return _0xa46d('0x28');case'yahoo':return _0xa46d('0x29');case _0xa46d('0x2a'):return _0xa46d('0x2b');case'outlook365':return _0xa46d('0x2c');}throw new Error(_0xa46d('0x2d'),_0x9d8653);}function getSmtpHost(_0x4d6f80){switch(_0x4d6f80){case _0xa46d('0x27'):return _0xa46d('0x2e');case'yahoo':return'smtp.mail.yahoo.com';case _0xa46d('0x2a'):return _0xa46d('0x2f');case _0xa46d('0x30'):return _0xa46d('0x31');}throw new Error('Unknown\x20email\x20service\x20provider',_0x4d6f80);}function getAuthenticationOptions(_0x2444ab,_0x1a594e){var _0x4f9af9={};var _0x1b62c5={};if(_0x2444ab){_0x4f9af9[_0xa46d('0x32')]=_0x1b62c5['user']=_0x1a594e[_0xa46d('0x33')];_0x4f9af9['password']=_0x1b62c5[_0xa46d('0x34')]=_0x1a594e['password'];if(_0x1a594e[_0xa46d('0x35')]){_0x4f9af9['modernAuthentication']=_0x1b62c5[_0xa46d('0x35')]=!![];_0x4f9af9[_0xa46d('0x36')]=_0x1b62c5[_0xa46d('0x36')]=_0x1a594e['CloudProviderId'];_0x4f9af9[_0xa46d('0x37')]=_0x1b62c5['pass']=null;}else{_0x4f9af9[_0xa46d('0x36')]=_0x1b62c5[_0xa46d('0x36')]=null;}_0x4f9af9['host']=getImapHost(_0x2444ab);_0x4f9af9[_0xa46d('0x38')]=0x3e1;_0x1b62c5[_0xa46d('0x39')]=getSmtpHost(_0x2444ab);_0x1b62c5[_0xa46d('0x38')]=0x24b;_0x1b62c5[_0xa46d('0x3a')]=![];_0x4f9af9[_0xa46d('0x3b')]=_0x1b62c5[_0xa46d('0x3b')]=null;}else{if(_0x1a594e[_0xa46d('0x3c')]){_0x4f9af9[_0xa46d('0x32')]=_0x1b62c5['user']=_0x1a594e['username'];_0x4f9af9[_0xa46d('0x37')]=_0x1b62c5['pass']=_0x1a594e[_0xa46d('0x37')];}else{_0x4f9af9[_0xa46d('0x3c')]=_0x1b62c5[_0xa46d('0x3c')]=![];_0x4f9af9[_0xa46d('0x32')]=_0x1b62c5['user']=null;_0x4f9af9[_0xa46d('0x37')]=_0x1b62c5[_0xa46d('0x34')]=null;}_0x4f9af9['host']=_0x1a594e[_0xa46d('0x3d')][_0xa46d('0x39')];_0x4f9af9['port']=_0x1a594e[_0xa46d('0x3d')][_0xa46d('0x38')];_0x1b62c5[_0xa46d('0x39')]=_0x1a594e[_0xa46d('0x3e')]['host'];_0x1b62c5[_0xa46d('0x38')]=_0x1a594e[_0xa46d('0x3e')][_0xa46d('0x38')];}return{'Imap':_0x4f9af9,'Smtp':_0x1b62c5};}exports[_0xa46d('0x3f')]=function(_0x565019,_0x2deec0){var _0x8a3a5c={'include':[{'model':db[_0xa46d('0x40')],'as':'Imap'},{'model':db[_0xa46d('0x41')],'as':_0xa46d('0x3e')},{'model':db[_0xa46d('0x42')],'as':'mandatoryDispositionPause'}]},_0x582295={},_0x7ca11e={'count':0x0,'rows':[]};var _0x4bac4c=_[_0xa46d('0x43')](db[_0xa46d('0x44')][_0xa46d('0x45')],function(_0x4ed5ee){return{'name':_0x4ed5ee[_0xa46d('0x46')],'type':_0x4ed5ee['type'][_0xa46d('0x47')]};});_0x582295[_0xa46d('0x48')]=_['map'](_0x4bac4c,_0xa46d('0x25'));_0x582295[_0xa46d('0x49')]=_[_0xa46d('0x4a')](_0x565019[_0xa46d('0x49')]);_0x582295['filters']=_[_0xa46d('0x4b')](_0x582295[_0xa46d('0x48')],_0x582295[_0xa46d('0x49')]);_0x8a3a5c[_0xa46d('0x4c')]=_[_0xa46d('0x4b')](_0x582295[_0xa46d('0x48')],qs[_0xa46d('0x4d')](_0x565019['query'][_0xa46d('0x4d')]));_0x8a3a5c[_0xa46d('0x4c')]=_0x8a3a5c[_0xa46d('0x4c')][_0xa46d('0x4e')]?_0x8a3a5c[_0xa46d('0x4c')]:_0x582295[_0xa46d('0x48')];if(!_0x565019[_0xa46d('0x49')]['hasOwnProperty'](_0xa46d('0x4f'))){_0x8a3a5c[_0xa46d('0x1a')]=qs[_0xa46d('0x1a')](_0x565019[_0xa46d('0x49')][_0xa46d('0x1a')]);_0x8a3a5c['offset']=qs[_0xa46d('0x19')](_0x565019[_0xa46d('0x49')][_0xa46d('0x19')]);}_0x8a3a5c['order']=qs[_0xa46d('0x50')](_0x565019[_0xa46d('0x49')][_0xa46d('0x50')]);_0x8a3a5c[_0xa46d('0x51')]=qs[_0xa46d('0x52')](_[_0xa46d('0x53')](_0x565019[_0xa46d('0x49')],_0x582295[_0xa46d('0x52')]),_0x4bac4c);if(_0x565019['query']['filter']){_0x8a3a5c[_0xa46d('0x51')]=_[_0xa46d('0x54')](_0x8a3a5c[_0xa46d('0x51')],{'$or':_['map'](_0x4bac4c,function(_0x27575c){if(_0x27575c['type']!==_0xa46d('0x55')){var _0x5c2655={};_0x5c2655[_0x27575c[_0xa46d('0x25')]]={'$like':'%'+_0x565019[_0xa46d('0x49')][_0xa46d('0x56')]+'%'};return _0x5c2655;}})});}_0x8a3a5c=_['merge']({},_0x8a3a5c,_0x565019['options']);var _0x5ecc3c={'where':_0x8a3a5c[_0xa46d('0x51')]};return db[_0xa46d('0x44')][_0xa46d('0x1c')](_0x5ecc3c)[_0xa46d('0xe')](function(_0x219dee){_0x7ca11e[_0xa46d('0x1c')]=_0x219dee;if(_0x565019[_0xa46d('0x49')]['includeAll']){_0x8a3a5c[_0xa46d('0x57')]=[{'all':!![]}];}return db[_0xa46d('0x44')][_0xa46d('0x58')](_0x8a3a5c);})[_0xa46d('0xe')](function(_0x5e3d91){_0x7ca11e['rows']=_0x5e3d91;return _0x7ca11e;})[_0xa46d('0xe')](respondWithFilteredResult(_0x2deec0,_0x8a3a5c))[_0xa46d('0x16')](handleError(_0x2deec0,null));};exports[_0xa46d('0x59')]=function(_0x1ffd46,_0x1f4c56){var _0x12d45c={'raw':![],'where':{'id':_0x1ffd46['params']['id']},'include':[{'model':db[_0xa46d('0x40')],'as':_0xa46d('0x3d')},{'model':db[_0xa46d('0x41')],'as':_0xa46d('0x3e')},{'model':db[_0xa46d('0x42')],'as':_0xa46d('0x5a')}]},_0x4072a0={};_0x4072a0['model']=_[_0xa46d('0x4a')](db[_0xa46d('0x44')]['rawAttributes']);_0x4072a0[_0xa46d('0x49')]=_['keys'](_0x1ffd46[_0xa46d('0x49')]);_0x4072a0['filters']=_[_0xa46d('0x4b')](_0x4072a0[_0xa46d('0x48')],_0x4072a0['query']);_0x12d45c['attributes']=_[_0xa46d('0x4b')](_0x4072a0[_0xa46d('0x48')],qs[_0xa46d('0x4d')](_0x1ffd46[_0xa46d('0x49')][_0xa46d('0x4d')]));_0x12d45c[_0xa46d('0x4c')]=_0x12d45c[_0xa46d('0x4c')][_0xa46d('0x4e')]?_0x12d45c['attributes']:_0x4072a0[_0xa46d('0x48')];if(_0x1ffd46[_0xa46d('0x49')][_0xa46d('0x5b')]){_0x12d45c[_0xa46d('0x57')]=[{'all':!![]}];}_0x12d45c=_[_0xa46d('0x54')]({},_0x12d45c,_0x1ffd46[_0xa46d('0x5c')]);return db[_0xa46d('0x44')][_0xa46d('0x5d')](_0x12d45c)['then'](handleEntityNotFound(_0x1f4c56,null))[_0xa46d('0xe')](respondWithResult(_0x1f4c56,null))[_0xa46d('0x16')](handleError(_0x1f4c56,null));};exports[_0xa46d('0x1f')]=function(_0x194222,_0x103381){if(_0x194222['body']['id']){delete _0x194222[_0xa46d('0x5e')]['id'];}var _0x3e1d13=_0x194222['body']['provider']===_0xa46d('0x5f')?null:_0x194222[_0xa46d('0x5e')]['provider'];var _0x544cfa=_0x194222[_0xa46d('0x5e')]['Imap']||{};var _0x349408=_0x194222[_0xa46d('0x5e')][_0xa46d('0x3e')]||{};if(_0x3e1d13){_0x544cfa[_0xa46d('0x39')]=getImapHost(_0x3e1d13);_0x544cfa[_0xa46d('0x38')]=0x3e1;_0x349408[_0xa46d('0x39')]=getSmtpHost(_0x3e1d13);_0x349408[_0xa46d('0x38')]=0x24b;_0x349408[_0xa46d('0x3a')]=![];}if(_0x349408[_0xa46d('0x35')]){_0x349408[_0xa46d('0x3a')]=![];}else{_0x349408[_0xa46d('0x36')]=null;}if(!_0x544cfa[_0xa46d('0x35')])_0x544cfa[_0xa46d('0x36')]=null;_0x194222[_0xa46d('0x5e')][_0xa46d('0x3d')]=_0x544cfa;_0x194222['body']['Smtp']=_0x349408;return db[_0xa46d('0x44')]['find']({'where':{'id':_0x194222[_0xa46d('0x60')]['id']},'include':[{'model':db[_0xa46d('0x40')],'as':'Imap'},{'model':db['MailServerOut'],'as':_0xa46d('0x3e')},{'model':db[_0xa46d('0x42')],'as':'mandatoryDispositionPause'}]})['then'](handleEntityNotFound(_0x103381,null))[_0xa46d('0xe')](function(_0x1bc410){if(!_0x1bc410)throw new Error(_0xa46d('0x61'));if(_0x1bc410[_0xa46d('0x3b')])delete _0x194222[_0xa46d('0x5e')][_0xa46d('0x3d')];return _0x1bc410;})[_0xa46d('0xe')](saveUpdates(_0x194222[_0xa46d('0x5e')],null))[_0xa46d('0xe')](function(_0x304071){if(!_0x194222[_0xa46d('0x5e')]['Imap'])return _0x304071;return db[_0xa46d('0x40')][_0xa46d('0x1f')](_0x194222['body'][_0xa46d('0x3d')],{'where':{'MailAccountId':_0x304071['id']}})['then'](function(){return _0x304071;});})['then'](function(_0x77b580){if(!_0x194222[_0xa46d('0x5e')][_0xa46d('0x3e')])return _0x77b580;return db[_0xa46d('0x41')][_0xa46d('0x1f')](_0x194222[_0xa46d('0x5e')][_0xa46d('0x3e')],{'where':{'MailAccountId':_0x77b580['id']}})[_0xa46d('0xe')](function(){return _0x77b580;});})[_0xa46d('0xe')](respondWithResult(_0x103381,null))['catch'](handleError(_0x103381,null));};exports['describe']=function(_0xe10ceb,_0x126ad3){return db[_0xa46d('0x44')][_0xa46d('0x62')]()[_0xa46d('0xe')](respondWithResult(_0x126ad3,null))['catch'](handleError(_0x126ad3,null));};exports[_0xa46d('0x63')]=function(_0x5a1c8c,_0x4bfc8f){if(_0x5a1c8c[_0xa46d('0x5e')]['id']){delete _0x5a1c8c['body']['id'];}return db[_0xa46d('0x44')][_0xa46d('0x5d')]({'where':{'id':_0x5a1c8c[_0xa46d('0x60')]['id']}})[_0xa46d('0xe')](handleEntityNotFound(_0x4bfc8f,null))[_0xa46d('0xe')](function(_0x467c7d){if(_0x467c7d){_0x5a1c8c[_0xa46d('0x5e')][_0xa46d('0x64')]=_0x467c7d['id'];return db[_0xa46d('0x65')][_0xa46d('0x66')](_0x5a1c8c[_0xa46d('0x5e')]);}})[_0xa46d('0xe')](respondWithResult(_0x4bfc8f,null))[_0xa46d('0x16')](handleError(_0x4bfc8f,null));};exports[_0xa46d('0x67')]=function(_0x3a54e9,_0x228efd){var _0x70e40f={'raw':![],'where':{}};var _0x2c298e={};var _0xb0d5d1={'count':0x0,'rows':[]};return db[_0xa46d('0x44')][_0xa46d('0x68')]({'where':{'id':_0x3a54e9[_0xa46d('0x60')]['id']}})[_0xa46d('0xe')](handleEntityNotFound(_0x228efd,null))[_0xa46d('0xe')](function(_0x1bbe6d){if(_0x1bbe6d){_0x2c298e[_0xa46d('0x48')]=_['keys'](db[_0xa46d('0x65')][_0xa46d('0x45')]);_0x2c298e[_0xa46d('0x49')]=_['keys'](_0x3a54e9[_0xa46d('0x49')]);_0x2c298e[_0xa46d('0x52')]=_[_0xa46d('0x4b')](_0x2c298e[_0xa46d('0x48')],_0x2c298e[_0xa46d('0x49')]);_0x70e40f[_0xa46d('0x4c')]=_[_0xa46d('0x4b')](_0x2c298e[_0xa46d('0x48')],qs[_0xa46d('0x4d')](_0x3a54e9[_0xa46d('0x49')][_0xa46d('0x4d')]));_0x70e40f[_0xa46d('0x4c')]=_0x70e40f['attributes'][_0xa46d('0x4e')]?_0x70e40f['attributes']:_0x2c298e['model'];if(!_0x3a54e9[_0xa46d('0x49')][_0xa46d('0x69')](_0xa46d('0x4f'))){_0x70e40f[_0xa46d('0x1a')]=qs[_0xa46d('0x1a')](_0x3a54e9[_0xa46d('0x49')]['limit']);_0x70e40f[_0xa46d('0x19')]=qs[_0xa46d('0x19')](_0x3a54e9[_0xa46d('0x49')][_0xa46d('0x19')]);}_0x70e40f['order']=qs[_0xa46d('0x50')](_0x3a54e9['query'][_0xa46d('0x50')]);_0x70e40f[_0xa46d('0x51')]=qs['filters'](_['pick'](_0x3a54e9[_0xa46d('0x49')],_0x2c298e[_0xa46d('0x52')]));_0x70e40f[_0xa46d('0x51')]['MailAccountId']=_0x1bbe6d['id'];if(_0x3a54e9[_0xa46d('0x49')][_0xa46d('0x56')]){_0x70e40f['where']=_[_0xa46d('0x54')](_0x70e40f[_0xa46d('0x51')],{'$or':_[_0xa46d('0x43')](_0x70e40f[_0xa46d('0x4c')],function(_0xdce1e6){var _0x469b86={};_0x469b86[_0xdce1e6]={'$like':'%'+_0x3a54e9[_0xa46d('0x49')][_0xa46d('0x56')]+'%'};return _0x469b86;})});}_0x70e40f=_[_0xa46d('0x54')]({},_0x70e40f,_0x3a54e9[_0xa46d('0x5c')]);return db[_0xa46d('0x65')][_0xa46d('0x1c')]({'where':_0x70e40f[_0xa46d('0x51')]})['then'](function(_0x1f99e6){_0xb0d5d1[_0xa46d('0x1c')]=_0x1f99e6;if(_0x3a54e9[_0xa46d('0x49')][_0xa46d('0x5b')]){_0x70e40f[_0xa46d('0x57')]=[{'all':!![]}];}return db['Disposition'][_0xa46d('0x58')](_0x70e40f);})[_0xa46d('0xe')](function(_0x56e76f){_0xb0d5d1[_0xa46d('0x6a')]=_0x56e76f;return _0xb0d5d1;});}})['then'](respondWithFilteredResult(_0x228efd,_0x70e40f))['catch'](handleError(_0x228efd,null));};exports['removeDispositions']=function(_0x5c8032,_0x3a3ab4){return db[_0xa46d('0x44')]['find']({'where':{'id':_0x5c8032[_0xa46d('0x60')]['id']}})[_0xa46d('0xe')](handleEntityNotFound(_0x3a3ab4,null))[_0xa46d('0xe')](function(_0x4b4e29){if(_0x4b4e29){return _0x4b4e29[_0xa46d('0x6b')](_0x5c8032['query'][_0xa46d('0x6c')]);}})[_0xa46d('0xe')](respondWithStatusCode(_0x3a3ab4,null))[_0xa46d('0x16')](handleError(_0x3a3ab4,null));};exports[_0xa46d('0x6d')]=function(_0x23c9d6,_0x544ff0){if(_0x23c9d6[_0xa46d('0x5e')]['id']){delete _0x23c9d6[_0xa46d('0x5e')]['id'];}return db[_0xa46d('0x44')]['find']({'where':{'id':_0x23c9d6[_0xa46d('0x60')]['id']}})[_0xa46d('0xe')](handleEntityNotFound(_0x544ff0,null))[_0xa46d('0xe')](function(_0x532911){if(_0x532911){_0x23c9d6['body'][_0xa46d('0x64')]=_0x532911['id'];return db['CannedAnswer']['create'](_0x23c9d6[_0xa46d('0x5e')]);}})[_0xa46d('0xe')](respondWithResult(_0x544ff0,null))[_0xa46d('0x16')](handleError(_0x544ff0,null));};exports[_0xa46d('0x6e')]=function(_0x25b208,_0x5519a5){var _0x2ea0eb={'raw':![],'where':{}};var _0x217b10={};var _0x33cb8e={'count':0x0,'rows':[]};return db['MailAccount'][_0xa46d('0x68')]({'where':{'id':_0x25b208[_0xa46d('0x60')]['id']}})[_0xa46d('0xe')](handleEntityNotFound(_0x5519a5,null))['then'](function(_0x399752){if(_0x399752){_0x217b10[_0xa46d('0x48')]=_[_0xa46d('0x4a')](db[_0xa46d('0x6f')][_0xa46d('0x45')]);_0x217b10[_0xa46d('0x49')]=_[_0xa46d('0x4a')](_0x25b208['query']);_0x217b10[_0xa46d('0x52')]=_[_0xa46d('0x4b')](_0x217b10[_0xa46d('0x48')],_0x217b10[_0xa46d('0x49')]);_0x2ea0eb[_0xa46d('0x4c')]=_['intersection'](_0x217b10['model'],qs[_0xa46d('0x4d')](_0x25b208[_0xa46d('0x49')][_0xa46d('0x4d')]));_0x2ea0eb[_0xa46d('0x4c')]=_0x2ea0eb[_0xa46d('0x4c')]['length']?_0x2ea0eb[_0xa46d('0x4c')]:_0x217b10[_0xa46d('0x48')];if(!_0x25b208[_0xa46d('0x49')]['hasOwnProperty'](_0xa46d('0x4f'))){_0x2ea0eb[_0xa46d('0x1a')]=qs[_0xa46d('0x1a')](_0x25b208[_0xa46d('0x49')][_0xa46d('0x1a')]);_0x2ea0eb[_0xa46d('0x19')]=qs[_0xa46d('0x19')](_0x25b208[_0xa46d('0x49')][_0xa46d('0x19')]);}_0x2ea0eb[_0xa46d('0x70')]=qs['sort'](_0x25b208['query'][_0xa46d('0x50')]);_0x2ea0eb['where']=qs[_0xa46d('0x52')](_[_0xa46d('0x53')](_0x25b208[_0xa46d('0x49')],_0x217b10[_0xa46d('0x52')]));_0x2ea0eb[_0xa46d('0x51')]['MailAccountId']=_0x399752['id'];if(_0x25b208[_0xa46d('0x49')][_0xa46d('0x56')]){_0x2ea0eb[_0xa46d('0x51')]=_[_0xa46d('0x54')](_0x2ea0eb[_0xa46d('0x51')],{'$or':_[_0xa46d('0x43')](_0x2ea0eb[_0xa46d('0x4c')],function(_0x5c4acc){var _0x1716d3={};_0x1716d3[_0x5c4acc]={'$like':'%'+_0x25b208['query'][_0xa46d('0x56')]+'%'};return _0x1716d3;})});}_0x2ea0eb=_['merge']({},_0x2ea0eb,_0x25b208[_0xa46d('0x5c')]);return db['CannedAnswer']['count']({'where':_0x2ea0eb['where']})['then'](function(_0x520ca4){_0x33cb8e[_0xa46d('0x1c')]=_0x520ca4;if(_0x25b208[_0xa46d('0x49')][_0xa46d('0x5b')]){_0x2ea0eb[_0xa46d('0x57')]=[{'all':!![]}];}return db[_0xa46d('0x6f')][_0xa46d('0x58')](_0x2ea0eb);})[_0xa46d('0xe')](function(_0x3ee259){_0x33cb8e[_0xa46d('0x6a')]=_0x3ee259;return _0x33cb8e;});}})[_0xa46d('0xe')](respondWithFilteredResult(_0x5519a5,_0x2ea0eb))['catch'](handleError(_0x5519a5,null));};exports[_0xa46d('0x71')]=function(_0x24fe86,_0x17395a){return db['MailAccount'][_0xa46d('0x5d')]({'where':{'id':_0x24fe86[_0xa46d('0x60')]['id']}})[_0xa46d('0xe')](handleEntityNotFound(_0x17395a,null))[_0xa46d('0xe')](function(_0x5c0de9){if(_0x5c0de9){return _0x5c0de9[_0xa46d('0x71')](_0x24fe86['query']['ids']);}})[_0xa46d('0xe')](respondWithStatusCode(_0x17395a,null))[_0xa46d('0x16')](handleError(_0x17395a,null));};exports[_0xa46d('0x66')]=function(_0x372a75,_0x4e9145){var _0x3ff002={'name':_0x372a75[_0xa46d('0x5e')][_0xa46d('0x25')],'key':_0x372a75[_0xa46d('0x5e')]['key'],'provider':_0x372a75['body']['provider']===_0xa46d('0x5f')?null:_0x372a75[_0xa46d('0x5e')]['provider'],'email':_0x372a75[_0xa46d('0x5e')][_0xa46d('0x72')],'ListId':_0x372a75[_0xa46d('0x5e')][_0xa46d('0x73')],'active':!_[_0xa46d('0x74')](_0x372a75[_0xa46d('0x5e')][_0xa46d('0x75')])?_0x372a75[_0xa46d('0x5e')][_0xa46d('0x75')]:!![],'description':_0x372a75[_0xa46d('0x5e')][_0xa46d('0x76')]||null};var _0x5d9455=getAuthenticationOptions(_0x3ff002[_0xa46d('0x77')],_0x372a75[_0xa46d('0x5e')]);_0x3ff002[_0xa46d('0x3d')]=_0x5d9455['Imap'];_0x3ff002[_0xa46d('0x3e')]=_0x5d9455[_0xa46d('0x3e')];return db['MailAccount'][_0xa46d('0x66')](_0x3ff002,{'include':[{'model':db['MailServerOut'],'as':'Smtp'},{'model':db['MailServerIn'],'as':_0xa46d('0x3d')}]})[_0xa46d('0xe')](function(_0x40dc6d){var _0x4e370b=_0x372a75['user']['get']({'plain':!![]});if(!_0x4e370b)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4e370b[_0xa46d('0x78')]===_0xa46d('0x32')){var _0x37a170=_0x40dc6d[_0xa46d('0x79')]({'plain':!![]});return db[_0xa46d('0x7a')][_0xa46d('0x5d')]({'where':{'name':_0xa46d('0x21'),'userProfileId':_0x4e370b[_0xa46d('0x7b')]},'raw':!![]})[_0xa46d('0xe')](function(_0x58b92e){if(_0x58b92e&&_0x58b92e['autoAssociation']===0x0){return db[_0xa46d('0x22')]['create']({'name':_0x37a170['name'],'resourceId':_0x37a170['id'],'type':_0x58b92e[_0xa46d('0x25')],'sectionId':_0x58b92e['id']},{})[_0xa46d('0xe')](function(){return _0x40dc6d;});}else{return _0x40dc6d;}})[_0xa46d('0x16')](function(_0xb4dc46){logger[_0xa46d('0x12')](_0xa46d('0x7c'),_0xb4dc46);throw _0xb4dc46;});}return _0x40dc6d;})[_0xa46d('0xe')](respondWithResult(_0x4e9145,0xc9))[_0xa46d('0x16')](handleError(_0x4e9145,null));};exports[_0xa46d('0x7d')]=function(_0x362d1a,_0x53ceb6){return db['MailAccount'][_0xa46d('0x68')]({'where':{'id':_0x362d1a['params']['id']}})[_0xa46d('0xe')](handleEntityNotFound(_0x53ceb6,null))[_0xa46d('0xe')](function(_0x539212){if(_0x539212){return _0x539212[_0xa46d('0x7d')]();}return null;})['then'](respondWithResult(_0x53ceb6,null))[_0xa46d('0x16')](handleError(_0x53ceb6,null));};exports['addImap']=function(_0x532219,_0x2a206b){if(_0x532219[_0xa46d('0x5e')]['id']){delete _0x532219[_0xa46d('0x5e')]['id'];}return db[_0xa46d('0x44')][_0xa46d('0x5d')]({'where':{'id':_0x532219[_0xa46d('0x60')]['id']}})[_0xa46d('0xe')](handleEntityNotFound(_0x2a206b,null))[_0xa46d('0xe')](function(_0x510451){if(_0x510451){_0x532219[_0xa46d('0x5e')][_0xa46d('0x64')]=_0x510451['id'];return db[_0xa46d('0x40')][_0xa46d('0x66')](_0x532219[_0xa46d('0x5e')]);}})[_0xa46d('0xe')](respondWithResult(_0x2a206b,null))['catch'](handleError(_0x2a206b,null));};exports[_0xa46d('0x7e')]=function(_0x121142,_0x77bca3){return db[_0xa46d('0x44')][_0xa46d('0x68')]({'where':{'id':_0x121142[_0xa46d('0x60')]['id']}})['then'](handleEntityNotFound(_0x77bca3,null))[_0xa46d('0xe')](function(_0x4561f0){if(_0x4561f0){return _0x4561f0[_0xa46d('0x7f')](null);}return null;})[_0xa46d('0xe')](respondWithStatusCode(_0x77bca3,null))[_0xa46d('0x16')](handleError(_0x77bca3,null));};exports[_0xa46d('0x80')]=function(_0x27547c,_0xf2f7fe){return db['MailAccount'][_0xa46d('0x68')]({'where':{'id':_0x27547c[_0xa46d('0x60')]['id']}})[_0xa46d('0xe')](handleEntityNotFound(_0xf2f7fe,null))['then'](function(_0x4df629){if(_0x4df629){return _0x4df629['getSmtp']();}return null;})[_0xa46d('0xe')](respondWithResult(_0xf2f7fe,null))['catch'](handleError(_0xf2f7fe,null));};exports[_0xa46d('0x81')]=function(_0x41a74b,_0x115d54){if(_0x41a74b[_0xa46d('0x5e')]['id']){delete _0x41a74b[_0xa46d('0x5e')]['id'];}return db[_0xa46d('0x44')]['find']({'where':{'id':_0x41a74b[_0xa46d('0x60')]['id']}})[_0xa46d('0xe')](handleEntityNotFound(_0x115d54,null))['then'](function(_0x2ee463){if(_0x2ee463){_0x41a74b[_0xa46d('0x5e')][_0xa46d('0x64')]=_0x2ee463['id'];return db['MailServerOut'][_0xa46d('0x66')](_0x41a74b[_0xa46d('0x5e')]);}})[_0xa46d('0xe')](respondWithResult(_0x115d54,null))[_0xa46d('0x16')](handleError(_0x115d54,null));};exports[_0xa46d('0x82')]=function(_0xc1b9ca,_0x2bfa83){return db['MailAccount'][_0xa46d('0x68')]({'where':{'id':_0xc1b9ca[_0xa46d('0x60')]['id']}})['then'](handleEntityNotFound(_0x2bfa83,null))[_0xa46d('0xe')](function(_0x43f8b6){if(_0x43f8b6){return _0x43f8b6[_0xa46d('0x83')](null);}return null;})[_0xa46d('0xe')](respondWithStatusCode(_0x2bfa83,null))['catch'](handleError(_0x2bfa83,null));};exports[_0xa46d('0x84')]=function(_0x40180f,_0x50819e){return db[_0xa46d('0x85')][_0xa46d('0x5d')]({'where':{'id':_0x40180f[_0xa46d('0x60')]['id']}})[_0xa46d('0xe')](handleEntityNotFound(_0x50819e,null))[_0xa46d('0xe')](function(_0x30f1a4){if(_0x30f1a4){return _0x30f1a4['addInteraction'](_0x40180f['body'][_0xa46d('0x6c')],_[_0xa46d('0x86')](_0x40180f[_0xa46d('0x5e')],[_0xa46d('0x6c'),'id'])||{});}})[_0xa46d('0xe')](respondWithResult(_0x50819e,null))['catch'](handleError(_0x50819e,null));};exports[_0xa46d('0x87')]=function(_0x24e3c8,_0x2f7461){var _0x4bfcdb={'raw':![],'where':{}};var _0x1d6153={};var _0x322b20={'count':0x0,'rows':[]};return db[_0xa46d('0x44')][_0xa46d('0x68')]({'where':{'id':_0x24e3c8[_0xa46d('0x60')]['id']}})[_0xa46d('0xe')](handleEntityNotFound(_0x2f7461,null))[_0xa46d('0xe')](function(_0x243388){if(_0x243388){_0x1d6153['model']=_[_0xa46d('0x4a')](db['MailInteraction'][_0xa46d('0x45')]);_0x1d6153[_0xa46d('0x49')]=_[_0xa46d('0x4a')](_0x24e3c8['query']);_0x1d6153[_0xa46d('0x52')]=_[_0xa46d('0x4b')](_0x1d6153[_0xa46d('0x48')],_0x1d6153[_0xa46d('0x49')]);_0x4bfcdb['attributes']=_['intersection'](_0x1d6153[_0xa46d('0x48')],qs[_0xa46d('0x4d')](_0x24e3c8['query'][_0xa46d('0x4d')]));_0x4bfcdb[_0xa46d('0x4c')]=_0x4bfcdb[_0xa46d('0x4c')][_0xa46d('0x4e')]?_0x4bfcdb[_0xa46d('0x4c')]:_0x1d6153['model'];if(!_0x24e3c8[_0xa46d('0x49')][_0xa46d('0x69')](_0xa46d('0x4f'))){_0x4bfcdb[_0xa46d('0x1a')]=qs['limit'](_0x24e3c8[_0xa46d('0x49')]['limit']);_0x4bfcdb[_0xa46d('0x19')]=qs['offset'](_0x24e3c8[_0xa46d('0x49')][_0xa46d('0x19')]);}_0x4bfcdb[_0xa46d('0x70')]=qs[_0xa46d('0x50')](_0x24e3c8['query'][_0xa46d('0x50')]);_0x4bfcdb[_0xa46d('0x51')]=qs[_0xa46d('0x52')](_[_0xa46d('0x53')](_0x24e3c8[_0xa46d('0x49')],_0x1d6153[_0xa46d('0x52')]));_0x4bfcdb[_0xa46d('0x51')][_0xa46d('0x64')]=_0x243388['id'];if(_0x24e3c8['query'][_0xa46d('0x56')]){_0x4bfcdb['where']=_['merge'](_0x4bfcdb[_0xa46d('0x51')],{'$or':_[_0xa46d('0x43')](_0x4bfcdb[_0xa46d('0x4c')],function(_0x504a55){var _0x2b2610={};_0x2b2610[_0x504a55]={'$like':'%'+_0x24e3c8[_0xa46d('0x49')][_0xa46d('0x56')]+'%'};return _0x2b2610;})});}_0x4bfcdb=_['merge']({},_0x4bfcdb,_0x24e3c8[_0xa46d('0x5c')]);return db['MailInteraction'][_0xa46d('0x1c')]({'where':_0x4bfcdb['where']})[_0xa46d('0xe')](function(_0x1d66bf){_0x322b20[_0xa46d('0x1c')]=_0x1d66bf;if(_0x24e3c8[_0xa46d('0x49')][_0xa46d('0x5b')]){_0x4bfcdb['include']=[{'model':db[_0xa46d('0x88')],'as':_0xa46d('0x89'),'required':![]},{'model':db['User'],'as':'Owner','attributes':['name',_0xa46d('0x8a'),_0xa46d('0x8b')],'required':![]},{'model':db[_0xa46d('0x8c')],'as':_0xa46d('0x8d'),'attributes':['id',_0xa46d('0x25'),_0xa46d('0x8e')],'where':_0x24e3c8[_0xa46d('0x49')][_0xa46d('0x8f')]?{'id':_0x24e3c8[_0xa46d('0x49')]['tag']}:undefined,'required':_0x24e3c8[_0xa46d('0x49')][_0xa46d('0x8f')]?!![]:![]}];}return db['MailInteraction'][_0xa46d('0x58')](_0x4bfcdb);})[_0xa46d('0xe')](function(_0x10b7d0){_0x322b20[_0xa46d('0x6a')]=_0x10b7d0;return _0x322b20;});}})['then'](respondWithFilteredResult(_0x2f7461,_0x4bfcdb))['catch'](handleError(_0x2f7461,null));};exports[_0xa46d('0x90')]=function addApplications(_0x25702e,_0x511067){var _0x7d8296=_0x25702e[_0xa46d('0x60')]['id'];var _0x5d1b5a=_0x25702e[_0xa46d('0x5e')];var _0x466a95=0xc8;var _0x4cb45d=null;return db['sequelize'][_0xa46d('0x91')]({'isolationLevel':db[_0xa46d('0x92')][_0xa46d('0x93')][_0xa46d('0x94')][_0xa46d('0x95')]},function(_0x4fbc38){return db[_0xa46d('0x44')][_0xa46d('0x68')]({'where':{'id':_0x7d8296},'transaction':_0x4fbc38})['then'](function(_0x47a22a){if(_0x47a22a){return db[_0xa46d('0x96')][_0xa46d('0x20')]({'where':{'MailAccountId':_0x7d8296},'transaction':_0x4fbc38})[_0xa46d('0xe')](function(){var _0x2739fa=_[_0xa46d('0x43')](_0x5d1b5a,function(_0x58fd91){_0x58fd91['MailAccountId']=_0x7d8296;return _0x58fd91;});return db[_0xa46d('0x96')][_0xa46d('0x97')](_0x2739fa,{'transaction':_0x4fbc38});});}else{_0x466a95=0x194;_0x4cb45d=[];}});})['then'](function(){if(_0x466a95!==0x194){return db['MailApplication']['findAndCountAll']({'where':{'MailAccountId':_0x7d8296},'order':_0xa46d('0x98')})[_0xa46d('0xe')](function(_0x18e58f){_0x4cb45d=_0x18e58f;});}})[_0xa46d('0x16')](function(_0x1e919c){_0x466a95=0x1f4;logger[_0xa46d('0x12')](_0x1e919c['stack']);if(_0x1e919c['name']){delete _0x1e919c[_0xa46d('0x25')];}_0x4cb45d=_0x1e919c;})['finally'](function(){if(_0x4cb45d===null){_0x511067[_0xa46d('0x23')](_0x466a95);}else{if(_0x466a95===0x1f4){_0x511067[_0xa46d('0x17')](_0x466a95)[_0xa46d('0x26')](_0x4cb45d);}else{_0x511067[_0xa46d('0x17')](_0x466a95)[_0xa46d('0x1e')](_0x4cb45d);}}});};exports[_0xa46d('0x99')]=function(_0x4c7a51,_0x1bbbf5){var _0x18fce6={};var _0x223504={};var _0x3c85bd;var _0x422497;return db[_0xa46d('0x44')][_0xa46d('0x68')]({'where':{'id':_0x4c7a51[_0xa46d('0x60')]['id']}})[_0xa46d('0xe')](handleEntityNotFound(_0x1bbbf5,null))[_0xa46d('0xe')](function(_0xcc1f45){if(_0xcc1f45){_0x3c85bd=_0xcc1f45;_0x223504[_0xa46d('0x48')]=_[_0xa46d('0x4a')](db[_0xa46d('0x96')][_0xa46d('0x45')]);_0x223504[_0xa46d('0x49')]=_[_0xa46d('0x4a')](_0x4c7a51['query']);_0x223504[_0xa46d('0x52')]=_[_0xa46d('0x4b')](_0x223504[_0xa46d('0x48')],_0x223504['query']);_0x18fce6['attributes']=_[_0xa46d('0x4b')](_0x223504[_0xa46d('0x48')],qs[_0xa46d('0x4d')](_0x4c7a51[_0xa46d('0x49')][_0xa46d('0x4d')]));_0x18fce6[_0xa46d('0x4c')]=_0x18fce6[_0xa46d('0x4c')][_0xa46d('0x4e')]?_0x18fce6[_0xa46d('0x4c')]:_0x223504[_0xa46d('0x48')];_0x18fce6[_0xa46d('0x70')]=qs[_0xa46d('0x50')](_0x4c7a51[_0xa46d('0x49')][_0xa46d('0x50')]);_0x18fce6[_0xa46d('0x51')]=qs['filters'](_[_0xa46d('0x53')](_0x4c7a51[_0xa46d('0x49')],_0x223504[_0xa46d('0x52')]));if(_0x4c7a51[_0xa46d('0x49')][_0xa46d('0x56')]){_0x18fce6[_0xa46d('0x51')]=_['merge'](_0x18fce6[_0xa46d('0x51')],{'$or':_[_0xa46d('0x43')](_0x18fce6[_0xa46d('0x4c')],function(_0x1b1a66){var _0x39e829={};_0x39e829[_0x1b1a66]={'$like':'%'+_0x4c7a51['query']['filter']+'%'};return _0x39e829;})});}_0x18fce6=_[_0xa46d('0x54')]({},_0x18fce6,_0x4c7a51[_0xa46d('0x5c')]);return _0x3c85bd[_0xa46d('0x99')](_0x18fce6);}})[_0xa46d('0xe')](function(_0x3efef5){if(_0x3efef5){_0x422497=_0x3efef5[_0xa46d('0x4e')];if(!_0x4c7a51['query'][_0xa46d('0x69')]('nolimit')){_0x18fce6[_0xa46d('0x1a')]=qs['limit'](_0x4c7a51['query'][_0xa46d('0x1a')]);_0x18fce6[_0xa46d('0x19')]=qs[_0xa46d('0x19')](_0x4c7a51[_0xa46d('0x49')][_0xa46d('0x19')]);}return _0x3c85bd[_0xa46d('0x99')](_0x18fce6);}})[_0xa46d('0xe')](function(_0x57432b){if(_0x57432b){return _0x57432b?{'count':_0x422497,'rows':_0x57432b}:null;}})[_0xa46d('0xe')](respondWithResult(_0x1bbbf5,null))[_0xa46d('0x16')](handleError(_0x1bbbf5,null));};exports[_0xa46d('0x9a')]=function(_0x53567c,_0x12034b){var _0x4d5421={'raw':!![],'where':{}};var _0xcff435={};var _0x234913={'count':0x0,'rows':[]};return db['MailAccount'][_0xa46d('0x68')]({'where':{'id':_0x53567c[_0xa46d('0x60')]['id']}})['then'](handleEntityNotFound(_0x12034b,null))[_0xa46d('0xe')](function(_0x34c866){if(_0x34c866){_0xcff435[_0xa46d('0x48')]=_['keys'](db['MailMessage'][_0xa46d('0x45')]);_0xcff435['query']=_['keys'](_0x53567c[_0xa46d('0x49')]);_0xcff435[_0xa46d('0x52')]=_['intersection'](_0xcff435[_0xa46d('0x48')],_0xcff435[_0xa46d('0x49')]);_0x4d5421[_0xa46d('0x4c')]=_[_0xa46d('0x4b')](_0xcff435[_0xa46d('0x48')],qs['fields'](_0x53567c[_0xa46d('0x49')]['fields']));_0x4d5421['attributes']=_0x4d5421['attributes'][_0xa46d('0x4e')]?_0x4d5421[_0xa46d('0x4c')]:_0xcff435['model'];if(!_0x53567c[_0xa46d('0x49')][_0xa46d('0x69')]('nolimit')){_0x4d5421[_0xa46d('0x1a')]=qs[_0xa46d('0x1a')](_0x53567c[_0xa46d('0x49')][_0xa46d('0x1a')]);_0x4d5421['offset']=qs['offset'](_0x53567c[_0xa46d('0x49')][_0xa46d('0x19')]);}_0x4d5421[_0xa46d('0x70')]=qs['sort'](_0x53567c[_0xa46d('0x49')]['sort']);_0x4d5421['where']=qs[_0xa46d('0x52')](_[_0xa46d('0x53')](_0x53567c[_0xa46d('0x49')],_0xcff435['filters']));_0x4d5421['where'][_0xa46d('0x64')]=_0x34c866['id'];if(_0x53567c['query']['filter']){_0x4d5421[_0xa46d('0x51')]=_[_0xa46d('0x54')](_0x4d5421[_0xa46d('0x51')],{'$or':_[_0xa46d('0x43')](_0x4d5421[_0xa46d('0x4c')],function(_0x2cc6dd){var _0x429046={};_0x429046[_0x2cc6dd]={'$like':'%'+_0x53567c['query'][_0xa46d('0x56')]+'%'};return _0x429046;})});}if(_0x53567c[_0xa46d('0x49')]['$gte']){var _0x32994d=_0x53567c['query'][_0xa46d('0x9b')][_0xa46d('0x9c')](',');var _0x20a8c5={};_0x20a8c5[_0x32994d[0x0]]={'$gte':moment(_0x32994d[0x1])[_0xa46d('0x9d')](_0xa46d('0x9e'))};_0x4d5421['where']=_[_0xa46d('0x54')](_0x4d5421['where'],_0x20a8c5);}_0x4d5421=_['merge']({},_0x4d5421,_0x53567c[_0xa46d('0x5c')]);return db['MailMessage'][_0xa46d('0x1c')]({'where':_0x4d5421[_0xa46d('0x51')]})['then'](function(_0x54bbf0){_0x234913[_0xa46d('0x1c')]=_0x54bbf0;if(_0x53567c[_0xa46d('0x49')][_0xa46d('0x5b')]){_0x4d5421['include']=[{'all':!![]}];}return db['MailMessage']['findAll'](_0x4d5421);})['then'](function(_0x39fb02){if(_0x53567c['query']['inlineCss']==='true'){for(var _0x421f2b=0x0;_0x421f2b<_0x39fb02[_0xa46d('0x4e')];_0x421f2b++){_0x39fb02[_0x421f2b][_0xa46d('0x5e')]=juice(_0x39fb02[_0x421f2b]['body']);}}_0x234913[_0xa46d('0x6a')]=_0x39fb02;return _0x234913;});}})[_0xa46d('0xe')](respondWithFilteredResult(_0x12034b,_0x4d5421))[_0xa46d('0x16')](handleError(_0x12034b,null));};exports[_0xa46d('0x26')]=function(_0x3940c6,_0x15d3e0){var _0x53f65d,_0x204c5e={},_0x2622cd;if(_0x3940c6['body']['to']){_0x2622cd=_0x3940c6['body']['to'][_0xa46d('0x9c')](',')[0x0];}return db[_0xa46d('0x44')][_0xa46d('0x5d')]({'where':{'id':_0x3940c6[_0xa46d('0x60')]['id']},'include':[{'model':db[_0xa46d('0x9f')],'as':_0xa46d('0xa0'),'include':[{'model':db[_0xa46d('0x88')],'as':_0xa46d('0xa1'),'where':{'email':_0x2622cd},'limit':0x1,'order':[[_0xa46d('0xa2'),_0xa46d('0xa3')]]}]},{'model':db[_0xa46d('0x41')],'as':_0xa46d('0x3e'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':'CloudProvider','raw':!![]}]}]})[_0xa46d('0xe')](handleEntityNotFound(_0x15d3e0,null))[_0xa46d('0xe')](function(_0x2a423c){if(!_0x2a423c)return;_0x53f65d=_0x2a423c;if(!_0x2a423c[_0xa46d('0x3e')])throw new Error(_0xa46d('0xa4'));if(_[_0xa46d('0x74')](_0x3940c6[_0xa46d('0x5e')][_0xa46d('0xa5')])){_0x3940c6[_0xa46d('0x5e')][_0xa46d('0xa5')]=util[_0xa46d('0x9d')](_0xa46d('0xa6'),_0x2a423c[_0xa46d('0x25')],_0x2a423c[_0xa46d('0x72')]||_0x2a423c[_0xa46d('0x3e')][_0xa46d('0x32')]);}if(_0x3940c6[_0xa46d('0x5e')][_0xa46d('0xa7')]&&_0x3940c6['body'][_0xa46d('0xa7')]['length']){for(var _0x53fe03=0x0;_0x53fe03<_0x3940c6[_0xa46d('0x5e')][_0xa46d('0xa7')][_0xa46d('0x4e')];_0x53fe03+=0x1){_0x3940c6[_0xa46d('0x5e')][_0xa46d('0xa7')][_0x53fe03]={'filename':_0x3940c6[_0xa46d('0x5e')]['attachments'][_0x53fe03]['name'],'path':path['join'](config[_0xa46d('0xa8')],_0xa46d('0xa9'),_0x3940c6[_0xa46d('0x5e')][_0xa46d('0xa7')][_0x53fe03][_0xa46d('0xaa')])};}}var _0x3754a0=_0x2a423c[_0xa46d('0xab')]();return respondWithRpcPromise(_0xa46d('0xac'),_0xa46d('0xad'),{'account':_0x3754a0,'message':_0x3940c6['body']});})['then'](function(_0x31f7d8){if(!_0x31f7d8)return;_0x204c5e=_0x31f7d8;if(!_0x53f65d['List'])throw new Error('List\x20not\x20found');if(_0x53f65d[_0xa46d('0xa0')][_0xa46d('0xa1')][_0xa46d('0x4e')])return _0x53f65d[_0xa46d('0xa0')]['Contacts'][0x0];return db['CmContact'][_0xa46d('0x66')](_[_0xa46d('0x8')](_0x3940c6['body'],{'firstName':_0x3940c6['body']['to'],'email':_0x3940c6[_0xa46d('0x5e')]['to'],'phone':_0x3940c6[_0xa46d('0x5e')]['to'],'ListId':_0x53f65d[_0xa46d('0x73')]}));})[_0xa46d('0xe')](function(_0x4b2f21){if(!_0x4b2f21)return;var _0x3da51d={'UserId':_0x3940c6[_0xa46d('0x32')]['id'],'ContactId':_0x4b2f21['id'],'MailAccountId':_0x53f65d['id'],'inReplyTo':_0x204c5e[_0xa46d('0xae')],'to':_0x3940c6[_0xa46d('0x5e')][_0xa46d('0xa5')],'cc':_0x3940c6[_0xa46d('0x5e')]['cc'],'subject':_0x3940c6['body'][_0xa46d('0xaf')],'attach':_0x3940c6[_0xa46d('0x5e')][_0xa46d('0xb0')],'firstMsgDirection':_0xa46d('0xb1'),'lastMsgAt':moment()[_0xa46d('0x9d')](_0xa46d('0x9e')),'lastMsgDirection':'out','Messages':[_[_0xa46d('0x54')](_0x3940c6[_0xa46d('0x5e')],{'messageId':_0x204c5e[_0xa46d('0xae')],'sentAt':moment()['format'](_0xa46d('0x9e')),'read':!![],'MailAccountId':_0x53f65d['id'],'UserId':_0x3940c6[_0xa46d('0x32')]['id'],'ContactId':_0x4b2f21['id']})]};if(_0x3940c6[_0xa46d('0x5e')][_0xa46d('0xb2')]){_0x3da51d=_[_0xa46d('0x54')](_0x3da51d,_0x3940c6[_0xa46d('0x5e')][_0xa46d('0xb2')]);}return db[_0xa46d('0x85')][_0xa46d('0x66')](_0x3da51d,{'include':[{'model':db[_0xa46d('0xb3')],'as':'Messages'}]});})[_0xa46d('0xe')](respondWithResult(_0x15d3e0,null))[_0xa46d('0x16')](handleError(_0x15d3e0,null));};exports[_0xa46d('0xb4')]=function(_0x75bde7,_0x1aad5c){return db[_0xa46d('0x44')][_0xa46d('0x5d')]({'where':{'id':_0x75bde7[_0xa46d('0x60')]['id']},'include':[{'model':db[_0xa46d('0x41')],'as':_0xa46d('0x3e'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':_0xa46d('0xb5'),'raw':!![]}]}]})[_0xa46d('0xe')](handleEntityNotFound(_0x1aad5c,null))['then'](function(_0x39161b){if(!_0x39161b[_0xa46d('0x3e')])return;var _0x106099=_0x39161b['getSmtpOptions']();return respondWithRpcPromise(_0xa46d('0xb6'),_0xa46d('0xb4'),{'account':_0x106099});})[_0xa46d('0xe')](respondWithResult(_0x1aad5c,null))[_0xa46d('0x16')](handleError(_0x1aad5c,null));};exports[_0xa46d('0x20')]=function(_0x2ee73c,_0x475e47){return db[_0xa46d('0x44')][_0xa46d('0x5d')]({'where':{'id':_0x2ee73c['params']['id']}})[_0xa46d('0xe')](handleEntityNotFound(_0x475e47,null))['then'](function(_0xfb1b14){if(_0xfb1b14&&_0xfb1b14[_0xa46d('0x3b')]){throw new db[(_0xa46d('0xb7'))][(_0xa46d('0xb8'))](_0xa46d('0xb9'));}return _0xfb1b14;})['then'](removeEntity(_0x475e47,null))['catch'](handleError(_0x475e47,null));};exports[_0xa46d('0xba')]=function(_0xfd0352,_0x1ed6c3){return db[_0xa46d('0x44')][_0xa46d('0x5d')]({'where':{'id':_0xfd0352['params']['id']}})['then'](handleEntityNotFound(_0x1ed6c3,null))[_0xa46d('0xe')](function(_0x917375){if(_0x917375){return _0x917375['addAgents'](_0xfd0352['body'][_0xa46d('0x6c')],_[_0xa46d('0x86')](_0xfd0352[_0xa46d('0x5e')],[_0xa46d('0x6c'),'id'])||{})[_0xa46d('0xbb')](function(_0x284873){for(var _0x24e789=0x0;_0x24e789<_0xfd0352[_0xa46d('0x5e')][_0xa46d('0x6c')]['length'];_0x24e789+=0x1){socket[_0xa46d('0xbc')](_0xa46d('0xbd'),{'UserId':Number(_0xfd0352['body'][_0xa46d('0x6c')][_0x24e789]),'MailAccountId':Number(_0xfd0352[_0xa46d('0x60')]['id'])});}return _0x284873;});}})[_0xa46d('0xe')](respondWithResult(_0x1ed6c3,null))[_0xa46d('0x16')](handleError(_0x1ed6c3,null));};exports['removeAgents']=function(_0x29fa19,_0x19b519){return db[_0xa46d('0x44')][_0xa46d('0x5d')]({'where':{'id':_0x29fa19[_0xa46d('0x60')]['id']}})[_0xa46d('0xe')](handleEntityNotFound(_0x19b519,null))[_0xa46d('0xe')](function(_0x331b8e){if(_0x331b8e){return _0x331b8e['removeAgents'](_0x29fa19[_0xa46d('0x49')][_0xa46d('0x6c')])[_0xa46d('0xe')](function(){if(_[_0xa46d('0xbe')](_0x29fa19[_0xa46d('0x49')]['ids'])){for(var _0x20b953=0x0;_0x20b953<_0x29fa19[_0xa46d('0x49')][_0xa46d('0x6c')][_0xa46d('0x4e')];_0x20b953+=0x1){socket[_0xa46d('0xbc')](_0xa46d('0xbf'),{'UserId':Number(_0x29fa19[_0xa46d('0x49')][_0xa46d('0x6c')][_0x20b953]),'MailAccountId':Number(_0x29fa19[_0xa46d('0x60')]['id'])});}}else{socket[_0xa46d('0xbc')]('userMailAccount:remove',{'UserId':Number(_0x29fa19[_0xa46d('0x49')]['ids']),'MailAccountId':Number(_0x29fa19[_0xa46d('0x60')]['id'])});}});}})[_0xa46d('0xe')](respondWithStatusCode(_0x19b519,null))['catch'](handleError(_0x19b519,null));};exports[_0xa46d('0xc0')]=function(_0x1cdef4,_0x51f9f2){var _0xce7a18={};var _0x3b5ee4={};var _0x199e58;var _0x57b19;return db[_0xa46d('0x44')]['findOne']({'where':{'id':_0x1cdef4[_0xa46d('0x60')]['id']}})['then'](handleEntityNotFound(_0x51f9f2,null))[_0xa46d('0xe')](function(_0x13e512){if(_0x13e512){_0x199e58=_0x13e512;_0x3b5ee4['model']=_[_0xa46d('0x4a')](db['User']['rawAttributes']);_0x3b5ee4['query']=_['keys'](_0x1cdef4[_0xa46d('0x49')]);_0x3b5ee4['filters']=_['intersection'](_0x3b5ee4[_0xa46d('0x48')],_0x3b5ee4[_0xa46d('0x49')]);_0xce7a18['attributes']=_[_0xa46d('0x4b')](_0x3b5ee4[_0xa46d('0x48')],qs[_0xa46d('0x4d')](_0x1cdef4['query']['fields']));_0xce7a18[_0xa46d('0x4c')]=_0xce7a18[_0xa46d('0x4c')][_0xa46d('0x4e')]?_0xce7a18[_0xa46d('0x4c')]:_0x3b5ee4[_0xa46d('0x48')];_0xce7a18[_0xa46d('0x70')]=qs[_0xa46d('0x50')](_0x1cdef4[_0xa46d('0x49')][_0xa46d('0x50')]);_0xce7a18['where']=qs[_0xa46d('0x52')](_['pick'](_0x1cdef4[_0xa46d('0x49')],_0x3b5ee4[_0xa46d('0x52')]));if(_0x1cdef4[_0xa46d('0x49')][_0xa46d('0x56')]){_0xce7a18[_0xa46d('0x51')]=_[_0xa46d('0x54')](_0xce7a18[_0xa46d('0x51')],{'$or':_[_0xa46d('0x43')](_0xce7a18['attributes'],function(_0xbfb0a3){var _0x7788ca={};_0x7788ca[_0xbfb0a3]={'$like':'%'+_0x1cdef4[_0xa46d('0x49')]['filter']+'%'};return _0x7788ca;})});}_0xce7a18=_[_0xa46d('0x54')]({},_0xce7a18,_0x1cdef4[_0xa46d('0x5c')]);return _0x199e58['getAgents'](_0xce7a18);}})[_0xa46d('0xe')](function(_0x547e54){if(_0x547e54){_0x57b19=_0x547e54[_0xa46d('0x4e')];if(!_0x1cdef4[_0xa46d('0x49')][_0xa46d('0x69')]('nolimit')){_0xce7a18['limit']=qs['limit'](_0x1cdef4[_0xa46d('0x49')]['limit']);_0xce7a18['offset']=qs['offset'](_0x1cdef4[_0xa46d('0x49')][_0xa46d('0x19')]);}return _0x199e58[_0xa46d('0xc0')](_0xce7a18);}})[_0xa46d('0xe')](function(_0x160045){if(_0x160045){return _0x160045?{'count':_0x57b19,'rows':_0x160045}:null;}})[_0xa46d('0xe')](respondWithResult(_0x51f9f2,null))[_0xa46d('0x16')](handleError(_0x51f9f2,null));};