Built motion from commit da24aabd.|2.6.20
[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 _0x644f=['Sequelize','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','emit','removeAgents','isArray','userMailAccount:remove','getAgents','User','moment','bluebird','lodash','juice','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','./mailAccount.socket','jayson/promise','request','info','request\x20sent','debug','stringify','error','MailAccount,\x20%s,\x20%s','message','result','sendStatus','status','offset','undefined','limit','count','set','Content-Range','update','then','destroy','get','UserProfileResource','end','stack','name','send','imap.gmail.com','hotmail','imap-mail.outlook.com','outlook365','gmail','smtp.gmail.com','smtp.mail.yahoo.com','smtp.office365.com','Unknown\x20email\x20service\x20provider','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','service','authentication','Imap','Smtp','index','MailServerIn','Pause','mandatoryDispositionPause','map','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','pick','filter','where','VIRTUAL','merge','options','includeAll','include','MailAccount','findAll','rows','catch','params','MailServerOut','rawAttributes','find','body','provider','custom','secure','Mail\x20Account\x20not\x20found','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','hasOwnProperty','removeDispositions','ids','addAnswer','CannedAnswer','removeAnswers','key','email','ListId','isNil','active','description','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','MailAccounts','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','addInteraction','MailInteraction','omit','CmContact','Owner','internal','color','tag','addApplications','transaction','sequelize','MailApplication','bulkCreate','finally','json','getApplications','getMessages','MailMessage','$gte','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','true','Contacts','CloudProvider','Smtp\x20configuration\x20not\x20found','from','%s\x20<%s>','attachments','join','basename','getSmtpOptions','List','List\x20not\x20found','subject','attach','messageId','Interaction','Messages','verifySmtp','VerifySmtp'];(function(_0x18d52d,_0x5a720e){var _0x232aa4=function(_0x3e98a2){while(--_0x3e98a2){_0x18d52d['push'](_0x18d52d['shift']());}};_0x232aa4(++_0x5a720e);}(_0x644f,0xc2));var _0xf644=function(_0x1bc0ae,_0x439dfe){_0x1bc0ae=_0x1bc0ae-0x0;var _0x501104=_0x644f[_0x1bc0ae];return _0x501104;};'use strict';var moment=require(_0xf644('0x0'));var BPromise=require(_0xf644('0x1'));var util=require('util');var path=require('path');var _=require(_0xf644('0x2'));var juice=require(_0xf644('0x3'));var Redis=require(_0xf644('0x4'));var qs=require(_0xf644('0x5'));var logger=require(_0xf644('0x6'))(_0xf644('0x7'));var config=require(_0xf644('0x8'));var db=require(_0xf644('0x9'))['db'];config[_0xf644('0xa')]=_[_0xf644('0xb')](config[_0xf644('0xa')],{'host':_0xf644('0xc'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xf644('0xa')]));require(_0xf644('0xd'))['register'](socket);var jayson=require(_0xf644('0xe'));var client=jayson['client']['http']({'port':0x232b});function respondWithRpcPromise(_0x390284,_0x4a490d,_0x2c7bd0,_0x865312){return new BPromise(function(_0x4d0b61,_0x466361){var _0x27c7c5=_0x865312||client;return _0x27c7c5[_0xf644('0xf')](_0x390284,_0x2c7bd0)['then'](function(_0x296647){logger[_0xf644('0x10')]('MailAccount,\x20%s,\x20%s',_0x4a490d,_0xf644('0x11'));logger[_0xf644('0x12')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x4a490d,_0xf644('0x11'),JSON[_0xf644('0x13')](_0x296647));if(_0x296647[_0xf644('0x14')]){if(_0x296647[_0xf644('0x14')]['code']===0x1f4){logger[_0xf644('0x14')](_0xf644('0x15'),_0x4a490d,_0x296647['error']['message']);return _0x466361(_0x296647['error']['message']);}logger[_0xf644('0x14')](_0xf644('0x15'),_0x4a490d,_0x296647[_0xf644('0x14')][_0xf644('0x16')]);return _0x4d0b61(_0x296647['error'][_0xf644('0x16')]);}else{logger[_0xf644('0x10')](_0xf644('0x15'),_0x4a490d,_0xf644('0x11'));_0x4d0b61(_0x296647[_0xf644('0x17')]['message']);}})['catch'](function(_0x37c32d){logger[_0xf644('0x14')](_0xf644('0x15'),_0x4a490d,_0x37c32d);_0x466361(_0x37c32d);});});}function respondWithStatusCode(_0x6a8936,_0x29f81a){_0x29f81a=_0x29f81a||0xcc;return function(_0x2bc954){if(_0x2bc954){return _0x6a8936[_0xf644('0x18')](_0x29f81a);}return _0x6a8936[_0xf644('0x19')](_0x29f81a)['end']();};}function respondWithResult(_0x14af1b,_0x1c36b4){_0x1c36b4=_0x1c36b4||0xc8;return function(_0x2180c6){if(_0x2180c6){return _0x14af1b[_0xf644('0x19')](_0x1c36b4)['json'](_0x2180c6);}};}function respondWithFilteredResult(_0x28a871,_0x3b863f){return function(_0x42b88b){if(_0x42b88b){var _0x17b2c6=typeof _0x3b863f[_0xf644('0x1a')]===_0xf644('0x1b')&&typeof _0x3b863f[_0xf644('0x1c')]==='undefined';var _0x4b6369=_0x42b88b[_0xf644('0x1d')];var _0x41b6a1=_0x17b2c6?0x0:_0x3b863f[_0xf644('0x1a')];var _0x383987=_0x17b2c6?_0x42b88b[_0xf644('0x1d')]:_0x3b863f[_0xf644('0x1a')]+_0x3b863f[_0xf644('0x1c')];var _0xa1b71f;if(_0x383987>=_0x4b6369){_0x383987=_0x4b6369;_0xa1b71f=0xc8;}else{_0xa1b71f=0xce;}_0x28a871['status'](_0xa1b71f);return _0x28a871[_0xf644('0x1e')](_0xf644('0x1f'),_0x41b6a1+'-'+_0x383987+'/'+_0x4b6369)['json'](_0x42b88b);}return null;};}function saveUpdates(_0x5acb2a){return function(_0x21fbc8){if(_0x21fbc8){return _0x21fbc8[_0xf644('0x20')](_0x5acb2a)[_0xf644('0x21')](function(_0x3881e3){return _0x3881e3;});}return null;};}function removeEntity(_0x2bcb20){return function(_0x1ef501){if(_0x1ef501){return _0x1ef501[_0xf644('0x22')]()['then'](function(){var _0x448c6e=_0x1ef501[_0xf644('0x23')]({'plain':!![]});var _0x4ad5ac='MailAccounts';return db[_0xf644('0x24')][_0xf644('0x22')]({'where':{'type':_0x4ad5ac,'resourceId':_0x448c6e['id']}})[_0xf644('0x21')](function(){return _0x1ef501;});})[_0xf644('0x21')](function(){_0x2bcb20[_0xf644('0x19')](0xcc)[_0xf644('0x25')]();});}};}function handleEntityNotFound(_0x1fd581){return function(_0x390b34){if(!_0x390b34){_0x1fd581[_0xf644('0x18')](0x194);}return _0x390b34;};}function handleError(_0x2206e8,_0x5914d8){_0x5914d8=_0x5914d8||0x1f4;return function(_0x52d05e){logger[_0xf644('0x14')](_0x52d05e[_0xf644('0x26')]);if(_0x52d05e[_0xf644('0x27')]){delete _0x52d05e[_0xf644('0x27')];}_0x2206e8[_0xf644('0x19')](_0x5914d8)[_0xf644('0x28')](_0x52d05e);};}function getImapHost(_0x17d6e2){switch(_0x17d6e2){case'gmail':return _0xf644('0x29');case'yahoo':return'imap.mail.yahoo.com';case _0xf644('0x2a'):return _0xf644('0x2b');case _0xf644('0x2c'):return'outlook.office365.com';}throw new Error('Unknown\x20email\x20service\x20provider',_0x17d6e2);}function getSmtpHost(_0x3aa198){switch(_0x3aa198){case _0xf644('0x2d'):return _0xf644('0x2e');case'yahoo':return _0xf644('0x2f');case _0xf644('0x2a'):return'smtp-mail.outlook.com';case _0xf644('0x2c'):return _0xf644('0x30');}throw new Error(_0xf644('0x31'),_0x3aa198);}function getAuthenticationOptions(_0x4d2aeb,_0x2ab38a){var _0x42d6e8={};var _0x5e5e9b={};if(_0x4d2aeb){_0x42d6e8[_0xf644('0x32')]=_0x5e5e9b['user']=_0x2ab38a[_0xf644('0x33')];_0x42d6e8[_0xf644('0x34')]=_0x5e5e9b[_0xf644('0x35')]=_0x2ab38a[_0xf644('0x34')];if(_0x2ab38a[_0xf644('0x36')]){_0x42d6e8[_0xf644('0x36')]=_0x5e5e9b['modernAuthentication']=!![];_0x42d6e8[_0xf644('0x37')]=_0x5e5e9b[_0xf644('0x37')]=_0x2ab38a[_0xf644('0x37')];_0x42d6e8['password']=_0x5e5e9b['pass']=null;}else{_0x42d6e8[_0xf644('0x37')]=_0x5e5e9b[_0xf644('0x37')]=null;}_0x42d6e8[_0xf644('0x38')]=getImapHost(_0x4d2aeb);_0x42d6e8[_0xf644('0x39')]=0x3e1;_0x5e5e9b['host']=getSmtpHost(_0x4d2aeb);_0x5e5e9b[_0xf644('0x39')]=0x24b;_0x5e5e9b['secure']=![];_0x42d6e8[_0xf644('0x3a')]=_0x5e5e9b['service']=null;}else{if(_0x2ab38a[_0xf644('0x3b')]){_0x42d6e8[_0xf644('0x32')]=_0x5e5e9b[_0xf644('0x32')]=_0x2ab38a[_0xf644('0x33')];_0x42d6e8['password']=_0x5e5e9b[_0xf644('0x35')]=_0x2ab38a[_0xf644('0x34')];}else{_0x42d6e8['authentication']=_0x5e5e9b[_0xf644('0x3b')]=![];_0x42d6e8[_0xf644('0x32')]=_0x5e5e9b['user']=null;_0x42d6e8[_0xf644('0x34')]=_0x5e5e9b['pass']=null;}_0x42d6e8[_0xf644('0x38')]=_0x2ab38a[_0xf644('0x3c')][_0xf644('0x38')];_0x42d6e8[_0xf644('0x39')]=_0x2ab38a[_0xf644('0x3c')]['port'];_0x5e5e9b[_0xf644('0x38')]=_0x2ab38a[_0xf644('0x3d')][_0xf644('0x38')];_0x5e5e9b[_0xf644('0x39')]=_0x2ab38a[_0xf644('0x3d')]['port'];}return{'Imap':_0x42d6e8,'Smtp':_0x5e5e9b};}exports[_0xf644('0x3e')]=function(_0x42b590,_0x2db98c){var _0x4d6dc3={'include':[{'model':db[_0xf644('0x3f')],'as':_0xf644('0x3c')},{'model':db['MailServerOut'],'as':'Smtp'},{'model':db[_0xf644('0x40')],'as':_0xf644('0x41')}]},_0x3c530={},_0x405b5d={'count':0x0,'rows':[]};var _0x139ab5=_[_0xf644('0x42')](db['MailAccount']['rawAttributes'],function(_0x3c0068){return{'name':_0x3c0068[_0xf644('0x43')],'type':_0x3c0068[_0xf644('0x44')]['key']};});_0x3c530[_0xf644('0x45')]=_[_0xf644('0x42')](_0x139ab5,_0xf644('0x27'));_0x3c530[_0xf644('0x46')]=_[_0xf644('0x47')](_0x42b590[_0xf644('0x46')]);_0x3c530[_0xf644('0x48')]=_[_0xf644('0x49')](_0x3c530[_0xf644('0x45')],_0x3c530['query']);_0x4d6dc3[_0xf644('0x4a')]=_[_0xf644('0x49')](_0x3c530[_0xf644('0x45')],qs[_0xf644('0x4b')](_0x42b590[_0xf644('0x46')][_0xf644('0x4b')]));_0x4d6dc3[_0xf644('0x4a')]=_0x4d6dc3['attributes'][_0xf644('0x4c')]?_0x4d6dc3[_0xf644('0x4a')]:_0x3c530['model'];if(!_0x42b590['query']['hasOwnProperty'](_0xf644('0x4d'))){_0x4d6dc3['limit']=qs[_0xf644('0x1c')](_0x42b590[_0xf644('0x46')]['limit']);_0x4d6dc3[_0xf644('0x1a')]=qs[_0xf644('0x1a')](_0x42b590[_0xf644('0x46')][_0xf644('0x1a')]);}_0x4d6dc3[_0xf644('0x4e')]=qs[_0xf644('0x4f')](_0x42b590[_0xf644('0x46')][_0xf644('0x4f')]);_0x4d6dc3['where']=qs[_0xf644('0x48')](_[_0xf644('0x50')](_0x42b590[_0xf644('0x46')],_0x3c530['filters']),_0x139ab5);if(_0x42b590[_0xf644('0x46')][_0xf644('0x51')]){_0x4d6dc3[_0xf644('0x52')]=_['merge'](_0x4d6dc3[_0xf644('0x52')],{'$or':_['map'](_0x139ab5,function(_0x3b3baf){if(_0x3b3baf['type']!==_0xf644('0x53')){var _0x163884={};_0x163884[_0x3b3baf['name']]={'$like':'%'+_0x42b590[_0xf644('0x46')][_0xf644('0x51')]+'%'};return _0x163884;}})});}_0x4d6dc3=_[_0xf644('0x54')]({},_0x4d6dc3,_0x42b590[_0xf644('0x55')]);var _0x1d68fd={'where':_0x4d6dc3['where']};return db['MailAccount'][_0xf644('0x1d')](_0x1d68fd)[_0xf644('0x21')](function(_0xff707c){_0x405b5d[_0xf644('0x1d')]=_0xff707c;if(_0x42b590[_0xf644('0x46')][_0xf644('0x56')]){_0x4d6dc3[_0xf644('0x57')]=[{'all':!![]}];}return db[_0xf644('0x58')][_0xf644('0x59')](_0x4d6dc3);})[_0xf644('0x21')](function(_0x389c40){_0x405b5d[_0xf644('0x5a')]=_0x389c40;return _0x405b5d;})[_0xf644('0x21')](respondWithFilteredResult(_0x2db98c,_0x4d6dc3))[_0xf644('0x5b')](handleError(_0x2db98c,null));};exports['show']=function(_0x11ed35,_0x17b0f0){var _0x2ad9a3={'raw':![],'where':{'id':_0x11ed35[_0xf644('0x5c')]['id']},'include':[{'model':db[_0xf644('0x3f')],'as':_0xf644('0x3c')},{'model':db[_0xf644('0x5d')],'as':_0xf644('0x3d')},{'model':db['Pause'],'as':_0xf644('0x41')}]},_0x3b6a5a={};_0x3b6a5a[_0xf644('0x45')]=_[_0xf644('0x47')](db['MailAccount'][_0xf644('0x5e')]);_0x3b6a5a[_0xf644('0x46')]=_['keys'](_0x11ed35['query']);_0x3b6a5a[_0xf644('0x48')]=_['intersection'](_0x3b6a5a[_0xf644('0x45')],_0x3b6a5a[_0xf644('0x46')]);_0x2ad9a3[_0xf644('0x4a')]=_['intersection'](_0x3b6a5a[_0xf644('0x45')],qs[_0xf644('0x4b')](_0x11ed35[_0xf644('0x46')]['fields']));_0x2ad9a3[_0xf644('0x4a')]=_0x2ad9a3[_0xf644('0x4a')]['length']?_0x2ad9a3[_0xf644('0x4a')]:_0x3b6a5a['model'];if(_0x11ed35[_0xf644('0x46')]['includeAll']){_0x2ad9a3[_0xf644('0x57')]=[{'all':!![]}];}_0x2ad9a3=_['merge']({},_0x2ad9a3,_0x11ed35[_0xf644('0x55')]);return db[_0xf644('0x58')][_0xf644('0x5f')](_0x2ad9a3)[_0xf644('0x21')](handleEntityNotFound(_0x17b0f0,null))[_0xf644('0x21')](respondWithResult(_0x17b0f0,null))[_0xf644('0x5b')](handleError(_0x17b0f0,null));};exports[_0xf644('0x20')]=function(_0xf258d8,_0x18283a){if(_0xf258d8['body']['id']){delete _0xf258d8[_0xf644('0x60')]['id'];}var _0x4d7751=_0xf258d8[_0xf644('0x60')][_0xf644('0x61')]===_0xf644('0x62')?null:_0xf258d8[_0xf644('0x60')]['provider'];var _0x46e57b=_0xf258d8[_0xf644('0x60')][_0xf644('0x3c')]||{};var _0x468a79=_0xf258d8[_0xf644('0x60')][_0xf644('0x3d')]||{};if(_0x4d7751){_0x46e57b[_0xf644('0x38')]=getImapHost(_0x4d7751);_0x46e57b[_0xf644('0x39')]=0x3e1;_0x468a79['host']=getSmtpHost(_0x4d7751);_0x468a79[_0xf644('0x39')]=0x24b;_0x468a79[_0xf644('0x63')]=![];}if(_0x468a79[_0xf644('0x36')]){_0x468a79[_0xf644('0x63')]=![];}else{_0x468a79[_0xf644('0x37')]=null;}if(!_0x46e57b[_0xf644('0x36')])_0x46e57b[_0xf644('0x37')]=null;_0xf258d8[_0xf644('0x60')]['Imap']=_0x46e57b;_0xf258d8[_0xf644('0x60')][_0xf644('0x3d')]=_0x468a79;return db['MailAccount'][_0xf644('0x5f')]({'where':{'id':_0xf258d8['params']['id']},'include':[{'model':db[_0xf644('0x3f')],'as':_0xf644('0x3c')},{'model':db[_0xf644('0x5d')],'as':'Smtp'},{'model':db['Pause'],'as':_0xf644('0x41')}]})[_0xf644('0x21')](handleEntityNotFound(_0x18283a,null))[_0xf644('0x21')](function(_0x45365b){if(!_0x45365b)throw new Error(_0xf644('0x64'));if(_0x45365b['service'])delete _0xf258d8[_0xf644('0x60')]['Imap'];return _0x45365b;})['then'](saveUpdates(_0xf258d8[_0xf644('0x60')],null))[_0xf644('0x21')](function(_0x174bfd){if(!_0xf258d8[_0xf644('0x60')][_0xf644('0x3c')])return _0x174bfd;return db[_0xf644('0x3f')][_0xf644('0x20')](_0xf258d8['body'][_0xf644('0x3c')],{'where':{'MailAccountId':_0x174bfd['id']}})[_0xf644('0x21')](function(){return _0x174bfd;});})[_0xf644('0x21')](function(_0x1e10e7){if(!_0xf258d8['body']['Smtp'])return _0x1e10e7;return db[_0xf644('0x5d')][_0xf644('0x20')](_0xf258d8[_0xf644('0x60')][_0xf644('0x3d')],{'where':{'MailAccountId':_0x1e10e7['id']}})[_0xf644('0x21')](function(){return _0x1e10e7;});})['then'](respondWithResult(_0x18283a,null))['catch'](handleError(_0x18283a,null));};exports['describe']=function(_0x3a3430,_0xfd5aad){return db[_0xf644('0x58')][_0xf644('0x65')]()[_0xf644('0x21')](respondWithResult(_0xfd5aad,null))['catch'](handleError(_0xfd5aad,null));};exports[_0xf644('0x66')]=function(_0xf82f3,_0x12ed98){if(_0xf82f3[_0xf644('0x60')]['id']){delete _0xf82f3[_0xf644('0x60')]['id'];}return db[_0xf644('0x58')][_0xf644('0x5f')]({'where':{'id':_0xf82f3['params']['id']}})['then'](handleEntityNotFound(_0x12ed98,null))[_0xf644('0x21')](function(_0x59a65e){if(_0x59a65e){_0xf82f3[_0xf644('0x60')][_0xf644('0x67')]=_0x59a65e['id'];return db[_0xf644('0x68')][_0xf644('0x69')](_0xf82f3[_0xf644('0x60')]);}})[_0xf644('0x21')](respondWithResult(_0x12ed98,null))['catch'](handleError(_0x12ed98,null));};exports[_0xf644('0x6a')]=function(_0x5d2423,_0x119e6c){var _0x561c56={'raw':![],'where':{}};var _0x4de6ee={};var _0x39b902={'count':0x0,'rows':[]};return db['MailAccount'][_0xf644('0x6b')]({'where':{'id':_0x5d2423[_0xf644('0x5c')]['id']}})['then'](handleEntityNotFound(_0x119e6c,null))[_0xf644('0x21')](function(_0x1db890){if(_0x1db890){_0x4de6ee[_0xf644('0x45')]=_[_0xf644('0x47')](db[_0xf644('0x68')][_0xf644('0x5e')]);_0x4de6ee[_0xf644('0x46')]=_[_0xf644('0x47')](_0x5d2423[_0xf644('0x46')]);_0x4de6ee['filters']=_['intersection'](_0x4de6ee['model'],_0x4de6ee['query']);_0x561c56['attributes']=_[_0xf644('0x49')](_0x4de6ee['model'],qs[_0xf644('0x4b')](_0x5d2423[_0xf644('0x46')][_0xf644('0x4b')]));_0x561c56[_0xf644('0x4a')]=_0x561c56[_0xf644('0x4a')]['length']?_0x561c56[_0xf644('0x4a')]:_0x4de6ee['model'];if(!_0x5d2423['query'][_0xf644('0x6c')](_0xf644('0x4d'))){_0x561c56[_0xf644('0x1c')]=qs['limit'](_0x5d2423[_0xf644('0x46')][_0xf644('0x1c')]);_0x561c56['offset']=qs['offset'](_0x5d2423[_0xf644('0x46')]['offset']);}_0x561c56[_0xf644('0x4e')]=qs[_0xf644('0x4f')](_0x5d2423['query'][_0xf644('0x4f')]);_0x561c56['where']=qs[_0xf644('0x48')](_[_0xf644('0x50')](_0x5d2423[_0xf644('0x46')],_0x4de6ee[_0xf644('0x48')]));_0x561c56[_0xf644('0x52')][_0xf644('0x67')]=_0x1db890['id'];if(_0x5d2423['query'][_0xf644('0x51')]){_0x561c56[_0xf644('0x52')]=_[_0xf644('0x54')](_0x561c56[_0xf644('0x52')],{'$or':_[_0xf644('0x42')](_0x561c56[_0xf644('0x4a')],function(_0x2b3f4b){var _0x5e82cc={};_0x5e82cc[_0x2b3f4b]={'$like':'%'+_0x5d2423[_0xf644('0x46')][_0xf644('0x51')]+'%'};return _0x5e82cc;})});}_0x561c56=_['merge']({},_0x561c56,_0x5d2423[_0xf644('0x55')]);return db[_0xf644('0x68')][_0xf644('0x1d')]({'where':_0x561c56['where']})[_0xf644('0x21')](function(_0xfb5257){_0x39b902[_0xf644('0x1d')]=_0xfb5257;if(_0x5d2423[_0xf644('0x46')][_0xf644('0x56')]){_0x561c56[_0xf644('0x57')]=[{'all':!![]}];}return db[_0xf644('0x68')][_0xf644('0x59')](_0x561c56);})['then'](function(_0x385aa6){_0x39b902[_0xf644('0x5a')]=_0x385aa6;return _0x39b902;});}})[_0xf644('0x21')](respondWithFilteredResult(_0x119e6c,_0x561c56))['catch'](handleError(_0x119e6c,null));};exports['removeDispositions']=function(_0x3aa875,_0x31703f){return db['MailAccount'][_0xf644('0x5f')]({'where':{'id':_0x3aa875[_0xf644('0x5c')]['id']}})[_0xf644('0x21')](handleEntityNotFound(_0x31703f,null))['then'](function(_0x42cd58){if(_0x42cd58){return _0x42cd58[_0xf644('0x6d')](_0x3aa875[_0xf644('0x46')][_0xf644('0x6e')]);}})[_0xf644('0x21')](respondWithStatusCode(_0x31703f,null))[_0xf644('0x5b')](handleError(_0x31703f,null));};exports[_0xf644('0x6f')]=function(_0xb3786b,_0x572fb3){if(_0xb3786b[_0xf644('0x60')]['id']){delete _0xb3786b[_0xf644('0x60')]['id'];}return db[_0xf644('0x58')]['find']({'where':{'id':_0xb3786b[_0xf644('0x5c')]['id']}})[_0xf644('0x21')](handleEntityNotFound(_0x572fb3,null))['then'](function(_0x1adb2c){if(_0x1adb2c){_0xb3786b['body']['MailAccountId']=_0x1adb2c['id'];return db[_0xf644('0x70')]['create'](_0xb3786b[_0xf644('0x60')]);}})['then'](respondWithResult(_0x572fb3,null))['catch'](handleError(_0x572fb3,null));};exports['getAnswers']=function(_0x415bfd,_0x4cd02b){var _0x3389c0={'raw':![],'where':{}};var _0x2ebb94={};var _0x5130b6={'count':0x0,'rows':[]};return db[_0xf644('0x58')][_0xf644('0x6b')]({'where':{'id':_0x415bfd[_0xf644('0x5c')]['id']}})[_0xf644('0x21')](handleEntityNotFound(_0x4cd02b,null))[_0xf644('0x21')](function(_0x56e62e){if(_0x56e62e){_0x2ebb94[_0xf644('0x45')]=_['keys'](db[_0xf644('0x70')][_0xf644('0x5e')]);_0x2ebb94[_0xf644('0x46')]=_[_0xf644('0x47')](_0x415bfd[_0xf644('0x46')]);_0x2ebb94[_0xf644('0x48')]=_['intersection'](_0x2ebb94[_0xf644('0x45')],_0x2ebb94['query']);_0x3389c0[_0xf644('0x4a')]=_[_0xf644('0x49')](_0x2ebb94[_0xf644('0x45')],qs[_0xf644('0x4b')](_0x415bfd[_0xf644('0x46')]['fields']));_0x3389c0[_0xf644('0x4a')]=_0x3389c0['attributes'][_0xf644('0x4c')]?_0x3389c0[_0xf644('0x4a')]:_0x2ebb94[_0xf644('0x45')];if(!_0x415bfd[_0xf644('0x46')][_0xf644('0x6c')](_0xf644('0x4d'))){_0x3389c0[_0xf644('0x1c')]=qs[_0xf644('0x1c')](_0x415bfd[_0xf644('0x46')]['limit']);_0x3389c0[_0xf644('0x1a')]=qs[_0xf644('0x1a')](_0x415bfd[_0xf644('0x46')][_0xf644('0x1a')]);}_0x3389c0[_0xf644('0x4e')]=qs[_0xf644('0x4f')](_0x415bfd[_0xf644('0x46')]['sort']);_0x3389c0[_0xf644('0x52')]=qs[_0xf644('0x48')](_[_0xf644('0x50')](_0x415bfd[_0xf644('0x46')],_0x2ebb94['filters']));_0x3389c0['where'][_0xf644('0x67')]=_0x56e62e['id'];if(_0x415bfd[_0xf644('0x46')][_0xf644('0x51')]){_0x3389c0[_0xf644('0x52')]=_[_0xf644('0x54')](_0x3389c0[_0xf644('0x52')],{'$or':_[_0xf644('0x42')](_0x3389c0['attributes'],function(_0x7c8c60){var _0x5af9b1={};_0x5af9b1[_0x7c8c60]={'$like':'%'+_0x415bfd[_0xf644('0x46')][_0xf644('0x51')]+'%'};return _0x5af9b1;})});}_0x3389c0=_[_0xf644('0x54')]({},_0x3389c0,_0x415bfd[_0xf644('0x55')]);return db[_0xf644('0x70')][_0xf644('0x1d')]({'where':_0x3389c0['where']})[_0xf644('0x21')](function(_0x4e1440){_0x5130b6[_0xf644('0x1d')]=_0x4e1440;if(_0x415bfd[_0xf644('0x46')][_0xf644('0x56')]){_0x3389c0['include']=[{'all':!![]}];}return db[_0xf644('0x70')][_0xf644('0x59')](_0x3389c0);})[_0xf644('0x21')](function(_0x472294){_0x5130b6[_0xf644('0x5a')]=_0x472294;return _0x5130b6;});}})['then'](respondWithFilteredResult(_0x4cd02b,_0x3389c0))[_0xf644('0x5b')](handleError(_0x4cd02b,null));};exports[_0xf644('0x71')]=function(_0x31db38,_0x228f16){return db[_0xf644('0x58')][_0xf644('0x5f')]({'where':{'id':_0x31db38[_0xf644('0x5c')]['id']}})[_0xf644('0x21')](handleEntityNotFound(_0x228f16,null))[_0xf644('0x21')](function(_0x1e2eb4){if(_0x1e2eb4){return _0x1e2eb4[_0xf644('0x71')](_0x31db38[_0xf644('0x46')][_0xf644('0x6e')]);}})[_0xf644('0x21')](respondWithStatusCode(_0x228f16,null))['catch'](handleError(_0x228f16,null));};exports[_0xf644('0x69')]=function(_0x13511b,_0x5def96){var _0x76282b={'name':_0x13511b[_0xf644('0x60')][_0xf644('0x27')],'key':_0x13511b[_0xf644('0x60')][_0xf644('0x72')],'provider':_0x13511b[_0xf644('0x60')][_0xf644('0x61')]===_0xf644('0x62')?null:_0x13511b['body']['provider'],'email':_0x13511b['body'][_0xf644('0x73')],'ListId':_0x13511b[_0xf644('0x60')][_0xf644('0x74')],'active':!_[_0xf644('0x75')](_0x13511b['body']['active'])?_0x13511b['body'][_0xf644('0x76')]:!![],'description':_0x13511b[_0xf644('0x60')][_0xf644('0x77')]||null};var _0x21bb67=getAuthenticationOptions(_0x76282b[_0xf644('0x61')],_0x13511b[_0xf644('0x60')]);_0x76282b[_0xf644('0x3c')]=_0x21bb67[_0xf644('0x3c')];_0x76282b[_0xf644('0x3d')]=_0x21bb67[_0xf644('0x3d')];return db[_0xf644('0x58')][_0xf644('0x69')](_0x76282b,{'include':[{'model':db[_0xf644('0x5d')],'as':_0xf644('0x3d')},{'model':db[_0xf644('0x3f')],'as':_0xf644('0x3c')}]})['then'](function(_0x4fbe3c){var _0x1ac509=_0x13511b[_0xf644('0x32')]['get']({'plain':!![]});if(!_0x1ac509)throw new Error(_0xf644('0x78'));if(_0x1ac509['role']==='user'){var _0x15bcad=_0x4fbe3c[_0xf644('0x23')]({'plain':!![]});return db[_0xf644('0x79')][_0xf644('0x5f')]({'where':{'name':_0xf644('0x7a'),'userProfileId':_0x1ac509['userProfileId']},'raw':!![]})['then'](function(_0x16cc60){if(_0x16cc60&&_0x16cc60[_0xf644('0x7b')]===0x0){return db['UserProfileResource'][_0xf644('0x69')]({'name':_0x15bcad[_0xf644('0x27')],'resourceId':_0x15bcad['id'],'type':_0x16cc60['name'],'sectionId':_0x16cc60['id']},{})['then'](function(){return _0x4fbe3c;});}else{return _0x4fbe3c;}})[_0xf644('0x5b')](function(_0x3064e9){logger[_0xf644('0x14')](_0xf644('0x7c'),_0x3064e9);throw _0x3064e9;});}return _0x4fbe3c;})[_0xf644('0x21')](respondWithResult(_0x5def96,0xc9))['catch'](handleError(_0x5def96,null));};exports[_0xf644('0x7d')]=function(_0x2a0abb,_0x37b6d0){return db[_0xf644('0x58')][_0xf644('0x6b')]({'where':{'id':_0x2a0abb[_0xf644('0x5c')]['id']}})[_0xf644('0x21')](handleEntityNotFound(_0x37b6d0,null))[_0xf644('0x21')](function(_0x28eb90){if(_0x28eb90){return _0x28eb90[_0xf644('0x7d')]();}return null;})['then'](respondWithResult(_0x37b6d0,null))[_0xf644('0x5b')](handleError(_0x37b6d0,null));};exports[_0xf644('0x7e')]=function(_0x419b1b,_0x1dd36a){if(_0x419b1b['body']['id']){delete _0x419b1b[_0xf644('0x60')]['id'];}return db[_0xf644('0x58')][_0xf644('0x5f')]({'where':{'id':_0x419b1b[_0xf644('0x5c')]['id']}})['then'](handleEntityNotFound(_0x1dd36a,null))['then'](function(_0x37ff68){if(_0x37ff68){_0x419b1b[_0xf644('0x60')]['MailAccountId']=_0x37ff68['id'];return db[_0xf644('0x3f')][_0xf644('0x69')](_0x419b1b['body']);}})[_0xf644('0x21')](respondWithResult(_0x1dd36a,null))[_0xf644('0x5b')](handleError(_0x1dd36a,null));};exports[_0xf644('0x7f')]=function(_0x51bd15,_0xe3f94a){return db['MailAccount'][_0xf644('0x6b')]({'where':{'id':_0x51bd15[_0xf644('0x5c')]['id']}})[_0xf644('0x21')](handleEntityNotFound(_0xe3f94a,null))[_0xf644('0x21')](function(_0x11342a){if(_0x11342a){return _0x11342a[_0xf644('0x80')](null);}return null;})[_0xf644('0x21')](respondWithStatusCode(_0xe3f94a,null))['catch'](handleError(_0xe3f94a,null));};exports[_0xf644('0x81')]=function(_0x487fcf,_0x4c4770){return db[_0xf644('0x58')][_0xf644('0x6b')]({'where':{'id':_0x487fcf[_0xf644('0x5c')]['id']}})['then'](handleEntityNotFound(_0x4c4770,null))['then'](function(_0xa6c53f){if(_0xa6c53f){return _0xa6c53f[_0xf644('0x81')]();}return null;})[_0xf644('0x21')](respondWithResult(_0x4c4770,null))[_0xf644('0x5b')](handleError(_0x4c4770,null));};exports[_0xf644('0x82')]=function(_0x27659a,_0x2bf8e1){if(_0x27659a[_0xf644('0x60')]['id']){delete _0x27659a[_0xf644('0x60')]['id'];}return db[_0xf644('0x58')][_0xf644('0x5f')]({'where':{'id':_0x27659a[_0xf644('0x5c')]['id']}})[_0xf644('0x21')](handleEntityNotFound(_0x2bf8e1,null))[_0xf644('0x21')](function(_0xacf857){if(_0xacf857){_0x27659a[_0xf644('0x60')]['MailAccountId']=_0xacf857['id'];return db[_0xf644('0x5d')][_0xf644('0x69')](_0x27659a[_0xf644('0x60')]);}})[_0xf644('0x21')](respondWithResult(_0x2bf8e1,null))['catch'](handleError(_0x2bf8e1,null));};exports[_0xf644('0x83')]=function(_0x474b53,_0x14e283){return db['MailAccount'][_0xf644('0x6b')]({'where':{'id':_0x474b53['params']['id']}})[_0xf644('0x21')](handleEntityNotFound(_0x14e283,null))[_0xf644('0x21')](function(_0x419fc9){if(_0x419fc9){return _0x419fc9[_0xf644('0x84')](null);}return null;})['then'](respondWithStatusCode(_0x14e283,null))[_0xf644('0x5b')](handleError(_0x14e283,null));};exports[_0xf644('0x85')]=function(_0xb00339,_0x5c5cc0){return db[_0xf644('0x86')]['find']({'where':{'id':_0xb00339[_0xf644('0x5c')]['id']}})[_0xf644('0x21')](handleEntityNotFound(_0x5c5cc0,null))[_0xf644('0x21')](function(_0xfd04fc){if(_0xfd04fc){return _0xfd04fc[_0xf644('0x85')](_0xb00339[_0xf644('0x60')][_0xf644('0x6e')],_[_0xf644('0x87')](_0xb00339[_0xf644('0x60')],[_0xf644('0x6e'),'id'])||{});}})[_0xf644('0x21')](respondWithResult(_0x5c5cc0,null))[_0xf644('0x5b')](handleError(_0x5c5cc0,null));};exports['getInteractions']=function(_0x4384ec,_0x92f1b2){var _0x325c9d={'raw':![],'where':{}};var _0x61f2c7={};var _0x5e06fe={'count':0x0,'rows':[]};return db[_0xf644('0x58')][_0xf644('0x6b')]({'where':{'id':_0x4384ec['params']['id']}})['then'](handleEntityNotFound(_0x92f1b2,null))[_0xf644('0x21')](function(_0x521ee8){if(_0x521ee8){_0x61f2c7[_0xf644('0x45')]=_[_0xf644('0x47')](db[_0xf644('0x86')]['rawAttributes']);_0x61f2c7[_0xf644('0x46')]=_[_0xf644('0x47')](_0x4384ec[_0xf644('0x46')]);_0x61f2c7[_0xf644('0x48')]=_[_0xf644('0x49')](_0x61f2c7[_0xf644('0x45')],_0x61f2c7[_0xf644('0x46')]);_0x325c9d['attributes']=_[_0xf644('0x49')](_0x61f2c7[_0xf644('0x45')],qs[_0xf644('0x4b')](_0x4384ec['query']['fields']));_0x325c9d[_0xf644('0x4a')]=_0x325c9d[_0xf644('0x4a')][_0xf644('0x4c')]?_0x325c9d[_0xf644('0x4a')]:_0x61f2c7[_0xf644('0x45')];if(!_0x4384ec[_0xf644('0x46')]['hasOwnProperty']('nolimit')){_0x325c9d[_0xf644('0x1c')]=qs[_0xf644('0x1c')](_0x4384ec[_0xf644('0x46')][_0xf644('0x1c')]);_0x325c9d[_0xf644('0x1a')]=qs[_0xf644('0x1a')](_0x4384ec[_0xf644('0x46')][_0xf644('0x1a')]);}_0x325c9d[_0xf644('0x4e')]=qs[_0xf644('0x4f')](_0x4384ec[_0xf644('0x46')][_0xf644('0x4f')]);_0x325c9d['where']=qs[_0xf644('0x48')](_[_0xf644('0x50')](_0x4384ec[_0xf644('0x46')],_0x61f2c7[_0xf644('0x48')]));_0x325c9d[_0xf644('0x52')]['MailAccountId']=_0x521ee8['id'];if(_0x4384ec[_0xf644('0x46')]['filter']){_0x325c9d[_0xf644('0x52')]=_['merge'](_0x325c9d[_0xf644('0x52')],{'$or':_['map'](_0x325c9d[_0xf644('0x4a')],function(_0x6ce78a){var _0xb0162a={};_0xb0162a[_0x6ce78a]={'$like':'%'+_0x4384ec[_0xf644('0x46')]['filter']+'%'};return _0xb0162a;})});}_0x325c9d=_[_0xf644('0x54')]({},_0x325c9d,_0x4384ec[_0xf644('0x55')]);return db[_0xf644('0x86')]['count']({'where':_0x325c9d['where']})['then'](function(_0x290b2b){_0x5e06fe[_0xf644('0x1d')]=_0x290b2b;if(_0x4384ec[_0xf644('0x46')][_0xf644('0x56')]){_0x325c9d[_0xf644('0x57')]=[{'model':db[_0xf644('0x88')],'as':'Contact','required':![]},{'model':db['User'],'as':_0xf644('0x89'),'attributes':[_0xf644('0x27'),'fullname',_0xf644('0x8a')],'required':![]},{'model':db['Tag'],'as':'Tags','attributes':['id',_0xf644('0x27'),_0xf644('0x8b')],'where':_0x4384ec[_0xf644('0x46')]['tag']?{'id':_0x4384ec[_0xf644('0x46')]['tag']}:undefined,'required':_0x4384ec['query'][_0xf644('0x8c')]?!![]:![]}];}return db[_0xf644('0x86')][_0xf644('0x59')](_0x325c9d);})['then'](function(_0x2093d8){_0x5e06fe[_0xf644('0x5a')]=_0x2093d8;return _0x5e06fe;});}})[_0xf644('0x21')](respondWithFilteredResult(_0x92f1b2,_0x325c9d))['catch'](handleError(_0x92f1b2,null));};exports[_0xf644('0x8d')]=function addApplications(_0x5469d1,_0x1ea483){var _0x28fb6f=_0x5469d1[_0xf644('0x5c')]['id'];var _0x1fabd0=_0x5469d1['body'];var _0x4bf801=0xc8;var _0x2d9b6e=null;return db['sequelize'][_0xf644('0x8e')]({'isolationLevel':db[_0xf644('0x8f')]['Transaction']['ISOLATION_LEVELS']['READ_COMMITTED']},function(_0x4a9c83){return db[_0xf644('0x58')]['findOne']({'where':{'id':_0x28fb6f},'transaction':_0x4a9c83})['then'](function(_0x49d39d){if(_0x49d39d){return db[_0xf644('0x90')]['destroy']({'where':{'MailAccountId':_0x28fb6f},'transaction':_0x4a9c83})[_0xf644('0x21')](function(){var _0x26c2c5=_[_0xf644('0x42')](_0x1fabd0,function(_0x51ace8){_0x51ace8[_0xf644('0x67')]=_0x28fb6f;return _0x51ace8;});return db[_0xf644('0x90')][_0xf644('0x91')](_0x26c2c5,{'transaction':_0x4a9c83});});}else{_0x4bf801=0x194;_0x2d9b6e=[];}});})[_0xf644('0x21')](function(){if(_0x4bf801!==0x194){return db['MailApplication']['findAndCountAll']({'where':{'MailAccountId':_0x28fb6f},'order':'priority'})['then'](function(_0x328101){_0x2d9b6e=_0x328101;});}})['catch'](function(_0x4bc441){_0x4bf801=0x1f4;logger[_0xf644('0x14')](_0x4bc441[_0xf644('0x26')]);if(_0x4bc441[_0xf644('0x27')]){delete _0x4bc441[_0xf644('0x27')];}_0x2d9b6e=_0x4bc441;})[_0xf644('0x92')](function(){if(_0x2d9b6e===null){_0x1ea483[_0xf644('0x18')](_0x4bf801);}else{if(_0x4bf801===0x1f4){_0x1ea483['status'](_0x4bf801)[_0xf644('0x28')](_0x2d9b6e);}else{_0x1ea483[_0xf644('0x19')](_0x4bf801)[_0xf644('0x93')](_0x2d9b6e);}}});};exports[_0xf644('0x94')]=function(_0x333fc8,_0x34e629){var _0x2958e2={};var _0x181ee3={};var _0x42ae02;var _0xeb6d6f;return db[_0xf644('0x58')][_0xf644('0x6b')]({'where':{'id':_0x333fc8[_0xf644('0x5c')]['id']}})['then'](handleEntityNotFound(_0x34e629,null))[_0xf644('0x21')](function(_0x28312d){if(_0x28312d){_0x42ae02=_0x28312d;_0x181ee3[_0xf644('0x45')]=_[_0xf644('0x47')](db[_0xf644('0x90')]['rawAttributes']);_0x181ee3['query']=_[_0xf644('0x47')](_0x333fc8['query']);_0x181ee3[_0xf644('0x48')]=_[_0xf644('0x49')](_0x181ee3[_0xf644('0x45')],_0x181ee3[_0xf644('0x46')]);_0x2958e2[_0xf644('0x4a')]=_[_0xf644('0x49')](_0x181ee3[_0xf644('0x45')],qs[_0xf644('0x4b')](_0x333fc8[_0xf644('0x46')][_0xf644('0x4b')]));_0x2958e2['attributes']=_0x2958e2['attributes']['length']?_0x2958e2['attributes']:_0x181ee3[_0xf644('0x45')];_0x2958e2[_0xf644('0x4e')]=qs[_0xf644('0x4f')](_0x333fc8[_0xf644('0x46')]['sort']);_0x2958e2[_0xf644('0x52')]=qs[_0xf644('0x48')](_['pick'](_0x333fc8[_0xf644('0x46')],_0x181ee3[_0xf644('0x48')]));if(_0x333fc8['query']['filter']){_0x2958e2['where']=_[_0xf644('0x54')](_0x2958e2[_0xf644('0x52')],{'$or':_[_0xf644('0x42')](_0x2958e2['attributes'],function(_0x3748d2){var _0x3aff8b={};_0x3aff8b[_0x3748d2]={'$like':'%'+_0x333fc8[_0xf644('0x46')][_0xf644('0x51')]+'%'};return _0x3aff8b;})});}_0x2958e2=_[_0xf644('0x54')]({},_0x2958e2,_0x333fc8[_0xf644('0x55')]);return _0x42ae02[_0xf644('0x94')](_0x2958e2);}})['then'](function(_0x431a36){if(_0x431a36){_0xeb6d6f=_0x431a36[_0xf644('0x4c')];if(!_0x333fc8[_0xf644('0x46')]['hasOwnProperty'](_0xf644('0x4d'))){_0x2958e2[_0xf644('0x1c')]=qs[_0xf644('0x1c')](_0x333fc8[_0xf644('0x46')][_0xf644('0x1c')]);_0x2958e2[_0xf644('0x1a')]=qs[_0xf644('0x1a')](_0x333fc8[_0xf644('0x46')][_0xf644('0x1a')]);}return _0x42ae02['getApplications'](_0x2958e2);}})[_0xf644('0x21')](function(_0x4f49be){if(_0x4f49be){return _0x4f49be?{'count':_0xeb6d6f,'rows':_0x4f49be}:null;}})[_0xf644('0x21')](respondWithResult(_0x34e629,null))[_0xf644('0x5b')](handleError(_0x34e629,null));};exports[_0xf644('0x95')]=function(_0x2de9ca,_0x3017f0){var _0x500d87={'raw':!![],'where':{}};var _0x38bb6a={};var _0x22375f={'count':0x0,'rows':[]};return db[_0xf644('0x58')][_0xf644('0x6b')]({'where':{'id':_0x2de9ca['params']['id']}})[_0xf644('0x21')](handleEntityNotFound(_0x3017f0,null))['then'](function(_0x1179d4){if(_0x1179d4){_0x38bb6a[_0xf644('0x45')]=_[_0xf644('0x47')](db[_0xf644('0x96')]['rawAttributes']);_0x38bb6a[_0xf644('0x46')]=_[_0xf644('0x47')](_0x2de9ca[_0xf644('0x46')]);_0x38bb6a['filters']=_[_0xf644('0x49')](_0x38bb6a['model'],_0x38bb6a[_0xf644('0x46')]);_0x500d87['attributes']=_['intersection'](_0x38bb6a[_0xf644('0x45')],qs[_0xf644('0x4b')](_0x2de9ca[_0xf644('0x46')]['fields']));_0x500d87[_0xf644('0x4a')]=_0x500d87[_0xf644('0x4a')][_0xf644('0x4c')]?_0x500d87['attributes']:_0x38bb6a[_0xf644('0x45')];if(!_0x2de9ca[_0xf644('0x46')][_0xf644('0x6c')](_0xf644('0x4d'))){_0x500d87[_0xf644('0x1c')]=qs['limit'](_0x2de9ca['query']['limit']);_0x500d87[_0xf644('0x1a')]=qs['offset'](_0x2de9ca[_0xf644('0x46')][_0xf644('0x1a')]);}_0x500d87[_0xf644('0x4e')]=qs[_0xf644('0x4f')](_0x2de9ca[_0xf644('0x46')][_0xf644('0x4f')]);_0x500d87['where']=qs[_0xf644('0x48')](_['pick'](_0x2de9ca[_0xf644('0x46')],_0x38bb6a[_0xf644('0x48')]));_0x500d87['where'][_0xf644('0x67')]=_0x1179d4['id'];if(_0x2de9ca['query'][_0xf644('0x51')]){_0x500d87[_0xf644('0x52')]=_[_0xf644('0x54')](_0x500d87[_0xf644('0x52')],{'$or':_[_0xf644('0x42')](_0x500d87[_0xf644('0x4a')],function(_0x349870){var _0x3a4961={};_0x3a4961[_0x349870]={'$like':'%'+_0x2de9ca[_0xf644('0x46')][_0xf644('0x51')]+'%'};return _0x3a4961;})});}if(_0x2de9ca[_0xf644('0x46')][_0xf644('0x97')]){var _0x5a6679=_0x2de9ca[_0xf644('0x46')]['$gte']['split'](',');var _0x4b3c9b={};_0x4b3c9b[_0x5a6679[0x0]]={'$gte':moment(_0x5a6679[0x1])[_0xf644('0x98')](_0xf644('0x99'))};_0x500d87[_0xf644('0x52')]=_[_0xf644('0x54')](_0x500d87[_0xf644('0x52')],_0x4b3c9b);}_0x500d87=_[_0xf644('0x54')]({},_0x500d87,_0x2de9ca[_0xf644('0x55')]);return db[_0xf644('0x96')][_0xf644('0x1d')]({'where':_0x500d87['where']})['then'](function(_0x5436a5){_0x22375f['count']=_0x5436a5;if(_0x2de9ca[_0xf644('0x46')]['includeAll']){_0x500d87[_0xf644('0x57')]=[{'all':!![]}];}return db[_0xf644('0x96')][_0xf644('0x59')](_0x500d87);})[_0xf644('0x21')](function(_0x5638a8){if(_0x2de9ca['query'][_0xf644('0x9a')]===_0xf644('0x9b')){for(var _0x28ea24=0x0;_0x28ea24<_0x5638a8[_0xf644('0x4c')];_0x28ea24++){_0x5638a8[_0x28ea24][_0xf644('0x60')]=juice(_0x5638a8[_0x28ea24][_0xf644('0x60')]);}}_0x22375f['rows']=_0x5638a8;return _0x22375f;});}})['then'](respondWithFilteredResult(_0x3017f0,_0x500d87))[_0xf644('0x5b')](handleError(_0x3017f0,null));};exports['send']=function(_0xfd6bd2,_0x3c92d6){var _0x835f83,_0x34f499={},_0x3f2516;if(_0xfd6bd2[_0xf644('0x60')]['to']){_0x3f2516=_0xfd6bd2['body']['to']['split'](',')[0x0];}return db[_0xf644('0x58')]['find']({'where':{'id':_0xfd6bd2[_0xf644('0x5c')]['id']},'include':[{'model':db['CmList'],'as':'List','include':[{'model':db[_0xf644('0x88')],'as':_0xf644('0x9c'),'where':{'email':_0x3f2516},'limit':0x1,'order':[['updatedAt','DESC']]}]},{'model':db[_0xf644('0x5d')],'as':'Smtp','raw':!![],'include':[{'model':db[_0xf644('0x9d')],'as':_0xf644('0x9d'),'raw':!![]}]}]})[_0xf644('0x21')](handleEntityNotFound(_0x3c92d6,null))[_0xf644('0x21')](function(_0x30ef60){if(!_0x30ef60)return;_0x835f83=_0x30ef60;if(!_0x30ef60[_0xf644('0x3d')])throw new Error(_0xf644('0x9e'));if(_[_0xf644('0x75')](_0xfd6bd2[_0xf644('0x60')][_0xf644('0x9f')])){_0xfd6bd2[_0xf644('0x60')][_0xf644('0x9f')]=util['format'](_0xf644('0xa0'),_0x30ef60[_0xf644('0x27')],_0x30ef60[_0xf644('0x73')]||_0x30ef60[_0xf644('0x3d')][_0xf644('0x32')]);}if(_0xfd6bd2[_0xf644('0x60')][_0xf644('0xa1')]&&_0xfd6bd2[_0xf644('0x60')][_0xf644('0xa1')][_0xf644('0x4c')]){for(var _0x5569e8=0x0;_0x5569e8<_0xfd6bd2[_0xf644('0x60')][_0xf644('0xa1')][_0xf644('0x4c')];_0x5569e8+=0x1){_0xfd6bd2[_0xf644('0x60')][_0xf644('0xa1')][_0x5569e8]={'filename':_0xfd6bd2[_0xf644('0x60')][_0xf644('0xa1')][_0x5569e8]['name'],'path':path[_0xf644('0xa2')](config['root'],'server/files/attachments',_0xfd6bd2[_0xf644('0x60')][_0xf644('0xa1')][_0x5569e8][_0xf644('0xa3')])};}}var _0x1f67c3=_0x30ef60[_0xf644('0xa4')]();return respondWithRpcPromise('SendMail','sendMail',{'account':_0x1f67c3,'message':_0xfd6bd2[_0xf644('0x60')]});})[_0xf644('0x21')](function(_0x4d7cba){if(!_0x4d7cba)return;_0x34f499=_0x4d7cba;if(!_0x835f83[_0xf644('0xa5')])throw new Error(_0xf644('0xa6'));if(_0x835f83[_0xf644('0xa5')][_0xf644('0x9c')][_0xf644('0x4c')])return _0x835f83[_0xf644('0xa5')][_0xf644('0x9c')][0x0];return db[_0xf644('0x88')]['create'](_[_0xf644('0xb')](_0xfd6bd2[_0xf644('0x60')],{'firstName':_0xfd6bd2[_0xf644('0x60')]['to'],'email':_0xfd6bd2[_0xf644('0x60')]['to'],'phone':_0xfd6bd2[_0xf644('0x60')]['to'],'ListId':_0x835f83[_0xf644('0x74')]}));})['then'](function(_0x3bef0e){if(!_0x3bef0e)return;var _0x51ed58={'UserId':_0xfd6bd2[_0xf644('0x32')]['id'],'ContactId':_0x3bef0e['id'],'MailAccountId':_0x835f83['id'],'inReplyTo':_0x34f499['messageId'],'to':_0xfd6bd2[_0xf644('0x60')][_0xf644('0x9f')],'cc':_0xfd6bd2['body']['cc'],'subject':_0xfd6bd2[_0xf644('0x60')][_0xf644('0xa7')],'attach':_0xfd6bd2['body'][_0xf644('0xa8')],'firstMsgDirection':'out','lastMsgAt':moment()[_0xf644('0x98')]('YYYY-MM-DD\x20HH:mm:ss'),'lastMsgDirection':'out','Messages':[_[_0xf644('0x54')](_0xfd6bd2[_0xf644('0x60')],{'messageId':_0x34f499[_0xf644('0xa9')],'sentAt':moment()[_0xf644('0x98')](_0xf644('0x99')),'read':!![],'MailAccountId':_0x835f83['id'],'UserId':_0xfd6bd2[_0xf644('0x32')]['id'],'ContactId':_0x3bef0e['id']})]};if(_0xfd6bd2[_0xf644('0x60')][_0xf644('0xaa')]){_0x51ed58=_[_0xf644('0x54')](_0x51ed58,_0xfd6bd2[_0xf644('0x60')][_0xf644('0xaa')]);}return db[_0xf644('0x86')]['create'](_0x51ed58,{'include':[{'model':db[_0xf644('0x96')],'as':_0xf644('0xab')}]});})[_0xf644('0x21')](respondWithResult(_0x3c92d6,null))[_0xf644('0x5b')](handleError(_0x3c92d6,null));};exports[_0xf644('0xac')]=function(_0x2dfe66,_0x317fca){return db[_0xf644('0x58')]['find']({'where':{'id':_0x2dfe66[_0xf644('0x5c')]['id']},'include':[{'model':db['MailServerOut'],'as':_0xf644('0x3d'),'raw':!![],'include':[{'model':db[_0xf644('0x9d')],'as':'CloudProvider','raw':!![]}]}]})[_0xf644('0x21')](handleEntityNotFound(_0x317fca,null))['then'](function(_0xd4b1b8){if(!_0xd4b1b8['Smtp'])return;var _0x5e3ac7=_0xd4b1b8[_0xf644('0xa4')]();return respondWithRpcPromise(_0xf644('0xad'),_0xf644('0xac'),{'account':_0x5e3ac7});})[_0xf644('0x21')](respondWithResult(_0x317fca,null))[_0xf644('0x5b')](handleError(_0x317fca,null));};exports[_0xf644('0x22')]=function(_0x310f8b,_0x28e7fe){return db[_0xf644('0x58')][_0xf644('0x5f')]({'where':{'id':_0x310f8b[_0xf644('0x5c')]['id']}})['then'](handleEntityNotFound(_0x28e7fe,null))[_0xf644('0x21')](function(_0x8c9af0){if(_0x8c9af0&&_0x8c9af0[_0xf644('0x3a')]){throw new db[(_0xf644('0xae'))][(_0xf644('0xaf'))](_0xf644('0xb0'));}return _0x8c9af0;})['then'](removeEntity(_0x28e7fe,null))[_0xf644('0x5b')](handleError(_0x28e7fe,null));};exports[_0xf644('0xb1')]=function(_0x33fd72,_0x5a8b89){return db[_0xf644('0x58')][_0xf644('0x5f')]({'where':{'id':_0x33fd72[_0xf644('0x5c')]['id']}})[_0xf644('0x21')](handleEntityNotFound(_0x5a8b89,null))['then'](function(_0x1db297){if(_0x1db297){return _0x1db297[_0xf644('0xb1')](_0x33fd72[_0xf644('0x60')][_0xf644('0x6e')],_[_0xf644('0x87')](_0x33fd72['body'],[_0xf644('0x6e'),'id'])||{})['spread'](function(_0x2b4148){for(var _0x47a719=0x0;_0x47a719<_0x33fd72['body'][_0xf644('0x6e')][_0xf644('0x4c')];_0x47a719+=0x1){socket[_0xf644('0xb2')]('userMailAccount:save',{'UserId':Number(_0x33fd72[_0xf644('0x60')][_0xf644('0x6e')][_0x47a719]),'MailAccountId':Number(_0x33fd72[_0xf644('0x5c')]['id'])});}return _0x2b4148;});}})[_0xf644('0x21')](respondWithResult(_0x5a8b89,null))[_0xf644('0x5b')](handleError(_0x5a8b89,null));};exports[_0xf644('0xb3')]=function(_0x45ef36,_0x56c38e){return db[_0xf644('0x58')]['find']({'where':{'id':_0x45ef36[_0xf644('0x5c')]['id']}})[_0xf644('0x21')](handleEntityNotFound(_0x56c38e,null))[_0xf644('0x21')](function(_0xdcee98){if(_0xdcee98){return _0xdcee98[_0xf644('0xb3')](_0x45ef36[_0xf644('0x46')][_0xf644('0x6e')])['then'](function(){if(_[_0xf644('0xb4')](_0x45ef36[_0xf644('0x46')][_0xf644('0x6e')])){for(var _0x2f8877=0x0;_0x2f8877<_0x45ef36[_0xf644('0x46')]['ids'][_0xf644('0x4c')];_0x2f8877+=0x1){socket['emit'](_0xf644('0xb5'),{'UserId':Number(_0x45ef36[_0xf644('0x46')][_0xf644('0x6e')][_0x2f8877]),'MailAccountId':Number(_0x45ef36[_0xf644('0x5c')]['id'])});}}else{socket[_0xf644('0xb2')](_0xf644('0xb5'),{'UserId':Number(_0x45ef36[_0xf644('0x46')][_0xf644('0x6e')]),'MailAccountId':Number(_0x45ef36[_0xf644('0x5c')]['id'])});}});}})[_0xf644('0x21')](respondWithStatusCode(_0x56c38e,null))['catch'](handleError(_0x56c38e,null));};exports[_0xf644('0xb6')]=function(_0x468b3b,_0x53f1b6){var _0x5c0e6e={};var _0x2e20ac={};var _0x511a16;var _0x49a68e;return db[_0xf644('0x58')][_0xf644('0x6b')]({'where':{'id':_0x468b3b[_0xf644('0x5c')]['id']}})['then'](handleEntityNotFound(_0x53f1b6,null))[_0xf644('0x21')](function(_0x181212){if(_0x181212){_0x511a16=_0x181212;_0x2e20ac[_0xf644('0x45')]=_[_0xf644('0x47')](db[_0xf644('0xb7')][_0xf644('0x5e')]);_0x2e20ac['query']=_[_0xf644('0x47')](_0x468b3b[_0xf644('0x46')]);_0x2e20ac[_0xf644('0x48')]=_[_0xf644('0x49')](_0x2e20ac[_0xf644('0x45')],_0x2e20ac[_0xf644('0x46')]);_0x5c0e6e[_0xf644('0x4a')]=_[_0xf644('0x49')](_0x2e20ac[_0xf644('0x45')],qs[_0xf644('0x4b')](_0x468b3b[_0xf644('0x46')][_0xf644('0x4b')]));_0x5c0e6e[_0xf644('0x4a')]=_0x5c0e6e[_0xf644('0x4a')][_0xf644('0x4c')]?_0x5c0e6e[_0xf644('0x4a')]:_0x2e20ac[_0xf644('0x45')];_0x5c0e6e[_0xf644('0x4e')]=qs[_0xf644('0x4f')](_0x468b3b['query'][_0xf644('0x4f')]);_0x5c0e6e['where']=qs[_0xf644('0x48')](_[_0xf644('0x50')](_0x468b3b[_0xf644('0x46')],_0x2e20ac[_0xf644('0x48')]));if(_0x468b3b[_0xf644('0x46')][_0xf644('0x51')]){_0x5c0e6e['where']=_[_0xf644('0x54')](_0x5c0e6e[_0xf644('0x52')],{'$or':_[_0xf644('0x42')](_0x5c0e6e[_0xf644('0x4a')],function(_0xe5c4b1){var _0x347979={};_0x347979[_0xe5c4b1]={'$like':'%'+_0x468b3b[_0xf644('0x46')][_0xf644('0x51')]+'%'};return _0x347979;})});}_0x5c0e6e=_[_0xf644('0x54')]({},_0x5c0e6e,_0x468b3b[_0xf644('0x55')]);return _0x511a16[_0xf644('0xb6')](_0x5c0e6e);}})[_0xf644('0x21')](function(_0x308d60){if(_0x308d60){_0x49a68e=_0x308d60['length'];if(!_0x468b3b[_0xf644('0x46')][_0xf644('0x6c')](_0xf644('0x4d'))){_0x5c0e6e[_0xf644('0x1c')]=qs[_0xf644('0x1c')](_0x468b3b['query']['limit']);_0x5c0e6e[_0xf644('0x1a')]=qs[_0xf644('0x1a')](_0x468b3b[_0xf644('0x46')][_0xf644('0x1a')]);}return _0x511a16['getAgents'](_0x5c0e6e);}})[_0xf644('0x21')](function(_0xede800){if(_0xede800){return _0xede800?{'count':_0x49a68e,'rows':_0xede800}:null;}})['then'](respondWithResult(_0x53f1b6,null))['catch'](handleError(_0x53f1b6,null));};