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 _0xcae8=['MailApplication','findAndCountAll','priority','finally','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','true','CmList','List','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','from','%s\x20<%s>','attachments','root','server/files/attachments','basename','getSmtpOptions','SendMail','sendMail','List\x20not\x20found','Contacts','ListId','messageId','subject','attach','Interaction','VerifySmtp','verifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','util','path','lodash','ioredis','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','jayson/promise','client','http','request','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','end','status','offset','undefined','limit','count','set','json','destroy','get','UserProfileResource','sendStatus','stack','name','send','gmail','yahoo','hotmail','imap-mail.outlook.com','outlook365','smtp.gmail.com','smtp.mail.yahoo.com','smtp-mail.outlook.com','smtp.office365.com','Unknown\x20email\x20service\x20provider','user','username','password','pass','modernAuthentication','CloudProviderId','port','host','secure','service','authentication','Imap','Smtp','index','MailServerIn','MailServerOut','Pause','mandatoryDispositionPause','MailAccount','rawAttributes','type','key','model','map','keys','filters','intersection','query','fields','attributes','sort','pick','filter','where','merge','options','includeAll','include','findAll','rows','length','catch','body','provider','custom','find','params','Mail\x20Account\x20not\x20found','update','describe','MailAccountId','Disposition','getDispositions','hasOwnProperty','nolimit','order','removeDispositions','ids','addAnswer','create','findOne','CannedAnswer','removeAnswers','isNil','active','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','setImap','getSmtp','removeSmtp','setSmtp','MailInteraction','addInteraction','omit','getInteractions','CmContact','Contact','User','fullname','internal','Tag','Tags','color','tag','addApplications','sequelize','transaction','READ_COMMITTED'];(function(_0x4a53d,_0x58a95e){var _0x27410e=function(_0x38fc90){while(--_0x38fc90){_0x4a53d['push'](_0x4a53d['shift']());}};_0x27410e(++_0x58a95e);}(_0xcae8,0x1b4));var _0x8cae=function(_0x22377a,_0x3397cb){_0x22377a=_0x22377a-0x0;var _0x36f105=_0xcae8[_0x22377a];return _0x36f105;};'use strict';var moment=require('moment');var BPromise=require('bluebird');var util=require(_0x8cae('0x0'));var path=require(_0x8cae('0x1'));var _=require(_0x8cae('0x2'));var juice=require('juice');var Redis=require(_0x8cae('0x3'));var qs=require('../../components/parsers/qs');var logger=require(_0x8cae('0x4'))(_0x8cae('0x5'));var config=require(_0x8cae('0x6'));var db=require(_0x8cae('0x7'))['db'];config[_0x8cae('0x8')]=_[_0x8cae('0x9')](config['redis'],{'host':_0x8cae('0xa'),'port':0x18eb});var socket=require(_0x8cae('0xb'))(new Redis(config[_0x8cae('0x8')]));require('./mailAccount.socket')[_0x8cae('0xc')](socket);var jayson=require(_0x8cae('0xd'));var client=jayson[_0x8cae('0xe')][_0x8cae('0xf')]({'port':0x232b});function respondWithRpcPromise(_0x398a15,_0x82125e,_0x166562,_0x7d6369){return new BPromise(function(_0x3a8727,_0x3ef2bb){var _0x192fe4=_0x7d6369||client;return _0x192fe4[_0x8cae('0x10')](_0x398a15,_0x166562)[_0x8cae('0x11')](function(_0x69b27a){logger[_0x8cae('0x12')](_0x8cae('0x13'),_0x82125e,_0x8cae('0x14'));logger[_0x8cae('0x15')](_0x8cae('0x16'),_0x82125e,_0x8cae('0x14'),JSON[_0x8cae('0x17')](_0x69b27a));if(_0x69b27a['error']){if(_0x69b27a[_0x8cae('0x18')][_0x8cae('0x19')]===0x1f4){logger[_0x8cae('0x18')](_0x8cae('0x13'),_0x82125e,_0x69b27a[_0x8cae('0x18')][_0x8cae('0x1a')]);return _0x3ef2bb(_0x69b27a[_0x8cae('0x18')]['message']);}logger[_0x8cae('0x18')](_0x8cae('0x13'),_0x82125e,_0x69b27a[_0x8cae('0x18')][_0x8cae('0x1a')]);return _0x3a8727(_0x69b27a[_0x8cae('0x18')][_0x8cae('0x1a')]);}else{logger[_0x8cae('0x12')](_0x8cae('0x13'),_0x82125e,_0x8cae('0x14'));_0x3a8727(_0x69b27a[_0x8cae('0x1b')][_0x8cae('0x1a')]);}})['catch'](function(_0x18d357){logger[_0x8cae('0x18')](_0x8cae('0x13'),_0x82125e,_0x18d357);_0x3ef2bb(_0x18d357);});});}function respondWithStatusCode(_0x526b47,_0x1eb82f){_0x1eb82f=_0x1eb82f||0xcc;return function(_0x12eaa1){if(_0x12eaa1){return _0x526b47['sendStatus'](_0x1eb82f);}return _0x526b47['status'](_0x1eb82f)[_0x8cae('0x1c')]();};}function respondWithResult(_0x19ab42,_0x392b36){_0x392b36=_0x392b36||0xc8;return function(_0x290592){if(_0x290592){return _0x19ab42[_0x8cae('0x1d')](_0x392b36)['json'](_0x290592);}};}function respondWithFilteredResult(_0x320fd2,_0x5b3dfc){return function(_0x1589be){if(_0x1589be){var _0x3bdad1=typeof _0x5b3dfc[_0x8cae('0x1e')]===_0x8cae('0x1f')&&typeof _0x5b3dfc[_0x8cae('0x20')]===_0x8cae('0x1f');var _0x26e6c5=_0x1589be[_0x8cae('0x21')];var _0x4d53bb=_0x3bdad1?0x0:_0x5b3dfc[_0x8cae('0x1e')];var _0x231091=_0x3bdad1?_0x1589be[_0x8cae('0x21')]:_0x5b3dfc[_0x8cae('0x1e')]+_0x5b3dfc[_0x8cae('0x20')];var _0x5716fe;if(_0x231091>=_0x26e6c5){_0x231091=_0x26e6c5;_0x5716fe=0xc8;}else{_0x5716fe=0xce;}_0x320fd2[_0x8cae('0x1d')](_0x5716fe);return _0x320fd2[_0x8cae('0x22')]('Content-Range',_0x4d53bb+'-'+_0x231091+'/'+_0x26e6c5)[_0x8cae('0x23')](_0x1589be);}return null;};}function saveUpdates(_0xd5a9b4){return function(_0x5393be){if(_0x5393be){return _0x5393be['update'](_0xd5a9b4)[_0x8cae('0x11')](function(_0x5a7efc){return _0x5a7efc;});}return null;};}function removeEntity(_0x123d93){return function(_0x3205a8){if(_0x3205a8){return _0x3205a8[_0x8cae('0x24')]()[_0x8cae('0x11')](function(){var _0x1a92ec=_0x3205a8[_0x8cae('0x25')]({'plain':!![]});var _0x5792d2='MailAccounts';return db[_0x8cae('0x26')]['destroy']({'where':{'type':_0x5792d2,'resourceId':_0x1a92ec['id']}})['then'](function(){return _0x3205a8;});})['then'](function(){_0x123d93[_0x8cae('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5e7070){return function(_0x3f95a1){if(!_0x3f95a1){_0x5e7070[_0x8cae('0x27')](0x194);}return _0x3f95a1;};}function handleError(_0x2d9d10,_0xba6324){_0xba6324=_0xba6324||0x1f4;return function(_0x2ebe67){logger[_0x8cae('0x18')](_0x2ebe67[_0x8cae('0x28')]);if(_0x2ebe67[_0x8cae('0x29')]){delete _0x2ebe67[_0x8cae('0x29')];}_0x2d9d10[_0x8cae('0x1d')](_0xba6324)[_0x8cae('0x2a')](_0x2ebe67);};}function getImapHost(_0x3a704c){switch(_0x3a704c){case _0x8cae('0x2b'):return'imap.gmail.com';case _0x8cae('0x2c'):return'imap.mail.yahoo.com';case _0x8cae('0x2d'):return _0x8cae('0x2e');case _0x8cae('0x2f'):return'outlook.office365.com';}throw new Error('Unknown\x20email\x20service\x20provider',_0x3a704c);}function getSmtpHost(_0x5cbb2d){switch(_0x5cbb2d){case _0x8cae('0x2b'):return _0x8cae('0x30');case _0x8cae('0x2c'):return _0x8cae('0x31');case'hotmail':return _0x8cae('0x32');case'outlook365':return _0x8cae('0x33');}throw new Error(_0x8cae('0x34'),_0x5cbb2d);}function getAuthenticationOptions(_0x4b76a4,_0x1c2421){var _0x3acbe5={};var _0xd6924f={};if(_0x4b76a4){_0x3acbe5[_0x8cae('0x35')]=_0xd6924f[_0x8cae('0x35')]=_0x1c2421[_0x8cae('0x36')];_0x3acbe5[_0x8cae('0x37')]=_0xd6924f[_0x8cae('0x38')]=_0x1c2421[_0x8cae('0x37')];if(_0x1c2421[_0x8cae('0x39')]){_0x3acbe5[_0x8cae('0x39')]=_0xd6924f[_0x8cae('0x39')]=!![];_0x3acbe5[_0x8cae('0x3a')]=_0xd6924f[_0x8cae('0x3a')]=_0x1c2421[_0x8cae('0x3a')];_0x3acbe5[_0x8cae('0x37')]=_0xd6924f[_0x8cae('0x38')]=null;}else{_0x3acbe5['CloudProviderId']=_0xd6924f['CloudProviderId']=null;}_0x3acbe5['host']=getImapHost(_0x4b76a4);_0x3acbe5[_0x8cae('0x3b')]=0x3e1;_0xd6924f[_0x8cae('0x3c')]=getSmtpHost(_0x4b76a4);_0xd6924f[_0x8cae('0x3b')]=0x24b;_0xd6924f[_0x8cae('0x3d')]=![];_0x3acbe5['service']=_0xd6924f[_0x8cae('0x3e')]=null;}else{if(_0x1c2421[_0x8cae('0x3f')]){_0x3acbe5[_0x8cae('0x35')]=_0xd6924f['user']=_0x1c2421[_0x8cae('0x36')];_0x3acbe5[_0x8cae('0x37')]=_0xd6924f[_0x8cae('0x38')]=_0x1c2421['password'];}else{_0x3acbe5[_0x8cae('0x3f')]=_0xd6924f[_0x8cae('0x3f')]=![];_0x3acbe5[_0x8cae('0x35')]=_0xd6924f['user']=null;_0x3acbe5['password']=_0xd6924f[_0x8cae('0x38')]=null;}_0x3acbe5[_0x8cae('0x3c')]=_0x1c2421['Imap'][_0x8cae('0x3c')];_0x3acbe5[_0x8cae('0x3b')]=_0x1c2421[_0x8cae('0x40')][_0x8cae('0x3b')];_0xd6924f[_0x8cae('0x3c')]=_0x1c2421[_0x8cae('0x41')][_0x8cae('0x3c')];_0xd6924f[_0x8cae('0x3b')]=_0x1c2421[_0x8cae('0x41')][_0x8cae('0x3b')];}return{'Imap':_0x3acbe5,'Smtp':_0xd6924f};}exports[_0x8cae('0x42')]=function(_0x3a7915,_0x2c67d1){var _0x9b1146={'include':[{'model':db[_0x8cae('0x43')],'as':'Imap'},{'model':db[_0x8cae('0x44')],'as':'Smtp'},{'model':db[_0x8cae('0x45')],'as':_0x8cae('0x46')}]},_0x1e7ebf={},_0x43f92a={'count':0x0,'rows':[]};var _0x389bcc=_['map'](db[_0x8cae('0x47')][_0x8cae('0x48')],function(_0x3e0f62){return{'name':_0x3e0f62['fieldName'],'type':_0x3e0f62[_0x8cae('0x49')][_0x8cae('0x4a')]};});_0x1e7ebf[_0x8cae('0x4b')]=_[_0x8cae('0x4c')](_0x389bcc,_0x8cae('0x29'));_0x1e7ebf['query']=_[_0x8cae('0x4d')](_0x3a7915['query']);_0x1e7ebf[_0x8cae('0x4e')]=_['intersection'](_0x1e7ebf[_0x8cae('0x4b')],_0x1e7ebf['query']);_0x9b1146['attributes']=_[_0x8cae('0x4f')](_0x1e7ebf[_0x8cae('0x4b')],qs['fields'](_0x3a7915[_0x8cae('0x50')][_0x8cae('0x51')]));_0x9b1146['attributes']=_0x9b1146[_0x8cae('0x52')]['length']?_0x9b1146[_0x8cae('0x52')]:_0x1e7ebf['model'];if(!_0x3a7915['query']['hasOwnProperty']('nolimit')){_0x9b1146['limit']=qs[_0x8cae('0x20')](_0x3a7915[_0x8cae('0x50')][_0x8cae('0x20')]);_0x9b1146['offset']=qs['offset'](_0x3a7915[_0x8cae('0x50')]['offset']);}_0x9b1146['order']=qs[_0x8cae('0x53')](_0x3a7915[_0x8cae('0x50')][_0x8cae('0x53')]);_0x9b1146['where']=qs[_0x8cae('0x4e')](_[_0x8cae('0x54')](_0x3a7915['query'],_0x1e7ebf[_0x8cae('0x4e')]),_0x389bcc);if(_0x3a7915[_0x8cae('0x50')][_0x8cae('0x55')]){_0x9b1146[_0x8cae('0x56')]=_[_0x8cae('0x57')](_0x9b1146[_0x8cae('0x56')],{'$or':_[_0x8cae('0x4c')](_0x389bcc,function(_0xb5e7d4){if(_0xb5e7d4[_0x8cae('0x49')]!=='VIRTUAL'){var _0xacc58a={};_0xacc58a[_0xb5e7d4['name']]={'$like':'%'+_0x3a7915['query'][_0x8cae('0x55')]+'%'};return _0xacc58a;}})});}_0x9b1146=_[_0x8cae('0x57')]({},_0x9b1146,_0x3a7915[_0x8cae('0x58')]);var _0xa61466={'where':_0x9b1146[_0x8cae('0x56')]};return db[_0x8cae('0x47')][_0x8cae('0x21')](_0xa61466)[_0x8cae('0x11')](function(_0x53132a){_0x43f92a[_0x8cae('0x21')]=_0x53132a;if(_0x3a7915[_0x8cae('0x50')][_0x8cae('0x59')]){_0x9b1146[_0x8cae('0x5a')]=[{'all':!![]}];}return db[_0x8cae('0x47')][_0x8cae('0x5b')](_0x9b1146);})['then'](function(_0x31763f){_0x43f92a[_0x8cae('0x5c')]=_0x31763f;return _0x43f92a;})['then'](respondWithFilteredResult(_0x2c67d1,_0x9b1146))['catch'](handleError(_0x2c67d1,null));};exports['show']=function(_0x5db35e,_0x21d6f7){var _0xacb8d3={'raw':![],'where':{'id':_0x5db35e['params']['id']},'include':[{'model':db[_0x8cae('0x43')],'as':_0x8cae('0x40')},{'model':db[_0x8cae('0x44')],'as':'Smtp'},{'model':db['Pause'],'as':_0x8cae('0x46')}]},_0x4fcb0c={};_0x4fcb0c[_0x8cae('0x4b')]=_[_0x8cae('0x4d')](db[_0x8cae('0x47')][_0x8cae('0x48')]);_0x4fcb0c[_0x8cae('0x50')]=_[_0x8cae('0x4d')](_0x5db35e[_0x8cae('0x50')]);_0x4fcb0c[_0x8cae('0x4e')]=_['intersection'](_0x4fcb0c[_0x8cae('0x4b')],_0x4fcb0c[_0x8cae('0x50')]);_0xacb8d3[_0x8cae('0x52')]=_['intersection'](_0x4fcb0c['model'],qs['fields'](_0x5db35e[_0x8cae('0x50')][_0x8cae('0x51')]));_0xacb8d3[_0x8cae('0x52')]=_0xacb8d3['attributes'][_0x8cae('0x5d')]?_0xacb8d3[_0x8cae('0x52')]:_0x4fcb0c[_0x8cae('0x4b')];if(_0x5db35e[_0x8cae('0x50')][_0x8cae('0x59')]){_0xacb8d3[_0x8cae('0x5a')]=[{'all':!![]}];}_0xacb8d3=_['merge']({},_0xacb8d3,_0x5db35e[_0x8cae('0x58')]);return db[_0x8cae('0x47')]['find'](_0xacb8d3)[_0x8cae('0x11')](handleEntityNotFound(_0x21d6f7,null))[_0x8cae('0x11')](respondWithResult(_0x21d6f7,null))[_0x8cae('0x5e')](handleError(_0x21d6f7,null));};exports['update']=function(_0x2a1362,_0x3cfb72){if(_0x2a1362[_0x8cae('0x5f')]['id']){delete _0x2a1362['body']['id'];}var _0x517e53=_0x2a1362['body'][_0x8cae('0x60')]===_0x8cae('0x61')?null:_0x2a1362[_0x8cae('0x5f')][_0x8cae('0x60')];var _0xcb9ca5=_0x2a1362[_0x8cae('0x5f')]['Imap']||{};var _0x88349b=_0x2a1362[_0x8cae('0x5f')][_0x8cae('0x41')]||{};if(_0x517e53){_0xcb9ca5[_0x8cae('0x3c')]=getImapHost(_0x517e53);_0xcb9ca5[_0x8cae('0x3b')]=0x3e1;_0x88349b['host']=getSmtpHost(_0x517e53);_0x88349b[_0x8cae('0x3b')]=0x24b;_0x88349b[_0x8cae('0x3d')]=![];}if(_0x88349b[_0x8cae('0x39')]){_0x88349b[_0x8cae('0x3d')]=![];}else{_0x88349b[_0x8cae('0x3a')]=null;}if(!_0xcb9ca5[_0x8cae('0x39')])_0xcb9ca5['CloudProviderId']=null;_0x2a1362[_0x8cae('0x5f')][_0x8cae('0x40')]=_0xcb9ca5;_0x2a1362['body'][_0x8cae('0x41')]=_0x88349b;return db['MailAccount'][_0x8cae('0x62')]({'where':{'id':_0x2a1362[_0x8cae('0x63')]['id']},'include':[{'model':db[_0x8cae('0x43')],'as':_0x8cae('0x40')},{'model':db[_0x8cae('0x44')],'as':_0x8cae('0x41')},{'model':db[_0x8cae('0x45')],'as':'mandatoryDispositionPause'}]})[_0x8cae('0x11')](handleEntityNotFound(_0x3cfb72,null))['then'](function(_0x3c5f5b){if(!_0x3c5f5b)throw new Error(_0x8cae('0x64'));if(_0x3c5f5b[_0x8cae('0x3e')])delete _0x2a1362[_0x8cae('0x5f')][_0x8cae('0x40')];return _0x3c5f5b;})['then'](saveUpdates(_0x2a1362[_0x8cae('0x5f')],null))['then'](function(_0x2e7c1c){if(!_0x2a1362[_0x8cae('0x5f')][_0x8cae('0x40')])return _0x2e7c1c;return db[_0x8cae('0x43')][_0x8cae('0x65')](_0x2a1362[_0x8cae('0x5f')][_0x8cae('0x40')],{'where':{'MailAccountId':_0x2e7c1c['id']}})['then'](function(){return _0x2e7c1c;});})['then'](function(_0x2e46e2){if(!_0x2a1362[_0x8cae('0x5f')]['Smtp'])return _0x2e46e2;return db[_0x8cae('0x44')][_0x8cae('0x65')](_0x2a1362['body']['Smtp'],{'where':{'MailAccountId':_0x2e46e2['id']}})[_0x8cae('0x11')](function(){return _0x2e46e2;});})[_0x8cae('0x11')](respondWithResult(_0x3cfb72,null))[_0x8cae('0x5e')](handleError(_0x3cfb72,null));};exports[_0x8cae('0x66')]=function(_0x1b26da,_0x355857){return db[_0x8cae('0x47')][_0x8cae('0x66')]()['then'](respondWithResult(_0x355857,null))[_0x8cae('0x5e')](handleError(_0x355857,null));};exports['addDisposition']=function(_0x37db30,_0x5ce43e){if(_0x37db30[_0x8cae('0x5f')]['id']){delete _0x37db30['body']['id'];}return db['MailAccount'][_0x8cae('0x62')]({'where':{'id':_0x37db30[_0x8cae('0x63')]['id']}})[_0x8cae('0x11')](handleEntityNotFound(_0x5ce43e,null))[_0x8cae('0x11')](function(_0x536860){if(_0x536860){_0x37db30['body'][_0x8cae('0x67')]=_0x536860['id'];return db[_0x8cae('0x68')]['create'](_0x37db30[_0x8cae('0x5f')]);}})['then'](respondWithResult(_0x5ce43e,null))[_0x8cae('0x5e')](handleError(_0x5ce43e,null));};exports[_0x8cae('0x69')]=function(_0x19cc07,_0x5bdd80){var _0xe4468a={'raw':![],'where':{}};var _0x2b1226={};var _0x4d6a61={'count':0x0,'rows':[]};return db[_0x8cae('0x47')]['findOne']({'where':{'id':_0x19cc07[_0x8cae('0x63')]['id']}})['then'](handleEntityNotFound(_0x5bdd80,null))['then'](function(_0x57313c){if(_0x57313c){_0x2b1226[_0x8cae('0x4b')]=_[_0x8cae('0x4d')](db[_0x8cae('0x68')][_0x8cae('0x48')]);_0x2b1226['query']=_[_0x8cae('0x4d')](_0x19cc07[_0x8cae('0x50')]);_0x2b1226[_0x8cae('0x4e')]=_['intersection'](_0x2b1226[_0x8cae('0x4b')],_0x2b1226[_0x8cae('0x50')]);_0xe4468a[_0x8cae('0x52')]=_[_0x8cae('0x4f')](_0x2b1226['model'],qs[_0x8cae('0x51')](_0x19cc07['query'][_0x8cae('0x51')]));_0xe4468a[_0x8cae('0x52')]=_0xe4468a[_0x8cae('0x52')]['length']?_0xe4468a[_0x8cae('0x52')]:_0x2b1226[_0x8cae('0x4b')];if(!_0x19cc07[_0x8cae('0x50')][_0x8cae('0x6a')](_0x8cae('0x6b'))){_0xe4468a[_0x8cae('0x20')]=qs[_0x8cae('0x20')](_0x19cc07[_0x8cae('0x50')][_0x8cae('0x20')]);_0xe4468a[_0x8cae('0x1e')]=qs[_0x8cae('0x1e')](_0x19cc07[_0x8cae('0x50')]['offset']);}_0xe4468a[_0x8cae('0x6c')]=qs['sort'](_0x19cc07[_0x8cae('0x50')][_0x8cae('0x53')]);_0xe4468a[_0x8cae('0x56')]=qs[_0x8cae('0x4e')](_[_0x8cae('0x54')](_0x19cc07[_0x8cae('0x50')],_0x2b1226[_0x8cae('0x4e')]));_0xe4468a[_0x8cae('0x56')][_0x8cae('0x67')]=_0x57313c['id'];if(_0x19cc07[_0x8cae('0x50')][_0x8cae('0x55')]){_0xe4468a[_0x8cae('0x56')]=_[_0x8cae('0x57')](_0xe4468a[_0x8cae('0x56')],{'$or':_[_0x8cae('0x4c')](_0xe4468a[_0x8cae('0x52')],function(_0x4417aa){var _0x9db138={};_0x9db138[_0x4417aa]={'$like':'%'+_0x19cc07[_0x8cae('0x50')][_0x8cae('0x55')]+'%'};return _0x9db138;})});}_0xe4468a=_[_0x8cae('0x57')]({},_0xe4468a,_0x19cc07[_0x8cae('0x58')]);return db[_0x8cae('0x68')][_0x8cae('0x21')]({'where':_0xe4468a[_0x8cae('0x56')]})['then'](function(_0x43194f){_0x4d6a61[_0x8cae('0x21')]=_0x43194f;if(_0x19cc07[_0x8cae('0x50')]['includeAll']){_0xe4468a[_0x8cae('0x5a')]=[{'all':!![]}];}return db[_0x8cae('0x68')][_0x8cae('0x5b')](_0xe4468a);})['then'](function(_0x47499a){_0x4d6a61[_0x8cae('0x5c')]=_0x47499a;return _0x4d6a61;});}})[_0x8cae('0x11')](respondWithFilteredResult(_0x5bdd80,_0xe4468a))['catch'](handleError(_0x5bdd80,null));};exports[_0x8cae('0x6d')]=function(_0x576501,_0xad47b4){return db['MailAccount'][_0x8cae('0x62')]({'where':{'id':_0x576501[_0x8cae('0x63')]['id']}})[_0x8cae('0x11')](handleEntityNotFound(_0xad47b4,null))[_0x8cae('0x11')](function(_0x3a734f){if(_0x3a734f){return _0x3a734f[_0x8cae('0x6d')](_0x576501[_0x8cae('0x50')][_0x8cae('0x6e')]);}})[_0x8cae('0x11')](respondWithStatusCode(_0xad47b4,null))[_0x8cae('0x5e')](handleError(_0xad47b4,null));};exports[_0x8cae('0x6f')]=function(_0x1a5fe8,_0x257076){if(_0x1a5fe8[_0x8cae('0x5f')]['id']){delete _0x1a5fe8[_0x8cae('0x5f')]['id'];}return db[_0x8cae('0x47')][_0x8cae('0x62')]({'where':{'id':_0x1a5fe8[_0x8cae('0x63')]['id']}})['then'](handleEntityNotFound(_0x257076,null))[_0x8cae('0x11')](function(_0x534a34){if(_0x534a34){_0x1a5fe8['body'][_0x8cae('0x67')]=_0x534a34['id'];return db['CannedAnswer'][_0x8cae('0x70')](_0x1a5fe8[_0x8cae('0x5f')]);}})['then'](respondWithResult(_0x257076,null))[_0x8cae('0x5e')](handleError(_0x257076,null));};exports['getAnswers']=function(_0x227d74,_0x5af310){var _0xa6480d={'raw':![],'where':{}};var _0x27c8f2={};var _0x63023a={'count':0x0,'rows':[]};return db[_0x8cae('0x47')][_0x8cae('0x71')]({'where':{'id':_0x227d74[_0x8cae('0x63')]['id']}})['then'](handleEntityNotFound(_0x5af310,null))['then'](function(_0x2f698e){if(_0x2f698e){_0x27c8f2['model']=_[_0x8cae('0x4d')](db['CannedAnswer'][_0x8cae('0x48')]);_0x27c8f2[_0x8cae('0x50')]=_[_0x8cae('0x4d')](_0x227d74['query']);_0x27c8f2[_0x8cae('0x4e')]=_[_0x8cae('0x4f')](_0x27c8f2[_0x8cae('0x4b')],_0x27c8f2[_0x8cae('0x50')]);_0xa6480d[_0x8cae('0x52')]=_['intersection'](_0x27c8f2[_0x8cae('0x4b')],qs['fields'](_0x227d74[_0x8cae('0x50')][_0x8cae('0x51')]));_0xa6480d[_0x8cae('0x52')]=_0xa6480d[_0x8cae('0x52')][_0x8cae('0x5d')]?_0xa6480d[_0x8cae('0x52')]:_0x27c8f2['model'];if(!_0x227d74[_0x8cae('0x50')]['hasOwnProperty'](_0x8cae('0x6b'))){_0xa6480d['limit']=qs[_0x8cae('0x20')](_0x227d74[_0x8cae('0x50')][_0x8cae('0x20')]);_0xa6480d[_0x8cae('0x1e')]=qs['offset'](_0x227d74[_0x8cae('0x50')][_0x8cae('0x1e')]);}_0xa6480d['order']=qs['sort'](_0x227d74['query'][_0x8cae('0x53')]);_0xa6480d[_0x8cae('0x56')]=qs['filters'](_[_0x8cae('0x54')](_0x227d74['query'],_0x27c8f2['filters']));_0xa6480d[_0x8cae('0x56')]['MailAccountId']=_0x2f698e['id'];if(_0x227d74['query'][_0x8cae('0x55')]){_0xa6480d['where']=_[_0x8cae('0x57')](_0xa6480d['where'],{'$or':_[_0x8cae('0x4c')](_0xa6480d[_0x8cae('0x52')],function(_0x2ff172){var _0x533b3d={};_0x533b3d[_0x2ff172]={'$like':'%'+_0x227d74[_0x8cae('0x50')]['filter']+'%'};return _0x533b3d;})});}_0xa6480d=_[_0x8cae('0x57')]({},_0xa6480d,_0x227d74[_0x8cae('0x58')]);return db[_0x8cae('0x72')][_0x8cae('0x21')]({'where':_0xa6480d['where']})['then'](function(_0x43db15){_0x63023a[_0x8cae('0x21')]=_0x43db15;if(_0x227d74['query'][_0x8cae('0x59')]){_0xa6480d['include']=[{'all':!![]}];}return db[_0x8cae('0x72')][_0x8cae('0x5b')](_0xa6480d);})[_0x8cae('0x11')](function(_0x20cd48){_0x63023a[_0x8cae('0x5c')]=_0x20cd48;return _0x63023a;});}})['then'](respondWithFilteredResult(_0x5af310,_0xa6480d))[_0x8cae('0x5e')](handleError(_0x5af310,null));};exports[_0x8cae('0x73')]=function(_0x211469,_0xddc9f7){return db[_0x8cae('0x47')]['find']({'where':{'id':_0x211469[_0x8cae('0x63')]['id']}})['then'](handleEntityNotFound(_0xddc9f7,null))[_0x8cae('0x11')](function(_0xcc3b65){if(_0xcc3b65){return _0xcc3b65['removeAnswers'](_0x211469['query'][_0x8cae('0x6e')]);}})[_0x8cae('0x11')](respondWithStatusCode(_0xddc9f7,null))[_0x8cae('0x5e')](handleError(_0xddc9f7,null));};exports[_0x8cae('0x70')]=function(_0x3aae24,_0x2270c2){var _0x2dc3a5={'name':_0x3aae24[_0x8cae('0x5f')][_0x8cae('0x29')],'key':_0x3aae24[_0x8cae('0x5f')]['key'],'provider':_0x3aae24[_0x8cae('0x5f')]['provider']===_0x8cae('0x61')?null:_0x3aae24['body'][_0x8cae('0x60')],'email':_0x3aae24['body']['email'],'ListId':_0x3aae24[_0x8cae('0x5f')]['ListId'],'active':!_[_0x8cae('0x74')](_0x3aae24['body'][_0x8cae('0x75')])?_0x3aae24['body'][_0x8cae('0x75')]:!![],'description':_0x3aae24['body']['description']||null};var _0x307f8e=getAuthenticationOptions(_0x2dc3a5[_0x8cae('0x60')],_0x3aae24[_0x8cae('0x5f')]);_0x2dc3a5['Imap']=_0x307f8e[_0x8cae('0x40')];_0x2dc3a5[_0x8cae('0x41')]=_0x307f8e[_0x8cae('0x41')];return db[_0x8cae('0x47')][_0x8cae('0x70')](_0x2dc3a5,{'include':[{'model':db['MailServerOut'],'as':_0x8cae('0x41')},{'model':db[_0x8cae('0x43')],'as':_0x8cae('0x40')}]})[_0x8cae('0x11')](function(_0x1ff85f){var _0x2b4ec0=_0x3aae24['user'][_0x8cae('0x25')]({'plain':!![]});if(!_0x2b4ec0)throw new Error(_0x8cae('0x76'));if(_0x2b4ec0[_0x8cae('0x77')]==='user'){var _0x27ada5=_0x1ff85f[_0x8cae('0x25')]({'plain':!![]});return db[_0x8cae('0x78')][_0x8cae('0x62')]({'where':{'name':_0x8cae('0x79'),'userProfileId':_0x2b4ec0[_0x8cae('0x7a')]},'raw':!![]})[_0x8cae('0x11')](function(_0x3c250c){if(_0x3c250c&&_0x3c250c[_0x8cae('0x7b')]===0x0){return db[_0x8cae('0x26')][_0x8cae('0x70')]({'name':_0x27ada5[_0x8cae('0x29')],'resourceId':_0x27ada5['id'],'type':_0x3c250c[_0x8cae('0x29')],'sectionId':_0x3c250c['id']},{})[_0x8cae('0x11')](function(){return _0x1ff85f;});}else{return _0x1ff85f;}})[_0x8cae('0x5e')](function(_0x3ba589){logger[_0x8cae('0x18')](_0x8cae('0x7c'),_0x3ba589);throw _0x3ba589;});}return _0x1ff85f;})['then'](respondWithResult(_0x2270c2,0xc9))[_0x8cae('0x5e')](handleError(_0x2270c2,null));};exports[_0x8cae('0x7d')]=function(_0x51cb5c,_0x59ff49){return db[_0x8cae('0x47')]['findOne']({'where':{'id':_0x51cb5c[_0x8cae('0x63')]['id']}})[_0x8cae('0x11')](handleEntityNotFound(_0x59ff49,null))[_0x8cae('0x11')](function(_0x49da28){if(_0x49da28){return _0x49da28[_0x8cae('0x7d')]();}return null;})['then'](respondWithResult(_0x59ff49,null))[_0x8cae('0x5e')](handleError(_0x59ff49,null));};exports[_0x8cae('0x7e')]=function(_0x48833,_0x5c680d){if(_0x48833[_0x8cae('0x5f')]['id']){delete _0x48833[_0x8cae('0x5f')]['id'];}return db[_0x8cae('0x47')][_0x8cae('0x62')]({'where':{'id':_0x48833[_0x8cae('0x63')]['id']}})[_0x8cae('0x11')](handleEntityNotFound(_0x5c680d,null))['then'](function(_0x3b3c5d){if(_0x3b3c5d){_0x48833['body'][_0x8cae('0x67')]=_0x3b3c5d['id'];return db[_0x8cae('0x43')]['create'](_0x48833[_0x8cae('0x5f')]);}})[_0x8cae('0x11')](respondWithResult(_0x5c680d,null))['catch'](handleError(_0x5c680d,null));};exports[_0x8cae('0x7f')]=function(_0x252a5e,_0x88ec3c){return db[_0x8cae('0x47')][_0x8cae('0x71')]({'where':{'id':_0x252a5e[_0x8cae('0x63')]['id']}})[_0x8cae('0x11')](handleEntityNotFound(_0x88ec3c,null))['then'](function(_0x11bd8c){if(_0x11bd8c){return _0x11bd8c[_0x8cae('0x80')](null);}return null;})['then'](respondWithStatusCode(_0x88ec3c,null))[_0x8cae('0x5e')](handleError(_0x88ec3c,null));};exports[_0x8cae('0x81')]=function(_0x19e728,_0x2aa768){return db[_0x8cae('0x47')]['findOne']({'where':{'id':_0x19e728[_0x8cae('0x63')]['id']}})[_0x8cae('0x11')](handleEntityNotFound(_0x2aa768,null))[_0x8cae('0x11')](function(_0x2dfe10){if(_0x2dfe10){return _0x2dfe10['getSmtp']();}return null;})['then'](respondWithResult(_0x2aa768,null))['catch'](handleError(_0x2aa768,null));};exports['addSmtp']=function(_0x27f2d0,_0x36e726){if(_0x27f2d0['body']['id']){delete _0x27f2d0['body']['id'];}return db['MailAccount']['find']({'where':{'id':_0x27f2d0[_0x8cae('0x63')]['id']}})['then'](handleEntityNotFound(_0x36e726,null))[_0x8cae('0x11')](function(_0x124cf3){if(_0x124cf3){_0x27f2d0[_0x8cae('0x5f')][_0x8cae('0x67')]=_0x124cf3['id'];return db[_0x8cae('0x44')][_0x8cae('0x70')](_0x27f2d0['body']);}})[_0x8cae('0x11')](respondWithResult(_0x36e726,null))[_0x8cae('0x5e')](handleError(_0x36e726,null));};exports[_0x8cae('0x82')]=function(_0x24a75b,_0x4265fd){return db[_0x8cae('0x47')][_0x8cae('0x71')]({'where':{'id':_0x24a75b[_0x8cae('0x63')]['id']}})[_0x8cae('0x11')](handleEntityNotFound(_0x4265fd,null))['then'](function(_0x5c89c6){if(_0x5c89c6){return _0x5c89c6[_0x8cae('0x83')](null);}return null;})[_0x8cae('0x11')](respondWithStatusCode(_0x4265fd,null))[_0x8cae('0x5e')](handleError(_0x4265fd,null));};exports['addInteraction']=function(_0x2eba77,_0x137b8b){return db[_0x8cae('0x84')][_0x8cae('0x62')]({'where':{'id':_0x2eba77[_0x8cae('0x63')]['id']}})[_0x8cae('0x11')](handleEntityNotFound(_0x137b8b,null))[_0x8cae('0x11')](function(_0x313557){if(_0x313557){return _0x313557[_0x8cae('0x85')](_0x2eba77['body'][_0x8cae('0x6e')],_[_0x8cae('0x86')](_0x2eba77['body'],[_0x8cae('0x6e'),'id'])||{});}})['then'](respondWithResult(_0x137b8b,null))[_0x8cae('0x5e')](handleError(_0x137b8b,null));};exports[_0x8cae('0x87')]=function(_0x4fd662,_0x41108e){var _0x1416f7={'raw':![],'where':{}};var _0x55cffd={};var _0x3bbb13={'count':0x0,'rows':[]};return db[_0x8cae('0x47')]['findOne']({'where':{'id':_0x4fd662[_0x8cae('0x63')]['id']}})[_0x8cae('0x11')](handleEntityNotFound(_0x41108e,null))[_0x8cae('0x11')](function(_0x393c0c){if(_0x393c0c){_0x55cffd[_0x8cae('0x4b')]=_['keys'](db[_0x8cae('0x84')][_0x8cae('0x48')]);_0x55cffd[_0x8cae('0x50')]=_[_0x8cae('0x4d')](_0x4fd662[_0x8cae('0x50')]);_0x55cffd[_0x8cae('0x4e')]=_[_0x8cae('0x4f')](_0x55cffd[_0x8cae('0x4b')],_0x55cffd[_0x8cae('0x50')]);_0x1416f7[_0x8cae('0x52')]=_[_0x8cae('0x4f')](_0x55cffd[_0x8cae('0x4b')],qs[_0x8cae('0x51')](_0x4fd662[_0x8cae('0x50')][_0x8cae('0x51')]));_0x1416f7[_0x8cae('0x52')]=_0x1416f7[_0x8cae('0x52')][_0x8cae('0x5d')]?_0x1416f7[_0x8cae('0x52')]:_0x55cffd[_0x8cae('0x4b')];if(!_0x4fd662[_0x8cae('0x50')][_0x8cae('0x6a')](_0x8cae('0x6b'))){_0x1416f7[_0x8cae('0x20')]=qs[_0x8cae('0x20')](_0x4fd662[_0x8cae('0x50')][_0x8cae('0x20')]);_0x1416f7[_0x8cae('0x1e')]=qs[_0x8cae('0x1e')](_0x4fd662[_0x8cae('0x50')][_0x8cae('0x1e')]);}_0x1416f7[_0x8cae('0x6c')]=qs[_0x8cae('0x53')](_0x4fd662[_0x8cae('0x50')][_0x8cae('0x53')]);_0x1416f7[_0x8cae('0x56')]=qs['filters'](_[_0x8cae('0x54')](_0x4fd662['query'],_0x55cffd['filters']));_0x1416f7['where'][_0x8cae('0x67')]=_0x393c0c['id'];if(_0x4fd662['query'][_0x8cae('0x55')]){_0x1416f7[_0x8cae('0x56')]=_['merge'](_0x1416f7[_0x8cae('0x56')],{'$or':_[_0x8cae('0x4c')](_0x1416f7['attributes'],function(_0x46a536){var _0x15774d={};_0x15774d[_0x46a536]={'$like':'%'+_0x4fd662['query'][_0x8cae('0x55')]+'%'};return _0x15774d;})});}_0x1416f7=_[_0x8cae('0x57')]({},_0x1416f7,_0x4fd662['options']);return db[_0x8cae('0x84')]['count']({'where':_0x1416f7['where']})[_0x8cae('0x11')](function(_0x495074){_0x3bbb13[_0x8cae('0x21')]=_0x495074;if(_0x4fd662[_0x8cae('0x50')]['includeAll']){_0x1416f7['include']=[{'model':db[_0x8cae('0x88')],'as':_0x8cae('0x89'),'required':![]},{'model':db[_0x8cae('0x8a')],'as':'Owner','attributes':[_0x8cae('0x29'),_0x8cae('0x8b'),_0x8cae('0x8c')],'required':![]},{'model':db[_0x8cae('0x8d')],'as':_0x8cae('0x8e'),'attributes':['id',_0x8cae('0x29'),_0x8cae('0x8f')],'where':_0x4fd662[_0x8cae('0x50')][_0x8cae('0x90')]?{'id':_0x4fd662[_0x8cae('0x50')][_0x8cae('0x90')]}:undefined,'required':_0x4fd662['query'][_0x8cae('0x90')]?!![]:![]}];}return db[_0x8cae('0x84')][_0x8cae('0x5b')](_0x1416f7);})[_0x8cae('0x11')](function(_0x5c7a83){_0x3bbb13[_0x8cae('0x5c')]=_0x5c7a83;return _0x3bbb13;});}})[_0x8cae('0x11')](respondWithFilteredResult(_0x41108e,_0x1416f7))[_0x8cae('0x5e')](handleError(_0x41108e,null));};exports[_0x8cae('0x91')]=function addApplications(_0xc2baed,_0x1f0438){var _0x302754=_0xc2baed[_0x8cae('0x63')]['id'];var _0x156432=_0xc2baed[_0x8cae('0x5f')];var _0x449c4a=0xc8;var _0x5219cd=null;return db[_0x8cae('0x92')][_0x8cae('0x93')]({'isolationLevel':db[_0x8cae('0x92')]['Transaction']['ISOLATION_LEVELS'][_0x8cae('0x94')]},function(_0x236b98){return db['MailAccount'][_0x8cae('0x71')]({'where':{'id':_0x302754},'transaction':_0x236b98})[_0x8cae('0x11')](function(_0x264548){if(_0x264548){return db[_0x8cae('0x95')][_0x8cae('0x24')]({'where':{'MailAccountId':_0x302754},'transaction':_0x236b98})[_0x8cae('0x11')](function(){var _0x217454=_['map'](_0x156432,function(_0x505b81){_0x505b81['MailAccountId']=_0x302754;return _0x505b81;});return db[_0x8cae('0x95')]['bulkCreate'](_0x217454,{'transaction':_0x236b98});});}else{_0x449c4a=0x194;_0x5219cd=[];}});})['then'](function(){if(_0x449c4a!==0x194){return db[_0x8cae('0x95')][_0x8cae('0x96')]({'where':{'MailAccountId':_0x302754},'order':_0x8cae('0x97')})[_0x8cae('0x11')](function(_0x68f310){_0x5219cd=_0x68f310;});}})[_0x8cae('0x5e')](function(_0x4c3d6f){_0x449c4a=0x1f4;logger[_0x8cae('0x18')](_0x4c3d6f[_0x8cae('0x28')]);if(_0x4c3d6f[_0x8cae('0x29')]){delete _0x4c3d6f['name'];}_0x5219cd=_0x4c3d6f;})[_0x8cae('0x98')](function(){if(_0x5219cd===null){_0x1f0438[_0x8cae('0x27')](_0x449c4a);}else{if(_0x449c4a===0x1f4){_0x1f0438[_0x8cae('0x1d')](_0x449c4a)['send'](_0x5219cd);}else{_0x1f0438['status'](_0x449c4a)[_0x8cae('0x23')](_0x5219cd);}}});};exports[_0x8cae('0x99')]=function(_0xdf4f25,_0x5036c1){var _0x2ac799={};var _0x43d490={};var _0x5960a5;var _0x39b2bf;return db[_0x8cae('0x47')][_0x8cae('0x71')]({'where':{'id':_0xdf4f25[_0x8cae('0x63')]['id']}})[_0x8cae('0x11')](handleEntityNotFound(_0x5036c1,null))[_0x8cae('0x11')](function(_0x14cfe4){if(_0x14cfe4){_0x5960a5=_0x14cfe4;_0x43d490[_0x8cae('0x4b')]=_[_0x8cae('0x4d')](db[_0x8cae('0x95')]['rawAttributes']);_0x43d490[_0x8cae('0x50')]=_[_0x8cae('0x4d')](_0xdf4f25[_0x8cae('0x50')]);_0x43d490[_0x8cae('0x4e')]=_[_0x8cae('0x4f')](_0x43d490[_0x8cae('0x4b')],_0x43d490['query']);_0x2ac799[_0x8cae('0x52')]=_['intersection'](_0x43d490[_0x8cae('0x4b')],qs[_0x8cae('0x51')](_0xdf4f25[_0x8cae('0x50')][_0x8cae('0x51')]));_0x2ac799[_0x8cae('0x52')]=_0x2ac799['attributes'][_0x8cae('0x5d')]?_0x2ac799['attributes']:_0x43d490[_0x8cae('0x4b')];_0x2ac799[_0x8cae('0x6c')]=qs[_0x8cae('0x53')](_0xdf4f25['query'][_0x8cae('0x53')]);_0x2ac799[_0x8cae('0x56')]=qs['filters'](_[_0x8cae('0x54')](_0xdf4f25['query'],_0x43d490[_0x8cae('0x4e')]));if(_0xdf4f25['query']['filter']){_0x2ac799[_0x8cae('0x56')]=_[_0x8cae('0x57')](_0x2ac799[_0x8cae('0x56')],{'$or':_[_0x8cae('0x4c')](_0x2ac799[_0x8cae('0x52')],function(_0x2a4bd4){var _0x402f81={};_0x402f81[_0x2a4bd4]={'$like':'%'+_0xdf4f25[_0x8cae('0x50')][_0x8cae('0x55')]+'%'};return _0x402f81;})});}_0x2ac799=_[_0x8cae('0x57')]({},_0x2ac799,_0xdf4f25[_0x8cae('0x58')]);return _0x5960a5[_0x8cae('0x99')](_0x2ac799);}})[_0x8cae('0x11')](function(_0x97ef1d){if(_0x97ef1d){_0x39b2bf=_0x97ef1d[_0x8cae('0x5d')];if(!_0xdf4f25['query'][_0x8cae('0x6a')](_0x8cae('0x6b'))){_0x2ac799[_0x8cae('0x20')]=qs[_0x8cae('0x20')](_0xdf4f25[_0x8cae('0x50')][_0x8cae('0x20')]);_0x2ac799[_0x8cae('0x1e')]=qs[_0x8cae('0x1e')](_0xdf4f25[_0x8cae('0x50')][_0x8cae('0x1e')]);}return _0x5960a5[_0x8cae('0x99')](_0x2ac799);}})['then'](function(_0x43307e){if(_0x43307e){return _0x43307e?{'count':_0x39b2bf,'rows':_0x43307e}:null;}})[_0x8cae('0x11')](respondWithResult(_0x5036c1,null))[_0x8cae('0x5e')](handleError(_0x5036c1,null));};exports[_0x8cae('0x9a')]=function(_0x23931f,_0x35310b){var _0x109bae={'raw':!![],'where':{}};var _0x917397={};var _0x9547f3={'count':0x0,'rows':[]};return db[_0x8cae('0x47')]['findOne']({'where':{'id':_0x23931f[_0x8cae('0x63')]['id']}})[_0x8cae('0x11')](handleEntityNotFound(_0x35310b,null))[_0x8cae('0x11')](function(_0x3b0ffd){if(_0x3b0ffd){_0x917397[_0x8cae('0x4b')]=_[_0x8cae('0x4d')](db[_0x8cae('0x9b')][_0x8cae('0x48')]);_0x917397[_0x8cae('0x50')]=_[_0x8cae('0x4d')](_0x23931f[_0x8cae('0x50')]);_0x917397[_0x8cae('0x4e')]=_[_0x8cae('0x4f')](_0x917397[_0x8cae('0x4b')],_0x917397[_0x8cae('0x50')]);_0x109bae[_0x8cae('0x52')]=_[_0x8cae('0x4f')](_0x917397[_0x8cae('0x4b')],qs[_0x8cae('0x51')](_0x23931f[_0x8cae('0x50')][_0x8cae('0x51')]));_0x109bae['attributes']=_0x109bae[_0x8cae('0x52')][_0x8cae('0x5d')]?_0x109bae[_0x8cae('0x52')]:_0x917397[_0x8cae('0x4b')];if(!_0x23931f[_0x8cae('0x50')][_0x8cae('0x6a')](_0x8cae('0x6b'))){_0x109bae[_0x8cae('0x20')]=qs[_0x8cae('0x20')](_0x23931f['query']['limit']);_0x109bae[_0x8cae('0x1e')]=qs[_0x8cae('0x1e')](_0x23931f[_0x8cae('0x50')]['offset']);}_0x109bae['order']=qs['sort'](_0x23931f[_0x8cae('0x50')][_0x8cae('0x53')]);_0x109bae[_0x8cae('0x56')]=qs['filters'](_[_0x8cae('0x54')](_0x23931f[_0x8cae('0x50')],_0x917397[_0x8cae('0x4e')]));_0x109bae['where'][_0x8cae('0x67')]=_0x3b0ffd['id'];if(_0x23931f[_0x8cae('0x50')]['filter']){_0x109bae[_0x8cae('0x56')]=_[_0x8cae('0x57')](_0x109bae['where'],{'$or':_[_0x8cae('0x4c')](_0x109bae[_0x8cae('0x52')],function(_0x565133){var _0x121bf3={};_0x121bf3[_0x565133]={'$like':'%'+_0x23931f['query'][_0x8cae('0x55')]+'%'};return _0x121bf3;})});}if(_0x23931f['query'][_0x8cae('0x9c')]){var _0x1a5843=_0x23931f['query']['$gte'][_0x8cae('0x9d')](',');var _0x3d8235={};_0x3d8235[_0x1a5843[0x0]]={'$gte':moment(_0x1a5843[0x1])[_0x8cae('0x9e')](_0x8cae('0x9f'))};_0x109bae[_0x8cae('0x56')]=_[_0x8cae('0x57')](_0x109bae['where'],_0x3d8235);}_0x109bae=_[_0x8cae('0x57')]({},_0x109bae,_0x23931f['options']);return db[_0x8cae('0x9b')][_0x8cae('0x21')]({'where':_0x109bae['where']})[_0x8cae('0x11')](function(_0x46cb25){_0x9547f3[_0x8cae('0x21')]=_0x46cb25;if(_0x23931f[_0x8cae('0x50')][_0x8cae('0x59')]){_0x109bae[_0x8cae('0x5a')]=[{'all':!![]}];}return db[_0x8cae('0x9b')][_0x8cae('0x5b')](_0x109bae);})[_0x8cae('0x11')](function(_0x1d7404){if(_0x23931f[_0x8cae('0x50')][_0x8cae('0xa0')]===_0x8cae('0xa1')){for(var _0x4885c1=0x0;_0x4885c1<_0x1d7404[_0x8cae('0x5d')];_0x4885c1++){_0x1d7404[_0x4885c1]['body']=juice(_0x1d7404[_0x4885c1][_0x8cae('0x5f')]);}}_0x9547f3[_0x8cae('0x5c')]=_0x1d7404;return _0x9547f3;});}})[_0x8cae('0x11')](respondWithFilteredResult(_0x35310b,_0x109bae))[_0x8cae('0x5e')](handleError(_0x35310b,null));};exports['send']=function(_0x581082,_0x37ff55){var _0x243996,_0xa5199d={},_0x56f98d;if(_0x581082['body']['to']){_0x56f98d=_0x581082[_0x8cae('0x5f')]['to'][_0x8cae('0x9d')](',')[0x0];}return db['MailAccount'][_0x8cae('0x62')]({'where':{'id':_0x581082['params']['id']},'include':[{'model':db[_0x8cae('0xa2')],'as':_0x8cae('0xa3'),'include':[{'model':db[_0x8cae('0x88')],'as':'Contacts','where':{'email':_0x56f98d},'limit':0x1,'order':[[_0x8cae('0xa4'),_0x8cae('0xa5')]]}]},{'model':db[_0x8cae('0x44')],'as':_0x8cae('0x41'),'raw':!![],'include':[{'model':db[_0x8cae('0xa6')],'as':_0x8cae('0xa6'),'raw':!![]}]}]})[_0x8cae('0x11')](handleEntityNotFound(_0x37ff55,null))[_0x8cae('0x11')](function(_0x277e86){if(!_0x277e86)return;_0x243996=_0x277e86;if(!_0x277e86['Smtp'])throw new Error(_0x8cae('0xa7'));if(_[_0x8cae('0x74')](_0x581082['body'][_0x8cae('0xa8')])){_0x581082['body'][_0x8cae('0xa8')]=util[_0x8cae('0x9e')](_0x8cae('0xa9'),_0x277e86[_0x8cae('0x29')],_0x277e86['email']||_0x277e86[_0x8cae('0x41')]['user']);}if(_0x581082['body']['attachments']&&_0x581082['body'][_0x8cae('0xaa')]['length']){for(var _0x35024d=0x0;_0x35024d<_0x581082[_0x8cae('0x5f')][_0x8cae('0xaa')][_0x8cae('0x5d')];_0x35024d+=0x1){_0x581082['body']['attachments'][_0x35024d]={'filename':_0x581082['body']['attachments'][_0x35024d][_0x8cae('0x29')],'path':path['join'](config[_0x8cae('0xab')],_0x8cae('0xac'),_0x581082[_0x8cae('0x5f')][_0x8cae('0xaa')][_0x35024d][_0x8cae('0xad')])};}}var _0x364512=_0x277e86[_0x8cae('0xae')]();return respondWithRpcPromise(_0x8cae('0xaf'),_0x8cae('0xb0'),{'account':_0x364512,'message':_0x581082[_0x8cae('0x5f')]});})[_0x8cae('0x11')](function(_0x890c5){if(!_0x890c5)return;_0xa5199d=_0x890c5;if(!_0x243996['List'])throw new Error(_0x8cae('0xb1'));if(_0x243996[_0x8cae('0xa3')][_0x8cae('0xb2')]['length'])return _0x243996[_0x8cae('0xa3')]['Contacts'][0x0];return db[_0x8cae('0x88')][_0x8cae('0x70')](_['defaults'](_0x581082[_0x8cae('0x5f')],{'firstName':_0x581082['body']['to'],'email':_0x581082['body']['to'],'phone':_0x581082[_0x8cae('0x5f')]['to'],'ListId':_0x243996[_0x8cae('0xb3')]}));})[_0x8cae('0x11')](function(_0x4f8439){if(!_0x4f8439)return;var _0x478ac3={'UserId':_0x581082[_0x8cae('0x35')]['id'],'ContactId':_0x4f8439['id'],'MailAccountId':_0x243996['id'],'inReplyTo':_0xa5199d[_0x8cae('0xb4')],'to':_0x581082[_0x8cae('0x5f')]['from'],'cc':_0x581082[_0x8cae('0x5f')]['cc'],'subject':_0x581082[_0x8cae('0x5f')][_0x8cae('0xb5')],'attach':_0x581082[_0x8cae('0x5f')][_0x8cae('0xb6')],'firstMsgDirection':'out','lastMsgAt':moment()['format'](_0x8cae('0x9f')),'lastMsgDirection':'out','Messages':[_['merge'](_0x581082['body'],{'messageId':_0xa5199d['messageId'],'sentAt':moment()[_0x8cae('0x9e')](_0x8cae('0x9f')),'read':!![],'MailAccountId':_0x243996['id'],'UserId':_0x581082['user']['id'],'ContactId':_0x4f8439['id']})]};if(_0x581082[_0x8cae('0x5f')][_0x8cae('0xb7')]){_0x478ac3=_[_0x8cae('0x57')](_0x478ac3,_0x581082[_0x8cae('0x5f')]['Interaction']);}return db[_0x8cae('0x84')][_0x8cae('0x70')](_0x478ac3,{'include':[{'model':db['MailMessage'],'as':'Messages'}]});})[_0x8cae('0x11')](respondWithResult(_0x37ff55,null))[_0x8cae('0x5e')](handleError(_0x37ff55,null));};exports['verifySmtp']=function(_0x29b577,_0x5467b9){return db[_0x8cae('0x47')][_0x8cae('0x62')]({'where':{'id':_0x29b577[_0x8cae('0x63')]['id']},'include':[{'model':db[_0x8cae('0x44')],'as':_0x8cae('0x41'),'raw':!![],'include':[{'model':db[_0x8cae('0xa6')],'as':_0x8cae('0xa6'),'raw':!![]}]}]})[_0x8cae('0x11')](handleEntityNotFound(_0x5467b9,null))[_0x8cae('0x11')](function(_0x1a1d9e){if(!_0x1a1d9e[_0x8cae('0x41')])return;var _0x38ef39=_0x1a1d9e['getSmtpOptions']();return respondWithRpcPromise(_0x8cae('0xb8'),_0x8cae('0xb9'),{'account':_0x38ef39});})[_0x8cae('0x11')](respondWithResult(_0x5467b9,null))['catch'](handleError(_0x5467b9,null));};exports[_0x8cae('0x24')]=function(_0x5e8333,_0x4a432b){return db['MailAccount'][_0x8cae('0x62')]({'where':{'id':_0x5e8333[_0x8cae('0x63')]['id']}})[_0x8cae('0x11')](handleEntityNotFound(_0x4a432b,null))[_0x8cae('0x11')](function(_0xe8f317){if(_0xe8f317&&_0xe8f317[_0x8cae('0x3e')]){throw new db[(_0x8cae('0xba'))]['ValidationError'](_0x8cae('0xbb'));}return _0xe8f317;})[_0x8cae('0x11')](removeEntity(_0x4a432b,null))[_0x8cae('0x5e')](handleError(_0x4a432b,null));};exports['addAgents']=function(_0x2d8c8d,_0x2afc2a){return db['MailAccount'][_0x8cae('0x62')]({'where':{'id':_0x2d8c8d[_0x8cae('0x63')]['id']}})[_0x8cae('0x11')](handleEntityNotFound(_0x2afc2a,null))[_0x8cae('0x11')](function(_0x4b0c50){if(_0x4b0c50){return _0x4b0c50[_0x8cae('0xbc')](_0x2d8c8d[_0x8cae('0x5f')][_0x8cae('0x6e')],_[_0x8cae('0x86')](_0x2d8c8d[_0x8cae('0x5f')],[_0x8cae('0x6e'),'id'])||{})['spread'](function(_0x226228){for(var _0xfdfcbe=0x0;_0xfdfcbe<_0x2d8c8d[_0x8cae('0x5f')][_0x8cae('0x6e')][_0x8cae('0x5d')];_0xfdfcbe+=0x1){socket[_0x8cae('0xbd')](_0x8cae('0xbe'),{'UserId':Number(_0x2d8c8d[_0x8cae('0x5f')]['ids'][_0xfdfcbe]),'MailAccountId':Number(_0x2d8c8d['params']['id'])});}return _0x226228;});}})[_0x8cae('0x11')](respondWithResult(_0x2afc2a,null))[_0x8cae('0x5e')](handleError(_0x2afc2a,null));};exports[_0x8cae('0xbf')]=function(_0x497b31,_0x5968ee){return db[_0x8cae('0x47')][_0x8cae('0x62')]({'where':{'id':_0x497b31[_0x8cae('0x63')]['id']}})[_0x8cae('0x11')](handleEntityNotFound(_0x5968ee,null))[_0x8cae('0x11')](function(_0x570368){if(_0x570368){return _0x570368['removeAgents'](_0x497b31[_0x8cae('0x50')][_0x8cae('0x6e')])[_0x8cae('0x11')](function(){if(_[_0x8cae('0xc0')](_0x497b31[_0x8cae('0x50')]['ids'])){for(var _0x1a96ea=0x0;_0x1a96ea<_0x497b31[_0x8cae('0x50')][_0x8cae('0x6e')][_0x8cae('0x5d')];_0x1a96ea+=0x1){socket['emit'](_0x8cae('0xc1'),{'UserId':Number(_0x497b31[_0x8cae('0x50')][_0x8cae('0x6e')][_0x1a96ea]),'MailAccountId':Number(_0x497b31['params']['id'])});}}else{socket[_0x8cae('0xbd')](_0x8cae('0xc1'),{'UserId':Number(_0x497b31[_0x8cae('0x50')][_0x8cae('0x6e')]),'MailAccountId':Number(_0x497b31[_0x8cae('0x63')]['id'])});}});}})['then'](respondWithStatusCode(_0x5968ee,null))[_0x8cae('0x5e')](handleError(_0x5968ee,null));};exports['getAgents']=function(_0x3194a7,_0x2f6954){var _0x34f1bc={};var _0x2cad93={};var _0x45b662;var _0x141c3e;return db[_0x8cae('0x47')]['findOne']({'where':{'id':_0x3194a7[_0x8cae('0x63')]['id']}})[_0x8cae('0x11')](handleEntityNotFound(_0x2f6954,null))[_0x8cae('0x11')](function(_0x5c566f){if(_0x5c566f){_0x45b662=_0x5c566f;_0x2cad93[_0x8cae('0x4b')]=_[_0x8cae('0x4d')](db[_0x8cae('0x8a')][_0x8cae('0x48')]);_0x2cad93[_0x8cae('0x50')]=_[_0x8cae('0x4d')](_0x3194a7[_0x8cae('0x50')]);_0x2cad93[_0x8cae('0x4e')]=_[_0x8cae('0x4f')](_0x2cad93['model'],_0x2cad93[_0x8cae('0x50')]);_0x34f1bc[_0x8cae('0x52')]=_[_0x8cae('0x4f')](_0x2cad93['model'],qs['fields'](_0x3194a7[_0x8cae('0x50')][_0x8cae('0x51')]));_0x34f1bc[_0x8cae('0x52')]=_0x34f1bc[_0x8cae('0x52')][_0x8cae('0x5d')]?_0x34f1bc[_0x8cae('0x52')]:_0x2cad93[_0x8cae('0x4b')];_0x34f1bc[_0x8cae('0x6c')]=qs[_0x8cae('0x53')](_0x3194a7[_0x8cae('0x50')][_0x8cae('0x53')]);_0x34f1bc[_0x8cae('0x56')]=qs[_0x8cae('0x4e')](_[_0x8cae('0x54')](_0x3194a7['query'],_0x2cad93['filters']));if(_0x3194a7[_0x8cae('0x50')][_0x8cae('0x55')]){_0x34f1bc['where']=_['merge'](_0x34f1bc[_0x8cae('0x56')],{'$or':_['map'](_0x34f1bc['attributes'],function(_0x524069){var _0x1135c0={};_0x1135c0[_0x524069]={'$like':'%'+_0x3194a7[_0x8cae('0x50')]['filter']+'%'};return _0x1135c0;})});}_0x34f1bc=_[_0x8cae('0x57')]({},_0x34f1bc,_0x3194a7[_0x8cae('0x58')]);return _0x45b662[_0x8cae('0xc2')](_0x34f1bc);}})[_0x8cae('0x11')](function(_0x3b1061){if(_0x3b1061){_0x141c3e=_0x3b1061[_0x8cae('0x5d')];if(!_0x3194a7[_0x8cae('0x50')]['hasOwnProperty'](_0x8cae('0x6b'))){_0x34f1bc[_0x8cae('0x20')]=qs['limit'](_0x3194a7[_0x8cae('0x50')]['limit']);_0x34f1bc[_0x8cae('0x1e')]=qs[_0x8cae('0x1e')](_0x3194a7[_0x8cae('0x50')][_0x8cae('0x1e')]);}return _0x45b662[_0x8cae('0xc2')](_0x34f1bc);}})['then'](function(_0x214e83){if(_0x214e83){return _0x214e83?{'count':_0x141c3e,'rows':_0x214e83}:null;}})['then'](respondWithResult(_0x2f6954,null))[_0x8cae('0x5e')](handleError(_0x2f6954,null));};