5f298f3b56f3ae0191eb5267b7d83927cd09fb04
[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 _0x2625=['user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','MailServerOut','Pause','mandatoryDispositionPause','MailAccount','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','order','sort','pick','filter','where','merge','options','includeAll','include','findAll','rows','show','params','find','body','provider','MailServerIn','Mail\x20Account\x20not\x20found','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','hasOwnProperty','nolimit','removeDispositions','ids','addAnswer','getAnswers','CannedAnswer','map','removeAnswers','custom','isNil','active','description','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','MailAccounts','userProfileId','autoAssociation','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','MailInteraction','addInteraction','omit','getInteractions','CmContact','Contact','User','fullname','internal','tag','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','finally','getApplications','getMessages','MailMessage','$gte','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','split','CmList','List','Contacts','updatedAt','CloudProvider','Smtp\x20configuration\x20not\x20found','from','email','attachments','join','root','SendMail','sendMail','List\x20not\x20found','ListId','messageId','subject','attach','out','Interaction','Messages','verifySmtp','VerifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','userMailAccount:save','removeAgents','emit','getAgents','moment','bluebird','util','path','lodash','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','redis','defaults','socket.io-emitter','./mailAccount.socket','jayson/promise','client','http','request','then','MailAccount,\x20%s,\x20%s','request\x20sent','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','sendStatus','status','end','json','offset','count','limit','set','Content-Range','update','UserProfileResource','destroy','stack','name','send','gmail','imap.mail.yahoo.com','imap-mail.outlook.com','outlook365','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp.gmail.com','yahoo','smtp.mail.yahoo.com','smtp-mail.outlook.com','smtp.office365.com'];(function(_0x2fcb5a,_0x5647f2){var _0x5693fb=function(_0x421aad){while(--_0x421aad){_0x2fcb5a['push'](_0x2fcb5a['shift']());}};_0x5693fb(++_0x5647f2);}(_0x2625,0x8e));var _0x5262=function(_0x42bc91,_0x41f40a){_0x42bc91=_0x42bc91-0x0;var _0x3f5507=_0x2625[_0x42bc91];return _0x3f5507;};'use strict';var moment=require(_0x5262('0x0'));var BPromise=require(_0x5262('0x1'));var util=require(_0x5262('0x2'));var path=require(_0x5262('0x3'));var _=require(_0x5262('0x4'));var juice=require('juice');var Redis=require(_0x5262('0x5'));var qs=require(_0x5262('0x6'));var logger=require(_0x5262('0x7'))(_0x5262('0x8'));var config=require(_0x5262('0x9'));var db=require('../../mysqldb')['db'];config[_0x5262('0xa')]=_[_0x5262('0xb')](config[_0x5262('0xa')],{'host':'localhost','port':0x18eb});var socket=require(_0x5262('0xc'))(new Redis(config[_0x5262('0xa')]));require(_0x5262('0xd'))['register'](socket);var jayson=require(_0x5262('0xe'));var client=jayson[_0x5262('0xf')][_0x5262('0x10')]({'port':0x232b});function respondWithRpcPromise(_0x1e649f,_0x10d077,_0x558eff,_0x2e4a27){return new BPromise(function(_0x4fcd74,_0x1b3def){var _0x1fc626=_0x2e4a27||client;return _0x1fc626[_0x5262('0x11')](_0x1e649f,_0x558eff)[_0x5262('0x12')](function(_0x3b0fe8){logger['info'](_0x5262('0x13'),_0x10d077,_0x5262('0x14'));logger['debug'](_0x5262('0x15'),_0x10d077,'request\x20sent',JSON[_0x5262('0x16')](_0x3b0fe8));if(_0x3b0fe8['error']){if(_0x3b0fe8[_0x5262('0x17')][_0x5262('0x18')]===0x1f4){logger[_0x5262('0x17')]('MailAccount,\x20%s,\x20%s',_0x10d077,_0x3b0fe8[_0x5262('0x17')][_0x5262('0x19')]);return _0x1b3def(_0x3b0fe8[_0x5262('0x17')]['message']);}logger['error'](_0x5262('0x13'),_0x10d077,_0x3b0fe8[_0x5262('0x17')][_0x5262('0x19')]);return _0x4fcd74(_0x3b0fe8[_0x5262('0x17')]['message']);}else{logger[_0x5262('0x1a')]('MailAccount,\x20%s,\x20%s',_0x10d077,'request\x20sent');_0x4fcd74(_0x3b0fe8[_0x5262('0x1b')][_0x5262('0x19')]);}})[_0x5262('0x1c')](function(_0x51c487){logger[_0x5262('0x17')]('MailAccount,\x20%s,\x20%s',_0x10d077,_0x51c487);_0x1b3def(_0x51c487);});});}function respondWithStatusCode(_0x41bf83,_0xe4ef37){_0xe4ef37=_0xe4ef37||0xcc;return function(_0x1578a2){if(_0x1578a2){return _0x41bf83[_0x5262('0x1d')](_0xe4ef37);}return _0x41bf83[_0x5262('0x1e')](_0xe4ef37)[_0x5262('0x1f')]();};}function respondWithResult(_0x280f00,_0x3e6165){_0x3e6165=_0x3e6165||0xc8;return function(_0x439204){if(_0x439204){return _0x280f00['status'](_0x3e6165)[_0x5262('0x20')](_0x439204);}};}function respondWithFilteredResult(_0x2aced7,_0x24f38e){return function(_0x3aceb9){if(_0x3aceb9){var _0x256ca0=typeof _0x24f38e[_0x5262('0x21')]==='undefined'&&typeof _0x24f38e['limit']==='undefined';var _0x2fcca1=_0x3aceb9['count'];var _0xd91b3c=_0x256ca0?0x0:_0x24f38e['offset'];var _0x3a990d=_0x256ca0?_0x3aceb9[_0x5262('0x22')]:_0x24f38e[_0x5262('0x21')]+_0x24f38e[_0x5262('0x23')];var _0x5f4d3a;if(_0x3a990d>=_0x2fcca1){_0x3a990d=_0x2fcca1;_0x5f4d3a=0xc8;}else{_0x5f4d3a=0xce;}_0x2aced7[_0x5262('0x1e')](_0x5f4d3a);return _0x2aced7[_0x5262('0x24')](_0x5262('0x25'),_0xd91b3c+'-'+_0x3a990d+'/'+_0x2fcca1)[_0x5262('0x20')](_0x3aceb9);}return null;};}function saveUpdates(_0x1570da){return function(_0xfc0fde){if(_0xfc0fde){return _0xfc0fde[_0x5262('0x26')](_0x1570da)[_0x5262('0x12')](function(_0x1ccc13){return _0x1ccc13;});}return null;};}function removeEntity(_0x364f4d){return function(_0x291f2d){if(_0x291f2d){return _0x291f2d['destroy']()['then'](function(){var _0x3e814f=_0x291f2d['get']({'plain':!![]});var _0x3ff187='MailAccounts';return db[_0x5262('0x27')][_0x5262('0x28')]({'where':{'type':_0x3ff187,'resourceId':_0x3e814f['id']}})[_0x5262('0x12')](function(){return _0x291f2d;});})[_0x5262('0x12')](function(){_0x364f4d[_0x5262('0x1e')](0xcc)[_0x5262('0x1f')]();});}};}function handleEntityNotFound(_0x22e952){return function(_0x4be2c6){if(!_0x4be2c6){_0x22e952[_0x5262('0x1d')](0x194);}return _0x4be2c6;};}function handleError(_0x21404f,_0x55de8d){_0x55de8d=_0x55de8d||0x1f4;return function(_0x312e69){logger[_0x5262('0x17')](_0x312e69[_0x5262('0x29')]);if(_0x312e69[_0x5262('0x2a')]){delete _0x312e69[_0x5262('0x2a')];}_0x21404f[_0x5262('0x1e')](_0x55de8d)[_0x5262('0x2b')](_0x312e69);};}function getImapHost(_0x4674f5){switch(_0x4674f5){case _0x5262('0x2c'):return'imap.gmail.com';case'yahoo':return _0x5262('0x2d');case'hotmail':return _0x5262('0x2e');case _0x5262('0x2f'):return _0x5262('0x30');}throw new Error(_0x5262('0x31'),_0x4674f5);}function getSmtpHost(_0x26fefb){switch(_0x26fefb){case _0x5262('0x2c'):return _0x5262('0x32');case _0x5262('0x33'):return _0x5262('0x34');case'hotmail':return _0x5262('0x35');case'outlook365':return _0x5262('0x36');}throw new Error(_0x5262('0x31'),_0x26fefb);}function getAuthenticationOptions(_0x16061c,_0x1b67df){var _0x44d9a9={};var _0x231a45={};if(_0x16061c){_0x44d9a9[_0x5262('0x37')]=_0x231a45['user']=_0x1b67df[_0x5262('0x38')];_0x44d9a9[_0x5262('0x39')]=_0x231a45[_0x5262('0x3a')]=_0x1b67df[_0x5262('0x39')];if(_0x1b67df[_0x5262('0x3b')]){_0x44d9a9[_0x5262('0x3b')]=_0x231a45[_0x5262('0x3b')]=!![];_0x44d9a9[_0x5262('0x3c')]=_0x231a45['CloudProviderId']=_0x1b67df[_0x5262('0x3c')];_0x44d9a9[_0x5262('0x39')]=_0x231a45[_0x5262('0x3a')]=null;}else{_0x44d9a9[_0x5262('0x3c')]=_0x231a45[_0x5262('0x3c')]=null;}_0x44d9a9[_0x5262('0x3d')]=getImapHost(_0x16061c);_0x44d9a9['port']=0x3e1;_0x231a45['host']=getSmtpHost(_0x16061c);_0x231a45[_0x5262('0x3e')]=0x24b;_0x231a45[_0x5262('0x3f')]=![];_0x44d9a9['service']=_0x231a45[_0x5262('0x40')]=null;}else{if(_0x1b67df[_0x5262('0x41')]){_0x44d9a9[_0x5262('0x37')]=_0x231a45[_0x5262('0x37')]=_0x1b67df[_0x5262('0x38')];_0x44d9a9[_0x5262('0x39')]=_0x231a45[_0x5262('0x3a')]=_0x1b67df[_0x5262('0x39')];}else{_0x44d9a9[_0x5262('0x41')]=_0x231a45[_0x5262('0x41')]=![];_0x44d9a9[_0x5262('0x37')]=_0x231a45[_0x5262('0x37')]=null;_0x44d9a9['password']=_0x231a45[_0x5262('0x3a')]=null;}_0x44d9a9['host']=_0x1b67df[_0x5262('0x42')][_0x5262('0x3d')];_0x44d9a9[_0x5262('0x3e')]=_0x1b67df[_0x5262('0x42')][_0x5262('0x3e')];_0x231a45[_0x5262('0x3d')]=_0x1b67df[_0x5262('0x43')][_0x5262('0x3d')];_0x231a45[_0x5262('0x3e')]=_0x1b67df[_0x5262('0x43')]['port'];}return{'Imap':_0x44d9a9,'Smtp':_0x231a45};}exports['index']=function(_0x37d834,_0x3fdc0e){var _0x21431d={'include':[{'model':db['MailServerIn'],'as':_0x5262('0x42')},{'model':db[_0x5262('0x44')],'as':_0x5262('0x43')},{'model':db[_0x5262('0x45')],'as':_0x5262('0x46')}]},_0x51783d={},_0x44adbd={'count':0x0,'rows':[]};var _0x22900b=_['map'](db[_0x5262('0x47')][_0x5262('0x48')],function(_0x121141){return{'name':_0x121141[_0x5262('0x49')],'type':_0x121141[_0x5262('0x4a')][_0x5262('0x4b')]};});_0x51783d[_0x5262('0x4c')]=_['map'](_0x22900b,_0x5262('0x2a'));_0x51783d['query']=_[_0x5262('0x4d')](_0x37d834[_0x5262('0x4e')]);_0x51783d[_0x5262('0x4f')]=_[_0x5262('0x50')](_0x51783d[_0x5262('0x4c')],_0x51783d['query']);_0x21431d[_0x5262('0x51')]=_[_0x5262('0x50')](_0x51783d['model'],qs[_0x5262('0x52')](_0x37d834[_0x5262('0x4e')]['fields']));_0x21431d[_0x5262('0x51')]=_0x21431d[_0x5262('0x51')][_0x5262('0x53')]?_0x21431d[_0x5262('0x51')]:_0x51783d[_0x5262('0x4c')];if(!_0x37d834['query']['hasOwnProperty']('nolimit')){_0x21431d['limit']=qs[_0x5262('0x23')](_0x37d834[_0x5262('0x4e')][_0x5262('0x23')]);_0x21431d[_0x5262('0x21')]=qs[_0x5262('0x21')](_0x37d834['query'][_0x5262('0x21')]);}_0x21431d[_0x5262('0x54')]=qs['sort'](_0x37d834[_0x5262('0x4e')][_0x5262('0x55')]);_0x21431d['where']=qs[_0x5262('0x4f')](_[_0x5262('0x56')](_0x37d834[_0x5262('0x4e')],_0x51783d[_0x5262('0x4f')]),_0x22900b);if(_0x37d834[_0x5262('0x4e')][_0x5262('0x57')]){_0x21431d[_0x5262('0x58')]=_[_0x5262('0x59')](_0x21431d[_0x5262('0x58')],{'$or':_['map'](_0x22900b,function(_0x660163){if(_0x660163['type']!=='VIRTUAL'){var _0x2254a5={};_0x2254a5[_0x660163[_0x5262('0x2a')]]={'$like':'%'+_0x37d834[_0x5262('0x4e')]['filter']+'%'};return _0x2254a5;}})});}_0x21431d=_['merge']({},_0x21431d,_0x37d834[_0x5262('0x5a')]);var _0x468f57={'where':_0x21431d[_0x5262('0x58')]};return db[_0x5262('0x47')][_0x5262('0x22')](_0x468f57)[_0x5262('0x12')](function(_0x40e788){_0x44adbd[_0x5262('0x22')]=_0x40e788;if(_0x37d834[_0x5262('0x4e')][_0x5262('0x5b')]){_0x21431d[_0x5262('0x5c')]=[{'all':!![]}];}return db[_0x5262('0x47')][_0x5262('0x5d')](_0x21431d);})['then'](function(_0x44da78){_0x44adbd[_0x5262('0x5e')]=_0x44da78;return _0x44adbd;})[_0x5262('0x12')](respondWithFilteredResult(_0x3fdc0e,_0x21431d))[_0x5262('0x1c')](handleError(_0x3fdc0e,null));};exports[_0x5262('0x5f')]=function(_0x3d8361,_0x3b6339){var _0xd2e6c1={'raw':![],'where':{'id':_0x3d8361[_0x5262('0x60')]['id']},'include':[{'model':db['MailServerIn'],'as':_0x5262('0x42')},{'model':db[_0x5262('0x44')],'as':'Smtp'},{'model':db[_0x5262('0x45')],'as':_0x5262('0x46')}]},_0x2fe9f9={};_0x2fe9f9[_0x5262('0x4c')]=_[_0x5262('0x4d')](db[_0x5262('0x47')][_0x5262('0x48')]);_0x2fe9f9[_0x5262('0x4e')]=_[_0x5262('0x4d')](_0x3d8361[_0x5262('0x4e')]);_0x2fe9f9[_0x5262('0x4f')]=_['intersection'](_0x2fe9f9['model'],_0x2fe9f9[_0x5262('0x4e')]);_0xd2e6c1[_0x5262('0x51')]=_[_0x5262('0x50')](_0x2fe9f9['model'],qs[_0x5262('0x52')](_0x3d8361[_0x5262('0x4e')][_0x5262('0x52')]));_0xd2e6c1[_0x5262('0x51')]=_0xd2e6c1['attributes'][_0x5262('0x53')]?_0xd2e6c1[_0x5262('0x51')]:_0x2fe9f9[_0x5262('0x4c')];if(_0x3d8361[_0x5262('0x4e')][_0x5262('0x5b')]){_0xd2e6c1[_0x5262('0x5c')]=[{'all':!![]}];}_0xd2e6c1=_['merge']({},_0xd2e6c1,_0x3d8361[_0x5262('0x5a')]);return db[_0x5262('0x47')][_0x5262('0x61')](_0xd2e6c1)['then'](handleEntityNotFound(_0x3b6339,null))[_0x5262('0x12')](respondWithResult(_0x3b6339,null))['catch'](handleError(_0x3b6339,null));};exports['update']=function(_0x4e1d4e,_0x36ecc7){if(_0x4e1d4e[_0x5262('0x62')]['id']){delete _0x4e1d4e[_0x5262('0x62')]['id'];}var _0x2748db=_0x4e1d4e[_0x5262('0x62')][_0x5262('0x63')]==='custom'?null:_0x4e1d4e['body']['provider'];var _0xebe3a9=_0x4e1d4e[_0x5262('0x62')][_0x5262('0x42')]||{};var _0x1cbc9f=_0x4e1d4e[_0x5262('0x62')][_0x5262('0x43')]||{};if(_0x2748db){_0xebe3a9[_0x5262('0x3d')]=getImapHost(_0x2748db);_0xebe3a9['port']=0x3e1;_0x1cbc9f[_0x5262('0x3d')]=getSmtpHost(_0x2748db);_0x1cbc9f[_0x5262('0x3e')]=0x24b;_0x1cbc9f[_0x5262('0x3f')]=![];}if(_0x1cbc9f['modernAuthentication']){_0x1cbc9f[_0x5262('0x3f')]=![];}else{_0x1cbc9f[_0x5262('0x3c')]=null;}if(!_0xebe3a9[_0x5262('0x3b')])_0xebe3a9['CloudProviderId']=null;_0x4e1d4e['body']['Imap']=_0xebe3a9;_0x4e1d4e[_0x5262('0x62')][_0x5262('0x43')]=_0x1cbc9f;return db[_0x5262('0x47')][_0x5262('0x61')]({'where':{'id':_0x4e1d4e[_0x5262('0x60')]['id']},'include':[{'model':db[_0x5262('0x64')],'as':_0x5262('0x42')},{'model':db[_0x5262('0x44')],'as':_0x5262('0x43')},{'model':db[_0x5262('0x45')],'as':_0x5262('0x46')}]})['then'](handleEntityNotFound(_0x36ecc7,null))[_0x5262('0x12')](function(_0x1f0b03){if(!_0x1f0b03)throw new Error(_0x5262('0x65'));if(_0x1f0b03['service'])delete _0x4e1d4e[_0x5262('0x62')][_0x5262('0x42')];return _0x1f0b03;})[_0x5262('0x12')](saveUpdates(_0x4e1d4e[_0x5262('0x62')],null))['then'](function(_0x41e2fe){if(!_0x4e1d4e['body'][_0x5262('0x42')])return _0x41e2fe;return db[_0x5262('0x64')][_0x5262('0x26')](_0x4e1d4e[_0x5262('0x62')][_0x5262('0x42')],{'where':{'MailAccountId':_0x41e2fe['id']}})[_0x5262('0x12')](function(){return _0x41e2fe;});})['then'](function(_0x58cc38){if(!_0x4e1d4e[_0x5262('0x62')][_0x5262('0x43')])return _0x58cc38;return db[_0x5262('0x44')][_0x5262('0x26')](_0x4e1d4e[_0x5262('0x62')][_0x5262('0x43')],{'where':{'MailAccountId':_0x58cc38['id']}})[_0x5262('0x12')](function(){return _0x58cc38;});})[_0x5262('0x12')](respondWithResult(_0x36ecc7,null))[_0x5262('0x1c')](handleError(_0x36ecc7,null));};exports[_0x5262('0x66')]=function(_0x3b0aed,_0x5355d3){return db[_0x5262('0x47')][_0x5262('0x66')]()[_0x5262('0x12')](respondWithResult(_0x5355d3,null))['catch'](handleError(_0x5355d3,null));};exports[_0x5262('0x67')]=function(_0x5cbcb1,_0x108c56){if(_0x5cbcb1[_0x5262('0x62')]['id']){delete _0x5cbcb1[_0x5262('0x62')]['id'];}return db[_0x5262('0x47')]['find']({'where':{'id':_0x5cbcb1[_0x5262('0x60')]['id']}})['then'](handleEntityNotFound(_0x108c56,null))[_0x5262('0x12')](function(_0x162497){if(_0x162497){_0x5cbcb1['body'][_0x5262('0x68')]=_0x162497['id'];return db[_0x5262('0x69')][_0x5262('0x6a')](_0x5cbcb1['body']);}})[_0x5262('0x12')](respondWithResult(_0x108c56,null))[_0x5262('0x1c')](handleError(_0x108c56,null));};exports[_0x5262('0x6b')]=function(_0xdd7372,_0x4281f4){var _0x25ccbd={'raw':![],'where':{}};var _0x2a8eed={};var _0x5aa25d={'count':0x0,'rows':[]};return db[_0x5262('0x47')][_0x5262('0x6c')]({'where':{'id':_0xdd7372[_0x5262('0x60')]['id']}})[_0x5262('0x12')](handleEntityNotFound(_0x4281f4,null))[_0x5262('0x12')](function(_0x662345){if(_0x662345){_0x2a8eed[_0x5262('0x4c')]=_[_0x5262('0x4d')](db[_0x5262('0x69')][_0x5262('0x48')]);_0x2a8eed[_0x5262('0x4e')]=_['keys'](_0xdd7372[_0x5262('0x4e')]);_0x2a8eed[_0x5262('0x4f')]=_[_0x5262('0x50')](_0x2a8eed[_0x5262('0x4c')],_0x2a8eed[_0x5262('0x4e')]);_0x25ccbd[_0x5262('0x51')]=_[_0x5262('0x50')](_0x2a8eed['model'],qs[_0x5262('0x52')](_0xdd7372['query'][_0x5262('0x52')]));_0x25ccbd['attributes']=_0x25ccbd[_0x5262('0x51')][_0x5262('0x53')]?_0x25ccbd[_0x5262('0x51')]:_0x2a8eed['model'];if(!_0xdd7372[_0x5262('0x4e')][_0x5262('0x6d')](_0x5262('0x6e'))){_0x25ccbd['limit']=qs[_0x5262('0x23')](_0xdd7372['query'][_0x5262('0x23')]);_0x25ccbd[_0x5262('0x21')]=qs[_0x5262('0x21')](_0xdd7372[_0x5262('0x4e')][_0x5262('0x21')]);}_0x25ccbd[_0x5262('0x54')]=qs['sort'](_0xdd7372[_0x5262('0x4e')][_0x5262('0x55')]);_0x25ccbd[_0x5262('0x58')]=qs[_0x5262('0x4f')](_['pick'](_0xdd7372[_0x5262('0x4e')],_0x2a8eed[_0x5262('0x4f')]));_0x25ccbd[_0x5262('0x58')]['MailAccountId']=_0x662345['id'];if(_0xdd7372['query'][_0x5262('0x57')]){_0x25ccbd[_0x5262('0x58')]=_[_0x5262('0x59')](_0x25ccbd[_0x5262('0x58')],{'$or':_['map'](_0x25ccbd['attributes'],function(_0x37ccab){var _0x39cf4f={};_0x39cf4f[_0x37ccab]={'$like':'%'+_0xdd7372['query'][_0x5262('0x57')]+'%'};return _0x39cf4f;})});}_0x25ccbd=_[_0x5262('0x59')]({},_0x25ccbd,_0xdd7372[_0x5262('0x5a')]);return db[_0x5262('0x69')][_0x5262('0x22')]({'where':_0x25ccbd[_0x5262('0x58')]})[_0x5262('0x12')](function(_0x20bd24){_0x5aa25d['count']=_0x20bd24;if(_0xdd7372['query']['includeAll']){_0x25ccbd[_0x5262('0x5c')]=[{'all':!![]}];}return db[_0x5262('0x69')]['findAll'](_0x25ccbd);})[_0x5262('0x12')](function(_0xc497f3){_0x5aa25d[_0x5262('0x5e')]=_0xc497f3;return _0x5aa25d;});}})[_0x5262('0x12')](respondWithFilteredResult(_0x4281f4,_0x25ccbd))['catch'](handleError(_0x4281f4,null));};exports[_0x5262('0x6f')]=function(_0x50cfe3,_0x11bde8){return db[_0x5262('0x47')][_0x5262('0x61')]({'where':{'id':_0x50cfe3[_0x5262('0x60')]['id']}})[_0x5262('0x12')](handleEntityNotFound(_0x11bde8,null))['then'](function(_0x4b6766){if(_0x4b6766){return _0x4b6766[_0x5262('0x6f')](_0x50cfe3[_0x5262('0x4e')][_0x5262('0x70')]);}})[_0x5262('0x12')](respondWithStatusCode(_0x11bde8,null))[_0x5262('0x1c')](handleError(_0x11bde8,null));};exports[_0x5262('0x71')]=function(_0xe64ea3,_0x2a1478){if(_0xe64ea3[_0x5262('0x62')]['id']){delete _0xe64ea3[_0x5262('0x62')]['id'];}return db[_0x5262('0x47')][_0x5262('0x61')]({'where':{'id':_0xe64ea3[_0x5262('0x60')]['id']}})[_0x5262('0x12')](handleEntityNotFound(_0x2a1478,null))[_0x5262('0x12')](function(_0x3fe04d){if(_0x3fe04d){_0xe64ea3[_0x5262('0x62')][_0x5262('0x68')]=_0x3fe04d['id'];return db['CannedAnswer'][_0x5262('0x6a')](_0xe64ea3[_0x5262('0x62')]);}})[_0x5262('0x12')](respondWithResult(_0x2a1478,null))[_0x5262('0x1c')](handleError(_0x2a1478,null));};exports[_0x5262('0x72')]=function(_0x105baf,_0x50f685){var _0x61bf4c={'raw':![],'where':{}};var _0xa25476={};var _0x301413={'count':0x0,'rows':[]};return db['MailAccount'][_0x5262('0x6c')]({'where':{'id':_0x105baf[_0x5262('0x60')]['id']}})['then'](handleEntityNotFound(_0x50f685,null))['then'](function(_0xc4c0f3){if(_0xc4c0f3){_0xa25476[_0x5262('0x4c')]=_[_0x5262('0x4d')](db[_0x5262('0x73')][_0x5262('0x48')]);_0xa25476['query']=_['keys'](_0x105baf[_0x5262('0x4e')]);_0xa25476[_0x5262('0x4f')]=_['intersection'](_0xa25476[_0x5262('0x4c')],_0xa25476[_0x5262('0x4e')]);_0x61bf4c[_0x5262('0x51')]=_[_0x5262('0x50')](_0xa25476[_0x5262('0x4c')],qs['fields'](_0x105baf[_0x5262('0x4e')][_0x5262('0x52')]));_0x61bf4c[_0x5262('0x51')]=_0x61bf4c[_0x5262('0x51')][_0x5262('0x53')]?_0x61bf4c['attributes']:_0xa25476[_0x5262('0x4c')];if(!_0x105baf[_0x5262('0x4e')][_0x5262('0x6d')](_0x5262('0x6e'))){_0x61bf4c['limit']=qs[_0x5262('0x23')](_0x105baf[_0x5262('0x4e')][_0x5262('0x23')]);_0x61bf4c['offset']=qs[_0x5262('0x21')](_0x105baf['query'][_0x5262('0x21')]);}_0x61bf4c[_0x5262('0x54')]=qs[_0x5262('0x55')](_0x105baf['query'][_0x5262('0x55')]);_0x61bf4c['where']=qs[_0x5262('0x4f')](_['pick'](_0x105baf[_0x5262('0x4e')],_0xa25476[_0x5262('0x4f')]));_0x61bf4c['where'][_0x5262('0x68')]=_0xc4c0f3['id'];if(_0x105baf['query'][_0x5262('0x57')]){_0x61bf4c[_0x5262('0x58')]=_[_0x5262('0x59')](_0x61bf4c[_0x5262('0x58')],{'$or':_[_0x5262('0x74')](_0x61bf4c['attributes'],function(_0x1f6d6e){var _0x28184d={};_0x28184d[_0x1f6d6e]={'$like':'%'+_0x105baf[_0x5262('0x4e')][_0x5262('0x57')]+'%'};return _0x28184d;})});}_0x61bf4c=_[_0x5262('0x59')]({},_0x61bf4c,_0x105baf[_0x5262('0x5a')]);return db[_0x5262('0x73')][_0x5262('0x22')]({'where':_0x61bf4c[_0x5262('0x58')]})[_0x5262('0x12')](function(_0x39db62){_0x301413['count']=_0x39db62;if(_0x105baf[_0x5262('0x4e')]['includeAll']){_0x61bf4c[_0x5262('0x5c')]=[{'all':!![]}];}return db[_0x5262('0x73')][_0x5262('0x5d')](_0x61bf4c);})['then'](function(_0x33160e){_0x301413['rows']=_0x33160e;return _0x301413;});}})['then'](respondWithFilteredResult(_0x50f685,_0x61bf4c))[_0x5262('0x1c')](handleError(_0x50f685,null));};exports['removeAnswers']=function(_0x119326,_0x3ebee5){return db['MailAccount'][_0x5262('0x61')]({'where':{'id':_0x119326[_0x5262('0x60')]['id']}})[_0x5262('0x12')](handleEntityNotFound(_0x3ebee5,null))[_0x5262('0x12')](function(_0x131148){if(_0x131148){return _0x131148[_0x5262('0x75')](_0x119326[_0x5262('0x4e')]['ids']);}})['then'](respondWithStatusCode(_0x3ebee5,null))[_0x5262('0x1c')](handleError(_0x3ebee5,null));};exports[_0x5262('0x6a')]=function(_0x4574a0,_0x5a78cc){var _0x356f0a={'name':_0x4574a0[_0x5262('0x62')][_0x5262('0x2a')],'key':_0x4574a0[_0x5262('0x62')][_0x5262('0x4b')],'provider':_0x4574a0[_0x5262('0x62')]['provider']===_0x5262('0x76')?null:_0x4574a0[_0x5262('0x62')][_0x5262('0x63')],'email':_0x4574a0[_0x5262('0x62')]['email'],'ListId':_0x4574a0[_0x5262('0x62')]['ListId'],'active':!_[_0x5262('0x77')](_0x4574a0[_0x5262('0x62')][_0x5262('0x78')])?_0x4574a0[_0x5262('0x62')][_0x5262('0x78')]:!![],'description':_0x4574a0['body'][_0x5262('0x79')]||null};var _0x59a343=getAuthenticationOptions(_0x356f0a[_0x5262('0x63')],_0x4574a0[_0x5262('0x62')]);_0x356f0a['Imap']=_0x59a343[_0x5262('0x42')];_0x356f0a[_0x5262('0x43')]=_0x59a343[_0x5262('0x43')];return db[_0x5262('0x47')]['create'](_0x356f0a,{'include':[{'model':db[_0x5262('0x44')],'as':'Smtp'},{'model':db[_0x5262('0x64')],'as':'Imap'}]})[_0x5262('0x12')](function(_0x3a1ec7){var _0x205fcb=_0x4574a0['user'][_0x5262('0x7a')]({'plain':!![]});if(!_0x205fcb)throw new Error(_0x5262('0x7b'));if(_0x205fcb[_0x5262('0x7c')]===_0x5262('0x37')){var _0x17a567=_0x3a1ec7[_0x5262('0x7a')]({'plain':!![]});return db[_0x5262('0x7d')][_0x5262('0x61')]({'where':{'name':_0x5262('0x7e'),'userProfileId':_0x205fcb[_0x5262('0x7f')]},'raw':!![]})[_0x5262('0x12')](function(_0x5ebe0d){if(_0x5ebe0d&&_0x5ebe0d[_0x5262('0x80')]===0x0){return db[_0x5262('0x27')][_0x5262('0x6a')]({'name':_0x17a567['name'],'resourceId':_0x17a567['id'],'type':_0x5ebe0d[_0x5262('0x2a')],'sectionId':_0x5ebe0d['id']},{})[_0x5262('0x12')](function(){return _0x3a1ec7;});}else{return _0x3a1ec7;}})['catch'](function(_0x389d7c){logger[_0x5262('0x17')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x389d7c);throw _0x389d7c;});}return _0x3a1ec7;})[_0x5262('0x12')](respondWithResult(_0x5a78cc,0xc9))['catch'](handleError(_0x5a78cc,null));};exports[_0x5262('0x81')]=function(_0x24e7d1,_0x34b76c){return db['MailAccount'][_0x5262('0x6c')]({'where':{'id':_0x24e7d1[_0x5262('0x60')]['id']}})[_0x5262('0x12')](handleEntityNotFound(_0x34b76c,null))['then'](function(_0x55af30){if(_0x55af30){return _0x55af30[_0x5262('0x81')]();}return null;})[_0x5262('0x12')](respondWithResult(_0x34b76c,null))[_0x5262('0x1c')](handleError(_0x34b76c,null));};exports[_0x5262('0x82')]=function(_0x4fb243,_0x31f446){if(_0x4fb243[_0x5262('0x62')]['id']){delete _0x4fb243[_0x5262('0x62')]['id'];}return db['MailAccount']['find']({'where':{'id':_0x4fb243['params']['id']}})[_0x5262('0x12')](handleEntityNotFound(_0x31f446,null))['then'](function(_0x492080){if(_0x492080){_0x4fb243[_0x5262('0x62')][_0x5262('0x68')]=_0x492080['id'];return db[_0x5262('0x64')]['create'](_0x4fb243[_0x5262('0x62')]);}})['then'](respondWithResult(_0x31f446,null))['catch'](handleError(_0x31f446,null));};exports[_0x5262('0x83')]=function(_0x5a7f31,_0x115f1a){return db['MailAccount'][_0x5262('0x6c')]({'where':{'id':_0x5a7f31['params']['id']}})[_0x5262('0x12')](handleEntityNotFound(_0x115f1a,null))[_0x5262('0x12')](function(_0x3d7b8b){if(_0x3d7b8b){return _0x3d7b8b[_0x5262('0x84')](null);}return null;})['then'](respondWithStatusCode(_0x115f1a,null))['catch'](handleError(_0x115f1a,null));};exports['getSmtp']=function(_0x141ee2,_0x134b28){return db[_0x5262('0x47')][_0x5262('0x6c')]({'where':{'id':_0x141ee2[_0x5262('0x60')]['id']}})[_0x5262('0x12')](handleEntityNotFound(_0x134b28,null))[_0x5262('0x12')](function(_0x515a8d){if(_0x515a8d){return _0x515a8d[_0x5262('0x85')]();}return null;})['then'](respondWithResult(_0x134b28,null))['catch'](handleError(_0x134b28,null));};exports[_0x5262('0x86')]=function(_0x166380,_0x5bbd67){if(_0x166380[_0x5262('0x62')]['id']){delete _0x166380[_0x5262('0x62')]['id'];}return db['MailAccount'][_0x5262('0x61')]({'where':{'id':_0x166380[_0x5262('0x60')]['id']}})['then'](handleEntityNotFound(_0x5bbd67,null))[_0x5262('0x12')](function(_0x2c7dba){if(_0x2c7dba){_0x166380[_0x5262('0x62')][_0x5262('0x68')]=_0x2c7dba['id'];return db['MailServerOut'][_0x5262('0x6a')](_0x166380[_0x5262('0x62')]);}})[_0x5262('0x12')](respondWithResult(_0x5bbd67,null))[_0x5262('0x1c')](handleError(_0x5bbd67,null));};exports[_0x5262('0x87')]=function(_0x3b3320,_0x152a75){return db[_0x5262('0x47')][_0x5262('0x6c')]({'where':{'id':_0x3b3320[_0x5262('0x60')]['id']}})[_0x5262('0x12')](handleEntityNotFound(_0x152a75,null))[_0x5262('0x12')](function(_0x2675f8){if(_0x2675f8){return _0x2675f8[_0x5262('0x88')](null);}return null;})[_0x5262('0x12')](respondWithStatusCode(_0x152a75,null))[_0x5262('0x1c')](handleError(_0x152a75,null));};exports['addInteraction']=function(_0x246609,_0x128db9){return db[_0x5262('0x89')][_0x5262('0x61')]({'where':{'id':_0x246609[_0x5262('0x60')]['id']}})[_0x5262('0x12')](handleEntityNotFound(_0x128db9,null))[_0x5262('0x12')](function(_0xfcb0d0){if(_0xfcb0d0){return _0xfcb0d0[_0x5262('0x8a')](_0x246609['body']['ids'],_[_0x5262('0x8b')](_0x246609[_0x5262('0x62')],[_0x5262('0x70'),'id'])||{});}})['then'](respondWithResult(_0x128db9,null))['catch'](handleError(_0x128db9,null));};exports[_0x5262('0x8c')]=function(_0x4d10a8,_0x344ee6){var _0xd188ea={'raw':![],'where':{}};var _0x3fc488={};var _0x5c5895={'count':0x0,'rows':[]};return db[_0x5262('0x47')][_0x5262('0x6c')]({'where':{'id':_0x4d10a8[_0x5262('0x60')]['id']}})[_0x5262('0x12')](handleEntityNotFound(_0x344ee6,null))[_0x5262('0x12')](function(_0x40685a){if(_0x40685a){_0x3fc488['model']=_['keys'](db[_0x5262('0x89')][_0x5262('0x48')]);_0x3fc488[_0x5262('0x4e')]=_[_0x5262('0x4d')](_0x4d10a8[_0x5262('0x4e')]);_0x3fc488[_0x5262('0x4f')]=_['intersection'](_0x3fc488[_0x5262('0x4c')],_0x3fc488['query']);_0xd188ea['attributes']=_['intersection'](_0x3fc488[_0x5262('0x4c')],qs[_0x5262('0x52')](_0x4d10a8[_0x5262('0x4e')][_0x5262('0x52')]));_0xd188ea[_0x5262('0x51')]=_0xd188ea[_0x5262('0x51')][_0x5262('0x53')]?_0xd188ea[_0x5262('0x51')]:_0x3fc488[_0x5262('0x4c')];if(!_0x4d10a8[_0x5262('0x4e')][_0x5262('0x6d')]('nolimit')){_0xd188ea[_0x5262('0x23')]=qs[_0x5262('0x23')](_0x4d10a8['query']['limit']);_0xd188ea[_0x5262('0x21')]=qs[_0x5262('0x21')](_0x4d10a8[_0x5262('0x4e')]['offset']);}_0xd188ea[_0x5262('0x54')]=qs[_0x5262('0x55')](_0x4d10a8[_0x5262('0x4e')][_0x5262('0x55')]);_0xd188ea[_0x5262('0x58')]=qs[_0x5262('0x4f')](_[_0x5262('0x56')](_0x4d10a8[_0x5262('0x4e')],_0x3fc488[_0x5262('0x4f')]));_0xd188ea[_0x5262('0x58')][_0x5262('0x68')]=_0x40685a['id'];if(_0x4d10a8[_0x5262('0x4e')][_0x5262('0x57')]){_0xd188ea[_0x5262('0x58')]=_['merge'](_0xd188ea[_0x5262('0x58')],{'$or':_[_0x5262('0x74')](_0xd188ea[_0x5262('0x51')],function(_0x987362){var _0x5d1fc8={};_0x5d1fc8[_0x987362]={'$like':'%'+_0x4d10a8[_0x5262('0x4e')][_0x5262('0x57')]+'%'};return _0x5d1fc8;})});}_0xd188ea=_[_0x5262('0x59')]({},_0xd188ea,_0x4d10a8[_0x5262('0x5a')]);return db[_0x5262('0x89')][_0x5262('0x22')]({'where':_0xd188ea['where']})[_0x5262('0x12')](function(_0x715752){_0x5c5895[_0x5262('0x22')]=_0x715752;if(_0x4d10a8[_0x5262('0x4e')][_0x5262('0x5b')]){_0xd188ea[_0x5262('0x5c')]=[{'model':db[_0x5262('0x8d')],'as':_0x5262('0x8e'),'required':![]},{'model':db[_0x5262('0x8f')],'as':'Owner','attributes':[_0x5262('0x2a'),_0x5262('0x90'),_0x5262('0x91')],'required':![]},{'model':db['Tag'],'as':'Tags','attributes':['id','name','color'],'where':_0x4d10a8[_0x5262('0x4e')][_0x5262('0x92')]?{'id':_0x4d10a8['query']['tag']}:undefined,'required':_0x4d10a8[_0x5262('0x4e')][_0x5262('0x92')]?!![]:![]}];}return db[_0x5262('0x89')][_0x5262('0x5d')](_0xd188ea);})[_0x5262('0x12')](function(_0x58efbc){_0x5c5895['rows']=_0x58efbc;return _0x5c5895;});}})['then'](respondWithFilteredResult(_0x344ee6,_0xd188ea))[_0x5262('0x1c')](handleError(_0x344ee6,null));};exports[_0x5262('0x93')]=function addApplications(_0x1bd4ad,_0x291a24){var _0x1595aa=_0x1bd4ad[_0x5262('0x60')]['id'];var _0x32fde2=_0x1bd4ad[_0x5262('0x62')];var _0x47f965=0xc8;var _0x4a4294=null;return db[_0x5262('0x94')][_0x5262('0x95')]({'isolationLevel':db[_0x5262('0x94')][_0x5262('0x96')][_0x5262('0x97')][_0x5262('0x98')]},function(_0x358dcc){return db[_0x5262('0x47')]['findOne']({'where':{'id':_0x1595aa},'transaction':_0x358dcc})[_0x5262('0x12')](function(_0xc9ba1c){if(_0xc9ba1c){return db[_0x5262('0x99')][_0x5262('0x28')]({'where':{'MailAccountId':_0x1595aa},'transaction':_0x358dcc})[_0x5262('0x12')](function(){var _0x517cff=_['map'](_0x32fde2,function(_0x33fd4c){_0x33fd4c[_0x5262('0x68')]=_0x1595aa;return _0x33fd4c;});return db['MailApplication'][_0x5262('0x9a')](_0x517cff,{'transaction':_0x358dcc});});}else{_0x47f965=0x194;_0x4a4294=[];}});})[_0x5262('0x12')](function(){if(_0x47f965!==0x194){return db[_0x5262('0x99')][_0x5262('0x9b')]({'where':{'MailAccountId':_0x1595aa},'order':'priority'})[_0x5262('0x12')](function(_0x2b6721){_0x4a4294=_0x2b6721;});}})[_0x5262('0x1c')](function(_0x4321b9){_0x47f965=0x1f4;logger[_0x5262('0x17')](_0x4321b9['stack']);if(_0x4321b9[_0x5262('0x2a')]){delete _0x4321b9['name'];}_0x4a4294=_0x4321b9;})[_0x5262('0x9c')](function(){if(_0x4a4294===null){_0x291a24[_0x5262('0x1d')](_0x47f965);}else{if(_0x47f965===0x1f4){_0x291a24[_0x5262('0x1e')](_0x47f965)[_0x5262('0x2b')](_0x4a4294);}else{_0x291a24[_0x5262('0x1e')](_0x47f965)[_0x5262('0x20')](_0x4a4294);}}});};exports[_0x5262('0x9d')]=function(_0x2196f1,_0x20a05b){var _0x1b29c1={};var _0x30ef61={};var _0x506911;var _0x5b838e;return db[_0x5262('0x47')][_0x5262('0x6c')]({'where':{'id':_0x2196f1[_0x5262('0x60')]['id']}})[_0x5262('0x12')](handleEntityNotFound(_0x20a05b,null))[_0x5262('0x12')](function(_0x4bef04){if(_0x4bef04){_0x506911=_0x4bef04;_0x30ef61[_0x5262('0x4c')]=_[_0x5262('0x4d')](db[_0x5262('0x99')][_0x5262('0x48')]);_0x30ef61[_0x5262('0x4e')]=_[_0x5262('0x4d')](_0x2196f1[_0x5262('0x4e')]);_0x30ef61['filters']=_[_0x5262('0x50')](_0x30ef61['model'],_0x30ef61['query']);_0x1b29c1[_0x5262('0x51')]=_[_0x5262('0x50')](_0x30ef61['model'],qs[_0x5262('0x52')](_0x2196f1['query'][_0x5262('0x52')]));_0x1b29c1['attributes']=_0x1b29c1[_0x5262('0x51')][_0x5262('0x53')]?_0x1b29c1[_0x5262('0x51')]:_0x30ef61[_0x5262('0x4c')];_0x1b29c1[_0x5262('0x54')]=qs[_0x5262('0x55')](_0x2196f1['query'][_0x5262('0x55')]);_0x1b29c1[_0x5262('0x58')]=qs[_0x5262('0x4f')](_[_0x5262('0x56')](_0x2196f1[_0x5262('0x4e')],_0x30ef61['filters']));if(_0x2196f1[_0x5262('0x4e')][_0x5262('0x57')]){_0x1b29c1[_0x5262('0x58')]=_[_0x5262('0x59')](_0x1b29c1[_0x5262('0x58')],{'$or':_[_0x5262('0x74')](_0x1b29c1['attributes'],function(_0x564680){var _0x547eb5={};_0x547eb5[_0x564680]={'$like':'%'+_0x2196f1[_0x5262('0x4e')][_0x5262('0x57')]+'%'};return _0x547eb5;})});}_0x1b29c1=_[_0x5262('0x59')]({},_0x1b29c1,_0x2196f1[_0x5262('0x5a')]);return _0x506911[_0x5262('0x9d')](_0x1b29c1);}})['then'](function(_0x22b5b6){if(_0x22b5b6){_0x5b838e=_0x22b5b6['length'];if(!_0x2196f1[_0x5262('0x4e')][_0x5262('0x6d')]('nolimit')){_0x1b29c1['limit']=qs[_0x5262('0x23')](_0x2196f1[_0x5262('0x4e')][_0x5262('0x23')]);_0x1b29c1[_0x5262('0x21')]=qs[_0x5262('0x21')](_0x2196f1[_0x5262('0x4e')][_0x5262('0x21')]);}return _0x506911['getApplications'](_0x1b29c1);}})['then'](function(_0x1b0778){if(_0x1b0778){return _0x1b0778?{'count':_0x5b838e,'rows':_0x1b0778}:null;}})[_0x5262('0x12')](respondWithResult(_0x20a05b,null))['catch'](handleError(_0x20a05b,null));};exports[_0x5262('0x9e')]=function(_0xed4fdf,_0x55d9f4){var _0x5742d8={'raw':!![],'where':{}};var _0x14358d={};var _0x425447={'count':0x0,'rows':[]};return db[_0x5262('0x47')][_0x5262('0x6c')]({'where':{'id':_0xed4fdf['params']['id']}})['then'](handleEntityNotFound(_0x55d9f4,null))[_0x5262('0x12')](function(_0x9396e3){if(_0x9396e3){_0x14358d[_0x5262('0x4c')]=_[_0x5262('0x4d')](db[_0x5262('0x9f')]['rawAttributes']);_0x14358d['query']=_[_0x5262('0x4d')](_0xed4fdf[_0x5262('0x4e')]);_0x14358d[_0x5262('0x4f')]=_[_0x5262('0x50')](_0x14358d[_0x5262('0x4c')],_0x14358d[_0x5262('0x4e')]);_0x5742d8[_0x5262('0x51')]=_[_0x5262('0x50')](_0x14358d[_0x5262('0x4c')],qs[_0x5262('0x52')](_0xed4fdf['query']['fields']));_0x5742d8[_0x5262('0x51')]=_0x5742d8[_0x5262('0x51')][_0x5262('0x53')]?_0x5742d8['attributes']:_0x14358d[_0x5262('0x4c')];if(!_0xed4fdf[_0x5262('0x4e')][_0x5262('0x6d')](_0x5262('0x6e'))){_0x5742d8['limit']=qs[_0x5262('0x23')](_0xed4fdf[_0x5262('0x4e')]['limit']);_0x5742d8[_0x5262('0x21')]=qs[_0x5262('0x21')](_0xed4fdf['query'][_0x5262('0x21')]);}_0x5742d8[_0x5262('0x54')]=qs['sort'](_0xed4fdf[_0x5262('0x4e')]['sort']);_0x5742d8[_0x5262('0x58')]=qs[_0x5262('0x4f')](_[_0x5262('0x56')](_0xed4fdf[_0x5262('0x4e')],_0x14358d[_0x5262('0x4f')]));_0x5742d8['where'][_0x5262('0x68')]=_0x9396e3['id'];if(_0xed4fdf[_0x5262('0x4e')][_0x5262('0x57')]){_0x5742d8[_0x5262('0x58')]=_[_0x5262('0x59')](_0x5742d8[_0x5262('0x58')],{'$or':_['map'](_0x5742d8[_0x5262('0x51')],function(_0x32a9d6){var _0x4f0f0b={};_0x4f0f0b[_0x32a9d6]={'$like':'%'+_0xed4fdf[_0x5262('0x4e')][_0x5262('0x57')]+'%'};return _0x4f0f0b;})});}if(_0xed4fdf[_0x5262('0x4e')][_0x5262('0xa0')]){var _0x37e52c=_0xed4fdf[_0x5262('0x4e')][_0x5262('0xa0')]['split'](',');var _0x1f2359={};_0x1f2359[_0x37e52c[0x0]]={'$gte':moment(_0x37e52c[0x1])[_0x5262('0xa1')](_0x5262('0xa2'))};_0x5742d8[_0x5262('0x58')]=_[_0x5262('0x59')](_0x5742d8['where'],_0x1f2359);}_0x5742d8=_[_0x5262('0x59')]({},_0x5742d8,_0xed4fdf[_0x5262('0x5a')]);return db[_0x5262('0x9f')]['count']({'where':_0x5742d8[_0x5262('0x58')]})[_0x5262('0x12')](function(_0x3c3469){_0x425447[_0x5262('0x22')]=_0x3c3469;if(_0xed4fdf[_0x5262('0x4e')][_0x5262('0x5b')]){_0x5742d8[_0x5262('0x5c')]=[{'all':!![]}];}return db['MailMessage'][_0x5262('0x5d')](_0x5742d8);})[_0x5262('0x12')](function(_0x51d69d){if(_0xed4fdf[_0x5262('0x4e')][_0x5262('0xa3')]==='true'){for(var _0x1c7c47=0x0;_0x1c7c47<_0x51d69d[_0x5262('0x53')];_0x1c7c47++){_0x51d69d[_0x1c7c47][_0x5262('0x62')]=juice(_0x51d69d[_0x1c7c47]['body']);}}_0x425447[_0x5262('0x5e')]=_0x51d69d;return _0x425447;});}})[_0x5262('0x12')](respondWithFilteredResult(_0x55d9f4,_0x5742d8))[_0x5262('0x1c')](handleError(_0x55d9f4,null));};exports[_0x5262('0x2b')]=function(_0xf63af,_0x884a93){var _0x43894d,_0x9c91de={},_0x56434;if(_0xf63af['body']['to']){_0x56434=_0xf63af[_0x5262('0x62')]['to'][_0x5262('0xa4')](',')[0x0];}return db['MailAccount'][_0x5262('0x61')]({'where':{'id':_0xf63af['params']['id']},'include':[{'model':db[_0x5262('0xa5')],'as':_0x5262('0xa6'),'include':[{'model':db[_0x5262('0x8d')],'as':_0x5262('0xa7'),'where':{'email':_0x56434},'limit':0x1,'order':[[_0x5262('0xa8'),'DESC']]}]},{'model':db[_0x5262('0x44')],'as':_0x5262('0x43'),'raw':!![],'include':[{'model':db[_0x5262('0xa9')],'as':_0x5262('0xa9'),'raw':!![]}]}]})[_0x5262('0x12')](handleEntityNotFound(_0x884a93,null))[_0x5262('0x12')](function(_0x54e5a7){if(!_0x54e5a7)return;_0x43894d=_0x54e5a7;if(!_0x54e5a7[_0x5262('0x43')])throw new Error(_0x5262('0xaa'));if(_[_0x5262('0x77')](_0xf63af[_0x5262('0x62')]['from'])){_0xf63af[_0x5262('0x62')][_0x5262('0xab')]=util['format']('%s\x20<%s>',_0x54e5a7[_0x5262('0x2a')],_0x54e5a7[_0x5262('0xac')]||_0x54e5a7[_0x5262('0x43')][_0x5262('0x37')]);}if(_0xf63af[_0x5262('0x62')][_0x5262('0xad')]&&_0xf63af['body'][_0x5262('0xad')][_0x5262('0x53')]){for(var _0x54a058=0x0;_0x54a058<_0xf63af[_0x5262('0x62')][_0x5262('0xad')]['length'];_0x54a058+=0x1){_0xf63af['body'][_0x5262('0xad')][_0x54a058]={'filename':_0xf63af[_0x5262('0x62')][_0x5262('0xad')][_0x54a058][_0x5262('0x2a')],'path':path[_0x5262('0xae')](config[_0x5262('0xaf')],'server/files/attachments',_0xf63af[_0x5262('0x62')][_0x5262('0xad')][_0x54a058]['basename'])};}}var _0x3a1e26=_0x54e5a7['getSmtpOptions']();return respondWithRpcPromise(_0x5262('0xb0'),_0x5262('0xb1'),{'account':_0x3a1e26,'message':_0xf63af[_0x5262('0x62')]});})[_0x5262('0x12')](function(_0x19bab8){if(!_0x19bab8)return;_0x9c91de=_0x19bab8;if(!_0x43894d[_0x5262('0xa6')])throw new Error(_0x5262('0xb2'));if(_0x43894d['List'][_0x5262('0xa7')][_0x5262('0x53')])return _0x43894d[_0x5262('0xa6')][_0x5262('0xa7')][0x0];return db[_0x5262('0x8d')][_0x5262('0x6a')](_[_0x5262('0xb')](_0xf63af[_0x5262('0x62')],{'firstName':_0xf63af[_0x5262('0x62')]['to'],'email':_0xf63af[_0x5262('0x62')]['to'],'phone':_0xf63af[_0x5262('0x62')]['to'],'ListId':_0x43894d[_0x5262('0xb3')]}));})['then'](function(_0x45e10d){if(!_0x45e10d)return;var _0x14cd36={'UserId':_0xf63af[_0x5262('0x37')]['id'],'ContactId':_0x45e10d['id'],'MailAccountId':_0x43894d['id'],'inReplyTo':_0x9c91de[_0x5262('0xb4')],'to':_0xf63af[_0x5262('0x62')][_0x5262('0xab')],'cc':_0xf63af[_0x5262('0x62')]['cc'],'subject':_0xf63af['body'][_0x5262('0xb5')],'attach':_0xf63af[_0x5262('0x62')][_0x5262('0xb6')],'firstMsgDirection':_0x5262('0xb7'),'lastMsgAt':moment()['format'](_0x5262('0xa2')),'lastMsgDirection':_0x5262('0xb7'),'Messages':[_['merge'](_0xf63af[_0x5262('0x62')],{'messageId':_0x9c91de[_0x5262('0xb4')],'sentAt':moment()[_0x5262('0xa1')]('YYYY-MM-DD\x20HH:mm:ss'),'read':!![],'MailAccountId':_0x43894d['id'],'UserId':_0xf63af[_0x5262('0x37')]['id'],'ContactId':_0x45e10d['id']})]};if(_0xf63af[_0x5262('0x62')][_0x5262('0xb8')]){_0x14cd36=_['merge'](_0x14cd36,_0xf63af[_0x5262('0x62')][_0x5262('0xb8')]);}return db['MailInteraction'][_0x5262('0x6a')](_0x14cd36,{'include':[{'model':db['MailMessage'],'as':_0x5262('0xb9')}]});})[_0x5262('0x12')](respondWithResult(_0x884a93,null))[_0x5262('0x1c')](handleError(_0x884a93,null));};exports[_0x5262('0xba')]=function(_0x304c56,_0x32fb56){return db['MailAccount'][_0x5262('0x61')]({'where':{'id':_0x304c56[_0x5262('0x60')]['id']},'include':[{'model':db['MailServerOut'],'as':_0x5262('0x43'),'raw':!![],'include':[{'model':db[_0x5262('0xa9')],'as':'CloudProvider','raw':!![]}]}]})[_0x5262('0x12')](handleEntityNotFound(_0x32fb56,null))[_0x5262('0x12')](function(_0x35bedb){if(!_0x35bedb[_0x5262('0x43')])return;var _0x5e0db1=_0x35bedb['getSmtpOptions']();return respondWithRpcPromise(_0x5262('0xbb'),'verifySmtp',{'account':_0x5e0db1});})[_0x5262('0x12')](respondWithResult(_0x32fb56,null))[_0x5262('0x1c')](handleError(_0x32fb56,null));};exports[_0x5262('0x28')]=function(_0x48c3f3,_0x1d5e96){return db[_0x5262('0x47')][_0x5262('0x61')]({'where':{'id':_0x48c3f3[_0x5262('0x60')]['id']}})['then'](handleEntityNotFound(_0x1d5e96,null))[_0x5262('0x12')](function(_0x1938ec){if(_0x1938ec&&_0x1938ec[_0x5262('0x40')]){throw new db[(_0x5262('0xbc'))][(_0x5262('0xbd'))](_0x5262('0xbe'));}return _0x1938ec;})[_0x5262('0x12')](removeEntity(_0x1d5e96,null))['catch'](handleError(_0x1d5e96,null));};exports[_0x5262('0xbf')]=function(_0x37d2b8,_0x25a0e5){return db[_0x5262('0x47')]['find']({'where':{'id':_0x37d2b8['params']['id']}})[_0x5262('0x12')](handleEntityNotFound(_0x25a0e5,null))['then'](function(_0x320f73){if(_0x320f73){return _0x320f73[_0x5262('0xbf')](_0x37d2b8[_0x5262('0x62')][_0x5262('0x70')],_[_0x5262('0x8b')](_0x37d2b8[_0x5262('0x62')],[_0x5262('0x70'),'id'])||{})[_0x5262('0xc0')](function(_0x16ec95){for(var _0x465bc7=0x0;_0x465bc7<_0x37d2b8[_0x5262('0x62')][_0x5262('0x70')]['length'];_0x465bc7+=0x1){socket['emit'](_0x5262('0xc1'),{'UserId':Number(_0x37d2b8['body'][_0x5262('0x70')][_0x465bc7]),'MailAccountId':Number(_0x37d2b8[_0x5262('0x60')]['id'])});}return _0x16ec95;});}})[_0x5262('0x12')](respondWithResult(_0x25a0e5,null))[_0x5262('0x1c')](handleError(_0x25a0e5,null));};exports[_0x5262('0xc2')]=function(_0x5d3f8b,_0xafceef){return db['MailAccount'][_0x5262('0x61')]({'where':{'id':_0x5d3f8b[_0x5262('0x60')]['id']}})[_0x5262('0x12')](handleEntityNotFound(_0xafceef,null))[_0x5262('0x12')](function(_0x2e339d){if(_0x2e339d){return _0x2e339d[_0x5262('0xc2')](_0x5d3f8b[_0x5262('0x4e')][_0x5262('0x70')])[_0x5262('0x12')](function(){if(_['isArray'](_0x5d3f8b[_0x5262('0x4e')][_0x5262('0x70')])){for(var _0x2e256f=0x0;_0x2e256f<_0x5d3f8b[_0x5262('0x4e')][_0x5262('0x70')][_0x5262('0x53')];_0x2e256f+=0x1){socket[_0x5262('0xc3')]('userMailAccount:remove',{'UserId':Number(_0x5d3f8b[_0x5262('0x4e')][_0x5262('0x70')][_0x2e256f]),'MailAccountId':Number(_0x5d3f8b[_0x5262('0x60')]['id'])});}}else{socket[_0x5262('0xc3')]('userMailAccount:remove',{'UserId':Number(_0x5d3f8b['query'][_0x5262('0x70')]),'MailAccountId':Number(_0x5d3f8b[_0x5262('0x60')]['id'])});}});}})[_0x5262('0x12')](respondWithStatusCode(_0xafceef,null))[_0x5262('0x1c')](handleError(_0xafceef,null));};exports[_0x5262('0xc4')]=function(_0x3269e8,_0x39f61a){var _0x7a5a54={};var _0x5a5503={};var _0x552447;var _0x4741e5;return db[_0x5262('0x47')][_0x5262('0x6c')]({'where':{'id':_0x3269e8[_0x5262('0x60')]['id']}})[_0x5262('0x12')](handleEntityNotFound(_0x39f61a,null))[_0x5262('0x12')](function(_0x26386c){if(_0x26386c){_0x552447=_0x26386c;_0x5a5503[_0x5262('0x4c')]=_[_0x5262('0x4d')](db['User'][_0x5262('0x48')]);_0x5a5503['query']=_[_0x5262('0x4d')](_0x3269e8[_0x5262('0x4e')]);_0x5a5503['filters']=_['intersection'](_0x5a5503[_0x5262('0x4c')],_0x5a5503[_0x5262('0x4e')]);_0x7a5a54[_0x5262('0x51')]=_[_0x5262('0x50')](_0x5a5503[_0x5262('0x4c')],qs[_0x5262('0x52')](_0x3269e8[_0x5262('0x4e')][_0x5262('0x52')]));_0x7a5a54[_0x5262('0x51')]=_0x7a5a54[_0x5262('0x51')][_0x5262('0x53')]?_0x7a5a54[_0x5262('0x51')]:_0x5a5503[_0x5262('0x4c')];_0x7a5a54[_0x5262('0x54')]=qs[_0x5262('0x55')](_0x3269e8[_0x5262('0x4e')][_0x5262('0x55')]);_0x7a5a54['where']=qs['filters'](_[_0x5262('0x56')](_0x3269e8['query'],_0x5a5503['filters']));if(_0x3269e8[_0x5262('0x4e')][_0x5262('0x57')]){_0x7a5a54[_0x5262('0x58')]=_['merge'](_0x7a5a54[_0x5262('0x58')],{'$or':_[_0x5262('0x74')](_0x7a5a54[_0x5262('0x51')],function(_0x31c61f){var _0x5e683c={};_0x5e683c[_0x31c61f]={'$like':'%'+_0x3269e8[_0x5262('0x4e')][_0x5262('0x57')]+'%'};return _0x5e683c;})});}_0x7a5a54=_['merge']({},_0x7a5a54,_0x3269e8['options']);return _0x552447[_0x5262('0xc4')](_0x7a5a54);}})[_0x5262('0x12')](function(_0x246fcc){if(_0x246fcc){_0x4741e5=_0x246fcc['length'];if(!_0x3269e8[_0x5262('0x4e')]['hasOwnProperty'](_0x5262('0x6e'))){_0x7a5a54[_0x5262('0x23')]=qs[_0x5262('0x23')](_0x3269e8['query'][_0x5262('0x23')]);_0x7a5a54['offset']=qs[_0x5262('0x21')](_0x3269e8[_0x5262('0x4e')]['offset']);}return _0x552447[_0x5262('0xc4')](_0x7a5a54);}})[_0x5262('0x12')](function(_0x2683b9){if(_0x2683b9){return _0x2683b9?{'count':_0x4741e5,'rows':_0x2683b9}:null;}})['then'](respondWithResult(_0x39f61a,null))[_0x5262('0x1c')](handleError(_0x39f61a,null));};