9e127738d89a985ac34903299e8d854ee876262f
[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 _0x6e02=['provider','params','Mail\x20Account\x20not\x20found','MailServerOut','describe','addDisposition','MailAccountId','getDispositions','findOne','Disposition','length','pick','findAll','rows','removeDispositions','ids','addAnswer','CannedAnswer','create','getAnswers','removeAnswers','email','ListId','isNil','active','description','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','MailAccounts','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','addSmtp','removeSmtp','MailInteraction','addInteraction','omit','getInteractions','CmContact','Contact','User','Owner','internal','Tags','color','tag','addApplications','sequelize','transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','priority','stack','finally','send','getApplications','getMessages','$gte','split','YYYY-MM-DD\x20HH:mm:ss','MailMessage','inlineCss','true','CmList','List','Contacts','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','from','format','attachments','root','server/files/attachments','basename','getSmtpOptions','List\x20not\x20found','defaults','subject','attach','out','messageId','Interaction','Messages','verifySmtp','Sequelize','ValidationError','addAgents','spread','emit','userMailAccount:save','removeAgents','userMailAccount:remove','getAgents','moment','bluebird','util','lodash','../../components/parsers/qs','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./mailAccount.socket','register','http','request','then','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','sendStatus','status','end','offset','limit','undefined','count','Content-Range','json','update','get','UserProfileResource','destroy','name','gmail','imap.gmail.com','yahoo','imap.mail.yahoo.com','hotmail','imap-mail.outlook.com','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp-mail.outlook.com','user','username','password','modernAuthentication','CloudProviderId','pass','port','host','secure','service','authentication','Imap','Smtp','index','MailServerIn','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','key','model','keys','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','type','VIRTUAL','options','includeAll','include','show','find','body'];(function(_0x24d2ef,_0x1640c7){var _0x199df3=function(_0x5e27cf){while(--_0x5e27cf){_0x24d2ef['push'](_0x24d2ef['shift']());}};_0x199df3(++_0x1640c7);}(_0x6e02,0x66));var _0x26e0=function(_0x595769,_0x1b27b5){_0x595769=_0x595769-0x0;var _0x1bfdb1=_0x6e02[_0x595769];return _0x1bfdb1;};'use strict';var moment=require(_0x26e0('0x0'));var BPromise=require(_0x26e0('0x1'));var util=require(_0x26e0('0x2'));var path=require('path');var _=require(_0x26e0('0x3'));var juice=require('juice');var Redis=require('ioredis');var qs=require(_0x26e0('0x4'));var logger=require('../../config/logger')('api');var config=require(_0x26e0('0x5'));var db=require(_0x26e0('0x6'))['db'];config[_0x26e0('0x7')]=_['defaults'](config['redis'],{'host':_0x26e0('0x8'),'port':0x18eb});var socket=require(_0x26e0('0x9'))(new Redis(config['redis']));require(_0x26e0('0xa'))[_0x26e0('0xb')](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0x26e0('0xc')]({'port':0x232b});function respondWithRpcPromise(_0x5c5d07,_0x26d9c4,_0x2d5bd7,_0x5372a1){return new BPromise(function(_0x2f668d,_0x3b5ec8){var _0x43c70e=_0x5372a1||client;return _0x43c70e[_0x26e0('0xd')](_0x5c5d07,_0x2d5bd7)[_0x26e0('0xe')](function(_0xbcce77){logger['info'](_0x26e0('0xf'),_0x26d9c4,_0x26e0('0x10'));logger[_0x26e0('0x11')](_0x26e0('0x12'),_0x26d9c4,_0x26e0('0x10'),JSON[_0x26e0('0x13')](_0xbcce77));if(_0xbcce77['error']){if(_0xbcce77[_0x26e0('0x14')][_0x26e0('0x15')]===0x1f4){logger['error'](_0x26e0('0xf'),_0x26d9c4,_0xbcce77[_0x26e0('0x14')][_0x26e0('0x16')]);return _0x3b5ec8(_0xbcce77[_0x26e0('0x14')][_0x26e0('0x16')]);}logger[_0x26e0('0x14')](_0x26e0('0xf'),_0x26d9c4,_0xbcce77[_0x26e0('0x14')]['message']);return _0x2f668d(_0xbcce77['error'][_0x26e0('0x16')]);}else{logger[_0x26e0('0x17')](_0x26e0('0xf'),_0x26d9c4,_0x26e0('0x10'));_0x2f668d(_0xbcce77[_0x26e0('0x18')][_0x26e0('0x16')]);}})[_0x26e0('0x19')](function(_0x6d5e0e){logger[_0x26e0('0x14')](_0x26e0('0xf'),_0x26d9c4,_0x6d5e0e);_0x3b5ec8(_0x6d5e0e);});});}function respondWithStatusCode(_0x1fc0b6,_0x42c038){_0x42c038=_0x42c038||0xcc;return function(_0x5a3a6a){if(_0x5a3a6a){return _0x1fc0b6[_0x26e0('0x1a')](_0x42c038);}return _0x1fc0b6[_0x26e0('0x1b')](_0x42c038)[_0x26e0('0x1c')]();};}function respondWithResult(_0x55d125,_0x591d8d){_0x591d8d=_0x591d8d||0xc8;return function(_0x16fa40){if(_0x16fa40){return _0x55d125[_0x26e0('0x1b')](_0x591d8d)['json'](_0x16fa40);}};}function respondWithFilteredResult(_0x26c5b2,_0x467ba0){return function(_0x321db4){if(_0x321db4){var _0x493c87=typeof _0x467ba0[_0x26e0('0x1d')]==='undefined'&&typeof _0x467ba0[_0x26e0('0x1e')]===_0x26e0('0x1f');var _0x1c2e02=_0x321db4[_0x26e0('0x20')];var _0x4e4783=_0x493c87?0x0:_0x467ba0['offset'];var _0x2512e4=_0x493c87?_0x321db4['count']:_0x467ba0[_0x26e0('0x1d')]+_0x467ba0[_0x26e0('0x1e')];var _0x55808d;if(_0x2512e4>=_0x1c2e02){_0x2512e4=_0x1c2e02;_0x55808d=0xc8;}else{_0x55808d=0xce;}_0x26c5b2[_0x26e0('0x1b')](_0x55808d);return _0x26c5b2['set'](_0x26e0('0x21'),_0x4e4783+'-'+_0x2512e4+'/'+_0x1c2e02)[_0x26e0('0x22')](_0x321db4);}return null;};}function saveUpdates(_0x7e4759){return function(_0x267d67){if(_0x267d67){return _0x267d67[_0x26e0('0x23')](_0x7e4759)[_0x26e0('0xe')](function(_0x47077c){return _0x47077c;});}return null;};}function removeEntity(_0x1fc41e){return function(_0x24080f){if(_0x24080f){return _0x24080f['destroy']()['then'](function(){var _0x5bbc9c=_0x24080f[_0x26e0('0x24')]({'plain':!![]});var _0xa640d7='MailAccounts';return db[_0x26e0('0x25')][_0x26e0('0x26')]({'where':{'type':_0xa640d7,'resourceId':_0x5bbc9c['id']}})[_0x26e0('0xe')](function(){return _0x24080f;});})[_0x26e0('0xe')](function(){_0x1fc41e[_0x26e0('0x1b')](0xcc)[_0x26e0('0x1c')]();});}};}function handleEntityNotFound(_0x718872){return function(_0x49faab){if(!_0x49faab){_0x718872['sendStatus'](0x194);}return _0x49faab;};}function handleError(_0x9dccf5,_0x4a9a39){_0x4a9a39=_0x4a9a39||0x1f4;return function(_0x279754){logger[_0x26e0('0x14')](_0x279754['stack']);if(_0x279754[_0x26e0('0x27')]){delete _0x279754[_0x26e0('0x27')];}_0x9dccf5['status'](_0x4a9a39)['send'](_0x279754);};}function getImapHost(_0x3f6228){switch(_0x3f6228){case _0x26e0('0x28'):return _0x26e0('0x29');case _0x26e0('0x2a'):return _0x26e0('0x2b');case _0x26e0('0x2c'):return _0x26e0('0x2d');case'outlook365':return _0x26e0('0x2e');}throw new Error(_0x26e0('0x2f'),_0x3f6228);}function getSmtpHost(_0x5f48f4){switch(_0x5f48f4){case'gmail':return'smtp.gmail.com';case'yahoo':return'smtp.mail.yahoo.com';case'hotmail':return _0x26e0('0x30');case'outlook365':return'smtp.office365.com';}throw new Error('Unknown\x20email\x20service\x20provider',_0x5f48f4);}function getAuthenticationOptions(_0x4a79b7,_0x97e262){var _0x2c7a0b={};var _0x54c45f={};if(_0x4a79b7){_0x2c7a0b[_0x26e0('0x31')]=_0x54c45f['user']=_0x97e262[_0x26e0('0x32')];_0x2c7a0b[_0x26e0('0x33')]=_0x54c45f['pass']=_0x97e262[_0x26e0('0x33')];if(_0x97e262[_0x26e0('0x34')]){_0x2c7a0b[_0x26e0('0x34')]=_0x54c45f[_0x26e0('0x34')]=!![];_0x2c7a0b[_0x26e0('0x35')]=_0x54c45f[_0x26e0('0x35')]=_0x97e262[_0x26e0('0x35')];_0x2c7a0b['password']=_0x54c45f[_0x26e0('0x36')]=null;}else{_0x2c7a0b[_0x26e0('0x35')]=_0x54c45f['CloudProviderId']=null;}_0x2c7a0b['host']=getImapHost(_0x4a79b7);_0x2c7a0b[_0x26e0('0x37')]=0x3e1;_0x54c45f[_0x26e0('0x38')]=getSmtpHost(_0x4a79b7);_0x54c45f['port']=0x24b;_0x54c45f[_0x26e0('0x39')]=![];_0x2c7a0b[_0x26e0('0x3a')]=_0x54c45f['service']=null;}else{if(_0x97e262[_0x26e0('0x3b')]){_0x2c7a0b[_0x26e0('0x31')]=_0x54c45f[_0x26e0('0x31')]=_0x97e262[_0x26e0('0x32')];_0x2c7a0b[_0x26e0('0x33')]=_0x54c45f['pass']=_0x97e262[_0x26e0('0x33')];}else{_0x2c7a0b[_0x26e0('0x3b')]=_0x54c45f['authentication']=![];_0x2c7a0b[_0x26e0('0x31')]=_0x54c45f[_0x26e0('0x31')]=null;_0x2c7a0b[_0x26e0('0x33')]=_0x54c45f[_0x26e0('0x36')]=null;}_0x2c7a0b[_0x26e0('0x38')]=_0x97e262[_0x26e0('0x3c')][_0x26e0('0x38')];_0x2c7a0b[_0x26e0('0x37')]=_0x97e262['Imap'][_0x26e0('0x37')];_0x54c45f['host']=_0x97e262['Smtp'][_0x26e0('0x38')];_0x54c45f[_0x26e0('0x37')]=_0x97e262[_0x26e0('0x3d')][_0x26e0('0x37')];}return{'Imap':_0x2c7a0b,'Smtp':_0x54c45f};}exports[_0x26e0('0x3e')]=function(_0x4a40d2,_0xbec61a){var _0x39a674={'include':[{'model':db[_0x26e0('0x3f')],'as':_0x26e0('0x3c')},{'model':db['MailServerOut'],'as':_0x26e0('0x3d')},{'model':db[_0x26e0('0x40')],'as':_0x26e0('0x41')}]},_0xb43339={},_0x4b048b={'count':0x0,'rows':[]};var _0x38d9c5=_[_0x26e0('0x42')](db[_0x26e0('0x43')][_0x26e0('0x44')],function(_0xf40fc7){return{'name':_0xf40fc7[_0x26e0('0x45')],'type':_0xf40fc7['type'][_0x26e0('0x46')]};});_0xb43339[_0x26e0('0x47')]=_[_0x26e0('0x42')](_0x38d9c5,'name');_0xb43339['query']=_[_0x26e0('0x48')](_0x4a40d2[_0x26e0('0x49')]);_0xb43339['filters']=_[_0x26e0('0x4a')](_0xb43339[_0x26e0('0x47')],_0xb43339[_0x26e0('0x49')]);_0x39a674[_0x26e0('0x4b')]=_[_0x26e0('0x4a')](_0xb43339['model'],qs['fields'](_0x4a40d2[_0x26e0('0x49')][_0x26e0('0x4c')]));_0x39a674['attributes']=_0x39a674[_0x26e0('0x4b')]['length']?_0x39a674[_0x26e0('0x4b')]:_0xb43339[_0x26e0('0x47')];if(!_0x4a40d2['query'][_0x26e0('0x4d')](_0x26e0('0x4e'))){_0x39a674[_0x26e0('0x1e')]=qs[_0x26e0('0x1e')](_0x4a40d2[_0x26e0('0x49')]['limit']);_0x39a674[_0x26e0('0x1d')]=qs[_0x26e0('0x1d')](_0x4a40d2[_0x26e0('0x49')]['offset']);}_0x39a674[_0x26e0('0x4f')]=qs[_0x26e0('0x50')](_0x4a40d2[_0x26e0('0x49')][_0x26e0('0x50')]);_0x39a674[_0x26e0('0x51')]=qs[_0x26e0('0x52')](_['pick'](_0x4a40d2[_0x26e0('0x49')],_0xb43339[_0x26e0('0x52')]),_0x38d9c5);if(_0x4a40d2[_0x26e0('0x49')][_0x26e0('0x53')]){_0x39a674[_0x26e0('0x51')]=_[_0x26e0('0x54')](_0x39a674[_0x26e0('0x51')],{'$or':_['map'](_0x38d9c5,function(_0x26a919){if(_0x26a919[_0x26e0('0x55')]!==_0x26e0('0x56')){var _0x58f481={};_0x58f481[_0x26a919['name']]={'$like':'%'+_0x4a40d2[_0x26e0('0x49')][_0x26e0('0x53')]+'%'};return _0x58f481;}})});}_0x39a674=_['merge']({},_0x39a674,_0x4a40d2[_0x26e0('0x57')]);var _0x170ec2={'where':_0x39a674['where']};return db['MailAccount'][_0x26e0('0x20')](_0x170ec2)['then'](function(_0x2af5e2){_0x4b048b[_0x26e0('0x20')]=_0x2af5e2;if(_0x4a40d2[_0x26e0('0x49')][_0x26e0('0x58')]){_0x39a674[_0x26e0('0x59')]=[{'all':!![]}];}return db[_0x26e0('0x43')]['findAll'](_0x39a674);})[_0x26e0('0xe')](function(_0x2878a1){_0x4b048b['rows']=_0x2878a1;return _0x4b048b;})[_0x26e0('0xe')](respondWithFilteredResult(_0xbec61a,_0x39a674))[_0x26e0('0x19')](handleError(_0xbec61a,null));};exports[_0x26e0('0x5a')]=function(_0x1fd0ec,_0x100820){var _0x1cc7bb={'raw':![],'where':{'id':_0x1fd0ec['params']['id']},'include':[{'model':db[_0x26e0('0x3f')],'as':_0x26e0('0x3c')},{'model':db['MailServerOut'],'as':_0x26e0('0x3d')},{'model':db[_0x26e0('0x40')],'as':_0x26e0('0x41')}]},_0x56b701={};_0x56b701[_0x26e0('0x47')]=_[_0x26e0('0x48')](db[_0x26e0('0x43')][_0x26e0('0x44')]);_0x56b701['query']=_['keys'](_0x1fd0ec[_0x26e0('0x49')]);_0x56b701[_0x26e0('0x52')]=_[_0x26e0('0x4a')](_0x56b701[_0x26e0('0x47')],_0x56b701[_0x26e0('0x49')]);_0x1cc7bb[_0x26e0('0x4b')]=_[_0x26e0('0x4a')](_0x56b701[_0x26e0('0x47')],qs[_0x26e0('0x4c')](_0x1fd0ec[_0x26e0('0x49')]['fields']));_0x1cc7bb[_0x26e0('0x4b')]=_0x1cc7bb[_0x26e0('0x4b')]['length']?_0x1cc7bb['attributes']:_0x56b701[_0x26e0('0x47')];if(_0x1fd0ec[_0x26e0('0x49')][_0x26e0('0x58')]){_0x1cc7bb['include']=[{'all':!![]}];}_0x1cc7bb=_[_0x26e0('0x54')]({},_0x1cc7bb,_0x1fd0ec['options']);return db['MailAccount'][_0x26e0('0x5b')](_0x1cc7bb)[_0x26e0('0xe')](handleEntityNotFound(_0x100820,null))[_0x26e0('0xe')](respondWithResult(_0x100820,null))['catch'](handleError(_0x100820,null));};exports['update']=function(_0x50c226,_0x5017f5){if(_0x50c226['body']['id']){delete _0x50c226[_0x26e0('0x5c')]['id'];}var _0x4e2b52=_0x50c226[_0x26e0('0x5c')]['provider']==='custom'?null:_0x50c226[_0x26e0('0x5c')][_0x26e0('0x5d')];var _0x63213=_0x50c226[_0x26e0('0x5c')][_0x26e0('0x3c')]||{};var _0x50363f=_0x50c226[_0x26e0('0x5c')][_0x26e0('0x3d')]||{};if(_0x4e2b52){_0x63213[_0x26e0('0x38')]=getImapHost(_0x4e2b52);_0x63213[_0x26e0('0x37')]=0x3e1;_0x50363f[_0x26e0('0x38')]=getSmtpHost(_0x4e2b52);_0x50363f['port']=0x24b;_0x50363f[_0x26e0('0x39')]=![];}if(_0x50363f[_0x26e0('0x34')]){_0x50363f[_0x26e0('0x39')]=![];}else{_0x50363f[_0x26e0('0x35')]=null;}if(!_0x63213[_0x26e0('0x34')])_0x63213['CloudProviderId']=null;_0x50c226['body'][_0x26e0('0x3c')]=_0x63213;_0x50c226[_0x26e0('0x5c')][_0x26e0('0x3d')]=_0x50363f;return db[_0x26e0('0x43')]['find']({'where':{'id':_0x50c226[_0x26e0('0x5e')]['id']},'include':[{'model':db[_0x26e0('0x3f')],'as':'Imap'},{'model':db['MailServerOut'],'as':_0x26e0('0x3d')},{'model':db['Pause'],'as':'mandatoryDispositionPause'}]})[_0x26e0('0xe')](handleEntityNotFound(_0x5017f5,null))[_0x26e0('0xe')](function(_0x4a3e31){if(!_0x4a3e31)throw new Error(_0x26e0('0x5f'));if(_0x4a3e31[_0x26e0('0x3a')])delete _0x50c226[_0x26e0('0x5c')]['Imap'];return _0x4a3e31;})[_0x26e0('0xe')](saveUpdates(_0x50c226[_0x26e0('0x5c')],null))[_0x26e0('0xe')](function(_0x2769ea){if(!_0x50c226[_0x26e0('0x5c')][_0x26e0('0x3c')])return _0x2769ea;return db['MailServerIn'][_0x26e0('0x23')](_0x50c226[_0x26e0('0x5c')][_0x26e0('0x3c')],{'where':{'MailAccountId':_0x2769ea['id']}})[_0x26e0('0xe')](function(){return _0x2769ea;});})[_0x26e0('0xe')](function(_0x4ee483){if(!_0x50c226[_0x26e0('0x5c')][_0x26e0('0x3d')])return _0x4ee483;return db[_0x26e0('0x60')]['update'](_0x50c226[_0x26e0('0x5c')][_0x26e0('0x3d')],{'where':{'MailAccountId':_0x4ee483['id']}})['then'](function(){return _0x4ee483;});})[_0x26e0('0xe')](respondWithResult(_0x5017f5,null))[_0x26e0('0x19')](handleError(_0x5017f5,null));};exports[_0x26e0('0x61')]=function(_0x3ffc01,_0x44cd96){return db[_0x26e0('0x43')][_0x26e0('0x61')]()['then'](respondWithResult(_0x44cd96,null))[_0x26e0('0x19')](handleError(_0x44cd96,null));};exports[_0x26e0('0x62')]=function(_0x2c5ebb,_0x14f1a0){if(_0x2c5ebb[_0x26e0('0x5c')]['id']){delete _0x2c5ebb[_0x26e0('0x5c')]['id'];}return db[_0x26e0('0x43')]['find']({'where':{'id':_0x2c5ebb[_0x26e0('0x5e')]['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0x14f1a0,null))['then'](function(_0x19f0c5){if(_0x19f0c5){_0x2c5ebb[_0x26e0('0x5c')][_0x26e0('0x63')]=_0x19f0c5['id'];return db['Disposition']['create'](_0x2c5ebb[_0x26e0('0x5c')]);}})['then'](respondWithResult(_0x14f1a0,null))[_0x26e0('0x19')](handleError(_0x14f1a0,null));};exports[_0x26e0('0x64')]=function(_0x14da10,_0x2ce910){var _0xfe7ad={'raw':![],'where':{}};var _0x12172c={};var _0xa2703c={'count':0x0,'rows':[]};return db['MailAccount'][_0x26e0('0x65')]({'where':{'id':_0x14da10[_0x26e0('0x5e')]['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0x2ce910,null))['then'](function(_0x4505dd){if(_0x4505dd){_0x12172c[_0x26e0('0x47')]=_['keys'](db[_0x26e0('0x66')][_0x26e0('0x44')]);_0x12172c[_0x26e0('0x49')]=_[_0x26e0('0x48')](_0x14da10[_0x26e0('0x49')]);_0x12172c['filters']=_[_0x26e0('0x4a')](_0x12172c[_0x26e0('0x47')],_0x12172c[_0x26e0('0x49')]);_0xfe7ad[_0x26e0('0x4b')]=_[_0x26e0('0x4a')](_0x12172c[_0x26e0('0x47')],qs['fields'](_0x14da10['query'][_0x26e0('0x4c')]));_0xfe7ad[_0x26e0('0x4b')]=_0xfe7ad[_0x26e0('0x4b')][_0x26e0('0x67')]?_0xfe7ad[_0x26e0('0x4b')]:_0x12172c[_0x26e0('0x47')];if(!_0x14da10[_0x26e0('0x49')][_0x26e0('0x4d')](_0x26e0('0x4e'))){_0xfe7ad[_0x26e0('0x1e')]=qs['limit'](_0x14da10[_0x26e0('0x49')]['limit']);_0xfe7ad[_0x26e0('0x1d')]=qs[_0x26e0('0x1d')](_0x14da10[_0x26e0('0x49')][_0x26e0('0x1d')]);}_0xfe7ad[_0x26e0('0x4f')]=qs[_0x26e0('0x50')](_0x14da10['query'][_0x26e0('0x50')]);_0xfe7ad[_0x26e0('0x51')]=qs['filters'](_[_0x26e0('0x68')](_0x14da10[_0x26e0('0x49')],_0x12172c['filters']));_0xfe7ad[_0x26e0('0x51')][_0x26e0('0x63')]=_0x4505dd['id'];if(_0x14da10[_0x26e0('0x49')][_0x26e0('0x53')]){_0xfe7ad[_0x26e0('0x51')]=_[_0x26e0('0x54')](_0xfe7ad[_0x26e0('0x51')],{'$or':_[_0x26e0('0x42')](_0xfe7ad[_0x26e0('0x4b')],function(_0x10de47){var _0x2cd066={};_0x2cd066[_0x10de47]={'$like':'%'+_0x14da10['query'][_0x26e0('0x53')]+'%'};return _0x2cd066;})});}_0xfe7ad=_['merge']({},_0xfe7ad,_0x14da10[_0x26e0('0x57')]);return db[_0x26e0('0x66')]['count']({'where':_0xfe7ad[_0x26e0('0x51')]})['then'](function(_0x39913a){_0xa2703c[_0x26e0('0x20')]=_0x39913a;if(_0x14da10[_0x26e0('0x49')][_0x26e0('0x58')]){_0xfe7ad[_0x26e0('0x59')]=[{'all':!![]}];}return db[_0x26e0('0x66')][_0x26e0('0x69')](_0xfe7ad);})[_0x26e0('0xe')](function(_0x575b17){_0xa2703c[_0x26e0('0x6a')]=_0x575b17;return _0xa2703c;});}})[_0x26e0('0xe')](respondWithFilteredResult(_0x2ce910,_0xfe7ad))[_0x26e0('0x19')](handleError(_0x2ce910,null));};exports[_0x26e0('0x6b')]=function(_0x42bc24,_0x53d2f8){return db[_0x26e0('0x43')][_0x26e0('0x5b')]({'where':{'id':_0x42bc24[_0x26e0('0x5e')]['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0x53d2f8,null))[_0x26e0('0xe')](function(_0x50f617){if(_0x50f617){return _0x50f617['removeDispositions'](_0x42bc24[_0x26e0('0x49')][_0x26e0('0x6c')]);}})[_0x26e0('0xe')](respondWithStatusCode(_0x53d2f8,null))[_0x26e0('0x19')](handleError(_0x53d2f8,null));};exports[_0x26e0('0x6d')]=function(_0x3bf1de,_0x576c8a){if(_0x3bf1de[_0x26e0('0x5c')]['id']){delete _0x3bf1de[_0x26e0('0x5c')]['id'];}return db[_0x26e0('0x43')]['find']({'where':{'id':_0x3bf1de[_0x26e0('0x5e')]['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0x576c8a,null))[_0x26e0('0xe')](function(_0x2a8f32){if(_0x2a8f32){_0x3bf1de[_0x26e0('0x5c')]['MailAccountId']=_0x2a8f32['id'];return db[_0x26e0('0x6e')][_0x26e0('0x6f')](_0x3bf1de[_0x26e0('0x5c')]);}})['then'](respondWithResult(_0x576c8a,null))['catch'](handleError(_0x576c8a,null));};exports[_0x26e0('0x70')]=function(_0x586500,_0x262fc9){var _0x567468={'raw':![],'where':{}};var _0x6699f4={};var _0xfcde8e={'count':0x0,'rows':[]};return db[_0x26e0('0x43')][_0x26e0('0x65')]({'where':{'id':_0x586500[_0x26e0('0x5e')]['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0x262fc9,null))[_0x26e0('0xe')](function(_0x98dad6){if(_0x98dad6){_0x6699f4[_0x26e0('0x47')]=_['keys'](db['CannedAnswer'][_0x26e0('0x44')]);_0x6699f4[_0x26e0('0x49')]=_[_0x26e0('0x48')](_0x586500[_0x26e0('0x49')]);_0x6699f4['filters']=_[_0x26e0('0x4a')](_0x6699f4[_0x26e0('0x47')],_0x6699f4['query']);_0x567468['attributes']=_['intersection'](_0x6699f4['model'],qs[_0x26e0('0x4c')](_0x586500[_0x26e0('0x49')]['fields']));_0x567468[_0x26e0('0x4b')]=_0x567468['attributes'][_0x26e0('0x67')]?_0x567468['attributes']:_0x6699f4[_0x26e0('0x47')];if(!_0x586500[_0x26e0('0x49')][_0x26e0('0x4d')](_0x26e0('0x4e'))){_0x567468['limit']=qs[_0x26e0('0x1e')](_0x586500['query'][_0x26e0('0x1e')]);_0x567468['offset']=qs[_0x26e0('0x1d')](_0x586500[_0x26e0('0x49')][_0x26e0('0x1d')]);}_0x567468[_0x26e0('0x4f')]=qs[_0x26e0('0x50')](_0x586500[_0x26e0('0x49')][_0x26e0('0x50')]);_0x567468[_0x26e0('0x51')]=qs['filters'](_[_0x26e0('0x68')](_0x586500[_0x26e0('0x49')],_0x6699f4[_0x26e0('0x52')]));_0x567468[_0x26e0('0x51')]['MailAccountId']=_0x98dad6['id'];if(_0x586500['query']['filter']){_0x567468['where']=_['merge'](_0x567468[_0x26e0('0x51')],{'$or':_[_0x26e0('0x42')](_0x567468[_0x26e0('0x4b')],function(_0x511f04){var _0x5d43ad={};_0x5d43ad[_0x511f04]={'$like':'%'+_0x586500[_0x26e0('0x49')][_0x26e0('0x53')]+'%'};return _0x5d43ad;})});}_0x567468=_['merge']({},_0x567468,_0x586500[_0x26e0('0x57')]);return db[_0x26e0('0x6e')][_0x26e0('0x20')]({'where':_0x567468[_0x26e0('0x51')]})[_0x26e0('0xe')](function(_0x388d0e){_0xfcde8e[_0x26e0('0x20')]=_0x388d0e;if(_0x586500[_0x26e0('0x49')][_0x26e0('0x58')]){_0x567468[_0x26e0('0x59')]=[{'all':!![]}];}return db[_0x26e0('0x6e')][_0x26e0('0x69')](_0x567468);})[_0x26e0('0xe')](function(_0x5d6b76){_0xfcde8e[_0x26e0('0x6a')]=_0x5d6b76;return _0xfcde8e;});}})[_0x26e0('0xe')](respondWithFilteredResult(_0x262fc9,_0x567468))[_0x26e0('0x19')](handleError(_0x262fc9,null));};exports[_0x26e0('0x71')]=function(_0x4763c8,_0x6ade24){return db[_0x26e0('0x43')][_0x26e0('0x5b')]({'where':{'id':_0x4763c8['params']['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0x6ade24,null))[_0x26e0('0xe')](function(_0x3a1569){if(_0x3a1569){return _0x3a1569[_0x26e0('0x71')](_0x4763c8[_0x26e0('0x49')]['ids']);}})[_0x26e0('0xe')](respondWithStatusCode(_0x6ade24,null))[_0x26e0('0x19')](handleError(_0x6ade24,null));};exports[_0x26e0('0x6f')]=function(_0x1394fe,_0x3ef1c3){var _0x16f110={'name':_0x1394fe[_0x26e0('0x5c')][_0x26e0('0x27')],'key':_0x1394fe['body'][_0x26e0('0x46')],'provider':_0x1394fe['body']['provider']==='custom'?null:_0x1394fe[_0x26e0('0x5c')][_0x26e0('0x5d')],'email':_0x1394fe[_0x26e0('0x5c')][_0x26e0('0x72')],'ListId':_0x1394fe[_0x26e0('0x5c')][_0x26e0('0x73')],'active':!_[_0x26e0('0x74')](_0x1394fe[_0x26e0('0x5c')][_0x26e0('0x75')])?_0x1394fe[_0x26e0('0x5c')]['active']:!![],'description':_0x1394fe[_0x26e0('0x5c')][_0x26e0('0x76')]||null};var _0x252296=getAuthenticationOptions(_0x16f110[_0x26e0('0x5d')],_0x1394fe['body']);_0x16f110[_0x26e0('0x3c')]=_0x252296[_0x26e0('0x3c')];_0x16f110[_0x26e0('0x3d')]=_0x252296['Smtp'];return db[_0x26e0('0x43')]['create'](_0x16f110,{'include':[{'model':db[_0x26e0('0x60')],'as':_0x26e0('0x3d')},{'model':db[_0x26e0('0x3f')],'as':_0x26e0('0x3c')}]})[_0x26e0('0xe')](function(_0x334a90){var _0x2958d3=_0x1394fe[_0x26e0('0x31')][_0x26e0('0x24')]({'plain':!![]});if(!_0x2958d3)throw new Error(_0x26e0('0x77'));if(_0x2958d3[_0x26e0('0x78')]===_0x26e0('0x31')){var _0x367070=_0x334a90[_0x26e0('0x24')]({'plain':!![]});return db[_0x26e0('0x79')][_0x26e0('0x5b')]({'where':{'name':_0x26e0('0x7a'),'userProfileId':_0x2958d3[_0x26e0('0x7b')]},'raw':!![]})['then'](function(_0x12f8a2){if(_0x12f8a2&&_0x12f8a2[_0x26e0('0x7c')]===0x0){return db[_0x26e0('0x25')][_0x26e0('0x6f')]({'name':_0x367070[_0x26e0('0x27')],'resourceId':_0x367070['id'],'type':_0x12f8a2['name'],'sectionId':_0x12f8a2['id']},{})[_0x26e0('0xe')](function(){return _0x334a90;});}else{return _0x334a90;}})[_0x26e0('0x19')](function(_0x277a55){logger[_0x26e0('0x14')](_0x26e0('0x7d'),_0x277a55);throw _0x277a55;});}return _0x334a90;})[_0x26e0('0xe')](respondWithResult(_0x3ef1c3,0xc9))[_0x26e0('0x19')](handleError(_0x3ef1c3,null));};exports[_0x26e0('0x7e')]=function(_0x4441d4,_0x5736b2){return db[_0x26e0('0x43')][_0x26e0('0x65')]({'where':{'id':_0x4441d4['params']['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0x5736b2,null))['then'](function(_0x3daae0){if(_0x3daae0){return _0x3daae0[_0x26e0('0x7e')]();}return null;})[_0x26e0('0xe')](respondWithResult(_0x5736b2,null))['catch'](handleError(_0x5736b2,null));};exports[_0x26e0('0x7f')]=function(_0x53d0c7,_0x42647a){if(_0x53d0c7[_0x26e0('0x5c')]['id']){delete _0x53d0c7['body']['id'];}return db[_0x26e0('0x43')][_0x26e0('0x5b')]({'where':{'id':_0x53d0c7['params']['id']}})['then'](handleEntityNotFound(_0x42647a,null))[_0x26e0('0xe')](function(_0x45eb81){if(_0x45eb81){_0x53d0c7['body']['MailAccountId']=_0x45eb81['id'];return db[_0x26e0('0x3f')][_0x26e0('0x6f')](_0x53d0c7[_0x26e0('0x5c')]);}})['then'](respondWithResult(_0x42647a,null))[_0x26e0('0x19')](handleError(_0x42647a,null));};exports[_0x26e0('0x80')]=function(_0x8328fe,_0x111dc7){return db[_0x26e0('0x43')]['findOne']({'where':{'id':_0x8328fe[_0x26e0('0x5e')]['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0x111dc7,null))['then'](function(_0x222c33){if(_0x222c33){return _0x222c33['setImap'](null);}return null;})[_0x26e0('0xe')](respondWithStatusCode(_0x111dc7,null))['catch'](handleError(_0x111dc7,null));};exports['getSmtp']=function(_0x17ad36,_0x1ce26f){return db['MailAccount'][_0x26e0('0x65')]({'where':{'id':_0x17ad36[_0x26e0('0x5e')]['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0x1ce26f,null))[_0x26e0('0xe')](function(_0x35083e){if(_0x35083e){return _0x35083e['getSmtp']();}return null;})[_0x26e0('0xe')](respondWithResult(_0x1ce26f,null))[_0x26e0('0x19')](handleError(_0x1ce26f,null));};exports[_0x26e0('0x81')]=function(_0x28d555,_0x3e6352){if(_0x28d555['body']['id']){delete _0x28d555[_0x26e0('0x5c')]['id'];}return db[_0x26e0('0x43')]['find']({'where':{'id':_0x28d555['params']['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0x3e6352,null))[_0x26e0('0xe')](function(_0x4aa4f8){if(_0x4aa4f8){_0x28d555[_0x26e0('0x5c')][_0x26e0('0x63')]=_0x4aa4f8['id'];return db['MailServerOut']['create'](_0x28d555[_0x26e0('0x5c')]);}})['then'](respondWithResult(_0x3e6352,null))[_0x26e0('0x19')](handleError(_0x3e6352,null));};exports[_0x26e0('0x82')]=function(_0x4e1134,_0x4e925f){return db[_0x26e0('0x43')][_0x26e0('0x65')]({'where':{'id':_0x4e1134[_0x26e0('0x5e')]['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0x4e925f,null))[_0x26e0('0xe')](function(_0x1e5881){if(_0x1e5881){return _0x1e5881['setSmtp'](null);}return null;})[_0x26e0('0xe')](respondWithStatusCode(_0x4e925f,null))[_0x26e0('0x19')](handleError(_0x4e925f,null));};exports['addInteraction']=function(_0x587d1a,_0x668cbd){return db[_0x26e0('0x83')][_0x26e0('0x5b')]({'where':{'id':_0x587d1a['params']['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0x668cbd,null))[_0x26e0('0xe')](function(_0x3a4304){if(_0x3a4304){return _0x3a4304[_0x26e0('0x84')](_0x587d1a[_0x26e0('0x5c')][_0x26e0('0x6c')],_[_0x26e0('0x85')](_0x587d1a[_0x26e0('0x5c')],[_0x26e0('0x6c'),'id'])||{});}})['then'](respondWithResult(_0x668cbd,null))[_0x26e0('0x19')](handleError(_0x668cbd,null));};exports[_0x26e0('0x86')]=function(_0x13d3e5,_0x20bd1e){var _0x4ceda5={'raw':![],'where':{}};var _0x73e12a={};var _0x3804f1={'count':0x0,'rows':[]};return db[_0x26e0('0x43')][_0x26e0('0x65')]({'where':{'id':_0x13d3e5['params']['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0x20bd1e,null))['then'](function(_0x5d4c51){if(_0x5d4c51){_0x73e12a['model']=_['keys'](db[_0x26e0('0x83')][_0x26e0('0x44')]);_0x73e12a[_0x26e0('0x49')]=_[_0x26e0('0x48')](_0x13d3e5[_0x26e0('0x49')]);_0x73e12a[_0x26e0('0x52')]=_[_0x26e0('0x4a')](_0x73e12a[_0x26e0('0x47')],_0x73e12a[_0x26e0('0x49')]);_0x4ceda5[_0x26e0('0x4b')]=_[_0x26e0('0x4a')](_0x73e12a['model'],qs[_0x26e0('0x4c')](_0x13d3e5[_0x26e0('0x49')]['fields']));_0x4ceda5[_0x26e0('0x4b')]=_0x4ceda5[_0x26e0('0x4b')]['length']?_0x4ceda5[_0x26e0('0x4b')]:_0x73e12a['model'];if(!_0x13d3e5[_0x26e0('0x49')][_0x26e0('0x4d')](_0x26e0('0x4e'))){_0x4ceda5['limit']=qs['limit'](_0x13d3e5[_0x26e0('0x49')][_0x26e0('0x1e')]);_0x4ceda5[_0x26e0('0x1d')]=qs[_0x26e0('0x1d')](_0x13d3e5[_0x26e0('0x49')][_0x26e0('0x1d')]);}_0x4ceda5[_0x26e0('0x4f')]=qs[_0x26e0('0x50')](_0x13d3e5[_0x26e0('0x49')]['sort']);_0x4ceda5['where']=qs[_0x26e0('0x52')](_[_0x26e0('0x68')](_0x13d3e5[_0x26e0('0x49')],_0x73e12a[_0x26e0('0x52')]));_0x4ceda5[_0x26e0('0x51')][_0x26e0('0x63')]=_0x5d4c51['id'];if(_0x13d3e5[_0x26e0('0x49')][_0x26e0('0x53')]){_0x4ceda5[_0x26e0('0x51')]=_[_0x26e0('0x54')](_0x4ceda5[_0x26e0('0x51')],{'$or':_[_0x26e0('0x42')](_0x4ceda5['attributes'],function(_0x4c3417){var _0x28d710={};_0x28d710[_0x4c3417]={'$like':'%'+_0x13d3e5[_0x26e0('0x49')][_0x26e0('0x53')]+'%'};return _0x28d710;})});}_0x4ceda5=_[_0x26e0('0x54')]({},_0x4ceda5,_0x13d3e5[_0x26e0('0x57')]);return db[_0x26e0('0x83')]['count']({'where':_0x4ceda5[_0x26e0('0x51')]})[_0x26e0('0xe')](function(_0x1b22ca){_0x3804f1[_0x26e0('0x20')]=_0x1b22ca;if(_0x13d3e5[_0x26e0('0x49')][_0x26e0('0x58')]){_0x4ceda5[_0x26e0('0x59')]=[{'model':db[_0x26e0('0x87')],'as':_0x26e0('0x88'),'required':![]},{'model':db[_0x26e0('0x89')],'as':_0x26e0('0x8a'),'attributes':['name','fullname',_0x26e0('0x8b')],'required':![]},{'model':db['Tag'],'as':_0x26e0('0x8c'),'attributes':['id',_0x26e0('0x27'),_0x26e0('0x8d')],'where':_0x13d3e5[_0x26e0('0x49')][_0x26e0('0x8e')]?{'id':_0x13d3e5[_0x26e0('0x49')][_0x26e0('0x8e')]}:undefined,'required':_0x13d3e5[_0x26e0('0x49')][_0x26e0('0x8e')]?!![]:![]}];}return db[_0x26e0('0x83')][_0x26e0('0x69')](_0x4ceda5);})[_0x26e0('0xe')](function(_0x1f0235){_0x3804f1[_0x26e0('0x6a')]=_0x1f0235;return _0x3804f1;});}})[_0x26e0('0xe')](respondWithFilteredResult(_0x20bd1e,_0x4ceda5))[_0x26e0('0x19')](handleError(_0x20bd1e,null));};exports[_0x26e0('0x8f')]=function addApplications(_0x7347e9,_0xef42d2){var _0x457c48=_0x7347e9[_0x26e0('0x5e')]['id'];var _0xbe3bc7=_0x7347e9[_0x26e0('0x5c')];var _0xd33c6b=0xc8;var _0xfb1a3d=null;return db[_0x26e0('0x90')][_0x26e0('0x91')]({'isolationLevel':db[_0x26e0('0x90')]['Transaction'][_0x26e0('0x92')][_0x26e0('0x93')]},function(_0x388a95){return db[_0x26e0('0x43')]['findOne']({'where':{'id':_0x457c48},'transaction':_0x388a95})[_0x26e0('0xe')](function(_0x44b00b){if(_0x44b00b){return db[_0x26e0('0x94')][_0x26e0('0x26')]({'where':{'MailAccountId':_0x457c48},'transaction':_0x388a95})[_0x26e0('0xe')](function(){var _0x2bcd4d=_[_0x26e0('0x42')](_0xbe3bc7,function(_0x2e6282){_0x2e6282[_0x26e0('0x63')]=_0x457c48;return _0x2e6282;});return db[_0x26e0('0x94')][_0x26e0('0x95')](_0x2bcd4d,{'transaction':_0x388a95});});}else{_0xd33c6b=0x194;_0xfb1a3d=[];}});})['then'](function(){if(_0xd33c6b!==0x194){return db[_0x26e0('0x94')][_0x26e0('0x96')]({'where':{'MailAccountId':_0x457c48},'order':_0x26e0('0x97')})[_0x26e0('0xe')](function(_0x448fb6){_0xfb1a3d=_0x448fb6;});}})['catch'](function(_0x1f2f7e){_0xd33c6b=0x1f4;logger[_0x26e0('0x14')](_0x1f2f7e[_0x26e0('0x98')]);if(_0x1f2f7e[_0x26e0('0x27')]){delete _0x1f2f7e['name'];}_0xfb1a3d=_0x1f2f7e;})[_0x26e0('0x99')](function(){if(_0xfb1a3d===null){_0xef42d2[_0x26e0('0x1a')](_0xd33c6b);}else{if(_0xd33c6b===0x1f4){_0xef42d2[_0x26e0('0x1b')](_0xd33c6b)[_0x26e0('0x9a')](_0xfb1a3d);}else{_0xef42d2[_0x26e0('0x1b')](_0xd33c6b)[_0x26e0('0x22')](_0xfb1a3d);}}});};exports['getApplications']=function(_0x1db67a,_0x405003){var _0x168742={};var _0x55ee48={};var _0x1c9bb8;var _0x3cd214;return db[_0x26e0('0x43')][_0x26e0('0x65')]({'where':{'id':_0x1db67a[_0x26e0('0x5e')]['id']}})['then'](handleEntityNotFound(_0x405003,null))[_0x26e0('0xe')](function(_0x42e640){if(_0x42e640){_0x1c9bb8=_0x42e640;_0x55ee48['model']=_[_0x26e0('0x48')](db[_0x26e0('0x94')][_0x26e0('0x44')]);_0x55ee48[_0x26e0('0x49')]=_['keys'](_0x1db67a[_0x26e0('0x49')]);_0x55ee48[_0x26e0('0x52')]=_[_0x26e0('0x4a')](_0x55ee48[_0x26e0('0x47')],_0x55ee48[_0x26e0('0x49')]);_0x168742[_0x26e0('0x4b')]=_[_0x26e0('0x4a')](_0x55ee48[_0x26e0('0x47')],qs[_0x26e0('0x4c')](_0x1db67a[_0x26e0('0x49')][_0x26e0('0x4c')]));_0x168742[_0x26e0('0x4b')]=_0x168742['attributes']['length']?_0x168742['attributes']:_0x55ee48[_0x26e0('0x47')];_0x168742['order']=qs[_0x26e0('0x50')](_0x1db67a[_0x26e0('0x49')][_0x26e0('0x50')]);_0x168742[_0x26e0('0x51')]=qs[_0x26e0('0x52')](_['pick'](_0x1db67a[_0x26e0('0x49')],_0x55ee48[_0x26e0('0x52')]));if(_0x1db67a[_0x26e0('0x49')][_0x26e0('0x53')]){_0x168742[_0x26e0('0x51')]=_[_0x26e0('0x54')](_0x168742[_0x26e0('0x51')],{'$or':_[_0x26e0('0x42')](_0x168742[_0x26e0('0x4b')],function(_0x143631){var _0x1e8622={};_0x1e8622[_0x143631]={'$like':'%'+_0x1db67a['query']['filter']+'%'};return _0x1e8622;})});}_0x168742=_['merge']({},_0x168742,_0x1db67a[_0x26e0('0x57')]);return _0x1c9bb8[_0x26e0('0x9b')](_0x168742);}})[_0x26e0('0xe')](function(_0x4be040){if(_0x4be040){_0x3cd214=_0x4be040[_0x26e0('0x67')];if(!_0x1db67a[_0x26e0('0x49')][_0x26e0('0x4d')](_0x26e0('0x4e'))){_0x168742['limit']=qs[_0x26e0('0x1e')](_0x1db67a['query'][_0x26e0('0x1e')]);_0x168742[_0x26e0('0x1d')]=qs['offset'](_0x1db67a[_0x26e0('0x49')][_0x26e0('0x1d')]);}return _0x1c9bb8['getApplications'](_0x168742);}})[_0x26e0('0xe')](function(_0x26744a){if(_0x26744a){return _0x26744a?{'count':_0x3cd214,'rows':_0x26744a}:null;}})[_0x26e0('0xe')](respondWithResult(_0x405003,null))[_0x26e0('0x19')](handleError(_0x405003,null));};exports[_0x26e0('0x9c')]=function(_0x31fec4,_0x5df403){var _0x42a983={'raw':!![],'where':{}};var _0x1b3821={};var _0x4da2e3={'count':0x0,'rows':[]};return db[_0x26e0('0x43')][_0x26e0('0x65')]({'where':{'id':_0x31fec4[_0x26e0('0x5e')]['id']}})['then'](handleEntityNotFound(_0x5df403,null))[_0x26e0('0xe')](function(_0x30a141){if(_0x30a141){_0x1b3821[_0x26e0('0x47')]=_['keys'](db['MailMessage'][_0x26e0('0x44')]);_0x1b3821[_0x26e0('0x49')]=_[_0x26e0('0x48')](_0x31fec4[_0x26e0('0x49')]);_0x1b3821[_0x26e0('0x52')]=_[_0x26e0('0x4a')](_0x1b3821[_0x26e0('0x47')],_0x1b3821[_0x26e0('0x49')]);_0x42a983[_0x26e0('0x4b')]=_[_0x26e0('0x4a')](_0x1b3821['model'],qs[_0x26e0('0x4c')](_0x31fec4['query'][_0x26e0('0x4c')]));_0x42a983[_0x26e0('0x4b')]=_0x42a983[_0x26e0('0x4b')][_0x26e0('0x67')]?_0x42a983[_0x26e0('0x4b')]:_0x1b3821[_0x26e0('0x47')];if(!_0x31fec4[_0x26e0('0x49')][_0x26e0('0x4d')](_0x26e0('0x4e'))){_0x42a983[_0x26e0('0x1e')]=qs['limit'](_0x31fec4[_0x26e0('0x49')][_0x26e0('0x1e')]);_0x42a983[_0x26e0('0x1d')]=qs['offset'](_0x31fec4[_0x26e0('0x49')][_0x26e0('0x1d')]);}_0x42a983['order']=qs['sort'](_0x31fec4['query'][_0x26e0('0x50')]);_0x42a983[_0x26e0('0x51')]=qs[_0x26e0('0x52')](_[_0x26e0('0x68')](_0x31fec4['query'],_0x1b3821[_0x26e0('0x52')]));_0x42a983['where']['MailAccountId']=_0x30a141['id'];if(_0x31fec4[_0x26e0('0x49')][_0x26e0('0x53')]){_0x42a983[_0x26e0('0x51')]=_[_0x26e0('0x54')](_0x42a983[_0x26e0('0x51')],{'$or':_[_0x26e0('0x42')](_0x42a983[_0x26e0('0x4b')],function(_0x2bc127){var _0x17d4b6={};_0x17d4b6[_0x2bc127]={'$like':'%'+_0x31fec4[_0x26e0('0x49')][_0x26e0('0x53')]+'%'};return _0x17d4b6;})});}if(_0x31fec4[_0x26e0('0x49')][_0x26e0('0x9d')]){var _0xd19a0f=_0x31fec4[_0x26e0('0x49')][_0x26e0('0x9d')][_0x26e0('0x9e')](',');var _0x18647d={};_0x18647d[_0xd19a0f[0x0]]={'$gte':moment(_0xd19a0f[0x1])['format'](_0x26e0('0x9f'))};_0x42a983[_0x26e0('0x51')]=_[_0x26e0('0x54')](_0x42a983[_0x26e0('0x51')],_0x18647d);}_0x42a983=_[_0x26e0('0x54')]({},_0x42a983,_0x31fec4['options']);return db[_0x26e0('0xa0')][_0x26e0('0x20')]({'where':_0x42a983[_0x26e0('0x51')]})[_0x26e0('0xe')](function(_0x325cec){_0x4da2e3[_0x26e0('0x20')]=_0x325cec;if(_0x31fec4[_0x26e0('0x49')]['includeAll']){_0x42a983[_0x26e0('0x59')]=[{'all':!![]}];}return db['MailMessage']['findAll'](_0x42a983);})[_0x26e0('0xe')](function(_0xb1f341){if(_0x31fec4['query'][_0x26e0('0xa1')]===_0x26e0('0xa2')){for(var _0x3bf1b1=0x0;_0x3bf1b1<_0xb1f341[_0x26e0('0x67')];_0x3bf1b1++){_0xb1f341[_0x3bf1b1][_0x26e0('0x5c')]=juice(_0xb1f341[_0x3bf1b1][_0x26e0('0x5c')]);}}_0x4da2e3[_0x26e0('0x6a')]=_0xb1f341;return _0x4da2e3;});}})[_0x26e0('0xe')](respondWithFilteredResult(_0x5df403,_0x42a983))[_0x26e0('0x19')](handleError(_0x5df403,null));};exports[_0x26e0('0x9a')]=function(_0x14c27d,_0x54f685){var _0x5d770f,_0x8d4ab6={},_0x1c000a;if(_0x14c27d[_0x26e0('0x5c')]['to']){_0x1c000a=_0x14c27d[_0x26e0('0x5c')]['to'][_0x26e0('0x9e')](',')[0x0];}return db[_0x26e0('0x43')][_0x26e0('0x5b')]({'where':{'id':_0x14c27d[_0x26e0('0x5e')]['id']},'include':[{'model':db[_0x26e0('0xa3')],'as':_0x26e0('0xa4'),'include':[{'model':db[_0x26e0('0x87')],'as':_0x26e0('0xa5'),'where':{'email':_0x1c000a},'limit':0x1,'order':[[_0x26e0('0xa6'),_0x26e0('0xa7')]]}]},{'model':db[_0x26e0('0x60')],'as':_0x26e0('0x3d'),'raw':!![],'include':[{'model':db[_0x26e0('0xa8')],'as':_0x26e0('0xa8'),'raw':!![]}]}]})[_0x26e0('0xe')](handleEntityNotFound(_0x54f685,null))[_0x26e0('0xe')](function(_0x15a863){if(!_0x15a863)return;_0x5d770f=_0x15a863;if(!_0x15a863[_0x26e0('0x3d')])throw new Error(_0x26e0('0xa9'));if(_['isNil'](_0x14c27d[_0x26e0('0x5c')]['from'])){_0x14c27d['body'][_0x26e0('0xaa')]=util[_0x26e0('0xab')]('%s\x20<%s>',_0x15a863['name'],_0x15a863[_0x26e0('0x72')]||_0x15a863[_0x26e0('0x3d')][_0x26e0('0x31')]);}if(_0x14c27d['body'][_0x26e0('0xac')]&&_0x14c27d[_0x26e0('0x5c')]['attachments'][_0x26e0('0x67')]){for(var _0x7ede97=0x0;_0x7ede97<_0x14c27d[_0x26e0('0x5c')][_0x26e0('0xac')]['length'];_0x7ede97+=0x1){_0x14c27d[_0x26e0('0x5c')][_0x26e0('0xac')][_0x7ede97]={'filename':_0x14c27d[_0x26e0('0x5c')][_0x26e0('0xac')][_0x7ede97]['name'],'path':path['join'](config[_0x26e0('0xad')],_0x26e0('0xae'),_0x14c27d[_0x26e0('0x5c')][_0x26e0('0xac')][_0x7ede97][_0x26e0('0xaf')])};}}var _0x2066be=_0x15a863[_0x26e0('0xb0')]();return respondWithRpcPromise('SendMail','sendMail',{'account':_0x2066be,'message':_0x14c27d[_0x26e0('0x5c')]});})[_0x26e0('0xe')](function(_0x4b1c01){if(!_0x4b1c01)return;_0x8d4ab6=_0x4b1c01;if(!_0x5d770f[_0x26e0('0xa4')])throw new Error(_0x26e0('0xb1'));if(_0x5d770f[_0x26e0('0xa4')][_0x26e0('0xa5')][_0x26e0('0x67')])return _0x5d770f['List'][_0x26e0('0xa5')][0x0];return db[_0x26e0('0x87')][_0x26e0('0x6f')](_[_0x26e0('0xb2')](_0x14c27d['body'],{'firstName':_0x14c27d['body']['to'],'email':_0x14c27d[_0x26e0('0x5c')]['to'],'phone':_0x14c27d[_0x26e0('0x5c')]['to'],'ListId':_0x5d770f['ListId']}));})['then'](function(_0x2d1e9c){if(!_0x2d1e9c)return;var _0x1caadf={'UserId':_0x14c27d[_0x26e0('0x31')]['id'],'ContactId':_0x2d1e9c['id'],'MailAccountId':_0x5d770f['id'],'inReplyTo':_0x8d4ab6['messageId'],'to':_0x14c27d[_0x26e0('0x5c')][_0x26e0('0xaa')],'cc':_0x14c27d[_0x26e0('0x5c')]['cc'],'subject':_0x14c27d[_0x26e0('0x5c')][_0x26e0('0xb3')],'attach':_0x14c27d[_0x26e0('0x5c')][_0x26e0('0xb4')],'firstMsgDirection':_0x26e0('0xb5'),'lastMsgAt':moment()[_0x26e0('0xab')](_0x26e0('0x9f')),'lastMsgDirection':_0x26e0('0xb5'),'Messages':[_[_0x26e0('0x54')](_0x14c27d['body'],{'messageId':_0x8d4ab6[_0x26e0('0xb6')],'sentAt':moment()['format'](_0x26e0('0x9f')),'read':!![],'MailAccountId':_0x5d770f['id'],'UserId':_0x14c27d[_0x26e0('0x31')]['id'],'ContactId':_0x2d1e9c['id']})]};if(_0x14c27d['body']['Interaction']){_0x1caadf=_['merge'](_0x1caadf,_0x14c27d[_0x26e0('0x5c')][_0x26e0('0xb7')]);}return db[_0x26e0('0x83')]['create'](_0x1caadf,{'include':[{'model':db[_0x26e0('0xa0')],'as':_0x26e0('0xb8')}]});})['then'](respondWithResult(_0x54f685,null))[_0x26e0('0x19')](handleError(_0x54f685,null));};exports[_0x26e0('0xb9')]=function(_0xba4cf5,_0x3167ba){return db[_0x26e0('0x43')][_0x26e0('0x5b')]({'where':{'id':_0xba4cf5[_0x26e0('0x5e')]['id']},'include':[{'model':db[_0x26e0('0x60')],'as':_0x26e0('0x3d'),'raw':!![],'include':[{'model':db[_0x26e0('0xa8')],'as':_0x26e0('0xa8'),'raw':!![]}]}]})['then'](handleEntityNotFound(_0x3167ba,null))[_0x26e0('0xe')](function(_0x5d4cb9){if(!_0x5d4cb9[_0x26e0('0x3d')])return;var _0x30c8b7=_0x5d4cb9[_0x26e0('0xb0')]();return respondWithRpcPromise('VerifySmtp',_0x26e0('0xb9'),{'account':_0x30c8b7});})[_0x26e0('0xe')](respondWithResult(_0x3167ba,null))[_0x26e0('0x19')](handleError(_0x3167ba,null));};exports['destroy']=function(_0x26887d,_0xde9615){return db[_0x26e0('0x43')][_0x26e0('0x5b')]({'where':{'id':_0x26887d[_0x26e0('0x5e')]['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0xde9615,null))[_0x26e0('0xe')](function(_0x20fed7){if(_0x20fed7&&_0x20fed7['service']){throw new db[(_0x26e0('0xba'))][(_0x26e0('0xbb'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x20fed7;})[_0x26e0('0xe')](removeEntity(_0xde9615,null))[_0x26e0('0x19')](handleError(_0xde9615,null));};exports[_0x26e0('0xbc')]=function(_0x4902f8,_0x5d2794){return db[_0x26e0('0x43')][_0x26e0('0x5b')]({'where':{'id':_0x4902f8['params']['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0x5d2794,null))[_0x26e0('0xe')](function(_0x4229de){if(_0x4229de){return _0x4229de[_0x26e0('0xbc')](_0x4902f8[_0x26e0('0x5c')][_0x26e0('0x6c')],_[_0x26e0('0x85')](_0x4902f8[_0x26e0('0x5c')],[_0x26e0('0x6c'),'id'])||{})[_0x26e0('0xbd')](function(_0x26c0da){for(var _0x23c40d=0x0;_0x23c40d<_0x4902f8[_0x26e0('0x5c')][_0x26e0('0x6c')][_0x26e0('0x67')];_0x23c40d+=0x1){socket[_0x26e0('0xbe')](_0x26e0('0xbf'),{'UserId':Number(_0x4902f8[_0x26e0('0x5c')][_0x26e0('0x6c')][_0x23c40d]),'MailAccountId':Number(_0x4902f8[_0x26e0('0x5e')]['id'])});}return _0x26c0da;});}})['then'](respondWithResult(_0x5d2794,null))[_0x26e0('0x19')](handleError(_0x5d2794,null));};exports[_0x26e0('0xc0')]=function(_0x68d4fe,_0x106ef5){return db[_0x26e0('0x43')]['find']({'where':{'id':_0x68d4fe['params']['id']}})['then'](handleEntityNotFound(_0x106ef5,null))[_0x26e0('0xe')](function(_0x1f72ba){if(_0x1f72ba){return _0x1f72ba[_0x26e0('0xc0')](_0x68d4fe[_0x26e0('0x49')][_0x26e0('0x6c')])[_0x26e0('0xe')](function(){if(_['isArray'](_0x68d4fe[_0x26e0('0x49')]['ids'])){for(var _0x4a3a8a=0x0;_0x4a3a8a<_0x68d4fe[_0x26e0('0x49')]['ids']['length'];_0x4a3a8a+=0x1){socket[_0x26e0('0xbe')](_0x26e0('0xc1'),{'UserId':Number(_0x68d4fe[_0x26e0('0x49')]['ids'][_0x4a3a8a]),'MailAccountId':Number(_0x68d4fe['params']['id'])});}}else{socket['emit'](_0x26e0('0xc1'),{'UserId':Number(_0x68d4fe['query'][_0x26e0('0x6c')]),'MailAccountId':Number(_0x68d4fe[_0x26e0('0x5e')]['id'])});}});}})[_0x26e0('0xe')](respondWithStatusCode(_0x106ef5,null))[_0x26e0('0x19')](handleError(_0x106ef5,null));};exports[_0x26e0('0xc2')]=function(_0x53013d,_0x5f2e58){var _0x1b33c9={};var _0x7a64c5={};var _0x31f416;var _0x4e79ad;return db['MailAccount'][_0x26e0('0x65')]({'where':{'id':_0x53013d[_0x26e0('0x5e')]['id']}})[_0x26e0('0xe')](handleEntityNotFound(_0x5f2e58,null))[_0x26e0('0xe')](function(_0x59f8f8){if(_0x59f8f8){_0x31f416=_0x59f8f8;_0x7a64c5[_0x26e0('0x47')]=_[_0x26e0('0x48')](db['User'][_0x26e0('0x44')]);_0x7a64c5['query']=_['keys'](_0x53013d[_0x26e0('0x49')]);_0x7a64c5['filters']=_[_0x26e0('0x4a')](_0x7a64c5[_0x26e0('0x47')],_0x7a64c5[_0x26e0('0x49')]);_0x1b33c9[_0x26e0('0x4b')]=_['intersection'](_0x7a64c5[_0x26e0('0x47')],qs[_0x26e0('0x4c')](_0x53013d[_0x26e0('0x49')][_0x26e0('0x4c')]));_0x1b33c9[_0x26e0('0x4b')]=_0x1b33c9[_0x26e0('0x4b')]['length']?_0x1b33c9['attributes']:_0x7a64c5[_0x26e0('0x47')];_0x1b33c9[_0x26e0('0x4f')]=qs[_0x26e0('0x50')](_0x53013d[_0x26e0('0x49')][_0x26e0('0x50')]);_0x1b33c9[_0x26e0('0x51')]=qs[_0x26e0('0x52')](_[_0x26e0('0x68')](_0x53013d[_0x26e0('0x49')],_0x7a64c5[_0x26e0('0x52')]));if(_0x53013d['query'][_0x26e0('0x53')]){_0x1b33c9[_0x26e0('0x51')]=_[_0x26e0('0x54')](_0x1b33c9[_0x26e0('0x51')],{'$or':_[_0x26e0('0x42')](_0x1b33c9[_0x26e0('0x4b')],function(_0x43fe00){var _0x2d9cc8={};_0x2d9cc8[_0x43fe00]={'$like':'%'+_0x53013d[_0x26e0('0x49')][_0x26e0('0x53')]+'%'};return _0x2d9cc8;})});}_0x1b33c9=_[_0x26e0('0x54')]({},_0x1b33c9,_0x53013d[_0x26e0('0x57')]);return _0x31f416[_0x26e0('0xc2')](_0x1b33c9);}})[_0x26e0('0xe')](function(_0x4c7711){if(_0x4c7711){_0x4e79ad=_0x4c7711['length'];if(!_0x53013d[_0x26e0('0x49')]['hasOwnProperty'](_0x26e0('0x4e'))){_0x1b33c9[_0x26e0('0x1e')]=qs['limit'](_0x53013d[_0x26e0('0x49')][_0x26e0('0x1e')]);_0x1b33c9['offset']=qs[_0x26e0('0x1d')](_0x53013d[_0x26e0('0x49')][_0x26e0('0x1d')]);}return _0x31f416[_0x26e0('0xc2')](_0x1b33c9);}})[_0x26e0('0xe')](function(_0x1d2e18){if(_0x1d2e18){return _0x1d2e18?{'count':_0x4e79ad,'rows':_0x1d2e18}:null;}})['then'](respondWithResult(_0x5f2e58,null))['catch'](handleError(_0x5f2e58,null));};