Built motion from commit da617fac.|2.6.6
[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 _0x6b9f=['sort','where','filters','filter','merge','VIRTUAL','options','includeAll','findAll','rows','show','params','keys','include','find','body','provider','custom','mandatoryDispositionPause','describe','addDisposition','Disposition','create','findOne','rawAttributes','pick','MailAccountId','removeDispositions','addAnswer','CannedAnswer','getAnswers','removeAnswers','email','active','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','setImap','getSmtp','removeSmtp','addInteraction','MailInteraction','ids','omit','CmContact','Contact','Owner','fullname','internal','Tags','tag','addApplications','sequelize','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','finally','getApplications','getMessages','MailMessage','$gte','split','inlineCss','true','List','Contacts','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','isNil','from','format','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','getSmtpOptions','SendMail','List\x20not\x20found','ListId','messageId','subject','YYYY-MM-DD\x20HH:mm:ss','out','Interaction','Messages','VerifySmtp','verifySmtp','Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','userMailAccount:save','removeAgents','userMailAccount:remove','getAgents','moment','bluebird','lodash','juice','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','redis','defaults','socket.io-emitter','./mailAccount.socket','register','jayson/promise','client','http','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','catch','sendStatus','status','end','json','offset','limit','undefined','count','Content-Range','update','destroy','get','MailAccounts','UserProfileResource','stack','name','send','gmail','imap.gmail.com','yahoo','imap.mail.yahoo.com','hotmail','imap-mail.outlook.com','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp.gmail.com','smtp.mail.yahoo.com','smtp-mail.outlook.com','outlook365','smtp.office365.com','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','index','MailServerIn','MailServerOut','Pause','map','MailAccount','fieldName','type','key','model','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','order'];(function(_0x421196,_0x1cbd94){var _0x2738af=function(_0xc956ff){while(--_0xc956ff){_0x421196['push'](_0x421196['shift']());}};_0x2738af(++_0x1cbd94);}(_0x6b9f,0x1e5));var _0xf6b9=function(_0x5ef0bd,_0x28e566){_0x5ef0bd=_0x5ef0bd-0x0;var _0x3b6c8e=_0x6b9f[_0x5ef0bd];return _0x3b6c8e;};'use strict';var moment=require(_0xf6b9('0x0'));var BPromise=require(_0xf6b9('0x1'));var util=require('util');var path=require('path');var _=require(_0xf6b9('0x2'));var juice=require(_0xf6b9('0x3'));var Redis=require(_0xf6b9('0x4'));var qs=require(_0xf6b9('0x5'));var logger=require(_0xf6b9('0x6'))(_0xf6b9('0x7'));var config=require(_0xf6b9('0x8'));var db=require('../../mysqldb')['db'];config[_0xf6b9('0x9')]=_[_0xf6b9('0xa')](config[_0xf6b9('0x9')],{'host':'localhost','port':0x18eb});var socket=require(_0xf6b9('0xb'))(new Redis(config[_0xf6b9('0x9')]));require(_0xf6b9('0xc'))[_0xf6b9('0xd')](socket);var jayson=require(_0xf6b9('0xe'));var client=jayson[_0xf6b9('0xf')][_0xf6b9('0x10')]({'port':0x232b});function respondWithRpcPromise(_0x20fee4,_0x32f645,_0x1f08d4,_0x1c189d){return new BPromise(function(_0x1fdc41,_0x32979d){var _0x4a1ccb=_0x1c189d||client;return _0x4a1ccb['request'](_0x20fee4,_0x1f08d4)[_0xf6b9('0x11')](function(_0x14b54a){logger[_0xf6b9('0x12')](_0xf6b9('0x13'),_0x32f645,_0xf6b9('0x14'));logger[_0xf6b9('0x15')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x32f645,_0xf6b9('0x14'),JSON[_0xf6b9('0x16')](_0x14b54a));if(_0x14b54a[_0xf6b9('0x17')]){if(_0x14b54a['error'][_0xf6b9('0x18')]===0x1f4){logger[_0xf6b9('0x17')](_0xf6b9('0x13'),_0x32f645,_0x14b54a[_0xf6b9('0x17')][_0xf6b9('0x19')]);return _0x32979d(_0x14b54a[_0xf6b9('0x17')][_0xf6b9('0x19')]);}logger['error'](_0xf6b9('0x13'),_0x32f645,_0x14b54a[_0xf6b9('0x17')][_0xf6b9('0x19')]);return _0x1fdc41(_0x14b54a[_0xf6b9('0x17')][_0xf6b9('0x19')]);}else{logger[_0xf6b9('0x12')]('MailAccount,\x20%s,\x20%s',_0x32f645,_0xf6b9('0x14'));_0x1fdc41(_0x14b54a['result'][_0xf6b9('0x19')]);}})[_0xf6b9('0x1a')](function(_0x37400c){logger[_0xf6b9('0x17')](_0xf6b9('0x13'),_0x32f645,_0x37400c);_0x32979d(_0x37400c);});});}function respondWithStatusCode(_0x1598a6,_0x7b6e9f){_0x7b6e9f=_0x7b6e9f||0xcc;return function(_0x3a37eb){if(_0x3a37eb){return _0x1598a6[_0xf6b9('0x1b')](_0x7b6e9f);}return _0x1598a6[_0xf6b9('0x1c')](_0x7b6e9f)[_0xf6b9('0x1d')]();};}function respondWithResult(_0x4f6b96,_0xce0fb4){_0xce0fb4=_0xce0fb4||0xc8;return function(_0x5a8d52){if(_0x5a8d52){return _0x4f6b96[_0xf6b9('0x1c')](_0xce0fb4)[_0xf6b9('0x1e')](_0x5a8d52);}};}function respondWithFilteredResult(_0x3698ef,_0x193fae){return function(_0x5bc50c){if(_0x5bc50c){var _0x48b85b=typeof _0x193fae[_0xf6b9('0x1f')]==='undefined'&&typeof _0x193fae[_0xf6b9('0x20')]===_0xf6b9('0x21');var _0x567c23=_0x5bc50c[_0xf6b9('0x22')];var _0x54b4ce=_0x48b85b?0x0:_0x193fae['offset'];var _0x38faa1=_0x48b85b?_0x5bc50c[_0xf6b9('0x22')]:_0x193fae[_0xf6b9('0x1f')]+_0x193fae[_0xf6b9('0x20')];var _0x34489b;if(_0x38faa1>=_0x567c23){_0x38faa1=_0x567c23;_0x34489b=0xc8;}else{_0x34489b=0xce;}_0x3698ef[_0xf6b9('0x1c')](_0x34489b);return _0x3698ef['set'](_0xf6b9('0x23'),_0x54b4ce+'-'+_0x38faa1+'/'+_0x567c23)[_0xf6b9('0x1e')](_0x5bc50c);}return null;};}function saveUpdates(_0x5daecf){return function(_0x35456d){if(_0x35456d){return _0x35456d[_0xf6b9('0x24')](_0x5daecf)[_0xf6b9('0x11')](function(_0x4f95fe){return _0x4f95fe;});}return null;};}function removeEntity(_0x587a83){return function(_0x257de6){if(_0x257de6){return _0x257de6[_0xf6b9('0x25')]()[_0xf6b9('0x11')](function(){var _0x1d7441=_0x257de6[_0xf6b9('0x26')]({'plain':!![]});var _0xe3b3e=_0xf6b9('0x27');return db[_0xf6b9('0x28')][_0xf6b9('0x25')]({'where':{'type':_0xe3b3e,'resourceId':_0x1d7441['id']}})[_0xf6b9('0x11')](function(){return _0x257de6;});})[_0xf6b9('0x11')](function(){_0x587a83[_0xf6b9('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x39c240){return function(_0x3289f2){if(!_0x3289f2){_0x39c240['sendStatus'](0x194);}return _0x3289f2;};}function handleError(_0xb1be6f,_0x30a432){_0x30a432=_0x30a432||0x1f4;return function(_0x4afd6d){logger[_0xf6b9('0x17')](_0x4afd6d[_0xf6b9('0x29')]);if(_0x4afd6d['name']){delete _0x4afd6d[_0xf6b9('0x2a')];}_0xb1be6f['status'](_0x30a432)[_0xf6b9('0x2b')](_0x4afd6d);};}function getImapHost(_0x5509f3){switch(_0x5509f3){case _0xf6b9('0x2c'):return _0xf6b9('0x2d');case _0xf6b9('0x2e'):return _0xf6b9('0x2f');case _0xf6b9('0x30'):return _0xf6b9('0x31');case'outlook365':return _0xf6b9('0x32');}throw new Error(_0xf6b9('0x33'),_0x5509f3);}function getSmtpHost(_0x353623){switch(_0x353623){case _0xf6b9('0x2c'):return _0xf6b9('0x34');case _0xf6b9('0x2e'):return _0xf6b9('0x35');case'hotmail':return _0xf6b9('0x36');case _0xf6b9('0x37'):return _0xf6b9('0x38');}throw new Error('Unknown\x20email\x20service\x20provider',_0x353623);}function getAuthenticationOptions(_0xaaf79f,_0x5c7e09){var _0xb09158={};var _0x2e381d={};if(_0xaaf79f){_0xb09158[_0xf6b9('0x39')]=_0x2e381d[_0xf6b9('0x39')]=_0x5c7e09[_0xf6b9('0x3a')];_0xb09158[_0xf6b9('0x3b')]=_0x2e381d[_0xf6b9('0x3c')]=_0x5c7e09[_0xf6b9('0x3b')];if(_0x5c7e09[_0xf6b9('0x3d')]){_0xb09158[_0xf6b9('0x3d')]=_0x2e381d[_0xf6b9('0x3d')]=!![];_0xb09158['CloudProviderId']=_0x2e381d[_0xf6b9('0x3e')]=_0x5c7e09['CloudProviderId'];_0xb09158[_0xf6b9('0x3b')]=_0x2e381d[_0xf6b9('0x3c')]=null;}else{_0xb09158[_0xf6b9('0x3e')]=_0x2e381d['CloudProviderId']=null;}_0xb09158[_0xf6b9('0x3f')]=getImapHost(_0xaaf79f);_0xb09158['port']=0x3e1;_0x2e381d['host']=getSmtpHost(_0xaaf79f);_0x2e381d[_0xf6b9('0x40')]=0x24b;_0x2e381d[_0xf6b9('0x41')]=![];_0xb09158[_0xf6b9('0x42')]=_0x2e381d[_0xf6b9('0x42')]=null;}else{if(_0x5c7e09[_0xf6b9('0x43')]){_0xb09158[_0xf6b9('0x39')]=_0x2e381d[_0xf6b9('0x39')]=_0x5c7e09['username'];_0xb09158[_0xf6b9('0x3b')]=_0x2e381d[_0xf6b9('0x3c')]=_0x5c7e09[_0xf6b9('0x3b')];}else{_0xb09158[_0xf6b9('0x43')]=_0x2e381d['authentication']=![];_0xb09158[_0xf6b9('0x39')]=_0x2e381d[_0xf6b9('0x39')]=null;_0xb09158[_0xf6b9('0x3b')]=_0x2e381d['pass']=null;}_0xb09158[_0xf6b9('0x3f')]=_0x5c7e09[_0xf6b9('0x44')][_0xf6b9('0x3f')];_0xb09158['port']=_0x5c7e09[_0xf6b9('0x44')][_0xf6b9('0x40')];_0x2e381d[_0xf6b9('0x3f')]=_0x5c7e09['Smtp']['host'];_0x2e381d[_0xf6b9('0x40')]=_0x5c7e09[_0xf6b9('0x45')]['port'];}return{'Imap':_0xb09158,'Smtp':_0x2e381d};}exports[_0xf6b9('0x46')]=function(_0x2e3865,_0x167a1d){var _0x14b652={'include':[{'model':db[_0xf6b9('0x47')],'as':'Imap'},{'model':db[_0xf6b9('0x48')],'as':_0xf6b9('0x45')},{'model':db[_0xf6b9('0x49')],'as':'mandatoryDispositionPause'}]},_0x264e58={},_0x4f97aa={'count':0x0,'rows':[]};var _0x233e42=_[_0xf6b9('0x4a')](db[_0xf6b9('0x4b')]['rawAttributes'],function(_0x16a0d8){return{'name':_0x16a0d8[_0xf6b9('0x4c')],'type':_0x16a0d8[_0xf6b9('0x4d')][_0xf6b9('0x4e')]};});_0x264e58[_0xf6b9('0x4f')]=_[_0xf6b9('0x4a')](_0x233e42,'name');_0x264e58[_0xf6b9('0x50')]=_['keys'](_0x2e3865[_0xf6b9('0x50')]);_0x264e58['filters']=_['intersection'](_0x264e58[_0xf6b9('0x4f')],_0x264e58['query']);_0x14b652[_0xf6b9('0x51')]=_[_0xf6b9('0x52')](_0x264e58[_0xf6b9('0x4f')],qs[_0xf6b9('0x53')](_0x2e3865['query'][_0xf6b9('0x53')]));_0x14b652[_0xf6b9('0x51')]=_0x14b652['attributes'][_0xf6b9('0x54')]?_0x14b652[_0xf6b9('0x51')]:_0x264e58['model'];if(!_0x2e3865[_0xf6b9('0x50')][_0xf6b9('0x55')](_0xf6b9('0x56'))){_0x14b652['limit']=qs[_0xf6b9('0x20')](_0x2e3865[_0xf6b9('0x50')][_0xf6b9('0x20')]);_0x14b652[_0xf6b9('0x1f')]=qs[_0xf6b9('0x1f')](_0x2e3865[_0xf6b9('0x50')]['offset']);}_0x14b652[_0xf6b9('0x57')]=qs['sort'](_0x2e3865[_0xf6b9('0x50')][_0xf6b9('0x58')]);_0x14b652[_0xf6b9('0x59')]=qs[_0xf6b9('0x5a')](_['pick'](_0x2e3865[_0xf6b9('0x50')],_0x264e58[_0xf6b9('0x5a')]),_0x233e42);if(_0x2e3865[_0xf6b9('0x50')][_0xf6b9('0x5b')]){_0x14b652[_0xf6b9('0x59')]=_[_0xf6b9('0x5c')](_0x14b652[_0xf6b9('0x59')],{'$or':_[_0xf6b9('0x4a')](_0x233e42,function(_0x2b27f4){if(_0x2b27f4[_0xf6b9('0x4d')]!==_0xf6b9('0x5d')){var _0x598a93={};_0x598a93[_0x2b27f4[_0xf6b9('0x2a')]]={'$like':'%'+_0x2e3865[_0xf6b9('0x50')][_0xf6b9('0x5b')]+'%'};return _0x598a93;}})});}_0x14b652=_[_0xf6b9('0x5c')]({},_0x14b652,_0x2e3865[_0xf6b9('0x5e')]);var _0x365dd0={'where':_0x14b652[_0xf6b9('0x59')]};return db['MailAccount'][_0xf6b9('0x22')](_0x365dd0)['then'](function(_0x10d0b0){_0x4f97aa[_0xf6b9('0x22')]=_0x10d0b0;if(_0x2e3865[_0xf6b9('0x50')][_0xf6b9('0x5f')]){_0x14b652['include']=[{'all':!![]}];}return db[_0xf6b9('0x4b')][_0xf6b9('0x60')](_0x14b652);})[_0xf6b9('0x11')](function(_0x35672f){_0x4f97aa[_0xf6b9('0x61')]=_0x35672f;return _0x4f97aa;})['then'](respondWithFilteredResult(_0x167a1d,_0x14b652))[_0xf6b9('0x1a')](handleError(_0x167a1d,null));};exports[_0xf6b9('0x62')]=function(_0x5695e4,_0x2ed792){var _0x8dbe8={'raw':![],'where':{'id':_0x5695e4[_0xf6b9('0x63')]['id']},'include':[{'model':db[_0xf6b9('0x47')],'as':_0xf6b9('0x44')},{'model':db[_0xf6b9('0x48')],'as':'Smtp'},{'model':db[_0xf6b9('0x49')],'as':'mandatoryDispositionPause'}]},_0x2866f4={};_0x2866f4[_0xf6b9('0x4f')]=_[_0xf6b9('0x64')](db[_0xf6b9('0x4b')]['rawAttributes']);_0x2866f4[_0xf6b9('0x50')]=_[_0xf6b9('0x64')](_0x5695e4[_0xf6b9('0x50')]);_0x2866f4[_0xf6b9('0x5a')]=_[_0xf6b9('0x52')](_0x2866f4[_0xf6b9('0x4f')],_0x2866f4[_0xf6b9('0x50')]);_0x8dbe8[_0xf6b9('0x51')]=_[_0xf6b9('0x52')](_0x2866f4[_0xf6b9('0x4f')],qs[_0xf6b9('0x53')](_0x5695e4[_0xf6b9('0x50')][_0xf6b9('0x53')]));_0x8dbe8[_0xf6b9('0x51')]=_0x8dbe8[_0xf6b9('0x51')]['length']?_0x8dbe8['attributes']:_0x2866f4[_0xf6b9('0x4f')];if(_0x5695e4[_0xf6b9('0x50')][_0xf6b9('0x5f')]){_0x8dbe8[_0xf6b9('0x65')]=[{'all':!![]}];}_0x8dbe8=_[_0xf6b9('0x5c')]({},_0x8dbe8,_0x5695e4[_0xf6b9('0x5e')]);return db['MailAccount'][_0xf6b9('0x66')](_0x8dbe8)[_0xf6b9('0x11')](handleEntityNotFound(_0x2ed792,null))['then'](respondWithResult(_0x2ed792,null))['catch'](handleError(_0x2ed792,null));};exports[_0xf6b9('0x24')]=function(_0x16d97a,_0x1a6cc0){if(_0x16d97a['body']['id']){delete _0x16d97a[_0xf6b9('0x67')]['id'];}var _0x22e728=_0x16d97a[_0xf6b9('0x67')][_0xf6b9('0x68')]===_0xf6b9('0x69')?null:_0x16d97a['body']['provider'];var _0x438fcf=_0x16d97a['body'][_0xf6b9('0x44')]||{};var _0x20d519=_0x16d97a['body']['Smtp']||{};if(_0x22e728){_0x438fcf[_0xf6b9('0x3f')]=getImapHost(_0x22e728);_0x438fcf[_0xf6b9('0x40')]=0x3e1;_0x20d519[_0xf6b9('0x3f')]=getSmtpHost(_0x22e728);_0x20d519[_0xf6b9('0x40')]=0x24b;_0x20d519[_0xf6b9('0x41')]=![];}if(_0x20d519[_0xf6b9('0x3d')]){_0x20d519[_0xf6b9('0x41')]=![];}else{_0x20d519[_0xf6b9('0x3e')]=null;}if(!_0x438fcf[_0xf6b9('0x3d')])_0x438fcf[_0xf6b9('0x3e')]=null;_0x16d97a[_0xf6b9('0x67')][_0xf6b9('0x44')]=_0x438fcf;_0x16d97a['body'][_0xf6b9('0x45')]=_0x20d519;return db[_0xf6b9('0x4b')][_0xf6b9('0x66')]({'where':{'id':_0x16d97a[_0xf6b9('0x63')]['id']},'include':[{'model':db['MailServerIn'],'as':_0xf6b9('0x44')},{'model':db[_0xf6b9('0x48')],'as':_0xf6b9('0x45')},{'model':db[_0xf6b9('0x49')],'as':_0xf6b9('0x6a')}]})[_0xf6b9('0x11')](handleEntityNotFound(_0x1a6cc0,null))[_0xf6b9('0x11')](function(_0x58a327){if(!_0x58a327)throw new Error('Mail\x20Account\x20not\x20found');if(_0x58a327[_0xf6b9('0x42')])delete _0x16d97a[_0xf6b9('0x67')][_0xf6b9('0x44')];return _0x58a327;})[_0xf6b9('0x11')](saveUpdates(_0x16d97a[_0xf6b9('0x67')],null))[_0xf6b9('0x11')](function(_0x4b17cd){if(!_0x16d97a[_0xf6b9('0x67')]['Imap'])return _0x4b17cd;return db[_0xf6b9('0x47')][_0xf6b9('0x24')](_0x16d97a[_0xf6b9('0x67')]['Imap'],{'where':{'MailAccountId':_0x4b17cd['id']}})[_0xf6b9('0x11')](function(){return _0x4b17cd;});})[_0xf6b9('0x11')](function(_0x4680be){if(!_0x16d97a[_0xf6b9('0x67')][_0xf6b9('0x45')])return _0x4680be;return db[_0xf6b9('0x48')][_0xf6b9('0x24')](_0x16d97a['body']['Smtp'],{'where':{'MailAccountId':_0x4680be['id']}})[_0xf6b9('0x11')](function(){return _0x4680be;});})[_0xf6b9('0x11')](respondWithResult(_0x1a6cc0,null))[_0xf6b9('0x1a')](handleError(_0x1a6cc0,null));};exports['describe']=function(_0x49a2e7,_0x391b60){return db[_0xf6b9('0x4b')][_0xf6b9('0x6b')]()[_0xf6b9('0x11')](respondWithResult(_0x391b60,null))['catch'](handleError(_0x391b60,null));};exports[_0xf6b9('0x6c')]=function(_0x4a545a,_0x2e878b){if(_0x4a545a['body']['id']){delete _0x4a545a[_0xf6b9('0x67')]['id'];}return db['MailAccount'][_0xf6b9('0x66')]({'where':{'id':_0x4a545a[_0xf6b9('0x63')]['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0x2e878b,null))[_0xf6b9('0x11')](function(_0x84c87c){if(_0x84c87c){_0x4a545a['body']['MailAccountId']=_0x84c87c['id'];return db[_0xf6b9('0x6d')][_0xf6b9('0x6e')](_0x4a545a['body']);}})[_0xf6b9('0x11')](respondWithResult(_0x2e878b,null))[_0xf6b9('0x1a')](handleError(_0x2e878b,null));};exports['getDispositions']=function(_0x492e47,_0x501c60){var _0x1be91b={'raw':![],'where':{}};var _0x1137e9={};var _0x3125dd={'count':0x0,'rows':[]};return db['MailAccount'][_0xf6b9('0x6f')]({'where':{'id':_0x492e47[_0xf6b9('0x63')]['id']}})['then'](handleEntityNotFound(_0x501c60,null))[_0xf6b9('0x11')](function(_0x1b3a84){if(_0x1b3a84){_0x1137e9[_0xf6b9('0x4f')]=_[_0xf6b9('0x64')](db['Disposition'][_0xf6b9('0x70')]);_0x1137e9['query']=_[_0xf6b9('0x64')](_0x492e47[_0xf6b9('0x50')]);_0x1137e9['filters']=_[_0xf6b9('0x52')](_0x1137e9[_0xf6b9('0x4f')],_0x1137e9[_0xf6b9('0x50')]);_0x1be91b[_0xf6b9('0x51')]=_[_0xf6b9('0x52')](_0x1137e9[_0xf6b9('0x4f')],qs[_0xf6b9('0x53')](_0x492e47['query']['fields']));_0x1be91b[_0xf6b9('0x51')]=_0x1be91b[_0xf6b9('0x51')]['length']?_0x1be91b['attributes']:_0x1137e9['model'];if(!_0x492e47['query']['hasOwnProperty'](_0xf6b9('0x56'))){_0x1be91b[_0xf6b9('0x20')]=qs['limit'](_0x492e47[_0xf6b9('0x50')][_0xf6b9('0x20')]);_0x1be91b[_0xf6b9('0x1f')]=qs['offset'](_0x492e47['query'][_0xf6b9('0x1f')]);}_0x1be91b[_0xf6b9('0x57')]=qs[_0xf6b9('0x58')](_0x492e47[_0xf6b9('0x50')][_0xf6b9('0x58')]);_0x1be91b[_0xf6b9('0x59')]=qs[_0xf6b9('0x5a')](_[_0xf6b9('0x71')](_0x492e47[_0xf6b9('0x50')],_0x1137e9['filters']));_0x1be91b[_0xf6b9('0x59')][_0xf6b9('0x72')]=_0x1b3a84['id'];if(_0x492e47[_0xf6b9('0x50')]['filter']){_0x1be91b[_0xf6b9('0x59')]=_['merge'](_0x1be91b[_0xf6b9('0x59')],{'$or':_[_0xf6b9('0x4a')](_0x1be91b[_0xf6b9('0x51')],function(_0x4e79c7){var _0x2a9202={};_0x2a9202[_0x4e79c7]={'$like':'%'+_0x492e47[_0xf6b9('0x50')]['filter']+'%'};return _0x2a9202;})});}_0x1be91b=_[_0xf6b9('0x5c')]({},_0x1be91b,_0x492e47[_0xf6b9('0x5e')]);return db[_0xf6b9('0x6d')][_0xf6b9('0x22')]({'where':_0x1be91b[_0xf6b9('0x59')]})[_0xf6b9('0x11')](function(_0x1d0998){_0x3125dd['count']=_0x1d0998;if(_0x492e47['query']['includeAll']){_0x1be91b[_0xf6b9('0x65')]=[{'all':!![]}];}return db[_0xf6b9('0x6d')][_0xf6b9('0x60')](_0x1be91b);})[_0xf6b9('0x11')](function(_0x14e6fc){_0x3125dd[_0xf6b9('0x61')]=_0x14e6fc;return _0x3125dd;});}})['then'](respondWithFilteredResult(_0x501c60,_0x1be91b))[_0xf6b9('0x1a')](handleError(_0x501c60,null));};exports['removeDispositions']=function(_0x3d0061,_0x3a99f0){return db[_0xf6b9('0x4b')][_0xf6b9('0x66')]({'where':{'id':_0x3d0061[_0xf6b9('0x63')]['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0x3a99f0,null))[_0xf6b9('0x11')](function(_0x5b0d04){if(_0x5b0d04){return _0x5b0d04[_0xf6b9('0x73')](_0x3d0061[_0xf6b9('0x50')]['ids']);}})[_0xf6b9('0x11')](respondWithStatusCode(_0x3a99f0,null))['catch'](handleError(_0x3a99f0,null));};exports[_0xf6b9('0x74')]=function(_0x2d8670,_0x256250){if(_0x2d8670[_0xf6b9('0x67')]['id']){delete _0x2d8670[_0xf6b9('0x67')]['id'];}return db[_0xf6b9('0x4b')][_0xf6b9('0x66')]({'where':{'id':_0x2d8670['params']['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0x256250,null))[_0xf6b9('0x11')](function(_0xc14e26){if(_0xc14e26){_0x2d8670[_0xf6b9('0x67')][_0xf6b9('0x72')]=_0xc14e26['id'];return db[_0xf6b9('0x75')][_0xf6b9('0x6e')](_0x2d8670[_0xf6b9('0x67')]);}})[_0xf6b9('0x11')](respondWithResult(_0x256250,null))[_0xf6b9('0x1a')](handleError(_0x256250,null));};exports[_0xf6b9('0x76')]=function(_0x30a865,_0x5bbc8f){var _0x44c965={'raw':![],'where':{}};var _0x370c7c={};var _0x5d61fa={'count':0x0,'rows':[]};return db[_0xf6b9('0x4b')]['findOne']({'where':{'id':_0x30a865['params']['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0x5bbc8f,null))[_0xf6b9('0x11')](function(_0x2fdb78){if(_0x2fdb78){_0x370c7c[_0xf6b9('0x4f')]=_[_0xf6b9('0x64')](db['CannedAnswer'][_0xf6b9('0x70')]);_0x370c7c[_0xf6b9('0x50')]=_[_0xf6b9('0x64')](_0x30a865[_0xf6b9('0x50')]);_0x370c7c[_0xf6b9('0x5a')]=_[_0xf6b9('0x52')](_0x370c7c[_0xf6b9('0x4f')],_0x370c7c[_0xf6b9('0x50')]);_0x44c965[_0xf6b9('0x51')]=_['intersection'](_0x370c7c[_0xf6b9('0x4f')],qs[_0xf6b9('0x53')](_0x30a865['query']['fields']));_0x44c965['attributes']=_0x44c965['attributes'][_0xf6b9('0x54')]?_0x44c965['attributes']:_0x370c7c['model'];if(!_0x30a865['query'][_0xf6b9('0x55')](_0xf6b9('0x56'))){_0x44c965[_0xf6b9('0x20')]=qs['limit'](_0x30a865[_0xf6b9('0x50')][_0xf6b9('0x20')]);_0x44c965[_0xf6b9('0x1f')]=qs[_0xf6b9('0x1f')](_0x30a865['query'][_0xf6b9('0x1f')]);}_0x44c965[_0xf6b9('0x57')]=qs[_0xf6b9('0x58')](_0x30a865[_0xf6b9('0x50')][_0xf6b9('0x58')]);_0x44c965[_0xf6b9('0x59')]=qs[_0xf6b9('0x5a')](_['pick'](_0x30a865['query'],_0x370c7c['filters']));_0x44c965[_0xf6b9('0x59')][_0xf6b9('0x72')]=_0x2fdb78['id'];if(_0x30a865[_0xf6b9('0x50')]['filter']){_0x44c965[_0xf6b9('0x59')]=_[_0xf6b9('0x5c')](_0x44c965[_0xf6b9('0x59')],{'$or':_[_0xf6b9('0x4a')](_0x44c965[_0xf6b9('0x51')],function(_0x14adaa){var _0x18c1c1={};_0x18c1c1[_0x14adaa]={'$like':'%'+_0x30a865[_0xf6b9('0x50')][_0xf6b9('0x5b')]+'%'};return _0x18c1c1;})});}_0x44c965=_[_0xf6b9('0x5c')]({},_0x44c965,_0x30a865[_0xf6b9('0x5e')]);return db[_0xf6b9('0x75')][_0xf6b9('0x22')]({'where':_0x44c965['where']})['then'](function(_0x51a0cc){_0x5d61fa[_0xf6b9('0x22')]=_0x51a0cc;if(_0x30a865[_0xf6b9('0x50')][_0xf6b9('0x5f')]){_0x44c965[_0xf6b9('0x65')]=[{'all':!![]}];}return db[_0xf6b9('0x75')]['findAll'](_0x44c965);})['then'](function(_0x1cb323){_0x5d61fa['rows']=_0x1cb323;return _0x5d61fa;});}})['then'](respondWithFilteredResult(_0x5bbc8f,_0x44c965))[_0xf6b9('0x1a')](handleError(_0x5bbc8f,null));};exports['removeAnswers']=function(_0x44deb4,_0x2f0ecb){return db[_0xf6b9('0x4b')]['find']({'where':{'id':_0x44deb4[_0xf6b9('0x63')]['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0x2f0ecb,null))[_0xf6b9('0x11')](function(_0x24f9cf){if(_0x24f9cf){return _0x24f9cf[_0xf6b9('0x77')](_0x44deb4[_0xf6b9('0x50')]['ids']);}})[_0xf6b9('0x11')](respondWithStatusCode(_0x2f0ecb,null))['catch'](handleError(_0x2f0ecb,null));};exports[_0xf6b9('0x6e')]=function(_0x39dd75,_0x559270){var _0x5a4630={'name':_0x39dd75[_0xf6b9('0x67')][_0xf6b9('0x2a')],'key':_0x39dd75['body'][_0xf6b9('0x4e')],'provider':_0x39dd75['body'][_0xf6b9('0x68')]===_0xf6b9('0x69')?null:_0x39dd75[_0xf6b9('0x67')][_0xf6b9('0x68')],'email':_0x39dd75[_0xf6b9('0x67')][_0xf6b9('0x78')],'ListId':_0x39dd75[_0xf6b9('0x67')]['ListId'],'active':!_['isNil'](_0x39dd75[_0xf6b9('0x67')][_0xf6b9('0x79')])?_0x39dd75[_0xf6b9('0x67')][_0xf6b9('0x79')]:!![],'description':_0x39dd75[_0xf6b9('0x67')]['description']||null};var _0x58eed8=getAuthenticationOptions(_0x5a4630[_0xf6b9('0x68')],_0x39dd75[_0xf6b9('0x67')]);_0x5a4630[_0xf6b9('0x44')]=_0x58eed8[_0xf6b9('0x44')];_0x5a4630[_0xf6b9('0x45')]=_0x58eed8['Smtp'];return db[_0xf6b9('0x4b')][_0xf6b9('0x6e')](_0x5a4630,{'include':[{'model':db[_0xf6b9('0x48')],'as':_0xf6b9('0x45')},{'model':db['MailServerIn'],'as':'Imap'}]})[_0xf6b9('0x11')](function(_0x40244b){var _0xacf05e=_0x39dd75['user'][_0xf6b9('0x26')]({'plain':!![]});if(!_0xacf05e)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xacf05e[_0xf6b9('0x7a')]==='user'){var _0x503567=_0x40244b['get']({'plain':!![]});return db[_0xf6b9('0x7b')][_0xf6b9('0x66')]({'where':{'name':_0xf6b9('0x27'),'userProfileId':_0xacf05e[_0xf6b9('0x7c')]},'raw':!![]})[_0xf6b9('0x11')](function(_0x3a634b){if(_0x3a634b&&_0x3a634b[_0xf6b9('0x7d')]===0x0){return db[_0xf6b9('0x28')][_0xf6b9('0x6e')]({'name':_0x503567[_0xf6b9('0x2a')],'resourceId':_0x503567['id'],'type':_0x3a634b[_0xf6b9('0x2a')],'sectionId':_0x3a634b['id']},{})[_0xf6b9('0x11')](function(){return _0x40244b;});}else{return _0x40244b;}})['catch'](function(_0x509a52){logger[_0xf6b9('0x17')](_0xf6b9('0x7e'),_0x509a52);throw _0x509a52;});}return _0x40244b;})[_0xf6b9('0x11')](respondWithResult(_0x559270,0xc9))[_0xf6b9('0x1a')](handleError(_0x559270,null));};exports[_0xf6b9('0x7f')]=function(_0x389605,_0x55a458){return db[_0xf6b9('0x4b')][_0xf6b9('0x6f')]({'where':{'id':_0x389605['params']['id']}})['then'](handleEntityNotFound(_0x55a458,null))[_0xf6b9('0x11')](function(_0x4f4b78){if(_0x4f4b78){return _0x4f4b78[_0xf6b9('0x7f')]();}return null;})[_0xf6b9('0x11')](respondWithResult(_0x55a458,null))[_0xf6b9('0x1a')](handleError(_0x55a458,null));};exports['addImap']=function(_0x43cef1,_0x5f19ba){if(_0x43cef1[_0xf6b9('0x67')]['id']){delete _0x43cef1[_0xf6b9('0x67')]['id'];}return db[_0xf6b9('0x4b')][_0xf6b9('0x66')]({'where':{'id':_0x43cef1[_0xf6b9('0x63')]['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0x5f19ba,null))['then'](function(_0x2b989f){if(_0x2b989f){_0x43cef1['body'][_0xf6b9('0x72')]=_0x2b989f['id'];return db[_0xf6b9('0x47')][_0xf6b9('0x6e')](_0x43cef1[_0xf6b9('0x67')]);}})[_0xf6b9('0x11')](respondWithResult(_0x5f19ba,null))[_0xf6b9('0x1a')](handleError(_0x5f19ba,null));};exports['removeImap']=function(_0x2fdba7,_0x598379){return db[_0xf6b9('0x4b')][_0xf6b9('0x6f')]({'where':{'id':_0x2fdba7['params']['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0x598379,null))[_0xf6b9('0x11')](function(_0x7fd44b){if(_0x7fd44b){return _0x7fd44b[_0xf6b9('0x80')](null);}return null;})['then'](respondWithStatusCode(_0x598379,null))[_0xf6b9('0x1a')](handleError(_0x598379,null));};exports[_0xf6b9('0x81')]=function(_0x2219ae,_0x412baa){return db[_0xf6b9('0x4b')][_0xf6b9('0x6f')]({'where':{'id':_0x2219ae[_0xf6b9('0x63')]['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0x412baa,null))[_0xf6b9('0x11')](function(_0x444e17){if(_0x444e17){return _0x444e17[_0xf6b9('0x81')]();}return null;})[_0xf6b9('0x11')](respondWithResult(_0x412baa,null))['catch'](handleError(_0x412baa,null));};exports['addSmtp']=function(_0x9b7d6b,_0x2747ae){if(_0x9b7d6b[_0xf6b9('0x67')]['id']){delete _0x9b7d6b[_0xf6b9('0x67')]['id'];}return db[_0xf6b9('0x4b')]['find']({'where':{'id':_0x9b7d6b[_0xf6b9('0x63')]['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0x2747ae,null))[_0xf6b9('0x11')](function(_0x480715){if(_0x480715){_0x9b7d6b[_0xf6b9('0x67')][_0xf6b9('0x72')]=_0x480715['id'];return db['MailServerOut'][_0xf6b9('0x6e')](_0x9b7d6b[_0xf6b9('0x67')]);}})[_0xf6b9('0x11')](respondWithResult(_0x2747ae,null))[_0xf6b9('0x1a')](handleError(_0x2747ae,null));};exports[_0xf6b9('0x82')]=function(_0x7c951a,_0x347d13){return db[_0xf6b9('0x4b')][_0xf6b9('0x6f')]({'where':{'id':_0x7c951a['params']['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0x347d13,null))[_0xf6b9('0x11')](function(_0xc8b340){if(_0xc8b340){return _0xc8b340['setSmtp'](null);}return null;})[_0xf6b9('0x11')](respondWithStatusCode(_0x347d13,null))[_0xf6b9('0x1a')](handleError(_0x347d13,null));};exports[_0xf6b9('0x83')]=function(_0x58bac7,_0x4a3c8a){return db[_0xf6b9('0x84')][_0xf6b9('0x66')]({'where':{'id':_0x58bac7['params']['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0x4a3c8a,null))[_0xf6b9('0x11')](function(_0x144998){if(_0x144998){return _0x144998[_0xf6b9('0x83')](_0x58bac7['body'][_0xf6b9('0x85')],_[_0xf6b9('0x86')](_0x58bac7[_0xf6b9('0x67')],['ids','id'])||{});}})[_0xf6b9('0x11')](respondWithResult(_0x4a3c8a,null))[_0xf6b9('0x1a')](handleError(_0x4a3c8a,null));};exports['getInteractions']=function(_0x56703c,_0x37839a){var _0x1e8621={'raw':![],'where':{}};var _0x3d6eac={};var _0x4dbaca={'count':0x0,'rows':[]};return db[_0xf6b9('0x4b')][_0xf6b9('0x6f')]({'where':{'id':_0x56703c[_0xf6b9('0x63')]['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0x37839a,null))[_0xf6b9('0x11')](function(_0x199d11){if(_0x199d11){_0x3d6eac[_0xf6b9('0x4f')]=_[_0xf6b9('0x64')](db[_0xf6b9('0x84')]['rawAttributes']);_0x3d6eac['query']=_[_0xf6b9('0x64')](_0x56703c[_0xf6b9('0x50')]);_0x3d6eac[_0xf6b9('0x5a')]=_[_0xf6b9('0x52')](_0x3d6eac[_0xf6b9('0x4f')],_0x3d6eac[_0xf6b9('0x50')]);_0x1e8621[_0xf6b9('0x51')]=_[_0xf6b9('0x52')](_0x3d6eac[_0xf6b9('0x4f')],qs[_0xf6b9('0x53')](_0x56703c['query']['fields']));_0x1e8621[_0xf6b9('0x51')]=_0x1e8621[_0xf6b9('0x51')][_0xf6b9('0x54')]?_0x1e8621[_0xf6b9('0x51')]:_0x3d6eac[_0xf6b9('0x4f')];if(!_0x56703c[_0xf6b9('0x50')][_0xf6b9('0x55')]('nolimit')){_0x1e8621[_0xf6b9('0x20')]=qs[_0xf6b9('0x20')](_0x56703c[_0xf6b9('0x50')][_0xf6b9('0x20')]);_0x1e8621['offset']=qs[_0xf6b9('0x1f')](_0x56703c[_0xf6b9('0x50')][_0xf6b9('0x1f')]);}_0x1e8621[_0xf6b9('0x57')]=qs[_0xf6b9('0x58')](_0x56703c[_0xf6b9('0x50')]['sort']);_0x1e8621[_0xf6b9('0x59')]=qs[_0xf6b9('0x5a')](_['pick'](_0x56703c['query'],_0x3d6eac[_0xf6b9('0x5a')]));_0x1e8621['where'][_0xf6b9('0x72')]=_0x199d11['id'];if(_0x56703c[_0xf6b9('0x50')][_0xf6b9('0x5b')]){_0x1e8621['where']=_['merge'](_0x1e8621[_0xf6b9('0x59')],{'$or':_[_0xf6b9('0x4a')](_0x1e8621[_0xf6b9('0x51')],function(_0x29473d){var _0x10ea30={};_0x10ea30[_0x29473d]={'$like':'%'+_0x56703c[_0xf6b9('0x50')][_0xf6b9('0x5b')]+'%'};return _0x10ea30;})});}_0x1e8621=_['merge']({},_0x1e8621,_0x56703c[_0xf6b9('0x5e')]);return db[_0xf6b9('0x84')]['count']({'where':_0x1e8621[_0xf6b9('0x59')]})['then'](function(_0x42289c){_0x4dbaca[_0xf6b9('0x22')]=_0x42289c;if(_0x56703c[_0xf6b9('0x50')][_0xf6b9('0x5f')]){_0x1e8621[_0xf6b9('0x65')]=[{'model':db[_0xf6b9('0x87')],'as':_0xf6b9('0x88'),'required':![]},{'model':db['User'],'as':_0xf6b9('0x89'),'attributes':['name',_0xf6b9('0x8a'),_0xf6b9('0x8b')],'required':![]},{'model':db['Tag'],'as':_0xf6b9('0x8c'),'attributes':['id',_0xf6b9('0x2a'),'color'],'where':_0x56703c[_0xf6b9('0x50')][_0xf6b9('0x8d')]?{'id':_0x56703c[_0xf6b9('0x50')][_0xf6b9('0x8d')]}:undefined,'required':_0x56703c[_0xf6b9('0x50')]['tag']?!![]:![]}];}return db[_0xf6b9('0x84')][_0xf6b9('0x60')](_0x1e8621);})[_0xf6b9('0x11')](function(_0x238f85){_0x4dbaca[_0xf6b9('0x61')]=_0x238f85;return _0x4dbaca;});}})[_0xf6b9('0x11')](respondWithFilteredResult(_0x37839a,_0x1e8621))[_0xf6b9('0x1a')](handleError(_0x37839a,null));};exports[_0xf6b9('0x8e')]=function addApplications(_0xcac619,_0x5d81b5){var _0x1f62fa=_0xcac619[_0xf6b9('0x63')]['id'];var _0x56167d=_0xcac619[_0xf6b9('0x67')];var _0x449e9b=0xc8;var _0x2fcfa1=null;return db[_0xf6b9('0x8f')]['transaction']({'isolationLevel':db[_0xf6b9('0x8f')][_0xf6b9('0x90')][_0xf6b9('0x91')][_0xf6b9('0x92')]},function(_0xe62ae){return db[_0xf6b9('0x4b')]['findOne']({'where':{'id':_0x1f62fa},'transaction':_0xe62ae})[_0xf6b9('0x11')](function(_0x32f174){if(_0x32f174){return db[_0xf6b9('0x93')][_0xf6b9('0x25')]({'where':{'MailAccountId':_0x1f62fa},'transaction':_0xe62ae})['then'](function(){var _0x2a9deb=_[_0xf6b9('0x4a')](_0x56167d,function(_0x5d36c6){_0x5d36c6['MailAccountId']=_0x1f62fa;return _0x5d36c6;});return db['MailApplication']['bulkCreate'](_0x2a9deb,{'transaction':_0xe62ae});});}else{_0x449e9b=0x194;_0x2fcfa1=[];}});})['then'](function(){if(_0x449e9b!==0x194){return db[_0xf6b9('0x93')]['findAndCountAll']({'where':{'MailAccountId':_0x1f62fa},'order':'priority'})[_0xf6b9('0x11')](function(_0x5e1b13){_0x2fcfa1=_0x5e1b13;});}})[_0xf6b9('0x1a')](function(_0x24f793){_0x449e9b=0x1f4;logger[_0xf6b9('0x17')](_0x24f793[_0xf6b9('0x29')]);if(_0x24f793['name']){delete _0x24f793[_0xf6b9('0x2a')];}_0x2fcfa1=_0x24f793;})[_0xf6b9('0x94')](function(){if(_0x2fcfa1===null){_0x5d81b5[_0xf6b9('0x1b')](_0x449e9b);}else{if(_0x449e9b===0x1f4){_0x5d81b5[_0xf6b9('0x1c')](_0x449e9b)[_0xf6b9('0x2b')](_0x2fcfa1);}else{_0x5d81b5[_0xf6b9('0x1c')](_0x449e9b)[_0xf6b9('0x1e')](_0x2fcfa1);}}});};exports[_0xf6b9('0x95')]=function(_0xf85ed1,_0x3c9456){var _0x3a5345={};var _0x32afcc={};var _0x5d7e3c;var _0x18a44c;return db[_0xf6b9('0x4b')][_0xf6b9('0x6f')]({'where':{'id':_0xf85ed1[_0xf6b9('0x63')]['id']}})['then'](handleEntityNotFound(_0x3c9456,null))[_0xf6b9('0x11')](function(_0xbf9422){if(_0xbf9422){_0x5d7e3c=_0xbf9422;_0x32afcc[_0xf6b9('0x4f')]=_['keys'](db[_0xf6b9('0x93')]['rawAttributes']);_0x32afcc[_0xf6b9('0x50')]=_[_0xf6b9('0x64')](_0xf85ed1[_0xf6b9('0x50')]);_0x32afcc['filters']=_['intersection'](_0x32afcc[_0xf6b9('0x4f')],_0x32afcc[_0xf6b9('0x50')]);_0x3a5345[_0xf6b9('0x51')]=_['intersection'](_0x32afcc[_0xf6b9('0x4f')],qs[_0xf6b9('0x53')](_0xf85ed1[_0xf6b9('0x50')][_0xf6b9('0x53')]));_0x3a5345['attributes']=_0x3a5345[_0xf6b9('0x51')][_0xf6b9('0x54')]?_0x3a5345[_0xf6b9('0x51')]:_0x32afcc['model'];_0x3a5345[_0xf6b9('0x57')]=qs[_0xf6b9('0x58')](_0xf85ed1[_0xf6b9('0x50')][_0xf6b9('0x58')]);_0x3a5345[_0xf6b9('0x59')]=qs[_0xf6b9('0x5a')](_['pick'](_0xf85ed1['query'],_0x32afcc[_0xf6b9('0x5a')]));if(_0xf85ed1[_0xf6b9('0x50')][_0xf6b9('0x5b')]){_0x3a5345['where']=_[_0xf6b9('0x5c')](_0x3a5345[_0xf6b9('0x59')],{'$or':_[_0xf6b9('0x4a')](_0x3a5345[_0xf6b9('0x51')],function(_0x336be0){var _0x3b3e9d={};_0x3b3e9d[_0x336be0]={'$like':'%'+_0xf85ed1['query'][_0xf6b9('0x5b')]+'%'};return _0x3b3e9d;})});}_0x3a5345=_[_0xf6b9('0x5c')]({},_0x3a5345,_0xf85ed1[_0xf6b9('0x5e')]);return _0x5d7e3c['getApplications'](_0x3a5345);}})[_0xf6b9('0x11')](function(_0x1543f4){if(_0x1543f4){_0x18a44c=_0x1543f4[_0xf6b9('0x54')];if(!_0xf85ed1[_0xf6b9('0x50')][_0xf6b9('0x55')](_0xf6b9('0x56'))){_0x3a5345['limit']=qs[_0xf6b9('0x20')](_0xf85ed1[_0xf6b9('0x50')][_0xf6b9('0x20')]);_0x3a5345[_0xf6b9('0x1f')]=qs['offset'](_0xf85ed1[_0xf6b9('0x50')][_0xf6b9('0x1f')]);}return _0x5d7e3c[_0xf6b9('0x95')](_0x3a5345);}})['then'](function(_0x1f4811){if(_0x1f4811){return _0x1f4811?{'count':_0x18a44c,'rows':_0x1f4811}:null;}})[_0xf6b9('0x11')](respondWithResult(_0x3c9456,null))['catch'](handleError(_0x3c9456,null));};exports[_0xf6b9('0x96')]=function(_0x4bf9fb,_0x4a5e47){var _0x419a03={'raw':!![],'where':{}};var _0x50cf66={};var _0x2d3d12={'count':0x0,'rows':[]};return db[_0xf6b9('0x4b')][_0xf6b9('0x6f')]({'where':{'id':_0x4bf9fb[_0xf6b9('0x63')]['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0x4a5e47,null))[_0xf6b9('0x11')](function(_0x4209e9){if(_0x4209e9){_0x50cf66[_0xf6b9('0x4f')]=_[_0xf6b9('0x64')](db[_0xf6b9('0x97')][_0xf6b9('0x70')]);_0x50cf66['query']=_[_0xf6b9('0x64')](_0x4bf9fb[_0xf6b9('0x50')]);_0x50cf66['filters']=_['intersection'](_0x50cf66[_0xf6b9('0x4f')],_0x50cf66['query']);_0x419a03[_0xf6b9('0x51')]=_[_0xf6b9('0x52')](_0x50cf66[_0xf6b9('0x4f')],qs[_0xf6b9('0x53')](_0x4bf9fb['query'][_0xf6b9('0x53')]));_0x419a03[_0xf6b9('0x51')]=_0x419a03['attributes'][_0xf6b9('0x54')]?_0x419a03[_0xf6b9('0x51')]:_0x50cf66[_0xf6b9('0x4f')];if(!_0x4bf9fb[_0xf6b9('0x50')]['hasOwnProperty'](_0xf6b9('0x56'))){_0x419a03['limit']=qs[_0xf6b9('0x20')](_0x4bf9fb[_0xf6b9('0x50')]['limit']);_0x419a03[_0xf6b9('0x1f')]=qs[_0xf6b9('0x1f')](_0x4bf9fb[_0xf6b9('0x50')][_0xf6b9('0x1f')]);}_0x419a03['order']=qs[_0xf6b9('0x58')](_0x4bf9fb[_0xf6b9('0x50')]['sort']);_0x419a03['where']=qs[_0xf6b9('0x5a')](_[_0xf6b9('0x71')](_0x4bf9fb[_0xf6b9('0x50')],_0x50cf66[_0xf6b9('0x5a')]));_0x419a03[_0xf6b9('0x59')]['MailAccountId']=_0x4209e9['id'];if(_0x4bf9fb[_0xf6b9('0x50')][_0xf6b9('0x5b')]){_0x419a03['where']=_[_0xf6b9('0x5c')](_0x419a03[_0xf6b9('0x59')],{'$or':_[_0xf6b9('0x4a')](_0x419a03[_0xf6b9('0x51')],function(_0x2ea8ad){var _0x5d7709={};_0x5d7709[_0x2ea8ad]={'$like':'%'+_0x4bf9fb[_0xf6b9('0x50')][_0xf6b9('0x5b')]+'%'};return _0x5d7709;})});}if(_0x4bf9fb['query'][_0xf6b9('0x98')]){var _0x3dd025=_0x4bf9fb[_0xf6b9('0x50')][_0xf6b9('0x98')][_0xf6b9('0x99')](',');var _0x35b20d={};_0x35b20d[_0x3dd025[0x0]]={'$gte':moment(_0x3dd025[0x1])['format']('YYYY-MM-DD\x20HH:mm:ss')};_0x419a03[_0xf6b9('0x59')]=_[_0xf6b9('0x5c')](_0x419a03[_0xf6b9('0x59')],_0x35b20d);}_0x419a03=_['merge']({},_0x419a03,_0x4bf9fb['options']);return db[_0xf6b9('0x97')][_0xf6b9('0x22')]({'where':_0x419a03['where']})[_0xf6b9('0x11')](function(_0x479d94){_0x2d3d12['count']=_0x479d94;if(_0x4bf9fb['query'][_0xf6b9('0x5f')]){_0x419a03[_0xf6b9('0x65')]=[{'all':!![]}];}return db[_0xf6b9('0x97')][_0xf6b9('0x60')](_0x419a03);})['then'](function(_0x1e30a1){if(_0x4bf9fb[_0xf6b9('0x50')][_0xf6b9('0x9a')]===_0xf6b9('0x9b')){for(var _0x9283ad=0x0;_0x9283ad<_0x1e30a1[_0xf6b9('0x54')];_0x9283ad++){_0x1e30a1[_0x9283ad]['body']=juice(_0x1e30a1[_0x9283ad]['body']);}}_0x2d3d12[_0xf6b9('0x61')]=_0x1e30a1;return _0x2d3d12;});}})[_0xf6b9('0x11')](respondWithFilteredResult(_0x4a5e47,_0x419a03))[_0xf6b9('0x1a')](handleError(_0x4a5e47,null));};exports[_0xf6b9('0x2b')]=function(_0x536628,_0x3eebfe){var _0xa2268e,_0x354932={},_0x53f180;if(_0x536628[_0xf6b9('0x67')]['to']){_0x53f180=_0x536628[_0xf6b9('0x67')]['to'][_0xf6b9('0x99')](',')[0x0];}return db['MailAccount']['find']({'where':{'id':_0x536628[_0xf6b9('0x63')]['id']},'include':[{'model':db['CmList'],'as':_0xf6b9('0x9c'),'include':[{'model':db[_0xf6b9('0x87')],'as':_0xf6b9('0x9d'),'where':{'email':_0x53f180},'limit':0x1,'order':[['updatedAt',_0xf6b9('0x9e')]]}]},{'model':db[_0xf6b9('0x48')],'as':'Smtp','raw':!![],'include':[{'model':db[_0xf6b9('0x9f')],'as':_0xf6b9('0x9f'),'raw':!![]}]}]})[_0xf6b9('0x11')](handleEntityNotFound(_0x3eebfe,null))[_0xf6b9('0x11')](function(_0x390a53){if(!_0x390a53)return;_0xa2268e=_0x390a53;if(!_0x390a53['Smtp'])throw new Error(_0xf6b9('0xa0'));if(_[_0xf6b9('0xa1')](_0x536628[_0xf6b9('0x67')][_0xf6b9('0xa2')])){_0x536628[_0xf6b9('0x67')][_0xf6b9('0xa2')]=util[_0xf6b9('0xa3')](_0xf6b9('0xa4'),_0x390a53[_0xf6b9('0x2a')],_0x390a53[_0xf6b9('0x78')]||_0x390a53['Smtp'][_0xf6b9('0x39')]);}if(_0x536628['body']['attachments']&&_0x536628['body'][_0xf6b9('0xa5')][_0xf6b9('0x54')]){for(var _0x48ee3f=0x0;_0x48ee3f<_0x536628[_0xf6b9('0x67')][_0xf6b9('0xa5')]['length'];_0x48ee3f+=0x1){_0x536628[_0xf6b9('0x67')]['attachments'][_0x48ee3f]={'filename':_0x536628['body'][_0xf6b9('0xa5')][_0x48ee3f][_0xf6b9('0x2a')],'path':path[_0xf6b9('0xa6')](config[_0xf6b9('0xa7')],_0xf6b9('0xa8'),_0x536628[_0xf6b9('0x67')][_0xf6b9('0xa5')][_0x48ee3f][_0xf6b9('0xa9')])};}}var _0x31115d=_0x390a53[_0xf6b9('0xaa')]();return respondWithRpcPromise(_0xf6b9('0xab'),'sendMail',{'account':_0x31115d,'message':_0x536628[_0xf6b9('0x67')]});})[_0xf6b9('0x11')](function(_0x157324){if(!_0x157324)return;_0x354932=_0x157324;if(!_0xa2268e[_0xf6b9('0x9c')])throw new Error(_0xf6b9('0xac'));if(_0xa2268e[_0xf6b9('0x9c')]['Contacts'][_0xf6b9('0x54')])return _0xa2268e['List']['Contacts'][0x0];return db['CmContact']['create'](_[_0xf6b9('0xa')](_0x536628[_0xf6b9('0x67')],{'firstName':_0x536628['body']['to'],'email':_0x536628['body']['to'],'phone':_0x536628['body']['to'],'ListId':_0xa2268e[_0xf6b9('0xad')]}));})[_0xf6b9('0x11')](function(_0x3e961d){if(!_0x3e961d)return;var _0x1cfce1={'UserId':_0x536628[_0xf6b9('0x39')]['id'],'ContactId':_0x3e961d['id'],'MailAccountId':_0xa2268e['id'],'inReplyTo':_0x354932[_0xf6b9('0xae')],'to':_0x536628['body'][_0xf6b9('0xa2')],'cc':_0x536628[_0xf6b9('0x67')]['cc'],'subject':_0x536628[_0xf6b9('0x67')][_0xf6b9('0xaf')],'attach':_0x536628[_0xf6b9('0x67')]['attach'],'firstMsgDirection':'out','lastMsgAt':moment()['format'](_0xf6b9('0xb0')),'lastMsgDirection':_0xf6b9('0xb1'),'Messages':[_[_0xf6b9('0x5c')](_0x536628['body'],{'messageId':_0x354932[_0xf6b9('0xae')],'sentAt':moment()[_0xf6b9('0xa3')]('YYYY-MM-DD\x20HH:mm:ss'),'read':!![],'MailAccountId':_0xa2268e['id'],'UserId':_0x536628[_0xf6b9('0x39')]['id'],'ContactId':_0x3e961d['id']})]};if(_0x536628['body']['Interaction']){_0x1cfce1=_[_0xf6b9('0x5c')](_0x1cfce1,_0x536628[_0xf6b9('0x67')][_0xf6b9('0xb2')]);}return db['MailInteraction'][_0xf6b9('0x6e')](_0x1cfce1,{'include':[{'model':db['MailMessage'],'as':_0xf6b9('0xb3')}]});})[_0xf6b9('0x11')](respondWithResult(_0x3eebfe,null))['catch'](handleError(_0x3eebfe,null));};exports['verifySmtp']=function(_0x488bf3,_0x85a74e){return db[_0xf6b9('0x4b')]['find']({'where':{'id':_0x488bf3[_0xf6b9('0x63')]['id']},'include':[{'model':db[_0xf6b9('0x48')],'as':'Smtp','raw':!![],'include':[{'model':db[_0xf6b9('0x9f')],'as':_0xf6b9('0x9f'),'raw':!![]}]}]})['then'](handleEntityNotFound(_0x85a74e,null))[_0xf6b9('0x11')](function(_0x138a4d){if(!_0x138a4d['Smtp'])return;var _0x560e50=_0x138a4d[_0xf6b9('0xaa')]();return respondWithRpcPromise(_0xf6b9('0xb4'),_0xf6b9('0xb5'),{'account':_0x560e50});})[_0xf6b9('0x11')](respondWithResult(_0x85a74e,null))[_0xf6b9('0x1a')](handleError(_0x85a74e,null));};exports[_0xf6b9('0x25')]=function(_0x441b55,_0x23a6a6){return db[_0xf6b9('0x4b')][_0xf6b9('0x66')]({'where':{'id':_0x441b55[_0xf6b9('0x63')]['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0x23a6a6,null))['then'](function(_0x345752){if(_0x345752&&_0x345752[_0xf6b9('0x42')]){throw new db[(_0xf6b9('0xb6'))][(_0xf6b9('0xb7'))](_0xf6b9('0xb8'));}return _0x345752;})[_0xf6b9('0x11')](removeEntity(_0x23a6a6,null))[_0xf6b9('0x1a')](handleError(_0x23a6a6,null));};exports[_0xf6b9('0xb9')]=function(_0x21d1db,_0x35f3e5){return db['MailAccount'][_0xf6b9('0x66')]({'where':{'id':_0x21d1db[_0xf6b9('0x63')]['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0x35f3e5,null))[_0xf6b9('0x11')](function(_0xc15992){if(_0xc15992){return _0xc15992[_0xf6b9('0xb9')](_0x21d1db[_0xf6b9('0x67')]['ids'],_[_0xf6b9('0x86')](_0x21d1db[_0xf6b9('0x67')],['ids','id'])||{})[_0xf6b9('0xba')](function(_0x19946e){for(var _0x21ee64=0x0;_0x21ee64<_0x21d1db[_0xf6b9('0x67')]['ids']['length'];_0x21ee64+=0x1){socket['emit'](_0xf6b9('0xbb'),{'UserId':Number(_0x21d1db[_0xf6b9('0x67')]['ids'][_0x21ee64]),'MailAccountId':Number(_0x21d1db[_0xf6b9('0x63')]['id'])});}return _0x19946e;});}})[_0xf6b9('0x11')](respondWithResult(_0x35f3e5,null))[_0xf6b9('0x1a')](handleError(_0x35f3e5,null));};exports[_0xf6b9('0xbc')]=function(_0x3947e8,_0xa15360){return db['MailAccount'][_0xf6b9('0x66')]({'where':{'id':_0x3947e8['params']['id']}})[_0xf6b9('0x11')](handleEntityNotFound(_0xa15360,null))['then'](function(_0x4c721e){if(_0x4c721e){return _0x4c721e[_0xf6b9('0xbc')](_0x3947e8[_0xf6b9('0x50')]['ids'])[_0xf6b9('0x11')](function(){if(_['isArray'](_0x3947e8[_0xf6b9('0x50')][_0xf6b9('0x85')])){for(var _0x5545da=0x0;_0x5545da<_0x3947e8['query']['ids'][_0xf6b9('0x54')];_0x5545da+=0x1){socket['emit'](_0xf6b9('0xbd'),{'UserId':Number(_0x3947e8[_0xf6b9('0x50')][_0xf6b9('0x85')][_0x5545da]),'MailAccountId':Number(_0x3947e8[_0xf6b9('0x63')]['id'])});}}else{socket['emit'](_0xf6b9('0xbd'),{'UserId':Number(_0x3947e8[_0xf6b9('0x50')][_0xf6b9('0x85')]),'MailAccountId':Number(_0x3947e8[_0xf6b9('0x63')]['id'])});}});}})[_0xf6b9('0x11')](respondWithStatusCode(_0xa15360,null))['catch'](handleError(_0xa15360,null));};exports[_0xf6b9('0xbe')]=function(_0xcb5d0c,_0x703b50){var _0xed040d={};var _0x295ab4={};var _0x112969;var _0x9762fb;return db[_0xf6b9('0x4b')][_0xf6b9('0x6f')]({'where':{'id':_0xcb5d0c[_0xf6b9('0x63')]['id']}})['then'](handleEntityNotFound(_0x703b50,null))['then'](function(_0x58359b){if(_0x58359b){_0x112969=_0x58359b;_0x295ab4[_0xf6b9('0x4f')]=_['keys'](db['User']['rawAttributes']);_0x295ab4[_0xf6b9('0x50')]=_[_0xf6b9('0x64')](_0xcb5d0c[_0xf6b9('0x50')]);_0x295ab4[_0xf6b9('0x5a')]=_['intersection'](_0x295ab4['model'],_0x295ab4[_0xf6b9('0x50')]);_0xed040d[_0xf6b9('0x51')]=_[_0xf6b9('0x52')](_0x295ab4[_0xf6b9('0x4f')],qs[_0xf6b9('0x53')](_0xcb5d0c[_0xf6b9('0x50')][_0xf6b9('0x53')]));_0xed040d[_0xf6b9('0x51')]=_0xed040d[_0xf6b9('0x51')][_0xf6b9('0x54')]?_0xed040d[_0xf6b9('0x51')]:_0x295ab4[_0xf6b9('0x4f')];_0xed040d[_0xf6b9('0x57')]=qs['sort'](_0xcb5d0c[_0xf6b9('0x50')][_0xf6b9('0x58')]);_0xed040d[_0xf6b9('0x59')]=qs[_0xf6b9('0x5a')](_['pick'](_0xcb5d0c[_0xf6b9('0x50')],_0x295ab4[_0xf6b9('0x5a')]));if(_0xcb5d0c[_0xf6b9('0x50')][_0xf6b9('0x5b')]){_0xed040d['where']=_['merge'](_0xed040d[_0xf6b9('0x59')],{'$or':_[_0xf6b9('0x4a')](_0xed040d['attributes'],function(_0x34c46d){var _0x499725={};_0x499725[_0x34c46d]={'$like':'%'+_0xcb5d0c[_0xf6b9('0x50')][_0xf6b9('0x5b')]+'%'};return _0x499725;})});}_0xed040d=_[_0xf6b9('0x5c')]({},_0xed040d,_0xcb5d0c[_0xf6b9('0x5e')]);return _0x112969['getAgents'](_0xed040d);}})[_0xf6b9('0x11')](function(_0x5648d9){if(_0x5648d9){_0x9762fb=_0x5648d9[_0xf6b9('0x54')];if(!_0xcb5d0c[_0xf6b9('0x50')][_0xf6b9('0x55')]('nolimit')){_0xed040d[_0xf6b9('0x20')]=qs[_0xf6b9('0x20')](_0xcb5d0c[_0xf6b9('0x50')][_0xf6b9('0x20')]);_0xed040d['offset']=qs[_0xf6b9('0x1f')](_0xcb5d0c[_0xf6b9('0x50')][_0xf6b9('0x1f')]);}return _0x112969['getAgents'](_0xed040d);}})['then'](function(_0x548949){if(_0x548949){return _0x548949?{'count':_0x9762fb,'rows':_0x548949}:null;}})[_0xf6b9('0x11')](respondWithResult(_0x703b50,null))['catch'](handleError(_0x703b50,null));};