5bec86c97878a3d21793fb6126461c02481edf65
[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 _0x2c83=['inlineCss','true','CmList','List','Contacts','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','from','format','email','attachments','join','root','server/files/attachments','basename','getSmtpOptions','sendMail','List\x20not\x20found','CmContact','messageId','attach','out','Interaction','Messages','verifySmtp','VerifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','omit','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','User','moment','util','path','lodash','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','./mailAccount.socket','register','jayson/promise','client','request','then','MailAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','message','info','result','status','end','json','offset','limit','undefined','count','update','destroy','get','MailAccounts','UserProfileResource','sendStatus','stack','name','send','gmail','imap.gmail.com','hotmail','imap-mail.outlook.com','outlook365','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp.gmail.com','smtp-mail.outlook.com','smtp.office365.com','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','service','authentication','Imap','Smtp','index','MailServerIn','MailServerOut','Pause','mandatoryDispositionPause','rawAttributes','fieldName','type','model','map','query','keys','intersection','attributes','fields','nolimit','sort','filters','filter','merge','where','VIRTUAL','includeAll','include','findAll','params','MailAccount','length','options','find','catch','body','provider','custom','secure','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','hasOwnProperty','pick','rows','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','order','removeAnswers','key','ListId','isNil','active','description','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','addInteraction','MailInteraction','getInteractions','Contact','Owner','fullname','internal','Tag','Tags','tag','addApplications','sequelize','transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','findAndCountAll','priority','finally','getApplications','getMessages','MailMessage','$gte','split','YYYY-MM-DD\x20HH:mm:ss'];(function(_0x2f2745,_0x3bfe1e){var _0x275035=function(_0x2de9d3){while(--_0x2de9d3){_0x2f2745['push'](_0x2f2745['shift']());}};_0x275035(++_0x3bfe1e);}(_0x2c83,0xed));var _0x32c8=function(_0x2ef691,_0x1af14d){_0x2ef691=_0x2ef691-0x0;var _0x399d1a=_0x2c83[_0x2ef691];return _0x399d1a;};'use strict';var moment=require(_0x32c8('0x0'));var BPromise=require('bluebird');var util=require(_0x32c8('0x1'));var path=require(_0x32c8('0x2'));var _=require(_0x32c8('0x3'));var juice=require('juice');var Redis=require(_0x32c8('0x4'));var qs=require(_0x32c8('0x5'));var logger=require(_0x32c8('0x6'))(_0x32c8('0x7'));var config=require(_0x32c8('0x8'));var db=require(_0x32c8('0x9'))['db'];config[_0x32c8('0xa')]=_[_0x32c8('0xb')](config[_0x32c8('0xa')],{'host':_0x32c8('0xc'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x32c8('0xa')]));require(_0x32c8('0xd'))[_0x32c8('0xe')](socket);var jayson=require(_0x32c8('0xf'));var client=jayson[_0x32c8('0x10')]['http']({'port':0x232b});function respondWithRpcPromise(_0x2602b8,_0x4e32dd,_0x3d832f,_0x214134){return new BPromise(function(_0x4b37e2,_0x687d75){var _0x1e3278=_0x214134||client;return _0x1e3278[_0x32c8('0x11')](_0x2602b8,_0x3d832f)[_0x32c8('0x12')](function(_0x1e8e40){logger['info'](_0x32c8('0x13'),_0x4e32dd,_0x32c8('0x14'));logger[_0x32c8('0x15')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x4e32dd,'request\x20sent',JSON[_0x32c8('0x16')](_0x1e8e40));if(_0x1e8e40[_0x32c8('0x17')]){if(_0x1e8e40['error']['code']===0x1f4){logger[_0x32c8('0x17')](_0x32c8('0x13'),_0x4e32dd,_0x1e8e40[_0x32c8('0x17')]['message']);return _0x687d75(_0x1e8e40[_0x32c8('0x17')][_0x32c8('0x18')]);}logger[_0x32c8('0x17')]('MailAccount,\x20%s,\x20%s',_0x4e32dd,_0x1e8e40[_0x32c8('0x17')][_0x32c8('0x18')]);return _0x4b37e2(_0x1e8e40[_0x32c8('0x17')][_0x32c8('0x18')]);}else{logger[_0x32c8('0x19')](_0x32c8('0x13'),_0x4e32dd,_0x32c8('0x14'));_0x4b37e2(_0x1e8e40[_0x32c8('0x1a')][_0x32c8('0x18')]);}})['catch'](function(_0x440159){logger[_0x32c8('0x17')]('MailAccount,\x20%s,\x20%s',_0x4e32dd,_0x440159);_0x687d75(_0x440159);});});}function respondWithStatusCode(_0x2a1ce8,_0x3f5c67){_0x3f5c67=_0x3f5c67||0xcc;return function(_0x583c39){if(_0x583c39){return _0x2a1ce8['sendStatus'](_0x3f5c67);}return _0x2a1ce8[_0x32c8('0x1b')](_0x3f5c67)[_0x32c8('0x1c')]();};}function respondWithResult(_0x456941,_0x2cdea6){_0x2cdea6=_0x2cdea6||0xc8;return function(_0x4b842e){if(_0x4b842e){return _0x456941[_0x32c8('0x1b')](_0x2cdea6)[_0x32c8('0x1d')](_0x4b842e);}};}function respondWithFilteredResult(_0x1562c4,_0x5d9b23){return function(_0x4b5ced){if(_0x4b5ced){var _0x47ed8d=typeof _0x5d9b23[_0x32c8('0x1e')]==='undefined'&&typeof _0x5d9b23[_0x32c8('0x1f')]===_0x32c8('0x20');var _0x1546ac=_0x4b5ced[_0x32c8('0x21')];var _0x208682=_0x47ed8d?0x0:_0x5d9b23[_0x32c8('0x1e')];var _0x1db03c=_0x47ed8d?_0x4b5ced['count']:_0x5d9b23[_0x32c8('0x1e')]+_0x5d9b23['limit'];var _0x4e950c;if(_0x1db03c>=_0x1546ac){_0x1db03c=_0x1546ac;_0x4e950c=0xc8;}else{_0x4e950c=0xce;}_0x1562c4[_0x32c8('0x1b')](_0x4e950c);return _0x1562c4['set']('Content-Range',_0x208682+'-'+_0x1db03c+'/'+_0x1546ac)[_0x32c8('0x1d')](_0x4b5ced);}return null;};}function saveUpdates(_0x5aa9d3){return function(_0x1b5419){if(_0x1b5419){return _0x1b5419[_0x32c8('0x22')](_0x5aa9d3)[_0x32c8('0x12')](function(_0x2b3b54){return _0x2b3b54;});}return null;};}function removeEntity(_0x3fbeac){return function(_0x227b10){if(_0x227b10){return _0x227b10[_0x32c8('0x23')]()[_0x32c8('0x12')](function(){var _0x5b822a=_0x227b10[_0x32c8('0x24')]({'plain':!![]});var _0x3ff6b2=_0x32c8('0x25');return db[_0x32c8('0x26')][_0x32c8('0x23')]({'where':{'type':_0x3ff6b2,'resourceId':_0x5b822a['id']}})['then'](function(){return _0x227b10;});})[_0x32c8('0x12')](function(){_0x3fbeac[_0x32c8('0x1b')](0xcc)[_0x32c8('0x1c')]();});}};}function handleEntityNotFound(_0x37630d){return function(_0x34a365){if(!_0x34a365){_0x37630d[_0x32c8('0x27')](0x194);}return _0x34a365;};}function handleError(_0x3dda66,_0x39526a){_0x39526a=_0x39526a||0x1f4;return function(_0x55c7b4){logger['error'](_0x55c7b4[_0x32c8('0x28')]);if(_0x55c7b4[_0x32c8('0x29')]){delete _0x55c7b4[_0x32c8('0x29')];}_0x3dda66[_0x32c8('0x1b')](_0x39526a)[_0x32c8('0x2a')](_0x55c7b4);};}function getImapHost(_0x4714ba){switch(_0x4714ba){case _0x32c8('0x2b'):return _0x32c8('0x2c');case'yahoo':return'imap.mail.yahoo.com';case _0x32c8('0x2d'):return _0x32c8('0x2e');case _0x32c8('0x2f'):return _0x32c8('0x30');}throw new Error(_0x32c8('0x31'),_0x4714ba);}function getSmtpHost(_0x5c7642){switch(_0x5c7642){case'gmail':return _0x32c8('0x32');case'yahoo':return'smtp.mail.yahoo.com';case _0x32c8('0x2d'):return _0x32c8('0x33');case _0x32c8('0x2f'):return _0x32c8('0x34');}throw new Error(_0x32c8('0x31'),_0x5c7642);}function getAuthenticationOptions(_0x284389,_0x4693b8){var _0x556550={};var _0x231800={};if(_0x284389){_0x556550[_0x32c8('0x35')]=_0x231800[_0x32c8('0x35')]=_0x4693b8[_0x32c8('0x36')];_0x556550[_0x32c8('0x37')]=_0x231800[_0x32c8('0x38')]=_0x4693b8['password'];if(_0x4693b8[_0x32c8('0x39')]){_0x556550[_0x32c8('0x39')]=_0x231800[_0x32c8('0x39')]=!![];_0x556550[_0x32c8('0x3a')]=_0x231800['CloudProviderId']=_0x4693b8[_0x32c8('0x3a')];_0x556550[_0x32c8('0x37')]=_0x231800[_0x32c8('0x38')]=null;}else{_0x556550[_0x32c8('0x3a')]=_0x231800[_0x32c8('0x3a')]=null;}_0x556550[_0x32c8('0x3b')]=getImapHost(_0x284389);_0x556550[_0x32c8('0x3c')]=0x3e1;_0x231800[_0x32c8('0x3b')]=getSmtpHost(_0x284389);_0x231800[_0x32c8('0x3c')]=0x24b;_0x231800['secure']=![];_0x556550[_0x32c8('0x3d')]=_0x231800[_0x32c8('0x3d')]=null;}else{if(_0x4693b8[_0x32c8('0x3e')]){_0x556550[_0x32c8('0x35')]=_0x231800[_0x32c8('0x35')]=_0x4693b8['username'];_0x556550['password']=_0x231800[_0x32c8('0x38')]=_0x4693b8[_0x32c8('0x37')];}else{_0x556550[_0x32c8('0x3e')]=_0x231800[_0x32c8('0x3e')]=![];_0x556550[_0x32c8('0x35')]=_0x231800[_0x32c8('0x35')]=null;_0x556550[_0x32c8('0x37')]=_0x231800[_0x32c8('0x38')]=null;}_0x556550[_0x32c8('0x3b')]=_0x4693b8[_0x32c8('0x3f')][_0x32c8('0x3b')];_0x556550[_0x32c8('0x3c')]=_0x4693b8['Imap'][_0x32c8('0x3c')];_0x231800['host']=_0x4693b8['Smtp']['host'];_0x231800[_0x32c8('0x3c')]=_0x4693b8[_0x32c8('0x40')][_0x32c8('0x3c')];}return{'Imap':_0x556550,'Smtp':_0x231800};}exports[_0x32c8('0x41')]=function(_0xa9a7c8,_0x93d2e4){var _0x364082={'include':[{'model':db[_0x32c8('0x42')],'as':_0x32c8('0x3f')},{'model':db[_0x32c8('0x43')],'as':_0x32c8('0x40')},{'model':db[_0x32c8('0x44')],'as':_0x32c8('0x45')}]},_0x3c24cf={},_0x1e948b={'count':0x0,'rows':[]};var _0x519feb=_['map'](db['MailAccount'][_0x32c8('0x46')],function(_0xcd40){return{'name':_0xcd40[_0x32c8('0x47')],'type':_0xcd40[_0x32c8('0x48')]['key']};});_0x3c24cf[_0x32c8('0x49')]=_[_0x32c8('0x4a')](_0x519feb,_0x32c8('0x29'));_0x3c24cf[_0x32c8('0x4b')]=_[_0x32c8('0x4c')](_0xa9a7c8[_0x32c8('0x4b')]);_0x3c24cf['filters']=_[_0x32c8('0x4d')](_0x3c24cf['model'],_0x3c24cf[_0x32c8('0x4b')]);_0x364082[_0x32c8('0x4e')]=_[_0x32c8('0x4d')](_0x3c24cf[_0x32c8('0x49')],qs[_0x32c8('0x4f')](_0xa9a7c8[_0x32c8('0x4b')]['fields']));_0x364082[_0x32c8('0x4e')]=_0x364082[_0x32c8('0x4e')]['length']?_0x364082[_0x32c8('0x4e')]:_0x3c24cf[_0x32c8('0x49')];if(!_0xa9a7c8[_0x32c8('0x4b')]['hasOwnProperty'](_0x32c8('0x50'))){_0x364082['limit']=qs[_0x32c8('0x1f')](_0xa9a7c8[_0x32c8('0x4b')][_0x32c8('0x1f')]);_0x364082['offset']=qs[_0x32c8('0x1e')](_0xa9a7c8['query']['offset']);}_0x364082['order']=qs[_0x32c8('0x51')](_0xa9a7c8[_0x32c8('0x4b')][_0x32c8('0x51')]);_0x364082['where']=qs[_0x32c8('0x52')](_['pick'](_0xa9a7c8[_0x32c8('0x4b')],_0x3c24cf[_0x32c8('0x52')]),_0x519feb);if(_0xa9a7c8['query'][_0x32c8('0x53')]){_0x364082['where']=_[_0x32c8('0x54')](_0x364082[_0x32c8('0x55')],{'$or':_[_0x32c8('0x4a')](_0x519feb,function(_0x162d40){if(_0x162d40[_0x32c8('0x48')]!==_0x32c8('0x56')){var _0x4ef655={};_0x4ef655[_0x162d40[_0x32c8('0x29')]]={'$like':'%'+_0xa9a7c8['query'][_0x32c8('0x53')]+'%'};return _0x4ef655;}})});}_0x364082=_['merge']({},_0x364082,_0xa9a7c8['options']);var _0x19d24c={'where':_0x364082[_0x32c8('0x55')]};return db['MailAccount'][_0x32c8('0x21')](_0x19d24c)[_0x32c8('0x12')](function(_0x2f6b4e){_0x1e948b['count']=_0x2f6b4e;if(_0xa9a7c8[_0x32c8('0x4b')][_0x32c8('0x57')]){_0x364082[_0x32c8('0x58')]=[{'all':!![]}];}return db['MailAccount'][_0x32c8('0x59')](_0x364082);})['then'](function(_0x4d01ba){_0x1e948b['rows']=_0x4d01ba;return _0x1e948b;})[_0x32c8('0x12')](respondWithFilteredResult(_0x93d2e4,_0x364082))['catch'](handleError(_0x93d2e4,null));};exports['show']=function(_0xdd3732,_0x370ada){var _0x3bec08={'raw':![],'where':{'id':_0xdd3732[_0x32c8('0x5a')]['id']},'include':[{'model':db[_0x32c8('0x42')],'as':_0x32c8('0x3f')},{'model':db['MailServerOut'],'as':_0x32c8('0x40')},{'model':db[_0x32c8('0x44')],'as':_0x32c8('0x45')}]},_0x16d2fb={};_0x16d2fb[_0x32c8('0x49')]=_[_0x32c8('0x4c')](db[_0x32c8('0x5b')][_0x32c8('0x46')]);_0x16d2fb[_0x32c8('0x4b')]=_[_0x32c8('0x4c')](_0xdd3732[_0x32c8('0x4b')]);_0x16d2fb[_0x32c8('0x52')]=_[_0x32c8('0x4d')](_0x16d2fb[_0x32c8('0x49')],_0x16d2fb[_0x32c8('0x4b')]);_0x3bec08[_0x32c8('0x4e')]=_[_0x32c8('0x4d')](_0x16d2fb[_0x32c8('0x49')],qs[_0x32c8('0x4f')](_0xdd3732[_0x32c8('0x4b')]['fields']));_0x3bec08[_0x32c8('0x4e')]=_0x3bec08[_0x32c8('0x4e')][_0x32c8('0x5c')]?_0x3bec08[_0x32c8('0x4e')]:_0x16d2fb[_0x32c8('0x49')];if(_0xdd3732[_0x32c8('0x4b')]['includeAll']){_0x3bec08[_0x32c8('0x58')]=[{'all':!![]}];}_0x3bec08=_[_0x32c8('0x54')]({},_0x3bec08,_0xdd3732[_0x32c8('0x5d')]);return db[_0x32c8('0x5b')][_0x32c8('0x5e')](_0x3bec08)['then'](handleEntityNotFound(_0x370ada,null))[_0x32c8('0x12')](respondWithResult(_0x370ada,null))[_0x32c8('0x5f')](handleError(_0x370ada,null));};exports[_0x32c8('0x22')]=function(_0x1438fa,_0x5b0f4a){if(_0x1438fa[_0x32c8('0x60')]['id']){delete _0x1438fa['body']['id'];}var _0xd46aa5=_0x1438fa[_0x32c8('0x60')][_0x32c8('0x61')]===_0x32c8('0x62')?null:_0x1438fa[_0x32c8('0x60')]['provider'];var _0x4bebb8=_0x1438fa[_0x32c8('0x60')][_0x32c8('0x3f')]||{};var _0x21a003=_0x1438fa['body'][_0x32c8('0x40')]||{};if(_0xd46aa5){_0x4bebb8['host']=getImapHost(_0xd46aa5);_0x4bebb8[_0x32c8('0x3c')]=0x3e1;_0x21a003[_0x32c8('0x3b')]=getSmtpHost(_0xd46aa5);_0x21a003[_0x32c8('0x3c')]=0x24b;_0x21a003[_0x32c8('0x63')]=![];}if(_0x21a003[_0x32c8('0x39')]){_0x21a003[_0x32c8('0x63')]=![];}else{_0x21a003['CloudProviderId']=null;}if(!_0x4bebb8[_0x32c8('0x39')])_0x4bebb8[_0x32c8('0x3a')]=null;_0x1438fa[_0x32c8('0x60')]['Imap']=_0x4bebb8;_0x1438fa[_0x32c8('0x60')][_0x32c8('0x40')]=_0x21a003;return db[_0x32c8('0x5b')]['find']({'where':{'id':_0x1438fa[_0x32c8('0x5a')]['id']},'include':[{'model':db[_0x32c8('0x42')],'as':_0x32c8('0x3f')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db['Pause'],'as':_0x32c8('0x45')}]})['then'](handleEntityNotFound(_0x5b0f4a,null))[_0x32c8('0x12')](function(_0x239b6f){if(!_0x239b6f)throw new Error('Mail\x20Account\x20not\x20found');if(_0x239b6f['service'])delete _0x1438fa['body'][_0x32c8('0x3f')];return _0x239b6f;})[_0x32c8('0x12')](saveUpdates(_0x1438fa[_0x32c8('0x60')],null))['then'](function(_0x229555){if(!_0x1438fa['body'][_0x32c8('0x3f')])return _0x229555;return db['MailServerIn']['update'](_0x1438fa['body'][_0x32c8('0x3f')],{'where':{'MailAccountId':_0x229555['id']}})['then'](function(){return _0x229555;});})['then'](function(_0x41c4c7){if(!_0x1438fa[_0x32c8('0x60')][_0x32c8('0x40')])return _0x41c4c7;return db['MailServerOut'][_0x32c8('0x22')](_0x1438fa[_0x32c8('0x60')][_0x32c8('0x40')],{'where':{'MailAccountId':_0x41c4c7['id']}})[_0x32c8('0x12')](function(){return _0x41c4c7;});})[_0x32c8('0x12')](respondWithResult(_0x5b0f4a,null))[_0x32c8('0x5f')](handleError(_0x5b0f4a,null));};exports['describe']=function(_0x2400bc,_0xf84235){return db[_0x32c8('0x5b')]['describe']()[_0x32c8('0x12')](respondWithResult(_0xf84235,null))[_0x32c8('0x5f')](handleError(_0xf84235,null));};exports[_0x32c8('0x64')]=function(_0x4ed8bd,_0x476606){if(_0x4ed8bd[_0x32c8('0x60')]['id']){delete _0x4ed8bd[_0x32c8('0x60')]['id'];}return db[_0x32c8('0x5b')][_0x32c8('0x5e')]({'where':{'id':_0x4ed8bd[_0x32c8('0x5a')]['id']}})[_0x32c8('0x12')](handleEntityNotFound(_0x476606,null))[_0x32c8('0x12')](function(_0xf6d69){if(_0xf6d69){_0x4ed8bd[_0x32c8('0x60')][_0x32c8('0x65')]=_0xf6d69['id'];return db[_0x32c8('0x66')][_0x32c8('0x67')](_0x4ed8bd[_0x32c8('0x60')]);}})['then'](respondWithResult(_0x476606,null))[_0x32c8('0x5f')](handleError(_0x476606,null));};exports[_0x32c8('0x68')]=function(_0x24ab1c,_0x138ba7){var _0xdc42cf={'raw':![],'where':{}};var _0x459435={};var _0x1a16ec={'count':0x0,'rows':[]};return db[_0x32c8('0x5b')][_0x32c8('0x69')]({'where':{'id':_0x24ab1c['params']['id']}})[_0x32c8('0x12')](handleEntityNotFound(_0x138ba7,null))['then'](function(_0x3857a0){if(_0x3857a0){_0x459435[_0x32c8('0x49')]=_[_0x32c8('0x4c')](db[_0x32c8('0x66')]['rawAttributes']);_0x459435[_0x32c8('0x4b')]=_[_0x32c8('0x4c')](_0x24ab1c['query']);_0x459435['filters']=_['intersection'](_0x459435[_0x32c8('0x49')],_0x459435[_0x32c8('0x4b')]);_0xdc42cf['attributes']=_['intersection'](_0x459435[_0x32c8('0x49')],qs[_0x32c8('0x4f')](_0x24ab1c[_0x32c8('0x4b')][_0x32c8('0x4f')]));_0xdc42cf['attributes']=_0xdc42cf[_0x32c8('0x4e')]['length']?_0xdc42cf[_0x32c8('0x4e')]:_0x459435[_0x32c8('0x49')];if(!_0x24ab1c[_0x32c8('0x4b')][_0x32c8('0x6a')]('nolimit')){_0xdc42cf[_0x32c8('0x1f')]=qs[_0x32c8('0x1f')](_0x24ab1c[_0x32c8('0x4b')][_0x32c8('0x1f')]);_0xdc42cf[_0x32c8('0x1e')]=qs['offset'](_0x24ab1c['query'][_0x32c8('0x1e')]);}_0xdc42cf['order']=qs['sort'](_0x24ab1c[_0x32c8('0x4b')][_0x32c8('0x51')]);_0xdc42cf[_0x32c8('0x55')]=qs[_0x32c8('0x52')](_[_0x32c8('0x6b')](_0x24ab1c[_0x32c8('0x4b')],_0x459435['filters']));_0xdc42cf[_0x32c8('0x55')][_0x32c8('0x65')]=_0x3857a0['id'];if(_0x24ab1c[_0x32c8('0x4b')]['filter']){_0xdc42cf[_0x32c8('0x55')]=_[_0x32c8('0x54')](_0xdc42cf[_0x32c8('0x55')],{'$or':_[_0x32c8('0x4a')](_0xdc42cf[_0x32c8('0x4e')],function(_0x1e2154){var _0x557c65={};_0x557c65[_0x1e2154]={'$like':'%'+_0x24ab1c[_0x32c8('0x4b')][_0x32c8('0x53')]+'%'};return _0x557c65;})});}_0xdc42cf=_[_0x32c8('0x54')]({},_0xdc42cf,_0x24ab1c[_0x32c8('0x5d')]);return db[_0x32c8('0x66')][_0x32c8('0x21')]({'where':_0xdc42cf[_0x32c8('0x55')]})[_0x32c8('0x12')](function(_0x4519aa){_0x1a16ec[_0x32c8('0x21')]=_0x4519aa;if(_0x24ab1c[_0x32c8('0x4b')]['includeAll']){_0xdc42cf[_0x32c8('0x58')]=[{'all':!![]}];}return db[_0x32c8('0x66')][_0x32c8('0x59')](_0xdc42cf);})[_0x32c8('0x12')](function(_0x5287ae){_0x1a16ec[_0x32c8('0x6c')]=_0x5287ae;return _0x1a16ec;});}})[_0x32c8('0x12')](respondWithFilteredResult(_0x138ba7,_0xdc42cf))[_0x32c8('0x5f')](handleError(_0x138ba7,null));};exports[_0x32c8('0x6d')]=function(_0x4fbabd,_0x38a520){return db[_0x32c8('0x5b')][_0x32c8('0x5e')]({'where':{'id':_0x4fbabd['params']['id']}})[_0x32c8('0x12')](handleEntityNotFound(_0x38a520,null))[_0x32c8('0x12')](function(_0x491be2){if(_0x491be2){return _0x491be2[_0x32c8('0x6d')](_0x4fbabd[_0x32c8('0x4b')][_0x32c8('0x6e')]);}})[_0x32c8('0x12')](respondWithStatusCode(_0x38a520,null))[_0x32c8('0x5f')](handleError(_0x38a520,null));};exports[_0x32c8('0x6f')]=function(_0x559790,_0x30314a){if(_0x559790[_0x32c8('0x60')]['id']){delete _0x559790[_0x32c8('0x60')]['id'];}return db[_0x32c8('0x5b')]['find']({'where':{'id':_0x559790[_0x32c8('0x5a')]['id']}})['then'](handleEntityNotFound(_0x30314a,null))[_0x32c8('0x12')](function(_0x27fea3){if(_0x27fea3){_0x559790[_0x32c8('0x60')]['MailAccountId']=_0x27fea3['id'];return db[_0x32c8('0x70')][_0x32c8('0x67')](_0x559790[_0x32c8('0x60')]);}})['then'](respondWithResult(_0x30314a,null))['catch'](handleError(_0x30314a,null));};exports[_0x32c8('0x71')]=function(_0xcc6f6b,_0x1a4ec6){var _0x3ac190={'raw':![],'where':{}};var _0x54bf63={};var _0x4764b3={'count':0x0,'rows':[]};return db[_0x32c8('0x5b')][_0x32c8('0x69')]({'where':{'id':_0xcc6f6b[_0x32c8('0x5a')]['id']}})['then'](handleEntityNotFound(_0x1a4ec6,null))[_0x32c8('0x12')](function(_0x11e599){if(_0x11e599){_0x54bf63[_0x32c8('0x49')]=_['keys'](db[_0x32c8('0x70')][_0x32c8('0x46')]);_0x54bf63[_0x32c8('0x4b')]=_[_0x32c8('0x4c')](_0xcc6f6b[_0x32c8('0x4b')]);_0x54bf63[_0x32c8('0x52')]=_[_0x32c8('0x4d')](_0x54bf63[_0x32c8('0x49')],_0x54bf63[_0x32c8('0x4b')]);_0x3ac190['attributes']=_['intersection'](_0x54bf63[_0x32c8('0x49')],qs[_0x32c8('0x4f')](_0xcc6f6b[_0x32c8('0x4b')][_0x32c8('0x4f')]));_0x3ac190[_0x32c8('0x4e')]=_0x3ac190['attributes'][_0x32c8('0x5c')]?_0x3ac190[_0x32c8('0x4e')]:_0x54bf63['model'];if(!_0xcc6f6b[_0x32c8('0x4b')][_0x32c8('0x6a')](_0x32c8('0x50'))){_0x3ac190[_0x32c8('0x1f')]=qs[_0x32c8('0x1f')](_0xcc6f6b[_0x32c8('0x4b')][_0x32c8('0x1f')]);_0x3ac190['offset']=qs['offset'](_0xcc6f6b[_0x32c8('0x4b')]['offset']);}_0x3ac190[_0x32c8('0x72')]=qs[_0x32c8('0x51')](_0xcc6f6b['query']['sort']);_0x3ac190[_0x32c8('0x55')]=qs[_0x32c8('0x52')](_[_0x32c8('0x6b')](_0xcc6f6b[_0x32c8('0x4b')],_0x54bf63['filters']));_0x3ac190['where']['MailAccountId']=_0x11e599['id'];if(_0xcc6f6b[_0x32c8('0x4b')][_0x32c8('0x53')]){_0x3ac190[_0x32c8('0x55')]=_[_0x32c8('0x54')](_0x3ac190[_0x32c8('0x55')],{'$or':_[_0x32c8('0x4a')](_0x3ac190[_0x32c8('0x4e')],function(_0x40ffe4){var _0x74b250={};_0x74b250[_0x40ffe4]={'$like':'%'+_0xcc6f6b[_0x32c8('0x4b')][_0x32c8('0x53')]+'%'};return _0x74b250;})});}_0x3ac190=_[_0x32c8('0x54')]({},_0x3ac190,_0xcc6f6b[_0x32c8('0x5d')]);return db['CannedAnswer']['count']({'where':_0x3ac190['where']})['then'](function(_0xf52da){_0x4764b3['count']=_0xf52da;if(_0xcc6f6b[_0x32c8('0x4b')][_0x32c8('0x57')]){_0x3ac190[_0x32c8('0x58')]=[{'all':!![]}];}return db[_0x32c8('0x70')]['findAll'](_0x3ac190);})[_0x32c8('0x12')](function(_0x2f39d6){_0x4764b3[_0x32c8('0x6c')]=_0x2f39d6;return _0x4764b3;});}})[_0x32c8('0x12')](respondWithFilteredResult(_0x1a4ec6,_0x3ac190))[_0x32c8('0x5f')](handleError(_0x1a4ec6,null));};exports[_0x32c8('0x73')]=function(_0x5ee55c,_0x98853b){return db[_0x32c8('0x5b')][_0x32c8('0x5e')]({'where':{'id':_0x5ee55c[_0x32c8('0x5a')]['id']}})[_0x32c8('0x12')](handleEntityNotFound(_0x98853b,null))[_0x32c8('0x12')](function(_0x2f370a){if(_0x2f370a){return _0x2f370a[_0x32c8('0x73')](_0x5ee55c['query'][_0x32c8('0x6e')]);}})[_0x32c8('0x12')](respondWithStatusCode(_0x98853b,null))['catch'](handleError(_0x98853b,null));};exports['create']=function(_0x5ead58,_0x3a88ec){var _0x3a2ecc={'name':_0x5ead58[_0x32c8('0x60')][_0x32c8('0x29')],'key':_0x5ead58[_0x32c8('0x60')][_0x32c8('0x74')],'provider':_0x5ead58[_0x32c8('0x60')][_0x32c8('0x61')]===_0x32c8('0x62')?null:_0x5ead58[_0x32c8('0x60')][_0x32c8('0x61')],'email':_0x5ead58[_0x32c8('0x60')]['email'],'ListId':_0x5ead58[_0x32c8('0x60')][_0x32c8('0x75')],'active':!_[_0x32c8('0x76')](_0x5ead58[_0x32c8('0x60')][_0x32c8('0x77')])?_0x5ead58[_0x32c8('0x60')]['active']:!![],'description':_0x5ead58[_0x32c8('0x60')][_0x32c8('0x78')]||null};var _0x388e12=getAuthenticationOptions(_0x3a2ecc['provider'],_0x5ead58[_0x32c8('0x60')]);_0x3a2ecc[_0x32c8('0x3f')]=_0x388e12[_0x32c8('0x3f')];_0x3a2ecc[_0x32c8('0x40')]=_0x388e12[_0x32c8('0x40')];return db[_0x32c8('0x5b')][_0x32c8('0x67')](_0x3a2ecc,{'include':[{'model':db[_0x32c8('0x43')],'as':_0x32c8('0x40')},{'model':db[_0x32c8('0x42')],'as':_0x32c8('0x3f')}]})[_0x32c8('0x12')](function(_0x3d8820){var _0x421da6=_0x5ead58[_0x32c8('0x35')][_0x32c8('0x24')]({'plain':!![]});if(!_0x421da6)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x421da6[_0x32c8('0x79')]===_0x32c8('0x35')){var _0x247324=_0x3d8820[_0x32c8('0x24')]({'plain':!![]});return db[_0x32c8('0x7a')][_0x32c8('0x5e')]({'where':{'name':'MailAccounts','userProfileId':_0x421da6[_0x32c8('0x7b')]},'raw':!![]})[_0x32c8('0x12')](function(_0x25ec81){if(_0x25ec81&&_0x25ec81['autoAssociation']===0x0){return db[_0x32c8('0x26')]['create']({'name':_0x247324['name'],'resourceId':_0x247324['id'],'type':_0x25ec81[_0x32c8('0x29')],'sectionId':_0x25ec81['id']},{})[_0x32c8('0x12')](function(){return _0x3d8820;});}else{return _0x3d8820;}})['catch'](function(_0x21a22b){logger[_0x32c8('0x17')](_0x32c8('0x7c'),_0x21a22b);throw _0x21a22b;});}return _0x3d8820;})[_0x32c8('0x12')](respondWithResult(_0x3a88ec,0xc9))[_0x32c8('0x5f')](handleError(_0x3a88ec,null));};exports[_0x32c8('0x7d')]=function(_0x17d4b2,_0x2defa0){return db[_0x32c8('0x5b')][_0x32c8('0x69')]({'where':{'id':_0x17d4b2['params']['id']}})[_0x32c8('0x12')](handleEntityNotFound(_0x2defa0,null))[_0x32c8('0x12')](function(_0x545460){if(_0x545460){return _0x545460[_0x32c8('0x7d')]();}return null;})['then'](respondWithResult(_0x2defa0,null))['catch'](handleError(_0x2defa0,null));};exports[_0x32c8('0x7e')]=function(_0x3320f7,_0x4eda93){if(_0x3320f7[_0x32c8('0x60')]['id']){delete _0x3320f7[_0x32c8('0x60')]['id'];}return db['MailAccount'][_0x32c8('0x5e')]({'where':{'id':_0x3320f7[_0x32c8('0x5a')]['id']}})[_0x32c8('0x12')](handleEntityNotFound(_0x4eda93,null))[_0x32c8('0x12')](function(_0x463aac){if(_0x463aac){_0x3320f7['body'][_0x32c8('0x65')]=_0x463aac['id'];return db[_0x32c8('0x42')][_0x32c8('0x67')](_0x3320f7['body']);}})[_0x32c8('0x12')](respondWithResult(_0x4eda93,null))[_0x32c8('0x5f')](handleError(_0x4eda93,null));};exports[_0x32c8('0x7f')]=function(_0xaf348,_0x25ae60){return db['MailAccount'][_0x32c8('0x69')]({'where':{'id':_0xaf348[_0x32c8('0x5a')]['id']}})[_0x32c8('0x12')](handleEntityNotFound(_0x25ae60,null))[_0x32c8('0x12')](function(_0x5c67b0){if(_0x5c67b0){return _0x5c67b0[_0x32c8('0x80')](null);}return null;})['then'](respondWithStatusCode(_0x25ae60,null))['catch'](handleError(_0x25ae60,null));};exports[_0x32c8('0x81')]=function(_0x5238d0,_0x2547b7){return db[_0x32c8('0x5b')][_0x32c8('0x69')]({'where':{'id':_0x5238d0['params']['id']}})[_0x32c8('0x12')](handleEntityNotFound(_0x2547b7,null))['then'](function(_0x2b92bd){if(_0x2b92bd){return _0x2b92bd[_0x32c8('0x81')]();}return null;})[_0x32c8('0x12')](respondWithResult(_0x2547b7,null))['catch'](handleError(_0x2547b7,null));};exports[_0x32c8('0x82')]=function(_0x3155c3,_0x447502){if(_0x3155c3['body']['id']){delete _0x3155c3[_0x32c8('0x60')]['id'];}return db['MailAccount'][_0x32c8('0x5e')]({'where':{'id':_0x3155c3['params']['id']}})['then'](handleEntityNotFound(_0x447502,null))[_0x32c8('0x12')](function(_0x2f6ab){if(_0x2f6ab){_0x3155c3[_0x32c8('0x60')][_0x32c8('0x65')]=_0x2f6ab['id'];return db[_0x32c8('0x43')][_0x32c8('0x67')](_0x3155c3[_0x32c8('0x60')]);}})[_0x32c8('0x12')](respondWithResult(_0x447502,null))[_0x32c8('0x5f')](handleError(_0x447502,null));};exports[_0x32c8('0x83')]=function(_0x1ef48f,_0x256b45){return db['MailAccount'][_0x32c8('0x69')]({'where':{'id':_0x1ef48f['params']['id']}})['then'](handleEntityNotFound(_0x256b45,null))[_0x32c8('0x12')](function(_0x504f95){if(_0x504f95){return _0x504f95['setSmtp'](null);}return null;})[_0x32c8('0x12')](respondWithStatusCode(_0x256b45,null))[_0x32c8('0x5f')](handleError(_0x256b45,null));};exports[_0x32c8('0x84')]=function(_0x51b24d,_0x2a49c5){return db[_0x32c8('0x85')][_0x32c8('0x5e')]({'where':{'id':_0x51b24d['params']['id']}})['then'](handleEntityNotFound(_0x2a49c5,null))['then'](function(_0x23df82){if(_0x23df82){return _0x23df82[_0x32c8('0x84')](_0x51b24d[_0x32c8('0x60')][_0x32c8('0x6e')],_['omit'](_0x51b24d[_0x32c8('0x60')],[_0x32c8('0x6e'),'id'])||{});}})['then'](respondWithResult(_0x2a49c5,null))[_0x32c8('0x5f')](handleError(_0x2a49c5,null));};exports[_0x32c8('0x86')]=function(_0x1e2188,_0x3edb75){var _0xc445fa={'raw':![],'where':{}};var _0x5a4e97={};var _0x490073={'count':0x0,'rows':[]};return db[_0x32c8('0x5b')]['findOne']({'where':{'id':_0x1e2188[_0x32c8('0x5a')]['id']}})['then'](handleEntityNotFound(_0x3edb75,null))[_0x32c8('0x12')](function(_0x1e3349){if(_0x1e3349){_0x5a4e97['model']=_[_0x32c8('0x4c')](db['MailInteraction'][_0x32c8('0x46')]);_0x5a4e97['query']=_[_0x32c8('0x4c')](_0x1e2188[_0x32c8('0x4b')]);_0x5a4e97[_0x32c8('0x52')]=_[_0x32c8('0x4d')](_0x5a4e97[_0x32c8('0x49')],_0x5a4e97[_0x32c8('0x4b')]);_0xc445fa['attributes']=_[_0x32c8('0x4d')](_0x5a4e97[_0x32c8('0x49')],qs[_0x32c8('0x4f')](_0x1e2188[_0x32c8('0x4b')][_0x32c8('0x4f')]));_0xc445fa[_0x32c8('0x4e')]=_0xc445fa[_0x32c8('0x4e')]['length']?_0xc445fa[_0x32c8('0x4e')]:_0x5a4e97['model'];if(!_0x1e2188[_0x32c8('0x4b')]['hasOwnProperty']('nolimit')){_0xc445fa['limit']=qs[_0x32c8('0x1f')](_0x1e2188[_0x32c8('0x4b')][_0x32c8('0x1f')]);_0xc445fa[_0x32c8('0x1e')]=qs[_0x32c8('0x1e')](_0x1e2188[_0x32c8('0x4b')][_0x32c8('0x1e')]);}_0xc445fa[_0x32c8('0x72')]=qs[_0x32c8('0x51')](_0x1e2188[_0x32c8('0x4b')]['sort']);_0xc445fa[_0x32c8('0x55')]=qs['filters'](_[_0x32c8('0x6b')](_0x1e2188['query'],_0x5a4e97['filters']));_0xc445fa[_0x32c8('0x55')]['MailAccountId']=_0x1e3349['id'];if(_0x1e2188[_0x32c8('0x4b')][_0x32c8('0x53')]){_0xc445fa[_0x32c8('0x55')]=_[_0x32c8('0x54')](_0xc445fa[_0x32c8('0x55')],{'$or':_[_0x32c8('0x4a')](_0xc445fa['attributes'],function(_0x2f2061){var _0x153b3b={};_0x153b3b[_0x2f2061]={'$like':'%'+_0x1e2188[_0x32c8('0x4b')][_0x32c8('0x53')]+'%'};return _0x153b3b;})});}_0xc445fa=_[_0x32c8('0x54')]({},_0xc445fa,_0x1e2188[_0x32c8('0x5d')]);return db[_0x32c8('0x85')][_0x32c8('0x21')]({'where':_0xc445fa[_0x32c8('0x55')]})[_0x32c8('0x12')](function(_0x424fa9){_0x490073['count']=_0x424fa9;if(_0x1e2188['query'][_0x32c8('0x57')]){_0xc445fa[_0x32c8('0x58')]=[{'model':db['CmContact'],'as':_0x32c8('0x87'),'required':![]},{'model':db['User'],'as':_0x32c8('0x88'),'attributes':['name',_0x32c8('0x89'),_0x32c8('0x8a')],'required':![]},{'model':db[_0x32c8('0x8b')],'as':_0x32c8('0x8c'),'attributes':['id',_0x32c8('0x29'),'color'],'where':_0x1e2188[_0x32c8('0x4b')][_0x32c8('0x8d')]?{'id':_0x1e2188['query'][_0x32c8('0x8d')]}:undefined,'required':_0x1e2188['query'][_0x32c8('0x8d')]?!![]:![]}];}return db[_0x32c8('0x85')][_0x32c8('0x59')](_0xc445fa);})[_0x32c8('0x12')](function(_0x3ac248){_0x490073[_0x32c8('0x6c')]=_0x3ac248;return _0x490073;});}})[_0x32c8('0x12')](respondWithFilteredResult(_0x3edb75,_0xc445fa))[_0x32c8('0x5f')](handleError(_0x3edb75,null));};exports[_0x32c8('0x8e')]=function addApplications(_0x539398,_0x223ccf){var _0x50f837=_0x539398[_0x32c8('0x5a')]['id'];var _0x20b482=_0x539398['body'];var _0x589d17=0xc8;var _0x167631=null;return db[_0x32c8('0x8f')][_0x32c8('0x90')]({'isolationLevel':db['sequelize']['Transaction'][_0x32c8('0x91')][_0x32c8('0x92')]},function(_0x31244d){return db['MailAccount']['findOne']({'where':{'id':_0x50f837},'transaction':_0x31244d})[_0x32c8('0x12')](function(_0x5be410){if(_0x5be410){return db['MailApplication'][_0x32c8('0x23')]({'where':{'MailAccountId':_0x50f837},'transaction':_0x31244d})[_0x32c8('0x12')](function(){var _0x3fc731=_['map'](_0x20b482,function(_0x3ba00f){_0x3ba00f[_0x32c8('0x65')]=_0x50f837;return _0x3ba00f;});return db[_0x32c8('0x93')]['bulkCreate'](_0x3fc731,{'transaction':_0x31244d});});}else{_0x589d17=0x194;_0x167631=[];}});})[_0x32c8('0x12')](function(){if(_0x589d17!==0x194){return db[_0x32c8('0x93')][_0x32c8('0x94')]({'where':{'MailAccountId':_0x50f837},'order':_0x32c8('0x95')})[_0x32c8('0x12')](function(_0x1c46e6){_0x167631=_0x1c46e6;});}})[_0x32c8('0x5f')](function(_0x23ff5d){_0x589d17=0x1f4;logger[_0x32c8('0x17')](_0x23ff5d[_0x32c8('0x28')]);if(_0x23ff5d['name']){delete _0x23ff5d['name'];}_0x167631=_0x23ff5d;})[_0x32c8('0x96')](function(){if(_0x167631===null){_0x223ccf['sendStatus'](_0x589d17);}else{if(_0x589d17===0x1f4){_0x223ccf[_0x32c8('0x1b')](_0x589d17)[_0x32c8('0x2a')](_0x167631);}else{_0x223ccf[_0x32c8('0x1b')](_0x589d17)[_0x32c8('0x1d')](_0x167631);}}});};exports[_0x32c8('0x97')]=function(_0x3a7292,_0x1a31f6){var _0x12add2={};var _0x31b8a1={};var _0x2ef495;var _0x5c5ffa;return db[_0x32c8('0x5b')]['findOne']({'where':{'id':_0x3a7292[_0x32c8('0x5a')]['id']}})[_0x32c8('0x12')](handleEntityNotFound(_0x1a31f6,null))[_0x32c8('0x12')](function(_0x1cc539){if(_0x1cc539){_0x2ef495=_0x1cc539;_0x31b8a1[_0x32c8('0x49')]=_[_0x32c8('0x4c')](db[_0x32c8('0x93')][_0x32c8('0x46')]);_0x31b8a1[_0x32c8('0x4b')]=_[_0x32c8('0x4c')](_0x3a7292[_0x32c8('0x4b')]);_0x31b8a1[_0x32c8('0x52')]=_[_0x32c8('0x4d')](_0x31b8a1['model'],_0x31b8a1['query']);_0x12add2['attributes']=_[_0x32c8('0x4d')](_0x31b8a1['model'],qs[_0x32c8('0x4f')](_0x3a7292[_0x32c8('0x4b')]['fields']));_0x12add2[_0x32c8('0x4e')]=_0x12add2[_0x32c8('0x4e')][_0x32c8('0x5c')]?_0x12add2[_0x32c8('0x4e')]:_0x31b8a1['model'];_0x12add2[_0x32c8('0x72')]=qs['sort'](_0x3a7292[_0x32c8('0x4b')][_0x32c8('0x51')]);_0x12add2['where']=qs['filters'](_[_0x32c8('0x6b')](_0x3a7292['query'],_0x31b8a1['filters']));if(_0x3a7292[_0x32c8('0x4b')]['filter']){_0x12add2[_0x32c8('0x55')]=_['merge'](_0x12add2[_0x32c8('0x55')],{'$or':_['map'](_0x12add2[_0x32c8('0x4e')],function(_0x13aedc){var _0x18faba={};_0x18faba[_0x13aedc]={'$like':'%'+_0x3a7292[_0x32c8('0x4b')][_0x32c8('0x53')]+'%'};return _0x18faba;})});}_0x12add2=_['merge']({},_0x12add2,_0x3a7292['options']);return _0x2ef495['getApplications'](_0x12add2);}})[_0x32c8('0x12')](function(_0x1a0712){if(_0x1a0712){_0x5c5ffa=_0x1a0712[_0x32c8('0x5c')];if(!_0x3a7292['query'][_0x32c8('0x6a')](_0x32c8('0x50'))){_0x12add2[_0x32c8('0x1f')]=qs[_0x32c8('0x1f')](_0x3a7292[_0x32c8('0x4b')][_0x32c8('0x1f')]);_0x12add2[_0x32c8('0x1e')]=qs[_0x32c8('0x1e')](_0x3a7292['query']['offset']);}return _0x2ef495[_0x32c8('0x97')](_0x12add2);}})[_0x32c8('0x12')](function(_0x4ef88a){if(_0x4ef88a){return _0x4ef88a?{'count':_0x5c5ffa,'rows':_0x4ef88a}:null;}})[_0x32c8('0x12')](respondWithResult(_0x1a31f6,null))['catch'](handleError(_0x1a31f6,null));};exports[_0x32c8('0x98')]=function(_0x6aa29f,_0x3cded6){var _0x382f46={'raw':!![],'where':{}};var _0x137128={};var _0x5c8e50={'count':0x0,'rows':[]};return db[_0x32c8('0x5b')][_0x32c8('0x69')]({'where':{'id':_0x6aa29f[_0x32c8('0x5a')]['id']}})[_0x32c8('0x12')](handleEntityNotFound(_0x3cded6,null))[_0x32c8('0x12')](function(_0x371bb6){if(_0x371bb6){_0x137128[_0x32c8('0x49')]=_['keys'](db[_0x32c8('0x99')][_0x32c8('0x46')]);_0x137128['query']=_[_0x32c8('0x4c')](_0x6aa29f['query']);_0x137128[_0x32c8('0x52')]=_[_0x32c8('0x4d')](_0x137128[_0x32c8('0x49')],_0x137128[_0x32c8('0x4b')]);_0x382f46[_0x32c8('0x4e')]=_[_0x32c8('0x4d')](_0x137128[_0x32c8('0x49')],qs['fields'](_0x6aa29f[_0x32c8('0x4b')][_0x32c8('0x4f')]));_0x382f46[_0x32c8('0x4e')]=_0x382f46[_0x32c8('0x4e')][_0x32c8('0x5c')]?_0x382f46['attributes']:_0x137128[_0x32c8('0x49')];if(!_0x6aa29f[_0x32c8('0x4b')][_0x32c8('0x6a')](_0x32c8('0x50'))){_0x382f46['limit']=qs['limit'](_0x6aa29f['query'][_0x32c8('0x1f')]);_0x382f46['offset']=qs['offset'](_0x6aa29f['query'][_0x32c8('0x1e')]);}_0x382f46[_0x32c8('0x72')]=qs[_0x32c8('0x51')](_0x6aa29f['query'][_0x32c8('0x51')]);_0x382f46['where']=qs['filters'](_[_0x32c8('0x6b')](_0x6aa29f[_0x32c8('0x4b')],_0x137128[_0x32c8('0x52')]));_0x382f46[_0x32c8('0x55')][_0x32c8('0x65')]=_0x371bb6['id'];if(_0x6aa29f[_0x32c8('0x4b')][_0x32c8('0x53')]){_0x382f46[_0x32c8('0x55')]=_[_0x32c8('0x54')](_0x382f46[_0x32c8('0x55')],{'$or':_[_0x32c8('0x4a')](_0x382f46[_0x32c8('0x4e')],function(_0x3d3b58){var _0x548819={};_0x548819[_0x3d3b58]={'$like':'%'+_0x6aa29f[_0x32c8('0x4b')]['filter']+'%'};return _0x548819;})});}if(_0x6aa29f[_0x32c8('0x4b')][_0x32c8('0x9a')]){var _0x22a38c=_0x6aa29f[_0x32c8('0x4b')]['$gte'][_0x32c8('0x9b')](',');var _0x199fa2={};_0x199fa2[_0x22a38c[0x0]]={'$gte':moment(_0x22a38c[0x1])['format'](_0x32c8('0x9c'))};_0x382f46[_0x32c8('0x55')]=_[_0x32c8('0x54')](_0x382f46[_0x32c8('0x55')],_0x199fa2);}_0x382f46=_[_0x32c8('0x54')]({},_0x382f46,_0x6aa29f[_0x32c8('0x5d')]);return db[_0x32c8('0x99')][_0x32c8('0x21')]({'where':_0x382f46[_0x32c8('0x55')]})[_0x32c8('0x12')](function(_0x2b9ff7){_0x5c8e50[_0x32c8('0x21')]=_0x2b9ff7;if(_0x6aa29f[_0x32c8('0x4b')][_0x32c8('0x57')]){_0x382f46['include']=[{'all':!![]}];}return db[_0x32c8('0x99')][_0x32c8('0x59')](_0x382f46);})[_0x32c8('0x12')](function(_0x282dcf){if(_0x6aa29f[_0x32c8('0x4b')][_0x32c8('0x9d')]===_0x32c8('0x9e')){for(var _0x34ea17=0x0;_0x34ea17<_0x282dcf['length'];_0x34ea17++){_0x282dcf[_0x34ea17][_0x32c8('0x60')]=juice(_0x282dcf[_0x34ea17][_0x32c8('0x60')]);}}_0x5c8e50[_0x32c8('0x6c')]=_0x282dcf;return _0x5c8e50;});}})[_0x32c8('0x12')](respondWithFilteredResult(_0x3cded6,_0x382f46))[_0x32c8('0x5f')](handleError(_0x3cded6,null));};exports['send']=function(_0x50beb6,_0x290cf0){var _0x3a6b42,_0x12d53c={},_0x1a995d;if(_0x50beb6[_0x32c8('0x60')]['to']){_0x1a995d=_0x50beb6['body']['to'][_0x32c8('0x9b')](',')[0x0];}return db['MailAccount']['find']({'where':{'id':_0x50beb6[_0x32c8('0x5a')]['id']},'include':[{'model':db[_0x32c8('0x9f')],'as':_0x32c8('0xa0'),'include':[{'model':db['CmContact'],'as':_0x32c8('0xa1'),'where':{'email':_0x1a995d},'limit':0x1,'order':[[_0x32c8('0xa2'),_0x32c8('0xa3')]]}]},{'model':db[_0x32c8('0x43')],'as':_0x32c8('0x40'),'raw':!![],'include':[{'model':db[_0x32c8('0xa4')],'as':'CloudProvider','raw':!![]}]}]})[_0x32c8('0x12')](handleEntityNotFound(_0x290cf0,null))[_0x32c8('0x12')](function(_0x6bd37e){if(!_0x6bd37e)return;_0x3a6b42=_0x6bd37e;if(!_0x6bd37e[_0x32c8('0x40')])throw new Error(_0x32c8('0xa5'));if(_['isNil'](_0x50beb6[_0x32c8('0x60')][_0x32c8('0xa6')])){_0x50beb6['body'][_0x32c8('0xa6')]=util[_0x32c8('0xa7')]('%s\x20<%s>',_0x6bd37e['name'],_0x6bd37e[_0x32c8('0xa8')]||_0x6bd37e['Smtp'][_0x32c8('0x35')]);}if(_0x50beb6['body'][_0x32c8('0xa9')]&&_0x50beb6['body'][_0x32c8('0xa9')][_0x32c8('0x5c')]){for(var _0x1899ee=0x0;_0x1899ee<_0x50beb6[_0x32c8('0x60')][_0x32c8('0xa9')]['length'];_0x1899ee+=0x1){_0x50beb6[_0x32c8('0x60')]['attachments'][_0x1899ee]={'filename':_0x50beb6['body'][_0x32c8('0xa9')][_0x1899ee][_0x32c8('0x29')],'path':path[_0x32c8('0xaa')](config[_0x32c8('0xab')],_0x32c8('0xac'),_0x50beb6[_0x32c8('0x60')][_0x32c8('0xa9')][_0x1899ee][_0x32c8('0xad')])};}}var _0xbe5103=_0x6bd37e[_0x32c8('0xae')]();return respondWithRpcPromise('SendMail',_0x32c8('0xaf'),{'account':_0xbe5103,'message':_0x50beb6[_0x32c8('0x60')]});})[_0x32c8('0x12')](function(_0xd8f5db){if(!_0xd8f5db)return;_0x12d53c=_0xd8f5db;if(!_0x3a6b42['List'])throw new Error(_0x32c8('0xb0'));if(_0x3a6b42['List']['Contacts'][_0x32c8('0x5c')])return _0x3a6b42[_0x32c8('0xa0')][_0x32c8('0xa1')][0x0];return db[_0x32c8('0xb1')][_0x32c8('0x67')](_[_0x32c8('0xb')](_0x50beb6[_0x32c8('0x60')],{'firstName':_0x50beb6[_0x32c8('0x60')]['to'],'email':_0x50beb6[_0x32c8('0x60')]['to'],'phone':_0x50beb6['body']['to'],'ListId':_0x3a6b42['ListId']}));})[_0x32c8('0x12')](function(_0x5e7fc3){if(!_0x5e7fc3)return;var _0x553506={'UserId':_0x50beb6[_0x32c8('0x35')]['id'],'ContactId':_0x5e7fc3['id'],'MailAccountId':_0x3a6b42['id'],'inReplyTo':_0x12d53c[_0x32c8('0xb2')],'to':_0x50beb6['body']['from'],'cc':_0x50beb6[_0x32c8('0x60')]['cc'],'subject':_0x50beb6[_0x32c8('0x60')]['subject'],'attach':_0x50beb6['body'][_0x32c8('0xb3')],'firstMsgDirection':_0x32c8('0xb4'),'lastMsgAt':moment()[_0x32c8('0xa7')](_0x32c8('0x9c')),'lastMsgDirection':_0x32c8('0xb4'),'Messages':[_[_0x32c8('0x54')](_0x50beb6['body'],{'messageId':_0x12d53c[_0x32c8('0xb2')],'sentAt':moment()[_0x32c8('0xa7')](_0x32c8('0x9c')),'read':!![],'MailAccountId':_0x3a6b42['id'],'UserId':_0x50beb6[_0x32c8('0x35')]['id'],'ContactId':_0x5e7fc3['id']})]};if(_0x50beb6[_0x32c8('0x60')][_0x32c8('0xb5')]){_0x553506=_[_0x32c8('0x54')](_0x553506,_0x50beb6[_0x32c8('0x60')][_0x32c8('0xb5')]);}return db[_0x32c8('0x85')][_0x32c8('0x67')](_0x553506,{'include':[{'model':db[_0x32c8('0x99')],'as':_0x32c8('0xb6')}]});})[_0x32c8('0x12')](respondWithResult(_0x290cf0,null))[_0x32c8('0x5f')](handleError(_0x290cf0,null));};exports[_0x32c8('0xb7')]=function(_0x2d0253,_0x35e645){return db[_0x32c8('0x5b')][_0x32c8('0x5e')]({'where':{'id':_0x2d0253[_0x32c8('0x5a')]['id']},'include':[{'model':db[_0x32c8('0x43')],'as':'Smtp','raw':!![],'include':[{'model':db[_0x32c8('0xa4')],'as':'CloudProvider','raw':!![]}]}]})['then'](handleEntityNotFound(_0x35e645,null))[_0x32c8('0x12')](function(_0x108780){if(!_0x108780['Smtp'])return;var _0xa5acf4=_0x108780[_0x32c8('0xae')]();return respondWithRpcPromise(_0x32c8('0xb8'),'verifySmtp',{'account':_0xa5acf4});})[_0x32c8('0x12')](respondWithResult(_0x35e645,null))['catch'](handleError(_0x35e645,null));};exports[_0x32c8('0x23')]=function(_0x1174d2,_0x1a6373){return db[_0x32c8('0x5b')][_0x32c8('0x5e')]({'where':{'id':_0x1174d2[_0x32c8('0x5a')]['id']}})[_0x32c8('0x12')](handleEntityNotFound(_0x1a6373,null))[_0x32c8('0x12')](function(_0x2b9108){if(_0x2b9108&&_0x2b9108[_0x32c8('0x3d')]){throw new db[(_0x32c8('0xb9'))][(_0x32c8('0xba'))](_0x32c8('0xbb'));}return _0x2b9108;})['then'](removeEntity(_0x1a6373,null))[_0x32c8('0x5f')](handleError(_0x1a6373,null));};exports['addAgents']=function(_0x5856b7,_0x3c7605){return db[_0x32c8('0x5b')]['find']({'where':{'id':_0x5856b7[_0x32c8('0x5a')]['id']}})[_0x32c8('0x12')](handleEntityNotFound(_0x3c7605,null))[_0x32c8('0x12')](function(_0x1529a2){if(_0x1529a2){return _0x1529a2['addAgents'](_0x5856b7[_0x32c8('0x60')][_0x32c8('0x6e')],_[_0x32c8('0xbc')](_0x5856b7[_0x32c8('0x60')],[_0x32c8('0x6e'),'id'])||{})[_0x32c8('0xbd')](function(_0x52be45){for(var _0x5ca186=0x0;_0x5ca186<_0x5856b7[_0x32c8('0x60')][_0x32c8('0x6e')][_0x32c8('0x5c')];_0x5ca186+=0x1){socket[_0x32c8('0xbe')](_0x32c8('0xbf'),{'UserId':Number(_0x5856b7[_0x32c8('0x60')][_0x32c8('0x6e')][_0x5ca186]),'MailAccountId':Number(_0x5856b7[_0x32c8('0x5a')]['id'])});}return _0x52be45;});}})[_0x32c8('0x12')](respondWithResult(_0x3c7605,null))[_0x32c8('0x5f')](handleError(_0x3c7605,null));};exports['removeAgents']=function(_0x4ae7d1,_0x1269b0){return db['MailAccount'][_0x32c8('0x5e')]({'where':{'id':_0x4ae7d1[_0x32c8('0x5a')]['id']}})[_0x32c8('0x12')](handleEntityNotFound(_0x1269b0,null))[_0x32c8('0x12')](function(_0x4ab307){if(_0x4ab307){return _0x4ab307[_0x32c8('0xc0')](_0x4ae7d1[_0x32c8('0x4b')][_0x32c8('0x6e')])[_0x32c8('0x12')](function(){if(_[_0x32c8('0xc1')](_0x4ae7d1[_0x32c8('0x4b')]['ids'])){for(var _0x340bf5=0x0;_0x340bf5<_0x4ae7d1[_0x32c8('0x4b')][_0x32c8('0x6e')]['length'];_0x340bf5+=0x1){socket[_0x32c8('0xbe')](_0x32c8('0xc2'),{'UserId':Number(_0x4ae7d1[_0x32c8('0x4b')][_0x32c8('0x6e')][_0x340bf5]),'MailAccountId':Number(_0x4ae7d1[_0x32c8('0x5a')]['id'])});}}else{socket['emit'](_0x32c8('0xc2'),{'UserId':Number(_0x4ae7d1[_0x32c8('0x4b')]['ids']),'MailAccountId':Number(_0x4ae7d1[_0x32c8('0x5a')]['id'])});}});}})['then'](respondWithStatusCode(_0x1269b0,null))[_0x32c8('0x5f')](handleError(_0x1269b0,null));};exports[_0x32c8('0xc3')]=function(_0x817ce5,_0x25f1c7){var _0x39b717={};var _0x176288={};var _0x281933;var _0x36daed;return db[_0x32c8('0x5b')][_0x32c8('0x69')]({'where':{'id':_0x817ce5['params']['id']}})[_0x32c8('0x12')](handleEntityNotFound(_0x25f1c7,null))[_0x32c8('0x12')](function(_0x418240){if(_0x418240){_0x281933=_0x418240;_0x176288[_0x32c8('0x49')]=_[_0x32c8('0x4c')](db[_0x32c8('0xc4')][_0x32c8('0x46')]);_0x176288[_0x32c8('0x4b')]=_['keys'](_0x817ce5[_0x32c8('0x4b')]);_0x176288['filters']=_[_0x32c8('0x4d')](_0x176288['model'],_0x176288[_0x32c8('0x4b')]);_0x39b717[_0x32c8('0x4e')]=_[_0x32c8('0x4d')](_0x176288[_0x32c8('0x49')],qs['fields'](_0x817ce5[_0x32c8('0x4b')][_0x32c8('0x4f')]));_0x39b717[_0x32c8('0x4e')]=_0x39b717[_0x32c8('0x4e')][_0x32c8('0x5c')]?_0x39b717[_0x32c8('0x4e')]:_0x176288[_0x32c8('0x49')];_0x39b717[_0x32c8('0x72')]=qs[_0x32c8('0x51')](_0x817ce5[_0x32c8('0x4b')][_0x32c8('0x51')]);_0x39b717[_0x32c8('0x55')]=qs[_0x32c8('0x52')](_[_0x32c8('0x6b')](_0x817ce5[_0x32c8('0x4b')],_0x176288[_0x32c8('0x52')]));if(_0x817ce5[_0x32c8('0x4b')]['filter']){_0x39b717[_0x32c8('0x55')]=_[_0x32c8('0x54')](_0x39b717[_0x32c8('0x55')],{'$or':_['map'](_0x39b717[_0x32c8('0x4e')],function(_0x2914de){var _0x4b25ab={};_0x4b25ab[_0x2914de]={'$like':'%'+_0x817ce5[_0x32c8('0x4b')][_0x32c8('0x53')]+'%'};return _0x4b25ab;})});}_0x39b717=_[_0x32c8('0x54')]({},_0x39b717,_0x817ce5[_0x32c8('0x5d')]);return _0x281933[_0x32c8('0xc3')](_0x39b717);}})[_0x32c8('0x12')](function(_0x546f50){if(_0x546f50){_0x36daed=_0x546f50[_0x32c8('0x5c')];if(!_0x817ce5[_0x32c8('0x4b')][_0x32c8('0x6a')](_0x32c8('0x50'))){_0x39b717[_0x32c8('0x1f')]=qs[_0x32c8('0x1f')](_0x817ce5[_0x32c8('0x4b')][_0x32c8('0x1f')]);_0x39b717[_0x32c8('0x1e')]=qs[_0x32c8('0x1e')](_0x817ce5[_0x32c8('0x4b')]['offset']);}return _0x281933[_0x32c8('0xc3')](_0x39b717);}})[_0x32c8('0x12')](function(_0x333570){if(_0x333570){return _0x333570?{'count':_0x36daed,'rows':_0x333570}:null;}})[_0x32c8('0x12')](respondWithResult(_0x25f1c7,null))['catch'](handleError(_0x25f1c7,null));};