afadde45f5bc7906dcb2a8b1989b6e79c78c353d
[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 _0x855e=['set','Content-Range','update','destroy','MailAccounts','UserProfileResource','stack','name','send','gmail','imap.gmail.com','yahoo','imap.mail.yahoo.com','imap-mail.outlook.com','outlook365','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp.gmail.com','smtp.mail.yahoo.com','hotmail','smtp-mail.outlook.com','smtp.office365.com','user','password','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','pass','Imap','Smtp','Pause','map','MailAccount','rawAttributes','fieldName','type','model','keys','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','VIRTUAL','filter','merge','includeAll','include','rows','params','MailServerOut','mandatoryDispositionPause','find','provider','body','MailServerIn','Mail\x20Account\x20not\x20found','describe','addDisposition','MailAccountId','create','Disposition','options','findAll','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','pick','removeAnswers','key','custom','ListId','isNil','active','get','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','findOne','addImap','setImap','getSmtp','addSmtp','setSmtp','addInteraction','MailInteraction','getInteractions','CmContact','Contact','User','Owner','fullname','Tag','Tags','color','tag','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','findAndCountAll','priority','finally','getApplications','getMessages','split','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','inlineCss','CmList','List','Contacts','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','from','%s\x20<%s>','email','attachments','basename','getSmtpOptions','SendMail','sendMail','List\x20not\x20found','defaults','messageId','out','Interaction','verifySmtp','VerifySmtp','ValidationError','addAgents','omit','spread','emit','userMailAccount:save','removeAgents','userMailAccount:remove','getAgents','moment','bluebird','lodash','juice','ioredis','../../components/parsers/qs','../../config/logger','../../mysqldb','redis','localhost','socket.io-emitter','./mailAccount.socket','http','request','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','catch','sendStatus','status','end','json','undefined','limit','count','offset'];(function(_0x271027,_0x1014c8){var _0x487c39=function(_0x1a51b5){while(--_0x1a51b5){_0x271027['push'](_0x271027['shift']());}};_0x487c39(++_0x1014c8);}(_0x855e,0x9d));var _0xe855=function(_0x37e81f,_0x4de6ec){_0x37e81f=_0x37e81f-0x0;var _0x1fade0=_0x855e[_0x37e81f];return _0x1fade0;};'use strict';var moment=require(_0xe855('0x0'));var BPromise=require(_0xe855('0x1'));var util=require('util');var path=require('path');var _=require(_0xe855('0x2'));var juice=require(_0xe855('0x3'));var Redis=require(_0xe855('0x4'));var qs=require(_0xe855('0x5'));var logger=require(_0xe855('0x6'))('api');var config=require('../../config/environment');var db=require(_0xe855('0x7'))['db'];config[_0xe855('0x8')]=_['defaults'](config['redis'],{'host':_0xe855('0x9'),'port':0x18eb});var socket=require(_0xe855('0xa'))(new Redis(config[_0xe855('0x8')]));require(_0xe855('0xb'))['register'](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0xe855('0xc')]({'port':0x232b});function respondWithRpcPromise(_0x8e9cc1,_0x3b9bc1,_0x2cd4cd,_0x592aa9){return new BPromise(function(_0x28bb6a,_0x53d3b5){var _0x42d986=_0x592aa9||client;return _0x42d986[_0xe855('0xd')](_0x8e9cc1,_0x2cd4cd)[_0xe855('0xe')](function(_0x47add9){logger[_0xe855('0xf')](_0xe855('0x10'),_0x3b9bc1,_0xe855('0x11'));logger[_0xe855('0x12')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x3b9bc1,_0xe855('0x11'),JSON[_0xe855('0x13')](_0x47add9));if(_0x47add9[_0xe855('0x14')]){if(_0x47add9['error'][_0xe855('0x15')]===0x1f4){logger[_0xe855('0x14')](_0xe855('0x10'),_0x3b9bc1,_0x47add9['error'][_0xe855('0x16')]);return _0x53d3b5(_0x47add9[_0xe855('0x14')][_0xe855('0x16')]);}logger[_0xe855('0x14')](_0xe855('0x10'),_0x3b9bc1,_0x47add9[_0xe855('0x14')][_0xe855('0x16')]);return _0x28bb6a(_0x47add9['error']['message']);}else{logger['info'](_0xe855('0x10'),_0x3b9bc1,_0xe855('0x11'));_0x28bb6a(_0x47add9[_0xe855('0x17')][_0xe855('0x16')]);}})[_0xe855('0x18')](function(_0xab1fad){logger[_0xe855('0x14')](_0xe855('0x10'),_0x3b9bc1,_0xab1fad);_0x53d3b5(_0xab1fad);});});}function respondWithStatusCode(_0x2d4c05,_0x7194f8){_0x7194f8=_0x7194f8||0xcc;return function(_0x25db6e){if(_0x25db6e){return _0x2d4c05[_0xe855('0x19')](_0x7194f8);}return _0x2d4c05[_0xe855('0x1a')](_0x7194f8)[_0xe855('0x1b')]();};}function respondWithResult(_0x293d8d,_0x4c9fe3){_0x4c9fe3=_0x4c9fe3||0xc8;return function(_0x75cc7f){if(_0x75cc7f){return _0x293d8d[_0xe855('0x1a')](_0x4c9fe3)[_0xe855('0x1c')](_0x75cc7f);}};}function respondWithFilteredResult(_0x7338c2,_0x4c6279){return function(_0x5d7847){if(_0x5d7847){var _0x26cc76=typeof _0x4c6279['offset']===_0xe855('0x1d')&&typeof _0x4c6279[_0xe855('0x1e')]===_0xe855('0x1d');var _0x201967=_0x5d7847[_0xe855('0x1f')];var _0x4e993a=_0x26cc76?0x0:_0x4c6279[_0xe855('0x20')];var _0x211d6d=_0x26cc76?_0x5d7847[_0xe855('0x1f')]:_0x4c6279[_0xe855('0x20')]+_0x4c6279[_0xe855('0x1e')];var _0x62b5c9;if(_0x211d6d>=_0x201967){_0x211d6d=_0x201967;_0x62b5c9=0xc8;}else{_0x62b5c9=0xce;}_0x7338c2['status'](_0x62b5c9);return _0x7338c2[_0xe855('0x21')](_0xe855('0x22'),_0x4e993a+'-'+_0x211d6d+'/'+_0x201967)[_0xe855('0x1c')](_0x5d7847);}return null;};}function saveUpdates(_0x44f68f){return function(_0x3de96e){if(_0x3de96e){return _0x3de96e[_0xe855('0x23')](_0x44f68f)[_0xe855('0xe')](function(_0x4ba01e){return _0x4ba01e;});}return null;};}function removeEntity(_0x33a8c3){return function(_0x3ab5e0){if(_0x3ab5e0){return _0x3ab5e0[_0xe855('0x24')]()[_0xe855('0xe')](function(){var _0x5a5a3b=_0x3ab5e0['get']({'plain':!![]});var _0x263124=_0xe855('0x25');return db[_0xe855('0x26')][_0xe855('0x24')]({'where':{'type':_0x263124,'resourceId':_0x5a5a3b['id']}})['then'](function(){return _0x3ab5e0;});})[_0xe855('0xe')](function(){_0x33a8c3[_0xe855('0x1a')](0xcc)[_0xe855('0x1b')]();});}};}function handleEntityNotFound(_0x4d7ac4){return function(_0x1a1a31){if(!_0x1a1a31){_0x4d7ac4[_0xe855('0x19')](0x194);}return _0x1a1a31;};}function handleError(_0x28f2ef,_0x1c05c1){_0x1c05c1=_0x1c05c1||0x1f4;return function(_0x53e534){logger[_0xe855('0x14')](_0x53e534[_0xe855('0x27')]);if(_0x53e534[_0xe855('0x28')]){delete _0x53e534[_0xe855('0x28')];}_0x28f2ef[_0xe855('0x1a')](_0x1c05c1)[_0xe855('0x29')](_0x53e534);};}function getImapHost(_0x2d913a){switch(_0x2d913a){case _0xe855('0x2a'):return _0xe855('0x2b');case _0xe855('0x2c'):return _0xe855('0x2d');case'hotmail':return _0xe855('0x2e');case _0xe855('0x2f'):return _0xe855('0x30');}throw new Error(_0xe855('0x31'),_0x2d913a);}function getSmtpHost(_0x2716cd){switch(_0x2716cd){case _0xe855('0x2a'):return _0xe855('0x32');case _0xe855('0x2c'):return _0xe855('0x33');case _0xe855('0x34'):return _0xe855('0x35');case _0xe855('0x2f'):return _0xe855('0x36');}throw new Error(_0xe855('0x31'),_0x2716cd);}function getAuthenticationOptions(_0x58c06b,_0x464116){var _0x202fb2={};var _0x27cae6={};if(_0x58c06b){_0x202fb2[_0xe855('0x37')]=_0x27cae6[_0xe855('0x37')]=_0x464116['username'];_0x202fb2[_0xe855('0x38')]=_0x27cae6['pass']=_0x464116[_0xe855('0x38')];if(_0x464116[_0xe855('0x39')]){_0x202fb2['modernAuthentication']=_0x27cae6[_0xe855('0x39')]=!![];_0x202fb2[_0xe855('0x3a')]=_0x27cae6['CloudProviderId']=_0x464116[_0xe855('0x3a')];_0x202fb2[_0xe855('0x38')]=_0x27cae6['pass']=null;}else{_0x202fb2[_0xe855('0x3a')]=_0x27cae6['CloudProviderId']=null;}_0x202fb2[_0xe855('0x3b')]=getImapHost(_0x58c06b);_0x202fb2[_0xe855('0x3c')]=0x3e1;_0x27cae6['host']=getSmtpHost(_0x58c06b);_0x27cae6[_0xe855('0x3c')]=0x24b;_0x27cae6[_0xe855('0x3d')]=![];_0x202fb2[_0xe855('0x3e')]=_0x27cae6[_0xe855('0x3e')]=null;}else{if(_0x464116[_0xe855('0x3f')]){_0x202fb2['user']=_0x27cae6[_0xe855('0x37')]=_0x464116['username'];_0x202fb2['password']=_0x27cae6[_0xe855('0x40')]=_0x464116[_0xe855('0x38')];}else{_0x202fb2[_0xe855('0x3f')]=_0x27cae6['authentication']=![];_0x202fb2[_0xe855('0x37')]=_0x27cae6['user']=null;_0x202fb2['password']=_0x27cae6[_0xe855('0x40')]=null;}_0x202fb2[_0xe855('0x3b')]=_0x464116[_0xe855('0x41')][_0xe855('0x3b')];_0x202fb2[_0xe855('0x3c')]=_0x464116[_0xe855('0x41')][_0xe855('0x3c')];_0x27cae6['host']=_0x464116[_0xe855('0x42')][_0xe855('0x3b')];_0x27cae6['port']=_0x464116[_0xe855('0x42')][_0xe855('0x3c')];}return{'Imap':_0x202fb2,'Smtp':_0x27cae6};}exports['index']=function(_0x40b6b9,_0x35440c){var _0x578bd3={'include':[{'model':db['MailServerIn'],'as':_0xe855('0x41')},{'model':db['MailServerOut'],'as':_0xe855('0x42')},{'model':db[_0xe855('0x43')],'as':'mandatoryDispositionPause'}]},_0x52a0e1={},_0x251763={'count':0x0,'rows':[]};var _0x31fca8=_[_0xe855('0x44')](db[_0xe855('0x45')][_0xe855('0x46')],function(_0x4b4dda){return{'name':_0x4b4dda[_0xe855('0x47')],'type':_0x4b4dda[_0xe855('0x48')]['key']};});_0x52a0e1[_0xe855('0x49')]=_['map'](_0x31fca8,_0xe855('0x28'));_0x52a0e1['query']=_[_0xe855('0x4a')](_0x40b6b9['query']);_0x52a0e1['filters']=_[_0xe855('0x4b')](_0x52a0e1[_0xe855('0x49')],_0x52a0e1[_0xe855('0x4c')]);_0x578bd3[_0xe855('0x4d')]=_[_0xe855('0x4b')](_0x52a0e1[_0xe855('0x49')],qs[_0xe855('0x4e')](_0x40b6b9['query'][_0xe855('0x4e')]));_0x578bd3['attributes']=_0x578bd3[_0xe855('0x4d')][_0xe855('0x4f')]?_0x578bd3[_0xe855('0x4d')]:_0x52a0e1[_0xe855('0x49')];if(!_0x40b6b9['query'][_0xe855('0x50')](_0xe855('0x51'))){_0x578bd3[_0xe855('0x1e')]=qs['limit'](_0x40b6b9[_0xe855('0x4c')][_0xe855('0x1e')]);_0x578bd3['offset']=qs[_0xe855('0x20')](_0x40b6b9['query'][_0xe855('0x20')]);}_0x578bd3[_0xe855('0x52')]=qs[_0xe855('0x53')](_0x40b6b9[_0xe855('0x4c')]['sort']);_0x578bd3[_0xe855('0x54')]=qs[_0xe855('0x55')](_['pick'](_0x40b6b9[_0xe855('0x4c')],_0x52a0e1[_0xe855('0x55')]),_0x31fca8);if(_0x40b6b9['query']['filter']){_0x578bd3[_0xe855('0x54')]=_['merge'](_0x578bd3[_0xe855('0x54')],{'$or':_[_0xe855('0x44')](_0x31fca8,function(_0x7921a7){if(_0x7921a7['type']!==_0xe855('0x56')){var _0x5db1e3={};_0x5db1e3[_0x7921a7[_0xe855('0x28')]]={'$like':'%'+_0x40b6b9[_0xe855('0x4c')][_0xe855('0x57')]+'%'};return _0x5db1e3;}})});}_0x578bd3=_[_0xe855('0x58')]({},_0x578bd3,_0x40b6b9['options']);var _0x1e2ea3={'where':_0x578bd3[_0xe855('0x54')]};return db['MailAccount']['count'](_0x1e2ea3)[_0xe855('0xe')](function(_0x1ccee8){_0x251763[_0xe855('0x1f')]=_0x1ccee8;if(_0x40b6b9[_0xe855('0x4c')][_0xe855('0x59')]){_0x578bd3[_0xe855('0x5a')]=[{'all':!![]}];}return db[_0xe855('0x45')]['findAll'](_0x578bd3);})[_0xe855('0xe')](function(_0x1cc103){_0x251763[_0xe855('0x5b')]=_0x1cc103;return _0x251763;})[_0xe855('0xe')](respondWithFilteredResult(_0x35440c,_0x578bd3))[_0xe855('0x18')](handleError(_0x35440c,null));};exports['show']=function(_0xd29a58,_0x1d69ce){var _0x38d642={'raw':![],'where':{'id':_0xd29a58[_0xe855('0x5c')]['id']},'include':[{'model':db['MailServerIn'],'as':_0xe855('0x41')},{'model':db[_0xe855('0x5d')],'as':'Smtp'},{'model':db[_0xe855('0x43')],'as':_0xe855('0x5e')}]},_0xf7da93={};_0xf7da93[_0xe855('0x49')]=_[_0xe855('0x4a')](db[_0xe855('0x45')]['rawAttributes']);_0xf7da93[_0xe855('0x4c')]=_[_0xe855('0x4a')](_0xd29a58[_0xe855('0x4c')]);_0xf7da93[_0xe855('0x55')]=_[_0xe855('0x4b')](_0xf7da93[_0xe855('0x49')],_0xf7da93[_0xe855('0x4c')]);_0x38d642[_0xe855('0x4d')]=_['intersection'](_0xf7da93['model'],qs['fields'](_0xd29a58[_0xe855('0x4c')][_0xe855('0x4e')]));_0x38d642[_0xe855('0x4d')]=_0x38d642[_0xe855('0x4d')][_0xe855('0x4f')]?_0x38d642[_0xe855('0x4d')]:_0xf7da93[_0xe855('0x49')];if(_0xd29a58['query'][_0xe855('0x59')]){_0x38d642['include']=[{'all':!![]}];}_0x38d642=_[_0xe855('0x58')]({},_0x38d642,_0xd29a58['options']);return db[_0xe855('0x45')][_0xe855('0x5f')](_0x38d642)[_0xe855('0xe')](handleEntityNotFound(_0x1d69ce,null))['then'](respondWithResult(_0x1d69ce,null))[_0xe855('0x18')](handleError(_0x1d69ce,null));};exports['update']=function(_0x1dcf6f,_0x5e045b){if(_0x1dcf6f['body']['id']){delete _0x1dcf6f['body']['id'];}var _0x4053da=_0x1dcf6f['body'][_0xe855('0x60')]==='custom'?null:_0x1dcf6f['body'][_0xe855('0x60')];var _0x403146=_0x1dcf6f[_0xe855('0x61')][_0xe855('0x41')]||{};var _0x212b8b=_0x1dcf6f['body'][_0xe855('0x42')]||{};if(_0x4053da){_0x403146['host']=getImapHost(_0x4053da);_0x403146[_0xe855('0x3c')]=0x3e1;_0x212b8b[_0xe855('0x3b')]=getSmtpHost(_0x4053da);_0x212b8b[_0xe855('0x3c')]=0x24b;_0x212b8b[_0xe855('0x3d')]=![];}if(_0x212b8b[_0xe855('0x39')]){_0x212b8b['secure']=![];}else{_0x212b8b[_0xe855('0x3a')]=null;}if(!_0x403146[_0xe855('0x39')])_0x403146[_0xe855('0x3a')]=null;_0x1dcf6f[_0xe855('0x61')][_0xe855('0x41')]=_0x403146;_0x1dcf6f['body'][_0xe855('0x42')]=_0x212b8b;return db[_0xe855('0x45')][_0xe855('0x5f')]({'where':{'id':_0x1dcf6f[_0xe855('0x5c')]['id']},'include':[{'model':db[_0xe855('0x62')],'as':_0xe855('0x41')},{'model':db[_0xe855('0x5d')],'as':_0xe855('0x42')},{'model':db[_0xe855('0x43')],'as':_0xe855('0x5e')}]})[_0xe855('0xe')](handleEntityNotFound(_0x5e045b,null))['then'](function(_0x1f89b6){if(!_0x1f89b6)throw new Error(_0xe855('0x63'));if(_0x1f89b6[_0xe855('0x3e')])delete _0x1dcf6f[_0xe855('0x61')]['Imap'];return _0x1f89b6;})[_0xe855('0xe')](saveUpdates(_0x1dcf6f[_0xe855('0x61')],null))['then'](function(_0x37d34e){if(!_0x1dcf6f['body'][_0xe855('0x41')])return _0x37d34e;return db[_0xe855('0x62')][_0xe855('0x23')](_0x1dcf6f[_0xe855('0x61')][_0xe855('0x41')],{'where':{'MailAccountId':_0x37d34e['id']}})[_0xe855('0xe')](function(){return _0x37d34e;});})[_0xe855('0xe')](function(_0x2e52cb){if(!_0x1dcf6f[_0xe855('0x61')][_0xe855('0x42')])return _0x2e52cb;return db[_0xe855('0x5d')][_0xe855('0x23')](_0x1dcf6f[_0xe855('0x61')][_0xe855('0x42')],{'where':{'MailAccountId':_0x2e52cb['id']}})[_0xe855('0xe')](function(){return _0x2e52cb;});})['then'](respondWithResult(_0x5e045b,null))[_0xe855('0x18')](handleError(_0x5e045b,null));};exports[_0xe855('0x64')]=function(_0x2a12a6,_0x1153d0){return db[_0xe855('0x45')][_0xe855('0x64')]()[_0xe855('0xe')](respondWithResult(_0x1153d0,null))[_0xe855('0x18')](handleError(_0x1153d0,null));};exports[_0xe855('0x65')]=function(_0x5bb650,_0x33aaa0){if(_0x5bb650[_0xe855('0x61')]['id']){delete _0x5bb650['body']['id'];}return db[_0xe855('0x45')][_0xe855('0x5f')]({'where':{'id':_0x5bb650[_0xe855('0x5c')]['id']}})['then'](handleEntityNotFound(_0x33aaa0,null))[_0xe855('0xe')](function(_0x493cf6){if(_0x493cf6){_0x5bb650[_0xe855('0x61')][_0xe855('0x66')]=_0x493cf6['id'];return db['Disposition'][_0xe855('0x67')](_0x5bb650[_0xe855('0x61')]);}})['then'](respondWithResult(_0x33aaa0,null))[_0xe855('0x18')](handleError(_0x33aaa0,null));};exports['getDispositions']=function(_0x5d14c5,_0x4d60cd){var _0x49f498={'raw':![],'where':{}};var _0x4744e7={};var _0x18539c={'count':0x0,'rows':[]};return db[_0xe855('0x45')]['findOne']({'where':{'id':_0x5d14c5[_0xe855('0x5c')]['id']}})[_0xe855('0xe')](handleEntityNotFound(_0x4d60cd,null))[_0xe855('0xe')](function(_0x52cad7){if(_0x52cad7){_0x4744e7['model']=_['keys'](db[_0xe855('0x68')][_0xe855('0x46')]);_0x4744e7[_0xe855('0x4c')]=_['keys'](_0x5d14c5[_0xe855('0x4c')]);_0x4744e7[_0xe855('0x55')]=_[_0xe855('0x4b')](_0x4744e7[_0xe855('0x49')],_0x4744e7[_0xe855('0x4c')]);_0x49f498[_0xe855('0x4d')]=_[_0xe855('0x4b')](_0x4744e7[_0xe855('0x49')],qs['fields'](_0x5d14c5[_0xe855('0x4c')]['fields']));_0x49f498[_0xe855('0x4d')]=_0x49f498[_0xe855('0x4d')][_0xe855('0x4f')]?_0x49f498[_0xe855('0x4d')]:_0x4744e7['model'];if(!_0x5d14c5[_0xe855('0x4c')]['hasOwnProperty'](_0xe855('0x51'))){_0x49f498[_0xe855('0x1e')]=qs['limit'](_0x5d14c5[_0xe855('0x4c')]['limit']);_0x49f498[_0xe855('0x20')]=qs[_0xe855('0x20')](_0x5d14c5['query'][_0xe855('0x20')]);}_0x49f498['order']=qs[_0xe855('0x53')](_0x5d14c5[_0xe855('0x4c')][_0xe855('0x53')]);_0x49f498[_0xe855('0x54')]=qs[_0xe855('0x55')](_['pick'](_0x5d14c5[_0xe855('0x4c')],_0x4744e7[_0xe855('0x55')]));_0x49f498[_0xe855('0x54')]['MailAccountId']=_0x52cad7['id'];if(_0x5d14c5[_0xe855('0x4c')][_0xe855('0x57')]){_0x49f498[_0xe855('0x54')]=_[_0xe855('0x58')](_0x49f498[_0xe855('0x54')],{'$or':_['map'](_0x49f498['attributes'],function(_0x3040e8){var _0x487d9f={};_0x487d9f[_0x3040e8]={'$like':'%'+_0x5d14c5[_0xe855('0x4c')][_0xe855('0x57')]+'%'};return _0x487d9f;})});}_0x49f498=_[_0xe855('0x58')]({},_0x49f498,_0x5d14c5[_0xe855('0x69')]);return db[_0xe855('0x68')][_0xe855('0x1f')]({'where':_0x49f498[_0xe855('0x54')]})[_0xe855('0xe')](function(_0x8e3bba){_0x18539c[_0xe855('0x1f')]=_0x8e3bba;if(_0x5d14c5['query'][_0xe855('0x59')]){_0x49f498['include']=[{'all':!![]}];}return db[_0xe855('0x68')][_0xe855('0x6a')](_0x49f498);})[_0xe855('0xe')](function(_0x44c21f){_0x18539c[_0xe855('0x5b')]=_0x44c21f;return _0x18539c;});}})['then'](respondWithFilteredResult(_0x4d60cd,_0x49f498))[_0xe855('0x18')](handleError(_0x4d60cd,null));};exports[_0xe855('0x6b')]=function(_0x46ca43,_0x5f08fd){return db['MailAccount']['find']({'where':{'id':_0x46ca43[_0xe855('0x5c')]['id']}})[_0xe855('0xe')](handleEntityNotFound(_0x5f08fd,null))[_0xe855('0xe')](function(_0x2ccdb9){if(_0x2ccdb9){return _0x2ccdb9['removeDispositions'](_0x46ca43[_0xe855('0x4c')][_0xe855('0x6c')]);}})['then'](respondWithStatusCode(_0x5f08fd,null))[_0xe855('0x18')](handleError(_0x5f08fd,null));};exports[_0xe855('0x6d')]=function(_0x51e507,_0x3856fe){if(_0x51e507['body']['id']){delete _0x51e507[_0xe855('0x61')]['id'];}return db[_0xe855('0x45')][_0xe855('0x5f')]({'where':{'id':_0x51e507[_0xe855('0x5c')]['id']}})[_0xe855('0xe')](handleEntityNotFound(_0x3856fe,null))['then'](function(_0x184621){if(_0x184621){_0x51e507[_0xe855('0x61')][_0xe855('0x66')]=_0x184621['id'];return db[_0xe855('0x6e')][_0xe855('0x67')](_0x51e507[_0xe855('0x61')]);}})['then'](respondWithResult(_0x3856fe,null))[_0xe855('0x18')](handleError(_0x3856fe,null));};exports[_0xe855('0x6f')]=function(_0x2943ca,_0xaf0268){var _0x4f09d8={'raw':![],'where':{}};var _0x5e2f15={};var _0x372610={'count':0x0,'rows':[]};return db[_0xe855('0x45')]['findOne']({'where':{'id':_0x2943ca[_0xe855('0x5c')]['id']}})['then'](handleEntityNotFound(_0xaf0268,null))['then'](function(_0x465c25){if(_0x465c25){_0x5e2f15[_0xe855('0x49')]=_['keys'](db[_0xe855('0x6e')]['rawAttributes']);_0x5e2f15[_0xe855('0x4c')]=_[_0xe855('0x4a')](_0x2943ca[_0xe855('0x4c')]);_0x5e2f15[_0xe855('0x55')]=_['intersection'](_0x5e2f15[_0xe855('0x49')],_0x5e2f15['query']);_0x4f09d8['attributes']=_[_0xe855('0x4b')](_0x5e2f15[_0xe855('0x49')],qs[_0xe855('0x4e')](_0x2943ca[_0xe855('0x4c')][_0xe855('0x4e')]));_0x4f09d8['attributes']=_0x4f09d8[_0xe855('0x4d')]['length']?_0x4f09d8['attributes']:_0x5e2f15[_0xe855('0x49')];if(!_0x2943ca[_0xe855('0x4c')][_0xe855('0x50')](_0xe855('0x51'))){_0x4f09d8[_0xe855('0x1e')]=qs['limit'](_0x2943ca[_0xe855('0x4c')][_0xe855('0x1e')]);_0x4f09d8['offset']=qs[_0xe855('0x20')](_0x2943ca[_0xe855('0x4c')][_0xe855('0x20')]);}_0x4f09d8[_0xe855('0x52')]=qs[_0xe855('0x53')](_0x2943ca[_0xe855('0x4c')]['sort']);_0x4f09d8[_0xe855('0x54')]=qs[_0xe855('0x55')](_[_0xe855('0x70')](_0x2943ca[_0xe855('0x4c')],_0x5e2f15[_0xe855('0x55')]));_0x4f09d8[_0xe855('0x54')]['MailAccountId']=_0x465c25['id'];if(_0x2943ca[_0xe855('0x4c')][_0xe855('0x57')]){_0x4f09d8[_0xe855('0x54')]=_[_0xe855('0x58')](_0x4f09d8[_0xe855('0x54')],{'$or':_[_0xe855('0x44')](_0x4f09d8[_0xe855('0x4d')],function(_0x3e9588){var _0x3fa450={};_0x3fa450[_0x3e9588]={'$like':'%'+_0x2943ca['query'][_0xe855('0x57')]+'%'};return _0x3fa450;})});}_0x4f09d8=_[_0xe855('0x58')]({},_0x4f09d8,_0x2943ca[_0xe855('0x69')]);return db[_0xe855('0x6e')][_0xe855('0x1f')]({'where':_0x4f09d8[_0xe855('0x54')]})[_0xe855('0xe')](function(_0xa8ef1a){_0x372610[_0xe855('0x1f')]=_0xa8ef1a;if(_0x2943ca[_0xe855('0x4c')][_0xe855('0x59')]){_0x4f09d8[_0xe855('0x5a')]=[{'all':!![]}];}return db[_0xe855('0x6e')]['findAll'](_0x4f09d8);})[_0xe855('0xe')](function(_0x3f9e46){_0x372610[_0xe855('0x5b')]=_0x3f9e46;return _0x372610;});}})[_0xe855('0xe')](respondWithFilteredResult(_0xaf0268,_0x4f09d8))[_0xe855('0x18')](handleError(_0xaf0268,null));};exports[_0xe855('0x71')]=function(_0xa6f85d,_0x19f983){return db[_0xe855('0x45')]['find']({'where':{'id':_0xa6f85d[_0xe855('0x5c')]['id']}})[_0xe855('0xe')](handleEntityNotFound(_0x19f983,null))['then'](function(_0xeb359){if(_0xeb359){return _0xeb359[_0xe855('0x71')](_0xa6f85d[_0xe855('0x4c')][_0xe855('0x6c')]);}})[_0xe855('0xe')](respondWithStatusCode(_0x19f983,null))[_0xe855('0x18')](handleError(_0x19f983,null));};exports[_0xe855('0x67')]=function(_0x465091,_0x48fcec){var _0x1d12fb={'name':_0x465091[_0xe855('0x61')][_0xe855('0x28')],'key':_0x465091[_0xe855('0x61')][_0xe855('0x72')],'provider':_0x465091[_0xe855('0x61')][_0xe855('0x60')]===_0xe855('0x73')?null:_0x465091[_0xe855('0x61')][_0xe855('0x60')],'email':_0x465091[_0xe855('0x61')]['email'],'ListId':_0x465091[_0xe855('0x61')][_0xe855('0x74')],'active':!_[_0xe855('0x75')](_0x465091[_0xe855('0x61')][_0xe855('0x76')])?_0x465091[_0xe855('0x61')][_0xe855('0x76')]:!![],'description':_0x465091[_0xe855('0x61')]['description']||null};var _0x5e449d=getAuthenticationOptions(_0x1d12fb['provider'],_0x465091['body']);_0x1d12fb['Imap']=_0x5e449d[_0xe855('0x41')];_0x1d12fb[_0xe855('0x42')]=_0x5e449d[_0xe855('0x42')];return db[_0xe855('0x45')][_0xe855('0x67')](_0x1d12fb,{'include':[{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0xe855('0x62')],'as':_0xe855('0x41')}]})[_0xe855('0xe')](function(_0x5e55d2){var _0x42ed68=_0x465091[_0xe855('0x37')][_0xe855('0x77')]({'plain':!![]});if(!_0x42ed68)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x42ed68[_0xe855('0x78')]===_0xe855('0x37')){var _0x38320=_0x5e55d2[_0xe855('0x77')]({'plain':!![]});return db[_0xe855('0x79')][_0xe855('0x5f')]({'where':{'name':_0xe855('0x25'),'userProfileId':_0x42ed68[_0xe855('0x7a')]},'raw':!![]})[_0xe855('0xe')](function(_0x57ba72){if(_0x57ba72&&_0x57ba72[_0xe855('0x7b')]===0x0){return db[_0xe855('0x26')]['create']({'name':_0x38320['name'],'resourceId':_0x38320['id'],'type':_0x57ba72[_0xe855('0x28')],'sectionId':_0x57ba72['id']},{})[_0xe855('0xe')](function(){return _0x5e55d2;});}else{return _0x5e55d2;}})[_0xe855('0x18')](function(_0x203fa0){logger[_0xe855('0x14')](_0xe855('0x7c'),_0x203fa0);throw _0x203fa0;});}return _0x5e55d2;})[_0xe855('0xe')](respondWithResult(_0x48fcec,0xc9))[_0xe855('0x18')](handleError(_0x48fcec,null));};exports[_0xe855('0x7d')]=function(_0x699e68,_0x15df09){return db['MailAccount'][_0xe855('0x7e')]({'where':{'id':_0x699e68['params']['id']}})[_0xe855('0xe')](handleEntityNotFound(_0x15df09,null))[_0xe855('0xe')](function(_0x4699ff){if(_0x4699ff){return _0x4699ff[_0xe855('0x7d')]();}return null;})['then'](respondWithResult(_0x15df09,null))[_0xe855('0x18')](handleError(_0x15df09,null));};exports[_0xe855('0x7f')]=function(_0x54fd87,_0x1ff283){if(_0x54fd87[_0xe855('0x61')]['id']){delete _0x54fd87['body']['id'];}return db[_0xe855('0x45')][_0xe855('0x5f')]({'where':{'id':_0x54fd87[_0xe855('0x5c')]['id']}})[_0xe855('0xe')](handleEntityNotFound(_0x1ff283,null))[_0xe855('0xe')](function(_0x12d3a0){if(_0x12d3a0){_0x54fd87['body'][_0xe855('0x66')]=_0x12d3a0['id'];return db[_0xe855('0x62')]['create'](_0x54fd87[_0xe855('0x61')]);}})['then'](respondWithResult(_0x1ff283,null))[_0xe855('0x18')](handleError(_0x1ff283,null));};exports['removeImap']=function(_0xd90300,_0x444780){return db[_0xe855('0x45')][_0xe855('0x7e')]({'where':{'id':_0xd90300[_0xe855('0x5c')]['id']}})[_0xe855('0xe')](handleEntityNotFound(_0x444780,null))[_0xe855('0xe')](function(_0x264137){if(_0x264137){return _0x264137[_0xe855('0x80')](null);}return null;})[_0xe855('0xe')](respondWithStatusCode(_0x444780,null))[_0xe855('0x18')](handleError(_0x444780,null));};exports[_0xe855('0x81')]=function(_0x32fd40,_0x3d6557){return db[_0xe855('0x45')][_0xe855('0x7e')]({'where':{'id':_0x32fd40[_0xe855('0x5c')]['id']}})[_0xe855('0xe')](handleEntityNotFound(_0x3d6557,null))[_0xe855('0xe')](function(_0x294572){if(_0x294572){return _0x294572[_0xe855('0x81')]();}return null;})[_0xe855('0xe')](respondWithResult(_0x3d6557,null))[_0xe855('0x18')](handleError(_0x3d6557,null));};exports[_0xe855('0x82')]=function(_0x921bfd,_0x5646c7){if(_0x921bfd[_0xe855('0x61')]['id']){delete _0x921bfd[_0xe855('0x61')]['id'];}return db['MailAccount'][_0xe855('0x5f')]({'where':{'id':_0x921bfd['params']['id']}})[_0xe855('0xe')](handleEntityNotFound(_0x5646c7,null))[_0xe855('0xe')](function(_0x5f0c8f){if(_0x5f0c8f){_0x921bfd[_0xe855('0x61')][_0xe855('0x66')]=_0x5f0c8f['id'];return db[_0xe855('0x5d')][_0xe855('0x67')](_0x921bfd[_0xe855('0x61')]);}})[_0xe855('0xe')](respondWithResult(_0x5646c7,null))[_0xe855('0x18')](handleError(_0x5646c7,null));};exports['removeSmtp']=function(_0x3d9a99,_0x46332c){return db[_0xe855('0x45')][_0xe855('0x7e')]({'where':{'id':_0x3d9a99[_0xe855('0x5c')]['id']}})[_0xe855('0xe')](handleEntityNotFound(_0x46332c,null))[_0xe855('0xe')](function(_0x5cd94b){if(_0x5cd94b){return _0x5cd94b[_0xe855('0x83')](null);}return null;})['then'](respondWithStatusCode(_0x46332c,null))[_0xe855('0x18')](handleError(_0x46332c,null));};exports[_0xe855('0x84')]=function(_0x4764b0,_0x4ebbcc){return db[_0xe855('0x85')]['find']({'where':{'id':_0x4764b0[_0xe855('0x5c')]['id']}})['then'](handleEntityNotFound(_0x4ebbcc,null))[_0xe855('0xe')](function(_0x234aea){if(_0x234aea){return _0x234aea[_0xe855('0x84')](_0x4764b0[_0xe855('0x61')][_0xe855('0x6c')],_['omit'](_0x4764b0[_0xe855('0x61')],['ids','id'])||{});}})[_0xe855('0xe')](respondWithResult(_0x4ebbcc,null))[_0xe855('0x18')](handleError(_0x4ebbcc,null));};exports[_0xe855('0x86')]=function(_0x1a95f7,_0x42d07d){var _0x853764={'raw':![],'where':{}};var _0x38df32={};var _0x342bb5={'count':0x0,'rows':[]};return db[_0xe855('0x45')][_0xe855('0x7e')]({'where':{'id':_0x1a95f7[_0xe855('0x5c')]['id']}})[_0xe855('0xe')](handleEntityNotFound(_0x42d07d,null))['then'](function(_0x40ee83){if(_0x40ee83){_0x38df32['model']=_[_0xe855('0x4a')](db[_0xe855('0x85')][_0xe855('0x46')]);_0x38df32['query']=_[_0xe855('0x4a')](_0x1a95f7[_0xe855('0x4c')]);_0x38df32['filters']=_['intersection'](_0x38df32['model'],_0x38df32[_0xe855('0x4c')]);_0x853764[_0xe855('0x4d')]=_[_0xe855('0x4b')](_0x38df32[_0xe855('0x49')],qs['fields'](_0x1a95f7['query'][_0xe855('0x4e')]));_0x853764[_0xe855('0x4d')]=_0x853764['attributes']['length']?_0x853764[_0xe855('0x4d')]:_0x38df32['model'];if(!_0x1a95f7[_0xe855('0x4c')][_0xe855('0x50')]('nolimit')){_0x853764['limit']=qs[_0xe855('0x1e')](_0x1a95f7[_0xe855('0x4c')]['limit']);_0x853764[_0xe855('0x20')]=qs[_0xe855('0x20')](_0x1a95f7['query'][_0xe855('0x20')]);}_0x853764['order']=qs[_0xe855('0x53')](_0x1a95f7[_0xe855('0x4c')]['sort']);_0x853764['where']=qs[_0xe855('0x55')](_[_0xe855('0x70')](_0x1a95f7[_0xe855('0x4c')],_0x38df32[_0xe855('0x55')]));_0x853764[_0xe855('0x54')][_0xe855('0x66')]=_0x40ee83['id'];if(_0x1a95f7[_0xe855('0x4c')][_0xe855('0x57')]){_0x853764['where']=_['merge'](_0x853764['where'],{'$or':_[_0xe855('0x44')](_0x853764[_0xe855('0x4d')],function(_0x2f2892){var _0x4e541f={};_0x4e541f[_0x2f2892]={'$like':'%'+_0x1a95f7[_0xe855('0x4c')][_0xe855('0x57')]+'%'};return _0x4e541f;})});}_0x853764=_['merge']({},_0x853764,_0x1a95f7[_0xe855('0x69')]);return db[_0xe855('0x85')][_0xe855('0x1f')]({'where':_0x853764[_0xe855('0x54')]})[_0xe855('0xe')](function(_0xf32336){_0x342bb5[_0xe855('0x1f')]=_0xf32336;if(_0x1a95f7[_0xe855('0x4c')][_0xe855('0x59')]){_0x853764['include']=[{'model':db[_0xe855('0x87')],'as':_0xe855('0x88'),'required':![]},{'model':db[_0xe855('0x89')],'as':_0xe855('0x8a'),'attributes':[_0xe855('0x28'),_0xe855('0x8b'),'internal'],'required':![]},{'model':db[_0xe855('0x8c')],'as':_0xe855('0x8d'),'attributes':['id',_0xe855('0x28'),_0xe855('0x8e')],'where':_0x1a95f7[_0xe855('0x4c')][_0xe855('0x8f')]?{'id':_0x1a95f7[_0xe855('0x4c')]['tag']}:undefined,'required':_0x1a95f7[_0xe855('0x4c')][_0xe855('0x8f')]?!![]:![]}];}return db[_0xe855('0x85')][_0xe855('0x6a')](_0x853764);})[_0xe855('0xe')](function(_0x5d8e08){_0x342bb5[_0xe855('0x5b')]=_0x5d8e08;return _0x342bb5;});}})[_0xe855('0xe')](respondWithFilteredResult(_0x42d07d,_0x853764))[_0xe855('0x18')](handleError(_0x42d07d,null));};exports['addApplications']=function addApplications(_0x50c9c4,_0x56a66f){var _0x5dfad7=_0x50c9c4[_0xe855('0x5c')]['id'];var _0x2082a3=_0x50c9c4['body'];var _0x3fb4b7=0xc8;var _0xc2b3b=null;return db[_0xe855('0x90')][_0xe855('0x91')]({'isolationLevel':db['sequelize'][_0xe855('0x92')][_0xe855('0x93')][_0xe855('0x94')]},function(_0xcc847e){return db[_0xe855('0x45')][_0xe855('0x7e')]({'where':{'id':_0x5dfad7},'transaction':_0xcc847e})['then'](function(_0x79a8bc){if(_0x79a8bc){return db[_0xe855('0x95')][_0xe855('0x24')]({'where':{'MailAccountId':_0x5dfad7},'transaction':_0xcc847e})[_0xe855('0xe')](function(){var _0x273213=_['map'](_0x2082a3,function(_0x46b3c1){_0x46b3c1[_0xe855('0x66')]=_0x5dfad7;return _0x46b3c1;});return db['MailApplication']['bulkCreate'](_0x273213,{'transaction':_0xcc847e});});}else{_0x3fb4b7=0x194;_0xc2b3b=[];}});})[_0xe855('0xe')](function(){if(_0x3fb4b7!==0x194){return db['MailApplication'][_0xe855('0x96')]({'where':{'MailAccountId':_0x5dfad7},'order':_0xe855('0x97')})['then'](function(_0x76b0e7){_0xc2b3b=_0x76b0e7;});}})[_0xe855('0x18')](function(_0x1b086f){_0x3fb4b7=0x1f4;logger[_0xe855('0x14')](_0x1b086f[_0xe855('0x27')]);if(_0x1b086f[_0xe855('0x28')]){delete _0x1b086f[_0xe855('0x28')];}_0xc2b3b=_0x1b086f;})[_0xe855('0x98')](function(){if(_0xc2b3b===null){_0x56a66f[_0xe855('0x19')](_0x3fb4b7);}else{if(_0x3fb4b7===0x1f4){_0x56a66f['status'](_0x3fb4b7)[_0xe855('0x29')](_0xc2b3b);}else{_0x56a66f['status'](_0x3fb4b7)[_0xe855('0x1c')](_0xc2b3b);}}});};exports[_0xe855('0x99')]=function(_0x14db91,_0x210d17){var _0x473689={};var _0x4114af={};var _0x50551b;var _0x572111;return db[_0xe855('0x45')][_0xe855('0x7e')]({'where':{'id':_0x14db91['params']['id']}})['then'](handleEntityNotFound(_0x210d17,null))[_0xe855('0xe')](function(_0x23ab09){if(_0x23ab09){_0x50551b=_0x23ab09;_0x4114af[_0xe855('0x49')]=_['keys'](db[_0xe855('0x95')]['rawAttributes']);_0x4114af[_0xe855('0x4c')]=_[_0xe855('0x4a')](_0x14db91[_0xe855('0x4c')]);_0x4114af[_0xe855('0x55')]=_[_0xe855('0x4b')](_0x4114af['model'],_0x4114af[_0xe855('0x4c')]);_0x473689[_0xe855('0x4d')]=_[_0xe855('0x4b')](_0x4114af['model'],qs['fields'](_0x14db91['query'][_0xe855('0x4e')]));_0x473689[_0xe855('0x4d')]=_0x473689['attributes'][_0xe855('0x4f')]?_0x473689[_0xe855('0x4d')]:_0x4114af[_0xe855('0x49')];_0x473689[_0xe855('0x52')]=qs[_0xe855('0x53')](_0x14db91[_0xe855('0x4c')][_0xe855('0x53')]);_0x473689[_0xe855('0x54')]=qs[_0xe855('0x55')](_[_0xe855('0x70')](_0x14db91[_0xe855('0x4c')],_0x4114af[_0xe855('0x55')]));if(_0x14db91[_0xe855('0x4c')]['filter']){_0x473689['where']=_[_0xe855('0x58')](_0x473689[_0xe855('0x54')],{'$or':_[_0xe855('0x44')](_0x473689[_0xe855('0x4d')],function(_0x47c322){var _0x5a362c={};_0x5a362c[_0x47c322]={'$like':'%'+_0x14db91[_0xe855('0x4c')][_0xe855('0x57')]+'%'};return _0x5a362c;})});}_0x473689=_[_0xe855('0x58')]({},_0x473689,_0x14db91[_0xe855('0x69')]);return _0x50551b['getApplications'](_0x473689);}})[_0xe855('0xe')](function(_0x2bbae7){if(_0x2bbae7){_0x572111=_0x2bbae7['length'];if(!_0x14db91['query'][_0xe855('0x50')]('nolimit')){_0x473689[_0xe855('0x1e')]=qs['limit'](_0x14db91[_0xe855('0x4c')][_0xe855('0x1e')]);_0x473689[_0xe855('0x20')]=qs[_0xe855('0x20')](_0x14db91[_0xe855('0x4c')][_0xe855('0x20')]);}return _0x50551b[_0xe855('0x99')](_0x473689);}})['then'](function(_0x582c3d){if(_0x582c3d){return _0x582c3d?{'count':_0x572111,'rows':_0x582c3d}:null;}})[_0xe855('0xe')](respondWithResult(_0x210d17,null))[_0xe855('0x18')](handleError(_0x210d17,null));};exports[_0xe855('0x9a')]=function(_0x5c6e29,_0x2454bd){var _0x445986={'raw':!![],'where':{}};var _0x5eac36={};var _0x91160c={'count':0x0,'rows':[]};return db[_0xe855('0x45')]['findOne']({'where':{'id':_0x5c6e29['params']['id']}})[_0xe855('0xe')](handleEntityNotFound(_0x2454bd,null))[_0xe855('0xe')](function(_0x4689d7){if(_0x4689d7){_0x5eac36['model']=_['keys'](db['MailMessage'][_0xe855('0x46')]);_0x5eac36[_0xe855('0x4c')]=_[_0xe855('0x4a')](_0x5c6e29['query']);_0x5eac36['filters']=_[_0xe855('0x4b')](_0x5eac36['model'],_0x5eac36['query']);_0x445986[_0xe855('0x4d')]=_['intersection'](_0x5eac36['model'],qs[_0xe855('0x4e')](_0x5c6e29[_0xe855('0x4c')]['fields']));_0x445986[_0xe855('0x4d')]=_0x445986[_0xe855('0x4d')][_0xe855('0x4f')]?_0x445986['attributes']:_0x5eac36[_0xe855('0x49')];if(!_0x5c6e29[_0xe855('0x4c')][_0xe855('0x50')](_0xe855('0x51'))){_0x445986['limit']=qs['limit'](_0x5c6e29[_0xe855('0x4c')]['limit']);_0x445986['offset']=qs[_0xe855('0x20')](_0x5c6e29[_0xe855('0x4c')]['offset']);}_0x445986[_0xe855('0x52')]=qs[_0xe855('0x53')](_0x5c6e29['query'][_0xe855('0x53')]);_0x445986[_0xe855('0x54')]=qs['filters'](_[_0xe855('0x70')](_0x5c6e29[_0xe855('0x4c')],_0x5eac36[_0xe855('0x55')]));_0x445986['where'][_0xe855('0x66')]=_0x4689d7['id'];if(_0x5c6e29[_0xe855('0x4c')][_0xe855('0x57')]){_0x445986[_0xe855('0x54')]=_[_0xe855('0x58')](_0x445986['where'],{'$or':_[_0xe855('0x44')](_0x445986[_0xe855('0x4d')],function(_0xbe4209){var _0x4ccf5c={};_0x4ccf5c[_0xbe4209]={'$like':'%'+_0x5c6e29[_0xe855('0x4c')]['filter']+'%'};return _0x4ccf5c;})});}if(_0x5c6e29['query']['$gte']){var _0x638bc=_0x5c6e29[_0xe855('0x4c')]['$gte'][_0xe855('0x9b')](',');var _0x587664={};_0x587664[_0x638bc[0x0]]={'$gte':moment(_0x638bc[0x1])[_0xe855('0x9c')](_0xe855('0x9d'))};_0x445986['where']=_[_0xe855('0x58')](_0x445986[_0xe855('0x54')],_0x587664);}_0x445986=_['merge']({},_0x445986,_0x5c6e29[_0xe855('0x69')]);return db[_0xe855('0x9e')]['count']({'where':_0x445986['where']})[_0xe855('0xe')](function(_0x34352f){_0x91160c['count']=_0x34352f;if(_0x5c6e29['query'][_0xe855('0x59')]){_0x445986[_0xe855('0x5a')]=[{'all':!![]}];}return db['MailMessage'][_0xe855('0x6a')](_0x445986);})[_0xe855('0xe')](function(_0xca447a){if(_0x5c6e29[_0xe855('0x4c')][_0xe855('0x9f')]==='true'){for(var _0x3fae17=0x0;_0x3fae17<_0xca447a[_0xe855('0x4f')];_0x3fae17++){_0xca447a[_0x3fae17][_0xe855('0x61')]=juice(_0xca447a[_0x3fae17][_0xe855('0x61')]);}}_0x91160c[_0xe855('0x5b')]=_0xca447a;return _0x91160c;});}})[_0xe855('0xe')](respondWithFilteredResult(_0x2454bd,_0x445986))[_0xe855('0x18')](handleError(_0x2454bd,null));};exports[_0xe855('0x29')]=function(_0x15e96c,_0x57c0c2){var _0x4fc93f,_0x69964e={},_0x35373e;if(_0x15e96c[_0xe855('0x61')]['to']){_0x35373e=_0x15e96c[_0xe855('0x61')]['to'][_0xe855('0x9b')](',')[0x0];}return db[_0xe855('0x45')]['find']({'where':{'id':_0x15e96c['params']['id']},'include':[{'model':db[_0xe855('0xa0')],'as':_0xe855('0xa1'),'include':[{'model':db['CmContact'],'as':_0xe855('0xa2'),'where':{'email':_0x35373e},'limit':0x1,'order':[['updatedAt',_0xe855('0xa3')]]}]},{'model':db['MailServerOut'],'as':'Smtp','raw':!![],'include':[{'model':db['CloudProvider'],'as':_0xe855('0xa4'),'raw':!![]}]}]})[_0xe855('0xe')](handleEntityNotFound(_0x57c0c2,null))[_0xe855('0xe')](function(_0x5d69b0){if(!_0x5d69b0)return;_0x4fc93f=_0x5d69b0;if(!_0x5d69b0[_0xe855('0x42')])throw new Error(_0xe855('0xa5'));if(_[_0xe855('0x75')](_0x15e96c[_0xe855('0x61')]['from'])){_0x15e96c['body'][_0xe855('0xa6')]=util['format'](_0xe855('0xa7'),_0x5d69b0[_0xe855('0x28')],_0x5d69b0[_0xe855('0xa8')]||_0x5d69b0[_0xe855('0x42')][_0xe855('0x37')]);}if(_0x15e96c[_0xe855('0x61')]['attachments']&&_0x15e96c[_0xe855('0x61')][_0xe855('0xa9')][_0xe855('0x4f')]){for(var _0x5bf33d=0x0;_0x5bf33d<_0x15e96c['body'][_0xe855('0xa9')][_0xe855('0x4f')];_0x5bf33d+=0x1){_0x15e96c['body'][_0xe855('0xa9')][_0x5bf33d]={'filename':_0x15e96c[_0xe855('0x61')][_0xe855('0xa9')][_0x5bf33d][_0xe855('0x28')],'path':path['join'](config['root'],'server/files/attachments',_0x15e96c[_0xe855('0x61')]['attachments'][_0x5bf33d][_0xe855('0xaa')])};}}var _0x544dc3=_0x5d69b0[_0xe855('0xab')]();return respondWithRpcPromise(_0xe855('0xac'),_0xe855('0xad'),{'account':_0x544dc3,'message':_0x15e96c[_0xe855('0x61')]});})[_0xe855('0xe')](function(_0xb6d695){if(!_0xb6d695)return;_0x69964e=_0xb6d695;if(!_0x4fc93f['List'])throw new Error(_0xe855('0xae'));if(_0x4fc93f[_0xe855('0xa1')]['Contacts'][_0xe855('0x4f')])return _0x4fc93f['List'][_0xe855('0xa2')][0x0];return db['CmContact'][_0xe855('0x67')](_[_0xe855('0xaf')](_0x15e96c[_0xe855('0x61')],{'firstName':_0x15e96c[_0xe855('0x61')]['to'],'email':_0x15e96c[_0xe855('0x61')]['to'],'phone':_0x15e96c['body']['to'],'ListId':_0x4fc93f['ListId']}));})['then'](function(_0x3cbebe){if(!_0x3cbebe)return;var _0x50c40b={'UserId':_0x15e96c[_0xe855('0x37')]['id'],'ContactId':_0x3cbebe['id'],'MailAccountId':_0x4fc93f['id'],'inReplyTo':_0x69964e[_0xe855('0xb0')],'to':_0x15e96c[_0xe855('0x61')][_0xe855('0xa6')],'cc':_0x15e96c['body']['cc'],'subject':_0x15e96c[_0xe855('0x61')]['subject'],'attach':_0x15e96c['body']['attach'],'firstMsgDirection':'out','lastMsgAt':moment()['format'](_0xe855('0x9d')),'lastMsgDirection':_0xe855('0xb1'),'Messages':[_['merge'](_0x15e96c[_0xe855('0x61')],{'messageId':_0x69964e[_0xe855('0xb0')],'sentAt':moment()['format'](_0xe855('0x9d')),'read':!![],'MailAccountId':_0x4fc93f['id'],'UserId':_0x15e96c[_0xe855('0x37')]['id'],'ContactId':_0x3cbebe['id']})]};if(_0x15e96c[_0xe855('0x61')][_0xe855('0xb2')]){_0x50c40b=_[_0xe855('0x58')](_0x50c40b,_0x15e96c[_0xe855('0x61')][_0xe855('0xb2')]);}return db[_0xe855('0x85')][_0xe855('0x67')](_0x50c40b,{'include':[{'model':db[_0xe855('0x9e')],'as':'Messages'}]});})['then'](respondWithResult(_0x57c0c2,null))[_0xe855('0x18')](handleError(_0x57c0c2,null));};exports[_0xe855('0xb3')]=function(_0x4da6b0,_0x2c6f89){return db[_0xe855('0x45')][_0xe855('0x5f')]({'where':{'id':_0x4da6b0[_0xe855('0x5c')]['id']},'include':[{'model':db[_0xe855('0x5d')],'as':_0xe855('0x42'),'raw':!![],'include':[{'model':db['CloudProvider'],'as':'CloudProvider','raw':!![]}]}]})[_0xe855('0xe')](handleEntityNotFound(_0x2c6f89,null))[_0xe855('0xe')](function(_0x5a5ee3){if(!_0x5a5ee3['Smtp'])return;var _0x12cd35=_0x5a5ee3[_0xe855('0xab')]();return respondWithRpcPromise(_0xe855('0xb4'),_0xe855('0xb3'),{'account':_0x12cd35});})['then'](respondWithResult(_0x2c6f89,null))['catch'](handleError(_0x2c6f89,null));};exports['destroy']=function(_0x36fdb6,_0x41e349){return db['MailAccount'][_0xe855('0x5f')]({'where':{'id':_0x36fdb6[_0xe855('0x5c')]['id']}})[_0xe855('0xe')](handleEntityNotFound(_0x41e349,null))[_0xe855('0xe')](function(_0x13b2c0){if(_0x13b2c0&&_0x13b2c0['service']){throw new db['Sequelize'][(_0xe855('0xb5'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x13b2c0;})[_0xe855('0xe')](removeEntity(_0x41e349,null))['catch'](handleError(_0x41e349,null));};exports['addAgents']=function(_0x23cbde,_0x53a093){return db[_0xe855('0x45')][_0xe855('0x5f')]({'where':{'id':_0x23cbde[_0xe855('0x5c')]['id']}})['then'](handleEntityNotFound(_0x53a093,null))[_0xe855('0xe')](function(_0x312162){if(_0x312162){return _0x312162[_0xe855('0xb6')](_0x23cbde[_0xe855('0x61')][_0xe855('0x6c')],_[_0xe855('0xb7')](_0x23cbde[_0xe855('0x61')],[_0xe855('0x6c'),'id'])||{})[_0xe855('0xb8')](function(_0x7c76e1){for(var _0x58351a=0x0;_0x58351a<_0x23cbde['body'][_0xe855('0x6c')][_0xe855('0x4f')];_0x58351a+=0x1){socket[_0xe855('0xb9')](_0xe855('0xba'),{'UserId':Number(_0x23cbde[_0xe855('0x61')][_0xe855('0x6c')][_0x58351a]),'MailAccountId':Number(_0x23cbde[_0xe855('0x5c')]['id'])});}return _0x7c76e1;});}})['then'](respondWithResult(_0x53a093,null))[_0xe855('0x18')](handleError(_0x53a093,null));};exports[_0xe855('0xbb')]=function(_0x4b5150,_0x36fdf1){return db[_0xe855('0x45')][_0xe855('0x5f')]({'where':{'id':_0x4b5150['params']['id']}})[_0xe855('0xe')](handleEntityNotFound(_0x36fdf1,null))[_0xe855('0xe')](function(_0x5e17ad){if(_0x5e17ad){return _0x5e17ad[_0xe855('0xbb')](_0x4b5150[_0xe855('0x4c')]['ids'])[_0xe855('0xe')](function(){if(_['isArray'](_0x4b5150[_0xe855('0x4c')][_0xe855('0x6c')])){for(var _0x19f205=0x0;_0x19f205<_0x4b5150[_0xe855('0x4c')][_0xe855('0x6c')][_0xe855('0x4f')];_0x19f205+=0x1){socket[_0xe855('0xb9')]('userMailAccount:remove',{'UserId':Number(_0x4b5150['query'][_0xe855('0x6c')][_0x19f205]),'MailAccountId':Number(_0x4b5150[_0xe855('0x5c')]['id'])});}}else{socket['emit'](_0xe855('0xbc'),{'UserId':Number(_0x4b5150[_0xe855('0x4c')]['ids']),'MailAccountId':Number(_0x4b5150[_0xe855('0x5c')]['id'])});}});}})['then'](respondWithStatusCode(_0x36fdf1,null))['catch'](handleError(_0x36fdf1,null));};exports['getAgents']=function(_0x309297,_0x40c56d){var _0x5ca7d0={};var _0x1126c6={};var _0x323735;var _0x296e5d;return db[_0xe855('0x45')][_0xe855('0x7e')]({'where':{'id':_0x309297[_0xe855('0x5c')]['id']}})[_0xe855('0xe')](handleEntityNotFound(_0x40c56d,null))[_0xe855('0xe')](function(_0x5770fe){if(_0x5770fe){_0x323735=_0x5770fe;_0x1126c6[_0xe855('0x49')]=_[_0xe855('0x4a')](db[_0xe855('0x89')]['rawAttributes']);_0x1126c6[_0xe855('0x4c')]=_['keys'](_0x309297[_0xe855('0x4c')]);_0x1126c6[_0xe855('0x55')]=_[_0xe855('0x4b')](_0x1126c6[_0xe855('0x49')],_0x1126c6[_0xe855('0x4c')]);_0x5ca7d0[_0xe855('0x4d')]=_['intersection'](_0x1126c6[_0xe855('0x49')],qs[_0xe855('0x4e')](_0x309297[_0xe855('0x4c')][_0xe855('0x4e')]));_0x5ca7d0[_0xe855('0x4d')]=_0x5ca7d0[_0xe855('0x4d')][_0xe855('0x4f')]?_0x5ca7d0[_0xe855('0x4d')]:_0x1126c6[_0xe855('0x49')];_0x5ca7d0[_0xe855('0x52')]=qs[_0xe855('0x53')](_0x309297['query'][_0xe855('0x53')]);_0x5ca7d0[_0xe855('0x54')]=qs['filters'](_[_0xe855('0x70')](_0x309297[_0xe855('0x4c')],_0x1126c6[_0xe855('0x55')]));if(_0x309297[_0xe855('0x4c')][_0xe855('0x57')]){_0x5ca7d0[_0xe855('0x54')]=_[_0xe855('0x58')](_0x5ca7d0['where'],{'$or':_[_0xe855('0x44')](_0x5ca7d0[_0xe855('0x4d')],function(_0x2048eb){var _0x420fa0={};_0x420fa0[_0x2048eb]={'$like':'%'+_0x309297[_0xe855('0x4c')][_0xe855('0x57')]+'%'};return _0x420fa0;})});}_0x5ca7d0=_[_0xe855('0x58')]({},_0x5ca7d0,_0x309297['options']);return _0x323735[_0xe855('0xbd')](_0x5ca7d0);}})[_0xe855('0xe')](function(_0x6d738a){if(_0x6d738a){_0x296e5d=_0x6d738a[_0xe855('0x4f')];if(!_0x309297[_0xe855('0x4c')]['hasOwnProperty'](_0xe855('0x51'))){_0x5ca7d0[_0xe855('0x1e')]=qs[_0xe855('0x1e')](_0x309297[_0xe855('0x4c')]['limit']);_0x5ca7d0[_0xe855('0x20')]=qs[_0xe855('0x20')](_0x309297[_0xe855('0x4c')][_0xe855('0x20')]);}return _0x323735['getAgents'](_0x5ca7d0);}})[_0xe855('0xe')](function(_0x738487){if(_0x738487){return _0x738487?{'count':_0x296e5d,'rows':_0x738487}:null;}})['then'](respondWithResult(_0x40c56d,null))[_0xe855('0x18')](handleError(_0x40c56d,null));};