Built motion from commit 1ea47bf4.|2.6.34
[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 _0x128e=['destroy','get','MailAccounts','UserProfileResource','name','send','gmail','imap.gmail.com','yahoo','imap.mail.yahoo.com','hotmail','imap-mail.outlook.com','outlook365','Unknown\x20email\x20service\x20provider','smtp.gmail.com','smtp.mail.yahoo.com','smtp-mail.outlook.com','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','MailServerIn','MailServerOut','Pause','map','rawAttributes','fieldName','type','key','query','keys','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','options','includeAll','include','MailAccount','findAll','rows','show','params','mandatoryDispositionPause','find','catch','body','provider','custom','Mail\x20Account\x20not\x20found','describe','addDisposition','Disposition','getDispositions','findOne','pick','removeDispositions','ids','addAnswer','MailAccountId','CannedAnswer','getAnswers','removeAnswers','create','email','ListId','isNil','active','description','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','removeImap','setImap','getSmtp','addSmtp','addInteraction','MailInteraction','omit','getInteractions','CmContact','Contact','User','Owner','fullname','Tag','Tags','color','tag','addApplications','sequelize','transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','priority','finally','getApplications','getMessages','MailMessage','$gte','split','format','List','Contacts','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','%s\x20<%s>','attachments','root','server/files/attachments','getSmtpOptions','SendMail','sendMail','messageId','from','subject','YYYY-MM-DD\x20HH:mm:ss','out','Interaction','VerifySmtp','verifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','isArray','userMailAccount:remove','getAgents','moment','bluebird','lodash','juice','../../components/parsers/qs','../../config/logger','api','../../mysqldb','redis','defaults','localhost','./mailAccount.socket','jayson/promise','client','request','then','info','MailAccount,\x20%s,\x20%s','debug','MailAccount,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','message','result','sendStatus','status','end','json','offset','undefined','limit','count','set','update'];(function(_0xab8465,_0x3c5ebd){var _0x5551ac=function(_0x2150fd){while(--_0x2150fd){_0xab8465['push'](_0xab8465['shift']());}};_0x5551ac(++_0x3c5ebd);}(_0x128e,0x15d));var _0xe128=function(_0x19bd67,_0x36a677){_0x19bd67=_0x19bd67-0x0;var _0x46f227=_0x128e[_0x19bd67];return _0x46f227;};'use strict';var moment=require(_0xe128('0x0'));var BPromise=require(_0xe128('0x1'));var util=require('util');var path=require('path');var _=require(_0xe128('0x2'));var juice=require(_0xe128('0x3'));var Redis=require('ioredis');var qs=require(_0xe128('0x4'));var logger=require(_0xe128('0x5'))(_0xe128('0x6'));var config=require('../../config/environment');var db=require(_0xe128('0x7'))['db'];config[_0xe128('0x8')]=_[_0xe128('0x9')](config[_0xe128('0x8')],{'host':_0xe128('0xa'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0xe128('0xb'))['register'](socket);var jayson=require(_0xe128('0xc'));var client=jayson[_0xe128('0xd')]['http']({'port':0x232b});function respondWithRpcPromise(_0xb3a3d6,_0x2e2261,_0x2cd119,_0x286833){return new BPromise(function(_0x4da0fd,_0x420872){var _0x3325fa=_0x286833||client;return _0x3325fa[_0xe128('0xe')](_0xb3a3d6,_0x2cd119)[_0xe128('0xf')](function(_0x3e2ec5){logger[_0xe128('0x10')](_0xe128('0x11'),_0x2e2261,'request\x20sent');logger[_0xe128('0x12')](_0xe128('0x13'),_0x2e2261,_0xe128('0x14'),JSON['stringify'](_0x3e2ec5));if(_0x3e2ec5[_0xe128('0x15')]){if(_0x3e2ec5[_0xe128('0x15')][_0xe128('0x16')]===0x1f4){logger['error'](_0xe128('0x11'),_0x2e2261,_0x3e2ec5[_0xe128('0x15')][_0xe128('0x17')]);return _0x420872(_0x3e2ec5[_0xe128('0x15')][_0xe128('0x17')]);}logger[_0xe128('0x15')](_0xe128('0x11'),_0x2e2261,_0x3e2ec5['error']['message']);return _0x4da0fd(_0x3e2ec5[_0xe128('0x15')][_0xe128('0x17')]);}else{logger[_0xe128('0x10')]('MailAccount,\x20%s,\x20%s',_0x2e2261,_0xe128('0x14'));_0x4da0fd(_0x3e2ec5[_0xe128('0x18')][_0xe128('0x17')]);}})['catch'](function(_0x15a2ec){logger[_0xe128('0x15')](_0xe128('0x11'),_0x2e2261,_0x15a2ec);_0x420872(_0x15a2ec);});});}function respondWithStatusCode(_0x49a6d5,_0x459034){_0x459034=_0x459034||0xcc;return function(_0x5d86e3){if(_0x5d86e3){return _0x49a6d5[_0xe128('0x19')](_0x459034);}return _0x49a6d5[_0xe128('0x1a')](_0x459034)[_0xe128('0x1b')]();};}function respondWithResult(_0x4fda6f,_0x14aee1){_0x14aee1=_0x14aee1||0xc8;return function(_0x1243da){if(_0x1243da){return _0x4fda6f['status'](_0x14aee1)[_0xe128('0x1c')](_0x1243da);}};}function respondWithFilteredResult(_0x2ec255,_0x48053f){return function(_0x522c45){if(_0x522c45){var _0x194d3b=typeof _0x48053f[_0xe128('0x1d')]===_0xe128('0x1e')&&typeof _0x48053f[_0xe128('0x1f')]===_0xe128('0x1e');var _0x321944=_0x522c45[_0xe128('0x20')];var _0xe670ca=_0x194d3b?0x0:_0x48053f[_0xe128('0x1d')];var _0x394ca6=_0x194d3b?_0x522c45[_0xe128('0x20')]:_0x48053f[_0xe128('0x1d')]+_0x48053f[_0xe128('0x1f')];var _0x2e13c3;if(_0x394ca6>=_0x321944){_0x394ca6=_0x321944;_0x2e13c3=0xc8;}else{_0x2e13c3=0xce;}_0x2ec255[_0xe128('0x1a')](_0x2e13c3);return _0x2ec255[_0xe128('0x21')]('Content-Range',_0xe670ca+'-'+_0x394ca6+'/'+_0x321944)[_0xe128('0x1c')](_0x522c45);}return null;};}function saveUpdates(_0x210ddf){return function(_0x20bf9b){if(_0x20bf9b){return _0x20bf9b[_0xe128('0x22')](_0x210ddf)['then'](function(_0x165bef){return _0x165bef;});}return null;};}function removeEntity(_0x260002){return function(_0xc4b4d6){if(_0xc4b4d6){return _0xc4b4d6[_0xe128('0x23')]()[_0xe128('0xf')](function(){var _0x52366e=_0xc4b4d6[_0xe128('0x24')]({'plain':!![]});var _0x5b40f6=_0xe128('0x25');return db[_0xe128('0x26')]['destroy']({'where':{'type':_0x5b40f6,'resourceId':_0x52366e['id']}})[_0xe128('0xf')](function(){return _0xc4b4d6;});})[_0xe128('0xf')](function(){_0x260002[_0xe128('0x1a')](0xcc)[_0xe128('0x1b')]();});}};}function handleEntityNotFound(_0x50e00a){return function(_0x407317){if(!_0x407317){_0x50e00a[_0xe128('0x19')](0x194);}return _0x407317;};}function handleError(_0x51240b,_0x42d043){_0x42d043=_0x42d043||0x1f4;return function(_0x1df891){logger['error'](_0x1df891['stack']);if(_0x1df891['name']){delete _0x1df891[_0xe128('0x27')];}_0x51240b[_0xe128('0x1a')](_0x42d043)[_0xe128('0x28')](_0x1df891);};}function getImapHost(_0x39417a){switch(_0x39417a){case _0xe128('0x29'):return _0xe128('0x2a');case _0xe128('0x2b'):return _0xe128('0x2c');case _0xe128('0x2d'):return _0xe128('0x2e');case _0xe128('0x2f'):return'outlook.office365.com';}throw new Error(_0xe128('0x30'),_0x39417a);}function getSmtpHost(_0x12047a){switch(_0x12047a){case _0xe128('0x29'):return _0xe128('0x31');case'yahoo':return _0xe128('0x32');case _0xe128('0x2d'):return _0xe128('0x33');case'outlook365':return'smtp.office365.com';}throw new Error(_0xe128('0x30'),_0x12047a);}function getAuthenticationOptions(_0x5ec983,_0x2b201d){var _0x24e1e9={};var _0x6ca82={};if(_0x5ec983){_0x24e1e9[_0xe128('0x34')]=_0x6ca82[_0xe128('0x34')]=_0x2b201d[_0xe128('0x35')];_0x24e1e9[_0xe128('0x36')]=_0x6ca82[_0xe128('0x37')]=_0x2b201d[_0xe128('0x36')];if(_0x2b201d[_0xe128('0x38')]){_0x24e1e9[_0xe128('0x38')]=_0x6ca82[_0xe128('0x38')]=!![];_0x24e1e9[_0xe128('0x39')]=_0x6ca82[_0xe128('0x39')]=_0x2b201d[_0xe128('0x39')];_0x24e1e9[_0xe128('0x36')]=_0x6ca82['pass']=null;}else{_0x24e1e9[_0xe128('0x39')]=_0x6ca82[_0xe128('0x39')]=null;}_0x24e1e9[_0xe128('0x3a')]=getImapHost(_0x5ec983);_0x24e1e9[_0xe128('0x3b')]=0x3e1;_0x6ca82[_0xe128('0x3a')]=getSmtpHost(_0x5ec983);_0x6ca82[_0xe128('0x3b')]=0x24b;_0x6ca82[_0xe128('0x3c')]=![];_0x24e1e9[_0xe128('0x3d')]=_0x6ca82['service']=null;}else{if(_0x2b201d[_0xe128('0x3e')]){_0x24e1e9['user']=_0x6ca82['user']=_0x2b201d[_0xe128('0x35')];_0x24e1e9[_0xe128('0x36')]=_0x6ca82[_0xe128('0x37')]=_0x2b201d['password'];}else{_0x24e1e9[_0xe128('0x3e')]=_0x6ca82['authentication']=![];_0x24e1e9['user']=_0x6ca82[_0xe128('0x34')]=null;_0x24e1e9['password']=_0x6ca82[_0xe128('0x37')]=null;}_0x24e1e9[_0xe128('0x3a')]=_0x2b201d['Imap'][_0xe128('0x3a')];_0x24e1e9[_0xe128('0x3b')]=_0x2b201d[_0xe128('0x3f')][_0xe128('0x3b')];_0x6ca82[_0xe128('0x3a')]=_0x2b201d[_0xe128('0x40')][_0xe128('0x3a')];_0x6ca82[_0xe128('0x3b')]=_0x2b201d[_0xe128('0x40')][_0xe128('0x3b')];}return{'Imap':_0x24e1e9,'Smtp':_0x6ca82};}exports['index']=function(_0x310709,_0xe29b3f){var _0x142b12={'include':[{'model':db[_0xe128('0x41')],'as':_0xe128('0x3f')},{'model':db[_0xe128('0x42')],'as':_0xe128('0x40')},{'model':db[_0xe128('0x43')],'as':'mandatoryDispositionPause'}]},_0x3cccba={},_0x5294d5={'count':0x0,'rows':[]};var _0x1b87d8=_[_0xe128('0x44')](db['MailAccount'][_0xe128('0x45')],function(_0xa4ae6d){return{'name':_0xa4ae6d[_0xe128('0x46')],'type':_0xa4ae6d[_0xe128('0x47')][_0xe128('0x48')]};});_0x3cccba['model']=_[_0xe128('0x44')](_0x1b87d8,_0xe128('0x27'));_0x3cccba[_0xe128('0x49')]=_[_0xe128('0x4a')](_0x310709['query']);_0x3cccba['filters']=_[_0xe128('0x4b')](_0x3cccba['model'],_0x3cccba[_0xe128('0x49')]);_0x142b12[_0xe128('0x4c')]=_[_0xe128('0x4b')](_0x3cccba[_0xe128('0x4d')],qs[_0xe128('0x4e')](_0x310709[_0xe128('0x49')][_0xe128('0x4e')]));_0x142b12[_0xe128('0x4c')]=_0x142b12[_0xe128('0x4c')][_0xe128('0x4f')]?_0x142b12['attributes']:_0x3cccba[_0xe128('0x4d')];if(!_0x310709['query'][_0xe128('0x50')](_0xe128('0x51'))){_0x142b12[_0xe128('0x1f')]=qs[_0xe128('0x1f')](_0x310709[_0xe128('0x49')][_0xe128('0x1f')]);_0x142b12[_0xe128('0x1d')]=qs[_0xe128('0x1d')](_0x310709['query']['offset']);}_0x142b12[_0xe128('0x52')]=qs['sort'](_0x310709[_0xe128('0x49')][_0xe128('0x53')]);_0x142b12[_0xe128('0x54')]=qs[_0xe128('0x55')](_['pick'](_0x310709[_0xe128('0x49')],_0x3cccba['filters']),_0x1b87d8);if(_0x310709[_0xe128('0x49')]['filter']){_0x142b12[_0xe128('0x54')]=_['merge'](_0x142b12[_0xe128('0x54')],{'$or':_['map'](_0x1b87d8,function(_0x5b2e19){if(_0x5b2e19['type']!=='VIRTUAL'){var _0x517ed5={};_0x517ed5[_0x5b2e19[_0xe128('0x27')]]={'$like':'%'+_0x310709[_0xe128('0x49')][_0xe128('0x56')]+'%'};return _0x517ed5;}})});}_0x142b12=_[_0xe128('0x57')]({},_0x142b12,_0x310709[_0xe128('0x58')]);var _0x3718db={'where':_0x142b12[_0xe128('0x54')]};return db['MailAccount'][_0xe128('0x20')](_0x3718db)[_0xe128('0xf')](function(_0x2ba924){_0x5294d5[_0xe128('0x20')]=_0x2ba924;if(_0x310709['query'][_0xe128('0x59')]){_0x142b12[_0xe128('0x5a')]=[{'all':!![]}];}return db[_0xe128('0x5b')][_0xe128('0x5c')](_0x142b12);})[_0xe128('0xf')](function(_0xd2815c){_0x5294d5[_0xe128('0x5d')]=_0xd2815c;return _0x5294d5;})['then'](respondWithFilteredResult(_0xe29b3f,_0x142b12))['catch'](handleError(_0xe29b3f,null));};exports[_0xe128('0x5e')]=function(_0x4d1a4e,_0x4fa480){var _0xf8a883={'raw':![],'where':{'id':_0x4d1a4e[_0xe128('0x5f')]['id']},'include':[{'model':db[_0xe128('0x41')],'as':_0xe128('0x3f')},{'model':db['MailServerOut'],'as':_0xe128('0x40')},{'model':db['Pause'],'as':_0xe128('0x60')}]},_0x5e1bbb={};_0x5e1bbb[_0xe128('0x4d')]=_[_0xe128('0x4a')](db['MailAccount'][_0xe128('0x45')]);_0x5e1bbb[_0xe128('0x49')]=_[_0xe128('0x4a')](_0x4d1a4e[_0xe128('0x49')]);_0x5e1bbb['filters']=_['intersection'](_0x5e1bbb[_0xe128('0x4d')],_0x5e1bbb[_0xe128('0x49')]);_0xf8a883[_0xe128('0x4c')]=_[_0xe128('0x4b')](_0x5e1bbb[_0xe128('0x4d')],qs[_0xe128('0x4e')](_0x4d1a4e[_0xe128('0x49')][_0xe128('0x4e')]));_0xf8a883['attributes']=_0xf8a883[_0xe128('0x4c')][_0xe128('0x4f')]?_0xf8a883[_0xe128('0x4c')]:_0x5e1bbb[_0xe128('0x4d')];if(_0x4d1a4e['query']['includeAll']){_0xf8a883[_0xe128('0x5a')]=[{'all':!![]}];}_0xf8a883=_['merge']({},_0xf8a883,_0x4d1a4e['options']);return db[_0xe128('0x5b')][_0xe128('0x61')](_0xf8a883)[_0xe128('0xf')](handleEntityNotFound(_0x4fa480,null))[_0xe128('0xf')](respondWithResult(_0x4fa480,null))[_0xe128('0x62')](handleError(_0x4fa480,null));};exports[_0xe128('0x22')]=function(_0x5cce68,_0x5a16d8){if(_0x5cce68[_0xe128('0x63')]['id']){delete _0x5cce68['body']['id'];}var _0x2ac64f=_0x5cce68['body'][_0xe128('0x64')]===_0xe128('0x65')?null:_0x5cce68[_0xe128('0x63')]['provider'];var _0x48e95d=_0x5cce68['body'][_0xe128('0x3f')]||{};var _0x2916d8=_0x5cce68[_0xe128('0x63')][_0xe128('0x40')]||{};if(_0x2ac64f){_0x48e95d[_0xe128('0x3a')]=getImapHost(_0x2ac64f);_0x48e95d[_0xe128('0x3b')]=0x3e1;_0x2916d8[_0xe128('0x3a')]=getSmtpHost(_0x2ac64f);_0x2916d8['port']=0x24b;_0x2916d8[_0xe128('0x3c')]=![];}if(_0x2916d8['modernAuthentication']){_0x2916d8[_0xe128('0x3c')]=![];}else{_0x2916d8['CloudProviderId']=null;}if(!_0x48e95d[_0xe128('0x38')])_0x48e95d[_0xe128('0x39')]=null;_0x5cce68[_0xe128('0x63')][_0xe128('0x3f')]=_0x48e95d;_0x5cce68[_0xe128('0x63')][_0xe128('0x40')]=_0x2916d8;return db[_0xe128('0x5b')][_0xe128('0x61')]({'where':{'id':_0x5cce68['params']['id']},'include':[{'model':db['MailServerIn'],'as':_0xe128('0x3f')},{'model':db[_0xe128('0x42')],'as':'Smtp'},{'model':db[_0xe128('0x43')],'as':_0xe128('0x60')}]})['then'](handleEntityNotFound(_0x5a16d8,null))[_0xe128('0xf')](function(_0x5b6f87){if(!_0x5b6f87)throw new Error(_0xe128('0x66'));if(_0x5b6f87[_0xe128('0x3d')])delete _0x5cce68[_0xe128('0x63')][_0xe128('0x3f')];return _0x5b6f87;})[_0xe128('0xf')](saveUpdates(_0x5cce68[_0xe128('0x63')],null))['then'](function(_0x199d74){if(!_0x5cce68[_0xe128('0x63')][_0xe128('0x3f')])return _0x199d74;return db[_0xe128('0x41')][_0xe128('0x22')](_0x5cce68[_0xe128('0x63')][_0xe128('0x3f')],{'where':{'MailAccountId':_0x199d74['id']}})[_0xe128('0xf')](function(){return _0x199d74;});})[_0xe128('0xf')](function(_0x3a2122){if(!_0x5cce68[_0xe128('0x63')][_0xe128('0x40')])return _0x3a2122;return db[_0xe128('0x42')][_0xe128('0x22')](_0x5cce68['body'][_0xe128('0x40')],{'where':{'MailAccountId':_0x3a2122['id']}})[_0xe128('0xf')](function(){return _0x3a2122;});})[_0xe128('0xf')](respondWithResult(_0x5a16d8,null))[_0xe128('0x62')](handleError(_0x5a16d8,null));};exports[_0xe128('0x67')]=function(_0x1bc3a2,_0x2867c2){return db[_0xe128('0x5b')][_0xe128('0x67')]()[_0xe128('0xf')](respondWithResult(_0x2867c2,null))[_0xe128('0x62')](handleError(_0x2867c2,null));};exports[_0xe128('0x68')]=function(_0x159b88,_0x4fa9d9){if(_0x159b88[_0xe128('0x63')]['id']){delete _0x159b88['body']['id'];}return db['MailAccount']['find']({'where':{'id':_0x159b88[_0xe128('0x5f')]['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x4fa9d9,null))['then'](function(_0x5f1564){if(_0x5f1564){_0x159b88[_0xe128('0x63')]['MailAccountId']=_0x5f1564['id'];return db[_0xe128('0x69')]['create'](_0x159b88['body']);}})[_0xe128('0xf')](respondWithResult(_0x4fa9d9,null))[_0xe128('0x62')](handleError(_0x4fa9d9,null));};exports[_0xe128('0x6a')]=function(_0x243378,_0x3df590){var _0x3c8da4={'raw':![],'where':{}};var _0xb1498a={};var _0x5e93fb={'count':0x0,'rows':[]};return db[_0xe128('0x5b')][_0xe128('0x6b')]({'where':{'id':_0x243378[_0xe128('0x5f')]['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x3df590,null))[_0xe128('0xf')](function(_0x3ce85d){if(_0x3ce85d){_0xb1498a['model']=_['keys'](db[_0xe128('0x69')][_0xe128('0x45')]);_0xb1498a[_0xe128('0x49')]=_[_0xe128('0x4a')](_0x243378['query']);_0xb1498a[_0xe128('0x55')]=_[_0xe128('0x4b')](_0xb1498a['model'],_0xb1498a[_0xe128('0x49')]);_0x3c8da4[_0xe128('0x4c')]=_[_0xe128('0x4b')](_0xb1498a['model'],qs[_0xe128('0x4e')](_0x243378[_0xe128('0x49')][_0xe128('0x4e')]));_0x3c8da4[_0xe128('0x4c')]=_0x3c8da4[_0xe128('0x4c')][_0xe128('0x4f')]?_0x3c8da4['attributes']:_0xb1498a['model'];if(!_0x243378[_0xe128('0x49')][_0xe128('0x50')]('nolimit')){_0x3c8da4[_0xe128('0x1f')]=qs[_0xe128('0x1f')](_0x243378['query'][_0xe128('0x1f')]);_0x3c8da4[_0xe128('0x1d')]=qs[_0xe128('0x1d')](_0x243378['query'][_0xe128('0x1d')]);}_0x3c8da4[_0xe128('0x52')]=qs[_0xe128('0x53')](_0x243378[_0xe128('0x49')][_0xe128('0x53')]);_0x3c8da4[_0xe128('0x54')]=qs['filters'](_[_0xe128('0x6c')](_0x243378[_0xe128('0x49')],_0xb1498a[_0xe128('0x55')]));_0x3c8da4[_0xe128('0x54')]['MailAccountId']=_0x3ce85d['id'];if(_0x243378['query']['filter']){_0x3c8da4[_0xe128('0x54')]=_[_0xe128('0x57')](_0x3c8da4[_0xe128('0x54')],{'$or':_['map'](_0x3c8da4[_0xe128('0x4c')],function(_0x4de7e2){var _0x10619e={};_0x10619e[_0x4de7e2]={'$like':'%'+_0x243378['query']['filter']+'%'};return _0x10619e;})});}_0x3c8da4=_[_0xe128('0x57')]({},_0x3c8da4,_0x243378[_0xe128('0x58')]);return db[_0xe128('0x69')]['count']({'where':_0x3c8da4[_0xe128('0x54')]})[_0xe128('0xf')](function(_0x3587ab){_0x5e93fb[_0xe128('0x20')]=_0x3587ab;if(_0x243378[_0xe128('0x49')][_0xe128('0x59')]){_0x3c8da4[_0xe128('0x5a')]=[{'all':!![]}];}return db[_0xe128('0x69')][_0xe128('0x5c')](_0x3c8da4);})[_0xe128('0xf')](function(_0x6628b8){_0x5e93fb['rows']=_0x6628b8;return _0x5e93fb;});}})[_0xe128('0xf')](respondWithFilteredResult(_0x3df590,_0x3c8da4))[_0xe128('0x62')](handleError(_0x3df590,null));};exports[_0xe128('0x6d')]=function(_0x40884a,_0x273b68){return db[_0xe128('0x5b')]['find']({'where':{'id':_0x40884a[_0xe128('0x5f')]['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x273b68,null))['then'](function(_0x136dbd){if(_0x136dbd){return _0x136dbd[_0xe128('0x6d')](_0x40884a[_0xe128('0x49')][_0xe128('0x6e')]);}})[_0xe128('0xf')](respondWithStatusCode(_0x273b68,null))['catch'](handleError(_0x273b68,null));};exports[_0xe128('0x6f')]=function(_0x431f3c,_0x189d07){if(_0x431f3c[_0xe128('0x63')]['id']){delete _0x431f3c[_0xe128('0x63')]['id'];}return db[_0xe128('0x5b')]['find']({'where':{'id':_0x431f3c[_0xe128('0x5f')]['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x189d07,null))[_0xe128('0xf')](function(_0x1a1282){if(_0x1a1282){_0x431f3c[_0xe128('0x63')][_0xe128('0x70')]=_0x1a1282['id'];return db[_0xe128('0x71')]['create'](_0x431f3c['body']);}})[_0xe128('0xf')](respondWithResult(_0x189d07,null))[_0xe128('0x62')](handleError(_0x189d07,null));};exports[_0xe128('0x72')]=function(_0xa84dfd,_0x189ef5){var _0x186b42={'raw':![],'where':{}};var _0x4687cc={};var _0x59136f={'count':0x0,'rows':[]};return db[_0xe128('0x5b')][_0xe128('0x6b')]({'where':{'id':_0xa84dfd['params']['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x189ef5,null))[_0xe128('0xf')](function(_0x21552f){if(_0x21552f){_0x4687cc[_0xe128('0x4d')]=_[_0xe128('0x4a')](db['CannedAnswer'][_0xe128('0x45')]);_0x4687cc[_0xe128('0x49')]=_['keys'](_0xa84dfd[_0xe128('0x49')]);_0x4687cc[_0xe128('0x55')]=_[_0xe128('0x4b')](_0x4687cc[_0xe128('0x4d')],_0x4687cc[_0xe128('0x49')]);_0x186b42['attributes']=_['intersection'](_0x4687cc['model'],qs['fields'](_0xa84dfd[_0xe128('0x49')][_0xe128('0x4e')]));_0x186b42[_0xe128('0x4c')]=_0x186b42[_0xe128('0x4c')][_0xe128('0x4f')]?_0x186b42[_0xe128('0x4c')]:_0x4687cc[_0xe128('0x4d')];if(!_0xa84dfd[_0xe128('0x49')][_0xe128('0x50')](_0xe128('0x51'))){_0x186b42[_0xe128('0x1f')]=qs[_0xe128('0x1f')](_0xa84dfd[_0xe128('0x49')][_0xe128('0x1f')]);_0x186b42['offset']=qs[_0xe128('0x1d')](_0xa84dfd[_0xe128('0x49')][_0xe128('0x1d')]);}_0x186b42['order']=qs[_0xe128('0x53')](_0xa84dfd[_0xe128('0x49')]['sort']);_0x186b42[_0xe128('0x54')]=qs[_0xe128('0x55')](_[_0xe128('0x6c')](_0xa84dfd['query'],_0x4687cc[_0xe128('0x55')]));_0x186b42['where'][_0xe128('0x70')]=_0x21552f['id'];if(_0xa84dfd['query'][_0xe128('0x56')]){_0x186b42[_0xe128('0x54')]=_[_0xe128('0x57')](_0x186b42[_0xe128('0x54')],{'$or':_[_0xe128('0x44')](_0x186b42['attributes'],function(_0x51ffe2){var _0x39afea={};_0x39afea[_0x51ffe2]={'$like':'%'+_0xa84dfd[_0xe128('0x49')]['filter']+'%'};return _0x39afea;})});}_0x186b42=_['merge']({},_0x186b42,_0xa84dfd['options']);return db[_0xe128('0x71')][_0xe128('0x20')]({'where':_0x186b42[_0xe128('0x54')]})[_0xe128('0xf')](function(_0x55ea16){_0x59136f['count']=_0x55ea16;if(_0xa84dfd[_0xe128('0x49')][_0xe128('0x59')]){_0x186b42[_0xe128('0x5a')]=[{'all':!![]}];}return db[_0xe128('0x71')][_0xe128('0x5c')](_0x186b42);})[_0xe128('0xf')](function(_0x1ad6a6){_0x59136f[_0xe128('0x5d')]=_0x1ad6a6;return _0x59136f;});}})[_0xe128('0xf')](respondWithFilteredResult(_0x189ef5,_0x186b42))['catch'](handleError(_0x189ef5,null));};exports[_0xe128('0x73')]=function(_0x36e97a,_0x30533f){return db[_0xe128('0x5b')][_0xe128('0x61')]({'where':{'id':_0x36e97a[_0xe128('0x5f')]['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x30533f,null))[_0xe128('0xf')](function(_0x3be720){if(_0x3be720){return _0x3be720['removeAnswers'](_0x36e97a['query'][_0xe128('0x6e')]);}})['then'](respondWithStatusCode(_0x30533f,null))[_0xe128('0x62')](handleError(_0x30533f,null));};exports[_0xe128('0x74')]=function(_0x479d65,_0x5da536){var _0x404b43={'name':_0x479d65[_0xe128('0x63')]['name'],'key':_0x479d65[_0xe128('0x63')][_0xe128('0x48')],'provider':_0x479d65['body'][_0xe128('0x64')]===_0xe128('0x65')?null:_0x479d65['body'][_0xe128('0x64')],'email':_0x479d65[_0xe128('0x63')][_0xe128('0x75')],'ListId':_0x479d65['body'][_0xe128('0x76')],'active':!_[_0xe128('0x77')](_0x479d65[_0xe128('0x63')][_0xe128('0x78')])?_0x479d65[_0xe128('0x63')][_0xe128('0x78')]:!![],'description':_0x479d65[_0xe128('0x63')][_0xe128('0x79')]||null};var _0xe588aa=getAuthenticationOptions(_0x404b43['provider'],_0x479d65['body']);_0x404b43[_0xe128('0x3f')]=_0xe588aa[_0xe128('0x3f')];_0x404b43['Smtp']=_0xe588aa['Smtp'];return db[_0xe128('0x5b')]['create'](_0x404b43,{'include':[{'model':db['MailServerOut'],'as':_0xe128('0x40')},{'model':db['MailServerIn'],'as':_0xe128('0x3f')}]})[_0xe128('0xf')](function(_0x2decb2){var _0x2944ba=_0x479d65[_0xe128('0x34')][_0xe128('0x24')]({'plain':!![]});if(!_0x2944ba)throw new Error(_0xe128('0x7a'));if(_0x2944ba[_0xe128('0x7b')]==='user'){var _0x5503fc=_0x2decb2[_0xe128('0x24')]({'plain':!![]});return db['UserProfileSection'][_0xe128('0x61')]({'where':{'name':_0xe128('0x25'),'userProfileId':_0x2944ba[_0xe128('0x7c')]},'raw':!![]})[_0xe128('0xf')](function(_0x1ea0ee){if(_0x1ea0ee&&_0x1ea0ee[_0xe128('0x7d')]===0x0){return db[_0xe128('0x26')][_0xe128('0x74')]({'name':_0x5503fc[_0xe128('0x27')],'resourceId':_0x5503fc['id'],'type':_0x1ea0ee[_0xe128('0x27')],'sectionId':_0x1ea0ee['id']},{})[_0xe128('0xf')](function(){return _0x2decb2;});}else{return _0x2decb2;}})['catch'](function(_0x592595){logger[_0xe128('0x15')](_0xe128('0x7e'),_0x592595);throw _0x592595;});}return _0x2decb2;})[_0xe128('0xf')](respondWithResult(_0x5da536,0xc9))['catch'](handleError(_0x5da536,null));};exports[_0xe128('0x7f')]=function(_0x214513,_0x2a77fc){return db[_0xe128('0x5b')][_0xe128('0x6b')]({'where':{'id':_0x214513['params']['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x2a77fc,null))[_0xe128('0xf')](function(_0x11aa33){if(_0x11aa33){return _0x11aa33[_0xe128('0x7f')]();}return null;})[_0xe128('0xf')](respondWithResult(_0x2a77fc,null))[_0xe128('0x62')](handleError(_0x2a77fc,null));};exports['addImap']=function(_0x2fbfc1,_0x12682a){if(_0x2fbfc1[_0xe128('0x63')]['id']){delete _0x2fbfc1[_0xe128('0x63')]['id'];}return db[_0xe128('0x5b')][_0xe128('0x61')]({'where':{'id':_0x2fbfc1[_0xe128('0x5f')]['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x12682a,null))[_0xe128('0xf')](function(_0xcd3575){if(_0xcd3575){_0x2fbfc1[_0xe128('0x63')]['MailAccountId']=_0xcd3575['id'];return db[_0xe128('0x41')][_0xe128('0x74')](_0x2fbfc1[_0xe128('0x63')]);}})[_0xe128('0xf')](respondWithResult(_0x12682a,null))['catch'](handleError(_0x12682a,null));};exports[_0xe128('0x80')]=function(_0x40b45c,_0x487808){return db[_0xe128('0x5b')]['findOne']({'where':{'id':_0x40b45c['params']['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x487808,null))[_0xe128('0xf')](function(_0x3d8fb6){if(_0x3d8fb6){return _0x3d8fb6[_0xe128('0x81')](null);}return null;})[_0xe128('0xf')](respondWithStatusCode(_0x487808,null))[_0xe128('0x62')](handleError(_0x487808,null));};exports[_0xe128('0x82')]=function(_0x2ba45c,_0x45af67){return db['MailAccount'][_0xe128('0x6b')]({'where':{'id':_0x2ba45c['params']['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x45af67,null))[_0xe128('0xf')](function(_0x4f6b67){if(_0x4f6b67){return _0x4f6b67['getSmtp']();}return null;})[_0xe128('0xf')](respondWithResult(_0x45af67,null))['catch'](handleError(_0x45af67,null));};exports[_0xe128('0x83')]=function(_0x5e359c,_0x47c57e){if(_0x5e359c[_0xe128('0x63')]['id']){delete _0x5e359c[_0xe128('0x63')]['id'];}return db[_0xe128('0x5b')]['find']({'where':{'id':_0x5e359c[_0xe128('0x5f')]['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x47c57e,null))[_0xe128('0xf')](function(_0x47ab62){if(_0x47ab62){_0x5e359c[_0xe128('0x63')][_0xe128('0x70')]=_0x47ab62['id'];return db[_0xe128('0x42')]['create'](_0x5e359c[_0xe128('0x63')]);}})[_0xe128('0xf')](respondWithResult(_0x47c57e,null))[_0xe128('0x62')](handleError(_0x47c57e,null));};exports['removeSmtp']=function(_0x5705a8,_0x260e37){return db[_0xe128('0x5b')]['findOne']({'where':{'id':_0x5705a8[_0xe128('0x5f')]['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x260e37,null))[_0xe128('0xf')](function(_0x22da3b){if(_0x22da3b){return _0x22da3b['setSmtp'](null);}return null;})[_0xe128('0xf')](respondWithStatusCode(_0x260e37,null))[_0xe128('0x62')](handleError(_0x260e37,null));};exports[_0xe128('0x84')]=function(_0x467bb4,_0x1d3c19){return db[_0xe128('0x85')][_0xe128('0x61')]({'where':{'id':_0x467bb4[_0xe128('0x5f')]['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x1d3c19,null))[_0xe128('0xf')](function(_0x28e99c){if(_0x28e99c){return _0x28e99c[_0xe128('0x84')](_0x467bb4['body'][_0xe128('0x6e')],_[_0xe128('0x86')](_0x467bb4['body'],[_0xe128('0x6e'),'id'])||{});}})[_0xe128('0xf')](respondWithResult(_0x1d3c19,null))[_0xe128('0x62')](handleError(_0x1d3c19,null));};exports[_0xe128('0x87')]=function(_0xc26221,_0x46facc){var _0x14cd69={'raw':![],'where':{}};var _0x25ccfc={};var _0x53f9c0={'count':0x0,'rows':[]};return db[_0xe128('0x5b')][_0xe128('0x6b')]({'where':{'id':_0xc26221[_0xe128('0x5f')]['id']}})['then'](handleEntityNotFound(_0x46facc,null))['then'](function(_0x1d5afd){if(_0x1d5afd){_0x25ccfc[_0xe128('0x4d')]=_[_0xe128('0x4a')](db['MailInteraction'][_0xe128('0x45')]);_0x25ccfc[_0xe128('0x49')]=_['keys'](_0xc26221[_0xe128('0x49')]);_0x25ccfc['filters']=_[_0xe128('0x4b')](_0x25ccfc[_0xe128('0x4d')],_0x25ccfc[_0xe128('0x49')]);_0x14cd69[_0xe128('0x4c')]=_[_0xe128('0x4b')](_0x25ccfc[_0xe128('0x4d')],qs[_0xe128('0x4e')](_0xc26221[_0xe128('0x49')][_0xe128('0x4e')]));_0x14cd69[_0xe128('0x4c')]=_0x14cd69[_0xe128('0x4c')]['length']?_0x14cd69[_0xe128('0x4c')]:_0x25ccfc[_0xe128('0x4d')];if(!_0xc26221[_0xe128('0x49')][_0xe128('0x50')](_0xe128('0x51'))){_0x14cd69[_0xe128('0x1f')]=qs['limit'](_0xc26221['query']['limit']);_0x14cd69[_0xe128('0x1d')]=qs[_0xe128('0x1d')](_0xc26221[_0xe128('0x49')][_0xe128('0x1d')]);}_0x14cd69[_0xe128('0x52')]=qs[_0xe128('0x53')](_0xc26221['query'][_0xe128('0x53')]);_0x14cd69['where']=qs['filters'](_['pick'](_0xc26221[_0xe128('0x49')],_0x25ccfc[_0xe128('0x55')]));_0x14cd69[_0xe128('0x54')][_0xe128('0x70')]=_0x1d5afd['id'];if(_0xc26221[_0xe128('0x49')][_0xe128('0x56')]){_0x14cd69['where']=_['merge'](_0x14cd69[_0xe128('0x54')],{'$or':_[_0xe128('0x44')](_0x14cd69[_0xe128('0x4c')],function(_0x393949){var _0x887837={};_0x887837[_0x393949]={'$like':'%'+_0xc26221['query'][_0xe128('0x56')]+'%'};return _0x887837;})});}_0x14cd69=_[_0xe128('0x57')]({},_0x14cd69,_0xc26221[_0xe128('0x58')]);return db[_0xe128('0x85')]['count']({'where':_0x14cd69[_0xe128('0x54')]})[_0xe128('0xf')](function(_0x203011){_0x53f9c0[_0xe128('0x20')]=_0x203011;if(_0xc26221[_0xe128('0x49')][_0xe128('0x59')]){_0x14cd69[_0xe128('0x5a')]=[{'model':db[_0xe128('0x88')],'as':_0xe128('0x89'),'required':![]},{'model':db[_0xe128('0x8a')],'as':_0xe128('0x8b'),'attributes':[_0xe128('0x27'),_0xe128('0x8c'),'internal'],'required':![]},{'model':db[_0xe128('0x8d')],'as':_0xe128('0x8e'),'attributes':['id',_0xe128('0x27'),_0xe128('0x8f')],'where':_0xc26221['query']['tag']?{'id':_0xc26221[_0xe128('0x49')][_0xe128('0x90')]}:undefined,'required':_0xc26221[_0xe128('0x49')]['tag']?!![]:![]}];}return db[_0xe128('0x85')][_0xe128('0x5c')](_0x14cd69);})['then'](function(_0x1b01ac){_0x53f9c0[_0xe128('0x5d')]=_0x1b01ac;return _0x53f9c0;});}})[_0xe128('0xf')](respondWithFilteredResult(_0x46facc,_0x14cd69))[_0xe128('0x62')](handleError(_0x46facc,null));};exports[_0xe128('0x91')]=function addApplications(_0x3069e7,_0x4d8414){var _0x177e8e=_0x3069e7['params']['id'];var _0x267553=_0x3069e7['body'];var _0x4fcb18=0xc8;var _0x290fb6=null;return db[_0xe128('0x92')][_0xe128('0x93')]({'isolationLevel':db['sequelize']['Transaction'][_0xe128('0x94')][_0xe128('0x95')]},function(_0x42a7aa){return db[_0xe128('0x5b')][_0xe128('0x6b')]({'where':{'id':_0x177e8e},'transaction':_0x42a7aa})[_0xe128('0xf')](function(_0x2b2600){if(_0x2b2600){return db[_0xe128('0x96')][_0xe128('0x23')]({'where':{'MailAccountId':_0x177e8e},'transaction':_0x42a7aa})[_0xe128('0xf')](function(){var _0x17b6fb=_[_0xe128('0x44')](_0x267553,function(_0x3d52c7){_0x3d52c7[_0xe128('0x70')]=_0x177e8e;return _0x3d52c7;});return db[_0xe128('0x96')][_0xe128('0x97')](_0x17b6fb,{'transaction':_0x42a7aa});});}else{_0x4fcb18=0x194;_0x290fb6=[];}});})[_0xe128('0xf')](function(){if(_0x4fcb18!==0x194){return db[_0xe128('0x96')][_0xe128('0x98')]({'where':{'MailAccountId':_0x177e8e},'order':_0xe128('0x99')})['then'](function(_0x32103a){_0x290fb6=_0x32103a;});}})['catch'](function(_0x34b753){_0x4fcb18=0x1f4;logger[_0xe128('0x15')](_0x34b753['stack']);if(_0x34b753[_0xe128('0x27')]){delete _0x34b753[_0xe128('0x27')];}_0x290fb6=_0x34b753;})[_0xe128('0x9a')](function(){if(_0x290fb6===null){_0x4d8414[_0xe128('0x19')](_0x4fcb18);}else{if(_0x4fcb18===0x1f4){_0x4d8414[_0xe128('0x1a')](_0x4fcb18)['send'](_0x290fb6);}else{_0x4d8414['status'](_0x4fcb18)[_0xe128('0x1c')](_0x290fb6);}}});};exports[_0xe128('0x9b')]=function(_0x1921fa,_0x40d1db){var _0x52f42a={};var _0x373f73={};var _0x1caf2b;var _0x2e9f24;return db[_0xe128('0x5b')][_0xe128('0x6b')]({'where':{'id':_0x1921fa[_0xe128('0x5f')]['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x40d1db,null))[_0xe128('0xf')](function(_0x36391c){if(_0x36391c){_0x1caf2b=_0x36391c;_0x373f73['model']=_[_0xe128('0x4a')](db[_0xe128('0x96')][_0xe128('0x45')]);_0x373f73[_0xe128('0x49')]=_[_0xe128('0x4a')](_0x1921fa[_0xe128('0x49')]);_0x373f73['filters']=_[_0xe128('0x4b')](_0x373f73['model'],_0x373f73[_0xe128('0x49')]);_0x52f42a['attributes']=_[_0xe128('0x4b')](_0x373f73[_0xe128('0x4d')],qs['fields'](_0x1921fa['query']['fields']));_0x52f42a[_0xe128('0x4c')]=_0x52f42a[_0xe128('0x4c')][_0xe128('0x4f')]?_0x52f42a[_0xe128('0x4c')]:_0x373f73[_0xe128('0x4d')];_0x52f42a['order']=qs[_0xe128('0x53')](_0x1921fa['query'][_0xe128('0x53')]);_0x52f42a[_0xe128('0x54')]=qs[_0xe128('0x55')](_[_0xe128('0x6c')](_0x1921fa[_0xe128('0x49')],_0x373f73[_0xe128('0x55')]));if(_0x1921fa[_0xe128('0x49')]['filter']){_0x52f42a[_0xe128('0x54')]=_[_0xe128('0x57')](_0x52f42a[_0xe128('0x54')],{'$or':_['map'](_0x52f42a[_0xe128('0x4c')],function(_0x189db0){var _0x25a76e={};_0x25a76e[_0x189db0]={'$like':'%'+_0x1921fa[_0xe128('0x49')][_0xe128('0x56')]+'%'};return _0x25a76e;})});}_0x52f42a=_[_0xe128('0x57')]({},_0x52f42a,_0x1921fa[_0xe128('0x58')]);return _0x1caf2b[_0xe128('0x9b')](_0x52f42a);}})[_0xe128('0xf')](function(_0x4a2c61){if(_0x4a2c61){_0x2e9f24=_0x4a2c61[_0xe128('0x4f')];if(!_0x1921fa[_0xe128('0x49')][_0xe128('0x50')]('nolimit')){_0x52f42a[_0xe128('0x1f')]=qs[_0xe128('0x1f')](_0x1921fa['query'][_0xe128('0x1f')]);_0x52f42a[_0xe128('0x1d')]=qs[_0xe128('0x1d')](_0x1921fa[_0xe128('0x49')]['offset']);}return _0x1caf2b[_0xe128('0x9b')](_0x52f42a);}})[_0xe128('0xf')](function(_0xd9ee41){if(_0xd9ee41){return _0xd9ee41?{'count':_0x2e9f24,'rows':_0xd9ee41}:null;}})[_0xe128('0xf')](respondWithResult(_0x40d1db,null))[_0xe128('0x62')](handleError(_0x40d1db,null));};exports[_0xe128('0x9c')]=function(_0xf0c925,_0x408d19){var _0x8ba4d9={'raw':!![],'where':{}};var _0x4efc0b={};var _0x4c2e90={'count':0x0,'rows':[]};return db['MailAccount'][_0xe128('0x6b')]({'where':{'id':_0xf0c925['params']['id']}})['then'](handleEntityNotFound(_0x408d19,null))[_0xe128('0xf')](function(_0x4f781f){if(_0x4f781f){_0x4efc0b[_0xe128('0x4d')]=_[_0xe128('0x4a')](db[_0xe128('0x9d')][_0xe128('0x45')]);_0x4efc0b['query']=_[_0xe128('0x4a')](_0xf0c925[_0xe128('0x49')]);_0x4efc0b[_0xe128('0x55')]=_[_0xe128('0x4b')](_0x4efc0b[_0xe128('0x4d')],_0x4efc0b['query']);_0x8ba4d9[_0xe128('0x4c')]=_[_0xe128('0x4b')](_0x4efc0b['model'],qs['fields'](_0xf0c925['query']['fields']));_0x8ba4d9[_0xe128('0x4c')]=_0x8ba4d9[_0xe128('0x4c')][_0xe128('0x4f')]?_0x8ba4d9[_0xe128('0x4c')]:_0x4efc0b[_0xe128('0x4d')];if(!_0xf0c925[_0xe128('0x49')][_0xe128('0x50')]('nolimit')){_0x8ba4d9['limit']=qs[_0xe128('0x1f')](_0xf0c925[_0xe128('0x49')][_0xe128('0x1f')]);_0x8ba4d9[_0xe128('0x1d')]=qs[_0xe128('0x1d')](_0xf0c925[_0xe128('0x49')]['offset']);}_0x8ba4d9[_0xe128('0x52')]=qs[_0xe128('0x53')](_0xf0c925[_0xe128('0x49')][_0xe128('0x53')]);_0x8ba4d9[_0xe128('0x54')]=qs[_0xe128('0x55')](_['pick'](_0xf0c925[_0xe128('0x49')],_0x4efc0b['filters']));_0x8ba4d9[_0xe128('0x54')][_0xe128('0x70')]=_0x4f781f['id'];if(_0xf0c925['query']['filter']){_0x8ba4d9[_0xe128('0x54')]=_[_0xe128('0x57')](_0x8ba4d9[_0xe128('0x54')],{'$or':_[_0xe128('0x44')](_0x8ba4d9[_0xe128('0x4c')],function(_0x2f2577){var _0x1155f4={};_0x1155f4[_0x2f2577]={'$like':'%'+_0xf0c925['query'][_0xe128('0x56')]+'%'};return _0x1155f4;})});}if(_0xf0c925[_0xe128('0x49')][_0xe128('0x9e')]){var _0x2b49d8=_0xf0c925['query'][_0xe128('0x9e')][_0xe128('0x9f')](',');var _0x4bed7d={};_0x4bed7d[_0x2b49d8[0x0]]={'$gte':moment(_0x2b49d8[0x1])[_0xe128('0xa0')]('YYYY-MM-DD\x20HH:mm:ss')};_0x8ba4d9['where']=_[_0xe128('0x57')](_0x8ba4d9[_0xe128('0x54')],_0x4bed7d);}_0x8ba4d9=_[_0xe128('0x57')]({},_0x8ba4d9,_0xf0c925[_0xe128('0x58')]);return db[_0xe128('0x9d')]['count']({'where':_0x8ba4d9[_0xe128('0x54')]})[_0xe128('0xf')](function(_0x1460a9){_0x4c2e90[_0xe128('0x20')]=_0x1460a9;if(_0xf0c925['query']['includeAll']){_0x8ba4d9[_0xe128('0x5a')]=[{'all':!![]}];}return db['MailMessage']['findAll'](_0x8ba4d9);})[_0xe128('0xf')](function(_0x184406){if(_0xf0c925[_0xe128('0x49')]['inlineCss']==='true'){for(var _0x341a1f=0x0;_0x341a1f<_0x184406['length'];_0x341a1f++){_0x184406[_0x341a1f]['body']=juice(_0x184406[_0x341a1f][_0xe128('0x63')]);}}_0x4c2e90[_0xe128('0x5d')]=_0x184406;return _0x4c2e90;});}})[_0xe128('0xf')](respondWithFilteredResult(_0x408d19,_0x8ba4d9))[_0xe128('0x62')](handleError(_0x408d19,null));};exports['send']=function(_0x29950f,_0xb1b774){var _0x237a0a,_0x2e2e1b={},_0x1a5d42;if(_0x29950f['body']['to']){_0x1a5d42=_0x29950f['body']['to'][_0xe128('0x9f')](',')[0x0];}return db[_0xe128('0x5b')]['find']({'where':{'id':_0x29950f[_0xe128('0x5f')]['id']},'include':[{'model':db['CmList'],'as':_0xe128('0xa1'),'include':[{'model':db['CmContact'],'as':_0xe128('0xa2'),'where':{'email':_0x1a5d42},'limit':0x1,'order':[[_0xe128('0xa3'),_0xe128('0xa4')]]}]},{'model':db['MailServerOut'],'as':_0xe128('0x40'),'raw':!![],'include':[{'model':db[_0xe128('0xa5')],'as':_0xe128('0xa5'),'raw':!![]}]}]})['then'](handleEntityNotFound(_0xb1b774,null))[_0xe128('0xf')](function(_0x433e9d){if(!_0x433e9d)return;_0x237a0a=_0x433e9d;if(!_0x433e9d[_0xe128('0x40')])throw new Error(_0xe128('0xa6'));if(_[_0xe128('0x77')](_0x29950f[_0xe128('0x63')]['from'])){_0x29950f[_0xe128('0x63')]['from']=util[_0xe128('0xa0')](_0xe128('0xa7'),_0x433e9d['name'],_0x433e9d['email']||_0x433e9d[_0xe128('0x40')][_0xe128('0x34')]);}if(_0x29950f[_0xe128('0x63')]['attachments']&&_0x29950f[_0xe128('0x63')][_0xe128('0xa8')]['length']){for(var _0x4dfeb6=0x0;_0x4dfeb6<_0x29950f[_0xe128('0x63')]['attachments']['length'];_0x4dfeb6+=0x1){_0x29950f[_0xe128('0x63')][_0xe128('0xa8')][_0x4dfeb6]={'filename':_0x29950f[_0xe128('0x63')][_0xe128('0xa8')][_0x4dfeb6]['name'],'path':path['join'](config[_0xe128('0xa9')],_0xe128('0xaa'),_0x29950f[_0xe128('0x63')][_0xe128('0xa8')][_0x4dfeb6]['basename'])};}}var _0x502a8c=_0x433e9d[_0xe128('0xab')]();return respondWithRpcPromise(_0xe128('0xac'),_0xe128('0xad'),{'account':_0x502a8c,'message':_0x29950f[_0xe128('0x63')]});})[_0xe128('0xf')](function(_0x877e2b){if(!_0x877e2b)return;_0x2e2e1b=_0x877e2b;if(!_0x237a0a[_0xe128('0xa1')])throw new Error('List\x20not\x20found');if(_0x237a0a['List'][_0xe128('0xa2')][_0xe128('0x4f')])return _0x237a0a[_0xe128('0xa1')]['Contacts'][0x0];return db[_0xe128('0x88')][_0xe128('0x74')](_[_0xe128('0x9')](_0x29950f[_0xe128('0x63')],{'firstName':_0x29950f['body']['to'],'email':_0x29950f[_0xe128('0x63')]['to'],'phone':_0x29950f[_0xe128('0x63')]['to'],'ListId':_0x237a0a[_0xe128('0x76')]}));})[_0xe128('0xf')](function(_0x55b795){if(!_0x55b795)return;var _0x5e7fae={'UserId':_0x29950f[_0xe128('0x34')]['id'],'ContactId':_0x55b795['id'],'MailAccountId':_0x237a0a['id'],'inReplyTo':_0x2e2e1b[_0xe128('0xae')],'to':_0x29950f['body'][_0xe128('0xaf')],'cc':_0x29950f['body']['cc'],'subject':_0x29950f[_0xe128('0x63')][_0xe128('0xb0')],'attach':_0x29950f[_0xe128('0x63')]['attach'],'firstMsgDirection':'out','lastMsgAt':moment()['format'](_0xe128('0xb1')),'lastMsgDirection':_0xe128('0xb2'),'Messages':[_[_0xe128('0x57')](_0x29950f[_0xe128('0x63')],{'messageId':_0x2e2e1b[_0xe128('0xae')],'sentAt':moment()['format'](_0xe128('0xb1')),'read':!![],'MailAccountId':_0x237a0a['id'],'UserId':_0x29950f[_0xe128('0x34')]['id'],'ContactId':_0x55b795['id']})]};if(_0x29950f['body'][_0xe128('0xb3')]){_0x5e7fae=_[_0xe128('0x57')](_0x5e7fae,_0x29950f[_0xe128('0x63')][_0xe128('0xb3')]);}return db[_0xe128('0x85')]['create'](_0x5e7fae,{'include':[{'model':db[_0xe128('0x9d')],'as':'Messages'}]});})[_0xe128('0xf')](respondWithResult(_0xb1b774,null))[_0xe128('0x62')](handleError(_0xb1b774,null));};exports['verifySmtp']=function(_0x44bdde,_0x5737d6){return db[_0xe128('0x5b')][_0xe128('0x61')]({'where':{'id':_0x44bdde['params']['id']},'include':[{'model':db[_0xe128('0x42')],'as':'Smtp','raw':!![],'include':[{'model':db[_0xe128('0xa5')],'as':'CloudProvider','raw':!![]}]}]})[_0xe128('0xf')](handleEntityNotFound(_0x5737d6,null))[_0xe128('0xf')](function(_0x4c109e){if(!_0x4c109e[_0xe128('0x40')])return;var _0x1dd46e=_0x4c109e[_0xe128('0xab')]();return respondWithRpcPromise(_0xe128('0xb4'),_0xe128('0xb5'),{'account':_0x1dd46e});})['then'](respondWithResult(_0x5737d6,null))[_0xe128('0x62')](handleError(_0x5737d6,null));};exports['destroy']=function(_0x5c1cd8,_0x51f692){return db[_0xe128('0x5b')][_0xe128('0x61')]({'where':{'id':_0x5c1cd8[_0xe128('0x5f')]['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x51f692,null))[_0xe128('0xf')](function(_0xc8f05){if(_0xc8f05&&_0xc8f05[_0xe128('0x3d')]){throw new db[(_0xe128('0xb6'))][(_0xe128('0xb7'))](_0xe128('0xb8'));}return _0xc8f05;})[_0xe128('0xf')](removeEntity(_0x51f692,null))[_0xe128('0x62')](handleError(_0x51f692,null));};exports[_0xe128('0xb9')]=function(_0x1c9808,_0x1f5fd4){return db[_0xe128('0x5b')][_0xe128('0x61')]({'where':{'id':_0x1c9808[_0xe128('0x5f')]['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x1f5fd4,null))[_0xe128('0xf')](function(_0x44523e){if(_0x44523e){return _0x44523e[_0xe128('0xb9')](_0x1c9808[_0xe128('0x63')]['ids'],_[_0xe128('0x86')](_0x1c9808['body'],['ids','id'])||{})[_0xe128('0xba')](function(_0x224f60){for(var _0x55134e=0x0;_0x55134e<_0x1c9808[_0xe128('0x63')]['ids']['length'];_0x55134e+=0x1){socket[_0xe128('0xbb')](_0xe128('0xbc'),{'UserId':Number(_0x1c9808[_0xe128('0x63')]['ids'][_0x55134e]),'MailAccountId':Number(_0x1c9808[_0xe128('0x5f')]['id'])});}return _0x224f60;});}})[_0xe128('0xf')](respondWithResult(_0x1f5fd4,null))[_0xe128('0x62')](handleError(_0x1f5fd4,null));};exports['removeAgents']=function(_0x2721df,_0x41850f){return db[_0xe128('0x5b')][_0xe128('0x61')]({'where':{'id':_0x2721df[_0xe128('0x5f')]['id']}})['then'](handleEntityNotFound(_0x41850f,null))[_0xe128('0xf')](function(_0x268494){if(_0x268494){return _0x268494['removeAgents'](_0x2721df[_0xe128('0x49')][_0xe128('0x6e')])[_0xe128('0xf')](function(){if(_[_0xe128('0xbd')](_0x2721df[_0xe128('0x49')]['ids'])){for(var _0x331894=0x0;_0x331894<_0x2721df[_0xe128('0x49')][_0xe128('0x6e')][_0xe128('0x4f')];_0x331894+=0x1){socket['emit']('userMailAccount:remove',{'UserId':Number(_0x2721df[_0xe128('0x49')][_0xe128('0x6e')][_0x331894]),'MailAccountId':Number(_0x2721df['params']['id'])});}}else{socket['emit'](_0xe128('0xbe'),{'UserId':Number(_0x2721df[_0xe128('0x49')][_0xe128('0x6e')]),'MailAccountId':Number(_0x2721df[_0xe128('0x5f')]['id'])});}});}})['then'](respondWithStatusCode(_0x41850f,null))['catch'](handleError(_0x41850f,null));};exports[_0xe128('0xbf')]=function(_0x1b9ee6,_0x4d04ba){var _0x26dc19={};var _0x23e46e={};var _0x18855;var _0x5c491a;return db['MailAccount'][_0xe128('0x6b')]({'where':{'id':_0x1b9ee6['params']['id']}})[_0xe128('0xf')](handleEntityNotFound(_0x4d04ba,null))['then'](function(_0x5741b6){if(_0x5741b6){_0x18855=_0x5741b6;_0x23e46e[_0xe128('0x4d')]=_[_0xe128('0x4a')](db[_0xe128('0x8a')][_0xe128('0x45')]);_0x23e46e[_0xe128('0x49')]=_[_0xe128('0x4a')](_0x1b9ee6[_0xe128('0x49')]);_0x23e46e[_0xe128('0x55')]=_['intersection'](_0x23e46e[_0xe128('0x4d')],_0x23e46e['query']);_0x26dc19[_0xe128('0x4c')]=_[_0xe128('0x4b')](_0x23e46e[_0xe128('0x4d')],qs[_0xe128('0x4e')](_0x1b9ee6['query'][_0xe128('0x4e')]));_0x26dc19[_0xe128('0x4c')]=_0x26dc19[_0xe128('0x4c')][_0xe128('0x4f')]?_0x26dc19[_0xe128('0x4c')]:_0x23e46e[_0xe128('0x4d')];_0x26dc19['order']=qs['sort'](_0x1b9ee6[_0xe128('0x49')][_0xe128('0x53')]);_0x26dc19[_0xe128('0x54')]=qs[_0xe128('0x55')](_['pick'](_0x1b9ee6['query'],_0x23e46e['filters']));if(_0x1b9ee6[_0xe128('0x49')]['filter']){_0x26dc19[_0xe128('0x54')]=_[_0xe128('0x57')](_0x26dc19[_0xe128('0x54')],{'$or':_[_0xe128('0x44')](_0x26dc19[_0xe128('0x4c')],function(_0x3b8a6e){var _0x2c1dd8={};_0x2c1dd8[_0x3b8a6e]={'$like':'%'+_0x1b9ee6[_0xe128('0x49')]['filter']+'%'};return _0x2c1dd8;})});}_0x26dc19=_[_0xe128('0x57')]({},_0x26dc19,_0x1b9ee6[_0xe128('0x58')]);return _0x18855['getAgents'](_0x26dc19);}})[_0xe128('0xf')](function(_0x39eb50){if(_0x39eb50){_0x5c491a=_0x39eb50[_0xe128('0x4f')];if(!_0x1b9ee6[_0xe128('0x49')][_0xe128('0x50')]('nolimit')){_0x26dc19[_0xe128('0x1f')]=qs['limit'](_0x1b9ee6[_0xe128('0x49')][_0xe128('0x1f')]);_0x26dc19[_0xe128('0x1d')]=qs[_0xe128('0x1d')](_0x1b9ee6['query']['offset']);}return _0x18855[_0xe128('0xbf')](_0x26dc19);}})['then'](function(_0x171b55){if(_0x171b55){return _0x171b55?{'count':_0x5c491a,'rows':_0x171b55}:null;}})['then'](respondWithResult(_0x4d04ba,null))[_0xe128('0x62')](handleError(_0x4d04ba,null));};