5e482176bc355f5af8b1df0d05b094eb9baff543
[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 _0xa481=['message','result','catch','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','update','destroy','get','MailAccounts','UserProfileResource','stack','name','send','gmail','imap.gmail.com','yahoo','imap.mail.yahoo.com','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp.mail.yahoo.com','hotmail','username','password','pass','modernAuthentication','CloudProviderId','host','port','service','user','authentication','Imap','Smtp','index','MailServerIn','MailServerOut','mandatoryDispositionPause','MailAccount','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','VIRTUAL','filter','merge','options','includeAll','findAll','show','params','Pause','include','find','body','provider','secure','Mail\x20Account\x20not\x20found','describe','MailAccountId','Disposition','create','getDispositions','removeDispositions','ids','getAnswers','findOne','CannedAnswer','rows','removeAnswers','custom','email','ListId','isNil','active','description','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','setImap','getSmtp','addSmtp','removeSmtp','MailInteraction','omit','getInteractions','CmContact','User','fullname','internal','Tag','Tags','color','tag','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','bulkCreate','findAndCountAll','priority','finally','getApplications','getMessages','MailMessage','$gte','split','YYYY-MM-DD\x20HH:mm:ss','inlineCss','CmList','List','Contacts','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found','from','format','%s\x20<%s>','attachments','join','root','server/files/attachments','getSmtpOptions','sendMail','List\x20not\x20found','messageId','subject','out','Interaction','Messages','verifySmtp','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','spread','emit','userMailAccount:save','removeAgents','userMailAccount:remove','getAgents','moment','bluebird','util','path','lodash','juice','ioredis','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','register','jayson/promise','client','then','info','MailAccount,\x20%s,\x20%s','debug','stringify','error','code'];(function(_0x3d8427,_0x26d438){var _0x50fbb5=function(_0x35a075){while(--_0x35a075){_0x3d8427['push'](_0x3d8427['shift']());}};_0x50fbb5(++_0x26d438);}(_0xa481,0xa7));var _0x1a48=function(_0x5b88c7,_0x2d598a){_0x5b88c7=_0x5b88c7-0x0;var _0x1a7448=_0xa481[_0x5b88c7];return _0x1a7448;};'use strict';var moment=require(_0x1a48('0x0'));var BPromise=require(_0x1a48('0x1'));var util=require(_0x1a48('0x2'));var path=require(_0x1a48('0x3'));var _=require(_0x1a48('0x4'));var juice=require(_0x1a48('0x5'));var Redis=require(_0x1a48('0x6'));var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')(_0x1a48('0x7'));var config=require(_0x1a48('0x8'));var db=require(_0x1a48('0x9'))['db'];config[_0x1a48('0xa')]=_[_0x1a48('0xb')](config[_0x1a48('0xa')],{'host':_0x1a48('0xc'),'port':0x18eb});var socket=require(_0x1a48('0xd'))(new Redis(config[_0x1a48('0xa')]));require(_0x1a48('0xe'))[_0x1a48('0xf')](socket);var jayson=require(_0x1a48('0x10'));var client=jayson[_0x1a48('0x11')]['http']({'port':0x232b});function respondWithRpcPromise(_0x969164,_0x2ae5ff,_0x551d20,_0x479bc4){return new BPromise(function(_0x3a1f6c,_0x536d5f){var _0xf8b8ea=_0x479bc4||client;return _0xf8b8ea['request'](_0x969164,_0x551d20)[_0x1a48('0x12')](function(_0x5194a9){logger[_0x1a48('0x13')](_0x1a48('0x14'),_0x2ae5ff,'request\x20sent');logger[_0x1a48('0x15')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x2ae5ff,'request\x20sent',JSON[_0x1a48('0x16')](_0x5194a9));if(_0x5194a9[_0x1a48('0x17')]){if(_0x5194a9['error'][_0x1a48('0x18')]===0x1f4){logger[_0x1a48('0x17')](_0x1a48('0x14'),_0x2ae5ff,_0x5194a9['error'][_0x1a48('0x19')]);return _0x536d5f(_0x5194a9[_0x1a48('0x17')][_0x1a48('0x19')]);}logger[_0x1a48('0x17')](_0x1a48('0x14'),_0x2ae5ff,_0x5194a9['error'][_0x1a48('0x19')]);return _0x3a1f6c(_0x5194a9[_0x1a48('0x17')][_0x1a48('0x19')]);}else{logger[_0x1a48('0x13')](_0x1a48('0x14'),_0x2ae5ff,'request\x20sent');_0x3a1f6c(_0x5194a9[_0x1a48('0x1a')][_0x1a48('0x19')]);}})[_0x1a48('0x1b')](function(_0x2fd64d){logger['error']('MailAccount,\x20%s,\x20%s',_0x2ae5ff,_0x2fd64d);_0x536d5f(_0x2fd64d);});});}function respondWithStatusCode(_0x457b47,_0x286c48){_0x286c48=_0x286c48||0xcc;return function(_0x342fa2){if(_0x342fa2){return _0x457b47[_0x1a48('0x1c')](_0x286c48);}return _0x457b47[_0x1a48('0x1d')](_0x286c48)[_0x1a48('0x1e')]();};}function respondWithResult(_0x52c559,_0x48d891){_0x48d891=_0x48d891||0xc8;return function(_0x30ce42){if(_0x30ce42){return _0x52c559[_0x1a48('0x1d')](_0x48d891)[_0x1a48('0x1f')](_0x30ce42);}};}function respondWithFilteredResult(_0x44700f,_0x570066){return function(_0x43a94a){if(_0x43a94a){var _0x11895a=typeof _0x570066[_0x1a48('0x20')]===_0x1a48('0x21')&&typeof _0x570066[_0x1a48('0x22')]==='undefined';var _0x20c20=_0x43a94a[_0x1a48('0x23')];var _0x50f577=_0x11895a?0x0:_0x570066[_0x1a48('0x20')];var _0x29324e=_0x11895a?_0x43a94a[_0x1a48('0x23')]:_0x570066[_0x1a48('0x20')]+_0x570066['limit'];var _0x204061;if(_0x29324e>=_0x20c20){_0x29324e=_0x20c20;_0x204061=0xc8;}else{_0x204061=0xce;}_0x44700f[_0x1a48('0x1d')](_0x204061);return _0x44700f[_0x1a48('0x24')](_0x1a48('0x25'),_0x50f577+'-'+_0x29324e+'/'+_0x20c20)[_0x1a48('0x1f')](_0x43a94a);}return null;};}function saveUpdates(_0x596834){return function(_0x395686){if(_0x395686){return _0x395686[_0x1a48('0x26')](_0x596834)[_0x1a48('0x12')](function(_0x5a955d){return _0x5a955d;});}return null;};}function removeEntity(_0x41af95){return function(_0xbd9b){if(_0xbd9b){return _0xbd9b[_0x1a48('0x27')]()[_0x1a48('0x12')](function(){var _0xae8df1=_0xbd9b[_0x1a48('0x28')]({'plain':!![]});var _0x18874b=_0x1a48('0x29');return db[_0x1a48('0x2a')][_0x1a48('0x27')]({'where':{'type':_0x18874b,'resourceId':_0xae8df1['id']}})[_0x1a48('0x12')](function(){return _0xbd9b;});})['then'](function(){_0x41af95['status'](0xcc)[_0x1a48('0x1e')]();});}};}function handleEntityNotFound(_0x1fec68){return function(_0x234765){if(!_0x234765){_0x1fec68[_0x1a48('0x1c')](0x194);}return _0x234765;};}function handleError(_0x4633d0,_0x9a29b){_0x9a29b=_0x9a29b||0x1f4;return function(_0x25534e){logger['error'](_0x25534e[_0x1a48('0x2b')]);if(_0x25534e['name']){delete _0x25534e[_0x1a48('0x2c')];}_0x4633d0[_0x1a48('0x1d')](_0x9a29b)[_0x1a48('0x2d')](_0x25534e);};}function getImapHost(_0x591ad3){switch(_0x591ad3){case _0x1a48('0x2e'):return _0x1a48('0x2f');case _0x1a48('0x30'):return _0x1a48('0x31');case'hotmail':return'imap-mail.outlook.com';case'outlook365':return _0x1a48('0x32');}throw new Error(_0x1a48('0x33'),_0x591ad3);}function getSmtpHost(_0x39514c){switch(_0x39514c){case'gmail':return'smtp.gmail.com';case _0x1a48('0x30'):return _0x1a48('0x34');case _0x1a48('0x35'):return'smtp-mail.outlook.com';case'outlook365':return'smtp.office365.com';}throw new Error(_0x1a48('0x33'),_0x39514c);}function getAuthenticationOptions(_0x1feab2,_0x470835){var _0x2e8604={};var _0x257158={};if(_0x1feab2){_0x2e8604['user']=_0x257158['user']=_0x470835[_0x1a48('0x36')];_0x2e8604[_0x1a48('0x37')]=_0x257158[_0x1a48('0x38')]=_0x470835[_0x1a48('0x37')];if(_0x470835[_0x1a48('0x39')]){_0x2e8604[_0x1a48('0x39')]=_0x257158[_0x1a48('0x39')]=!![];_0x2e8604[_0x1a48('0x3a')]=_0x257158[_0x1a48('0x3a')]=_0x470835[_0x1a48('0x3a')];_0x2e8604[_0x1a48('0x37')]=_0x257158[_0x1a48('0x38')]=null;}else{_0x2e8604[_0x1a48('0x3a')]=_0x257158[_0x1a48('0x3a')]=null;}_0x2e8604[_0x1a48('0x3b')]=getImapHost(_0x1feab2);_0x2e8604[_0x1a48('0x3c')]=0x3e1;_0x257158[_0x1a48('0x3b')]=getSmtpHost(_0x1feab2);_0x257158['port']=0x24b;_0x257158['secure']=![];_0x2e8604[_0x1a48('0x3d')]=_0x257158[_0x1a48('0x3d')]=null;}else{if(_0x470835['authentication']){_0x2e8604[_0x1a48('0x3e')]=_0x257158[_0x1a48('0x3e')]=_0x470835[_0x1a48('0x36')];_0x2e8604[_0x1a48('0x37')]=_0x257158['pass']=_0x470835['password'];}else{_0x2e8604['authentication']=_0x257158[_0x1a48('0x3f')]=![];_0x2e8604['user']=_0x257158[_0x1a48('0x3e')]=null;_0x2e8604[_0x1a48('0x37')]=_0x257158[_0x1a48('0x38')]=null;}_0x2e8604[_0x1a48('0x3b')]=_0x470835[_0x1a48('0x40')][_0x1a48('0x3b')];_0x2e8604[_0x1a48('0x3c')]=_0x470835[_0x1a48('0x40')][_0x1a48('0x3c')];_0x257158['host']=_0x470835[_0x1a48('0x41')][_0x1a48('0x3b')];_0x257158[_0x1a48('0x3c')]=_0x470835[_0x1a48('0x41')][_0x1a48('0x3c')];}return{'Imap':_0x2e8604,'Smtp':_0x257158};}exports[_0x1a48('0x42')]=function(_0x24cb8e,_0x19bed4){var _0x15ef3d={'include':[{'model':db[_0x1a48('0x43')],'as':_0x1a48('0x40')},{'model':db[_0x1a48('0x44')],'as':'Smtp'},{'model':db['Pause'],'as':_0x1a48('0x45')}]},_0x261bf3={},_0x5c4c01={'count':0x0,'rows':[]};var _0x57bfbe=_['map'](db[_0x1a48('0x46')][_0x1a48('0x47')],function(_0x14cc5b){return{'name':_0x14cc5b[_0x1a48('0x48')],'type':_0x14cc5b[_0x1a48('0x49')][_0x1a48('0x4a')]};});_0x261bf3[_0x1a48('0x4b')]=_[_0x1a48('0x4c')](_0x57bfbe,'name');_0x261bf3[_0x1a48('0x4d')]=_[_0x1a48('0x4e')](_0x24cb8e[_0x1a48('0x4d')]);_0x261bf3[_0x1a48('0x4f')]=_[_0x1a48('0x50')](_0x261bf3['model'],_0x261bf3[_0x1a48('0x4d')]);_0x15ef3d['attributes']=_[_0x1a48('0x50')](_0x261bf3[_0x1a48('0x4b')],qs[_0x1a48('0x51')](_0x24cb8e[_0x1a48('0x4d')]['fields']));_0x15ef3d['attributes']=_0x15ef3d[_0x1a48('0x52')][_0x1a48('0x53')]?_0x15ef3d[_0x1a48('0x52')]:_0x261bf3[_0x1a48('0x4b')];if(!_0x24cb8e[_0x1a48('0x4d')][_0x1a48('0x54')](_0x1a48('0x55'))){_0x15ef3d[_0x1a48('0x22')]=qs[_0x1a48('0x22')](_0x24cb8e[_0x1a48('0x4d')][_0x1a48('0x22')]);_0x15ef3d[_0x1a48('0x20')]=qs[_0x1a48('0x20')](_0x24cb8e[_0x1a48('0x4d')]['offset']);}_0x15ef3d[_0x1a48('0x56')]=qs['sort'](_0x24cb8e[_0x1a48('0x4d')][_0x1a48('0x57')]);_0x15ef3d[_0x1a48('0x58')]=qs['filters'](_[_0x1a48('0x59')](_0x24cb8e[_0x1a48('0x4d')],_0x261bf3[_0x1a48('0x4f')]),_0x57bfbe);if(_0x24cb8e['query']['filter']){_0x15ef3d[_0x1a48('0x58')]=_['merge'](_0x15ef3d['where'],{'$or':_[_0x1a48('0x4c')](_0x57bfbe,function(_0x3697ec){if(_0x3697ec[_0x1a48('0x49')]!==_0x1a48('0x5a')){var _0x390d7a={};_0x390d7a[_0x3697ec[_0x1a48('0x2c')]]={'$like':'%'+_0x24cb8e[_0x1a48('0x4d')][_0x1a48('0x5b')]+'%'};return _0x390d7a;}})});}_0x15ef3d=_[_0x1a48('0x5c')]({},_0x15ef3d,_0x24cb8e[_0x1a48('0x5d')]);var _0xed2cd7={'where':_0x15ef3d['where']};return db['MailAccount'][_0x1a48('0x23')](_0xed2cd7)[_0x1a48('0x12')](function(_0x5591d6){_0x5c4c01[_0x1a48('0x23')]=_0x5591d6;if(_0x24cb8e[_0x1a48('0x4d')][_0x1a48('0x5e')]){_0x15ef3d['include']=[{'all':!![]}];}return db[_0x1a48('0x46')][_0x1a48('0x5f')](_0x15ef3d);})[_0x1a48('0x12')](function(_0x390177){_0x5c4c01['rows']=_0x390177;return _0x5c4c01;})['then'](respondWithFilteredResult(_0x19bed4,_0x15ef3d))['catch'](handleError(_0x19bed4,null));};exports[_0x1a48('0x60')]=function(_0x15db01,_0x47de89){var _0x39c09e={'raw':![],'where':{'id':_0x15db01[_0x1a48('0x61')]['id']},'include':[{'model':db['MailServerIn'],'as':_0x1a48('0x40')},{'model':db[_0x1a48('0x44')],'as':_0x1a48('0x41')},{'model':db[_0x1a48('0x62')],'as':_0x1a48('0x45')}]},_0x5e8873={};_0x5e8873[_0x1a48('0x4b')]=_[_0x1a48('0x4e')](db[_0x1a48('0x46')][_0x1a48('0x47')]);_0x5e8873['query']=_[_0x1a48('0x4e')](_0x15db01[_0x1a48('0x4d')]);_0x5e8873['filters']=_[_0x1a48('0x50')](_0x5e8873['model'],_0x5e8873[_0x1a48('0x4d')]);_0x39c09e[_0x1a48('0x52')]=_[_0x1a48('0x50')](_0x5e8873['model'],qs['fields'](_0x15db01['query'][_0x1a48('0x51')]));_0x39c09e['attributes']=_0x39c09e[_0x1a48('0x52')][_0x1a48('0x53')]?_0x39c09e['attributes']:_0x5e8873[_0x1a48('0x4b')];if(_0x15db01[_0x1a48('0x4d')][_0x1a48('0x5e')]){_0x39c09e[_0x1a48('0x63')]=[{'all':!![]}];}_0x39c09e=_[_0x1a48('0x5c')]({},_0x39c09e,_0x15db01[_0x1a48('0x5d')]);return db[_0x1a48('0x46')][_0x1a48('0x64')](_0x39c09e)[_0x1a48('0x12')](handleEntityNotFound(_0x47de89,null))[_0x1a48('0x12')](respondWithResult(_0x47de89,null))[_0x1a48('0x1b')](handleError(_0x47de89,null));};exports[_0x1a48('0x26')]=function(_0x4685ac,_0x55fae4){if(_0x4685ac[_0x1a48('0x65')]['id']){delete _0x4685ac[_0x1a48('0x65')]['id'];}var _0x319c25=_0x4685ac[_0x1a48('0x65')][_0x1a48('0x66')]==='custom'?null:_0x4685ac[_0x1a48('0x65')][_0x1a48('0x66')];var _0x3e2766=_0x4685ac['body'][_0x1a48('0x40')]||{};var _0x3b3de5=_0x4685ac[_0x1a48('0x65')][_0x1a48('0x41')]||{};if(_0x319c25){_0x3e2766['host']=getImapHost(_0x319c25);_0x3e2766[_0x1a48('0x3c')]=0x3e1;_0x3b3de5[_0x1a48('0x3b')]=getSmtpHost(_0x319c25);_0x3b3de5['port']=0x24b;_0x3b3de5['secure']=![];}if(_0x3b3de5['modernAuthentication']){_0x3b3de5[_0x1a48('0x67')]=![];}else{_0x3b3de5['CloudProviderId']=null;}if(!_0x3e2766['modernAuthentication'])_0x3e2766['CloudProviderId']=null;_0x4685ac['body'][_0x1a48('0x40')]=_0x3e2766;_0x4685ac[_0x1a48('0x65')]['Smtp']=_0x3b3de5;return db[_0x1a48('0x46')][_0x1a48('0x64')]({'where':{'id':_0x4685ac[_0x1a48('0x61')]['id']},'include':[{'model':db[_0x1a48('0x43')],'as':_0x1a48('0x40')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0x1a48('0x62')],'as':_0x1a48('0x45')}]})['then'](handleEntityNotFound(_0x55fae4,null))[_0x1a48('0x12')](function(_0x300837){if(!_0x300837)throw new Error(_0x1a48('0x68'));if(_0x300837[_0x1a48('0x3d')])delete _0x4685ac[_0x1a48('0x65')][_0x1a48('0x40')];return _0x300837;})[_0x1a48('0x12')](saveUpdates(_0x4685ac[_0x1a48('0x65')],null))[_0x1a48('0x12')](function(_0xbdbc79){if(!_0x4685ac[_0x1a48('0x65')][_0x1a48('0x40')])return _0xbdbc79;return db['MailServerIn'][_0x1a48('0x26')](_0x4685ac[_0x1a48('0x65')]['Imap'],{'where':{'MailAccountId':_0xbdbc79['id']}})[_0x1a48('0x12')](function(){return _0xbdbc79;});})[_0x1a48('0x12')](function(_0x1a56ed){if(!_0x4685ac['body'][_0x1a48('0x41')])return _0x1a56ed;return db[_0x1a48('0x44')][_0x1a48('0x26')](_0x4685ac['body'][_0x1a48('0x41')],{'where':{'MailAccountId':_0x1a56ed['id']}})['then'](function(){return _0x1a56ed;});})['then'](respondWithResult(_0x55fae4,null))[_0x1a48('0x1b')](handleError(_0x55fae4,null));};exports['describe']=function(_0x3cbe36,_0x3c18dc){return db[_0x1a48('0x46')][_0x1a48('0x69')]()[_0x1a48('0x12')](respondWithResult(_0x3c18dc,null))[_0x1a48('0x1b')](handleError(_0x3c18dc,null));};exports['addDisposition']=function(_0x4d9775,_0x27fdb3){if(_0x4d9775[_0x1a48('0x65')]['id']){delete _0x4d9775[_0x1a48('0x65')]['id'];}return db[_0x1a48('0x46')][_0x1a48('0x64')]({'where':{'id':_0x4d9775[_0x1a48('0x61')]['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x27fdb3,null))[_0x1a48('0x12')](function(_0x46f83b){if(_0x46f83b){_0x4d9775['body'][_0x1a48('0x6a')]=_0x46f83b['id'];return db[_0x1a48('0x6b')][_0x1a48('0x6c')](_0x4d9775[_0x1a48('0x65')]);}})[_0x1a48('0x12')](respondWithResult(_0x27fdb3,null))['catch'](handleError(_0x27fdb3,null));};exports[_0x1a48('0x6d')]=function(_0x3da9d9,_0x52147c){var _0x3539c5={'raw':![],'where':{}};var _0x38c9b1={};var _0x5b3abf={'count':0x0,'rows':[]};return db['MailAccount']['findOne']({'where':{'id':_0x3da9d9['params']['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x52147c,null))[_0x1a48('0x12')](function(_0x18c78d){if(_0x18c78d){_0x38c9b1[_0x1a48('0x4b')]=_['keys'](db[_0x1a48('0x6b')][_0x1a48('0x47')]);_0x38c9b1['query']=_[_0x1a48('0x4e')](_0x3da9d9[_0x1a48('0x4d')]);_0x38c9b1[_0x1a48('0x4f')]=_[_0x1a48('0x50')](_0x38c9b1[_0x1a48('0x4b')],_0x38c9b1[_0x1a48('0x4d')]);_0x3539c5[_0x1a48('0x52')]=_[_0x1a48('0x50')](_0x38c9b1[_0x1a48('0x4b')],qs[_0x1a48('0x51')](_0x3da9d9[_0x1a48('0x4d')]['fields']));_0x3539c5[_0x1a48('0x52')]=_0x3539c5[_0x1a48('0x52')]['length']?_0x3539c5[_0x1a48('0x52')]:_0x38c9b1[_0x1a48('0x4b')];if(!_0x3da9d9['query'][_0x1a48('0x54')]('nolimit')){_0x3539c5[_0x1a48('0x22')]=qs[_0x1a48('0x22')](_0x3da9d9['query']['limit']);_0x3539c5[_0x1a48('0x20')]=qs[_0x1a48('0x20')](_0x3da9d9['query'][_0x1a48('0x20')]);}_0x3539c5[_0x1a48('0x56')]=qs[_0x1a48('0x57')](_0x3da9d9[_0x1a48('0x4d')][_0x1a48('0x57')]);_0x3539c5[_0x1a48('0x58')]=qs['filters'](_[_0x1a48('0x59')](_0x3da9d9[_0x1a48('0x4d')],_0x38c9b1[_0x1a48('0x4f')]));_0x3539c5[_0x1a48('0x58')][_0x1a48('0x6a')]=_0x18c78d['id'];if(_0x3da9d9[_0x1a48('0x4d')]['filter']){_0x3539c5['where']=_[_0x1a48('0x5c')](_0x3539c5[_0x1a48('0x58')],{'$or':_[_0x1a48('0x4c')](_0x3539c5[_0x1a48('0x52')],function(_0xe3f69c){var _0xd976fd={};_0xd976fd[_0xe3f69c]={'$like':'%'+_0x3da9d9[_0x1a48('0x4d')][_0x1a48('0x5b')]+'%'};return _0xd976fd;})});}_0x3539c5=_[_0x1a48('0x5c')]({},_0x3539c5,_0x3da9d9[_0x1a48('0x5d')]);return db['Disposition'][_0x1a48('0x23')]({'where':_0x3539c5[_0x1a48('0x58')]})[_0x1a48('0x12')](function(_0x16e80d){_0x5b3abf[_0x1a48('0x23')]=_0x16e80d;if(_0x3da9d9[_0x1a48('0x4d')][_0x1a48('0x5e')]){_0x3539c5['include']=[{'all':!![]}];}return db['Disposition'][_0x1a48('0x5f')](_0x3539c5);})[_0x1a48('0x12')](function(_0x494336){_0x5b3abf['rows']=_0x494336;return _0x5b3abf;});}})[_0x1a48('0x12')](respondWithFilteredResult(_0x52147c,_0x3539c5))[_0x1a48('0x1b')](handleError(_0x52147c,null));};exports['removeDispositions']=function(_0x58d1c6,_0x1df9a2){return db['MailAccount']['find']({'where':{'id':_0x58d1c6[_0x1a48('0x61')]['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x1df9a2,null))['then'](function(_0x2b2b65){if(_0x2b2b65){return _0x2b2b65[_0x1a48('0x6e')](_0x58d1c6[_0x1a48('0x4d')][_0x1a48('0x6f')]);}})[_0x1a48('0x12')](respondWithStatusCode(_0x1df9a2,null))[_0x1a48('0x1b')](handleError(_0x1df9a2,null));};exports['addAnswer']=function(_0x3988ed,_0x5c79d9){if(_0x3988ed[_0x1a48('0x65')]['id']){delete _0x3988ed['body']['id'];}return db[_0x1a48('0x46')][_0x1a48('0x64')]({'where':{'id':_0x3988ed[_0x1a48('0x61')]['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x5c79d9,null))[_0x1a48('0x12')](function(_0x567653){if(_0x567653){_0x3988ed['body'][_0x1a48('0x6a')]=_0x567653['id'];return db['CannedAnswer']['create'](_0x3988ed[_0x1a48('0x65')]);}})[_0x1a48('0x12')](respondWithResult(_0x5c79d9,null))[_0x1a48('0x1b')](handleError(_0x5c79d9,null));};exports[_0x1a48('0x70')]=function(_0x3bfc30,_0x40ae8d){var _0x73c39a={'raw':![],'where':{}};var _0x3eb43b={};var _0x2f18a3={'count':0x0,'rows':[]};return db[_0x1a48('0x46')][_0x1a48('0x71')]({'where':{'id':_0x3bfc30[_0x1a48('0x61')]['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x40ae8d,null))[_0x1a48('0x12')](function(_0x55fbe9){if(_0x55fbe9){_0x3eb43b[_0x1a48('0x4b')]=_[_0x1a48('0x4e')](db[_0x1a48('0x72')][_0x1a48('0x47')]);_0x3eb43b['query']=_['keys'](_0x3bfc30[_0x1a48('0x4d')]);_0x3eb43b['filters']=_[_0x1a48('0x50')](_0x3eb43b[_0x1a48('0x4b')],_0x3eb43b[_0x1a48('0x4d')]);_0x73c39a[_0x1a48('0x52')]=_[_0x1a48('0x50')](_0x3eb43b[_0x1a48('0x4b')],qs[_0x1a48('0x51')](_0x3bfc30[_0x1a48('0x4d')][_0x1a48('0x51')]));_0x73c39a[_0x1a48('0x52')]=_0x73c39a[_0x1a48('0x52')]['length']?_0x73c39a[_0x1a48('0x52')]:_0x3eb43b[_0x1a48('0x4b')];if(!_0x3bfc30['query'][_0x1a48('0x54')](_0x1a48('0x55'))){_0x73c39a['limit']=qs['limit'](_0x3bfc30['query'][_0x1a48('0x22')]);_0x73c39a[_0x1a48('0x20')]=qs[_0x1a48('0x20')](_0x3bfc30[_0x1a48('0x4d')][_0x1a48('0x20')]);}_0x73c39a[_0x1a48('0x56')]=qs[_0x1a48('0x57')](_0x3bfc30[_0x1a48('0x4d')][_0x1a48('0x57')]);_0x73c39a[_0x1a48('0x58')]=qs[_0x1a48('0x4f')](_[_0x1a48('0x59')](_0x3bfc30['query'],_0x3eb43b[_0x1a48('0x4f')]));_0x73c39a[_0x1a48('0x58')][_0x1a48('0x6a')]=_0x55fbe9['id'];if(_0x3bfc30[_0x1a48('0x4d')][_0x1a48('0x5b')]){_0x73c39a[_0x1a48('0x58')]=_[_0x1a48('0x5c')](_0x73c39a[_0x1a48('0x58')],{'$or':_[_0x1a48('0x4c')](_0x73c39a['attributes'],function(_0x2e9de1){var _0x5bfe8d={};_0x5bfe8d[_0x2e9de1]={'$like':'%'+_0x3bfc30[_0x1a48('0x4d')][_0x1a48('0x5b')]+'%'};return _0x5bfe8d;})});}_0x73c39a=_[_0x1a48('0x5c')]({},_0x73c39a,_0x3bfc30['options']);return db[_0x1a48('0x72')]['count']({'where':_0x73c39a[_0x1a48('0x58')]})[_0x1a48('0x12')](function(_0x3f13fd){_0x2f18a3[_0x1a48('0x23')]=_0x3f13fd;if(_0x3bfc30[_0x1a48('0x4d')][_0x1a48('0x5e')]){_0x73c39a[_0x1a48('0x63')]=[{'all':!![]}];}return db[_0x1a48('0x72')][_0x1a48('0x5f')](_0x73c39a);})[_0x1a48('0x12')](function(_0x1f5a3a){_0x2f18a3[_0x1a48('0x73')]=_0x1f5a3a;return _0x2f18a3;});}})['then'](respondWithFilteredResult(_0x40ae8d,_0x73c39a))[_0x1a48('0x1b')](handleError(_0x40ae8d,null));};exports[_0x1a48('0x74')]=function(_0x52f811,_0x8d8fad){return db[_0x1a48('0x46')][_0x1a48('0x64')]({'where':{'id':_0x52f811[_0x1a48('0x61')]['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x8d8fad,null))['then'](function(_0x4cc049){if(_0x4cc049){return _0x4cc049['removeAnswers'](_0x52f811[_0x1a48('0x4d')]['ids']);}})[_0x1a48('0x12')](respondWithStatusCode(_0x8d8fad,null))[_0x1a48('0x1b')](handleError(_0x8d8fad,null));};exports['create']=function(_0x2adf57,_0x35c66d){var _0x237af7={'name':_0x2adf57[_0x1a48('0x65')][_0x1a48('0x2c')],'key':_0x2adf57[_0x1a48('0x65')][_0x1a48('0x4a')],'provider':_0x2adf57[_0x1a48('0x65')][_0x1a48('0x66')]===_0x1a48('0x75')?null:_0x2adf57[_0x1a48('0x65')][_0x1a48('0x66')],'email':_0x2adf57[_0x1a48('0x65')][_0x1a48('0x76')],'ListId':_0x2adf57[_0x1a48('0x65')][_0x1a48('0x77')],'active':!_[_0x1a48('0x78')](_0x2adf57[_0x1a48('0x65')][_0x1a48('0x79')])?_0x2adf57[_0x1a48('0x65')]['active']:!![],'description':_0x2adf57[_0x1a48('0x65')][_0x1a48('0x7a')]||null};var _0x6581ea=getAuthenticationOptions(_0x237af7[_0x1a48('0x66')],_0x2adf57[_0x1a48('0x65')]);_0x237af7[_0x1a48('0x40')]=_0x6581ea[_0x1a48('0x40')];_0x237af7['Smtp']=_0x6581ea[_0x1a48('0x41')];return db[_0x1a48('0x46')][_0x1a48('0x6c')](_0x237af7,{'include':[{'model':db[_0x1a48('0x44')],'as':_0x1a48('0x41')},{'model':db[_0x1a48('0x43')],'as':_0x1a48('0x40')}]})[_0x1a48('0x12')](function(_0x4bdbea){var _0x1b358f=_0x2adf57[_0x1a48('0x3e')][_0x1a48('0x28')]({'plain':!![]});if(!_0x1b358f)throw new Error(_0x1a48('0x7b'));if(_0x1b358f[_0x1a48('0x7c')]===_0x1a48('0x3e')){var _0x486846=_0x4bdbea['get']({'plain':!![]});return db[_0x1a48('0x7d')][_0x1a48('0x64')]({'where':{'name':_0x1a48('0x29'),'userProfileId':_0x1b358f[_0x1a48('0x7e')]},'raw':!![]})[_0x1a48('0x12')](function(_0x4e793b){if(_0x4e793b&&_0x4e793b['autoAssociation']===0x0){return db[_0x1a48('0x2a')][_0x1a48('0x6c')]({'name':_0x486846[_0x1a48('0x2c')],'resourceId':_0x486846['id'],'type':_0x4e793b[_0x1a48('0x2c')],'sectionId':_0x4e793b['id']},{})[_0x1a48('0x12')](function(){return _0x4bdbea;});}else{return _0x4bdbea;}})['catch'](function(_0x380c7f){logger[_0x1a48('0x17')](_0x1a48('0x7f'),_0x380c7f);throw _0x380c7f;});}return _0x4bdbea;})[_0x1a48('0x12')](respondWithResult(_0x35c66d,0xc9))[_0x1a48('0x1b')](handleError(_0x35c66d,null));};exports['getImap']=function(_0x10645d,_0x2ee008){return db[_0x1a48('0x46')][_0x1a48('0x71')]({'where':{'id':_0x10645d[_0x1a48('0x61')]['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x2ee008,null))[_0x1a48('0x12')](function(_0x1a90b8){if(_0x1a90b8){return _0x1a90b8[_0x1a48('0x80')]();}return null;})[_0x1a48('0x12')](respondWithResult(_0x2ee008,null))['catch'](handleError(_0x2ee008,null));};exports[_0x1a48('0x81')]=function(_0x1aa5c6,_0x5e79f8){if(_0x1aa5c6[_0x1a48('0x65')]['id']){delete _0x1aa5c6[_0x1a48('0x65')]['id'];}return db[_0x1a48('0x46')]['find']({'where':{'id':_0x1aa5c6[_0x1a48('0x61')]['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x5e79f8,null))['then'](function(_0x5ec3da){if(_0x5ec3da){_0x1aa5c6[_0x1a48('0x65')][_0x1a48('0x6a')]=_0x5ec3da['id'];return db['MailServerIn'][_0x1a48('0x6c')](_0x1aa5c6['body']);}})['then'](respondWithResult(_0x5e79f8,null))[_0x1a48('0x1b')](handleError(_0x5e79f8,null));};exports['removeImap']=function(_0x2daeaa,_0x42d548){return db[_0x1a48('0x46')][_0x1a48('0x71')]({'where':{'id':_0x2daeaa[_0x1a48('0x61')]['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x42d548,null))['then'](function(_0x560df6){if(_0x560df6){return _0x560df6[_0x1a48('0x82')](null);}return null;})['then'](respondWithStatusCode(_0x42d548,null))['catch'](handleError(_0x42d548,null));};exports[_0x1a48('0x83')]=function(_0x22fec1,_0xc1a66c){return db[_0x1a48('0x46')][_0x1a48('0x71')]({'where':{'id':_0x22fec1['params']['id']}})['then'](handleEntityNotFound(_0xc1a66c,null))[_0x1a48('0x12')](function(_0x1142f9){if(_0x1142f9){return _0x1142f9['getSmtp']();}return null;})[_0x1a48('0x12')](respondWithResult(_0xc1a66c,null))['catch'](handleError(_0xc1a66c,null));};exports[_0x1a48('0x84')]=function(_0x1e2582,_0x4c6d33){if(_0x1e2582[_0x1a48('0x65')]['id']){delete _0x1e2582[_0x1a48('0x65')]['id'];}return db[_0x1a48('0x46')][_0x1a48('0x64')]({'where':{'id':_0x1e2582[_0x1a48('0x61')]['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x4c6d33,null))['then'](function(_0x2dd4a6){if(_0x2dd4a6){_0x1e2582[_0x1a48('0x65')][_0x1a48('0x6a')]=_0x2dd4a6['id'];return db[_0x1a48('0x44')][_0x1a48('0x6c')](_0x1e2582[_0x1a48('0x65')]);}})['then'](respondWithResult(_0x4c6d33,null))[_0x1a48('0x1b')](handleError(_0x4c6d33,null));};exports[_0x1a48('0x85')]=function(_0x333aa5,_0x29aace){return db[_0x1a48('0x46')][_0x1a48('0x71')]({'where':{'id':_0x333aa5[_0x1a48('0x61')]['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x29aace,null))['then'](function(_0x150ec3){if(_0x150ec3){return _0x150ec3['setSmtp'](null);}return null;})['then'](respondWithStatusCode(_0x29aace,null))['catch'](handleError(_0x29aace,null));};exports['addInteraction']=function(_0x3cf264,_0x5e5733){return db[_0x1a48('0x86')][_0x1a48('0x64')]({'where':{'id':_0x3cf264[_0x1a48('0x61')]['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x5e5733,null))[_0x1a48('0x12')](function(_0x499ff0){if(_0x499ff0){return _0x499ff0['addInteraction'](_0x3cf264[_0x1a48('0x65')][_0x1a48('0x6f')],_[_0x1a48('0x87')](_0x3cf264[_0x1a48('0x65')],['ids','id'])||{});}})['then'](respondWithResult(_0x5e5733,null))[_0x1a48('0x1b')](handleError(_0x5e5733,null));};exports[_0x1a48('0x88')]=function(_0x409622,_0x5945e4){var _0x5e2b89={'raw':![],'where':{}};var _0x34fdef={};var _0x345460={'count':0x0,'rows':[]};return db[_0x1a48('0x46')]['findOne']({'where':{'id':_0x409622['params']['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x5945e4,null))[_0x1a48('0x12')](function(_0x278f3e){if(_0x278f3e){_0x34fdef[_0x1a48('0x4b')]=_['keys'](db[_0x1a48('0x86')][_0x1a48('0x47')]);_0x34fdef[_0x1a48('0x4d')]=_[_0x1a48('0x4e')](_0x409622[_0x1a48('0x4d')]);_0x34fdef[_0x1a48('0x4f')]=_[_0x1a48('0x50')](_0x34fdef[_0x1a48('0x4b')],_0x34fdef['query']);_0x5e2b89[_0x1a48('0x52')]=_[_0x1a48('0x50')](_0x34fdef[_0x1a48('0x4b')],qs['fields'](_0x409622[_0x1a48('0x4d')][_0x1a48('0x51')]));_0x5e2b89[_0x1a48('0x52')]=_0x5e2b89[_0x1a48('0x52')][_0x1a48('0x53')]?_0x5e2b89[_0x1a48('0x52')]:_0x34fdef[_0x1a48('0x4b')];if(!_0x409622[_0x1a48('0x4d')][_0x1a48('0x54')](_0x1a48('0x55'))){_0x5e2b89[_0x1a48('0x22')]=qs[_0x1a48('0x22')](_0x409622[_0x1a48('0x4d')][_0x1a48('0x22')]);_0x5e2b89[_0x1a48('0x20')]=qs[_0x1a48('0x20')](_0x409622['query'][_0x1a48('0x20')]);}_0x5e2b89[_0x1a48('0x56')]=qs[_0x1a48('0x57')](_0x409622[_0x1a48('0x4d')][_0x1a48('0x57')]);_0x5e2b89['where']=qs[_0x1a48('0x4f')](_[_0x1a48('0x59')](_0x409622[_0x1a48('0x4d')],_0x34fdef['filters']));_0x5e2b89['where'][_0x1a48('0x6a')]=_0x278f3e['id'];if(_0x409622[_0x1a48('0x4d')][_0x1a48('0x5b')]){_0x5e2b89[_0x1a48('0x58')]=_[_0x1a48('0x5c')](_0x5e2b89[_0x1a48('0x58')],{'$or':_[_0x1a48('0x4c')](_0x5e2b89[_0x1a48('0x52')],function(_0x5ba8a8){var _0x3316f1={};_0x3316f1[_0x5ba8a8]={'$like':'%'+_0x409622[_0x1a48('0x4d')][_0x1a48('0x5b')]+'%'};return _0x3316f1;})});}_0x5e2b89=_[_0x1a48('0x5c')]({},_0x5e2b89,_0x409622[_0x1a48('0x5d')]);return db[_0x1a48('0x86')][_0x1a48('0x23')]({'where':_0x5e2b89[_0x1a48('0x58')]})[_0x1a48('0x12')](function(_0x35da87){_0x345460[_0x1a48('0x23')]=_0x35da87;if(_0x409622[_0x1a48('0x4d')][_0x1a48('0x5e')]){_0x5e2b89[_0x1a48('0x63')]=[{'model':db[_0x1a48('0x89')],'as':'Contact','required':![]},{'model':db[_0x1a48('0x8a')],'as':'Owner','attributes':[_0x1a48('0x2c'),_0x1a48('0x8b'),_0x1a48('0x8c')],'required':![]},{'model':db[_0x1a48('0x8d')],'as':_0x1a48('0x8e'),'attributes':['id',_0x1a48('0x2c'),_0x1a48('0x8f')],'where':_0x409622[_0x1a48('0x4d')][_0x1a48('0x90')]?{'id':_0x409622[_0x1a48('0x4d')]['tag']}:undefined,'required':_0x409622[_0x1a48('0x4d')][_0x1a48('0x90')]?!![]:![]}];}return db[_0x1a48('0x86')][_0x1a48('0x5f')](_0x5e2b89);})[_0x1a48('0x12')](function(_0x370b76){_0x345460['rows']=_0x370b76;return _0x345460;});}})['then'](respondWithFilteredResult(_0x5945e4,_0x5e2b89))[_0x1a48('0x1b')](handleError(_0x5945e4,null));};exports[_0x1a48('0x91')]=function addApplications(_0xa724bb,_0x5169c2){var _0x2544d4=_0xa724bb['params']['id'];var _0x128914=_0xa724bb['body'];var _0x5877ff=0xc8;var _0x12a84e=null;return db[_0x1a48('0x92')][_0x1a48('0x93')]({'isolationLevel':db[_0x1a48('0x92')][_0x1a48('0x94')][_0x1a48('0x95')]['READ_COMMITTED']},function(_0x4dc4c4){return db['MailAccount'][_0x1a48('0x71')]({'where':{'id':_0x2544d4},'transaction':_0x4dc4c4})['then'](function(_0x447d13){if(_0x447d13){return db['MailApplication']['destroy']({'where':{'MailAccountId':_0x2544d4},'transaction':_0x4dc4c4})['then'](function(){var _0x2f8137=_[_0x1a48('0x4c')](_0x128914,function(_0xf28de5){_0xf28de5['MailAccountId']=_0x2544d4;return _0xf28de5;});return db['MailApplication'][_0x1a48('0x96')](_0x2f8137,{'transaction':_0x4dc4c4});});}else{_0x5877ff=0x194;_0x12a84e=[];}});})[_0x1a48('0x12')](function(){if(_0x5877ff!==0x194){return db['MailApplication'][_0x1a48('0x97')]({'where':{'MailAccountId':_0x2544d4},'order':_0x1a48('0x98')})[_0x1a48('0x12')](function(_0x4fc659){_0x12a84e=_0x4fc659;});}})[_0x1a48('0x1b')](function(_0x47aac1){_0x5877ff=0x1f4;logger[_0x1a48('0x17')](_0x47aac1[_0x1a48('0x2b')]);if(_0x47aac1[_0x1a48('0x2c')]){delete _0x47aac1[_0x1a48('0x2c')];}_0x12a84e=_0x47aac1;})[_0x1a48('0x99')](function(){if(_0x12a84e===null){_0x5169c2[_0x1a48('0x1c')](_0x5877ff);}else{if(_0x5877ff===0x1f4){_0x5169c2[_0x1a48('0x1d')](_0x5877ff)[_0x1a48('0x2d')](_0x12a84e);}else{_0x5169c2[_0x1a48('0x1d')](_0x5877ff)[_0x1a48('0x1f')](_0x12a84e);}}});};exports[_0x1a48('0x9a')]=function(_0x50947e,_0x2f64a8){var _0x47b70a={};var _0x85a1a0={};var _0x2b796a;var _0x37480d;return db['MailAccount'][_0x1a48('0x71')]({'where':{'id':_0x50947e['params']['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x2f64a8,null))['then'](function(_0x5e7b55){if(_0x5e7b55){_0x2b796a=_0x5e7b55;_0x85a1a0['model']=_['keys'](db['MailApplication'][_0x1a48('0x47')]);_0x85a1a0[_0x1a48('0x4d')]=_[_0x1a48('0x4e')](_0x50947e[_0x1a48('0x4d')]);_0x85a1a0[_0x1a48('0x4f')]=_[_0x1a48('0x50')](_0x85a1a0[_0x1a48('0x4b')],_0x85a1a0[_0x1a48('0x4d')]);_0x47b70a['attributes']=_[_0x1a48('0x50')](_0x85a1a0[_0x1a48('0x4b')],qs[_0x1a48('0x51')](_0x50947e[_0x1a48('0x4d')][_0x1a48('0x51')]));_0x47b70a['attributes']=_0x47b70a[_0x1a48('0x52')][_0x1a48('0x53')]?_0x47b70a[_0x1a48('0x52')]:_0x85a1a0[_0x1a48('0x4b')];_0x47b70a[_0x1a48('0x56')]=qs['sort'](_0x50947e[_0x1a48('0x4d')][_0x1a48('0x57')]);_0x47b70a[_0x1a48('0x58')]=qs[_0x1a48('0x4f')](_[_0x1a48('0x59')](_0x50947e[_0x1a48('0x4d')],_0x85a1a0[_0x1a48('0x4f')]));if(_0x50947e[_0x1a48('0x4d')][_0x1a48('0x5b')]){_0x47b70a[_0x1a48('0x58')]=_[_0x1a48('0x5c')](_0x47b70a['where'],{'$or':_[_0x1a48('0x4c')](_0x47b70a[_0x1a48('0x52')],function(_0x49a269){var _0x46e00e={};_0x46e00e[_0x49a269]={'$like':'%'+_0x50947e[_0x1a48('0x4d')][_0x1a48('0x5b')]+'%'};return _0x46e00e;})});}_0x47b70a=_[_0x1a48('0x5c')]({},_0x47b70a,_0x50947e[_0x1a48('0x5d')]);return _0x2b796a[_0x1a48('0x9a')](_0x47b70a);}})[_0x1a48('0x12')](function(_0x244d05){if(_0x244d05){_0x37480d=_0x244d05[_0x1a48('0x53')];if(!_0x50947e[_0x1a48('0x4d')][_0x1a48('0x54')](_0x1a48('0x55'))){_0x47b70a[_0x1a48('0x22')]=qs['limit'](_0x50947e[_0x1a48('0x4d')][_0x1a48('0x22')]);_0x47b70a[_0x1a48('0x20')]=qs[_0x1a48('0x20')](_0x50947e[_0x1a48('0x4d')][_0x1a48('0x20')]);}return _0x2b796a[_0x1a48('0x9a')](_0x47b70a);}})[_0x1a48('0x12')](function(_0x180c58){if(_0x180c58){return _0x180c58?{'count':_0x37480d,'rows':_0x180c58}:null;}})['then'](respondWithResult(_0x2f64a8,null))[_0x1a48('0x1b')](handleError(_0x2f64a8,null));};exports[_0x1a48('0x9b')]=function(_0x16149d,_0x39f238){var _0x5a1d53={'raw':!![],'where':{}};var _0x6d5c3d={};var _0x165dbd={'count':0x0,'rows':[]};return db[_0x1a48('0x46')][_0x1a48('0x71')]({'where':{'id':_0x16149d[_0x1a48('0x61')]['id']}})['then'](handleEntityNotFound(_0x39f238,null))[_0x1a48('0x12')](function(_0x5e6516){if(_0x5e6516){_0x6d5c3d[_0x1a48('0x4b')]=_['keys'](db[_0x1a48('0x9c')][_0x1a48('0x47')]);_0x6d5c3d[_0x1a48('0x4d')]=_['keys'](_0x16149d[_0x1a48('0x4d')]);_0x6d5c3d['filters']=_[_0x1a48('0x50')](_0x6d5c3d['model'],_0x6d5c3d[_0x1a48('0x4d')]);_0x5a1d53[_0x1a48('0x52')]=_[_0x1a48('0x50')](_0x6d5c3d['model'],qs[_0x1a48('0x51')](_0x16149d[_0x1a48('0x4d')]['fields']));_0x5a1d53[_0x1a48('0x52')]=_0x5a1d53['attributes'][_0x1a48('0x53')]?_0x5a1d53['attributes']:_0x6d5c3d[_0x1a48('0x4b')];if(!_0x16149d[_0x1a48('0x4d')]['hasOwnProperty']('nolimit')){_0x5a1d53['limit']=qs['limit'](_0x16149d[_0x1a48('0x4d')][_0x1a48('0x22')]);_0x5a1d53[_0x1a48('0x20')]=qs[_0x1a48('0x20')](_0x16149d[_0x1a48('0x4d')][_0x1a48('0x20')]);}_0x5a1d53[_0x1a48('0x56')]=qs[_0x1a48('0x57')](_0x16149d['query']['sort']);_0x5a1d53[_0x1a48('0x58')]=qs[_0x1a48('0x4f')](_['pick'](_0x16149d[_0x1a48('0x4d')],_0x6d5c3d[_0x1a48('0x4f')]));_0x5a1d53[_0x1a48('0x58')][_0x1a48('0x6a')]=_0x5e6516['id'];if(_0x16149d['query'][_0x1a48('0x5b')]){_0x5a1d53[_0x1a48('0x58')]=_[_0x1a48('0x5c')](_0x5a1d53[_0x1a48('0x58')],{'$or':_[_0x1a48('0x4c')](_0x5a1d53[_0x1a48('0x52')],function(_0x624a9c){var _0x4a65f8={};_0x4a65f8[_0x624a9c]={'$like':'%'+_0x16149d['query'][_0x1a48('0x5b')]+'%'};return _0x4a65f8;})});}if(_0x16149d[_0x1a48('0x4d')][_0x1a48('0x9d')]){var _0x27c434=_0x16149d[_0x1a48('0x4d')][_0x1a48('0x9d')][_0x1a48('0x9e')](',');var _0xb36cbc={};_0xb36cbc[_0x27c434[0x0]]={'$gte':moment(_0x27c434[0x1])['format'](_0x1a48('0x9f'))};_0x5a1d53[_0x1a48('0x58')]=_[_0x1a48('0x5c')](_0x5a1d53['where'],_0xb36cbc);}_0x5a1d53=_[_0x1a48('0x5c')]({},_0x5a1d53,_0x16149d[_0x1a48('0x5d')]);return db['MailMessage'][_0x1a48('0x23')]({'where':_0x5a1d53['where']})[_0x1a48('0x12')](function(_0x17bcb9){_0x165dbd[_0x1a48('0x23')]=_0x17bcb9;if(_0x16149d[_0x1a48('0x4d')][_0x1a48('0x5e')]){_0x5a1d53[_0x1a48('0x63')]=[{'all':!![]}];}return db[_0x1a48('0x9c')]['findAll'](_0x5a1d53);})[_0x1a48('0x12')](function(_0x288479){if(_0x16149d[_0x1a48('0x4d')][_0x1a48('0xa0')]==='true'){for(var _0x1cbcd=0x0;_0x1cbcd<_0x288479['length'];_0x1cbcd++){_0x288479[_0x1cbcd]['body']=juice(_0x288479[_0x1cbcd][_0x1a48('0x65')]);}}_0x165dbd['rows']=_0x288479;return _0x165dbd;});}})[_0x1a48('0x12')](respondWithFilteredResult(_0x39f238,_0x5a1d53))[_0x1a48('0x1b')](handleError(_0x39f238,null));};exports[_0x1a48('0x2d')]=function(_0x2dbf44,_0x4bd249){var _0x52f2de,_0x1a3c20={},_0x4dde9d;if(_0x2dbf44['body']['to']){_0x4dde9d=_0x2dbf44['body']['to']['split'](',')[0x0];}return db['MailAccount'][_0x1a48('0x64')]({'where':{'id':_0x2dbf44['params']['id']},'include':[{'model':db[_0x1a48('0xa1')],'as':_0x1a48('0xa2'),'include':[{'model':db[_0x1a48('0x89')],'as':_0x1a48('0xa3'),'where':{'email':_0x4dde9d},'limit':0x1,'order':[['updatedAt',_0x1a48('0xa4')]]}]},{'model':db['MailServerOut'],'as':_0x1a48('0x41'),'raw':!![],'include':[{'model':db[_0x1a48('0xa5')],'as':'CloudProvider','raw':!![]}]}]})[_0x1a48('0x12')](handleEntityNotFound(_0x4bd249,null))['then'](function(_0x18a4e0){if(!_0x18a4e0)return;_0x52f2de=_0x18a4e0;if(!_0x18a4e0[_0x1a48('0x41')])throw new Error(_0x1a48('0xa6'));if(_[_0x1a48('0x78')](_0x2dbf44[_0x1a48('0x65')][_0x1a48('0xa7')])){_0x2dbf44['body']['from']=util[_0x1a48('0xa8')](_0x1a48('0xa9'),_0x18a4e0[_0x1a48('0x2c')],_0x18a4e0[_0x1a48('0x76')]||_0x18a4e0[_0x1a48('0x41')]['user']);}if(_0x2dbf44[_0x1a48('0x65')]['attachments']&&_0x2dbf44[_0x1a48('0x65')][_0x1a48('0xaa')][_0x1a48('0x53')]){for(var _0x4a0b27=0x0;_0x4a0b27<_0x2dbf44[_0x1a48('0x65')][_0x1a48('0xaa')][_0x1a48('0x53')];_0x4a0b27+=0x1){_0x2dbf44[_0x1a48('0x65')]['attachments'][_0x4a0b27]={'filename':_0x2dbf44[_0x1a48('0x65')]['attachments'][_0x4a0b27][_0x1a48('0x2c')],'path':path[_0x1a48('0xab')](config[_0x1a48('0xac')],_0x1a48('0xad'),_0x2dbf44[_0x1a48('0x65')]['attachments'][_0x4a0b27]['basename'])};}}var _0x29b858=_0x18a4e0[_0x1a48('0xae')]();return respondWithRpcPromise('SendMail',_0x1a48('0xaf'),{'account':_0x29b858,'message':_0x2dbf44[_0x1a48('0x65')]});})[_0x1a48('0x12')](function(_0xa1f1e1){if(!_0xa1f1e1)return;_0x1a3c20=_0xa1f1e1;if(!_0x52f2de[_0x1a48('0xa2')])throw new Error(_0x1a48('0xb0'));if(_0x52f2de[_0x1a48('0xa2')][_0x1a48('0xa3')]['length'])return _0x52f2de['List'][_0x1a48('0xa3')][0x0];return db[_0x1a48('0x89')][_0x1a48('0x6c')](_[_0x1a48('0xb')](_0x2dbf44[_0x1a48('0x65')],{'firstName':_0x2dbf44[_0x1a48('0x65')]['to'],'email':_0x2dbf44[_0x1a48('0x65')]['to'],'phone':_0x2dbf44[_0x1a48('0x65')]['to'],'ListId':_0x52f2de[_0x1a48('0x77')]}));})['then'](function(_0x19e55c){if(!_0x19e55c)return;var _0x3a345={'UserId':_0x2dbf44[_0x1a48('0x3e')]['id'],'ContactId':_0x19e55c['id'],'MailAccountId':_0x52f2de['id'],'inReplyTo':_0x1a3c20[_0x1a48('0xb1')],'to':_0x2dbf44[_0x1a48('0x65')][_0x1a48('0xa7')],'cc':_0x2dbf44[_0x1a48('0x65')]['cc'],'subject':_0x2dbf44['body'][_0x1a48('0xb2')],'attach':_0x2dbf44['body']['attach'],'firstMsgDirection':_0x1a48('0xb3'),'lastMsgAt':moment()['format'](_0x1a48('0x9f')),'lastMsgDirection':_0x1a48('0xb3'),'Messages':[_[_0x1a48('0x5c')](_0x2dbf44[_0x1a48('0x65')],{'messageId':_0x1a3c20[_0x1a48('0xb1')],'sentAt':moment()[_0x1a48('0xa8')]('YYYY-MM-DD\x20HH:mm:ss'),'read':!![],'MailAccountId':_0x52f2de['id'],'UserId':_0x2dbf44[_0x1a48('0x3e')]['id'],'ContactId':_0x19e55c['id']})]};if(_0x2dbf44[_0x1a48('0x65')][_0x1a48('0xb4')]){_0x3a345=_['merge'](_0x3a345,_0x2dbf44[_0x1a48('0x65')][_0x1a48('0xb4')]);}return db[_0x1a48('0x86')]['create'](_0x3a345,{'include':[{'model':db['MailMessage'],'as':_0x1a48('0xb5')}]});})['then'](respondWithResult(_0x4bd249,null))[_0x1a48('0x1b')](handleError(_0x4bd249,null));};exports[_0x1a48('0xb6')]=function(_0x49636b,_0x204410){return db['MailAccount']['find']({'where':{'id':_0x49636b[_0x1a48('0x61')]['id']},'include':[{'model':db['MailServerOut'],'as':_0x1a48('0x41'),'raw':!![],'include':[{'model':db[_0x1a48('0xa5')],'as':'CloudProvider','raw':!![]}]}]})[_0x1a48('0x12')](handleEntityNotFound(_0x204410,null))['then'](function(_0x3b1b3e){if(!_0x3b1b3e['Smtp'])return;var _0x1e21a0=_0x3b1b3e[_0x1a48('0xae')]();return respondWithRpcPromise('VerifySmtp',_0x1a48('0xb6'),{'account':_0x1e21a0});})['then'](respondWithResult(_0x204410,null))[_0x1a48('0x1b')](handleError(_0x204410,null));};exports['destroy']=function(_0x3a44ec,_0x31e5c0){return db[_0x1a48('0x46')][_0x1a48('0x64')]({'where':{'id':_0x3a44ec[_0x1a48('0x61')]['id']}})['then'](handleEntityNotFound(_0x31e5c0,null))[_0x1a48('0x12')](function(_0x23dbc6){if(_0x23dbc6&&_0x23dbc6[_0x1a48('0x3d')]){throw new db['Sequelize'][(_0x1a48('0xb7'))](_0x1a48('0xb8'));}return _0x23dbc6;})[_0x1a48('0x12')](removeEntity(_0x31e5c0,null))[_0x1a48('0x1b')](handleError(_0x31e5c0,null));};exports[_0x1a48('0xb9')]=function(_0x1ae59f,_0x42cd59){return db[_0x1a48('0x46')][_0x1a48('0x64')]({'where':{'id':_0x1ae59f[_0x1a48('0x61')]['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x42cd59,null))[_0x1a48('0x12')](function(_0x1a3479){if(_0x1a3479){return _0x1a3479[_0x1a48('0xb9')](_0x1ae59f['body']['ids'],_[_0x1a48('0x87')](_0x1ae59f[_0x1a48('0x65')],[_0x1a48('0x6f'),'id'])||{})[_0x1a48('0xba')](function(_0x5cbfb6){for(var _0x2a033a=0x0;_0x2a033a<_0x1ae59f['body']['ids'][_0x1a48('0x53')];_0x2a033a+=0x1){socket[_0x1a48('0xbb')](_0x1a48('0xbc'),{'UserId':Number(_0x1ae59f[_0x1a48('0x65')][_0x1a48('0x6f')][_0x2a033a]),'MailAccountId':Number(_0x1ae59f[_0x1a48('0x61')]['id'])});}return _0x5cbfb6;});}})[_0x1a48('0x12')](respondWithResult(_0x42cd59,null))['catch'](handleError(_0x42cd59,null));};exports[_0x1a48('0xbd')]=function(_0x29aec2,_0x3e872b){return db[_0x1a48('0x46')][_0x1a48('0x64')]({'where':{'id':_0x29aec2[_0x1a48('0x61')]['id']}})['then'](handleEntityNotFound(_0x3e872b,null))[_0x1a48('0x12')](function(_0xa1c272){if(_0xa1c272){return _0xa1c272[_0x1a48('0xbd')](_0x29aec2[_0x1a48('0x4d')][_0x1a48('0x6f')])[_0x1a48('0x12')](function(){if(_['isArray'](_0x29aec2[_0x1a48('0x4d')]['ids'])){for(var _0x3d22dd=0x0;_0x3d22dd<_0x29aec2['query']['ids'][_0x1a48('0x53')];_0x3d22dd+=0x1){socket[_0x1a48('0xbb')](_0x1a48('0xbe'),{'UserId':Number(_0x29aec2[_0x1a48('0x4d')][_0x1a48('0x6f')][_0x3d22dd]),'MailAccountId':Number(_0x29aec2[_0x1a48('0x61')]['id'])});}}else{socket[_0x1a48('0xbb')](_0x1a48('0xbe'),{'UserId':Number(_0x29aec2['query'][_0x1a48('0x6f')]),'MailAccountId':Number(_0x29aec2[_0x1a48('0x61')]['id'])});}});}})['then'](respondWithStatusCode(_0x3e872b,null))[_0x1a48('0x1b')](handleError(_0x3e872b,null));};exports[_0x1a48('0xbf')]=function(_0xa22709,_0x4e9481){var _0x33a530={};var _0x58a612={};var _0x35b721;var _0x461655;return db['MailAccount'][_0x1a48('0x71')]({'where':{'id':_0xa22709[_0x1a48('0x61')]['id']}})[_0x1a48('0x12')](handleEntityNotFound(_0x4e9481,null))[_0x1a48('0x12')](function(_0x2ea211){if(_0x2ea211){_0x35b721=_0x2ea211;_0x58a612[_0x1a48('0x4b')]=_[_0x1a48('0x4e')](db[_0x1a48('0x8a')]['rawAttributes']);_0x58a612['query']=_[_0x1a48('0x4e')](_0xa22709[_0x1a48('0x4d')]);_0x58a612['filters']=_[_0x1a48('0x50')](_0x58a612[_0x1a48('0x4b')],_0x58a612[_0x1a48('0x4d')]);_0x33a530['attributes']=_[_0x1a48('0x50')](_0x58a612[_0x1a48('0x4b')],qs[_0x1a48('0x51')](_0xa22709['query'][_0x1a48('0x51')]));_0x33a530[_0x1a48('0x52')]=_0x33a530[_0x1a48('0x52')][_0x1a48('0x53')]?_0x33a530[_0x1a48('0x52')]:_0x58a612[_0x1a48('0x4b')];_0x33a530[_0x1a48('0x56')]=qs['sort'](_0xa22709['query'][_0x1a48('0x57')]);_0x33a530[_0x1a48('0x58')]=qs['filters'](_[_0x1a48('0x59')](_0xa22709[_0x1a48('0x4d')],_0x58a612[_0x1a48('0x4f')]));if(_0xa22709[_0x1a48('0x4d')]['filter']){_0x33a530[_0x1a48('0x58')]=_[_0x1a48('0x5c')](_0x33a530[_0x1a48('0x58')],{'$or':_[_0x1a48('0x4c')](_0x33a530[_0x1a48('0x52')],function(_0x171936){var _0x136925={};_0x136925[_0x171936]={'$like':'%'+_0xa22709[_0x1a48('0x4d')]['filter']+'%'};return _0x136925;})});}_0x33a530=_[_0x1a48('0x5c')]({},_0x33a530,_0xa22709[_0x1a48('0x5d')]);return _0x35b721[_0x1a48('0xbf')](_0x33a530);}})[_0x1a48('0x12')](function(_0x41a785){if(_0x41a785){_0x461655=_0x41a785[_0x1a48('0x53')];if(!_0xa22709[_0x1a48('0x4d')][_0x1a48('0x54')](_0x1a48('0x55'))){_0x33a530[_0x1a48('0x22')]=qs[_0x1a48('0x22')](_0xa22709[_0x1a48('0x4d')][_0x1a48('0x22')]);_0x33a530[_0x1a48('0x20')]=qs[_0x1a48('0x20')](_0xa22709['query']['offset']);}return _0x35b721[_0x1a48('0xbf')](_0x33a530);}})[_0x1a48('0x12')](function(_0x3091e6){if(_0x3091e6){return _0x3091e6?{'count':_0x461655,'rows':_0x3091e6}:null;}})[_0x1a48('0x12')](respondWithResult(_0x4e9481,null))['catch'](handleError(_0x4e9481,null));};