Built motion from commit 994c64e1.|2.6.1
[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 _0x8272=['hasOwnProperty','nolimit','limit','order','sort','where','filter','merge','options','MailAccount','includeAll','include','show','MailServerIn','MailServerOut','body','provider','custom','find','params','Pause','mandatoryDispositionPause','Mail\x20Account\x20not\x20found','describe','addDisposition','MailAccountId','Disposition','create','findOne','removeDispositions','ids','CannedAnswer','findAll','removeAnswers','email','active','description','role','UserProfileSection','MailAccounts','userProfileId','getImap','addImap','removeImap','getSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','getInteractions','pick','CmContact','Contact','Owner','fullname','Tag','rows','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','bulkCreate','MailApplication','stack','finally','getApplications','getMessages','$gte','split','YYYY-MM-DD\x20HH:mm:ss','true','CmList','List','Contacts','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','isNil','from','format','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','SendMail','sendMail','ListId','messageId','subject','attach','out','Interaction','MailMessage','Messages','verifySmtp','getSmtpOptions','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','removeAgents','isArray','userMailAccount:remove','getAgents','moment','bluebird','util','lodash','juice','ioredis','../../components/parsers/qs','../../config/logger','api','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','jayson/promise','client','http','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','end','status','json','offset','count','Content-Range','update','destroy','get','UserProfileResource','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','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','map','rawAttributes','fieldName','type','model','name','query','keys','filters','intersection','fields','attributes','length'];(function(_0x3d6042,_0x2ca284){var _0x4e4272=function(_0x5c2724){while(--_0x5c2724){_0x3d6042['push'](_0x3d6042['shift']());}};_0x4e4272(++_0x2ca284);}(_0x8272,0x12f));var _0x2827=function(_0x328820,_0x9dd83){_0x328820=_0x328820-0x0;var _0x1fa555=_0x8272[_0x328820];return _0x1fa555;};'use strict';var moment=require(_0x2827('0x0'));var BPromise=require(_0x2827('0x1'));var util=require(_0x2827('0x2'));var path=require('path');var _=require(_0x2827('0x3'));var juice=require(_0x2827('0x4'));var Redis=require(_0x2827('0x5'));var qs=require(_0x2827('0x6'));var logger=require(_0x2827('0x7'))(_0x2827('0x8'));var config=require('../../config/environment');var db=require(_0x2827('0x9'))['db'];config[_0x2827('0xa')]=_[_0x2827('0xb')](config['redis'],{'host':_0x2827('0xc'),'port':0x18eb});var socket=require(_0x2827('0xd'))(new Redis(config[_0x2827('0xa')]));require(_0x2827('0xe'))['register'](socket);var jayson=require(_0x2827('0xf'));var client=jayson[_0x2827('0x10')][_0x2827('0x11')]({'port':0x232b});function respondWithRpcPromise(_0x447dbc,_0xfbdae7,_0x4b8077,_0x362bb8){return new BPromise(function(_0x157418,_0x2df34b){var _0x4c38c9=_0x362bb8||client;return _0x4c38c9['request'](_0x447dbc,_0x4b8077)[_0x2827('0x12')](function(_0x4eb6ca){logger[_0x2827('0x13')](_0x2827('0x14'),_0xfbdae7,_0x2827('0x15'));logger[_0x2827('0x16')](_0x2827('0x17'),_0xfbdae7,_0x2827('0x15'),JSON[_0x2827('0x18')](_0x4eb6ca));if(_0x4eb6ca[_0x2827('0x19')]){if(_0x4eb6ca[_0x2827('0x19')][_0x2827('0x1a')]===0x1f4){logger['error'](_0x2827('0x14'),_0xfbdae7,_0x4eb6ca[_0x2827('0x19')]['message']);return _0x2df34b(_0x4eb6ca[_0x2827('0x19')]['message']);}logger[_0x2827('0x19')](_0x2827('0x14'),_0xfbdae7,_0x4eb6ca[_0x2827('0x19')][_0x2827('0x1b')]);return _0x157418(_0x4eb6ca['error'][_0x2827('0x1b')]);}else{logger[_0x2827('0x13')](_0x2827('0x14'),_0xfbdae7,_0x2827('0x15'));_0x157418(_0x4eb6ca[_0x2827('0x1c')]['message']);}})[_0x2827('0x1d')](function(_0x1ef4d2){logger[_0x2827('0x19')](_0x2827('0x14'),_0xfbdae7,_0x1ef4d2);_0x2df34b(_0x1ef4d2);});});}function respondWithStatusCode(_0x4f6fb5,_0x2bc9dc){_0x2bc9dc=_0x2bc9dc||0xcc;return function(_0x3fbdfe){if(_0x3fbdfe){return _0x4f6fb5[_0x2827('0x1e')](_0x2bc9dc);}return _0x4f6fb5['status'](_0x2bc9dc)[_0x2827('0x1f')]();};}function respondWithResult(_0x13a126,_0x123b1c){_0x123b1c=_0x123b1c||0xc8;return function(_0x5803ab){if(_0x5803ab){return _0x13a126[_0x2827('0x20')](_0x123b1c)[_0x2827('0x21')](_0x5803ab);}};}function respondWithFilteredResult(_0x383863,_0x153408){return function(_0x5d67dd){if(_0x5d67dd){var _0x3c5ecb=typeof _0x153408[_0x2827('0x22')]==='undefined'&&typeof _0x153408['limit']==='undefined';var _0x5298a0=_0x5d67dd[_0x2827('0x23')];var _0x5cdcef=_0x3c5ecb?0x0:_0x153408[_0x2827('0x22')];var _0x748fe4=_0x3c5ecb?_0x5d67dd[_0x2827('0x23')]:_0x153408[_0x2827('0x22')]+_0x153408['limit'];var _0x5bb327;if(_0x748fe4>=_0x5298a0){_0x748fe4=_0x5298a0;_0x5bb327=0xc8;}else{_0x5bb327=0xce;}_0x383863[_0x2827('0x20')](_0x5bb327);return _0x383863['set'](_0x2827('0x24'),_0x5cdcef+'-'+_0x748fe4+'/'+_0x5298a0)['json'](_0x5d67dd);}return null;};}function saveUpdates(_0x1cbf21){return function(_0xffe893){if(_0xffe893){return _0xffe893[_0x2827('0x25')](_0x1cbf21)[_0x2827('0x12')](function(_0x8085aa){return _0x8085aa;});}return null;};}function removeEntity(_0x1fa6fa){return function(_0x543a01){if(_0x543a01){return _0x543a01[_0x2827('0x26')]()['then'](function(){var _0x2348ef=_0x543a01[_0x2827('0x27')]({'plain':!![]});var _0x4ad82b='MailAccounts';return db[_0x2827('0x28')][_0x2827('0x26')]({'where':{'type':_0x4ad82b,'resourceId':_0x2348ef['id']}})[_0x2827('0x12')](function(){return _0x543a01;});})[_0x2827('0x12')](function(){_0x1fa6fa[_0x2827('0x20')](0xcc)[_0x2827('0x1f')]();});}};}function handleEntityNotFound(_0x3596fd){return function(_0x38284d){if(!_0x38284d){_0x3596fd[_0x2827('0x1e')](0x194);}return _0x38284d;};}function handleError(_0x59b422,_0x35a5e3){_0x35a5e3=_0x35a5e3||0x1f4;return function(_0x5c9301){logger[_0x2827('0x19')](_0x5c9301['stack']);if(_0x5c9301['name']){delete _0x5c9301['name'];}_0x59b422['status'](_0x35a5e3)[_0x2827('0x29')](_0x5c9301);};}function getImapHost(_0xd85252){switch(_0xd85252){case _0x2827('0x2a'):return'imap.gmail.com';case'yahoo':return _0x2827('0x2b');case'hotmail':return _0x2827('0x2c');case _0x2827('0x2d'):return _0x2827('0x2e');}throw new Error(_0x2827('0x2f'),_0xd85252);}function getSmtpHost(_0x3f4115){switch(_0x3f4115){case _0x2827('0x2a'):return _0x2827('0x30');case _0x2827('0x31'):return _0x2827('0x32');case'hotmail':return _0x2827('0x33');case _0x2827('0x2d'):return _0x2827('0x34');}throw new Error(_0x2827('0x2f'),_0x3f4115);}function getAuthenticationOptions(_0x3483d2,_0x40b2a0){var _0x6aee1a={};var _0x38ef67={};if(_0x3483d2){_0x6aee1a['user']=_0x38ef67[_0x2827('0x35')]=_0x40b2a0[_0x2827('0x36')];_0x6aee1a[_0x2827('0x37')]=_0x38ef67[_0x2827('0x38')]=_0x40b2a0[_0x2827('0x37')];if(_0x40b2a0[_0x2827('0x39')]){_0x6aee1a['modernAuthentication']=_0x38ef67[_0x2827('0x39')]=!![];_0x6aee1a[_0x2827('0x3a')]=_0x38ef67[_0x2827('0x3a')]=_0x40b2a0['CloudProviderId'];_0x6aee1a[_0x2827('0x37')]=_0x38ef67[_0x2827('0x38')]=null;}else{_0x6aee1a[_0x2827('0x3a')]=_0x38ef67['CloudProviderId']=null;}_0x6aee1a[_0x2827('0x3b')]=getImapHost(_0x3483d2);_0x6aee1a[_0x2827('0x3c')]=0x3e1;_0x38ef67[_0x2827('0x3b')]=getSmtpHost(_0x3483d2);_0x38ef67[_0x2827('0x3c')]=0x24b;_0x38ef67[_0x2827('0x3d')]=![];_0x6aee1a[_0x2827('0x3e')]=_0x38ef67['service']=null;}else{if(_0x40b2a0[_0x2827('0x3f')]){_0x6aee1a[_0x2827('0x35')]=_0x38ef67['user']=_0x40b2a0[_0x2827('0x36')];_0x6aee1a['password']=_0x38ef67[_0x2827('0x38')]=_0x40b2a0[_0x2827('0x37')];}else{_0x6aee1a[_0x2827('0x3f')]=_0x38ef67[_0x2827('0x3f')]=![];_0x6aee1a['user']=_0x38ef67[_0x2827('0x35')]=null;_0x6aee1a[_0x2827('0x37')]=_0x38ef67[_0x2827('0x38')]=null;}_0x6aee1a['host']=_0x40b2a0['Imap'][_0x2827('0x3b')];_0x6aee1a[_0x2827('0x3c')]=_0x40b2a0[_0x2827('0x40')][_0x2827('0x3c')];_0x38ef67['host']=_0x40b2a0[_0x2827('0x41')][_0x2827('0x3b')];_0x38ef67['port']=_0x40b2a0[_0x2827('0x41')]['port'];}return{'Imap':_0x6aee1a,'Smtp':_0x38ef67};}exports['index']=function(_0x46eca3,_0x526ef8){var _0x187aff={'include':[{'model':db['MailServerIn'],'as':_0x2827('0x40')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]},_0x3c60c0={},_0x30b7d7={'count':0x0,'rows':[]};var _0x482880=_[_0x2827('0x42')](db['MailAccount'][_0x2827('0x43')],function(_0x10de05){return{'name':_0x10de05[_0x2827('0x44')],'type':_0x10de05[_0x2827('0x45')]['key']};});_0x3c60c0[_0x2827('0x46')]=_[_0x2827('0x42')](_0x482880,_0x2827('0x47'));_0x3c60c0[_0x2827('0x48')]=_[_0x2827('0x49')](_0x46eca3['query']);_0x3c60c0[_0x2827('0x4a')]=_[_0x2827('0x4b')](_0x3c60c0[_0x2827('0x46')],_0x3c60c0[_0x2827('0x48')]);_0x187aff['attributes']=_[_0x2827('0x4b')](_0x3c60c0['model'],qs[_0x2827('0x4c')](_0x46eca3[_0x2827('0x48')][_0x2827('0x4c')]));_0x187aff[_0x2827('0x4d')]=_0x187aff[_0x2827('0x4d')][_0x2827('0x4e')]?_0x187aff['attributes']:_0x3c60c0[_0x2827('0x46')];if(!_0x46eca3[_0x2827('0x48')][_0x2827('0x4f')](_0x2827('0x50'))){_0x187aff['limit']=qs[_0x2827('0x51')](_0x46eca3[_0x2827('0x48')][_0x2827('0x51')]);_0x187aff['offset']=qs[_0x2827('0x22')](_0x46eca3[_0x2827('0x48')]['offset']);}_0x187aff[_0x2827('0x52')]=qs[_0x2827('0x53')](_0x46eca3[_0x2827('0x48')]['sort']);_0x187aff[_0x2827('0x54')]=qs['filters'](_['pick'](_0x46eca3['query'],_0x3c60c0[_0x2827('0x4a')]),_0x482880);if(_0x46eca3[_0x2827('0x48')][_0x2827('0x55')]){_0x187aff[_0x2827('0x54')]=_[_0x2827('0x56')](_0x187aff[_0x2827('0x54')],{'$or':_[_0x2827('0x42')](_0x482880,function(_0x3cfe57){if(_0x3cfe57[_0x2827('0x45')]!=='VIRTUAL'){var _0x3cfd75={};_0x3cfd75[_0x3cfe57[_0x2827('0x47')]]={'$like':'%'+_0x46eca3['query'][_0x2827('0x55')]+'%'};return _0x3cfd75;}})});}_0x187aff=_[_0x2827('0x56')]({},_0x187aff,_0x46eca3[_0x2827('0x57')]);var _0x22050e={'where':_0x187aff[_0x2827('0x54')]};return db[_0x2827('0x58')][_0x2827('0x23')](_0x22050e)[_0x2827('0x12')](function(_0x55f515){_0x30b7d7[_0x2827('0x23')]=_0x55f515;if(_0x46eca3[_0x2827('0x48')][_0x2827('0x59')]){_0x187aff[_0x2827('0x5a')]=[{'all':!![]}];}return db[_0x2827('0x58')]['findAll'](_0x187aff);})[_0x2827('0x12')](function(_0x1114c6){_0x30b7d7['rows']=_0x1114c6;return _0x30b7d7;})[_0x2827('0x12')](respondWithFilteredResult(_0x526ef8,_0x187aff))[_0x2827('0x1d')](handleError(_0x526ef8,null));};exports[_0x2827('0x5b')]=function(_0x364dc7,_0x28ad5e){var _0xb34249={'raw':![],'where':{'id':_0x364dc7['params']['id']},'include':[{'model':db[_0x2827('0x5c')],'as':_0x2827('0x40')},{'model':db[_0x2827('0x5d')],'as':_0x2827('0x41')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]},_0xbbf450={};_0xbbf450[_0x2827('0x46')]=_[_0x2827('0x49')](db[_0x2827('0x58')]['rawAttributes']);_0xbbf450[_0x2827('0x48')]=_[_0x2827('0x49')](_0x364dc7[_0x2827('0x48')]);_0xbbf450[_0x2827('0x4a')]=_[_0x2827('0x4b')](_0xbbf450[_0x2827('0x46')],_0xbbf450[_0x2827('0x48')]);_0xb34249[_0x2827('0x4d')]=_[_0x2827('0x4b')](_0xbbf450[_0x2827('0x46')],qs['fields'](_0x364dc7[_0x2827('0x48')][_0x2827('0x4c')]));_0xb34249[_0x2827('0x4d')]=_0xb34249[_0x2827('0x4d')][_0x2827('0x4e')]?_0xb34249[_0x2827('0x4d')]:_0xbbf450[_0x2827('0x46')];if(_0x364dc7[_0x2827('0x48')][_0x2827('0x59')]){_0xb34249[_0x2827('0x5a')]=[{'all':!![]}];}_0xb34249=_[_0x2827('0x56')]({},_0xb34249,_0x364dc7['options']);return db['MailAccount']['find'](_0xb34249)['then'](handleEntityNotFound(_0x28ad5e,null))[_0x2827('0x12')](respondWithResult(_0x28ad5e,null))[_0x2827('0x1d')](handleError(_0x28ad5e,null));};exports[_0x2827('0x25')]=function(_0x247ac3,_0x29b6fe){if(_0x247ac3[_0x2827('0x5e')]['id']){delete _0x247ac3[_0x2827('0x5e')]['id'];}var _0x288c75=_0x247ac3[_0x2827('0x5e')][_0x2827('0x5f')]===_0x2827('0x60')?null:_0x247ac3[_0x2827('0x5e')][_0x2827('0x5f')];var _0x3a7edf=_0x247ac3[_0x2827('0x5e')][_0x2827('0x40')]||{};var _0x25d353=_0x247ac3[_0x2827('0x5e')][_0x2827('0x41')]||{};if(_0x288c75){_0x3a7edf[_0x2827('0x3b')]=getImapHost(_0x288c75);_0x3a7edf['port']=0x3e1;_0x25d353[_0x2827('0x3b')]=getSmtpHost(_0x288c75);_0x25d353['port']=0x24b;_0x25d353[_0x2827('0x3d')]=![];}if(_0x25d353['modernAuthentication']){_0x25d353[_0x2827('0x3d')]=![];}else{_0x25d353[_0x2827('0x3a')]=null;}if(!_0x3a7edf['modernAuthentication'])_0x3a7edf[_0x2827('0x3a')]=null;_0x247ac3['body'][_0x2827('0x40')]=_0x3a7edf;_0x247ac3[_0x2827('0x5e')][_0x2827('0x41')]=_0x25d353;return db[_0x2827('0x58')][_0x2827('0x61')]({'where':{'id':_0x247ac3[_0x2827('0x62')]['id']},'include':[{'model':db[_0x2827('0x5c')],'as':_0x2827('0x40')},{'model':db[_0x2827('0x5d')],'as':_0x2827('0x41')},{'model':db[_0x2827('0x63')],'as':_0x2827('0x64')}]})['then'](handleEntityNotFound(_0x29b6fe,null))[_0x2827('0x12')](function(_0x433b8c){if(!_0x433b8c)throw new Error(_0x2827('0x65'));if(_0x433b8c[_0x2827('0x3e')])delete _0x247ac3[_0x2827('0x5e')][_0x2827('0x40')];return _0x433b8c;})[_0x2827('0x12')](saveUpdates(_0x247ac3[_0x2827('0x5e')],null))[_0x2827('0x12')](function(_0x3aeb82){if(!_0x247ac3[_0x2827('0x5e')]['Imap'])return _0x3aeb82;return db[_0x2827('0x5c')]['update'](_0x247ac3[_0x2827('0x5e')]['Imap'],{'where':{'MailAccountId':_0x3aeb82['id']}})[_0x2827('0x12')](function(){return _0x3aeb82;});})[_0x2827('0x12')](function(_0x97cda8){if(!_0x247ac3[_0x2827('0x5e')][_0x2827('0x41')])return _0x97cda8;return db[_0x2827('0x5d')][_0x2827('0x25')](_0x247ac3[_0x2827('0x5e')][_0x2827('0x41')],{'where':{'MailAccountId':_0x97cda8['id']}})['then'](function(){return _0x97cda8;});})[_0x2827('0x12')](respondWithResult(_0x29b6fe,null))[_0x2827('0x1d')](handleError(_0x29b6fe,null));};exports[_0x2827('0x66')]=function(_0x10c908,_0x1815ab){return db[_0x2827('0x58')]['describe']()[_0x2827('0x12')](respondWithResult(_0x1815ab,null))[_0x2827('0x1d')](handleError(_0x1815ab,null));};exports[_0x2827('0x67')]=function(_0x5a84c1,_0x3508b7){if(_0x5a84c1[_0x2827('0x5e')]['id']){delete _0x5a84c1[_0x2827('0x5e')]['id'];}return db['MailAccount'][_0x2827('0x61')]({'where':{'id':_0x5a84c1[_0x2827('0x62')]['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x3508b7,null))['then'](function(_0x4e2bd4){if(_0x4e2bd4){_0x5a84c1[_0x2827('0x5e')][_0x2827('0x68')]=_0x4e2bd4['id'];return db[_0x2827('0x69')][_0x2827('0x6a')](_0x5a84c1[_0x2827('0x5e')]);}})[_0x2827('0x12')](respondWithResult(_0x3508b7,null))[_0x2827('0x1d')](handleError(_0x3508b7,null));};exports['getDispositions']=function(_0x251c68,_0x1659ac){var _0x1d95d1={'raw':![],'where':{}};var _0xb37c63={};var _0x29d40e={'count':0x0,'rows':[]};return db[_0x2827('0x58')][_0x2827('0x6b')]({'where':{'id':_0x251c68['params']['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x1659ac,null))[_0x2827('0x12')](function(_0x10f3f3){if(_0x10f3f3){_0xb37c63[_0x2827('0x46')]=_[_0x2827('0x49')](db[_0x2827('0x69')]['rawAttributes']);_0xb37c63['query']=_[_0x2827('0x49')](_0x251c68[_0x2827('0x48')]);_0xb37c63[_0x2827('0x4a')]=_[_0x2827('0x4b')](_0xb37c63[_0x2827('0x46')],_0xb37c63[_0x2827('0x48')]);_0x1d95d1[_0x2827('0x4d')]=_['intersection'](_0xb37c63['model'],qs[_0x2827('0x4c')](_0x251c68[_0x2827('0x48')][_0x2827('0x4c')]));_0x1d95d1['attributes']=_0x1d95d1['attributes'][_0x2827('0x4e')]?_0x1d95d1['attributes']:_0xb37c63[_0x2827('0x46')];if(!_0x251c68[_0x2827('0x48')]['hasOwnProperty'](_0x2827('0x50'))){_0x1d95d1['limit']=qs['limit'](_0x251c68[_0x2827('0x48')][_0x2827('0x51')]);_0x1d95d1[_0x2827('0x22')]=qs['offset'](_0x251c68[_0x2827('0x48')][_0x2827('0x22')]);}_0x1d95d1[_0x2827('0x52')]=qs[_0x2827('0x53')](_0x251c68[_0x2827('0x48')]['sort']);_0x1d95d1[_0x2827('0x54')]=qs[_0x2827('0x4a')](_['pick'](_0x251c68[_0x2827('0x48')],_0xb37c63[_0x2827('0x4a')]));_0x1d95d1[_0x2827('0x54')][_0x2827('0x68')]=_0x10f3f3['id'];if(_0x251c68['query']['filter']){_0x1d95d1[_0x2827('0x54')]=_[_0x2827('0x56')](_0x1d95d1[_0x2827('0x54')],{'$or':_[_0x2827('0x42')](_0x1d95d1[_0x2827('0x4d')],function(_0x5c8429){var _0x53dddc={};_0x53dddc[_0x5c8429]={'$like':'%'+_0x251c68[_0x2827('0x48')][_0x2827('0x55')]+'%'};return _0x53dddc;})});}_0x1d95d1=_['merge']({},_0x1d95d1,_0x251c68[_0x2827('0x57')]);return db[_0x2827('0x69')][_0x2827('0x23')]({'where':_0x1d95d1[_0x2827('0x54')]})[_0x2827('0x12')](function(_0x11b471){_0x29d40e['count']=_0x11b471;if(_0x251c68['query'][_0x2827('0x59')]){_0x1d95d1[_0x2827('0x5a')]=[{'all':!![]}];}return db[_0x2827('0x69')]['findAll'](_0x1d95d1);})['then'](function(_0x39a255){_0x29d40e['rows']=_0x39a255;return _0x29d40e;});}})['then'](respondWithFilteredResult(_0x1659ac,_0x1d95d1))[_0x2827('0x1d')](handleError(_0x1659ac,null));};exports[_0x2827('0x6c')]=function(_0x3d7aae,_0x142d56){return db['MailAccount'][_0x2827('0x61')]({'where':{'id':_0x3d7aae['params']['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x142d56,null))['then'](function(_0x5c5063){if(_0x5c5063){return _0x5c5063[_0x2827('0x6c')](_0x3d7aae[_0x2827('0x48')][_0x2827('0x6d')]);}})[_0x2827('0x12')](respondWithStatusCode(_0x142d56,null))[_0x2827('0x1d')](handleError(_0x142d56,null));};exports['addAnswer']=function(_0x130fc0,_0x1ea789){if(_0x130fc0[_0x2827('0x5e')]['id']){delete _0x130fc0[_0x2827('0x5e')]['id'];}return db[_0x2827('0x58')][_0x2827('0x61')]({'where':{'id':_0x130fc0[_0x2827('0x62')]['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x1ea789,null))[_0x2827('0x12')](function(_0x176203){if(_0x176203){_0x130fc0[_0x2827('0x5e')][_0x2827('0x68')]=_0x176203['id'];return db['CannedAnswer'][_0x2827('0x6a')](_0x130fc0['body']);}})[_0x2827('0x12')](respondWithResult(_0x1ea789,null))['catch'](handleError(_0x1ea789,null));};exports['getAnswers']=function(_0x56421f,_0x531442){var _0x455cad={'raw':![],'where':{}};var _0x540a84={};var _0x227b2d={'count':0x0,'rows':[]};return db[_0x2827('0x58')]['findOne']({'where':{'id':_0x56421f[_0x2827('0x62')]['id']}})['then'](handleEntityNotFound(_0x531442,null))['then'](function(_0x24b67d){if(_0x24b67d){_0x540a84['model']=_['keys'](db[_0x2827('0x6e')][_0x2827('0x43')]);_0x540a84[_0x2827('0x48')]=_[_0x2827('0x49')](_0x56421f['query']);_0x540a84[_0x2827('0x4a')]=_[_0x2827('0x4b')](_0x540a84[_0x2827('0x46')],_0x540a84[_0x2827('0x48')]);_0x455cad[_0x2827('0x4d')]=_[_0x2827('0x4b')](_0x540a84[_0x2827('0x46')],qs[_0x2827('0x4c')](_0x56421f[_0x2827('0x48')][_0x2827('0x4c')]));_0x455cad[_0x2827('0x4d')]=_0x455cad[_0x2827('0x4d')]['length']?_0x455cad[_0x2827('0x4d')]:_0x540a84[_0x2827('0x46')];if(!_0x56421f['query']['hasOwnProperty'](_0x2827('0x50'))){_0x455cad['limit']=qs[_0x2827('0x51')](_0x56421f[_0x2827('0x48')]['limit']);_0x455cad[_0x2827('0x22')]=qs[_0x2827('0x22')](_0x56421f[_0x2827('0x48')][_0x2827('0x22')]);}_0x455cad[_0x2827('0x52')]=qs['sort'](_0x56421f['query'][_0x2827('0x53')]);_0x455cad['where']=qs[_0x2827('0x4a')](_['pick'](_0x56421f['query'],_0x540a84[_0x2827('0x4a')]));_0x455cad['where'][_0x2827('0x68')]=_0x24b67d['id'];if(_0x56421f[_0x2827('0x48')][_0x2827('0x55')]){_0x455cad[_0x2827('0x54')]=_[_0x2827('0x56')](_0x455cad[_0x2827('0x54')],{'$or':_[_0x2827('0x42')](_0x455cad[_0x2827('0x4d')],function(_0x5f5a83){var _0x76be69={};_0x76be69[_0x5f5a83]={'$like':'%'+_0x56421f['query'][_0x2827('0x55')]+'%'};return _0x76be69;})});}_0x455cad=_[_0x2827('0x56')]({},_0x455cad,_0x56421f['options']);return db['CannedAnswer'][_0x2827('0x23')]({'where':_0x455cad[_0x2827('0x54')]})[_0x2827('0x12')](function(_0x2b8fcd){_0x227b2d['count']=_0x2b8fcd;if(_0x56421f[_0x2827('0x48')]['includeAll']){_0x455cad[_0x2827('0x5a')]=[{'all':!![]}];}return db[_0x2827('0x6e')][_0x2827('0x6f')](_0x455cad);})['then'](function(_0x45edd1){_0x227b2d['rows']=_0x45edd1;return _0x227b2d;});}})[_0x2827('0x12')](respondWithFilteredResult(_0x531442,_0x455cad))['catch'](handleError(_0x531442,null));};exports[_0x2827('0x70')]=function(_0x5212b8,_0x1de536){return db[_0x2827('0x58')][_0x2827('0x61')]({'where':{'id':_0x5212b8[_0x2827('0x62')]['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x1de536,null))[_0x2827('0x12')](function(_0x54bf4b){if(_0x54bf4b){return _0x54bf4b[_0x2827('0x70')](_0x5212b8[_0x2827('0x48')][_0x2827('0x6d')]);}})[_0x2827('0x12')](respondWithStatusCode(_0x1de536,null))[_0x2827('0x1d')](handleError(_0x1de536,null));};exports[_0x2827('0x6a')]=function(_0x17b8a5,_0x11ca24){var _0x382a13={'name':_0x17b8a5['body'][_0x2827('0x47')],'key':_0x17b8a5[_0x2827('0x5e')]['key'],'provider':_0x17b8a5[_0x2827('0x5e')][_0x2827('0x5f')]===_0x2827('0x60')?null:_0x17b8a5[_0x2827('0x5e')][_0x2827('0x5f')],'email':_0x17b8a5[_0x2827('0x5e')][_0x2827('0x71')],'ListId':_0x17b8a5[_0x2827('0x5e')]['ListId'],'active':!_['isNil'](_0x17b8a5[_0x2827('0x5e')]['active'])?_0x17b8a5[_0x2827('0x5e')][_0x2827('0x72')]:!![],'description':_0x17b8a5[_0x2827('0x5e')][_0x2827('0x73')]||null};var _0x44b6a3=getAuthenticationOptions(_0x382a13[_0x2827('0x5f')],_0x17b8a5[_0x2827('0x5e')]);_0x382a13[_0x2827('0x40')]=_0x44b6a3[_0x2827('0x40')];_0x382a13[_0x2827('0x41')]=_0x44b6a3[_0x2827('0x41')];return db[_0x2827('0x58')]['create'](_0x382a13,{'include':[{'model':db[_0x2827('0x5d')],'as':'Smtp'},{'model':db[_0x2827('0x5c')],'as':_0x2827('0x40')}]})['then'](function(_0x52a2cb){var _0x22cc4f=_0x17b8a5[_0x2827('0x35')][_0x2827('0x27')]({'plain':!![]});if(!_0x22cc4f)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x22cc4f[_0x2827('0x74')]===_0x2827('0x35')){var _0x1f2794=_0x52a2cb[_0x2827('0x27')]({'plain':!![]});return db[_0x2827('0x75')][_0x2827('0x61')]({'where':{'name':_0x2827('0x76'),'userProfileId':_0x22cc4f[_0x2827('0x77')]},'raw':!![]})[_0x2827('0x12')](function(_0x179964){if(_0x179964&&_0x179964['autoAssociation']===0x0){return db[_0x2827('0x28')][_0x2827('0x6a')]({'name':_0x1f2794[_0x2827('0x47')],'resourceId':_0x1f2794['id'],'type':_0x179964[_0x2827('0x47')],'sectionId':_0x179964['id']},{})[_0x2827('0x12')](function(){return _0x52a2cb;});}else{return _0x52a2cb;}})[_0x2827('0x1d')](function(_0x2d086d){logger[_0x2827('0x19')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x2d086d);throw _0x2d086d;});}return _0x52a2cb;})[_0x2827('0x12')](respondWithResult(_0x11ca24,0xc9))[_0x2827('0x1d')](handleError(_0x11ca24,null));};exports['getImap']=function(_0x20a4b5,_0x46a7fe){return db[_0x2827('0x58')][_0x2827('0x6b')]({'where':{'id':_0x20a4b5[_0x2827('0x62')]['id']}})['then'](handleEntityNotFound(_0x46a7fe,null))[_0x2827('0x12')](function(_0x2f184a){if(_0x2f184a){return _0x2f184a[_0x2827('0x78')]();}return null;})['then'](respondWithResult(_0x46a7fe,null))[_0x2827('0x1d')](handleError(_0x46a7fe,null));};exports[_0x2827('0x79')]=function(_0x16964c,_0x2a06bd){if(_0x16964c[_0x2827('0x5e')]['id']){delete _0x16964c[_0x2827('0x5e')]['id'];}return db[_0x2827('0x58')][_0x2827('0x61')]({'where':{'id':_0x16964c[_0x2827('0x62')]['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x2a06bd,null))[_0x2827('0x12')](function(_0x4c1843){if(_0x4c1843){_0x16964c[_0x2827('0x5e')][_0x2827('0x68')]=_0x4c1843['id'];return db[_0x2827('0x5c')][_0x2827('0x6a')](_0x16964c[_0x2827('0x5e')]);}})['then'](respondWithResult(_0x2a06bd,null))['catch'](handleError(_0x2a06bd,null));};exports[_0x2827('0x7a')]=function(_0x2afb0f,_0x1a1512){return db['MailAccount'][_0x2827('0x6b')]({'where':{'id':_0x2afb0f[_0x2827('0x62')]['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x1a1512,null))[_0x2827('0x12')](function(_0x35bdd3){if(_0x35bdd3){return _0x35bdd3['setImap'](null);}return null;})[_0x2827('0x12')](respondWithStatusCode(_0x1a1512,null))[_0x2827('0x1d')](handleError(_0x1a1512,null));};exports[_0x2827('0x7b')]=function(_0x13c79d,_0x34ab60){return db[_0x2827('0x58')]['findOne']({'where':{'id':_0x13c79d['params']['id']}})['then'](handleEntityNotFound(_0x34ab60,null))[_0x2827('0x12')](function(_0x162205){if(_0x162205){return _0x162205['getSmtp']();}return null;})[_0x2827('0x12')](respondWithResult(_0x34ab60,null))[_0x2827('0x1d')](handleError(_0x34ab60,null));};exports['addSmtp']=function(_0x33d6ae,_0x5e912a){if(_0x33d6ae['body']['id']){delete _0x33d6ae[_0x2827('0x5e')]['id'];}return db[_0x2827('0x58')]['find']({'where':{'id':_0x33d6ae['params']['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x5e912a,null))[_0x2827('0x12')](function(_0x49bc63){if(_0x49bc63){_0x33d6ae[_0x2827('0x5e')][_0x2827('0x68')]=_0x49bc63['id'];return db[_0x2827('0x5d')][_0x2827('0x6a')](_0x33d6ae[_0x2827('0x5e')]);}})[_0x2827('0x12')](respondWithResult(_0x5e912a,null))['catch'](handleError(_0x5e912a,null));};exports[_0x2827('0x7c')]=function(_0x5a43b8,_0x18a089){return db[_0x2827('0x58')]['findOne']({'where':{'id':_0x5a43b8[_0x2827('0x62')]['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x18a089,null))[_0x2827('0x12')](function(_0x4defb1){if(_0x4defb1){return _0x4defb1[_0x2827('0x7d')](null);}return null;})[_0x2827('0x12')](respondWithStatusCode(_0x18a089,null))[_0x2827('0x1d')](handleError(_0x18a089,null));};exports[_0x2827('0x7e')]=function(_0x26e171,_0x2228f1){return db[_0x2827('0x7f')]['find']({'where':{'id':_0x26e171[_0x2827('0x62')]['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x2228f1,null))[_0x2827('0x12')](function(_0x929aca){if(_0x929aca){return _0x929aca[_0x2827('0x7e')](_0x26e171[_0x2827('0x5e')][_0x2827('0x6d')],_[_0x2827('0x80')](_0x26e171[_0x2827('0x5e')],[_0x2827('0x6d'),'id'])||{});}})[_0x2827('0x12')](respondWithResult(_0x2228f1,null))['catch'](handleError(_0x2228f1,null));};exports[_0x2827('0x81')]=function(_0x1a9231,_0x3a8ac6){var _0x423b03={'raw':![],'where':{}};var _0x1b65a0={};var _0x4c7a4d={'count':0x0,'rows':[]};return db[_0x2827('0x58')]['findOne']({'where':{'id':_0x1a9231['params']['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x3a8ac6,null))[_0x2827('0x12')](function(_0x3468ed){if(_0x3468ed){_0x1b65a0[_0x2827('0x46')]=_[_0x2827('0x49')](db[_0x2827('0x7f')][_0x2827('0x43')]);_0x1b65a0[_0x2827('0x48')]=_['keys'](_0x1a9231['query']);_0x1b65a0[_0x2827('0x4a')]=_['intersection'](_0x1b65a0[_0x2827('0x46')],_0x1b65a0[_0x2827('0x48')]);_0x423b03[_0x2827('0x4d')]=_[_0x2827('0x4b')](_0x1b65a0['model'],qs[_0x2827('0x4c')](_0x1a9231[_0x2827('0x48')][_0x2827('0x4c')]));_0x423b03[_0x2827('0x4d')]=_0x423b03[_0x2827('0x4d')][_0x2827('0x4e')]?_0x423b03[_0x2827('0x4d')]:_0x1b65a0[_0x2827('0x46')];if(!_0x1a9231[_0x2827('0x48')][_0x2827('0x4f')](_0x2827('0x50'))){_0x423b03[_0x2827('0x51')]=qs[_0x2827('0x51')](_0x1a9231[_0x2827('0x48')][_0x2827('0x51')]);_0x423b03['offset']=qs[_0x2827('0x22')](_0x1a9231[_0x2827('0x48')][_0x2827('0x22')]);}_0x423b03[_0x2827('0x52')]=qs['sort'](_0x1a9231[_0x2827('0x48')][_0x2827('0x53')]);_0x423b03[_0x2827('0x54')]=qs['filters'](_[_0x2827('0x82')](_0x1a9231['query'],_0x1b65a0[_0x2827('0x4a')]));_0x423b03[_0x2827('0x54')]['MailAccountId']=_0x3468ed['id'];if(_0x1a9231['query'][_0x2827('0x55')]){_0x423b03[_0x2827('0x54')]=_['merge'](_0x423b03[_0x2827('0x54')],{'$or':_['map'](_0x423b03[_0x2827('0x4d')],function(_0x29f376){var _0x3e12a4={};_0x3e12a4[_0x29f376]={'$like':'%'+_0x1a9231[_0x2827('0x48')][_0x2827('0x55')]+'%'};return _0x3e12a4;})});}_0x423b03=_['merge']({},_0x423b03,_0x1a9231[_0x2827('0x57')]);return db['MailInteraction'][_0x2827('0x23')]({'where':_0x423b03[_0x2827('0x54')]})['then'](function(_0x5d75c6){_0x4c7a4d[_0x2827('0x23')]=_0x5d75c6;if(_0x1a9231[_0x2827('0x48')][_0x2827('0x59')]){_0x423b03[_0x2827('0x5a')]=[{'model':db[_0x2827('0x83')],'as':_0x2827('0x84'),'required':![]},{'model':db['User'],'as':_0x2827('0x85'),'attributes':[_0x2827('0x47'),_0x2827('0x86'),'internal'],'required':![]},{'model':db[_0x2827('0x87')],'as':'Tags','attributes':['id',_0x2827('0x47'),'color'],'where':_0x1a9231[_0x2827('0x48')]['tag']?{'id':_0x1a9231['query']['tag']}:undefined,'required':_0x1a9231[_0x2827('0x48')]['tag']?!![]:![]}];}return db[_0x2827('0x7f')][_0x2827('0x6f')](_0x423b03);})[_0x2827('0x12')](function(_0x199267){_0x4c7a4d[_0x2827('0x88')]=_0x199267;return _0x4c7a4d;});}})[_0x2827('0x12')](respondWithFilteredResult(_0x3a8ac6,_0x423b03))[_0x2827('0x1d')](handleError(_0x3a8ac6,null));};exports[_0x2827('0x89')]=function addApplications(_0x5811aa,_0x417ec0){var _0x37b0ce=_0x5811aa[_0x2827('0x62')]['id'];var _0x40b6d5=_0x5811aa['body'];var _0x2c89d9=0xc8;var _0x914b3b=null;return db[_0x2827('0x8a')][_0x2827('0x8b')]({'isolationLevel':db['sequelize'][_0x2827('0x8c')][_0x2827('0x8d')][_0x2827('0x8e')]},function(_0x19b080){return db[_0x2827('0x58')][_0x2827('0x6b')]({'where':{'id':_0x37b0ce},'transaction':_0x19b080})['then'](function(_0x57f9f1){if(_0x57f9f1){return db['MailApplication']['destroy']({'where':{'MailAccountId':_0x37b0ce},'transaction':_0x19b080})['then'](function(){var _0x12ba05=_['map'](_0x40b6d5,function(_0x38cbb6){_0x38cbb6[_0x2827('0x68')]=_0x37b0ce;return _0x38cbb6;});return db['MailApplication'][_0x2827('0x8f')](_0x12ba05,{'transaction':_0x19b080});});}else{_0x2c89d9=0x194;_0x914b3b=[];}});})[_0x2827('0x12')](function(){if(_0x2c89d9!==0x194){return db[_0x2827('0x90')]['findAndCountAll']({'where':{'MailAccountId':_0x37b0ce},'order':'priority'})['then'](function(_0x6ca352){_0x914b3b=_0x6ca352;});}})['catch'](function(_0x1b81b2){_0x2c89d9=0x1f4;logger[_0x2827('0x19')](_0x1b81b2[_0x2827('0x91')]);if(_0x1b81b2[_0x2827('0x47')]){delete _0x1b81b2[_0x2827('0x47')];}_0x914b3b=_0x1b81b2;})[_0x2827('0x92')](function(){if(_0x914b3b===null){_0x417ec0[_0x2827('0x1e')](_0x2c89d9);}else{if(_0x2c89d9===0x1f4){_0x417ec0[_0x2827('0x20')](_0x2c89d9)[_0x2827('0x29')](_0x914b3b);}else{_0x417ec0[_0x2827('0x20')](_0x2c89d9)[_0x2827('0x21')](_0x914b3b);}}});};exports[_0x2827('0x93')]=function(_0x4b8729,_0x5836ac){var _0x10590d={};var _0x19ad18={};var _0x5df728;var _0x1ece42;return db[_0x2827('0x58')]['findOne']({'where':{'id':_0x4b8729[_0x2827('0x62')]['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x5836ac,null))[_0x2827('0x12')](function(_0x1e4018){if(_0x1e4018){_0x5df728=_0x1e4018;_0x19ad18[_0x2827('0x46')]=_[_0x2827('0x49')](db[_0x2827('0x90')]['rawAttributes']);_0x19ad18[_0x2827('0x48')]=_[_0x2827('0x49')](_0x4b8729[_0x2827('0x48')]);_0x19ad18[_0x2827('0x4a')]=_[_0x2827('0x4b')](_0x19ad18[_0x2827('0x46')],_0x19ad18[_0x2827('0x48')]);_0x10590d[_0x2827('0x4d')]=_['intersection'](_0x19ad18[_0x2827('0x46')],qs['fields'](_0x4b8729['query'][_0x2827('0x4c')]));_0x10590d[_0x2827('0x4d')]=_0x10590d[_0x2827('0x4d')][_0x2827('0x4e')]?_0x10590d[_0x2827('0x4d')]:_0x19ad18['model'];_0x10590d[_0x2827('0x52')]=qs[_0x2827('0x53')](_0x4b8729[_0x2827('0x48')][_0x2827('0x53')]);_0x10590d[_0x2827('0x54')]=qs[_0x2827('0x4a')](_[_0x2827('0x82')](_0x4b8729[_0x2827('0x48')],_0x19ad18[_0x2827('0x4a')]));if(_0x4b8729['query']['filter']){_0x10590d[_0x2827('0x54')]=_[_0x2827('0x56')](_0x10590d['where'],{'$or':_[_0x2827('0x42')](_0x10590d['attributes'],function(_0x1002eb){var _0x338d0c={};_0x338d0c[_0x1002eb]={'$like':'%'+_0x4b8729[_0x2827('0x48')][_0x2827('0x55')]+'%'};return _0x338d0c;})});}_0x10590d=_[_0x2827('0x56')]({},_0x10590d,_0x4b8729[_0x2827('0x57')]);return _0x5df728[_0x2827('0x93')](_0x10590d);}})[_0x2827('0x12')](function(_0x2aa5bd){if(_0x2aa5bd){_0x1ece42=_0x2aa5bd[_0x2827('0x4e')];if(!_0x4b8729[_0x2827('0x48')][_0x2827('0x4f')](_0x2827('0x50'))){_0x10590d[_0x2827('0x51')]=qs[_0x2827('0x51')](_0x4b8729['query'][_0x2827('0x51')]);_0x10590d[_0x2827('0x22')]=qs[_0x2827('0x22')](_0x4b8729[_0x2827('0x48')][_0x2827('0x22')]);}return _0x5df728[_0x2827('0x93')](_0x10590d);}})['then'](function(_0x2c46df){if(_0x2c46df){return _0x2c46df?{'count':_0x1ece42,'rows':_0x2c46df}:null;}})[_0x2827('0x12')](respondWithResult(_0x5836ac,null))[_0x2827('0x1d')](handleError(_0x5836ac,null));};exports[_0x2827('0x94')]=function(_0x345085,_0x6bb2ff){var _0x6eada7={'raw':!![],'where':{}};var _0x4dcc6e={};var _0x4af901={'count':0x0,'rows':[]};return db[_0x2827('0x58')][_0x2827('0x6b')]({'where':{'id':_0x345085[_0x2827('0x62')]['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x6bb2ff,null))[_0x2827('0x12')](function(_0x37c4db){if(_0x37c4db){_0x4dcc6e[_0x2827('0x46')]=_[_0x2827('0x49')](db['MailMessage']['rawAttributes']);_0x4dcc6e['query']=_[_0x2827('0x49')](_0x345085['query']);_0x4dcc6e[_0x2827('0x4a')]=_['intersection'](_0x4dcc6e['model'],_0x4dcc6e[_0x2827('0x48')]);_0x6eada7[_0x2827('0x4d')]=_[_0x2827('0x4b')](_0x4dcc6e[_0x2827('0x46')],qs['fields'](_0x345085[_0x2827('0x48')][_0x2827('0x4c')]));_0x6eada7[_0x2827('0x4d')]=_0x6eada7[_0x2827('0x4d')]['length']?_0x6eada7['attributes']:_0x4dcc6e['model'];if(!_0x345085[_0x2827('0x48')]['hasOwnProperty'](_0x2827('0x50'))){_0x6eada7[_0x2827('0x51')]=qs[_0x2827('0x51')](_0x345085[_0x2827('0x48')]['limit']);_0x6eada7[_0x2827('0x22')]=qs[_0x2827('0x22')](_0x345085['query'][_0x2827('0x22')]);}_0x6eada7[_0x2827('0x52')]=qs[_0x2827('0x53')](_0x345085['query'][_0x2827('0x53')]);_0x6eada7[_0x2827('0x54')]=qs[_0x2827('0x4a')](_[_0x2827('0x82')](_0x345085[_0x2827('0x48')],_0x4dcc6e['filters']));_0x6eada7[_0x2827('0x54')][_0x2827('0x68')]=_0x37c4db['id'];if(_0x345085['query'][_0x2827('0x55')]){_0x6eada7[_0x2827('0x54')]=_[_0x2827('0x56')](_0x6eada7[_0x2827('0x54')],{'$or':_[_0x2827('0x42')](_0x6eada7[_0x2827('0x4d')],function(_0xdea485){var _0x266d8b={};_0x266d8b[_0xdea485]={'$like':'%'+_0x345085['query'][_0x2827('0x55')]+'%'};return _0x266d8b;})});}if(_0x345085['query'][_0x2827('0x95')]){var _0x3a32fc=_0x345085[_0x2827('0x48')][_0x2827('0x95')][_0x2827('0x96')](',');var _0x5a1123={};_0x5a1123[_0x3a32fc[0x0]]={'$gte':moment(_0x3a32fc[0x1])['format'](_0x2827('0x97'))};_0x6eada7[_0x2827('0x54')]=_[_0x2827('0x56')](_0x6eada7[_0x2827('0x54')],_0x5a1123);}_0x6eada7=_[_0x2827('0x56')]({},_0x6eada7,_0x345085[_0x2827('0x57')]);return db['MailMessage']['count']({'where':_0x6eada7[_0x2827('0x54')]})[_0x2827('0x12')](function(_0xd12a62){_0x4af901[_0x2827('0x23')]=_0xd12a62;if(_0x345085[_0x2827('0x48')][_0x2827('0x59')]){_0x6eada7['include']=[{'all':!![]}];}return db['MailMessage'][_0x2827('0x6f')](_0x6eada7);})[_0x2827('0x12')](function(_0x418b64){if(_0x345085[_0x2827('0x48')]['inlineCss']===_0x2827('0x98')){for(var _0x30155d=0x0;_0x30155d<_0x418b64[_0x2827('0x4e')];_0x30155d++){_0x418b64[_0x30155d][_0x2827('0x5e')]=juice(_0x418b64[_0x30155d][_0x2827('0x5e')]);}}_0x4af901[_0x2827('0x88')]=_0x418b64;return _0x4af901;});}})['then'](respondWithFilteredResult(_0x6bb2ff,_0x6eada7))[_0x2827('0x1d')](handleError(_0x6bb2ff,null));};exports[_0x2827('0x29')]=function(_0x52a2d4,_0x13f689){var _0x48f18,_0x41d315={},_0x2caa96;if(_0x52a2d4[_0x2827('0x5e')]['to']){_0x2caa96=_0x52a2d4['body']['to'][_0x2827('0x96')](',')[0x0];}return db[_0x2827('0x58')][_0x2827('0x61')]({'where':{'id':_0x52a2d4['params']['id']},'include':[{'model':db[_0x2827('0x99')],'as':_0x2827('0x9a'),'include':[{'model':db[_0x2827('0x83')],'as':_0x2827('0x9b'),'where':{'email':_0x2caa96},'limit':0x1,'order':[[_0x2827('0x9c'),_0x2827('0x9d')]]}]},{'model':db['MailServerOut'],'as':_0x2827('0x41'),'raw':!![],'include':[{'model':db[_0x2827('0x9e')],'as':_0x2827('0x9e'),'raw':!![]}]}]})['then'](handleEntityNotFound(_0x13f689,null))[_0x2827('0x12')](function(_0x4b088c){if(!_0x4b088c)return;_0x48f18=_0x4b088c;if(!_0x4b088c[_0x2827('0x41')])throw new Error(_0x2827('0x9f'));if(_[_0x2827('0xa0')](_0x52a2d4[_0x2827('0x5e')][_0x2827('0xa1')])){_0x52a2d4['body'][_0x2827('0xa1')]=util[_0x2827('0xa2')](_0x2827('0xa3'),_0x4b088c[_0x2827('0x47')],_0x4b088c[_0x2827('0x71')]||_0x4b088c[_0x2827('0x41')][_0x2827('0x35')]);}if(_0x52a2d4[_0x2827('0x5e')][_0x2827('0xa4')]&&_0x52a2d4[_0x2827('0x5e')][_0x2827('0xa4')][_0x2827('0x4e')]){for(var _0x1077d6=0x0;_0x1077d6<_0x52a2d4[_0x2827('0x5e')][_0x2827('0xa4')]['length'];_0x1077d6+=0x1){_0x52a2d4[_0x2827('0x5e')][_0x2827('0xa4')][_0x1077d6]={'filename':_0x52a2d4[_0x2827('0x5e')][_0x2827('0xa4')][_0x1077d6][_0x2827('0x47')],'path':path[_0x2827('0xa5')](config[_0x2827('0xa6')],_0x2827('0xa7'),_0x52a2d4['body'][_0x2827('0xa4')][_0x1077d6][_0x2827('0xa8')])};}}var _0x51eb68=_0x4b088c['getSmtpOptions']();return respondWithRpcPromise(_0x2827('0xa9'),_0x2827('0xaa'),{'account':_0x51eb68,'message':_0x52a2d4[_0x2827('0x5e')]});})['then'](function(_0x59b7c8){if(!_0x59b7c8)return;_0x41d315=_0x59b7c8;if(!_0x48f18[_0x2827('0x9a')])throw new Error('List\x20not\x20found');if(_0x48f18['List']['Contacts'][_0x2827('0x4e')])return _0x48f18[_0x2827('0x9a')][_0x2827('0x9b')][0x0];return db[_0x2827('0x83')]['create'](_[_0x2827('0xb')](_0x52a2d4['body'],{'firstName':_0x52a2d4['body']['to'],'email':_0x52a2d4['body']['to'],'phone':_0x52a2d4['body']['to'],'ListId':_0x48f18[_0x2827('0xab')]}));})['then'](function(_0x3901e4){if(!_0x3901e4)return;var _0x40ca32={'UserId':_0x52a2d4['user']['id'],'ContactId':_0x3901e4['id'],'MailAccountId':_0x48f18['id'],'inReplyTo':_0x41d315[_0x2827('0xac')],'to':_0x52a2d4[_0x2827('0x5e')][_0x2827('0xa1')],'cc':_0x52a2d4[_0x2827('0x5e')]['cc'],'subject':_0x52a2d4[_0x2827('0x5e')][_0x2827('0xad')],'attach':_0x52a2d4['body'][_0x2827('0xae')],'firstMsgDirection':_0x2827('0xaf'),'lastMsgAt':moment()[_0x2827('0xa2')](_0x2827('0x97')),'lastMsgDirection':_0x2827('0xaf'),'Messages':[_[_0x2827('0x56')](_0x52a2d4[_0x2827('0x5e')],{'messageId':_0x41d315[_0x2827('0xac')],'sentAt':moment()[_0x2827('0xa2')]('YYYY-MM-DD\x20HH:mm:ss'),'read':!![],'MailAccountId':_0x48f18['id'],'UserId':_0x52a2d4[_0x2827('0x35')]['id'],'ContactId':_0x3901e4['id']})]};if(_0x52a2d4[_0x2827('0x5e')][_0x2827('0xb0')]){_0x40ca32=_[_0x2827('0x56')](_0x40ca32,_0x52a2d4[_0x2827('0x5e')]['Interaction']);}return db[_0x2827('0x7f')][_0x2827('0x6a')](_0x40ca32,{'include':[{'model':db[_0x2827('0xb1')],'as':_0x2827('0xb2')}]});})[_0x2827('0x12')](respondWithResult(_0x13f689,null))[_0x2827('0x1d')](handleError(_0x13f689,null));};exports[_0x2827('0xb3')]=function(_0x22a70,_0xef30fa){return db[_0x2827('0x58')][_0x2827('0x61')]({'where':{'id':_0x22a70[_0x2827('0x62')]['id']},'include':[{'model':db[_0x2827('0x5d')],'as':_0x2827('0x41'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':_0x2827('0x9e'),'raw':!![]}]}]})[_0x2827('0x12')](handleEntityNotFound(_0xef30fa,null))['then'](function(_0x33b67a){if(!_0x33b67a[_0x2827('0x41')])return;var _0x3eeb8d=_0x33b67a[_0x2827('0xb4')]();return respondWithRpcPromise('VerifySmtp',_0x2827('0xb3'),{'account':_0x3eeb8d});})['then'](respondWithResult(_0xef30fa,null))[_0x2827('0x1d')](handleError(_0xef30fa,null));};exports['destroy']=function(_0x44d621,_0x20fe2f){return db[_0x2827('0x58')][_0x2827('0x61')]({'where':{'id':_0x44d621[_0x2827('0x62')]['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x20fe2f,null))[_0x2827('0x12')](function(_0x2b339c){if(_0x2b339c&&_0x2b339c['service']){throw new db[(_0x2827('0xb5'))][(_0x2827('0xb6'))](_0x2827('0xb7'));}return _0x2b339c;})[_0x2827('0x12')](removeEntity(_0x20fe2f,null))[_0x2827('0x1d')](handleError(_0x20fe2f,null));};exports[_0x2827('0xb8')]=function(_0x2fd237,_0x5981f3){return db[_0x2827('0x58')][_0x2827('0x61')]({'where':{'id':_0x2fd237[_0x2827('0x62')]['id']}})['then'](handleEntityNotFound(_0x5981f3,null))[_0x2827('0x12')](function(_0x3e144d){if(_0x3e144d){return _0x3e144d['addAgents'](_0x2fd237['body'][_0x2827('0x6d')],_['omit'](_0x2fd237[_0x2827('0x5e')],[_0x2827('0x6d'),'id'])||{})[_0x2827('0xb9')](function(_0x4bfbda){for(var _0x21d736=0x0;_0x21d736<_0x2fd237[_0x2827('0x5e')]['ids']['length'];_0x21d736+=0x1){socket[_0x2827('0xba')]('userMailAccount:save',{'UserId':Number(_0x2fd237[_0x2827('0x5e')][_0x2827('0x6d')][_0x21d736]),'MailAccountId':Number(_0x2fd237['params']['id'])});}return _0x4bfbda;});}})[_0x2827('0x12')](respondWithResult(_0x5981f3,null))[_0x2827('0x1d')](handleError(_0x5981f3,null));};exports['removeAgents']=function(_0x51da40,_0x450914){return db[_0x2827('0x58')][_0x2827('0x61')]({'where':{'id':_0x51da40[_0x2827('0x62')]['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x450914,null))[_0x2827('0x12')](function(_0x3db65d){if(_0x3db65d){return _0x3db65d[_0x2827('0xbb')](_0x51da40[_0x2827('0x48')][_0x2827('0x6d')])[_0x2827('0x12')](function(){if(_[_0x2827('0xbc')](_0x51da40[_0x2827('0x48')][_0x2827('0x6d')])){for(var _0x3c1da5=0x0;_0x3c1da5<_0x51da40[_0x2827('0x48')]['ids']['length'];_0x3c1da5+=0x1){socket['emit'](_0x2827('0xbd'),{'UserId':Number(_0x51da40[_0x2827('0x48')][_0x2827('0x6d')][_0x3c1da5]),'MailAccountId':Number(_0x51da40[_0x2827('0x62')]['id'])});}}else{socket['emit'](_0x2827('0xbd'),{'UserId':Number(_0x51da40[_0x2827('0x48')]['ids']),'MailAccountId':Number(_0x51da40[_0x2827('0x62')]['id'])});}});}})[_0x2827('0x12')](respondWithStatusCode(_0x450914,null))[_0x2827('0x1d')](handleError(_0x450914,null));};exports[_0x2827('0xbe')]=function(_0x5113d0,_0x442e1f){var _0x53ef36={};var _0x54167b={};var _0x240423;var _0x9aa442;return db[_0x2827('0x58')][_0x2827('0x6b')]({'where':{'id':_0x5113d0[_0x2827('0x62')]['id']}})[_0x2827('0x12')](handleEntityNotFound(_0x442e1f,null))['then'](function(_0x216160){if(_0x216160){_0x240423=_0x216160;_0x54167b[_0x2827('0x46')]=_[_0x2827('0x49')](db['User'][_0x2827('0x43')]);_0x54167b[_0x2827('0x48')]=_[_0x2827('0x49')](_0x5113d0[_0x2827('0x48')]);_0x54167b[_0x2827('0x4a')]=_[_0x2827('0x4b')](_0x54167b[_0x2827('0x46')],_0x54167b[_0x2827('0x48')]);_0x53ef36[_0x2827('0x4d')]=_[_0x2827('0x4b')](_0x54167b[_0x2827('0x46')],qs[_0x2827('0x4c')](_0x5113d0[_0x2827('0x48')][_0x2827('0x4c')]));_0x53ef36[_0x2827('0x4d')]=_0x53ef36[_0x2827('0x4d')][_0x2827('0x4e')]?_0x53ef36[_0x2827('0x4d')]:_0x54167b[_0x2827('0x46')];_0x53ef36['order']=qs[_0x2827('0x53')](_0x5113d0[_0x2827('0x48')]['sort']);_0x53ef36[_0x2827('0x54')]=qs[_0x2827('0x4a')](_['pick'](_0x5113d0[_0x2827('0x48')],_0x54167b[_0x2827('0x4a')]));if(_0x5113d0[_0x2827('0x48')][_0x2827('0x55')]){_0x53ef36['where']=_[_0x2827('0x56')](_0x53ef36['where'],{'$or':_[_0x2827('0x42')](_0x53ef36[_0x2827('0x4d')],function(_0x45633d){var _0x17bd89={};_0x17bd89[_0x45633d]={'$like':'%'+_0x5113d0[_0x2827('0x48')][_0x2827('0x55')]+'%'};return _0x17bd89;})});}_0x53ef36=_['merge']({},_0x53ef36,_0x5113d0[_0x2827('0x57')]);return _0x240423[_0x2827('0xbe')](_0x53ef36);}})[_0x2827('0x12')](function(_0x48af0d){if(_0x48af0d){_0x9aa442=_0x48af0d['length'];if(!_0x5113d0['query'][_0x2827('0x4f')](_0x2827('0x50'))){_0x53ef36['limit']=qs[_0x2827('0x51')](_0x5113d0[_0x2827('0x48')][_0x2827('0x51')]);_0x53ef36[_0x2827('0x22')]=qs[_0x2827('0x22')](_0x5113d0[_0x2827('0x48')]['offset']);}return _0x240423[_0x2827('0xbe')](_0x53ef36);}})['then'](function(_0x3d7776){if(_0x3d7776){return _0x3d7776?{'count':_0x9aa442,'rows':_0x3d7776}:null;}})[_0x2827('0x12')](respondWithResult(_0x442e1f,null))[_0x2827('0x1d')](handleError(_0x442e1f,null));};