6ac6b1f12d64e8ab53dbd1a3141a36ef1d8070e9
[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 _0x0e5c=['../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','socket.io-emitter','redis','register','jayson/promise','client','request','then','info','MailAccount,\x20%s,\x20%s','MailAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','catch','sendStatus','end','status','json','offset','undefined','limit','count','Content-Range','update','destroy','get','MailAccounts','UserProfileResource','stack','name','send','gmail','imap.mail.yahoo.com','imap-mail.outlook.com','outlook365','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp.gmail.com','yahoo','smtp.mail.yahoo.com','hotmail','smtp-mail.outlook.com','smtp.office365.com','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','service','authentication','Imap','Smtp','index','MailServerIn','MailServerOut','Pause','mandatoryDispositionPause','MailAccount','rawAttributes','type','key','model','map','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','includeAll','include','rows','params','length','options','find','body','provider','custom','secure','Mail\x20Account\x20not\x20found','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','pick','findAll','removeDispositions','ids','addAnswer','CannedAnswer','removeAnswers','ListId','isNil','active','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','MailInteraction','addInteraction','omit','CmContact','Contact','User','Owner','fullname','internal','Tags','tag','addApplications','sequelize','transaction','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','finally','getApplications','getMessages','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','MailMessage','inlineCss','true','List','Contacts','updatedAt','DESC','CloudProvider','from','%s\x20<%s>','email','attachments','join','server/files/attachments','basename','getSmtpOptions','SendMail','sendMail','List\x20not\x20found','defaults','messageId','attach','out','Interaction','Messages','verifySmtp','VerifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','removeAgents','isArray','userMailAccount:remove','bluebird','util','path','lodash','juice'];(function(_0xf03704,_0x405597){var _0x2e1e39=function(_0x744087){while(--_0x744087){_0xf03704['push'](_0xf03704['shift']());}};_0x2e1e39(++_0x405597);}(_0x0e5c,0xbb));var _0xc0e5=function(_0x54c10d,_0x2f2251){_0x54c10d=_0x54c10d-0x0;var _0x1fa703=_0x0e5c[_0x54c10d];return _0x1fa703;};'use strict';var moment=require('moment');var BPromise=require(_0xc0e5('0x0'));var util=require(_0xc0e5('0x1'));var path=require(_0xc0e5('0x2'));var _=require(_0xc0e5('0x3'));var juice=require(_0xc0e5('0x4'));var Redis=require('ioredis');var qs=require(_0xc0e5('0x5'));var logger=require(_0xc0e5('0x6'))(_0xc0e5('0x7'));var config=require(_0xc0e5('0x8'));var db=require(_0xc0e5('0x9'))['db'];config['redis']=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xc0e5('0xa'))(new Redis(config[_0xc0e5('0xb')]));require('./mailAccount.socket')[_0xc0e5('0xc')](socket);var jayson=require(_0xc0e5('0xd'));var client=jayson[_0xc0e5('0xe')]['http']({'port':0x232b});function respondWithRpcPromise(_0x68945d,_0x11d99d,_0x17ee98,_0x5121c6){return new BPromise(function(_0x2665d1,_0x4177a0){var _0x34bdf9=_0x5121c6||client;return _0x34bdf9[_0xc0e5('0xf')](_0x68945d,_0x17ee98)[_0xc0e5('0x10')](function(_0x150097){logger[_0xc0e5('0x11')](_0xc0e5('0x12'),_0x11d99d,'request\x20sent');logger['debug'](_0xc0e5('0x13'),_0x11d99d,_0xc0e5('0x14'),JSON[_0xc0e5('0x15')](_0x150097));if(_0x150097[_0xc0e5('0x16')]){if(_0x150097[_0xc0e5('0x16')][_0xc0e5('0x17')]===0x1f4){logger[_0xc0e5('0x16')](_0xc0e5('0x12'),_0x11d99d,_0x150097[_0xc0e5('0x16')]['message']);return _0x4177a0(_0x150097[_0xc0e5('0x16')][_0xc0e5('0x18')]);}logger[_0xc0e5('0x16')]('MailAccount,\x20%s,\x20%s',_0x11d99d,_0x150097[_0xc0e5('0x16')][_0xc0e5('0x18')]);return _0x2665d1(_0x150097[_0xc0e5('0x16')][_0xc0e5('0x18')]);}else{logger['info'](_0xc0e5('0x12'),_0x11d99d,_0xc0e5('0x14'));_0x2665d1(_0x150097['result'][_0xc0e5('0x18')]);}})[_0xc0e5('0x19')](function(_0x263ac4){logger[_0xc0e5('0x16')](_0xc0e5('0x12'),_0x11d99d,_0x263ac4);_0x4177a0(_0x263ac4);});});}function respondWithStatusCode(_0xec2e3b,_0x129bae){_0x129bae=_0x129bae||0xcc;return function(_0x1993fb){if(_0x1993fb){return _0xec2e3b[_0xc0e5('0x1a')](_0x129bae);}return _0xec2e3b['status'](_0x129bae)[_0xc0e5('0x1b')]();};}function respondWithResult(_0x1ce37d,_0x5643e9){_0x5643e9=_0x5643e9||0xc8;return function(_0x4d9c38){if(_0x4d9c38){return _0x1ce37d[_0xc0e5('0x1c')](_0x5643e9)[_0xc0e5('0x1d')](_0x4d9c38);}};}function respondWithFilteredResult(_0x4cdb17,_0x3aa3b){return function(_0x1a5b29){if(_0x1a5b29){var _0x35a94a=typeof _0x3aa3b[_0xc0e5('0x1e')]===_0xc0e5('0x1f')&&typeof _0x3aa3b[_0xc0e5('0x20')]===_0xc0e5('0x1f');var _0xfdb4a9=_0x1a5b29[_0xc0e5('0x21')];var _0x1979fc=_0x35a94a?0x0:_0x3aa3b[_0xc0e5('0x1e')];var _0x4d2e2b=_0x35a94a?_0x1a5b29[_0xc0e5('0x21')]:_0x3aa3b[_0xc0e5('0x1e')]+_0x3aa3b[_0xc0e5('0x20')];var _0x93deef;if(_0x4d2e2b>=_0xfdb4a9){_0x4d2e2b=_0xfdb4a9;_0x93deef=0xc8;}else{_0x93deef=0xce;}_0x4cdb17[_0xc0e5('0x1c')](_0x93deef);return _0x4cdb17['set'](_0xc0e5('0x22'),_0x1979fc+'-'+_0x4d2e2b+'/'+_0xfdb4a9)['json'](_0x1a5b29);}return null;};}function saveUpdates(_0x1ab74f){return function(_0xb2cee9){if(_0xb2cee9){return _0xb2cee9[_0xc0e5('0x23')](_0x1ab74f)[_0xc0e5('0x10')](function(_0x2cb54b){return _0x2cb54b;});}return null;};}function removeEntity(_0xdbaa9e){return function(_0x8fafee){if(_0x8fafee){return _0x8fafee[_0xc0e5('0x24')]()['then'](function(){var _0x12fbc9=_0x8fafee[_0xc0e5('0x25')]({'plain':!![]});var _0x30beae=_0xc0e5('0x26');return db[_0xc0e5('0x27')]['destroy']({'where':{'type':_0x30beae,'resourceId':_0x12fbc9['id']}})[_0xc0e5('0x10')](function(){return _0x8fafee;});})[_0xc0e5('0x10')](function(){_0xdbaa9e['status'](0xcc)[_0xc0e5('0x1b')]();});}};}function handleEntityNotFound(_0x34d12c){return function(_0x1532af){if(!_0x1532af){_0x34d12c[_0xc0e5('0x1a')](0x194);}return _0x1532af;};}function handleError(_0x15fac5,_0x4b3c14){_0x4b3c14=_0x4b3c14||0x1f4;return function(_0x5238ed){logger['error'](_0x5238ed[_0xc0e5('0x28')]);if(_0x5238ed[_0xc0e5('0x29')]){delete _0x5238ed[_0xc0e5('0x29')];}_0x15fac5[_0xc0e5('0x1c')](_0x4b3c14)[_0xc0e5('0x2a')](_0x5238ed);};}function getImapHost(_0x37eaa1){switch(_0x37eaa1){case _0xc0e5('0x2b'):return'imap.gmail.com';case'yahoo':return _0xc0e5('0x2c');case'hotmail':return _0xc0e5('0x2d');case _0xc0e5('0x2e'):return _0xc0e5('0x2f');}throw new Error(_0xc0e5('0x30'),_0x37eaa1);}function getSmtpHost(_0xfdeee2){switch(_0xfdeee2){case _0xc0e5('0x2b'):return _0xc0e5('0x31');case _0xc0e5('0x32'):return _0xc0e5('0x33');case _0xc0e5('0x34'):return _0xc0e5('0x35');case'outlook365':return _0xc0e5('0x36');}throw new Error(_0xc0e5('0x30'),_0xfdeee2);}function getAuthenticationOptions(_0x365d4e,_0x8c51f8){var _0x144491={};var _0x3c07fd={};if(_0x365d4e){_0x144491[_0xc0e5('0x37')]=_0x3c07fd[_0xc0e5('0x37')]=_0x8c51f8[_0xc0e5('0x38')];_0x144491[_0xc0e5('0x39')]=_0x3c07fd[_0xc0e5('0x3a')]=_0x8c51f8[_0xc0e5('0x39')];if(_0x8c51f8[_0xc0e5('0x3b')]){_0x144491[_0xc0e5('0x3b')]=_0x3c07fd['modernAuthentication']=!![];_0x144491[_0xc0e5('0x3c')]=_0x3c07fd[_0xc0e5('0x3c')]=_0x8c51f8[_0xc0e5('0x3c')];_0x144491[_0xc0e5('0x39')]=_0x3c07fd['pass']=null;}else{_0x144491[_0xc0e5('0x3c')]=_0x3c07fd[_0xc0e5('0x3c')]=null;}_0x144491[_0xc0e5('0x3d')]=getImapHost(_0x365d4e);_0x144491[_0xc0e5('0x3e')]=0x3e1;_0x3c07fd[_0xc0e5('0x3d')]=getSmtpHost(_0x365d4e);_0x3c07fd[_0xc0e5('0x3e')]=0x24b;_0x3c07fd['secure']=![];_0x144491[_0xc0e5('0x3f')]=_0x3c07fd[_0xc0e5('0x3f')]=null;}else{if(_0x8c51f8['authentication']){_0x144491['user']=_0x3c07fd[_0xc0e5('0x37')]=_0x8c51f8[_0xc0e5('0x38')];_0x144491[_0xc0e5('0x39')]=_0x3c07fd[_0xc0e5('0x3a')]=_0x8c51f8[_0xc0e5('0x39')];}else{_0x144491[_0xc0e5('0x40')]=_0x3c07fd['authentication']=![];_0x144491['user']=_0x3c07fd[_0xc0e5('0x37')]=null;_0x144491[_0xc0e5('0x39')]=_0x3c07fd['pass']=null;}_0x144491[_0xc0e5('0x3d')]=_0x8c51f8[_0xc0e5('0x41')][_0xc0e5('0x3d')];_0x144491[_0xc0e5('0x3e')]=_0x8c51f8[_0xc0e5('0x41')][_0xc0e5('0x3e')];_0x3c07fd['host']=_0x8c51f8['Smtp'][_0xc0e5('0x3d')];_0x3c07fd[_0xc0e5('0x3e')]=_0x8c51f8[_0xc0e5('0x42')]['port'];}return{'Imap':_0x144491,'Smtp':_0x3c07fd};}exports[_0xc0e5('0x43')]=function(_0x2550cd,_0xcd4fc2){var _0x21b69d={'include':[{'model':db[_0xc0e5('0x44')],'as':_0xc0e5('0x41')},{'model':db[_0xc0e5('0x45')],'as':'Smtp'},{'model':db[_0xc0e5('0x46')],'as':_0xc0e5('0x47')}]},_0x3d1913={},_0x1459a6={'count':0x0,'rows':[]};var _0x253d67=_['map'](db[_0xc0e5('0x48')][_0xc0e5('0x49')],function(_0x234706){return{'name':_0x234706['fieldName'],'type':_0x234706[_0xc0e5('0x4a')][_0xc0e5('0x4b')]};});_0x3d1913[_0xc0e5('0x4c')]=_[_0xc0e5('0x4d')](_0x253d67,'name');_0x3d1913[_0xc0e5('0x4e')]=_[_0xc0e5('0x4f')](_0x2550cd[_0xc0e5('0x4e')]);_0x3d1913['filters']=_[_0xc0e5('0x50')](_0x3d1913[_0xc0e5('0x4c')],_0x3d1913[_0xc0e5('0x4e')]);_0x21b69d[_0xc0e5('0x51')]=_[_0xc0e5('0x50')](_0x3d1913[_0xc0e5('0x4c')],qs[_0xc0e5('0x52')](_0x2550cd[_0xc0e5('0x4e')][_0xc0e5('0x52')]));_0x21b69d[_0xc0e5('0x51')]=_0x21b69d[_0xc0e5('0x51')]['length']?_0x21b69d[_0xc0e5('0x51')]:_0x3d1913[_0xc0e5('0x4c')];if(!_0x2550cd['query'][_0xc0e5('0x53')](_0xc0e5('0x54'))){_0x21b69d[_0xc0e5('0x20')]=qs[_0xc0e5('0x20')](_0x2550cd[_0xc0e5('0x4e')][_0xc0e5('0x20')]);_0x21b69d['offset']=qs[_0xc0e5('0x1e')](_0x2550cd[_0xc0e5('0x4e')][_0xc0e5('0x1e')]);}_0x21b69d[_0xc0e5('0x55')]=qs[_0xc0e5('0x56')](_0x2550cd[_0xc0e5('0x4e')]['sort']);_0x21b69d[_0xc0e5('0x57')]=qs[_0xc0e5('0x58')](_['pick'](_0x2550cd['query'],_0x3d1913[_0xc0e5('0x58')]),_0x253d67);if(_0x2550cd['query'][_0xc0e5('0x59')]){_0x21b69d['where']=_[_0xc0e5('0x5a')](_0x21b69d['where'],{'$or':_['map'](_0x253d67,function(_0x212470){if(_0x212470['type']!==_0xc0e5('0x5b')){var _0xc6c659={};_0xc6c659[_0x212470[_0xc0e5('0x29')]]={'$like':'%'+_0x2550cd[_0xc0e5('0x4e')]['filter']+'%'};return _0xc6c659;}})});}_0x21b69d=_[_0xc0e5('0x5a')]({},_0x21b69d,_0x2550cd['options']);var _0x277f42={'where':_0x21b69d['where']};return db[_0xc0e5('0x48')]['count'](_0x277f42)['then'](function(_0x520de9){_0x1459a6[_0xc0e5('0x21')]=_0x520de9;if(_0x2550cd['query'][_0xc0e5('0x5c')]){_0x21b69d[_0xc0e5('0x5d')]=[{'all':!![]}];}return db[_0xc0e5('0x48')]['findAll'](_0x21b69d);})[_0xc0e5('0x10')](function(_0xc65f6e){_0x1459a6[_0xc0e5('0x5e')]=_0xc65f6e;return _0x1459a6;})[_0xc0e5('0x10')](respondWithFilteredResult(_0xcd4fc2,_0x21b69d))[_0xc0e5('0x19')](handleError(_0xcd4fc2,null));};exports['show']=function(_0x4d0390,_0x4dbd0a){var _0x1facf9={'raw':![],'where':{'id':_0x4d0390[_0xc0e5('0x5f')]['id']},'include':[{'model':db[_0xc0e5('0x44')],'as':_0xc0e5('0x41')},{'model':db['MailServerOut'],'as':_0xc0e5('0x42')},{'model':db['Pause'],'as':_0xc0e5('0x47')}]},_0x345793={};_0x345793['model']=_['keys'](db['MailAccount'][_0xc0e5('0x49')]);_0x345793[_0xc0e5('0x4e')]=_['keys'](_0x4d0390[_0xc0e5('0x4e')]);_0x345793['filters']=_[_0xc0e5('0x50')](_0x345793['model'],_0x345793['query']);_0x1facf9[_0xc0e5('0x51')]=_['intersection'](_0x345793[_0xc0e5('0x4c')],qs['fields'](_0x4d0390[_0xc0e5('0x4e')]['fields']));_0x1facf9['attributes']=_0x1facf9[_0xc0e5('0x51')][_0xc0e5('0x60')]?_0x1facf9[_0xc0e5('0x51')]:_0x345793[_0xc0e5('0x4c')];if(_0x4d0390['query']['includeAll']){_0x1facf9['include']=[{'all':!![]}];}_0x1facf9=_[_0xc0e5('0x5a')]({},_0x1facf9,_0x4d0390[_0xc0e5('0x61')]);return db[_0xc0e5('0x48')][_0xc0e5('0x62')](_0x1facf9)[_0xc0e5('0x10')](handleEntityNotFound(_0x4dbd0a,null))[_0xc0e5('0x10')](respondWithResult(_0x4dbd0a,null))[_0xc0e5('0x19')](handleError(_0x4dbd0a,null));};exports[_0xc0e5('0x23')]=function(_0xbacd65,_0x3e5896){if(_0xbacd65[_0xc0e5('0x63')]['id']){delete _0xbacd65['body']['id'];}var _0x98479b=_0xbacd65['body'][_0xc0e5('0x64')]===_0xc0e5('0x65')?null:_0xbacd65[_0xc0e5('0x63')]['provider'];var _0xbc5cca=_0xbacd65[_0xc0e5('0x63')][_0xc0e5('0x41')]||{};var _0x473166=_0xbacd65[_0xc0e5('0x63')][_0xc0e5('0x42')]||{};if(_0x98479b){_0xbc5cca[_0xc0e5('0x3d')]=getImapHost(_0x98479b);_0xbc5cca['port']=0x3e1;_0x473166['host']=getSmtpHost(_0x98479b);_0x473166[_0xc0e5('0x3e')]=0x24b;_0x473166[_0xc0e5('0x66')]=![];}if(_0x473166[_0xc0e5('0x3b')]){_0x473166['secure']=![];}else{_0x473166[_0xc0e5('0x3c')]=null;}if(!_0xbc5cca[_0xc0e5('0x3b')])_0xbc5cca[_0xc0e5('0x3c')]=null;_0xbacd65[_0xc0e5('0x63')][_0xc0e5('0x41')]=_0xbc5cca;_0xbacd65[_0xc0e5('0x63')][_0xc0e5('0x42')]=_0x473166;return db[_0xc0e5('0x48')]['find']({'where':{'id':_0xbacd65['params']['id']},'include':[{'model':db[_0xc0e5('0x44')],'as':'Imap'},{'model':db[_0xc0e5('0x45')],'as':'Smtp'},{'model':db[_0xc0e5('0x46')],'as':'mandatoryDispositionPause'}]})[_0xc0e5('0x10')](handleEntityNotFound(_0x3e5896,null))[_0xc0e5('0x10')](function(_0x4fdae2){if(!_0x4fdae2)throw new Error(_0xc0e5('0x67'));if(_0x4fdae2[_0xc0e5('0x3f')])delete _0xbacd65[_0xc0e5('0x63')]['Imap'];return _0x4fdae2;})['then'](saveUpdates(_0xbacd65[_0xc0e5('0x63')],null))[_0xc0e5('0x10')](function(_0x108b04){if(!_0xbacd65[_0xc0e5('0x63')]['Imap'])return _0x108b04;return db['MailServerIn'][_0xc0e5('0x23')](_0xbacd65[_0xc0e5('0x63')][_0xc0e5('0x41')],{'where':{'MailAccountId':_0x108b04['id']}})[_0xc0e5('0x10')](function(){return _0x108b04;});})[_0xc0e5('0x10')](function(_0x55e4f1){if(!_0xbacd65[_0xc0e5('0x63')][_0xc0e5('0x42')])return _0x55e4f1;return db[_0xc0e5('0x45')][_0xc0e5('0x23')](_0xbacd65[_0xc0e5('0x63')][_0xc0e5('0x42')],{'where':{'MailAccountId':_0x55e4f1['id']}})[_0xc0e5('0x10')](function(){return _0x55e4f1;});})['then'](respondWithResult(_0x3e5896,null))[_0xc0e5('0x19')](handleError(_0x3e5896,null));};exports[_0xc0e5('0x68')]=function(_0x4bf741,_0x3932c0){return db[_0xc0e5('0x48')][_0xc0e5('0x68')]()[_0xc0e5('0x10')](respondWithResult(_0x3932c0,null))[_0xc0e5('0x19')](handleError(_0x3932c0,null));};exports[_0xc0e5('0x69')]=function(_0x29dfe5,_0x249b8f){if(_0x29dfe5[_0xc0e5('0x63')]['id']){delete _0x29dfe5[_0xc0e5('0x63')]['id'];}return db[_0xc0e5('0x48')][_0xc0e5('0x62')]({'where':{'id':_0x29dfe5[_0xc0e5('0x5f')]['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x249b8f,null))[_0xc0e5('0x10')](function(_0x249983){if(_0x249983){_0x29dfe5[_0xc0e5('0x63')][_0xc0e5('0x6a')]=_0x249983['id'];return db[_0xc0e5('0x6b')][_0xc0e5('0x6c')](_0x29dfe5['body']);}})[_0xc0e5('0x10')](respondWithResult(_0x249b8f,null))[_0xc0e5('0x19')](handleError(_0x249b8f,null));};exports[_0xc0e5('0x6d')]=function(_0x228b1c,_0x47a172){var _0x339b9f={'raw':![],'where':{}};var _0x2f8f93={};var _0x49dc23={'count':0x0,'rows':[]};return db[_0xc0e5('0x48')][_0xc0e5('0x6e')]({'where':{'id':_0x228b1c['params']['id']}})['then'](handleEntityNotFound(_0x47a172,null))['then'](function(_0x2cd4d2){if(_0x2cd4d2){_0x2f8f93[_0xc0e5('0x4c')]=_[_0xc0e5('0x4f')](db[_0xc0e5('0x6b')][_0xc0e5('0x49')]);_0x2f8f93['query']=_['keys'](_0x228b1c[_0xc0e5('0x4e')]);_0x2f8f93[_0xc0e5('0x58')]=_['intersection'](_0x2f8f93['model'],_0x2f8f93[_0xc0e5('0x4e')]);_0x339b9f[_0xc0e5('0x51')]=_[_0xc0e5('0x50')](_0x2f8f93[_0xc0e5('0x4c')],qs[_0xc0e5('0x52')](_0x228b1c[_0xc0e5('0x4e')]['fields']));_0x339b9f[_0xc0e5('0x51')]=_0x339b9f[_0xc0e5('0x51')][_0xc0e5('0x60')]?_0x339b9f[_0xc0e5('0x51')]:_0x2f8f93[_0xc0e5('0x4c')];if(!_0x228b1c[_0xc0e5('0x4e')][_0xc0e5('0x53')](_0xc0e5('0x54'))){_0x339b9f[_0xc0e5('0x20')]=qs[_0xc0e5('0x20')](_0x228b1c[_0xc0e5('0x4e')][_0xc0e5('0x20')]);_0x339b9f[_0xc0e5('0x1e')]=qs[_0xc0e5('0x1e')](_0x228b1c[_0xc0e5('0x4e')][_0xc0e5('0x1e')]);}_0x339b9f['order']=qs[_0xc0e5('0x56')](_0x228b1c[_0xc0e5('0x4e')][_0xc0e5('0x56')]);_0x339b9f[_0xc0e5('0x57')]=qs[_0xc0e5('0x58')](_[_0xc0e5('0x6f')](_0x228b1c[_0xc0e5('0x4e')],_0x2f8f93[_0xc0e5('0x58')]));_0x339b9f[_0xc0e5('0x57')][_0xc0e5('0x6a')]=_0x2cd4d2['id'];if(_0x228b1c[_0xc0e5('0x4e')]['filter']){_0x339b9f['where']=_[_0xc0e5('0x5a')](_0x339b9f[_0xc0e5('0x57')],{'$or':_['map'](_0x339b9f[_0xc0e5('0x51')],function(_0x3ebb8c){var _0x3636bb={};_0x3636bb[_0x3ebb8c]={'$like':'%'+_0x228b1c[_0xc0e5('0x4e')][_0xc0e5('0x59')]+'%'};return _0x3636bb;})});}_0x339b9f=_[_0xc0e5('0x5a')]({},_0x339b9f,_0x228b1c[_0xc0e5('0x61')]);return db[_0xc0e5('0x6b')][_0xc0e5('0x21')]({'where':_0x339b9f[_0xc0e5('0x57')]})[_0xc0e5('0x10')](function(_0x4dd5dd){_0x49dc23[_0xc0e5('0x21')]=_0x4dd5dd;if(_0x228b1c['query'][_0xc0e5('0x5c')]){_0x339b9f[_0xc0e5('0x5d')]=[{'all':!![]}];}return db['Disposition'][_0xc0e5('0x70')](_0x339b9f);})[_0xc0e5('0x10')](function(_0x4020ae){_0x49dc23[_0xc0e5('0x5e')]=_0x4020ae;return _0x49dc23;});}})[_0xc0e5('0x10')](respondWithFilteredResult(_0x47a172,_0x339b9f))[_0xc0e5('0x19')](handleError(_0x47a172,null));};exports[_0xc0e5('0x71')]=function(_0x419c71,_0x26917d){return db[_0xc0e5('0x48')][_0xc0e5('0x62')]({'where':{'id':_0x419c71['params']['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x26917d,null))[_0xc0e5('0x10')](function(_0x4bcc81){if(_0x4bcc81){return _0x4bcc81[_0xc0e5('0x71')](_0x419c71[_0xc0e5('0x4e')][_0xc0e5('0x72')]);}})['then'](respondWithStatusCode(_0x26917d,null))['catch'](handleError(_0x26917d,null));};exports[_0xc0e5('0x73')]=function(_0x317a36,_0x96d308){if(_0x317a36[_0xc0e5('0x63')]['id']){delete _0x317a36[_0xc0e5('0x63')]['id'];}return db[_0xc0e5('0x48')][_0xc0e5('0x62')]({'where':{'id':_0x317a36[_0xc0e5('0x5f')]['id']}})['then'](handleEntityNotFound(_0x96d308,null))[_0xc0e5('0x10')](function(_0x3e8023){if(_0x3e8023){_0x317a36['body'][_0xc0e5('0x6a')]=_0x3e8023['id'];return db[_0xc0e5('0x74')]['create'](_0x317a36[_0xc0e5('0x63')]);}})['then'](respondWithResult(_0x96d308,null))[_0xc0e5('0x19')](handleError(_0x96d308,null));};exports['getAnswers']=function(_0xd0a4,_0x13a97e){var _0x1b3c89={'raw':![],'where':{}};var _0x27e832={};var _0x561a06={'count':0x0,'rows':[]};return db['MailAccount'][_0xc0e5('0x6e')]({'where':{'id':_0xd0a4[_0xc0e5('0x5f')]['id']}})['then'](handleEntityNotFound(_0x13a97e,null))['then'](function(_0x56e140){if(_0x56e140){_0x27e832[_0xc0e5('0x4c')]=_[_0xc0e5('0x4f')](db[_0xc0e5('0x74')]['rawAttributes']);_0x27e832[_0xc0e5('0x4e')]=_[_0xc0e5('0x4f')](_0xd0a4[_0xc0e5('0x4e')]);_0x27e832[_0xc0e5('0x58')]=_['intersection'](_0x27e832[_0xc0e5('0x4c')],_0x27e832['query']);_0x1b3c89['attributes']=_[_0xc0e5('0x50')](_0x27e832['model'],qs[_0xc0e5('0x52')](_0xd0a4[_0xc0e5('0x4e')]['fields']));_0x1b3c89[_0xc0e5('0x51')]=_0x1b3c89[_0xc0e5('0x51')][_0xc0e5('0x60')]?_0x1b3c89[_0xc0e5('0x51')]:_0x27e832[_0xc0e5('0x4c')];if(!_0xd0a4[_0xc0e5('0x4e')][_0xc0e5('0x53')](_0xc0e5('0x54'))){_0x1b3c89[_0xc0e5('0x20')]=qs[_0xc0e5('0x20')](_0xd0a4['query'][_0xc0e5('0x20')]);_0x1b3c89[_0xc0e5('0x1e')]=qs['offset'](_0xd0a4[_0xc0e5('0x4e')]['offset']);}_0x1b3c89[_0xc0e5('0x55')]=qs[_0xc0e5('0x56')](_0xd0a4[_0xc0e5('0x4e')]['sort']);_0x1b3c89[_0xc0e5('0x57')]=qs[_0xc0e5('0x58')](_[_0xc0e5('0x6f')](_0xd0a4[_0xc0e5('0x4e')],_0x27e832[_0xc0e5('0x58')]));_0x1b3c89[_0xc0e5('0x57')][_0xc0e5('0x6a')]=_0x56e140['id'];if(_0xd0a4[_0xc0e5('0x4e')]['filter']){_0x1b3c89['where']=_[_0xc0e5('0x5a')](_0x1b3c89['where'],{'$or':_[_0xc0e5('0x4d')](_0x1b3c89[_0xc0e5('0x51')],function(_0x52bc53){var _0x157ebd={};_0x157ebd[_0x52bc53]={'$like':'%'+_0xd0a4[_0xc0e5('0x4e')]['filter']+'%'};return _0x157ebd;})});}_0x1b3c89=_[_0xc0e5('0x5a')]({},_0x1b3c89,_0xd0a4[_0xc0e5('0x61')]);return db[_0xc0e5('0x74')][_0xc0e5('0x21')]({'where':_0x1b3c89['where']})[_0xc0e5('0x10')](function(_0x170fa6){_0x561a06[_0xc0e5('0x21')]=_0x170fa6;if(_0xd0a4[_0xc0e5('0x4e')]['includeAll']){_0x1b3c89[_0xc0e5('0x5d')]=[{'all':!![]}];}return db['CannedAnswer'][_0xc0e5('0x70')](_0x1b3c89);})['then'](function(_0x380a5c){_0x561a06['rows']=_0x380a5c;return _0x561a06;});}})[_0xc0e5('0x10')](respondWithFilteredResult(_0x13a97e,_0x1b3c89))[_0xc0e5('0x19')](handleError(_0x13a97e,null));};exports[_0xc0e5('0x75')]=function(_0x2b6234,_0x265e97){return db[_0xc0e5('0x48')][_0xc0e5('0x62')]({'where':{'id':_0x2b6234['params']['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x265e97,null))['then'](function(_0x2d1916){if(_0x2d1916){return _0x2d1916[_0xc0e5('0x75')](_0x2b6234['query'][_0xc0e5('0x72')]);}})['then'](respondWithStatusCode(_0x265e97,null))['catch'](handleError(_0x265e97,null));};exports['create']=function(_0x47c5cf,_0x594fdc){var _0x4872c8={'name':_0x47c5cf[_0xc0e5('0x63')][_0xc0e5('0x29')],'key':_0x47c5cf[_0xc0e5('0x63')][_0xc0e5('0x4b')],'provider':_0x47c5cf[_0xc0e5('0x63')][_0xc0e5('0x64')]===_0xc0e5('0x65')?null:_0x47c5cf[_0xc0e5('0x63')][_0xc0e5('0x64')],'email':_0x47c5cf[_0xc0e5('0x63')]['email'],'ListId':_0x47c5cf[_0xc0e5('0x63')][_0xc0e5('0x76')],'active':!_[_0xc0e5('0x77')](_0x47c5cf['body'][_0xc0e5('0x78')])?_0x47c5cf[_0xc0e5('0x63')]['active']:!![],'description':_0x47c5cf['body']['description']||null};var _0x24b4d9=getAuthenticationOptions(_0x4872c8[_0xc0e5('0x64')],_0x47c5cf[_0xc0e5('0x63')]);_0x4872c8[_0xc0e5('0x41')]=_0x24b4d9[_0xc0e5('0x41')];_0x4872c8[_0xc0e5('0x42')]=_0x24b4d9[_0xc0e5('0x42')];return db['MailAccount'][_0xc0e5('0x6c')](_0x4872c8,{'include':[{'model':db[_0xc0e5('0x45')],'as':_0xc0e5('0x42')},{'model':db['MailServerIn'],'as':'Imap'}]})[_0xc0e5('0x10')](function(_0x469f2d){var _0x411a73=_0x47c5cf[_0xc0e5('0x37')][_0xc0e5('0x25')]({'plain':!![]});if(!_0x411a73)throw new Error(_0xc0e5('0x79'));if(_0x411a73['role']===_0xc0e5('0x37')){var _0x4b5845=_0x469f2d[_0xc0e5('0x25')]({'plain':!![]});return db[_0xc0e5('0x7a')][_0xc0e5('0x62')]({'where':{'name':_0xc0e5('0x26'),'userProfileId':_0x411a73[_0xc0e5('0x7b')]},'raw':!![]})[_0xc0e5('0x10')](function(_0x17675d){if(_0x17675d&&_0x17675d['autoAssociation']===0x0){return db[_0xc0e5('0x27')][_0xc0e5('0x6c')]({'name':_0x4b5845[_0xc0e5('0x29')],'resourceId':_0x4b5845['id'],'type':_0x17675d[_0xc0e5('0x29')],'sectionId':_0x17675d['id']},{})[_0xc0e5('0x10')](function(){return _0x469f2d;});}else{return _0x469f2d;}})[_0xc0e5('0x19')](function(_0x36e567){logger[_0xc0e5('0x16')](_0xc0e5('0x7c'),_0x36e567);throw _0x36e567;});}return _0x469f2d;})[_0xc0e5('0x10')](respondWithResult(_0x594fdc,0xc9))[_0xc0e5('0x19')](handleError(_0x594fdc,null));};exports[_0xc0e5('0x7d')]=function(_0x465dc3,_0x153471){return db[_0xc0e5('0x48')][_0xc0e5('0x6e')]({'where':{'id':_0x465dc3[_0xc0e5('0x5f')]['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x153471,null))[_0xc0e5('0x10')](function(_0xa4e48e){if(_0xa4e48e){return _0xa4e48e[_0xc0e5('0x7d')]();}return null;})[_0xc0e5('0x10')](respondWithResult(_0x153471,null))[_0xc0e5('0x19')](handleError(_0x153471,null));};exports['addImap']=function(_0x2a15e0,_0x5f2d44){if(_0x2a15e0['body']['id']){delete _0x2a15e0[_0xc0e5('0x63')]['id'];}return db[_0xc0e5('0x48')][_0xc0e5('0x62')]({'where':{'id':_0x2a15e0[_0xc0e5('0x5f')]['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x5f2d44,null))['then'](function(_0x3efb14){if(_0x3efb14){_0x2a15e0[_0xc0e5('0x63')][_0xc0e5('0x6a')]=_0x3efb14['id'];return db[_0xc0e5('0x44')][_0xc0e5('0x6c')](_0x2a15e0[_0xc0e5('0x63')]);}})[_0xc0e5('0x10')](respondWithResult(_0x5f2d44,null))[_0xc0e5('0x19')](handleError(_0x5f2d44,null));};exports[_0xc0e5('0x7e')]=function(_0x1ae989,_0x68539e){return db[_0xc0e5('0x48')][_0xc0e5('0x6e')]({'where':{'id':_0x1ae989['params']['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x68539e,null))['then'](function(_0x38e6c2){if(_0x38e6c2){return _0x38e6c2[_0xc0e5('0x7f')](null);}return null;})['then'](respondWithStatusCode(_0x68539e,null))[_0xc0e5('0x19')](handleError(_0x68539e,null));};exports[_0xc0e5('0x80')]=function(_0x2d0ce7,_0x1a7167){return db[_0xc0e5('0x48')][_0xc0e5('0x6e')]({'where':{'id':_0x2d0ce7['params']['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x1a7167,null))[_0xc0e5('0x10')](function(_0x4a87f1){if(_0x4a87f1){return _0x4a87f1['getSmtp']();}return null;})[_0xc0e5('0x10')](respondWithResult(_0x1a7167,null))[_0xc0e5('0x19')](handleError(_0x1a7167,null));};exports[_0xc0e5('0x81')]=function(_0x112393,_0x38fef1){if(_0x112393[_0xc0e5('0x63')]['id']){delete _0x112393[_0xc0e5('0x63')]['id'];}return db[_0xc0e5('0x48')]['find']({'where':{'id':_0x112393[_0xc0e5('0x5f')]['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x38fef1,null))[_0xc0e5('0x10')](function(_0x14b449){if(_0x14b449){_0x112393[_0xc0e5('0x63')][_0xc0e5('0x6a')]=_0x14b449['id'];return db[_0xc0e5('0x45')][_0xc0e5('0x6c')](_0x112393['body']);}})['then'](respondWithResult(_0x38fef1,null))[_0xc0e5('0x19')](handleError(_0x38fef1,null));};exports[_0xc0e5('0x82')]=function(_0x5c94a9,_0x1b88f2){return db[_0xc0e5('0x48')][_0xc0e5('0x6e')]({'where':{'id':_0x5c94a9[_0xc0e5('0x5f')]['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x1b88f2,null))['then'](function(_0x2d4957){if(_0x2d4957){return _0x2d4957[_0xc0e5('0x83')](null);}return null;})['then'](respondWithStatusCode(_0x1b88f2,null))[_0xc0e5('0x19')](handleError(_0x1b88f2,null));};exports['addInteraction']=function(_0x30e7d3,_0x12ce4b){return db[_0xc0e5('0x84')][_0xc0e5('0x62')]({'where':{'id':_0x30e7d3[_0xc0e5('0x5f')]['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x12ce4b,null))[_0xc0e5('0x10')](function(_0x417ae2){if(_0x417ae2){return _0x417ae2[_0xc0e5('0x85')](_0x30e7d3[_0xc0e5('0x63')][_0xc0e5('0x72')],_[_0xc0e5('0x86')](_0x30e7d3['body'],[_0xc0e5('0x72'),'id'])||{});}})[_0xc0e5('0x10')](respondWithResult(_0x12ce4b,null))[_0xc0e5('0x19')](handleError(_0x12ce4b,null));};exports['getInteractions']=function(_0x1e5bea,_0x50d195){var _0x5bc7ef={'raw':![],'where':{}};var _0x1766b3={};var _0x199c15={'count':0x0,'rows':[]};return db[_0xc0e5('0x48')][_0xc0e5('0x6e')]({'where':{'id':_0x1e5bea[_0xc0e5('0x5f')]['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x50d195,null))[_0xc0e5('0x10')](function(_0x2dce39){if(_0x2dce39){_0x1766b3['model']=_[_0xc0e5('0x4f')](db[_0xc0e5('0x84')][_0xc0e5('0x49')]);_0x1766b3[_0xc0e5('0x4e')]=_['keys'](_0x1e5bea[_0xc0e5('0x4e')]);_0x1766b3[_0xc0e5('0x58')]=_[_0xc0e5('0x50')](_0x1766b3['model'],_0x1766b3[_0xc0e5('0x4e')]);_0x5bc7ef[_0xc0e5('0x51')]=_[_0xc0e5('0x50')](_0x1766b3['model'],qs[_0xc0e5('0x52')](_0x1e5bea['query'][_0xc0e5('0x52')]));_0x5bc7ef[_0xc0e5('0x51')]=_0x5bc7ef[_0xc0e5('0x51')]['length']?_0x5bc7ef[_0xc0e5('0x51')]:_0x1766b3[_0xc0e5('0x4c')];if(!_0x1e5bea[_0xc0e5('0x4e')][_0xc0e5('0x53')](_0xc0e5('0x54'))){_0x5bc7ef[_0xc0e5('0x20')]=qs[_0xc0e5('0x20')](_0x1e5bea[_0xc0e5('0x4e')][_0xc0e5('0x20')]);_0x5bc7ef['offset']=qs[_0xc0e5('0x1e')](_0x1e5bea[_0xc0e5('0x4e')]['offset']);}_0x5bc7ef['order']=qs['sort'](_0x1e5bea['query']['sort']);_0x5bc7ef[_0xc0e5('0x57')]=qs[_0xc0e5('0x58')](_[_0xc0e5('0x6f')](_0x1e5bea[_0xc0e5('0x4e')],_0x1766b3[_0xc0e5('0x58')]));_0x5bc7ef[_0xc0e5('0x57')][_0xc0e5('0x6a')]=_0x2dce39['id'];if(_0x1e5bea[_0xc0e5('0x4e')]['filter']){_0x5bc7ef[_0xc0e5('0x57')]=_['merge'](_0x5bc7ef['where'],{'$or':_[_0xc0e5('0x4d')](_0x5bc7ef['attributes'],function(_0x4e5636){var _0xf496d7={};_0xf496d7[_0x4e5636]={'$like':'%'+_0x1e5bea['query'][_0xc0e5('0x59')]+'%'};return _0xf496d7;})});}_0x5bc7ef=_['merge']({},_0x5bc7ef,_0x1e5bea[_0xc0e5('0x61')]);return db[_0xc0e5('0x84')][_0xc0e5('0x21')]({'where':_0x5bc7ef['where']})[_0xc0e5('0x10')](function(_0x37ac60){_0x199c15[_0xc0e5('0x21')]=_0x37ac60;if(_0x1e5bea[_0xc0e5('0x4e')]['includeAll']){_0x5bc7ef[_0xc0e5('0x5d')]=[{'model':db[_0xc0e5('0x87')],'as':_0xc0e5('0x88'),'required':![]},{'model':db[_0xc0e5('0x89')],'as':_0xc0e5('0x8a'),'attributes':[_0xc0e5('0x29'),_0xc0e5('0x8b'),_0xc0e5('0x8c')],'required':![]},{'model':db['Tag'],'as':_0xc0e5('0x8d'),'attributes':['id',_0xc0e5('0x29'),'color'],'where':_0x1e5bea['query'][_0xc0e5('0x8e')]?{'id':_0x1e5bea[_0xc0e5('0x4e')][_0xc0e5('0x8e')]}:undefined,'required':_0x1e5bea[_0xc0e5('0x4e')][_0xc0e5('0x8e')]?!![]:![]}];}return db[_0xc0e5('0x84')][_0xc0e5('0x70')](_0x5bc7ef);})[_0xc0e5('0x10')](function(_0x2f2a94){_0x199c15[_0xc0e5('0x5e')]=_0x2f2a94;return _0x199c15;});}})['then'](respondWithFilteredResult(_0x50d195,_0x5bc7ef))[_0xc0e5('0x19')](handleError(_0x50d195,null));};exports[_0xc0e5('0x8f')]=function addApplications(_0x3155f7,_0x2328f2){var _0x2cedf0=_0x3155f7[_0xc0e5('0x5f')]['id'];var _0x54c810=_0x3155f7[_0xc0e5('0x63')];var _0x48ff41=0xc8;var _0x5ccc10=null;return db[_0xc0e5('0x90')][_0xc0e5('0x91')]({'isolationLevel':db[_0xc0e5('0x90')]['Transaction']['ISOLATION_LEVELS'][_0xc0e5('0x92')]},function(_0x255fcb){return db[_0xc0e5('0x48')][_0xc0e5('0x6e')]({'where':{'id':_0x2cedf0},'transaction':_0x255fcb})['then'](function(_0x5e1ad3){if(_0x5e1ad3){return db['MailApplication'][_0xc0e5('0x24')]({'where':{'MailAccountId':_0x2cedf0},'transaction':_0x255fcb})[_0xc0e5('0x10')](function(){var _0x3b3ee3=_[_0xc0e5('0x4d')](_0x54c810,function(_0x58fafe){_0x58fafe[_0xc0e5('0x6a')]=_0x2cedf0;return _0x58fafe;});return db[_0xc0e5('0x93')][_0xc0e5('0x94')](_0x3b3ee3,{'transaction':_0x255fcb});});}else{_0x48ff41=0x194;_0x5ccc10=[];}});})[_0xc0e5('0x10')](function(){if(_0x48ff41!==0x194){return db[_0xc0e5('0x93')][_0xc0e5('0x95')]({'where':{'MailAccountId':_0x2cedf0},'order':'priority'})[_0xc0e5('0x10')](function(_0x50984f){_0x5ccc10=_0x50984f;});}})[_0xc0e5('0x19')](function(_0x1b052c){_0x48ff41=0x1f4;logger[_0xc0e5('0x16')](_0x1b052c['stack']);if(_0x1b052c['name']){delete _0x1b052c[_0xc0e5('0x29')];}_0x5ccc10=_0x1b052c;})[_0xc0e5('0x96')](function(){if(_0x5ccc10===null){_0x2328f2[_0xc0e5('0x1a')](_0x48ff41);}else{if(_0x48ff41===0x1f4){_0x2328f2['status'](_0x48ff41)[_0xc0e5('0x2a')](_0x5ccc10);}else{_0x2328f2[_0xc0e5('0x1c')](_0x48ff41)[_0xc0e5('0x1d')](_0x5ccc10);}}});};exports[_0xc0e5('0x97')]=function(_0x55edb2,_0x1b2960){var _0x1f4c5b={};var _0x23ddd7={};var _0x42d98c;var _0x3ea08b;return db['MailAccount'][_0xc0e5('0x6e')]({'where':{'id':_0x55edb2[_0xc0e5('0x5f')]['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x1b2960,null))['then'](function(_0x3f5dc1){if(_0x3f5dc1){_0x42d98c=_0x3f5dc1;_0x23ddd7[_0xc0e5('0x4c')]=_['keys'](db[_0xc0e5('0x93')][_0xc0e5('0x49')]);_0x23ddd7[_0xc0e5('0x4e')]=_[_0xc0e5('0x4f')](_0x55edb2[_0xc0e5('0x4e')]);_0x23ddd7[_0xc0e5('0x58')]=_['intersection'](_0x23ddd7[_0xc0e5('0x4c')],_0x23ddd7[_0xc0e5('0x4e')]);_0x1f4c5b[_0xc0e5('0x51')]=_[_0xc0e5('0x50')](_0x23ddd7[_0xc0e5('0x4c')],qs['fields'](_0x55edb2['query']['fields']));_0x1f4c5b[_0xc0e5('0x51')]=_0x1f4c5b[_0xc0e5('0x51')]['length']?_0x1f4c5b[_0xc0e5('0x51')]:_0x23ddd7[_0xc0e5('0x4c')];_0x1f4c5b[_0xc0e5('0x55')]=qs[_0xc0e5('0x56')](_0x55edb2[_0xc0e5('0x4e')][_0xc0e5('0x56')]);_0x1f4c5b[_0xc0e5('0x57')]=qs['filters'](_[_0xc0e5('0x6f')](_0x55edb2[_0xc0e5('0x4e')],_0x23ddd7[_0xc0e5('0x58')]));if(_0x55edb2[_0xc0e5('0x4e')][_0xc0e5('0x59')]){_0x1f4c5b[_0xc0e5('0x57')]=_[_0xc0e5('0x5a')](_0x1f4c5b[_0xc0e5('0x57')],{'$or':_[_0xc0e5('0x4d')](_0x1f4c5b[_0xc0e5('0x51')],function(_0x39b2bd){var _0x12c1ca={};_0x12c1ca[_0x39b2bd]={'$like':'%'+_0x55edb2['query'][_0xc0e5('0x59')]+'%'};return _0x12c1ca;})});}_0x1f4c5b=_[_0xc0e5('0x5a')]({},_0x1f4c5b,_0x55edb2[_0xc0e5('0x61')]);return _0x42d98c[_0xc0e5('0x97')](_0x1f4c5b);}})[_0xc0e5('0x10')](function(_0x32eeb6){if(_0x32eeb6){_0x3ea08b=_0x32eeb6[_0xc0e5('0x60')];if(!_0x55edb2[_0xc0e5('0x4e')][_0xc0e5('0x53')]('nolimit')){_0x1f4c5b[_0xc0e5('0x20')]=qs['limit'](_0x55edb2[_0xc0e5('0x4e')][_0xc0e5('0x20')]);_0x1f4c5b['offset']=qs[_0xc0e5('0x1e')](_0x55edb2['query'][_0xc0e5('0x1e')]);}return _0x42d98c['getApplications'](_0x1f4c5b);}})[_0xc0e5('0x10')](function(_0x4629f0){if(_0x4629f0){return _0x4629f0?{'count':_0x3ea08b,'rows':_0x4629f0}:null;}})[_0xc0e5('0x10')](respondWithResult(_0x1b2960,null))['catch'](handleError(_0x1b2960,null));};exports[_0xc0e5('0x98')]=function(_0x29041c,_0x2d372b){var _0x4d3aa1={'raw':!![],'where':{}};var _0x343885={};var _0x52c01c={'count':0x0,'rows':[]};return db['MailAccount'][_0xc0e5('0x6e')]({'where':{'id':_0x29041c[_0xc0e5('0x5f')]['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x2d372b,null))[_0xc0e5('0x10')](function(_0x57d844){if(_0x57d844){_0x343885['model']=_[_0xc0e5('0x4f')](db['MailMessage'][_0xc0e5('0x49')]);_0x343885[_0xc0e5('0x4e')]=_['keys'](_0x29041c[_0xc0e5('0x4e')]);_0x343885[_0xc0e5('0x58')]=_[_0xc0e5('0x50')](_0x343885[_0xc0e5('0x4c')],_0x343885[_0xc0e5('0x4e')]);_0x4d3aa1[_0xc0e5('0x51')]=_[_0xc0e5('0x50')](_0x343885[_0xc0e5('0x4c')],qs[_0xc0e5('0x52')](_0x29041c[_0xc0e5('0x4e')][_0xc0e5('0x52')]));_0x4d3aa1[_0xc0e5('0x51')]=_0x4d3aa1[_0xc0e5('0x51')][_0xc0e5('0x60')]?_0x4d3aa1[_0xc0e5('0x51')]:_0x343885[_0xc0e5('0x4c')];if(!_0x29041c[_0xc0e5('0x4e')][_0xc0e5('0x53')](_0xc0e5('0x54'))){_0x4d3aa1[_0xc0e5('0x20')]=qs[_0xc0e5('0x20')](_0x29041c['query']['limit']);_0x4d3aa1[_0xc0e5('0x1e')]=qs['offset'](_0x29041c[_0xc0e5('0x4e')][_0xc0e5('0x1e')]);}_0x4d3aa1[_0xc0e5('0x55')]=qs['sort'](_0x29041c['query']['sort']);_0x4d3aa1[_0xc0e5('0x57')]=qs['filters'](_['pick'](_0x29041c[_0xc0e5('0x4e')],_0x343885[_0xc0e5('0x58')]));_0x4d3aa1[_0xc0e5('0x57')]['MailAccountId']=_0x57d844['id'];if(_0x29041c['query']['filter']){_0x4d3aa1['where']=_[_0xc0e5('0x5a')](_0x4d3aa1[_0xc0e5('0x57')],{'$or':_[_0xc0e5('0x4d')](_0x4d3aa1[_0xc0e5('0x51')],function(_0x8dadf1){var _0x202fd4={};_0x202fd4[_0x8dadf1]={'$like':'%'+_0x29041c[_0xc0e5('0x4e')][_0xc0e5('0x59')]+'%'};return _0x202fd4;})});}if(_0x29041c['query'][_0xc0e5('0x99')]){var _0x15ad17=_0x29041c[_0xc0e5('0x4e')][_0xc0e5('0x99')][_0xc0e5('0x9a')](',');var _0x2a11c1={};_0x2a11c1[_0x15ad17[0x0]]={'$gte':moment(_0x15ad17[0x1])[_0xc0e5('0x9b')](_0xc0e5('0x9c'))};_0x4d3aa1[_0xc0e5('0x57')]=_[_0xc0e5('0x5a')](_0x4d3aa1[_0xc0e5('0x57')],_0x2a11c1);}_0x4d3aa1=_[_0xc0e5('0x5a')]({},_0x4d3aa1,_0x29041c[_0xc0e5('0x61')]);return db[_0xc0e5('0x9d')][_0xc0e5('0x21')]({'where':_0x4d3aa1[_0xc0e5('0x57')]})[_0xc0e5('0x10')](function(_0x36f8f7){_0x52c01c[_0xc0e5('0x21')]=_0x36f8f7;if(_0x29041c[_0xc0e5('0x4e')][_0xc0e5('0x5c')]){_0x4d3aa1[_0xc0e5('0x5d')]=[{'all':!![]}];}return db[_0xc0e5('0x9d')][_0xc0e5('0x70')](_0x4d3aa1);})[_0xc0e5('0x10')](function(_0x3e76da){if(_0x29041c[_0xc0e5('0x4e')][_0xc0e5('0x9e')]===_0xc0e5('0x9f')){for(var _0x4c5bd0=0x0;_0x4c5bd0<_0x3e76da['length'];_0x4c5bd0++){_0x3e76da[_0x4c5bd0]['body']=juice(_0x3e76da[_0x4c5bd0][_0xc0e5('0x63')]);}}_0x52c01c[_0xc0e5('0x5e')]=_0x3e76da;return _0x52c01c;});}})[_0xc0e5('0x10')](respondWithFilteredResult(_0x2d372b,_0x4d3aa1))[_0xc0e5('0x19')](handleError(_0x2d372b,null));};exports['send']=function(_0x53b10e,_0x394da0){var _0x12ee1e,_0x2fa473={},_0x1981cf;if(_0x53b10e[_0xc0e5('0x63')]['to']){_0x1981cf=_0x53b10e['body']['to'][_0xc0e5('0x9a')](',')[0x0];}return db[_0xc0e5('0x48')][_0xc0e5('0x62')]({'where':{'id':_0x53b10e[_0xc0e5('0x5f')]['id']},'include':[{'model':db['CmList'],'as':_0xc0e5('0xa0'),'include':[{'model':db[_0xc0e5('0x87')],'as':_0xc0e5('0xa1'),'where':{'email':_0x1981cf},'limit':0x1,'order':[[_0xc0e5('0xa2'),_0xc0e5('0xa3')]]}]},{'model':db[_0xc0e5('0x45')],'as':_0xc0e5('0x42'),'raw':!![],'include':[{'model':db[_0xc0e5('0xa4')],'as':_0xc0e5('0xa4'),'raw':!![]}]}]})[_0xc0e5('0x10')](handleEntityNotFound(_0x394da0,null))[_0xc0e5('0x10')](function(_0x27b24c){if(!_0x27b24c)return;_0x12ee1e=_0x27b24c;if(!_0x27b24c['Smtp'])throw new Error('Smtp\x20configuration\x20not\x20found');if(_[_0xc0e5('0x77')](_0x53b10e['body'][_0xc0e5('0xa5')])){_0x53b10e[_0xc0e5('0x63')]['from']=util[_0xc0e5('0x9b')](_0xc0e5('0xa6'),_0x27b24c[_0xc0e5('0x29')],_0x27b24c[_0xc0e5('0xa7')]||_0x27b24c[_0xc0e5('0x42')]['user']);}if(_0x53b10e['body'][_0xc0e5('0xa8')]&&_0x53b10e[_0xc0e5('0x63')][_0xc0e5('0xa8')]['length']){for(var _0x224729=0x0;_0x224729<_0x53b10e['body'][_0xc0e5('0xa8')][_0xc0e5('0x60')];_0x224729+=0x1){_0x53b10e[_0xc0e5('0x63')]['attachments'][_0x224729]={'filename':_0x53b10e[_0xc0e5('0x63')][_0xc0e5('0xa8')][_0x224729][_0xc0e5('0x29')],'path':path[_0xc0e5('0xa9')](config['root'],_0xc0e5('0xaa'),_0x53b10e['body'][_0xc0e5('0xa8')][_0x224729][_0xc0e5('0xab')])};}}var _0x25815c=_0x27b24c[_0xc0e5('0xac')]();return respondWithRpcPromise(_0xc0e5('0xad'),_0xc0e5('0xae'),{'account':_0x25815c,'message':_0x53b10e['body']});})[_0xc0e5('0x10')](function(_0x2fa529){if(!_0x2fa529)return;_0x2fa473=_0x2fa529;if(!_0x12ee1e[_0xc0e5('0xa0')])throw new Error(_0xc0e5('0xaf'));if(_0x12ee1e['List'][_0xc0e5('0xa1')][_0xc0e5('0x60')])return _0x12ee1e[_0xc0e5('0xa0')][_0xc0e5('0xa1')][0x0];return db[_0xc0e5('0x87')][_0xc0e5('0x6c')](_[_0xc0e5('0xb0')](_0x53b10e[_0xc0e5('0x63')],{'firstName':_0x53b10e[_0xc0e5('0x63')]['to'],'email':_0x53b10e[_0xc0e5('0x63')]['to'],'phone':_0x53b10e[_0xc0e5('0x63')]['to'],'ListId':_0x12ee1e[_0xc0e5('0x76')]}));})[_0xc0e5('0x10')](function(_0x527c13){if(!_0x527c13)return;var _0x3aa6a3={'UserId':_0x53b10e[_0xc0e5('0x37')]['id'],'ContactId':_0x527c13['id'],'MailAccountId':_0x12ee1e['id'],'inReplyTo':_0x2fa473[_0xc0e5('0xb1')],'to':_0x53b10e[_0xc0e5('0x63')][_0xc0e5('0xa5')],'cc':_0x53b10e[_0xc0e5('0x63')]['cc'],'subject':_0x53b10e[_0xc0e5('0x63')]['subject'],'attach':_0x53b10e['body'][_0xc0e5('0xb2')],'firstMsgDirection':_0xc0e5('0xb3'),'lastMsgAt':moment()[_0xc0e5('0x9b')]('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':_0xc0e5('0xb3'),'Messages':[_[_0xc0e5('0x5a')](_0x53b10e[_0xc0e5('0x63')],{'messageId':_0x2fa473[_0xc0e5('0xb1')],'sentAt':moment()[_0xc0e5('0x9b')](_0xc0e5('0x9c')),'read':!![],'MailAccountId':_0x12ee1e['id'],'UserId':_0x53b10e[_0xc0e5('0x37')]['id'],'ContactId':_0x527c13['id']})]};if(_0x53b10e[_0xc0e5('0x63')][_0xc0e5('0xb4')]){_0x3aa6a3=_['merge'](_0x3aa6a3,_0x53b10e['body']['Interaction']);}return db[_0xc0e5('0x84')][_0xc0e5('0x6c')](_0x3aa6a3,{'include':[{'model':db[_0xc0e5('0x9d')],'as':_0xc0e5('0xb5')}]});})[_0xc0e5('0x10')](respondWithResult(_0x394da0,null))[_0xc0e5('0x19')](handleError(_0x394da0,null));};exports[_0xc0e5('0xb6')]=function(_0x1554b4,_0x41656f){return db['MailAccount']['find']({'where':{'id':_0x1554b4['params']['id']},'include':[{'model':db[_0xc0e5('0x45')],'as':_0xc0e5('0x42'),'raw':!![],'include':[{'model':db[_0xc0e5('0xa4')],'as':_0xc0e5('0xa4'),'raw':!![]}]}]})[_0xc0e5('0x10')](handleEntityNotFound(_0x41656f,null))[_0xc0e5('0x10')](function(_0x46055c){if(!_0x46055c[_0xc0e5('0x42')])return;var _0x5e68b9=_0x46055c['getSmtpOptions']();return respondWithRpcPromise(_0xc0e5('0xb7'),_0xc0e5('0xb6'),{'account':_0x5e68b9});})[_0xc0e5('0x10')](respondWithResult(_0x41656f,null))[_0xc0e5('0x19')](handleError(_0x41656f,null));};exports[_0xc0e5('0x24')]=function(_0x1e9cca,_0x239ea9){return db['MailAccount'][_0xc0e5('0x62')]({'where':{'id':_0x1e9cca[_0xc0e5('0x5f')]['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x239ea9,null))['then'](function(_0x3e1ecc){if(_0x3e1ecc&&_0x3e1ecc[_0xc0e5('0x3f')]){throw new db[(_0xc0e5('0xb8'))]['ValidationError'](_0xc0e5('0xb9'));}return _0x3e1ecc;})['then'](removeEntity(_0x239ea9,null))['catch'](handleError(_0x239ea9,null));};exports[_0xc0e5('0xba')]=function(_0x19f40a,_0x57241e){return db[_0xc0e5('0x48')][_0xc0e5('0x62')]({'where':{'id':_0x19f40a[_0xc0e5('0x5f')]['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x57241e,null))['then'](function(_0x21d979){if(_0x21d979){return _0x21d979[_0xc0e5('0xba')](_0x19f40a[_0xc0e5('0x63')][_0xc0e5('0x72')],_['omit'](_0x19f40a['body'],['ids','id'])||{})[_0xc0e5('0xbb')](function(_0x49b50a){for(var _0x5c93e5=0x0;_0x5c93e5<_0x19f40a[_0xc0e5('0x63')][_0xc0e5('0x72')]['length'];_0x5c93e5+=0x1){socket[_0xc0e5('0xbc')]('userMailAccount:save',{'UserId':Number(_0x19f40a['body']['ids'][_0x5c93e5]),'MailAccountId':Number(_0x19f40a['params']['id'])});}return _0x49b50a;});}})[_0xc0e5('0x10')](respondWithResult(_0x57241e,null))[_0xc0e5('0x19')](handleError(_0x57241e,null));};exports[_0xc0e5('0xbd')]=function(_0x549315,_0xcaea52){return db['MailAccount'][_0xc0e5('0x62')]({'where':{'id':_0x549315[_0xc0e5('0x5f')]['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0xcaea52,null))['then'](function(_0x455845){if(_0x455845){return _0x455845[_0xc0e5('0xbd')](_0x549315['query'][_0xc0e5('0x72')])[_0xc0e5('0x10')](function(){if(_[_0xc0e5('0xbe')](_0x549315['query'][_0xc0e5('0x72')])){for(var _0x573b5f=0x0;_0x573b5f<_0x549315[_0xc0e5('0x4e')][_0xc0e5('0x72')][_0xc0e5('0x60')];_0x573b5f+=0x1){socket[_0xc0e5('0xbc')](_0xc0e5('0xbf'),{'UserId':Number(_0x549315['query'][_0xc0e5('0x72')][_0x573b5f]),'MailAccountId':Number(_0x549315[_0xc0e5('0x5f')]['id'])});}}else{socket[_0xc0e5('0xbc')](_0xc0e5('0xbf'),{'UserId':Number(_0x549315[_0xc0e5('0x4e')][_0xc0e5('0x72')]),'MailAccountId':Number(_0x549315['params']['id'])});}});}})['then'](respondWithStatusCode(_0xcaea52,null))[_0xc0e5('0x19')](handleError(_0xcaea52,null));};exports['getAgents']=function(_0x2e2d6c,_0x50298c){var _0x2d8cd8={};var _0x33d406={};var _0x11825a;var _0x4b0752;return db[_0xc0e5('0x48')][_0xc0e5('0x6e')]({'where':{'id':_0x2e2d6c['params']['id']}})[_0xc0e5('0x10')](handleEntityNotFound(_0x50298c,null))['then'](function(_0x2c6025){if(_0x2c6025){_0x11825a=_0x2c6025;_0x33d406['model']=_[_0xc0e5('0x4f')](db[_0xc0e5('0x89')]['rawAttributes']);_0x33d406['query']=_[_0xc0e5('0x4f')](_0x2e2d6c['query']);_0x33d406['filters']=_['intersection'](_0x33d406[_0xc0e5('0x4c')],_0x33d406[_0xc0e5('0x4e')]);_0x2d8cd8[_0xc0e5('0x51')]=_[_0xc0e5('0x50')](_0x33d406[_0xc0e5('0x4c')],qs[_0xc0e5('0x52')](_0x2e2d6c[_0xc0e5('0x4e')][_0xc0e5('0x52')]));_0x2d8cd8[_0xc0e5('0x51')]=_0x2d8cd8[_0xc0e5('0x51')]['length']?_0x2d8cd8[_0xc0e5('0x51')]:_0x33d406[_0xc0e5('0x4c')];_0x2d8cd8[_0xc0e5('0x55')]=qs[_0xc0e5('0x56')](_0x2e2d6c[_0xc0e5('0x4e')][_0xc0e5('0x56')]);_0x2d8cd8[_0xc0e5('0x57')]=qs[_0xc0e5('0x58')](_[_0xc0e5('0x6f')](_0x2e2d6c['query'],_0x33d406[_0xc0e5('0x58')]));if(_0x2e2d6c[_0xc0e5('0x4e')]['filter']){_0x2d8cd8[_0xc0e5('0x57')]=_['merge'](_0x2d8cd8[_0xc0e5('0x57')],{'$or':_[_0xc0e5('0x4d')](_0x2d8cd8[_0xc0e5('0x51')],function(_0x533b23){var _0x2f08aa={};_0x2f08aa[_0x533b23]={'$like':'%'+_0x2e2d6c[_0xc0e5('0x4e')]['filter']+'%'};return _0x2f08aa;})});}_0x2d8cd8=_[_0xc0e5('0x5a')]({},_0x2d8cd8,_0x2e2d6c[_0xc0e5('0x61')]);return _0x11825a['getAgents'](_0x2d8cd8);}})['then'](function(_0x7a961d){if(_0x7a961d){_0x4b0752=_0x7a961d[_0xc0e5('0x60')];if(!_0x2e2d6c['query']['hasOwnProperty'](_0xc0e5('0x54'))){_0x2d8cd8[_0xc0e5('0x20')]=qs[_0xc0e5('0x20')](_0x2e2d6c['query']['limit']);_0x2d8cd8[_0xc0e5('0x1e')]=qs[_0xc0e5('0x1e')](_0x2e2d6c[_0xc0e5('0x4e')][_0xc0e5('0x1e')]);}return _0x11825a['getAgents'](_0x2d8cd8);}})[_0xc0e5('0x10')](function(_0x8d8d80){if(_0x8d8d80){return _0x8d8d80?{'count':_0x4b0752,'rows':_0x8d8d80}:null;}})[_0xc0e5('0x10')](respondWithResult(_0x50298c,null))[_0xc0e5('0x19')](handleError(_0x50298c,null));};