Built motion from commit 85328c08.|2.5.50
[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 _0xa84d=['result','sendStatus','status','end','offset','undefined','limit','count','set','json','update','destroy','then','get','MailAccounts','UserProfileResource','stack','name','send','gmail','yahoo','hotmail','imap-mail.outlook.com','outlook365','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp.gmail.com','smtp.mail.yahoo.com','smtp-mail.outlook.com','smtp.office365.com','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Smtp','MailServerIn','Imap','MailServerOut','Pause','mandatoryDispositionPause','map','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','options','MailAccount','includeAll','include','findAll','rows','catch','show','params','find','body','provider','custom','Mail\x20Account\x20not\x20found','describe','Disposition','create','getDispositions','findOne','order','removeDispositions','ids','addAnswer','MailAccountId','CannedAnswer','getAnswers','email','ListId','isNil','active','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','removeImap','setImap','getSmtp','addSmtp','addInteraction','omit','getInteractions','MailInteraction','Contact','User','Owner','fullname','Tags','color','tag','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','MailApplication','bulkCreate','priority','finally','getApplications','getMessages','$gte','split','format','inlineCss','true','CmList','List','CmContact','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','from','%s\x20<%s>','attachments','join','getSmtpOptions','List\x20not\x20found','Contacts','messageId','attach','out','YYYY-MM-DD\x20HH:mm:ss','Interaction','Messages','verifySmtp','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','emit','removeAgents','isArray','userMailAccount:remove','getAgents','bluebird','util','lodash','juice','ioredis','../../components/parsers/qs','api','../../config/environment','redis','defaults','localhost','./mailAccount.socket','client','request','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message'];(function(_0x53ccf2,_0x13cb67){var _0x5a2964=function(_0x3b0514){while(--_0x3b0514){_0x53ccf2['push'](_0x53ccf2['shift']());}};_0x5a2964(++_0x13cb67);}(_0xa84d,0x159));var _0xda84=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xa84d[_0x3dd15e];return _0x231fd0;};'use strict';var moment=require('moment');var BPromise=require(_0xda84('0x0'));var util=require(_0xda84('0x1'));var path=require('path');var _=require(_0xda84('0x2'));var juice=require(_0xda84('0x3'));var Redis=require(_0xda84('0x4'));var qs=require(_0xda84('0x5'));var logger=require('../../config/logger')(_0xda84('0x6'));var config=require(_0xda84('0x7'));var db=require('../../mysqldb')['db'];config[_0xda84('0x8')]=_[_0xda84('0x9')](config[_0xda84('0x8')],{'host':_0xda84('0xa'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0xda84('0xb'))['register'](socket);var jayson=require('jayson/promise');var client=jayson[_0xda84('0xc')]['http']({'port':0x232b});function respondWithRpcPromise(_0x465351,_0x4b3150,_0x12a1f7,_0x5ae261){return new BPromise(function(_0x4462ca,_0x5e008a){var _0x5c0205=_0x5ae261||client;return _0x5c0205[_0xda84('0xd')](_0x465351,_0x12a1f7)['then'](function(_0x3f0a47){logger[_0xda84('0xe')](_0xda84('0xf'),_0x4b3150,_0xda84('0x10'));logger[_0xda84('0x11')](_0xda84('0x12'),_0x4b3150,'request\x20sent',JSON[_0xda84('0x13')](_0x3f0a47));if(_0x3f0a47[_0xda84('0x14')]){if(_0x3f0a47[_0xda84('0x14')][_0xda84('0x15')]===0x1f4){logger[_0xda84('0x14')]('MailAccount,\x20%s,\x20%s',_0x4b3150,_0x3f0a47[_0xda84('0x14')][_0xda84('0x16')]);return _0x5e008a(_0x3f0a47[_0xda84('0x14')]['message']);}logger[_0xda84('0x14')](_0xda84('0xf'),_0x4b3150,_0x3f0a47[_0xda84('0x14')][_0xda84('0x16')]);return _0x4462ca(_0x3f0a47['error'][_0xda84('0x16')]);}else{logger[_0xda84('0xe')](_0xda84('0xf'),_0x4b3150,_0xda84('0x10'));_0x4462ca(_0x3f0a47[_0xda84('0x17')]['message']);}})['catch'](function(_0x4d7133){logger[_0xda84('0x14')](_0xda84('0xf'),_0x4b3150,_0x4d7133);_0x5e008a(_0x4d7133);});});}function respondWithStatusCode(_0x13fa5f,_0x5a8e3b){_0x5a8e3b=_0x5a8e3b||0xcc;return function(_0x456493){if(_0x456493){return _0x13fa5f[_0xda84('0x18')](_0x5a8e3b);}return _0x13fa5f[_0xda84('0x19')](_0x5a8e3b)[_0xda84('0x1a')]();};}function respondWithResult(_0x22f8d4,_0x50b04d){_0x50b04d=_0x50b04d||0xc8;return function(_0x53bc05){if(_0x53bc05){return _0x22f8d4[_0xda84('0x19')](_0x50b04d)['json'](_0x53bc05);}};}function respondWithFilteredResult(_0x10cac5,_0x512aed){return function(_0xfd637f){if(_0xfd637f){var _0x27d45b=typeof _0x512aed[_0xda84('0x1b')]===_0xda84('0x1c')&&typeof _0x512aed[_0xda84('0x1d')]===_0xda84('0x1c');var _0x21e7dd=_0xfd637f[_0xda84('0x1e')];var _0x347342=_0x27d45b?0x0:_0x512aed[_0xda84('0x1b')];var _0x569041=_0x27d45b?_0xfd637f['count']:_0x512aed['offset']+_0x512aed[_0xda84('0x1d')];var _0x4c35e6;if(_0x569041>=_0x21e7dd){_0x569041=_0x21e7dd;_0x4c35e6=0xc8;}else{_0x4c35e6=0xce;}_0x10cac5[_0xda84('0x19')](_0x4c35e6);return _0x10cac5[_0xda84('0x1f')]('Content-Range',_0x347342+'-'+_0x569041+'/'+_0x21e7dd)[_0xda84('0x20')](_0xfd637f);}return null;};}function saveUpdates(_0x278e2d){return function(_0x27c6c2){if(_0x27c6c2){return _0x27c6c2[_0xda84('0x21')](_0x278e2d)['then'](function(_0x123104){return _0x123104;});}return null;};}function removeEntity(_0x1e93a2){return function(_0x5cbedc){if(_0x5cbedc){return _0x5cbedc[_0xda84('0x22')]()[_0xda84('0x23')](function(){var _0x43ed9c=_0x5cbedc[_0xda84('0x24')]({'plain':!![]});var _0xbba4ab=_0xda84('0x25');return db[_0xda84('0x26')][_0xda84('0x22')]({'where':{'type':_0xbba4ab,'resourceId':_0x43ed9c['id']}})[_0xda84('0x23')](function(){return _0x5cbedc;});})[_0xda84('0x23')](function(){_0x1e93a2[_0xda84('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x48c3bb){return function(_0x3e8189){if(!_0x3e8189){_0x48c3bb['sendStatus'](0x194);}return _0x3e8189;};}function handleError(_0x4b9657,_0x3fa29e){_0x3fa29e=_0x3fa29e||0x1f4;return function(_0x2fd14a){logger[_0xda84('0x14')](_0x2fd14a[_0xda84('0x27')]);if(_0x2fd14a[_0xda84('0x28')]){delete _0x2fd14a[_0xda84('0x28')];}_0x4b9657[_0xda84('0x19')](_0x3fa29e)[_0xda84('0x29')](_0x2fd14a);};}function getImapHost(_0x47a2c5){switch(_0x47a2c5){case _0xda84('0x2a'):return'imap.gmail.com';case _0xda84('0x2b'):return'imap.mail.yahoo.com';case _0xda84('0x2c'):return _0xda84('0x2d');case _0xda84('0x2e'):return _0xda84('0x2f');}throw new Error(_0xda84('0x30'),_0x47a2c5);}function getSmtpHost(_0x4e3eae){switch(_0x4e3eae){case _0xda84('0x2a'):return _0xda84('0x31');case _0xda84('0x2b'):return _0xda84('0x32');case _0xda84('0x2c'):return _0xda84('0x33');case _0xda84('0x2e'):return _0xda84('0x34');}throw new Error(_0xda84('0x30'),_0x4e3eae);}function getAuthenticationOptions(_0x32e25f,_0x13ff3b){var _0x40ce6e={};var _0x406922={};if(_0x32e25f){_0x40ce6e[_0xda84('0x35')]=_0x406922[_0xda84('0x35')]=_0x13ff3b[_0xda84('0x36')];_0x40ce6e[_0xda84('0x37')]=_0x406922[_0xda84('0x38')]=_0x13ff3b['password'];if(_0x13ff3b[_0xda84('0x39')]){_0x40ce6e[_0xda84('0x39')]=_0x406922[_0xda84('0x39')]=!![];_0x40ce6e[_0xda84('0x3a')]=_0x406922[_0xda84('0x3a')]=_0x13ff3b[_0xda84('0x3a')];_0x40ce6e[_0xda84('0x37')]=_0x406922['pass']=null;}else{_0x40ce6e[_0xda84('0x3a')]=_0x406922[_0xda84('0x3a')]=null;}_0x40ce6e[_0xda84('0x3b')]=getImapHost(_0x32e25f);_0x40ce6e[_0xda84('0x3c')]=0x3e1;_0x406922[_0xda84('0x3b')]=getSmtpHost(_0x32e25f);_0x406922['port']=0x24b;_0x406922[_0xda84('0x3d')]=![];_0x40ce6e['service']=_0x406922[_0xda84('0x3e')]=null;}else{if(_0x13ff3b[_0xda84('0x3f')]){_0x40ce6e[_0xda84('0x35')]=_0x406922[_0xda84('0x35')]=_0x13ff3b[_0xda84('0x36')];_0x40ce6e[_0xda84('0x37')]=_0x406922[_0xda84('0x38')]=_0x13ff3b['password'];}else{_0x40ce6e[_0xda84('0x3f')]=_0x406922[_0xda84('0x3f')]=![];_0x40ce6e[_0xda84('0x35')]=_0x406922['user']=null;_0x40ce6e['password']=_0x406922['pass']=null;}_0x40ce6e[_0xda84('0x3b')]=_0x13ff3b['Imap']['host'];_0x40ce6e[_0xda84('0x3c')]=_0x13ff3b['Imap']['port'];_0x406922[_0xda84('0x3b')]=_0x13ff3b[_0xda84('0x40')][_0xda84('0x3b')];_0x406922['port']=_0x13ff3b[_0xda84('0x40')][_0xda84('0x3c')];}return{'Imap':_0x40ce6e,'Smtp':_0x406922};}exports['index']=function(_0x380769,_0x6fdfca){var _0xf43a61={'include':[{'model':db[_0xda84('0x41')],'as':_0xda84('0x42')},{'model':db[_0xda84('0x43')],'as':_0xda84('0x40')},{'model':db[_0xda84('0x44')],'as':_0xda84('0x45')}]},_0x330aff={},_0x5ad143={'count':0x0,'rows':[]};var _0x45d9c7=_[_0xda84('0x46')](db['MailAccount'][_0xda84('0x47')],function(_0xca3b7b){return{'name':_0xca3b7b[_0xda84('0x48')],'type':_0xca3b7b[_0xda84('0x49')][_0xda84('0x4a')]};});_0x330aff['model']=_[_0xda84('0x46')](_0x45d9c7,_0xda84('0x28'));_0x330aff[_0xda84('0x4b')]=_[_0xda84('0x4c')](_0x380769[_0xda84('0x4b')]);_0x330aff[_0xda84('0x4d')]=_[_0xda84('0x4e')](_0x330aff[_0xda84('0x4f')],_0x330aff['query']);_0xf43a61['attributes']=_[_0xda84('0x4e')](_0x330aff[_0xda84('0x4f')],qs[_0xda84('0x50')](_0x380769[_0xda84('0x4b')][_0xda84('0x50')]));_0xf43a61[_0xda84('0x51')]=_0xf43a61[_0xda84('0x51')][_0xda84('0x52')]?_0xf43a61[_0xda84('0x51')]:_0x330aff['model'];if(!_0x380769[_0xda84('0x4b')][_0xda84('0x53')](_0xda84('0x54'))){_0xf43a61[_0xda84('0x1d')]=qs['limit'](_0x380769[_0xda84('0x4b')][_0xda84('0x1d')]);_0xf43a61[_0xda84('0x1b')]=qs[_0xda84('0x1b')](_0x380769[_0xda84('0x4b')][_0xda84('0x1b')]);}_0xf43a61['order']=qs['sort'](_0x380769[_0xda84('0x4b')][_0xda84('0x55')]);_0xf43a61[_0xda84('0x56')]=qs[_0xda84('0x4d')](_[_0xda84('0x57')](_0x380769[_0xda84('0x4b')],_0x330aff['filters']),_0x45d9c7);if(_0x380769[_0xda84('0x4b')][_0xda84('0x58')]){_0xf43a61[_0xda84('0x56')]=_[_0xda84('0x59')](_0xf43a61['where'],{'$or':_[_0xda84('0x46')](_0x45d9c7,function(_0x2ee31e){if(_0x2ee31e['type']!=='VIRTUAL'){var _0x1d84f8={};_0x1d84f8[_0x2ee31e[_0xda84('0x28')]]={'$like':'%'+_0x380769[_0xda84('0x4b')][_0xda84('0x58')]+'%'};return _0x1d84f8;}})});}_0xf43a61=_['merge']({},_0xf43a61,_0x380769[_0xda84('0x5a')]);var _0x1fbdb4={'where':_0xf43a61[_0xda84('0x56')]};return db[_0xda84('0x5b')]['count'](_0x1fbdb4)[_0xda84('0x23')](function(_0x2a22ba){_0x5ad143[_0xda84('0x1e')]=_0x2a22ba;if(_0x380769[_0xda84('0x4b')][_0xda84('0x5c')]){_0xf43a61[_0xda84('0x5d')]=[{'all':!![]}];}return db[_0xda84('0x5b')][_0xda84('0x5e')](_0xf43a61);})[_0xda84('0x23')](function(_0x3cbe3c){_0x5ad143[_0xda84('0x5f')]=_0x3cbe3c;return _0x5ad143;})['then'](respondWithFilteredResult(_0x6fdfca,_0xf43a61))[_0xda84('0x60')](handleError(_0x6fdfca,null));};exports[_0xda84('0x61')]=function(_0x2416a6,_0x194e5a){var _0x420b10={'raw':![],'where':{'id':_0x2416a6[_0xda84('0x62')]['id']},'include':[{'model':db[_0xda84('0x41')],'as':_0xda84('0x42')},{'model':db[_0xda84('0x43')],'as':_0xda84('0x40')},{'model':db[_0xda84('0x44')],'as':_0xda84('0x45')}]},_0xcecd3b={};_0xcecd3b['model']=_['keys'](db['MailAccount'][_0xda84('0x47')]);_0xcecd3b[_0xda84('0x4b')]=_[_0xda84('0x4c')](_0x2416a6[_0xda84('0x4b')]);_0xcecd3b[_0xda84('0x4d')]=_[_0xda84('0x4e')](_0xcecd3b[_0xda84('0x4f')],_0xcecd3b['query']);_0x420b10[_0xda84('0x51')]=_[_0xda84('0x4e')](_0xcecd3b[_0xda84('0x4f')],qs[_0xda84('0x50')](_0x2416a6[_0xda84('0x4b')][_0xda84('0x50')]));_0x420b10[_0xda84('0x51')]=_0x420b10[_0xda84('0x51')][_0xda84('0x52')]?_0x420b10[_0xda84('0x51')]:_0xcecd3b['model'];if(_0x2416a6[_0xda84('0x4b')][_0xda84('0x5c')]){_0x420b10[_0xda84('0x5d')]=[{'all':!![]}];}_0x420b10=_[_0xda84('0x59')]({},_0x420b10,_0x2416a6[_0xda84('0x5a')]);return db[_0xda84('0x5b')][_0xda84('0x63')](_0x420b10)['then'](handleEntityNotFound(_0x194e5a,null))[_0xda84('0x23')](respondWithResult(_0x194e5a,null))[_0xda84('0x60')](handleError(_0x194e5a,null));};exports[_0xda84('0x21')]=function(_0x13dbc3,_0x14e904){if(_0x13dbc3[_0xda84('0x64')]['id']){delete _0x13dbc3[_0xda84('0x64')]['id'];}var _0x2f7f52=_0x13dbc3[_0xda84('0x64')][_0xda84('0x65')]===_0xda84('0x66')?null:_0x13dbc3[_0xda84('0x64')]['provider'];var _0x342287=_0x13dbc3[_0xda84('0x64')]['Imap']||{};var _0x1d29ba=_0x13dbc3['body'][_0xda84('0x40')]||{};if(_0x2f7f52){_0x342287[_0xda84('0x3b')]=getImapHost(_0x2f7f52);_0x342287[_0xda84('0x3c')]=0x3e1;_0x1d29ba[_0xda84('0x3b')]=getSmtpHost(_0x2f7f52);_0x1d29ba[_0xda84('0x3c')]=0x24b;_0x1d29ba[_0xda84('0x3d')]=![];}if(_0x1d29ba[_0xda84('0x39')]){_0x1d29ba[_0xda84('0x3d')]=![];}else{_0x1d29ba[_0xda84('0x3a')]=null;}if(!_0x342287['modernAuthentication'])_0x342287[_0xda84('0x3a')]=null;_0x13dbc3['body'][_0xda84('0x42')]=_0x342287;_0x13dbc3[_0xda84('0x64')][_0xda84('0x40')]=_0x1d29ba;return db[_0xda84('0x5b')][_0xda84('0x63')]({'where':{'id':_0x13dbc3[_0xda84('0x62')]['id']},'include':[{'model':db[_0xda84('0x41')],'as':_0xda84('0x42')},{'model':db[_0xda84('0x43')],'as':_0xda84('0x40')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]})[_0xda84('0x23')](handleEntityNotFound(_0x14e904,null))['then'](function(_0x582125){if(!_0x582125)throw new Error(_0xda84('0x67'));if(_0x582125[_0xda84('0x3e')])delete _0x13dbc3['body'][_0xda84('0x42')];return _0x582125;})[_0xda84('0x23')](saveUpdates(_0x13dbc3[_0xda84('0x64')],null))[_0xda84('0x23')](function(_0x2e75c6){if(!_0x13dbc3['body'][_0xda84('0x42')])return _0x2e75c6;return db[_0xda84('0x41')][_0xda84('0x21')](_0x13dbc3['body']['Imap'],{'where':{'MailAccountId':_0x2e75c6['id']}})[_0xda84('0x23')](function(){return _0x2e75c6;});})[_0xda84('0x23')](function(_0x46d815){if(!_0x13dbc3[_0xda84('0x64')][_0xda84('0x40')])return _0x46d815;return db[_0xda84('0x43')][_0xda84('0x21')](_0x13dbc3[_0xda84('0x64')][_0xda84('0x40')],{'where':{'MailAccountId':_0x46d815['id']}})['then'](function(){return _0x46d815;});})['then'](respondWithResult(_0x14e904,null))[_0xda84('0x60')](handleError(_0x14e904,null));};exports[_0xda84('0x68')]=function(_0x52363e,_0x2d1b4f){return db[_0xda84('0x5b')][_0xda84('0x68')]()[_0xda84('0x23')](respondWithResult(_0x2d1b4f,null))['catch'](handleError(_0x2d1b4f,null));};exports['addDisposition']=function(_0x30cbbd,_0x540594){if(_0x30cbbd[_0xda84('0x64')]['id']){delete _0x30cbbd[_0xda84('0x64')]['id'];}return db[_0xda84('0x5b')][_0xda84('0x63')]({'where':{'id':_0x30cbbd['params']['id']}})[_0xda84('0x23')](handleEntityNotFound(_0x540594,null))[_0xda84('0x23')](function(_0x5afdcb){if(_0x5afdcb){_0x30cbbd[_0xda84('0x64')]['MailAccountId']=_0x5afdcb['id'];return db[_0xda84('0x69')][_0xda84('0x6a')](_0x30cbbd['body']);}})[_0xda84('0x23')](respondWithResult(_0x540594,null))[_0xda84('0x60')](handleError(_0x540594,null));};exports[_0xda84('0x6b')]=function(_0x23d527,_0x4aec6d){var _0x3360e7={'raw':![],'where':{}};var _0x3e33e0={};var _0x3949aa={'count':0x0,'rows':[]};return db[_0xda84('0x5b')][_0xda84('0x6c')]({'where':{'id':_0x23d527[_0xda84('0x62')]['id']}})[_0xda84('0x23')](handleEntityNotFound(_0x4aec6d,null))['then'](function(_0x1f264c){if(_0x1f264c){_0x3e33e0[_0xda84('0x4f')]=_['keys'](db[_0xda84('0x69')][_0xda84('0x47')]);_0x3e33e0[_0xda84('0x4b')]=_['keys'](_0x23d527[_0xda84('0x4b')]);_0x3e33e0[_0xda84('0x4d')]=_['intersection'](_0x3e33e0['model'],_0x3e33e0[_0xda84('0x4b')]);_0x3360e7['attributes']=_[_0xda84('0x4e')](_0x3e33e0['model'],qs[_0xda84('0x50')](_0x23d527[_0xda84('0x4b')][_0xda84('0x50')]));_0x3360e7[_0xda84('0x51')]=_0x3360e7[_0xda84('0x51')][_0xda84('0x52')]?_0x3360e7[_0xda84('0x51')]:_0x3e33e0[_0xda84('0x4f')];if(!_0x23d527[_0xda84('0x4b')][_0xda84('0x53')]('nolimit')){_0x3360e7[_0xda84('0x1d')]=qs[_0xda84('0x1d')](_0x23d527[_0xda84('0x4b')][_0xda84('0x1d')]);_0x3360e7['offset']=qs['offset'](_0x23d527[_0xda84('0x4b')]['offset']);}_0x3360e7[_0xda84('0x6d')]=qs[_0xda84('0x55')](_0x23d527[_0xda84('0x4b')][_0xda84('0x55')]);_0x3360e7['where']=qs['filters'](_[_0xda84('0x57')](_0x23d527[_0xda84('0x4b')],_0x3e33e0['filters']));_0x3360e7['where']['MailAccountId']=_0x1f264c['id'];if(_0x23d527['query'][_0xda84('0x58')]){_0x3360e7[_0xda84('0x56')]=_['merge'](_0x3360e7[_0xda84('0x56')],{'$or':_[_0xda84('0x46')](_0x3360e7[_0xda84('0x51')],function(_0x52d2e3){var _0x1987e={};_0x1987e[_0x52d2e3]={'$like':'%'+_0x23d527[_0xda84('0x4b')][_0xda84('0x58')]+'%'};return _0x1987e;})});}_0x3360e7=_[_0xda84('0x59')]({},_0x3360e7,_0x23d527[_0xda84('0x5a')]);return db[_0xda84('0x69')][_0xda84('0x1e')]({'where':_0x3360e7[_0xda84('0x56')]})[_0xda84('0x23')](function(_0x442b5d){_0x3949aa[_0xda84('0x1e')]=_0x442b5d;if(_0x23d527[_0xda84('0x4b')][_0xda84('0x5c')]){_0x3360e7[_0xda84('0x5d')]=[{'all':!![]}];}return db[_0xda84('0x69')][_0xda84('0x5e')](_0x3360e7);})['then'](function(_0x54ccf0){_0x3949aa[_0xda84('0x5f')]=_0x54ccf0;return _0x3949aa;});}})[_0xda84('0x23')](respondWithFilteredResult(_0x4aec6d,_0x3360e7))[_0xda84('0x60')](handleError(_0x4aec6d,null));};exports[_0xda84('0x6e')]=function(_0x4021fc,_0x3ae5b6){return db[_0xda84('0x5b')][_0xda84('0x63')]({'where':{'id':_0x4021fc[_0xda84('0x62')]['id']}})[_0xda84('0x23')](handleEntityNotFound(_0x3ae5b6,null))[_0xda84('0x23')](function(_0x1d40ab){if(_0x1d40ab){return _0x1d40ab[_0xda84('0x6e')](_0x4021fc[_0xda84('0x4b')][_0xda84('0x6f')]);}})[_0xda84('0x23')](respondWithStatusCode(_0x3ae5b6,null))['catch'](handleError(_0x3ae5b6,null));};exports[_0xda84('0x70')]=function(_0x2d2316,_0x36c3d0){if(_0x2d2316[_0xda84('0x64')]['id']){delete _0x2d2316['body']['id'];}return db['MailAccount'][_0xda84('0x63')]({'where':{'id':_0x2d2316[_0xda84('0x62')]['id']}})[_0xda84('0x23')](handleEntityNotFound(_0x36c3d0,null))[_0xda84('0x23')](function(_0x4587de){if(_0x4587de){_0x2d2316['body'][_0xda84('0x71')]=_0x4587de['id'];return db[_0xda84('0x72')][_0xda84('0x6a')](_0x2d2316['body']);}})[_0xda84('0x23')](respondWithResult(_0x36c3d0,null))[_0xda84('0x60')](handleError(_0x36c3d0,null));};exports[_0xda84('0x73')]=function(_0xc97eb3,_0x46e554){var _0x159c15={'raw':![],'where':{}};var _0xc549a5={};var _0x535622={'count':0x0,'rows':[]};return db[_0xda84('0x5b')][_0xda84('0x6c')]({'where':{'id':_0xc97eb3[_0xda84('0x62')]['id']}})[_0xda84('0x23')](handleEntityNotFound(_0x46e554,null))[_0xda84('0x23')](function(_0x6446c7){if(_0x6446c7){_0xc549a5[_0xda84('0x4f')]=_[_0xda84('0x4c')](db[_0xda84('0x72')][_0xda84('0x47')]);_0xc549a5[_0xda84('0x4b')]=_[_0xda84('0x4c')](_0xc97eb3[_0xda84('0x4b')]);_0xc549a5[_0xda84('0x4d')]=_['intersection'](_0xc549a5[_0xda84('0x4f')],_0xc549a5[_0xda84('0x4b')]);_0x159c15[_0xda84('0x51')]=_['intersection'](_0xc549a5[_0xda84('0x4f')],qs[_0xda84('0x50')](_0xc97eb3[_0xda84('0x4b')]['fields']));_0x159c15[_0xda84('0x51')]=_0x159c15[_0xda84('0x51')][_0xda84('0x52')]?_0x159c15[_0xda84('0x51')]:_0xc549a5[_0xda84('0x4f')];if(!_0xc97eb3[_0xda84('0x4b')][_0xda84('0x53')](_0xda84('0x54'))){_0x159c15[_0xda84('0x1d')]=qs[_0xda84('0x1d')](_0xc97eb3['query'][_0xda84('0x1d')]);_0x159c15['offset']=qs[_0xda84('0x1b')](_0xc97eb3['query'][_0xda84('0x1b')]);}_0x159c15[_0xda84('0x6d')]=qs[_0xda84('0x55')](_0xc97eb3['query'][_0xda84('0x55')]);_0x159c15[_0xda84('0x56')]=qs[_0xda84('0x4d')](_['pick'](_0xc97eb3[_0xda84('0x4b')],_0xc549a5[_0xda84('0x4d')]));_0x159c15[_0xda84('0x56')][_0xda84('0x71')]=_0x6446c7['id'];if(_0xc97eb3['query'][_0xda84('0x58')]){_0x159c15[_0xda84('0x56')]=_['merge'](_0x159c15[_0xda84('0x56')],{'$or':_['map'](_0x159c15[_0xda84('0x51')],function(_0xd2dfc9){var _0xfae4={};_0xfae4[_0xd2dfc9]={'$like':'%'+_0xc97eb3['query'][_0xda84('0x58')]+'%'};return _0xfae4;})});}_0x159c15=_[_0xda84('0x59')]({},_0x159c15,_0xc97eb3[_0xda84('0x5a')]);return db[_0xda84('0x72')]['count']({'where':_0x159c15[_0xda84('0x56')]})['then'](function(_0x3aaa5c){_0x535622['count']=_0x3aaa5c;if(_0xc97eb3['query'][_0xda84('0x5c')]){_0x159c15['include']=[{'all':!![]}];}return db['CannedAnswer'][_0xda84('0x5e')](_0x159c15);})[_0xda84('0x23')](function(_0x582306){_0x535622[_0xda84('0x5f')]=_0x582306;return _0x535622;});}})[_0xda84('0x23')](respondWithFilteredResult(_0x46e554,_0x159c15))[_0xda84('0x60')](handleError(_0x46e554,null));};exports['removeAnswers']=function(_0x5625b1,_0x1f3151){return db[_0xda84('0x5b')][_0xda84('0x63')]({'where':{'id':_0x5625b1['params']['id']}})[_0xda84('0x23')](handleEntityNotFound(_0x1f3151,null))['then'](function(_0x2aa012){if(_0x2aa012){return _0x2aa012['removeAnswers'](_0x5625b1['query']['ids']);}})['then'](respondWithStatusCode(_0x1f3151,null))[_0xda84('0x60')](handleError(_0x1f3151,null));};exports[_0xda84('0x6a')]=function(_0x48195b,_0x3ec56d){var _0x1b8d73={'name':_0x48195b['body']['name'],'key':_0x48195b['body'][_0xda84('0x4a')],'provider':_0x48195b[_0xda84('0x64')][_0xda84('0x65')]===_0xda84('0x66')?null:_0x48195b['body']['provider'],'email':_0x48195b['body'][_0xda84('0x74')],'ListId':_0x48195b['body'][_0xda84('0x75')],'active':!_[_0xda84('0x76')](_0x48195b['body'][_0xda84('0x77')])?_0x48195b['body'][_0xda84('0x77')]:!![],'description':_0x48195b[_0xda84('0x64')]['description']||null};var _0x37e07b=getAuthenticationOptions(_0x1b8d73[_0xda84('0x65')],_0x48195b[_0xda84('0x64')]);_0x1b8d73[_0xda84('0x42')]=_0x37e07b[_0xda84('0x42')];_0x1b8d73[_0xda84('0x40')]=_0x37e07b[_0xda84('0x40')];return db[_0xda84('0x5b')][_0xda84('0x6a')](_0x1b8d73,{'include':[{'model':db[_0xda84('0x43')],'as':_0xda84('0x40')},{'model':db[_0xda84('0x41')],'as':_0xda84('0x42')}]})[_0xda84('0x23')](function(_0x54feb2){var _0x6f72c0=_0x48195b[_0xda84('0x35')][_0xda84('0x24')]({'plain':!![]});if(!_0x6f72c0)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x6f72c0[_0xda84('0x78')]===_0xda84('0x35')){var _0x2e7601=_0x54feb2[_0xda84('0x24')]({'plain':!![]});return db[_0xda84('0x79')][_0xda84('0x63')]({'where':{'name':'MailAccounts','userProfileId':_0x6f72c0['userProfileId']},'raw':!![]})[_0xda84('0x23')](function(_0x447a90){if(_0x447a90&&_0x447a90[_0xda84('0x7a')]===0x0){return db[_0xda84('0x26')][_0xda84('0x6a')]({'name':_0x2e7601['name'],'resourceId':_0x2e7601['id'],'type':_0x447a90[_0xda84('0x28')],'sectionId':_0x447a90['id']},{})[_0xda84('0x23')](function(){return _0x54feb2;});}else{return _0x54feb2;}})[_0xda84('0x60')](function(_0x52acfc){logger[_0xda84('0x14')](_0xda84('0x7b'),_0x52acfc);throw _0x52acfc;});}return _0x54feb2;})[_0xda84('0x23')](respondWithResult(_0x3ec56d,0xc9))[_0xda84('0x60')](handleError(_0x3ec56d,null));};exports[_0xda84('0x7c')]=function(_0x3a5a47,_0x189a60){return db[_0xda84('0x5b')][_0xda84('0x6c')]({'where':{'id':_0x3a5a47['params']['id']}})[_0xda84('0x23')](handleEntityNotFound(_0x189a60,null))['then'](function(_0x3c8a44){if(_0x3c8a44){return _0x3c8a44[_0xda84('0x7c')]();}return null;})[_0xda84('0x23')](respondWithResult(_0x189a60,null))[_0xda84('0x60')](handleError(_0x189a60,null));};exports['addImap']=function(_0x1d265d,_0x20c40d){if(_0x1d265d[_0xda84('0x64')]['id']){delete _0x1d265d[_0xda84('0x64')]['id'];}return db[_0xda84('0x5b')][_0xda84('0x63')]({'where':{'id':_0x1d265d[_0xda84('0x62')]['id']}})['then'](handleEntityNotFound(_0x20c40d,null))['then'](function(_0x3a51ac){if(_0x3a51ac){_0x1d265d[_0xda84('0x64')][_0xda84('0x71')]=_0x3a51ac['id'];return db[_0xda84('0x41')][_0xda84('0x6a')](_0x1d265d['body']);}})[_0xda84('0x23')](respondWithResult(_0x20c40d,null))[_0xda84('0x60')](handleError(_0x20c40d,null));};exports[_0xda84('0x7d')]=function(_0x4aaf73,_0x28deed){return db[_0xda84('0x5b')][_0xda84('0x6c')]({'where':{'id':_0x4aaf73[_0xda84('0x62')]['id']}})['then'](handleEntityNotFound(_0x28deed,null))['then'](function(_0x48404f){if(_0x48404f){return _0x48404f[_0xda84('0x7e')](null);}return null;})[_0xda84('0x23')](respondWithStatusCode(_0x28deed,null))[_0xda84('0x60')](handleError(_0x28deed,null));};exports['getSmtp']=function(_0x4afd10,_0x23c941){return db[_0xda84('0x5b')]['findOne']({'where':{'id':_0x4afd10[_0xda84('0x62')]['id']}})[_0xda84('0x23')](handleEntityNotFound(_0x23c941,null))[_0xda84('0x23')](function(_0xceb7ba){if(_0xceb7ba){return _0xceb7ba[_0xda84('0x7f')]();}return null;})[_0xda84('0x23')](respondWithResult(_0x23c941,null))[_0xda84('0x60')](handleError(_0x23c941,null));};exports[_0xda84('0x80')]=function(_0x13dbcc,_0x11a2aa){if(_0x13dbcc[_0xda84('0x64')]['id']){delete _0x13dbcc[_0xda84('0x64')]['id'];}return db[_0xda84('0x5b')][_0xda84('0x63')]({'where':{'id':_0x13dbcc[_0xda84('0x62')]['id']}})['then'](handleEntityNotFound(_0x11a2aa,null))['then'](function(_0x4c2298){if(_0x4c2298){_0x13dbcc[_0xda84('0x64')]['MailAccountId']=_0x4c2298['id'];return db[_0xda84('0x43')][_0xda84('0x6a')](_0x13dbcc['body']);}})['then'](respondWithResult(_0x11a2aa,null))[_0xda84('0x60')](handleError(_0x11a2aa,null));};exports['removeSmtp']=function(_0x14e87e,_0x2e62bf){return db['MailAccount'][_0xda84('0x6c')]({'where':{'id':_0x14e87e[_0xda84('0x62')]['id']}})[_0xda84('0x23')](handleEntityNotFound(_0x2e62bf,null))[_0xda84('0x23')](function(_0x2b01b4){if(_0x2b01b4){return _0x2b01b4['setSmtp'](null);}return null;})['then'](respondWithStatusCode(_0x2e62bf,null))[_0xda84('0x60')](handleError(_0x2e62bf,null));};exports[_0xda84('0x81')]=function(_0x31857a,_0x3e6820){return db['MailInteraction'][_0xda84('0x63')]({'where':{'id':_0x31857a[_0xda84('0x62')]['id']}})[_0xda84('0x23')](handleEntityNotFound(_0x3e6820,null))['then'](function(_0x34d5ec){if(_0x34d5ec){return _0x34d5ec[_0xda84('0x81')](_0x31857a[_0xda84('0x64')]['ids'],_[_0xda84('0x82')](_0x31857a['body'],['ids','id'])||{});}})[_0xda84('0x23')](respondWithResult(_0x3e6820,null))[_0xda84('0x60')](handleError(_0x3e6820,null));};exports[_0xda84('0x83')]=function(_0x1d65ad,_0xad7bc8){var _0x5dbd43={'raw':![],'where':{}};var _0x5a553e={};var _0x43f28d={'count':0x0,'rows':[]};return db[_0xda84('0x5b')]['findOne']({'where':{'id':_0x1d65ad[_0xda84('0x62')]['id']}})[_0xda84('0x23')](handleEntityNotFound(_0xad7bc8,null))[_0xda84('0x23')](function(_0x295e2d){if(_0x295e2d){_0x5a553e[_0xda84('0x4f')]=_['keys'](db[_0xda84('0x84')][_0xda84('0x47')]);_0x5a553e[_0xda84('0x4b')]=_['keys'](_0x1d65ad[_0xda84('0x4b')]);_0x5a553e['filters']=_[_0xda84('0x4e')](_0x5a553e[_0xda84('0x4f')],_0x5a553e[_0xda84('0x4b')]);_0x5dbd43[_0xda84('0x51')]=_[_0xda84('0x4e')](_0x5a553e[_0xda84('0x4f')],qs['fields'](_0x1d65ad['query']['fields']));_0x5dbd43[_0xda84('0x51')]=_0x5dbd43[_0xda84('0x51')]['length']?_0x5dbd43[_0xda84('0x51')]:_0x5a553e[_0xda84('0x4f')];if(!_0x1d65ad['query']['hasOwnProperty'](_0xda84('0x54'))){_0x5dbd43[_0xda84('0x1d')]=qs[_0xda84('0x1d')](_0x1d65ad[_0xda84('0x4b')][_0xda84('0x1d')]);_0x5dbd43[_0xda84('0x1b')]=qs[_0xda84('0x1b')](_0x1d65ad[_0xda84('0x4b')][_0xda84('0x1b')]);}_0x5dbd43['order']=qs[_0xda84('0x55')](_0x1d65ad[_0xda84('0x4b')][_0xda84('0x55')]);_0x5dbd43[_0xda84('0x56')]=qs[_0xda84('0x4d')](_[_0xda84('0x57')](_0x1d65ad[_0xda84('0x4b')],_0x5a553e[_0xda84('0x4d')]));_0x5dbd43[_0xda84('0x56')]['MailAccountId']=_0x295e2d['id'];if(_0x1d65ad[_0xda84('0x4b')][_0xda84('0x58')]){_0x5dbd43[_0xda84('0x56')]=_[_0xda84('0x59')](_0x5dbd43[_0xda84('0x56')],{'$or':_[_0xda84('0x46')](_0x5dbd43['attributes'],function(_0x53dd4b){var _0x85761a={};_0x85761a[_0x53dd4b]={'$like':'%'+_0x1d65ad[_0xda84('0x4b')][_0xda84('0x58')]+'%'};return _0x85761a;})});}_0x5dbd43=_[_0xda84('0x59')]({},_0x5dbd43,_0x1d65ad[_0xda84('0x5a')]);return db[_0xda84('0x84')][_0xda84('0x1e')]({'where':_0x5dbd43[_0xda84('0x56')]})[_0xda84('0x23')](function(_0x3ecda4){_0x43f28d[_0xda84('0x1e')]=_0x3ecda4;if(_0x1d65ad[_0xda84('0x4b')][_0xda84('0x5c')]){_0x5dbd43[_0xda84('0x5d')]=[{'model':db['CmContact'],'as':_0xda84('0x85'),'required':![]},{'model':db[_0xda84('0x86')],'as':_0xda84('0x87'),'attributes':[_0xda84('0x28'),_0xda84('0x88'),'internal'],'required':![]},{'model':db['Tag'],'as':_0xda84('0x89'),'attributes':['id',_0xda84('0x28'),_0xda84('0x8a')],'where':_0x1d65ad[_0xda84('0x4b')][_0xda84('0x8b')]?{'id':_0x1d65ad[_0xda84('0x4b')][_0xda84('0x8b')]}:undefined,'required':_0x1d65ad['query'][_0xda84('0x8b')]?!![]:![]}];}return db[_0xda84('0x84')]['findAll'](_0x5dbd43);})[_0xda84('0x23')](function(_0x9c1f57){_0x43f28d[_0xda84('0x5f')]=_0x9c1f57;return _0x43f28d;});}})[_0xda84('0x23')](respondWithFilteredResult(_0xad7bc8,_0x5dbd43))[_0xda84('0x60')](handleError(_0xad7bc8,null));};exports[_0xda84('0x8c')]=function addApplications(_0xe4607d,_0x216e95){var _0x510723=_0xe4607d[_0xda84('0x62')]['id'];var _0x38a47b=_0xe4607d['body'];var _0x2aba7e=0xc8;var _0x37f975=null;return db[_0xda84('0x8d')][_0xda84('0x8e')]({'isolationLevel':db[_0xda84('0x8d')][_0xda84('0x8f')][_0xda84('0x90')]['READ_COMMITTED']},function(_0x46116d){return db[_0xda84('0x5b')][_0xda84('0x6c')]({'where':{'id':_0x510723},'transaction':_0x46116d})[_0xda84('0x23')](function(_0xffb5c4){if(_0xffb5c4){return db['MailApplication'][_0xda84('0x22')]({'where':{'MailAccountId':_0x510723},'transaction':_0x46116d})['then'](function(){var _0xbc3b45=_[_0xda84('0x46')](_0x38a47b,function(_0x28450e){_0x28450e[_0xda84('0x71')]=_0x510723;return _0x28450e;});return db[_0xda84('0x91')][_0xda84('0x92')](_0xbc3b45,{'transaction':_0x46116d});});}else{_0x2aba7e=0x194;_0x37f975=[];}});})[_0xda84('0x23')](function(){if(_0x2aba7e!==0x194){return db[_0xda84('0x91')]['findAndCountAll']({'where':{'MailAccountId':_0x510723},'order':_0xda84('0x93')})[_0xda84('0x23')](function(_0x14cc7c){_0x37f975=_0x14cc7c;});}})['catch'](function(_0x3f750f){_0x2aba7e=0x1f4;logger[_0xda84('0x14')](_0x3f750f[_0xda84('0x27')]);if(_0x3f750f[_0xda84('0x28')]){delete _0x3f750f[_0xda84('0x28')];}_0x37f975=_0x3f750f;})[_0xda84('0x94')](function(){if(_0x37f975===null){_0x216e95[_0xda84('0x18')](_0x2aba7e);}else{if(_0x2aba7e===0x1f4){_0x216e95[_0xda84('0x19')](_0x2aba7e)[_0xda84('0x29')](_0x37f975);}else{_0x216e95[_0xda84('0x19')](_0x2aba7e)[_0xda84('0x20')](_0x37f975);}}});};exports[_0xda84('0x95')]=function(_0x142d0b,_0x206d1e){var _0x10f536={};var _0x45bd0d={};var _0x36f1a1;var _0x55d96c;return db[_0xda84('0x5b')][_0xda84('0x6c')]({'where':{'id':_0x142d0b['params']['id']}})['then'](handleEntityNotFound(_0x206d1e,null))['then'](function(_0x1df582){if(_0x1df582){_0x36f1a1=_0x1df582;_0x45bd0d[_0xda84('0x4f')]=_['keys'](db[_0xda84('0x91')][_0xda84('0x47')]);_0x45bd0d[_0xda84('0x4b')]=_[_0xda84('0x4c')](_0x142d0b[_0xda84('0x4b')]);_0x45bd0d[_0xda84('0x4d')]=_['intersection'](_0x45bd0d['model'],_0x45bd0d[_0xda84('0x4b')]);_0x10f536[_0xda84('0x51')]=_[_0xda84('0x4e')](_0x45bd0d[_0xda84('0x4f')],qs[_0xda84('0x50')](_0x142d0b[_0xda84('0x4b')][_0xda84('0x50')]));_0x10f536['attributes']=_0x10f536[_0xda84('0x51')][_0xda84('0x52')]?_0x10f536[_0xda84('0x51')]:_0x45bd0d[_0xda84('0x4f')];_0x10f536[_0xda84('0x6d')]=qs[_0xda84('0x55')](_0x142d0b[_0xda84('0x4b')][_0xda84('0x55')]);_0x10f536[_0xda84('0x56')]=qs[_0xda84('0x4d')](_[_0xda84('0x57')](_0x142d0b['query'],_0x45bd0d[_0xda84('0x4d')]));if(_0x142d0b[_0xda84('0x4b')]['filter']){_0x10f536['where']=_[_0xda84('0x59')](_0x10f536['where'],{'$or':_[_0xda84('0x46')](_0x10f536[_0xda84('0x51')],function(_0x1f02e9){var _0x176311={};_0x176311[_0x1f02e9]={'$like':'%'+_0x142d0b[_0xda84('0x4b')][_0xda84('0x58')]+'%'};return _0x176311;})});}_0x10f536=_[_0xda84('0x59')]({},_0x10f536,_0x142d0b[_0xda84('0x5a')]);return _0x36f1a1[_0xda84('0x95')](_0x10f536);}})[_0xda84('0x23')](function(_0x23983f){if(_0x23983f){_0x55d96c=_0x23983f[_0xda84('0x52')];if(!_0x142d0b[_0xda84('0x4b')][_0xda84('0x53')]('nolimit')){_0x10f536[_0xda84('0x1d')]=qs['limit'](_0x142d0b['query']['limit']);_0x10f536[_0xda84('0x1b')]=qs[_0xda84('0x1b')](_0x142d0b[_0xda84('0x4b')][_0xda84('0x1b')]);}return _0x36f1a1[_0xda84('0x95')](_0x10f536);}})[_0xda84('0x23')](function(_0x3684b6){if(_0x3684b6){return _0x3684b6?{'count':_0x55d96c,'rows':_0x3684b6}:null;}})['then'](respondWithResult(_0x206d1e,null))[_0xda84('0x60')](handleError(_0x206d1e,null));};exports[_0xda84('0x96')]=function(_0x3c33d1,_0x45fc9a){var _0x3560aa={'raw':!![],'where':{}};var _0x54ed8a={};var _0x419a1c={'count':0x0,'rows':[]};return db['MailAccount'][_0xda84('0x6c')]({'where':{'id':_0x3c33d1['params']['id']}})[_0xda84('0x23')](handleEntityNotFound(_0x45fc9a,null))[_0xda84('0x23')](function(_0x303ffb){if(_0x303ffb){_0x54ed8a[_0xda84('0x4f')]=_[_0xda84('0x4c')](db['MailMessage'][_0xda84('0x47')]);_0x54ed8a[_0xda84('0x4b')]=_[_0xda84('0x4c')](_0x3c33d1['query']);_0x54ed8a['filters']=_[_0xda84('0x4e')](_0x54ed8a['model'],_0x54ed8a[_0xda84('0x4b')]);_0x3560aa[_0xda84('0x51')]=_[_0xda84('0x4e')](_0x54ed8a[_0xda84('0x4f')],qs[_0xda84('0x50')](_0x3c33d1[_0xda84('0x4b')][_0xda84('0x50')]));_0x3560aa[_0xda84('0x51')]=_0x3560aa['attributes'][_0xda84('0x52')]?_0x3560aa[_0xda84('0x51')]:_0x54ed8a['model'];if(!_0x3c33d1['query'][_0xda84('0x53')](_0xda84('0x54'))){_0x3560aa[_0xda84('0x1d')]=qs[_0xda84('0x1d')](_0x3c33d1[_0xda84('0x4b')][_0xda84('0x1d')]);_0x3560aa[_0xda84('0x1b')]=qs[_0xda84('0x1b')](_0x3c33d1[_0xda84('0x4b')][_0xda84('0x1b')]);}_0x3560aa[_0xda84('0x6d')]=qs[_0xda84('0x55')](_0x3c33d1[_0xda84('0x4b')]['sort']);_0x3560aa[_0xda84('0x56')]=qs[_0xda84('0x4d')](_['pick'](_0x3c33d1[_0xda84('0x4b')],_0x54ed8a[_0xda84('0x4d')]));_0x3560aa[_0xda84('0x56')][_0xda84('0x71')]=_0x303ffb['id'];if(_0x3c33d1['query'][_0xda84('0x58')]){_0x3560aa[_0xda84('0x56')]=_[_0xda84('0x59')](_0x3560aa[_0xda84('0x56')],{'$or':_[_0xda84('0x46')](_0x3560aa[_0xda84('0x51')],function(_0x3e54e3){var _0x4ec8c3={};_0x4ec8c3[_0x3e54e3]={'$like':'%'+_0x3c33d1['query'][_0xda84('0x58')]+'%'};return _0x4ec8c3;})});}if(_0x3c33d1[_0xda84('0x4b')][_0xda84('0x97')]){var _0x3a71cc=_0x3c33d1[_0xda84('0x4b')][_0xda84('0x97')][_0xda84('0x98')](',');var _0x346b42={};_0x346b42[_0x3a71cc[0x0]]={'$gte':moment(_0x3a71cc[0x1])[_0xda84('0x99')]('YYYY-MM-DD\x20HH:mm:ss')};_0x3560aa['where']=_[_0xda84('0x59')](_0x3560aa[_0xda84('0x56')],_0x346b42);}_0x3560aa=_[_0xda84('0x59')]({},_0x3560aa,_0x3c33d1[_0xda84('0x5a')]);return db['MailMessage'][_0xda84('0x1e')]({'where':_0x3560aa[_0xda84('0x56')]})[_0xda84('0x23')](function(_0x2f8bd0){_0x419a1c['count']=_0x2f8bd0;if(_0x3c33d1[_0xda84('0x4b')][_0xda84('0x5c')]){_0x3560aa[_0xda84('0x5d')]=[{'all':!![]}];}return db['MailMessage']['findAll'](_0x3560aa);})[_0xda84('0x23')](function(_0x1b7341){if(_0x3c33d1[_0xda84('0x4b')][_0xda84('0x9a')]===_0xda84('0x9b')){for(var _0x3a45e4=0x0;_0x3a45e4<_0x1b7341[_0xda84('0x52')];_0x3a45e4++){_0x1b7341[_0x3a45e4][_0xda84('0x64')]=juice(_0x1b7341[_0x3a45e4][_0xda84('0x64')]);}}_0x419a1c[_0xda84('0x5f')]=_0x1b7341;return _0x419a1c;});}})[_0xda84('0x23')](respondWithFilteredResult(_0x45fc9a,_0x3560aa))[_0xda84('0x60')](handleError(_0x45fc9a,null));};exports[_0xda84('0x29')]=function(_0x12984a,_0x119e96){var _0x3f76d2,_0x2c1f52={},_0x45368d;if(_0x12984a[_0xda84('0x64')]['to']){_0x45368d=_0x12984a[_0xda84('0x64')]['to'][_0xda84('0x98')](',')[0x0];}return db[_0xda84('0x5b')][_0xda84('0x63')]({'where':{'id':_0x12984a[_0xda84('0x62')]['id']},'include':[{'model':db[_0xda84('0x9c')],'as':_0xda84('0x9d'),'include':[{'model':db[_0xda84('0x9e')],'as':'Contacts','where':{'email':_0x45368d},'limit':0x1,'order':[[_0xda84('0x9f'),_0xda84('0xa0')]]}]},{'model':db[_0xda84('0x43')],'as':'Smtp','raw':!![],'include':[{'model':db['CloudProvider'],'as':_0xda84('0xa1'),'raw':!![]}]}]})[_0xda84('0x23')](handleEntityNotFound(_0x119e96,null))['then'](function(_0x137598){if(!_0x137598)return;_0x3f76d2=_0x137598;if(!_0x137598[_0xda84('0x40')])throw new Error(_0xda84('0xa2'));if(_['isNil'](_0x12984a[_0xda84('0x64')][_0xda84('0xa3')])){_0x12984a[_0xda84('0x64')][_0xda84('0xa3')]=util['format'](_0xda84('0xa4'),_0x137598['name'],_0x137598[_0xda84('0x74')]||_0x137598[_0xda84('0x40')]['user']);}if(_0x12984a[_0xda84('0x64')][_0xda84('0xa5')]&&_0x12984a[_0xda84('0x64')][_0xda84('0xa5')][_0xda84('0x52')]){for(var _0xd524de=0x0;_0xd524de<_0x12984a[_0xda84('0x64')][_0xda84('0xa5')]['length'];_0xd524de+=0x1){_0x12984a[_0xda84('0x64')]['attachments'][_0xd524de]={'filename':_0x12984a[_0xda84('0x64')][_0xda84('0xa5')][_0xd524de][_0xda84('0x28')],'path':path[_0xda84('0xa6')](config['root'],'server/files/attachments',_0x12984a[_0xda84('0x64')][_0xda84('0xa5')][_0xd524de]['basename'])};}}var _0x28e78b=_0x137598[_0xda84('0xa7')]();return respondWithRpcPromise('SendMail','sendMail',{'account':_0x28e78b,'message':_0x12984a[_0xda84('0x64')]});})[_0xda84('0x23')](function(_0x5cef0f){if(!_0x5cef0f)return;_0x2c1f52=_0x5cef0f;if(!_0x3f76d2['List'])throw new Error(_0xda84('0xa8'));if(_0x3f76d2['List'][_0xda84('0xa9')]['length'])return _0x3f76d2[_0xda84('0x9d')]['Contacts'][0x0];return db[_0xda84('0x9e')][_0xda84('0x6a')](_['defaults'](_0x12984a['body'],{'firstName':_0x12984a[_0xda84('0x64')]['to'],'email':_0x12984a['body']['to'],'phone':_0x12984a['body']['to'],'ListId':_0x3f76d2[_0xda84('0x75')]}));})[_0xda84('0x23')](function(_0x2f1ead){if(!_0x2f1ead)return;var _0x11d6ab={'UserId':_0x12984a[_0xda84('0x35')]['id'],'ContactId':_0x2f1ead['id'],'MailAccountId':_0x3f76d2['id'],'inReplyTo':_0x2c1f52[_0xda84('0xaa')],'to':_0x12984a[_0xda84('0x64')]['from'],'cc':_0x12984a[_0xda84('0x64')]['cc'],'subject':_0x12984a[_0xda84('0x64')]['subject'],'attach':_0x12984a[_0xda84('0x64')][_0xda84('0xab')],'firstMsgDirection':_0xda84('0xac'),'lastMsgAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':_0xda84('0xac'),'Messages':[_['merge'](_0x12984a['body'],{'messageId':_0x2c1f52[_0xda84('0xaa')],'sentAt':moment()[_0xda84('0x99')](_0xda84('0xad')),'read':!![],'MailAccountId':_0x3f76d2['id'],'UserId':_0x12984a[_0xda84('0x35')]['id'],'ContactId':_0x2f1ead['id']})]};if(_0x12984a['body'][_0xda84('0xae')]){_0x11d6ab=_[_0xda84('0x59')](_0x11d6ab,_0x12984a[_0xda84('0x64')]['Interaction']);}return db['MailInteraction'][_0xda84('0x6a')](_0x11d6ab,{'include':[{'model':db['MailMessage'],'as':_0xda84('0xaf')}]});})[_0xda84('0x23')](respondWithResult(_0x119e96,null))['catch'](handleError(_0x119e96,null));};exports[_0xda84('0xb0')]=function(_0x2902f8,_0x356245){return db[_0xda84('0x5b')][_0xda84('0x63')]({'where':{'id':_0x2902f8[_0xda84('0x62')]['id']},'include':[{'model':db[_0xda84('0x43')],'as':_0xda84('0x40'),'raw':!![],'include':[{'model':db[_0xda84('0xa1')],'as':_0xda84('0xa1'),'raw':!![]}]}]})[_0xda84('0x23')](handleEntityNotFound(_0x356245,null))['then'](function(_0x5e43bc){if(!_0x5e43bc['Smtp'])return;var _0x58ae3=_0x5e43bc[_0xda84('0xa7')]();return respondWithRpcPromise('VerifySmtp',_0xda84('0xb0'),{'account':_0x58ae3});})[_0xda84('0x23')](respondWithResult(_0x356245,null))[_0xda84('0x60')](handleError(_0x356245,null));};exports[_0xda84('0x22')]=function(_0xf68e41,_0x9151f0){return db['MailAccount'][_0xda84('0x63')]({'where':{'id':_0xf68e41[_0xda84('0x62')]['id']}})[_0xda84('0x23')](handleEntityNotFound(_0x9151f0,null))[_0xda84('0x23')](function(_0x22f55b){if(_0x22f55b&&_0x22f55b[_0xda84('0x3e')]){throw new db['Sequelize']['ValidationError'](_0xda84('0xb1'));}return _0x22f55b;})[_0xda84('0x23')](removeEntity(_0x9151f0,null))['catch'](handleError(_0x9151f0,null));};exports[_0xda84('0xb2')]=function(_0x36421e,_0x391130){return db['MailAccount']['find']({'where':{'id':_0x36421e[_0xda84('0x62')]['id']}})[_0xda84('0x23')](handleEntityNotFound(_0x391130,null))['then'](function(_0x5b7986){if(_0x5b7986){return _0x5b7986[_0xda84('0xb2')](_0x36421e[_0xda84('0x64')]['ids'],_[_0xda84('0x82')](_0x36421e[_0xda84('0x64')],[_0xda84('0x6f'),'id'])||{})['spread'](function(_0x2b2eda){for(var _0x22e87f=0x0;_0x22e87f<_0x36421e[_0xda84('0x64')][_0xda84('0x6f')]['length'];_0x22e87f+=0x1){socket[_0xda84('0xb3')]('userMailAccount:save',{'UserId':Number(_0x36421e[_0xda84('0x64')][_0xda84('0x6f')][_0x22e87f]),'MailAccountId':Number(_0x36421e['params']['id'])});}return _0x2b2eda;});}})[_0xda84('0x23')](respondWithResult(_0x391130,null))[_0xda84('0x60')](handleError(_0x391130,null));};exports[_0xda84('0xb4')]=function(_0x1e3b9b,_0x200de6){return db[_0xda84('0x5b')][_0xda84('0x63')]({'where':{'id':_0x1e3b9b[_0xda84('0x62')]['id']}})[_0xda84('0x23')](handleEntityNotFound(_0x200de6,null))[_0xda84('0x23')](function(_0x475c84){if(_0x475c84){return _0x475c84[_0xda84('0xb4')](_0x1e3b9b[_0xda84('0x4b')][_0xda84('0x6f')])['then'](function(){if(_[_0xda84('0xb5')](_0x1e3b9b[_0xda84('0x4b')][_0xda84('0x6f')])){for(var _0x1df45b=0x0;_0x1df45b<_0x1e3b9b[_0xda84('0x4b')][_0xda84('0x6f')]['length'];_0x1df45b+=0x1){socket[_0xda84('0xb3')](_0xda84('0xb6'),{'UserId':Number(_0x1e3b9b[_0xda84('0x4b')]['ids'][_0x1df45b]),'MailAccountId':Number(_0x1e3b9b[_0xda84('0x62')]['id'])});}}else{socket[_0xda84('0xb3')](_0xda84('0xb6'),{'UserId':Number(_0x1e3b9b[_0xda84('0x4b')][_0xda84('0x6f')]),'MailAccountId':Number(_0x1e3b9b[_0xda84('0x62')]['id'])});}});}})[_0xda84('0x23')](respondWithStatusCode(_0x200de6,null))[_0xda84('0x60')](handleError(_0x200de6,null));};exports[_0xda84('0xb7')]=function(_0x18ffbf,_0x61f9c1){var _0x185ed7={};var _0xe57f96={};var _0x28e2d3;var _0x18a4d3;return db[_0xda84('0x5b')][_0xda84('0x6c')]({'where':{'id':_0x18ffbf[_0xda84('0x62')]['id']}})[_0xda84('0x23')](handleEntityNotFound(_0x61f9c1,null))[_0xda84('0x23')](function(_0x235077){if(_0x235077){_0x28e2d3=_0x235077;_0xe57f96[_0xda84('0x4f')]=_[_0xda84('0x4c')](db[_0xda84('0x86')][_0xda84('0x47')]);_0xe57f96['query']=_['keys'](_0x18ffbf['query']);_0xe57f96[_0xda84('0x4d')]=_[_0xda84('0x4e')](_0xe57f96[_0xda84('0x4f')],_0xe57f96[_0xda84('0x4b')]);_0x185ed7[_0xda84('0x51')]=_[_0xda84('0x4e')](_0xe57f96[_0xda84('0x4f')],qs[_0xda84('0x50')](_0x18ffbf[_0xda84('0x4b')]['fields']));_0x185ed7['attributes']=_0x185ed7[_0xda84('0x51')][_0xda84('0x52')]?_0x185ed7[_0xda84('0x51')]:_0xe57f96[_0xda84('0x4f')];_0x185ed7[_0xda84('0x6d')]=qs[_0xda84('0x55')](_0x18ffbf[_0xda84('0x4b')][_0xda84('0x55')]);_0x185ed7[_0xda84('0x56')]=qs[_0xda84('0x4d')](_[_0xda84('0x57')](_0x18ffbf['query'],_0xe57f96[_0xda84('0x4d')]));if(_0x18ffbf[_0xda84('0x4b')]['filter']){_0x185ed7[_0xda84('0x56')]=_[_0xda84('0x59')](_0x185ed7[_0xda84('0x56')],{'$or':_[_0xda84('0x46')](_0x185ed7[_0xda84('0x51')],function(_0x489404){var _0x218621={};_0x218621[_0x489404]={'$like':'%'+_0x18ffbf['query'][_0xda84('0x58')]+'%'};return _0x218621;})});}_0x185ed7=_[_0xda84('0x59')]({},_0x185ed7,_0x18ffbf[_0xda84('0x5a')]);return _0x28e2d3[_0xda84('0xb7')](_0x185ed7);}})['then'](function(_0x40edff){if(_0x40edff){_0x18a4d3=_0x40edff[_0xda84('0x52')];if(!_0x18ffbf[_0xda84('0x4b')][_0xda84('0x53')](_0xda84('0x54'))){_0x185ed7['limit']=qs['limit'](_0x18ffbf[_0xda84('0x4b')][_0xda84('0x1d')]);_0x185ed7['offset']=qs[_0xda84('0x1b')](_0x18ffbf[_0xda84('0x4b')][_0xda84('0x1b')]);}return _0x28e2d3[_0xda84('0xb7')](_0x185ed7);}})[_0xda84('0x23')](function(_0x50141c){if(_0x50141c){return _0x50141c?{'count':_0x18a4d3,'rows':_0x50141c}:null;}})[_0xda84('0x23')](respondWithResult(_0x61f9c1,null))[_0xda84('0x60')](handleError(_0x61f9c1,null));};