Built motion from commit 3a7e82ea.|2.6.29
[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 _0x94b6=['pass','password','modernAuthentication','CloudProviderId','port','host','secure','service','authentication','username','Imap','Smtp','index','MailServerIn','MailServerOut','Pause','mandatoryDispositionPause','MailAccount','rawAttributes','fieldName','type','key','map','keys','filters','model','intersection','fields','attributes','length','hasOwnProperty','nolimit','query','sort','where','filter','merge','VIRTUAL','include','findAll','rows','show','params','includeAll','options','body','provider','custom','find','MailAccountId','Disposition','findOne','order','pick','removeDispositions','ids','addAnswer','CannedAnswer','create','getAnswers','removeAnswers','email','ListId','isNil','active','description','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','omit','MailInteraction','CmContact','Contact','User','Owner','Tag','Tags','color','tag','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','priority','send','getApplications','getMessages','MailMessage','$gte','format','YYYY-MM-DD\x20HH:mm:ss','true','split','CmList','List','Contacts','CloudProvider','Smtp\x20configuration\x20not\x20found','%s\x20<%s>','attachments','join','root','server/files/attachments','sendMail','List\x20not\x20found','messageId','subject','attach','out','Interaction','Messages','verifySmtp','VerifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','userMailAccount:remove','getAgents','moment','path','lodash','juice','ioredis','../../components/parsers/qs','api','../../config/environment','redis','register','client','http','request','then','info','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','error','code','MailAccount,\x20%s,\x20%s','message','catch','status','end','json','undefined','limit','count','offset','Content-Range','update','destroy','MailAccounts','UserProfileResource','sendStatus','stack','name','gmail','yahoo','imap.mail.yahoo.com','hotmail','outlook365','outlook.office365.com','smtp.gmail.com','smtp.mail.yahoo.com','smtp-mail.outlook.com','smtp.office365.com','Unknown\x20email\x20service\x20provider','user'];(function(_0x3afabb,_0x405500){var _0xf50ee1=function(_0x5c5d55){while(--_0x5c5d55){_0x3afabb['push'](_0x3afabb['shift']());}};_0xf50ee1(++_0x405500);}(_0x94b6,0x8b));var _0x694b=function(_0x1ac595,_0x5d2081){_0x1ac595=_0x1ac595-0x0;var _0x455fff=_0x94b6[_0x1ac595];return _0x455fff;};'use strict';var moment=require(_0x694b('0x0'));var BPromise=require('bluebird');var util=require('util');var path=require(_0x694b('0x1'));var _=require(_0x694b('0x2'));var juice=require(_0x694b('0x3'));var Redis=require(_0x694b('0x4'));var qs=require(_0x694b('0x5'));var logger=require('../../config/logger')(_0x694b('0x6'));var config=require(_0x694b('0x7'));var db=require('../../mysqldb')['db'];config[_0x694b('0x8')]=_['defaults'](config[_0x694b('0x8')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require('./mailAccount.socket')[_0x694b('0x9')](socket);var jayson=require('jayson/promise');var client=jayson[_0x694b('0xa')][_0x694b('0xb')]({'port':0x232b});function respondWithRpcPromise(_0x308f7f,_0x370cbf,_0x4c4b65,_0x51de60){return new BPromise(function(_0x4f0aff,_0x32a3d8){var _0x434348=_0x51de60||client;return _0x434348[_0x694b('0xc')](_0x308f7f,_0x4c4b65)[_0x694b('0xd')](function(_0xd20c25){logger[_0x694b('0xe')]('MailAccount,\x20%s,\x20%s',_0x370cbf,_0x694b('0xf'));logger[_0x694b('0x10')](_0x694b('0x11'),_0x370cbf,_0x694b('0xf'),JSON['stringify'](_0xd20c25));if(_0xd20c25[_0x694b('0x12')]){if(_0xd20c25['error'][_0x694b('0x13')]===0x1f4){logger[_0x694b('0x12')](_0x694b('0x14'),_0x370cbf,_0xd20c25[_0x694b('0x12')]['message']);return _0x32a3d8(_0xd20c25[_0x694b('0x12')]['message']);}logger[_0x694b('0x12')](_0x694b('0x14'),_0x370cbf,_0xd20c25['error'][_0x694b('0x15')]);return _0x4f0aff(_0xd20c25['error']['message']);}else{logger['info'](_0x694b('0x14'),_0x370cbf,_0x694b('0xf'));_0x4f0aff(_0xd20c25['result'][_0x694b('0x15')]);}})[_0x694b('0x16')](function(_0x4e9636){logger[_0x694b('0x12')]('MailAccount,\x20%s,\x20%s',_0x370cbf,_0x4e9636);_0x32a3d8(_0x4e9636);});});}function respondWithStatusCode(_0xdf1b66,_0x59fc31){_0x59fc31=_0x59fc31||0xcc;return function(_0x5015af){if(_0x5015af){return _0xdf1b66['sendStatus'](_0x59fc31);}return _0xdf1b66[_0x694b('0x17')](_0x59fc31)[_0x694b('0x18')]();};}function respondWithResult(_0x36aeb2,_0x2a2f31){_0x2a2f31=_0x2a2f31||0xc8;return function(_0x53f2bf){if(_0x53f2bf){return _0x36aeb2[_0x694b('0x17')](_0x2a2f31)[_0x694b('0x19')](_0x53f2bf);}};}function respondWithFilteredResult(_0x4e9f8e,_0x33b924){return function(_0x5986de){if(_0x5986de){var _0x348a3d=typeof _0x33b924['offset']===_0x694b('0x1a')&&typeof _0x33b924[_0x694b('0x1b')]===_0x694b('0x1a');var _0x2bc69b=_0x5986de[_0x694b('0x1c')];var _0x16e5f7=_0x348a3d?0x0:_0x33b924[_0x694b('0x1d')];var _0xd5c9de=_0x348a3d?_0x5986de[_0x694b('0x1c')]:_0x33b924[_0x694b('0x1d')]+_0x33b924[_0x694b('0x1b')];var _0x1c1cef;if(_0xd5c9de>=_0x2bc69b){_0xd5c9de=_0x2bc69b;_0x1c1cef=0xc8;}else{_0x1c1cef=0xce;}_0x4e9f8e[_0x694b('0x17')](_0x1c1cef);return _0x4e9f8e['set'](_0x694b('0x1e'),_0x16e5f7+'-'+_0xd5c9de+'/'+_0x2bc69b)[_0x694b('0x19')](_0x5986de);}return null;};}function saveUpdates(_0x5040c0){return function(_0x5ae700){if(_0x5ae700){return _0x5ae700[_0x694b('0x1f')](_0x5040c0)[_0x694b('0xd')](function(_0x3ea74b){return _0x3ea74b;});}return null;};}function removeEntity(_0x5c8a48){return function(_0x21eef8){if(_0x21eef8){return _0x21eef8[_0x694b('0x20')]()[_0x694b('0xd')](function(){var _0x309c8c=_0x21eef8['get']({'plain':!![]});var _0x3c4c5c=_0x694b('0x21');return db[_0x694b('0x22')]['destroy']({'where':{'type':_0x3c4c5c,'resourceId':_0x309c8c['id']}})[_0x694b('0xd')](function(){return _0x21eef8;});})['then'](function(){_0x5c8a48[_0x694b('0x17')](0xcc)[_0x694b('0x18')]();});}};}function handleEntityNotFound(_0x1f934b){return function(_0x43a3c1){if(!_0x43a3c1){_0x1f934b[_0x694b('0x23')](0x194);}return _0x43a3c1;};}function handleError(_0x53bfc9,_0x17272d){_0x17272d=_0x17272d||0x1f4;return function(_0x5d7b53){logger[_0x694b('0x12')](_0x5d7b53[_0x694b('0x24')]);if(_0x5d7b53[_0x694b('0x25')]){delete _0x5d7b53[_0x694b('0x25')];}_0x53bfc9[_0x694b('0x17')](_0x17272d)['send'](_0x5d7b53);};}function getImapHost(_0x3b0275){switch(_0x3b0275){case _0x694b('0x26'):return'imap.gmail.com';case _0x694b('0x27'):return _0x694b('0x28');case _0x694b('0x29'):return'imap-mail.outlook.com';case _0x694b('0x2a'):return _0x694b('0x2b');}throw new Error('Unknown\x20email\x20service\x20provider',_0x3b0275);}function getSmtpHost(_0x1e7b55){switch(_0x1e7b55){case _0x694b('0x26'):return _0x694b('0x2c');case _0x694b('0x27'):return _0x694b('0x2d');case _0x694b('0x29'):return _0x694b('0x2e');case'outlook365':return _0x694b('0x2f');}throw new Error(_0x694b('0x30'),_0x1e7b55);}function getAuthenticationOptions(_0x503bb7,_0x4af167){var _0x52c5fa={};var _0x59e540={};if(_0x503bb7){_0x52c5fa['user']=_0x59e540[_0x694b('0x31')]=_0x4af167['username'];_0x52c5fa['password']=_0x59e540[_0x694b('0x32')]=_0x4af167[_0x694b('0x33')];if(_0x4af167[_0x694b('0x34')]){_0x52c5fa[_0x694b('0x34')]=_0x59e540[_0x694b('0x34')]=!![];_0x52c5fa[_0x694b('0x35')]=_0x59e540['CloudProviderId']=_0x4af167[_0x694b('0x35')];_0x52c5fa[_0x694b('0x33')]=_0x59e540[_0x694b('0x32')]=null;}else{_0x52c5fa[_0x694b('0x35')]=_0x59e540[_0x694b('0x35')]=null;}_0x52c5fa['host']=getImapHost(_0x503bb7);_0x52c5fa[_0x694b('0x36')]=0x3e1;_0x59e540[_0x694b('0x37')]=getSmtpHost(_0x503bb7);_0x59e540[_0x694b('0x36')]=0x24b;_0x59e540[_0x694b('0x38')]=![];_0x52c5fa[_0x694b('0x39')]=_0x59e540[_0x694b('0x39')]=null;}else{if(_0x4af167[_0x694b('0x3a')]){_0x52c5fa[_0x694b('0x31')]=_0x59e540['user']=_0x4af167[_0x694b('0x3b')];_0x52c5fa[_0x694b('0x33')]=_0x59e540[_0x694b('0x32')]=_0x4af167[_0x694b('0x33')];}else{_0x52c5fa['authentication']=_0x59e540[_0x694b('0x3a')]=![];_0x52c5fa[_0x694b('0x31')]=_0x59e540[_0x694b('0x31')]=null;_0x52c5fa[_0x694b('0x33')]=_0x59e540['pass']=null;}_0x52c5fa[_0x694b('0x37')]=_0x4af167[_0x694b('0x3c')]['host'];_0x52c5fa[_0x694b('0x36')]=_0x4af167[_0x694b('0x3c')][_0x694b('0x36')];_0x59e540[_0x694b('0x37')]=_0x4af167[_0x694b('0x3d')][_0x694b('0x37')];_0x59e540[_0x694b('0x36')]=_0x4af167['Smtp'][_0x694b('0x36')];}return{'Imap':_0x52c5fa,'Smtp':_0x59e540};}exports[_0x694b('0x3e')]=function(_0x22fd90,_0x2ebe31){var _0x48126c={'include':[{'model':db[_0x694b('0x3f')],'as':_0x694b('0x3c')},{'model':db[_0x694b('0x40')],'as':_0x694b('0x3d')},{'model':db[_0x694b('0x41')],'as':_0x694b('0x42')}]},_0x3824db={},_0x56a44a={'count':0x0,'rows':[]};var _0x4fd7f3=_['map'](db[_0x694b('0x43')][_0x694b('0x44')],function(_0x33ed90){return{'name':_0x33ed90[_0x694b('0x45')],'type':_0x33ed90[_0x694b('0x46')][_0x694b('0x47')]};});_0x3824db['model']=_[_0x694b('0x48')](_0x4fd7f3,_0x694b('0x25'));_0x3824db['query']=_[_0x694b('0x49')](_0x22fd90['query']);_0x3824db[_0x694b('0x4a')]=_['intersection'](_0x3824db[_0x694b('0x4b')],_0x3824db['query']);_0x48126c['attributes']=_[_0x694b('0x4c')](_0x3824db[_0x694b('0x4b')],qs[_0x694b('0x4d')](_0x22fd90['query'][_0x694b('0x4d')]));_0x48126c[_0x694b('0x4e')]=_0x48126c[_0x694b('0x4e')][_0x694b('0x4f')]?_0x48126c[_0x694b('0x4e')]:_0x3824db[_0x694b('0x4b')];if(!_0x22fd90['query'][_0x694b('0x50')](_0x694b('0x51'))){_0x48126c['limit']=qs['limit'](_0x22fd90[_0x694b('0x52')]['limit']);_0x48126c['offset']=qs['offset'](_0x22fd90['query'][_0x694b('0x1d')]);}_0x48126c['order']=qs[_0x694b('0x53')](_0x22fd90['query']['sort']);_0x48126c[_0x694b('0x54')]=qs[_0x694b('0x4a')](_['pick'](_0x22fd90[_0x694b('0x52')],_0x3824db['filters']),_0x4fd7f3);if(_0x22fd90[_0x694b('0x52')][_0x694b('0x55')]){_0x48126c['where']=_[_0x694b('0x56')](_0x48126c[_0x694b('0x54')],{'$or':_['map'](_0x4fd7f3,function(_0x101156){if(_0x101156[_0x694b('0x46')]!==_0x694b('0x57')){var _0x15bdf9={};_0x15bdf9[_0x101156[_0x694b('0x25')]]={'$like':'%'+_0x22fd90[_0x694b('0x52')][_0x694b('0x55')]+'%'};return _0x15bdf9;}})});}_0x48126c=_[_0x694b('0x56')]({},_0x48126c,_0x22fd90['options']);var _0x4f8217={'where':_0x48126c[_0x694b('0x54')]};return db[_0x694b('0x43')][_0x694b('0x1c')](_0x4f8217)[_0x694b('0xd')](function(_0x41a729){_0x56a44a[_0x694b('0x1c')]=_0x41a729;if(_0x22fd90[_0x694b('0x52')]['includeAll']){_0x48126c[_0x694b('0x58')]=[{'all':!![]}];}return db[_0x694b('0x43')][_0x694b('0x59')](_0x48126c);})['then'](function(_0x4c553a){_0x56a44a[_0x694b('0x5a')]=_0x4c553a;return _0x56a44a;})[_0x694b('0xd')](respondWithFilteredResult(_0x2ebe31,_0x48126c))[_0x694b('0x16')](handleError(_0x2ebe31,null));};exports[_0x694b('0x5b')]=function(_0x2824e7,_0xcebcac){var _0x54a97b={'raw':![],'where':{'id':_0x2824e7[_0x694b('0x5c')]['id']},'include':[{'model':db[_0x694b('0x3f')],'as':_0x694b('0x3c')},{'model':db['MailServerOut'],'as':_0x694b('0x3d')},{'model':db[_0x694b('0x41')],'as':_0x694b('0x42')}]},_0x5b6ac3={};_0x5b6ac3['model']=_[_0x694b('0x49')](db['MailAccount'][_0x694b('0x44')]);_0x5b6ac3[_0x694b('0x52')]=_[_0x694b('0x49')](_0x2824e7[_0x694b('0x52')]);_0x5b6ac3[_0x694b('0x4a')]=_[_0x694b('0x4c')](_0x5b6ac3['model'],_0x5b6ac3[_0x694b('0x52')]);_0x54a97b['attributes']=_[_0x694b('0x4c')](_0x5b6ac3[_0x694b('0x4b')],qs[_0x694b('0x4d')](_0x2824e7[_0x694b('0x52')][_0x694b('0x4d')]));_0x54a97b[_0x694b('0x4e')]=_0x54a97b[_0x694b('0x4e')][_0x694b('0x4f')]?_0x54a97b[_0x694b('0x4e')]:_0x5b6ac3[_0x694b('0x4b')];if(_0x2824e7['query'][_0x694b('0x5d')]){_0x54a97b['include']=[{'all':!![]}];}_0x54a97b=_[_0x694b('0x56')]({},_0x54a97b,_0x2824e7[_0x694b('0x5e')]);return db[_0x694b('0x43')]['find'](_0x54a97b)['then'](handleEntityNotFound(_0xcebcac,null))[_0x694b('0xd')](respondWithResult(_0xcebcac,null))[_0x694b('0x16')](handleError(_0xcebcac,null));};exports[_0x694b('0x1f')]=function(_0x1f5706,_0x80e2a9){if(_0x1f5706['body']['id']){delete _0x1f5706[_0x694b('0x5f')]['id'];}var _0x3de872=_0x1f5706[_0x694b('0x5f')][_0x694b('0x60')]===_0x694b('0x61')?null:_0x1f5706[_0x694b('0x5f')]['provider'];var _0x21aa45=_0x1f5706[_0x694b('0x5f')][_0x694b('0x3c')]||{};var _0x26a065=_0x1f5706['body'][_0x694b('0x3d')]||{};if(_0x3de872){_0x21aa45['host']=getImapHost(_0x3de872);_0x21aa45[_0x694b('0x36')]=0x3e1;_0x26a065[_0x694b('0x37')]=getSmtpHost(_0x3de872);_0x26a065[_0x694b('0x36')]=0x24b;_0x26a065['secure']=![];}if(_0x26a065[_0x694b('0x34')]){_0x26a065['secure']=![];}else{_0x26a065[_0x694b('0x35')]=null;}if(!_0x21aa45[_0x694b('0x34')])_0x21aa45['CloudProviderId']=null;_0x1f5706[_0x694b('0x5f')][_0x694b('0x3c')]=_0x21aa45;_0x1f5706['body'][_0x694b('0x3d')]=_0x26a065;return db[_0x694b('0x43')]['find']({'where':{'id':_0x1f5706[_0x694b('0x5c')]['id']},'include':[{'model':db[_0x694b('0x3f')],'as':_0x694b('0x3c')},{'model':db['MailServerOut'],'as':_0x694b('0x3d')},{'model':db[_0x694b('0x41')],'as':_0x694b('0x42')}]})[_0x694b('0xd')](handleEntityNotFound(_0x80e2a9,null))[_0x694b('0xd')](function(_0x4000c4){if(!_0x4000c4)throw new Error('Mail\x20Account\x20not\x20found');if(_0x4000c4[_0x694b('0x39')])delete _0x1f5706[_0x694b('0x5f')]['Imap'];return _0x4000c4;})[_0x694b('0xd')](saveUpdates(_0x1f5706['body'],null))['then'](function(_0x43fc3c){if(!_0x1f5706[_0x694b('0x5f')]['Imap'])return _0x43fc3c;return db[_0x694b('0x3f')][_0x694b('0x1f')](_0x1f5706[_0x694b('0x5f')][_0x694b('0x3c')],{'where':{'MailAccountId':_0x43fc3c['id']}})[_0x694b('0xd')](function(){return _0x43fc3c;});})[_0x694b('0xd')](function(_0x5b2add){if(!_0x1f5706[_0x694b('0x5f')][_0x694b('0x3d')])return _0x5b2add;return db[_0x694b('0x40')]['update'](_0x1f5706[_0x694b('0x5f')][_0x694b('0x3d')],{'where':{'MailAccountId':_0x5b2add['id']}})[_0x694b('0xd')](function(){return _0x5b2add;});})[_0x694b('0xd')](respondWithResult(_0x80e2a9,null))[_0x694b('0x16')](handleError(_0x80e2a9,null));};exports['describe']=function(_0x2049ba,_0x568046){return db[_0x694b('0x43')]['describe']()[_0x694b('0xd')](respondWithResult(_0x568046,null))[_0x694b('0x16')](handleError(_0x568046,null));};exports['addDisposition']=function(_0x12f636,_0x125838){if(_0x12f636['body']['id']){delete _0x12f636['body']['id'];}return db[_0x694b('0x43')][_0x694b('0x62')]({'where':{'id':_0x12f636['params']['id']}})[_0x694b('0xd')](handleEntityNotFound(_0x125838,null))['then'](function(_0x5a62fe){if(_0x5a62fe){_0x12f636['body'][_0x694b('0x63')]=_0x5a62fe['id'];return db[_0x694b('0x64')]['create'](_0x12f636['body']);}})[_0x694b('0xd')](respondWithResult(_0x125838,null))[_0x694b('0x16')](handleError(_0x125838,null));};exports['getDispositions']=function(_0x8717f,_0x273032){var _0x395410={'raw':![],'where':{}};var _0x3ef8c4={};var _0x3c2699={'count':0x0,'rows':[]};return db[_0x694b('0x43')][_0x694b('0x65')]({'where':{'id':_0x8717f[_0x694b('0x5c')]['id']}})[_0x694b('0xd')](handleEntityNotFound(_0x273032,null))[_0x694b('0xd')](function(_0x4360db){if(_0x4360db){_0x3ef8c4[_0x694b('0x4b')]=_[_0x694b('0x49')](db[_0x694b('0x64')][_0x694b('0x44')]);_0x3ef8c4['query']=_['keys'](_0x8717f[_0x694b('0x52')]);_0x3ef8c4[_0x694b('0x4a')]=_[_0x694b('0x4c')](_0x3ef8c4[_0x694b('0x4b')],_0x3ef8c4[_0x694b('0x52')]);_0x395410[_0x694b('0x4e')]=_[_0x694b('0x4c')](_0x3ef8c4[_0x694b('0x4b')],qs['fields'](_0x8717f[_0x694b('0x52')][_0x694b('0x4d')]));_0x395410[_0x694b('0x4e')]=_0x395410[_0x694b('0x4e')]['length']?_0x395410[_0x694b('0x4e')]:_0x3ef8c4[_0x694b('0x4b')];if(!_0x8717f['query']['hasOwnProperty'](_0x694b('0x51'))){_0x395410[_0x694b('0x1b')]=qs[_0x694b('0x1b')](_0x8717f['query'][_0x694b('0x1b')]);_0x395410[_0x694b('0x1d')]=qs[_0x694b('0x1d')](_0x8717f[_0x694b('0x52')][_0x694b('0x1d')]);}_0x395410[_0x694b('0x66')]=qs[_0x694b('0x53')](_0x8717f['query'][_0x694b('0x53')]);_0x395410[_0x694b('0x54')]=qs[_0x694b('0x4a')](_[_0x694b('0x67')](_0x8717f[_0x694b('0x52')],_0x3ef8c4['filters']));_0x395410[_0x694b('0x54')][_0x694b('0x63')]=_0x4360db['id'];if(_0x8717f['query']['filter']){_0x395410[_0x694b('0x54')]=_[_0x694b('0x56')](_0x395410[_0x694b('0x54')],{'$or':_['map'](_0x395410[_0x694b('0x4e')],function(_0x205f74){var _0x2a03b0={};_0x2a03b0[_0x205f74]={'$like':'%'+_0x8717f[_0x694b('0x52')]['filter']+'%'};return _0x2a03b0;})});}_0x395410=_[_0x694b('0x56')]({},_0x395410,_0x8717f[_0x694b('0x5e')]);return db[_0x694b('0x64')][_0x694b('0x1c')]({'where':_0x395410[_0x694b('0x54')]})['then'](function(_0x218298){_0x3c2699[_0x694b('0x1c')]=_0x218298;if(_0x8717f[_0x694b('0x52')]['includeAll']){_0x395410[_0x694b('0x58')]=[{'all':!![]}];}return db['Disposition'][_0x694b('0x59')](_0x395410);})[_0x694b('0xd')](function(_0x42d6c3){_0x3c2699[_0x694b('0x5a')]=_0x42d6c3;return _0x3c2699;});}})[_0x694b('0xd')](respondWithFilteredResult(_0x273032,_0x395410))[_0x694b('0x16')](handleError(_0x273032,null));};exports[_0x694b('0x68')]=function(_0x1ccdef,_0x374e70){return db['MailAccount']['find']({'where':{'id':_0x1ccdef[_0x694b('0x5c')]['id']}})['then'](handleEntityNotFound(_0x374e70,null))[_0x694b('0xd')](function(_0x40844e){if(_0x40844e){return _0x40844e['removeDispositions'](_0x1ccdef[_0x694b('0x52')][_0x694b('0x69')]);}})[_0x694b('0xd')](respondWithStatusCode(_0x374e70,null))[_0x694b('0x16')](handleError(_0x374e70,null));};exports[_0x694b('0x6a')]=function(_0x5aa6ab,_0xec138f){if(_0x5aa6ab[_0x694b('0x5f')]['id']){delete _0x5aa6ab[_0x694b('0x5f')]['id'];}return db[_0x694b('0x43')]['find']({'where':{'id':_0x5aa6ab[_0x694b('0x5c')]['id']}})['then'](handleEntityNotFound(_0xec138f,null))[_0x694b('0xd')](function(_0x4dcdf5){if(_0x4dcdf5){_0x5aa6ab[_0x694b('0x5f')][_0x694b('0x63')]=_0x4dcdf5['id'];return db[_0x694b('0x6b')][_0x694b('0x6c')](_0x5aa6ab[_0x694b('0x5f')]);}})[_0x694b('0xd')](respondWithResult(_0xec138f,null))[_0x694b('0x16')](handleError(_0xec138f,null));};exports[_0x694b('0x6d')]=function(_0x423e1f,_0x363334){var _0x3e0e52={'raw':![],'where':{}};var _0x127d7b={};var _0x2ae0f4={'count':0x0,'rows':[]};return db['MailAccount'][_0x694b('0x65')]({'where':{'id':_0x423e1f[_0x694b('0x5c')]['id']}})[_0x694b('0xd')](handleEntityNotFound(_0x363334,null))['then'](function(_0x158f7b){if(_0x158f7b){_0x127d7b[_0x694b('0x4b')]=_[_0x694b('0x49')](db[_0x694b('0x6b')][_0x694b('0x44')]);_0x127d7b[_0x694b('0x52')]=_[_0x694b('0x49')](_0x423e1f[_0x694b('0x52')]);_0x127d7b['filters']=_['intersection'](_0x127d7b[_0x694b('0x4b')],_0x127d7b[_0x694b('0x52')]);_0x3e0e52[_0x694b('0x4e')]=_[_0x694b('0x4c')](_0x127d7b[_0x694b('0x4b')],qs[_0x694b('0x4d')](_0x423e1f[_0x694b('0x52')][_0x694b('0x4d')]));_0x3e0e52[_0x694b('0x4e')]=_0x3e0e52['attributes'][_0x694b('0x4f')]?_0x3e0e52[_0x694b('0x4e')]:_0x127d7b['model'];if(!_0x423e1f['query'][_0x694b('0x50')](_0x694b('0x51'))){_0x3e0e52['limit']=qs[_0x694b('0x1b')](_0x423e1f[_0x694b('0x52')][_0x694b('0x1b')]);_0x3e0e52['offset']=qs[_0x694b('0x1d')](_0x423e1f[_0x694b('0x52')]['offset']);}_0x3e0e52[_0x694b('0x66')]=qs[_0x694b('0x53')](_0x423e1f[_0x694b('0x52')]['sort']);_0x3e0e52[_0x694b('0x54')]=qs['filters'](_[_0x694b('0x67')](_0x423e1f[_0x694b('0x52')],_0x127d7b[_0x694b('0x4a')]));_0x3e0e52[_0x694b('0x54')][_0x694b('0x63')]=_0x158f7b['id'];if(_0x423e1f[_0x694b('0x52')][_0x694b('0x55')]){_0x3e0e52['where']=_['merge'](_0x3e0e52[_0x694b('0x54')],{'$or':_[_0x694b('0x48')](_0x3e0e52[_0x694b('0x4e')],function(_0x5b9f8b){var _0x1b6b92={};_0x1b6b92[_0x5b9f8b]={'$like':'%'+_0x423e1f[_0x694b('0x52')][_0x694b('0x55')]+'%'};return _0x1b6b92;})});}_0x3e0e52=_[_0x694b('0x56')]({},_0x3e0e52,_0x423e1f[_0x694b('0x5e')]);return db['CannedAnswer'][_0x694b('0x1c')]({'where':_0x3e0e52[_0x694b('0x54')]})[_0x694b('0xd')](function(_0x25290e){_0x2ae0f4['count']=_0x25290e;if(_0x423e1f[_0x694b('0x52')][_0x694b('0x5d')]){_0x3e0e52['include']=[{'all':!![]}];}return db[_0x694b('0x6b')][_0x694b('0x59')](_0x3e0e52);})[_0x694b('0xd')](function(_0x5038dc){_0x2ae0f4[_0x694b('0x5a')]=_0x5038dc;return _0x2ae0f4;});}})[_0x694b('0xd')](respondWithFilteredResult(_0x363334,_0x3e0e52))[_0x694b('0x16')](handleError(_0x363334,null));};exports[_0x694b('0x6e')]=function(_0x427d05,_0x2e058f){return db[_0x694b('0x43')][_0x694b('0x62')]({'where':{'id':_0x427d05['params']['id']}})[_0x694b('0xd')](handleEntityNotFound(_0x2e058f,null))[_0x694b('0xd')](function(_0x3165d9){if(_0x3165d9){return _0x3165d9[_0x694b('0x6e')](_0x427d05[_0x694b('0x52')]['ids']);}})['then'](respondWithStatusCode(_0x2e058f,null))[_0x694b('0x16')](handleError(_0x2e058f,null));};exports['create']=function(_0x5889f1,_0x367522){var _0x3d8a86={'name':_0x5889f1[_0x694b('0x5f')]['name'],'key':_0x5889f1[_0x694b('0x5f')][_0x694b('0x47')],'provider':_0x5889f1['body'][_0x694b('0x60')]==='custom'?null:_0x5889f1['body']['provider'],'email':_0x5889f1[_0x694b('0x5f')][_0x694b('0x6f')],'ListId':_0x5889f1[_0x694b('0x5f')][_0x694b('0x70')],'active':!_[_0x694b('0x71')](_0x5889f1[_0x694b('0x5f')][_0x694b('0x72')])?_0x5889f1[_0x694b('0x5f')][_0x694b('0x72')]:!![],'description':_0x5889f1['body'][_0x694b('0x73')]||null};var _0x1c312b=getAuthenticationOptions(_0x3d8a86['provider'],_0x5889f1[_0x694b('0x5f')]);_0x3d8a86[_0x694b('0x3c')]=_0x1c312b[_0x694b('0x3c')];_0x3d8a86[_0x694b('0x3d')]=_0x1c312b[_0x694b('0x3d')];return db[_0x694b('0x43')][_0x694b('0x6c')](_0x3d8a86,{'include':[{'model':db[_0x694b('0x40')],'as':_0x694b('0x3d')},{'model':db[_0x694b('0x3f')],'as':'Imap'}]})['then'](function(_0x84b41d){var _0x5b9147=_0x5889f1['user'][_0x694b('0x74')]({'plain':!![]});if(!_0x5b9147)throw new Error(_0x694b('0x75'));if(_0x5b9147[_0x694b('0x76')]===_0x694b('0x31')){var _0x5c47a6=_0x84b41d[_0x694b('0x74')]({'plain':!![]});return db[_0x694b('0x77')]['find']({'where':{'name':_0x694b('0x21'),'userProfileId':_0x5b9147[_0x694b('0x78')]},'raw':!![]})['then'](function(_0x47a5e7){if(_0x47a5e7&&_0x47a5e7[_0x694b('0x79')]===0x0){return db[_0x694b('0x22')]['create']({'name':_0x5c47a6[_0x694b('0x25')],'resourceId':_0x5c47a6['id'],'type':_0x47a5e7['name'],'sectionId':_0x47a5e7['id']},{})[_0x694b('0xd')](function(){return _0x84b41d;});}else{return _0x84b41d;}})[_0x694b('0x16')](function(_0x3cf612){logger[_0x694b('0x12')](_0x694b('0x7a'),_0x3cf612);throw _0x3cf612;});}return _0x84b41d;})[_0x694b('0xd')](respondWithResult(_0x367522,0xc9))[_0x694b('0x16')](handleError(_0x367522,null));};exports['getImap']=function(_0x48eee9,_0x2df03b){return db[_0x694b('0x43')]['findOne']({'where':{'id':_0x48eee9[_0x694b('0x5c')]['id']}})[_0x694b('0xd')](handleEntityNotFound(_0x2df03b,null))[_0x694b('0xd')](function(_0x466c0a){if(_0x466c0a){return _0x466c0a[_0x694b('0x7b')]();}return null;})[_0x694b('0xd')](respondWithResult(_0x2df03b,null))['catch'](handleError(_0x2df03b,null));};exports[_0x694b('0x7c')]=function(_0x467c46,_0x21f08e){if(_0x467c46['body']['id']){delete _0x467c46['body']['id'];}return db[_0x694b('0x43')][_0x694b('0x62')]({'where':{'id':_0x467c46[_0x694b('0x5c')]['id']}})[_0x694b('0xd')](handleEntityNotFound(_0x21f08e,null))[_0x694b('0xd')](function(_0x2f9a84){if(_0x2f9a84){_0x467c46[_0x694b('0x5f')][_0x694b('0x63')]=_0x2f9a84['id'];return db[_0x694b('0x3f')][_0x694b('0x6c')](_0x467c46[_0x694b('0x5f')]);}})[_0x694b('0xd')](respondWithResult(_0x21f08e,null))[_0x694b('0x16')](handleError(_0x21f08e,null));};exports[_0x694b('0x7d')]=function(_0xfb9bc5,_0x2c4fc2){return db[_0x694b('0x43')][_0x694b('0x65')]({'where':{'id':_0xfb9bc5['params']['id']}})['then'](handleEntityNotFound(_0x2c4fc2,null))['then'](function(_0x7ff03a){if(_0x7ff03a){return _0x7ff03a[_0x694b('0x7e')](null);}return null;})[_0x694b('0xd')](respondWithStatusCode(_0x2c4fc2,null))[_0x694b('0x16')](handleError(_0x2c4fc2,null));};exports[_0x694b('0x7f')]=function(_0x44b335,_0x33485a){return db[_0x694b('0x43')][_0x694b('0x65')]({'where':{'id':_0x44b335[_0x694b('0x5c')]['id']}})[_0x694b('0xd')](handleEntityNotFound(_0x33485a,null))[_0x694b('0xd')](function(_0x52fb0f){if(_0x52fb0f){return _0x52fb0f[_0x694b('0x7f')]();}return null;})[_0x694b('0xd')](respondWithResult(_0x33485a,null))['catch'](handleError(_0x33485a,null));};exports[_0x694b('0x80')]=function(_0x412c20,_0x6e0f90){if(_0x412c20[_0x694b('0x5f')]['id']){delete _0x412c20[_0x694b('0x5f')]['id'];}return db[_0x694b('0x43')]['find']({'where':{'id':_0x412c20[_0x694b('0x5c')]['id']}})[_0x694b('0xd')](handleEntityNotFound(_0x6e0f90,null))[_0x694b('0xd')](function(_0x346a18){if(_0x346a18){_0x412c20[_0x694b('0x5f')][_0x694b('0x63')]=_0x346a18['id'];return db[_0x694b('0x40')][_0x694b('0x6c')](_0x412c20['body']);}})[_0x694b('0xd')](respondWithResult(_0x6e0f90,null))[_0x694b('0x16')](handleError(_0x6e0f90,null));};exports[_0x694b('0x81')]=function(_0x407084,_0x30b2ef){return db[_0x694b('0x43')][_0x694b('0x65')]({'where':{'id':_0x407084[_0x694b('0x5c')]['id']}})['then'](handleEntityNotFound(_0x30b2ef,null))['then'](function(_0x1da77d){if(_0x1da77d){return _0x1da77d[_0x694b('0x82')](null);}return null;})[_0x694b('0xd')](respondWithStatusCode(_0x30b2ef,null))[_0x694b('0x16')](handleError(_0x30b2ef,null));};exports[_0x694b('0x83')]=function(_0x49ed7b,_0x49d57d){return db['MailInteraction'][_0x694b('0x62')]({'where':{'id':_0x49ed7b['params']['id']}})[_0x694b('0xd')](handleEntityNotFound(_0x49d57d,null))[_0x694b('0xd')](function(_0x27b5b4){if(_0x27b5b4){return _0x27b5b4[_0x694b('0x83')](_0x49ed7b[_0x694b('0x5f')]['ids'],_[_0x694b('0x84')](_0x49ed7b[_0x694b('0x5f')],[_0x694b('0x69'),'id'])||{});}})['then'](respondWithResult(_0x49d57d,null))[_0x694b('0x16')](handleError(_0x49d57d,null));};exports['getInteractions']=function(_0x26dc47,_0x4e1649){var _0x5d0e81={'raw':![],'where':{}};var _0x34b6a6={};var _0x3653e5={'count':0x0,'rows':[]};return db[_0x694b('0x43')][_0x694b('0x65')]({'where':{'id':_0x26dc47[_0x694b('0x5c')]['id']}})[_0x694b('0xd')](handleEntityNotFound(_0x4e1649,null))['then'](function(_0x4d235d){if(_0x4d235d){_0x34b6a6[_0x694b('0x4b')]=_[_0x694b('0x49')](db[_0x694b('0x85')][_0x694b('0x44')]);_0x34b6a6['query']=_[_0x694b('0x49')](_0x26dc47[_0x694b('0x52')]);_0x34b6a6[_0x694b('0x4a')]=_[_0x694b('0x4c')](_0x34b6a6[_0x694b('0x4b')],_0x34b6a6[_0x694b('0x52')]);_0x5d0e81[_0x694b('0x4e')]=_['intersection'](_0x34b6a6[_0x694b('0x4b')],qs[_0x694b('0x4d')](_0x26dc47[_0x694b('0x52')][_0x694b('0x4d')]));_0x5d0e81[_0x694b('0x4e')]=_0x5d0e81['attributes'][_0x694b('0x4f')]?_0x5d0e81[_0x694b('0x4e')]:_0x34b6a6[_0x694b('0x4b')];if(!_0x26dc47['query']['hasOwnProperty'](_0x694b('0x51'))){_0x5d0e81[_0x694b('0x1b')]=qs[_0x694b('0x1b')](_0x26dc47[_0x694b('0x52')]['limit']);_0x5d0e81['offset']=qs['offset'](_0x26dc47[_0x694b('0x52')]['offset']);}_0x5d0e81[_0x694b('0x66')]=qs[_0x694b('0x53')](_0x26dc47[_0x694b('0x52')][_0x694b('0x53')]);_0x5d0e81[_0x694b('0x54')]=qs[_0x694b('0x4a')](_[_0x694b('0x67')](_0x26dc47[_0x694b('0x52')],_0x34b6a6[_0x694b('0x4a')]));_0x5d0e81[_0x694b('0x54')][_0x694b('0x63')]=_0x4d235d['id'];if(_0x26dc47[_0x694b('0x52')]['filter']){_0x5d0e81['where']=_[_0x694b('0x56')](_0x5d0e81[_0x694b('0x54')],{'$or':_[_0x694b('0x48')](_0x5d0e81[_0x694b('0x4e')],function(_0x5b035f){var _0x29b828={};_0x29b828[_0x5b035f]={'$like':'%'+_0x26dc47[_0x694b('0x52')][_0x694b('0x55')]+'%'};return _0x29b828;})});}_0x5d0e81=_['merge']({},_0x5d0e81,_0x26dc47[_0x694b('0x5e')]);return db['MailInteraction']['count']({'where':_0x5d0e81[_0x694b('0x54')]})[_0x694b('0xd')](function(_0x2b8ceb){_0x3653e5[_0x694b('0x1c')]=_0x2b8ceb;if(_0x26dc47[_0x694b('0x52')]['includeAll']){_0x5d0e81[_0x694b('0x58')]=[{'model':db[_0x694b('0x86')],'as':_0x694b('0x87'),'required':![]},{'model':db[_0x694b('0x88')],'as':_0x694b('0x89'),'attributes':[_0x694b('0x25'),'fullname','internal'],'required':![]},{'model':db[_0x694b('0x8a')],'as':_0x694b('0x8b'),'attributes':['id','name',_0x694b('0x8c')],'where':_0x26dc47['query']['tag']?{'id':_0x26dc47[_0x694b('0x52')][_0x694b('0x8d')]}:undefined,'required':_0x26dc47[_0x694b('0x52')][_0x694b('0x8d')]?!![]:![]}];}return db[_0x694b('0x85')]['findAll'](_0x5d0e81);})[_0x694b('0xd')](function(_0x316635){_0x3653e5[_0x694b('0x5a')]=_0x316635;return _0x3653e5;});}})[_0x694b('0xd')](respondWithFilteredResult(_0x4e1649,_0x5d0e81))[_0x694b('0x16')](handleError(_0x4e1649,null));};exports['addApplications']=function addApplications(_0x3cee8b,_0x3a079c){var _0x1b6390=_0x3cee8b[_0x694b('0x5c')]['id'];var _0x2f22c3=_0x3cee8b[_0x694b('0x5f')];var _0x28f1a2=0xc8;var _0x22bec0=null;return db[_0x694b('0x8e')][_0x694b('0x8f')]({'isolationLevel':db[_0x694b('0x8e')][_0x694b('0x90')][_0x694b('0x91')][_0x694b('0x92')]},function(_0x20336b){return db[_0x694b('0x43')][_0x694b('0x65')]({'where':{'id':_0x1b6390},'transaction':_0x20336b})[_0x694b('0xd')](function(_0x156fb9){if(_0x156fb9){return db[_0x694b('0x93')][_0x694b('0x20')]({'where':{'MailAccountId':_0x1b6390},'transaction':_0x20336b})['then'](function(){var _0x3a7114=_['map'](_0x2f22c3,function(_0x3daa57){_0x3daa57[_0x694b('0x63')]=_0x1b6390;return _0x3daa57;});return db[_0x694b('0x93')][_0x694b('0x94')](_0x3a7114,{'transaction':_0x20336b});});}else{_0x28f1a2=0x194;_0x22bec0=[];}});})['then'](function(){if(_0x28f1a2!==0x194){return db[_0x694b('0x93')][_0x694b('0x95')]({'where':{'MailAccountId':_0x1b6390},'order':_0x694b('0x96')})[_0x694b('0xd')](function(_0x3de8a1){_0x22bec0=_0x3de8a1;});}})[_0x694b('0x16')](function(_0xbb3c96){_0x28f1a2=0x1f4;logger[_0x694b('0x12')](_0xbb3c96['stack']);if(_0xbb3c96[_0x694b('0x25')]){delete _0xbb3c96[_0x694b('0x25')];}_0x22bec0=_0xbb3c96;})['finally'](function(){if(_0x22bec0===null){_0x3a079c['sendStatus'](_0x28f1a2);}else{if(_0x28f1a2===0x1f4){_0x3a079c[_0x694b('0x17')](_0x28f1a2)[_0x694b('0x97')](_0x22bec0);}else{_0x3a079c[_0x694b('0x17')](_0x28f1a2)['json'](_0x22bec0);}}});};exports[_0x694b('0x98')]=function(_0x5586a8,_0x36cf5f){var _0xaa21cd={};var _0x102061={};var _0x4f205c;var _0x1c931f;return db[_0x694b('0x43')][_0x694b('0x65')]({'where':{'id':_0x5586a8[_0x694b('0x5c')]['id']}})['then'](handleEntityNotFound(_0x36cf5f,null))[_0x694b('0xd')](function(_0x3da7f4){if(_0x3da7f4){_0x4f205c=_0x3da7f4;_0x102061['model']=_[_0x694b('0x49')](db[_0x694b('0x93')][_0x694b('0x44')]);_0x102061['query']=_[_0x694b('0x49')](_0x5586a8[_0x694b('0x52')]);_0x102061['filters']=_[_0x694b('0x4c')](_0x102061[_0x694b('0x4b')],_0x102061[_0x694b('0x52')]);_0xaa21cd[_0x694b('0x4e')]=_[_0x694b('0x4c')](_0x102061[_0x694b('0x4b')],qs[_0x694b('0x4d')](_0x5586a8[_0x694b('0x52')][_0x694b('0x4d')]));_0xaa21cd[_0x694b('0x4e')]=_0xaa21cd[_0x694b('0x4e')][_0x694b('0x4f')]?_0xaa21cd[_0x694b('0x4e')]:_0x102061['model'];_0xaa21cd[_0x694b('0x66')]=qs[_0x694b('0x53')](_0x5586a8[_0x694b('0x52')][_0x694b('0x53')]);_0xaa21cd[_0x694b('0x54')]=qs[_0x694b('0x4a')](_[_0x694b('0x67')](_0x5586a8[_0x694b('0x52')],_0x102061[_0x694b('0x4a')]));if(_0x5586a8['query'][_0x694b('0x55')]){_0xaa21cd['where']=_[_0x694b('0x56')](_0xaa21cd[_0x694b('0x54')],{'$or':_['map'](_0xaa21cd[_0x694b('0x4e')],function(_0x1f4d50){var _0x136048={};_0x136048[_0x1f4d50]={'$like':'%'+_0x5586a8[_0x694b('0x52')]['filter']+'%'};return _0x136048;})});}_0xaa21cd=_[_0x694b('0x56')]({},_0xaa21cd,_0x5586a8[_0x694b('0x5e')]);return _0x4f205c[_0x694b('0x98')](_0xaa21cd);}})['then'](function(_0x26cd26){if(_0x26cd26){_0x1c931f=_0x26cd26[_0x694b('0x4f')];if(!_0x5586a8[_0x694b('0x52')][_0x694b('0x50')]('nolimit')){_0xaa21cd[_0x694b('0x1b')]=qs[_0x694b('0x1b')](_0x5586a8[_0x694b('0x52')][_0x694b('0x1b')]);_0xaa21cd[_0x694b('0x1d')]=qs[_0x694b('0x1d')](_0x5586a8['query']['offset']);}return _0x4f205c[_0x694b('0x98')](_0xaa21cd);}})[_0x694b('0xd')](function(_0x538b32){if(_0x538b32){return _0x538b32?{'count':_0x1c931f,'rows':_0x538b32}:null;}})[_0x694b('0xd')](respondWithResult(_0x36cf5f,null))['catch'](handleError(_0x36cf5f,null));};exports[_0x694b('0x99')]=function(_0x3ac796,_0x31d4f4){var _0x2ad427={'raw':!![],'where':{}};var _0x310f05={};var _0x18e816={'count':0x0,'rows':[]};return db[_0x694b('0x43')][_0x694b('0x65')]({'where':{'id':_0x3ac796[_0x694b('0x5c')]['id']}})['then'](handleEntityNotFound(_0x31d4f4,null))[_0x694b('0xd')](function(_0x234dca){if(_0x234dca){_0x310f05[_0x694b('0x4b')]=_['keys'](db[_0x694b('0x9a')][_0x694b('0x44')]);_0x310f05[_0x694b('0x52')]=_[_0x694b('0x49')](_0x3ac796['query']);_0x310f05[_0x694b('0x4a')]=_[_0x694b('0x4c')](_0x310f05[_0x694b('0x4b')],_0x310f05[_0x694b('0x52')]);_0x2ad427[_0x694b('0x4e')]=_[_0x694b('0x4c')](_0x310f05[_0x694b('0x4b')],qs['fields'](_0x3ac796[_0x694b('0x52')][_0x694b('0x4d')]));_0x2ad427[_0x694b('0x4e')]=_0x2ad427[_0x694b('0x4e')][_0x694b('0x4f')]?_0x2ad427[_0x694b('0x4e')]:_0x310f05[_0x694b('0x4b')];if(!_0x3ac796['query'][_0x694b('0x50')](_0x694b('0x51'))){_0x2ad427['limit']=qs[_0x694b('0x1b')](_0x3ac796[_0x694b('0x52')][_0x694b('0x1b')]);_0x2ad427['offset']=qs[_0x694b('0x1d')](_0x3ac796['query']['offset']);}_0x2ad427[_0x694b('0x66')]=qs[_0x694b('0x53')](_0x3ac796[_0x694b('0x52')]['sort']);_0x2ad427[_0x694b('0x54')]=qs['filters'](_['pick'](_0x3ac796[_0x694b('0x52')],_0x310f05[_0x694b('0x4a')]));_0x2ad427[_0x694b('0x54')][_0x694b('0x63')]=_0x234dca['id'];if(_0x3ac796['query']['filter']){_0x2ad427[_0x694b('0x54')]=_['merge'](_0x2ad427[_0x694b('0x54')],{'$or':_[_0x694b('0x48')](_0x2ad427[_0x694b('0x4e')],function(_0x46164b){var _0x5288de={};_0x5288de[_0x46164b]={'$like':'%'+_0x3ac796['query'][_0x694b('0x55')]+'%'};return _0x5288de;})});}if(_0x3ac796[_0x694b('0x52')][_0x694b('0x9b')]){var _0x396941=_0x3ac796[_0x694b('0x52')]['$gte']['split'](',');var _0x5994a4={};_0x5994a4[_0x396941[0x0]]={'$gte':moment(_0x396941[0x1])[_0x694b('0x9c')](_0x694b('0x9d'))};_0x2ad427['where']=_[_0x694b('0x56')](_0x2ad427['where'],_0x5994a4);}_0x2ad427=_[_0x694b('0x56')]({},_0x2ad427,_0x3ac796[_0x694b('0x5e')]);return db[_0x694b('0x9a')][_0x694b('0x1c')]({'where':_0x2ad427[_0x694b('0x54')]})[_0x694b('0xd')](function(_0x343da0){_0x18e816[_0x694b('0x1c')]=_0x343da0;if(_0x3ac796[_0x694b('0x52')]['includeAll']){_0x2ad427[_0x694b('0x58')]=[{'all':!![]}];}return db[_0x694b('0x9a')][_0x694b('0x59')](_0x2ad427);})[_0x694b('0xd')](function(_0x2aefcc){if(_0x3ac796['query']['inlineCss']===_0x694b('0x9e')){for(var _0x429da1=0x0;_0x429da1<_0x2aefcc['length'];_0x429da1++){_0x2aefcc[_0x429da1][_0x694b('0x5f')]=juice(_0x2aefcc[_0x429da1][_0x694b('0x5f')]);}}_0x18e816[_0x694b('0x5a')]=_0x2aefcc;return _0x18e816;});}})[_0x694b('0xd')](respondWithFilteredResult(_0x31d4f4,_0x2ad427))[_0x694b('0x16')](handleError(_0x31d4f4,null));};exports[_0x694b('0x97')]=function(_0x2c2878,_0x37ab4a){var _0x1dc859,_0x34f3d0={},_0x2731a1;if(_0x2c2878[_0x694b('0x5f')]['to']){_0x2731a1=_0x2c2878[_0x694b('0x5f')]['to'][_0x694b('0x9f')](',')[0x0];}return db[_0x694b('0x43')][_0x694b('0x62')]({'where':{'id':_0x2c2878['params']['id']},'include':[{'model':db[_0x694b('0xa0')],'as':_0x694b('0xa1'),'include':[{'model':db[_0x694b('0x86')],'as':_0x694b('0xa2'),'where':{'email':_0x2731a1},'limit':0x1,'order':[['updatedAt','DESC']]}]},{'model':db[_0x694b('0x40')],'as':_0x694b('0x3d'),'raw':!![],'include':[{'model':db[_0x694b('0xa3')],'as':'CloudProvider','raw':!![]}]}]})[_0x694b('0xd')](handleEntityNotFound(_0x37ab4a,null))['then'](function(_0x235208){if(!_0x235208)return;_0x1dc859=_0x235208;if(!_0x235208['Smtp'])throw new Error(_0x694b('0xa4'));if(_[_0x694b('0x71')](_0x2c2878[_0x694b('0x5f')]['from'])){_0x2c2878[_0x694b('0x5f')]['from']=util[_0x694b('0x9c')](_0x694b('0xa5'),_0x235208[_0x694b('0x25')],_0x235208[_0x694b('0x6f')]||_0x235208[_0x694b('0x3d')]['user']);}if(_0x2c2878[_0x694b('0x5f')][_0x694b('0xa6')]&&_0x2c2878[_0x694b('0x5f')][_0x694b('0xa6')][_0x694b('0x4f')]){for(var _0x3d00e9=0x0;_0x3d00e9<_0x2c2878[_0x694b('0x5f')]['attachments']['length'];_0x3d00e9+=0x1){_0x2c2878['body'][_0x694b('0xa6')][_0x3d00e9]={'filename':_0x2c2878['body'][_0x694b('0xa6')][_0x3d00e9][_0x694b('0x25')],'path':path[_0x694b('0xa7')](config[_0x694b('0xa8')],_0x694b('0xa9'),_0x2c2878[_0x694b('0x5f')][_0x694b('0xa6')][_0x3d00e9]['basename'])};}}var _0x5eb6bc=_0x235208['getSmtpOptions']();return respondWithRpcPromise('SendMail',_0x694b('0xaa'),{'account':_0x5eb6bc,'message':_0x2c2878['body']});})['then'](function(_0x2116e4){if(!_0x2116e4)return;_0x34f3d0=_0x2116e4;if(!_0x1dc859[_0x694b('0xa1')])throw new Error(_0x694b('0xab'));if(_0x1dc859[_0x694b('0xa1')][_0x694b('0xa2')][_0x694b('0x4f')])return _0x1dc859[_0x694b('0xa1')][_0x694b('0xa2')][0x0];return db[_0x694b('0x86')][_0x694b('0x6c')](_['defaults'](_0x2c2878[_0x694b('0x5f')],{'firstName':_0x2c2878[_0x694b('0x5f')]['to'],'email':_0x2c2878[_0x694b('0x5f')]['to'],'phone':_0x2c2878[_0x694b('0x5f')]['to'],'ListId':_0x1dc859[_0x694b('0x70')]}));})['then'](function(_0x17d1bd){if(!_0x17d1bd)return;var _0x4e8744={'UserId':_0x2c2878[_0x694b('0x31')]['id'],'ContactId':_0x17d1bd['id'],'MailAccountId':_0x1dc859['id'],'inReplyTo':_0x34f3d0[_0x694b('0xac')],'to':_0x2c2878[_0x694b('0x5f')]['from'],'cc':_0x2c2878[_0x694b('0x5f')]['cc'],'subject':_0x2c2878['body'][_0x694b('0xad')],'attach':_0x2c2878[_0x694b('0x5f')][_0x694b('0xae')],'firstMsgDirection':_0x694b('0xaf'),'lastMsgAt':moment()[_0x694b('0x9c')](_0x694b('0x9d')),'lastMsgDirection':_0x694b('0xaf'),'Messages':[_['merge'](_0x2c2878[_0x694b('0x5f')],{'messageId':_0x34f3d0[_0x694b('0xac')],'sentAt':moment()[_0x694b('0x9c')]('YYYY-MM-DD\x20HH:mm:ss'),'read':!![],'MailAccountId':_0x1dc859['id'],'UserId':_0x2c2878['user']['id'],'ContactId':_0x17d1bd['id']})]};if(_0x2c2878[_0x694b('0x5f')]['Interaction']){_0x4e8744=_[_0x694b('0x56')](_0x4e8744,_0x2c2878[_0x694b('0x5f')][_0x694b('0xb0')]);}return db[_0x694b('0x85')][_0x694b('0x6c')](_0x4e8744,{'include':[{'model':db[_0x694b('0x9a')],'as':_0x694b('0xb1')}]});})[_0x694b('0xd')](respondWithResult(_0x37ab4a,null))[_0x694b('0x16')](handleError(_0x37ab4a,null));};exports[_0x694b('0xb2')]=function(_0x3a5370,_0x3ab1e4){return db[_0x694b('0x43')]['find']({'where':{'id':_0x3a5370[_0x694b('0x5c')]['id']},'include':[{'model':db['MailServerOut'],'as':_0x694b('0x3d'),'raw':!![],'include':[{'model':db[_0x694b('0xa3')],'as':_0x694b('0xa3'),'raw':!![]}]}]})[_0x694b('0xd')](handleEntityNotFound(_0x3ab1e4,null))[_0x694b('0xd')](function(_0x5b5d1f){if(!_0x5b5d1f[_0x694b('0x3d')])return;var _0x7132b6=_0x5b5d1f['getSmtpOptions']();return respondWithRpcPromise(_0x694b('0xb3'),'verifySmtp',{'account':_0x7132b6});})[_0x694b('0xd')](respondWithResult(_0x3ab1e4,null))['catch'](handleError(_0x3ab1e4,null));};exports[_0x694b('0x20')]=function(_0xa2e2e,_0x5b3168){return db['MailAccount'][_0x694b('0x62')]({'where':{'id':_0xa2e2e[_0x694b('0x5c')]['id']}})['then'](handleEntityNotFound(_0x5b3168,null))['then'](function(_0x1025dd){if(_0x1025dd&&_0x1025dd['service']){throw new db[(_0x694b('0xb4'))]['ValidationError'](_0x694b('0xb5'));}return _0x1025dd;})[_0x694b('0xd')](removeEntity(_0x5b3168,null))[_0x694b('0x16')](handleError(_0x5b3168,null));};exports[_0x694b('0xb6')]=function(_0x1ab1c8,_0x5efe84){return db['MailAccount'][_0x694b('0x62')]({'where':{'id':_0x1ab1c8[_0x694b('0x5c')]['id']}})['then'](handleEntityNotFound(_0x5efe84,null))[_0x694b('0xd')](function(_0x228afc){if(_0x228afc){return _0x228afc['addAgents'](_0x1ab1c8['body']['ids'],_[_0x694b('0x84')](_0x1ab1c8['body'],['ids','id'])||{})[_0x694b('0xb7')](function(_0x5bf832){for(var _0x5f4969=0x0;_0x5f4969<_0x1ab1c8['body']['ids'][_0x694b('0x4f')];_0x5f4969+=0x1){socket[_0x694b('0xb8')](_0x694b('0xb9'),{'UserId':Number(_0x1ab1c8['body'][_0x694b('0x69')][_0x5f4969]),'MailAccountId':Number(_0x1ab1c8['params']['id'])});}return _0x5bf832;});}})['then'](respondWithResult(_0x5efe84,null))['catch'](handleError(_0x5efe84,null));};exports[_0x694b('0xba')]=function(_0x4578f5,_0x42fc0d){return db[_0x694b('0x43')][_0x694b('0x62')]({'where':{'id':_0x4578f5[_0x694b('0x5c')]['id']}})[_0x694b('0xd')](handleEntityNotFound(_0x42fc0d,null))[_0x694b('0xd')](function(_0x3d31ed){if(_0x3d31ed){return _0x3d31ed[_0x694b('0xba')](_0x4578f5[_0x694b('0x52')][_0x694b('0x69')])[_0x694b('0xd')](function(){if(_['isArray'](_0x4578f5['query'][_0x694b('0x69')])){for(var _0x5f3a15=0x0;_0x5f3a15<_0x4578f5[_0x694b('0x52')]['ids'][_0x694b('0x4f')];_0x5f3a15+=0x1){socket[_0x694b('0xb8')](_0x694b('0xbb'),{'UserId':Number(_0x4578f5[_0x694b('0x52')][_0x694b('0x69')][_0x5f3a15]),'MailAccountId':Number(_0x4578f5['params']['id'])});}}else{socket[_0x694b('0xb8')]('userMailAccount:remove',{'UserId':Number(_0x4578f5[_0x694b('0x52')][_0x694b('0x69')]),'MailAccountId':Number(_0x4578f5['params']['id'])});}});}})[_0x694b('0xd')](respondWithStatusCode(_0x42fc0d,null))[_0x694b('0x16')](handleError(_0x42fc0d,null));};exports[_0x694b('0xbc')]=function(_0x25036e,_0x2b6aac){var _0x2f448f={};var _0x144532={};var _0x53bd85;var _0x4f146f;return db[_0x694b('0x43')]['findOne']({'where':{'id':_0x25036e[_0x694b('0x5c')]['id']}})[_0x694b('0xd')](handleEntityNotFound(_0x2b6aac,null))['then'](function(_0x20d826){if(_0x20d826){_0x53bd85=_0x20d826;_0x144532[_0x694b('0x4b')]=_[_0x694b('0x49')](db[_0x694b('0x88')][_0x694b('0x44')]);_0x144532['query']=_['keys'](_0x25036e['query']);_0x144532[_0x694b('0x4a')]=_['intersection'](_0x144532[_0x694b('0x4b')],_0x144532[_0x694b('0x52')]);_0x2f448f[_0x694b('0x4e')]=_['intersection'](_0x144532[_0x694b('0x4b')],qs[_0x694b('0x4d')](_0x25036e['query'][_0x694b('0x4d')]));_0x2f448f[_0x694b('0x4e')]=_0x2f448f[_0x694b('0x4e')]['length']?_0x2f448f[_0x694b('0x4e')]:_0x144532['model'];_0x2f448f['order']=qs[_0x694b('0x53')](_0x25036e[_0x694b('0x52')][_0x694b('0x53')]);_0x2f448f[_0x694b('0x54')]=qs[_0x694b('0x4a')](_[_0x694b('0x67')](_0x25036e['query'],_0x144532[_0x694b('0x4a')]));if(_0x25036e['query'][_0x694b('0x55')]){_0x2f448f[_0x694b('0x54')]=_[_0x694b('0x56')](_0x2f448f[_0x694b('0x54')],{'$or':_['map'](_0x2f448f[_0x694b('0x4e')],function(_0x21b767){var _0x734314={};_0x734314[_0x21b767]={'$like':'%'+_0x25036e['query'][_0x694b('0x55')]+'%'};return _0x734314;})});}_0x2f448f=_[_0x694b('0x56')]({},_0x2f448f,_0x25036e[_0x694b('0x5e')]);return _0x53bd85['getAgents'](_0x2f448f);}})[_0x694b('0xd')](function(_0x3a0310){if(_0x3a0310){_0x4f146f=_0x3a0310[_0x694b('0x4f')];if(!_0x25036e['query']['hasOwnProperty'](_0x694b('0x51'))){_0x2f448f[_0x694b('0x1b')]=qs['limit'](_0x25036e['query']['limit']);_0x2f448f[_0x694b('0x1d')]=qs[_0x694b('0x1d')](_0x25036e[_0x694b('0x52')][_0x694b('0x1d')]);}return _0x53bd85[_0x694b('0xbc')](_0x2f448f);}})['then'](function(_0x24477e){if(_0x24477e){return _0x24477e?{'count':_0x4f146f,'rows':_0x24477e}:null;}})[_0x694b('0xd')](respondWithResult(_0x2b6aac,null))[_0x694b('0x16')](handleError(_0x2b6aac,null));};