f46a16765c89c270951b052898c59b9e8d7ccfcc
[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 _0xbc71=['addAnswer','CannedAnswer','getAnswers','removeAnswers','ids','create','email','ListId','isNil','active','description','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','getImap','addImap','setImap','getSmtp','addSmtp','removeSmtp','MailInteraction','addInteraction','getInteractions','CmContact','Owner','Tags','color','tag','addApplications','transaction','sequelize','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','findAndCountAll','priority','stack','finally','getApplications','getMessages','MailMessage','$gte','format','inlineCss','split','updatedAt','Smtp\x20configuration\x20not\x20found','from','%s\x20<%s>','attachments','root','basename','getSmtpOptions','SendMail','sendMail','List','List\x20not\x20found','Contacts','subject','out','YYYY-MM-DD\x20HH:mm:ss','messageId','Interaction','verifySmtp','CloudProvider','VerifySmtp','Sequelize','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','omit','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','User','getAgents','moment','util','path','juice','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','register','jayson/promise','client','http','then','info','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','MailAccount,\x20%s,\x20%s','message','result','catch','status','end','json','offset','undefined','limit','count','Content-Range','update','destroy','get','MailAccounts','UserProfileResource','sendStatus','name','send','gmail','imap.gmail.com','imap.mail.yahoo.com','imap-mail.outlook.com','outlook365','outlook.office365.com','Unknown\x20email\x20service\x20provider','smtp.gmail.com','yahoo','smtp.mail.yahoo.com','hotmail','smtp.office365.com','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','authentication','Imap','MailServerIn','MailServerOut','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','key','model','keys','filters','intersection','query','fields','attributes','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','include','findAll','show','params','Smtp','Pause','length','includeAll','options','find','body','provider','custom','secure','Mail\x20Account\x20not\x20found','service','describe','MailAccountId','getDispositions','findOne','Disposition','rows','removeDispositions'];(function(_0x3079b9,_0x58d2f4){var _0x105101=function(_0x140d4e){while(--_0x140d4e){_0x3079b9['push'](_0x3079b9['shift']());}};_0x105101(++_0x58d2f4);}(_0xbc71,0x114));var _0x1bc7=function(_0x55f8b4,_0x43f30d){_0x55f8b4=_0x55f8b4-0x0;var _0x2475f9=_0xbc71[_0x55f8b4];return _0x2475f9;};'use strict';var moment=require(_0x1bc7('0x0'));var BPromise=require('bluebird');var util=require(_0x1bc7('0x1'));var path=require(_0x1bc7('0x2'));var _=require('lodash');var juice=require(_0x1bc7('0x3'));var Redis=require(_0x1bc7('0x4'));var qs=require(_0x1bc7('0x5'));var logger=require(_0x1bc7('0x6'))(_0x1bc7('0x7'));var config=require(_0x1bc7('0x8'));var db=require(_0x1bc7('0x9'))['db'];config[_0x1bc7('0xa')]=_[_0x1bc7('0xb')](config[_0x1bc7('0xa')],{'host':_0x1bc7('0xc'),'port':0x18eb});var socket=require(_0x1bc7('0xd'))(new Redis(config[_0x1bc7('0xa')]));require(_0x1bc7('0xe'))[_0x1bc7('0xf')](socket);var jayson=require(_0x1bc7('0x10'));var client=jayson[_0x1bc7('0x11')][_0x1bc7('0x12')]({'port':0x232b});function respondWithRpcPromise(_0x1fc637,_0x139243,_0x2ac87c,_0x586089){return new BPromise(function(_0x4aa5e7,_0x32b4eb){var _0x45a0b6=_0x586089||client;return _0x45a0b6['request'](_0x1fc637,_0x2ac87c)[_0x1bc7('0x13')](function(_0x1015aa){logger[_0x1bc7('0x14')]('MailAccount,\x20%s,\x20%s',_0x139243,_0x1bc7('0x15'));logger[_0x1bc7('0x16')](_0x1bc7('0x17'),_0x139243,_0x1bc7('0x15'),JSON[_0x1bc7('0x18')](_0x1015aa));if(_0x1015aa['error']){if(_0x1015aa[_0x1bc7('0x19')][_0x1bc7('0x1a')]===0x1f4){logger[_0x1bc7('0x19')](_0x1bc7('0x1b'),_0x139243,_0x1015aa[_0x1bc7('0x19')][_0x1bc7('0x1c')]);return _0x32b4eb(_0x1015aa[_0x1bc7('0x19')][_0x1bc7('0x1c')]);}logger[_0x1bc7('0x19')](_0x1bc7('0x1b'),_0x139243,_0x1015aa[_0x1bc7('0x19')]['message']);return _0x4aa5e7(_0x1015aa['error']['message']);}else{logger[_0x1bc7('0x14')]('MailAccount,\x20%s,\x20%s',_0x139243,_0x1bc7('0x15'));_0x4aa5e7(_0x1015aa[_0x1bc7('0x1d')]['message']);}})[_0x1bc7('0x1e')](function(_0x567e76){logger[_0x1bc7('0x19')](_0x1bc7('0x1b'),_0x139243,_0x567e76);_0x32b4eb(_0x567e76);});});}function respondWithStatusCode(_0x617f67,_0x4f03d2){_0x4f03d2=_0x4f03d2||0xcc;return function(_0x334bfe){if(_0x334bfe){return _0x617f67['sendStatus'](_0x4f03d2);}return _0x617f67[_0x1bc7('0x1f')](_0x4f03d2)[_0x1bc7('0x20')]();};}function respondWithResult(_0x4f6fc7,_0x4a6f78){_0x4a6f78=_0x4a6f78||0xc8;return function(_0x29acd4){if(_0x29acd4){return _0x4f6fc7[_0x1bc7('0x1f')](_0x4a6f78)[_0x1bc7('0x21')](_0x29acd4);}};}function respondWithFilteredResult(_0x5e5dce,_0x4e0113){return function(_0x3adb15){if(_0x3adb15){var _0x5148f3=typeof _0x4e0113[_0x1bc7('0x22')]===_0x1bc7('0x23')&&typeof _0x4e0113[_0x1bc7('0x24')]===_0x1bc7('0x23');var _0x2aa658=_0x3adb15[_0x1bc7('0x25')];var _0x434925=_0x5148f3?0x0:_0x4e0113[_0x1bc7('0x22')];var _0x362e5e=_0x5148f3?_0x3adb15['count']:_0x4e0113[_0x1bc7('0x22')]+_0x4e0113[_0x1bc7('0x24')];var _0x438c25;if(_0x362e5e>=_0x2aa658){_0x362e5e=_0x2aa658;_0x438c25=0xc8;}else{_0x438c25=0xce;}_0x5e5dce[_0x1bc7('0x1f')](_0x438c25);return _0x5e5dce['set'](_0x1bc7('0x26'),_0x434925+'-'+_0x362e5e+'/'+_0x2aa658)[_0x1bc7('0x21')](_0x3adb15);}return null;};}function saveUpdates(_0x8d911d){return function(_0x2f29e4){if(_0x2f29e4){return _0x2f29e4[_0x1bc7('0x27')](_0x8d911d)[_0x1bc7('0x13')](function(_0x3815b4){return _0x3815b4;});}return null;};}function removeEntity(_0x2f971e){return function(_0x48467d){if(_0x48467d){return _0x48467d[_0x1bc7('0x28')]()['then'](function(){var _0x3406ef=_0x48467d[_0x1bc7('0x29')]({'plain':!![]});var _0x595387=_0x1bc7('0x2a');return db[_0x1bc7('0x2b')]['destroy']({'where':{'type':_0x595387,'resourceId':_0x3406ef['id']}})[_0x1bc7('0x13')](function(){return _0x48467d;});})[_0x1bc7('0x13')](function(){_0x2f971e[_0x1bc7('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x51cfb9){return function(_0x429db4){if(!_0x429db4){_0x51cfb9[_0x1bc7('0x2c')](0x194);}return _0x429db4;};}function handleError(_0x372758,_0x33017f){_0x33017f=_0x33017f||0x1f4;return function(_0x2a26dc){logger[_0x1bc7('0x19')](_0x2a26dc['stack']);if(_0x2a26dc[_0x1bc7('0x2d')]){delete _0x2a26dc[_0x1bc7('0x2d')];}_0x372758[_0x1bc7('0x1f')](_0x33017f)[_0x1bc7('0x2e')](_0x2a26dc);};}function getImapHost(_0x2a0127){switch(_0x2a0127){case _0x1bc7('0x2f'):return _0x1bc7('0x30');case'yahoo':return _0x1bc7('0x31');case'hotmail':return _0x1bc7('0x32');case _0x1bc7('0x33'):return _0x1bc7('0x34');}throw new Error(_0x1bc7('0x35'),_0x2a0127);}function getSmtpHost(_0x34a302){switch(_0x34a302){case _0x1bc7('0x2f'):return _0x1bc7('0x36');case _0x1bc7('0x37'):return _0x1bc7('0x38');case _0x1bc7('0x39'):return'smtp-mail.outlook.com';case'outlook365':return _0x1bc7('0x3a');}throw new Error(_0x1bc7('0x35'),_0x34a302);}function getAuthenticationOptions(_0x5364ea,_0x3a3ae3){var _0x2828fb={};var _0x26202f={};if(_0x5364ea){_0x2828fb['user']=_0x26202f[_0x1bc7('0x3b')]=_0x3a3ae3[_0x1bc7('0x3c')];_0x2828fb[_0x1bc7('0x3d')]=_0x26202f[_0x1bc7('0x3e')]=_0x3a3ae3['password'];if(_0x3a3ae3[_0x1bc7('0x3f')]){_0x2828fb[_0x1bc7('0x3f')]=_0x26202f['modernAuthentication']=!![];_0x2828fb[_0x1bc7('0x40')]=_0x26202f[_0x1bc7('0x40')]=_0x3a3ae3[_0x1bc7('0x40')];_0x2828fb[_0x1bc7('0x3d')]=_0x26202f[_0x1bc7('0x3e')]=null;}else{_0x2828fb['CloudProviderId']=_0x26202f['CloudProviderId']=null;}_0x2828fb[_0x1bc7('0x41')]=getImapHost(_0x5364ea);_0x2828fb[_0x1bc7('0x42')]=0x3e1;_0x26202f['host']=getSmtpHost(_0x5364ea);_0x26202f[_0x1bc7('0x42')]=0x24b;_0x26202f['secure']=![];_0x2828fb['service']=_0x26202f['service']=null;}else{if(_0x3a3ae3[_0x1bc7('0x43')]){_0x2828fb['user']=_0x26202f['user']=_0x3a3ae3[_0x1bc7('0x3c')];_0x2828fb[_0x1bc7('0x3d')]=_0x26202f[_0x1bc7('0x3e')]=_0x3a3ae3[_0x1bc7('0x3d')];}else{_0x2828fb[_0x1bc7('0x43')]=_0x26202f['authentication']=![];_0x2828fb[_0x1bc7('0x3b')]=_0x26202f['user']=null;_0x2828fb[_0x1bc7('0x3d')]=_0x26202f[_0x1bc7('0x3e')]=null;}_0x2828fb[_0x1bc7('0x41')]=_0x3a3ae3[_0x1bc7('0x44')][_0x1bc7('0x41')];_0x2828fb['port']=_0x3a3ae3['Imap']['port'];_0x26202f['host']=_0x3a3ae3['Smtp'][_0x1bc7('0x41')];_0x26202f[_0x1bc7('0x42')]=_0x3a3ae3['Smtp'][_0x1bc7('0x42')];}return{'Imap':_0x2828fb,'Smtp':_0x26202f};}exports['index']=function(_0x5939db,_0x1cb754){var _0xddbb84={'include':[{'model':db[_0x1bc7('0x45')],'as':_0x1bc7('0x44')},{'model':db[_0x1bc7('0x46')],'as':'Smtp'},{'model':db['Pause'],'as':_0x1bc7('0x47')}]},_0x90f95f={},_0x1ba747={'count':0x0,'rows':[]};var _0x160dd6=_[_0x1bc7('0x48')](db[_0x1bc7('0x49')][_0x1bc7('0x4a')],function(_0x4fdf1b){return{'name':_0x4fdf1b[_0x1bc7('0x4b')],'type':_0x4fdf1b['type'][_0x1bc7('0x4c')]};});_0x90f95f[_0x1bc7('0x4d')]=_[_0x1bc7('0x48')](_0x160dd6,_0x1bc7('0x2d'));_0x90f95f['query']=_[_0x1bc7('0x4e')](_0x5939db['query']);_0x90f95f[_0x1bc7('0x4f')]=_[_0x1bc7('0x50')](_0x90f95f[_0x1bc7('0x4d')],_0x90f95f[_0x1bc7('0x51')]);_0xddbb84['attributes']=_[_0x1bc7('0x50')](_0x90f95f[_0x1bc7('0x4d')],qs['fields'](_0x5939db[_0x1bc7('0x51')][_0x1bc7('0x52')]));_0xddbb84[_0x1bc7('0x53')]=_0xddbb84['attributes']['length']?_0xddbb84[_0x1bc7('0x53')]:_0x90f95f[_0x1bc7('0x4d')];if(!_0x5939db[_0x1bc7('0x51')][_0x1bc7('0x54')](_0x1bc7('0x55'))){_0xddbb84[_0x1bc7('0x24')]=qs[_0x1bc7('0x24')](_0x5939db[_0x1bc7('0x51')][_0x1bc7('0x24')]);_0xddbb84[_0x1bc7('0x22')]=qs[_0x1bc7('0x22')](_0x5939db[_0x1bc7('0x51')][_0x1bc7('0x22')]);}_0xddbb84[_0x1bc7('0x56')]=qs[_0x1bc7('0x57')](_0x5939db[_0x1bc7('0x51')][_0x1bc7('0x57')]);_0xddbb84['where']=qs[_0x1bc7('0x4f')](_[_0x1bc7('0x58')](_0x5939db['query'],_0x90f95f[_0x1bc7('0x4f')]),_0x160dd6);if(_0x5939db[_0x1bc7('0x51')][_0x1bc7('0x59')]){_0xddbb84[_0x1bc7('0x5a')]=_[_0x1bc7('0x5b')](_0xddbb84[_0x1bc7('0x5a')],{'$or':_[_0x1bc7('0x48')](_0x160dd6,function(_0x1768e7){if(_0x1768e7['type']!==_0x1bc7('0x5c')){var _0x1372e5={};_0x1372e5[_0x1768e7[_0x1bc7('0x2d')]]={'$like':'%'+_0x5939db[_0x1bc7('0x51')][_0x1bc7('0x59')]+'%'};return _0x1372e5;}})});}_0xddbb84=_['merge']({},_0xddbb84,_0x5939db['options']);var _0x1efd6e={'where':_0xddbb84[_0x1bc7('0x5a')]};return db[_0x1bc7('0x49')][_0x1bc7('0x25')](_0x1efd6e)[_0x1bc7('0x13')](function(_0x142f09){_0x1ba747[_0x1bc7('0x25')]=_0x142f09;if(_0x5939db['query']['includeAll']){_0xddbb84[_0x1bc7('0x5d')]=[{'all':!![]}];}return db[_0x1bc7('0x49')][_0x1bc7('0x5e')](_0xddbb84);})['then'](function(_0x5daf91){_0x1ba747['rows']=_0x5daf91;return _0x1ba747;})[_0x1bc7('0x13')](respondWithFilteredResult(_0x1cb754,_0xddbb84))['catch'](handleError(_0x1cb754,null));};exports[_0x1bc7('0x5f')]=function(_0x530f10,_0x2825de){var _0x52ef8b={'raw':![],'where':{'id':_0x530f10[_0x1bc7('0x60')]['id']},'include':[{'model':db[_0x1bc7('0x45')],'as':_0x1bc7('0x44')},{'model':db[_0x1bc7('0x46')],'as':_0x1bc7('0x61')},{'model':db[_0x1bc7('0x62')],'as':_0x1bc7('0x47')}]},_0x40a1c5={};_0x40a1c5['model']=_[_0x1bc7('0x4e')](db[_0x1bc7('0x49')][_0x1bc7('0x4a')]);_0x40a1c5[_0x1bc7('0x51')]=_[_0x1bc7('0x4e')](_0x530f10[_0x1bc7('0x51')]);_0x40a1c5['filters']=_[_0x1bc7('0x50')](_0x40a1c5['model'],_0x40a1c5[_0x1bc7('0x51')]);_0x52ef8b[_0x1bc7('0x53')]=_[_0x1bc7('0x50')](_0x40a1c5['model'],qs['fields'](_0x530f10['query'][_0x1bc7('0x52')]));_0x52ef8b[_0x1bc7('0x53')]=_0x52ef8b[_0x1bc7('0x53')][_0x1bc7('0x63')]?_0x52ef8b[_0x1bc7('0x53')]:_0x40a1c5[_0x1bc7('0x4d')];if(_0x530f10[_0x1bc7('0x51')][_0x1bc7('0x64')]){_0x52ef8b[_0x1bc7('0x5d')]=[{'all':!![]}];}_0x52ef8b=_[_0x1bc7('0x5b')]({},_0x52ef8b,_0x530f10[_0x1bc7('0x65')]);return db['MailAccount'][_0x1bc7('0x66')](_0x52ef8b)['then'](handleEntityNotFound(_0x2825de,null))[_0x1bc7('0x13')](respondWithResult(_0x2825de,null))[_0x1bc7('0x1e')](handleError(_0x2825de,null));};exports[_0x1bc7('0x27')]=function(_0x2ac621,_0x23c9cb){if(_0x2ac621[_0x1bc7('0x67')]['id']){delete _0x2ac621[_0x1bc7('0x67')]['id'];}var _0x3117ef=_0x2ac621[_0x1bc7('0x67')][_0x1bc7('0x68')]===_0x1bc7('0x69')?null:_0x2ac621[_0x1bc7('0x67')][_0x1bc7('0x68')];var _0x34b6ec=_0x2ac621['body'][_0x1bc7('0x44')]||{};var _0x24ce83=_0x2ac621[_0x1bc7('0x67')][_0x1bc7('0x61')]||{};if(_0x3117ef){_0x34b6ec[_0x1bc7('0x41')]=getImapHost(_0x3117ef);_0x34b6ec['port']=0x3e1;_0x24ce83[_0x1bc7('0x41')]=getSmtpHost(_0x3117ef);_0x24ce83[_0x1bc7('0x42')]=0x24b;_0x24ce83['secure']=![];}if(_0x24ce83[_0x1bc7('0x3f')]){_0x24ce83[_0x1bc7('0x6a')]=![];}else{_0x24ce83[_0x1bc7('0x40')]=null;}if(!_0x34b6ec['modernAuthentication'])_0x34b6ec[_0x1bc7('0x40')]=null;_0x2ac621[_0x1bc7('0x67')][_0x1bc7('0x44')]=_0x34b6ec;_0x2ac621[_0x1bc7('0x67')][_0x1bc7('0x61')]=_0x24ce83;return db[_0x1bc7('0x49')][_0x1bc7('0x66')]({'where':{'id':_0x2ac621[_0x1bc7('0x60')]['id']},'include':[{'model':db[_0x1bc7('0x45')],'as':_0x1bc7('0x44')},{'model':db[_0x1bc7('0x46')],'as':'Smtp'},{'model':db[_0x1bc7('0x62')],'as':_0x1bc7('0x47')}]})[_0x1bc7('0x13')](handleEntityNotFound(_0x23c9cb,null))[_0x1bc7('0x13')](function(_0x1da0bb){if(!_0x1da0bb)throw new Error(_0x1bc7('0x6b'));if(_0x1da0bb[_0x1bc7('0x6c')])delete _0x2ac621[_0x1bc7('0x67')]['Imap'];return _0x1da0bb;})[_0x1bc7('0x13')](saveUpdates(_0x2ac621['body'],null))[_0x1bc7('0x13')](function(_0x528124){if(!_0x2ac621['body'][_0x1bc7('0x44')])return _0x528124;return db[_0x1bc7('0x45')][_0x1bc7('0x27')](_0x2ac621[_0x1bc7('0x67')][_0x1bc7('0x44')],{'where':{'MailAccountId':_0x528124['id']}})['then'](function(){return _0x528124;});})[_0x1bc7('0x13')](function(_0x52a85d){if(!_0x2ac621[_0x1bc7('0x67')][_0x1bc7('0x61')])return _0x52a85d;return db[_0x1bc7('0x46')][_0x1bc7('0x27')](_0x2ac621[_0x1bc7('0x67')][_0x1bc7('0x61')],{'where':{'MailAccountId':_0x52a85d['id']}})[_0x1bc7('0x13')](function(){return _0x52a85d;});})[_0x1bc7('0x13')](respondWithResult(_0x23c9cb,null))[_0x1bc7('0x1e')](handleError(_0x23c9cb,null));};exports['describe']=function(_0x4175ec,_0x331543){return db[_0x1bc7('0x49')][_0x1bc7('0x6d')]()[_0x1bc7('0x13')](respondWithResult(_0x331543,null))['catch'](handleError(_0x331543,null));};exports['addDisposition']=function(_0x136fe9,_0x5e9077){if(_0x136fe9[_0x1bc7('0x67')]['id']){delete _0x136fe9[_0x1bc7('0x67')]['id'];}return db['MailAccount'][_0x1bc7('0x66')]({'where':{'id':_0x136fe9[_0x1bc7('0x60')]['id']}})[_0x1bc7('0x13')](handleEntityNotFound(_0x5e9077,null))[_0x1bc7('0x13')](function(_0x1dba15){if(_0x1dba15){_0x136fe9[_0x1bc7('0x67')][_0x1bc7('0x6e')]=_0x1dba15['id'];return db['Disposition']['create'](_0x136fe9[_0x1bc7('0x67')]);}})['then'](respondWithResult(_0x5e9077,null))['catch'](handleError(_0x5e9077,null));};exports[_0x1bc7('0x6f')]=function(_0x42a81e,_0x4afd86){var _0x2646a1={'raw':![],'where':{}};var _0x5a833c={};var _0x321348={'count':0x0,'rows':[]};return db[_0x1bc7('0x49')][_0x1bc7('0x70')]({'where':{'id':_0x42a81e[_0x1bc7('0x60')]['id']}})['then'](handleEntityNotFound(_0x4afd86,null))['then'](function(_0x206d21){if(_0x206d21){_0x5a833c['model']=_[_0x1bc7('0x4e')](db[_0x1bc7('0x71')][_0x1bc7('0x4a')]);_0x5a833c['query']=_[_0x1bc7('0x4e')](_0x42a81e[_0x1bc7('0x51')]);_0x5a833c[_0x1bc7('0x4f')]=_[_0x1bc7('0x50')](_0x5a833c[_0x1bc7('0x4d')],_0x5a833c[_0x1bc7('0x51')]);_0x2646a1[_0x1bc7('0x53')]=_[_0x1bc7('0x50')](_0x5a833c['model'],qs[_0x1bc7('0x52')](_0x42a81e[_0x1bc7('0x51')][_0x1bc7('0x52')]));_0x2646a1['attributes']=_0x2646a1['attributes'][_0x1bc7('0x63')]?_0x2646a1[_0x1bc7('0x53')]:_0x5a833c['model'];if(!_0x42a81e[_0x1bc7('0x51')][_0x1bc7('0x54')](_0x1bc7('0x55'))){_0x2646a1[_0x1bc7('0x24')]=qs[_0x1bc7('0x24')](_0x42a81e[_0x1bc7('0x51')][_0x1bc7('0x24')]);_0x2646a1[_0x1bc7('0x22')]=qs[_0x1bc7('0x22')](_0x42a81e[_0x1bc7('0x51')][_0x1bc7('0x22')]);}_0x2646a1['order']=qs[_0x1bc7('0x57')](_0x42a81e[_0x1bc7('0x51')]['sort']);_0x2646a1[_0x1bc7('0x5a')]=qs[_0x1bc7('0x4f')](_['pick'](_0x42a81e[_0x1bc7('0x51')],_0x5a833c[_0x1bc7('0x4f')]));_0x2646a1[_0x1bc7('0x5a')]['MailAccountId']=_0x206d21['id'];if(_0x42a81e[_0x1bc7('0x51')][_0x1bc7('0x59')]){_0x2646a1[_0x1bc7('0x5a')]=_['merge'](_0x2646a1[_0x1bc7('0x5a')],{'$or':_[_0x1bc7('0x48')](_0x2646a1['attributes'],function(_0x40048a){var _0x284172={};_0x284172[_0x40048a]={'$like':'%'+_0x42a81e[_0x1bc7('0x51')]['filter']+'%'};return _0x284172;})});}_0x2646a1=_[_0x1bc7('0x5b')]({},_0x2646a1,_0x42a81e['options']);return db[_0x1bc7('0x71')][_0x1bc7('0x25')]({'where':_0x2646a1[_0x1bc7('0x5a')]})[_0x1bc7('0x13')](function(_0x4bc142){_0x321348[_0x1bc7('0x25')]=_0x4bc142;if(_0x42a81e[_0x1bc7('0x51')][_0x1bc7('0x64')]){_0x2646a1['include']=[{'all':!![]}];}return db[_0x1bc7('0x71')]['findAll'](_0x2646a1);})[_0x1bc7('0x13')](function(_0x41b699){_0x321348[_0x1bc7('0x72')]=_0x41b699;return _0x321348;});}})[_0x1bc7('0x13')](respondWithFilteredResult(_0x4afd86,_0x2646a1))['catch'](handleError(_0x4afd86,null));};exports[_0x1bc7('0x73')]=function(_0x1766bf,_0x610e76){return db[_0x1bc7('0x49')][_0x1bc7('0x66')]({'where':{'id':_0x1766bf[_0x1bc7('0x60')]['id']}})['then'](handleEntityNotFound(_0x610e76,null))[_0x1bc7('0x13')](function(_0x4987b1){if(_0x4987b1){return _0x4987b1['removeDispositions'](_0x1766bf[_0x1bc7('0x51')]['ids']);}})[_0x1bc7('0x13')](respondWithStatusCode(_0x610e76,null))[_0x1bc7('0x1e')](handleError(_0x610e76,null));};exports[_0x1bc7('0x74')]=function(_0x309af0,_0x54691a){if(_0x309af0[_0x1bc7('0x67')]['id']){delete _0x309af0[_0x1bc7('0x67')]['id'];}return db[_0x1bc7('0x49')][_0x1bc7('0x66')]({'where':{'id':_0x309af0[_0x1bc7('0x60')]['id']}})[_0x1bc7('0x13')](handleEntityNotFound(_0x54691a,null))[_0x1bc7('0x13')](function(_0x3fec11){if(_0x3fec11){_0x309af0[_0x1bc7('0x67')][_0x1bc7('0x6e')]=_0x3fec11['id'];return db[_0x1bc7('0x75')]['create'](_0x309af0[_0x1bc7('0x67')]);}})[_0x1bc7('0x13')](respondWithResult(_0x54691a,null))['catch'](handleError(_0x54691a,null));};exports[_0x1bc7('0x76')]=function(_0x52cce9,_0x2cde06){var _0x1924ad={'raw':![],'where':{}};var _0x448a71={};var _0x218dd7={'count':0x0,'rows':[]};return db['MailAccount'][_0x1bc7('0x70')]({'where':{'id':_0x52cce9[_0x1bc7('0x60')]['id']}})[_0x1bc7('0x13')](handleEntityNotFound(_0x2cde06,null))[_0x1bc7('0x13')](function(_0x520215){if(_0x520215){_0x448a71[_0x1bc7('0x4d')]=_['keys'](db[_0x1bc7('0x75')]['rawAttributes']);_0x448a71['query']=_[_0x1bc7('0x4e')](_0x52cce9['query']);_0x448a71[_0x1bc7('0x4f')]=_[_0x1bc7('0x50')](_0x448a71[_0x1bc7('0x4d')],_0x448a71['query']);_0x1924ad[_0x1bc7('0x53')]=_[_0x1bc7('0x50')](_0x448a71['model'],qs['fields'](_0x52cce9['query']['fields']));_0x1924ad[_0x1bc7('0x53')]=_0x1924ad[_0x1bc7('0x53')][_0x1bc7('0x63')]?_0x1924ad['attributes']:_0x448a71['model'];if(!_0x52cce9['query'][_0x1bc7('0x54')](_0x1bc7('0x55'))){_0x1924ad['limit']=qs[_0x1bc7('0x24')](_0x52cce9['query'][_0x1bc7('0x24')]);_0x1924ad[_0x1bc7('0x22')]=qs[_0x1bc7('0x22')](_0x52cce9[_0x1bc7('0x51')]['offset']);}_0x1924ad[_0x1bc7('0x56')]=qs[_0x1bc7('0x57')](_0x52cce9[_0x1bc7('0x51')][_0x1bc7('0x57')]);_0x1924ad[_0x1bc7('0x5a')]=qs[_0x1bc7('0x4f')](_[_0x1bc7('0x58')](_0x52cce9[_0x1bc7('0x51')],_0x448a71[_0x1bc7('0x4f')]));_0x1924ad[_0x1bc7('0x5a')]['MailAccountId']=_0x520215['id'];if(_0x52cce9[_0x1bc7('0x51')][_0x1bc7('0x59')]){_0x1924ad[_0x1bc7('0x5a')]=_[_0x1bc7('0x5b')](_0x1924ad[_0x1bc7('0x5a')],{'$or':_[_0x1bc7('0x48')](_0x1924ad[_0x1bc7('0x53')],function(_0x4a594a){var _0x18401f={};_0x18401f[_0x4a594a]={'$like':'%'+_0x52cce9['query'][_0x1bc7('0x59')]+'%'};return _0x18401f;})});}_0x1924ad=_['merge']({},_0x1924ad,_0x52cce9['options']);return db[_0x1bc7('0x75')][_0x1bc7('0x25')]({'where':_0x1924ad[_0x1bc7('0x5a')]})[_0x1bc7('0x13')](function(_0x4c04fd){_0x218dd7[_0x1bc7('0x25')]=_0x4c04fd;if(_0x52cce9[_0x1bc7('0x51')][_0x1bc7('0x64')]){_0x1924ad[_0x1bc7('0x5d')]=[{'all':!![]}];}return db[_0x1bc7('0x75')]['findAll'](_0x1924ad);})[_0x1bc7('0x13')](function(_0x1b3388){_0x218dd7[_0x1bc7('0x72')]=_0x1b3388;return _0x218dd7;});}})['then'](respondWithFilteredResult(_0x2cde06,_0x1924ad))[_0x1bc7('0x1e')](handleError(_0x2cde06,null));};exports['removeAnswers']=function(_0x2cf134,_0x4d0093){return db[_0x1bc7('0x49')][_0x1bc7('0x66')]({'where':{'id':_0x2cf134[_0x1bc7('0x60')]['id']}})[_0x1bc7('0x13')](handleEntityNotFound(_0x4d0093,null))[_0x1bc7('0x13')](function(_0x544d41){if(_0x544d41){return _0x544d41[_0x1bc7('0x77')](_0x2cf134[_0x1bc7('0x51')][_0x1bc7('0x78')]);}})['then'](respondWithStatusCode(_0x4d0093,null))[_0x1bc7('0x1e')](handleError(_0x4d0093,null));};exports[_0x1bc7('0x79')]=function(_0x2d8bd7,_0x4ce748){var _0x68c6ea={'name':_0x2d8bd7['body']['name'],'key':_0x2d8bd7['body']['key'],'provider':_0x2d8bd7['body']['provider']==='custom'?null:_0x2d8bd7[_0x1bc7('0x67')][_0x1bc7('0x68')],'email':_0x2d8bd7[_0x1bc7('0x67')][_0x1bc7('0x7a')],'ListId':_0x2d8bd7['body'][_0x1bc7('0x7b')],'active':!_[_0x1bc7('0x7c')](_0x2d8bd7['body'][_0x1bc7('0x7d')])?_0x2d8bd7[_0x1bc7('0x67')]['active']:!![],'description':_0x2d8bd7[_0x1bc7('0x67')][_0x1bc7('0x7e')]||null};var _0x3e9805=getAuthenticationOptions(_0x68c6ea[_0x1bc7('0x68')],_0x2d8bd7['body']);_0x68c6ea[_0x1bc7('0x44')]=_0x3e9805[_0x1bc7('0x44')];_0x68c6ea[_0x1bc7('0x61')]=_0x3e9805[_0x1bc7('0x61')];return db['MailAccount'][_0x1bc7('0x79')](_0x68c6ea,{'include':[{'model':db['MailServerOut'],'as':_0x1bc7('0x61')},{'model':db['MailServerIn'],'as':'Imap'}]})[_0x1bc7('0x13')](function(_0x3db095){var _0x5af9a3=_0x2d8bd7[_0x1bc7('0x3b')][_0x1bc7('0x29')]({'plain':!![]});if(!_0x5af9a3)throw new Error(_0x1bc7('0x7f'));if(_0x5af9a3[_0x1bc7('0x80')]==='user'){var _0x23da49=_0x3db095['get']({'plain':!![]});return db['UserProfileSection'][_0x1bc7('0x66')]({'where':{'name':_0x1bc7('0x2a'),'userProfileId':_0x5af9a3[_0x1bc7('0x81')]},'raw':!![]})[_0x1bc7('0x13')](function(_0x5db368){if(_0x5db368&&_0x5db368[_0x1bc7('0x82')]===0x0){return db[_0x1bc7('0x2b')][_0x1bc7('0x79')]({'name':_0x23da49[_0x1bc7('0x2d')],'resourceId':_0x23da49['id'],'type':_0x5db368[_0x1bc7('0x2d')],'sectionId':_0x5db368['id']},{})['then'](function(){return _0x3db095;});}else{return _0x3db095;}})[_0x1bc7('0x1e')](function(_0x251443){logger[_0x1bc7('0x19')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x251443);throw _0x251443;});}return _0x3db095;})[_0x1bc7('0x13')](respondWithResult(_0x4ce748,0xc9))[_0x1bc7('0x1e')](handleError(_0x4ce748,null));};exports['getImap']=function(_0x16408d,_0x1bc790){return db[_0x1bc7('0x49')][_0x1bc7('0x70')]({'where':{'id':_0x16408d['params']['id']}})[_0x1bc7('0x13')](handleEntityNotFound(_0x1bc790,null))['then'](function(_0x1c0294){if(_0x1c0294){return _0x1c0294[_0x1bc7('0x83')]();}return null;})[_0x1bc7('0x13')](respondWithResult(_0x1bc790,null))['catch'](handleError(_0x1bc790,null));};exports[_0x1bc7('0x84')]=function(_0x366ff9,_0x542a2f){if(_0x366ff9[_0x1bc7('0x67')]['id']){delete _0x366ff9[_0x1bc7('0x67')]['id'];}return db[_0x1bc7('0x49')][_0x1bc7('0x66')]({'where':{'id':_0x366ff9['params']['id']}})['then'](handleEntityNotFound(_0x542a2f,null))[_0x1bc7('0x13')](function(_0xc42ff1){if(_0xc42ff1){_0x366ff9[_0x1bc7('0x67')][_0x1bc7('0x6e')]=_0xc42ff1['id'];return db[_0x1bc7('0x45')][_0x1bc7('0x79')](_0x366ff9[_0x1bc7('0x67')]);}})[_0x1bc7('0x13')](respondWithResult(_0x542a2f,null))['catch'](handleError(_0x542a2f,null));};exports['removeImap']=function(_0x5bff1a,_0x27eff8){return db['MailAccount'][_0x1bc7('0x70')]({'where':{'id':_0x5bff1a[_0x1bc7('0x60')]['id']}})[_0x1bc7('0x13')](handleEntityNotFound(_0x27eff8,null))['then'](function(_0x171eba){if(_0x171eba){return _0x171eba[_0x1bc7('0x85')](null);}return null;})['then'](respondWithStatusCode(_0x27eff8,null))[_0x1bc7('0x1e')](handleError(_0x27eff8,null));};exports[_0x1bc7('0x86')]=function(_0x422a43,_0xbb6ea4){return db['MailAccount'][_0x1bc7('0x70')]({'where':{'id':_0x422a43['params']['id']}})[_0x1bc7('0x13')](handleEntityNotFound(_0xbb6ea4,null))[_0x1bc7('0x13')](function(_0x3bd5d6){if(_0x3bd5d6){return _0x3bd5d6[_0x1bc7('0x86')]();}return null;})[_0x1bc7('0x13')](respondWithResult(_0xbb6ea4,null))[_0x1bc7('0x1e')](handleError(_0xbb6ea4,null));};exports[_0x1bc7('0x87')]=function(_0x33ad6b,_0xd6347){if(_0x33ad6b['body']['id']){delete _0x33ad6b[_0x1bc7('0x67')]['id'];}return db[_0x1bc7('0x49')][_0x1bc7('0x66')]({'where':{'id':_0x33ad6b[_0x1bc7('0x60')]['id']}})[_0x1bc7('0x13')](handleEntityNotFound(_0xd6347,null))[_0x1bc7('0x13')](function(_0x162f7c){if(_0x162f7c){_0x33ad6b['body'][_0x1bc7('0x6e')]=_0x162f7c['id'];return db[_0x1bc7('0x46')][_0x1bc7('0x79')](_0x33ad6b['body']);}})[_0x1bc7('0x13')](respondWithResult(_0xd6347,null))[_0x1bc7('0x1e')](handleError(_0xd6347,null));};exports[_0x1bc7('0x88')]=function(_0x401a51,_0x4b00d6){return db[_0x1bc7('0x49')][_0x1bc7('0x70')]({'where':{'id':_0x401a51[_0x1bc7('0x60')]['id']}})[_0x1bc7('0x13')](handleEntityNotFound(_0x4b00d6,null))['then'](function(_0x3015fa){if(_0x3015fa){return _0x3015fa['setSmtp'](null);}return null;})['then'](respondWithStatusCode(_0x4b00d6,null))[_0x1bc7('0x1e')](handleError(_0x4b00d6,null));};exports['addInteraction']=function(_0x278a43,_0x3da6c3){return db[_0x1bc7('0x89')][_0x1bc7('0x66')]({'where':{'id':_0x278a43['params']['id']}})[_0x1bc7('0x13')](handleEntityNotFound(_0x3da6c3,null))[_0x1bc7('0x13')](function(_0x43037c){if(_0x43037c){return _0x43037c[_0x1bc7('0x8a')](_0x278a43[_0x1bc7('0x67')][_0x1bc7('0x78')],_['omit'](_0x278a43[_0x1bc7('0x67')],[_0x1bc7('0x78'),'id'])||{});}})[_0x1bc7('0x13')](respondWithResult(_0x3da6c3,null))[_0x1bc7('0x1e')](handleError(_0x3da6c3,null));};exports[_0x1bc7('0x8b')]=function(_0x5bae9f,_0x26ba9b){var _0x364cdd={'raw':![],'where':{}};var _0x2b052f={};var _0x122046={'count':0x0,'rows':[]};return db['MailAccount'][_0x1bc7('0x70')]({'where':{'id':_0x5bae9f['params']['id']}})['then'](handleEntityNotFound(_0x26ba9b,null))[_0x1bc7('0x13')](function(_0x10ae31){if(_0x10ae31){_0x2b052f['model']=_[_0x1bc7('0x4e')](db[_0x1bc7('0x89')][_0x1bc7('0x4a')]);_0x2b052f['query']=_[_0x1bc7('0x4e')](_0x5bae9f[_0x1bc7('0x51')]);_0x2b052f[_0x1bc7('0x4f')]=_[_0x1bc7('0x50')](_0x2b052f['model'],_0x2b052f['query']);_0x364cdd['attributes']=_['intersection'](_0x2b052f[_0x1bc7('0x4d')],qs['fields'](_0x5bae9f[_0x1bc7('0x51')][_0x1bc7('0x52')]));_0x364cdd[_0x1bc7('0x53')]=_0x364cdd[_0x1bc7('0x53')][_0x1bc7('0x63')]?_0x364cdd[_0x1bc7('0x53')]:_0x2b052f['model'];if(!_0x5bae9f[_0x1bc7('0x51')][_0x1bc7('0x54')](_0x1bc7('0x55'))){_0x364cdd[_0x1bc7('0x24')]=qs[_0x1bc7('0x24')](_0x5bae9f[_0x1bc7('0x51')]['limit']);_0x364cdd[_0x1bc7('0x22')]=qs[_0x1bc7('0x22')](_0x5bae9f[_0x1bc7('0x51')][_0x1bc7('0x22')]);}_0x364cdd[_0x1bc7('0x56')]=qs[_0x1bc7('0x57')](_0x5bae9f[_0x1bc7('0x51')][_0x1bc7('0x57')]);_0x364cdd['where']=qs[_0x1bc7('0x4f')](_[_0x1bc7('0x58')](_0x5bae9f[_0x1bc7('0x51')],_0x2b052f['filters']));_0x364cdd[_0x1bc7('0x5a')][_0x1bc7('0x6e')]=_0x10ae31['id'];if(_0x5bae9f[_0x1bc7('0x51')][_0x1bc7('0x59')]){_0x364cdd[_0x1bc7('0x5a')]=_[_0x1bc7('0x5b')](_0x364cdd['where'],{'$or':_[_0x1bc7('0x48')](_0x364cdd['attributes'],function(_0x16882e){var _0x1a96fc={};_0x1a96fc[_0x16882e]={'$like':'%'+_0x5bae9f['query'][_0x1bc7('0x59')]+'%'};return _0x1a96fc;})});}_0x364cdd=_[_0x1bc7('0x5b')]({},_0x364cdd,_0x5bae9f[_0x1bc7('0x65')]);return db[_0x1bc7('0x89')][_0x1bc7('0x25')]({'where':_0x364cdd['where']})[_0x1bc7('0x13')](function(_0x2c3104){_0x122046['count']=_0x2c3104;if(_0x5bae9f[_0x1bc7('0x51')][_0x1bc7('0x64')]){_0x364cdd[_0x1bc7('0x5d')]=[{'model':db[_0x1bc7('0x8c')],'as':'Contact','required':![]},{'model':db['User'],'as':_0x1bc7('0x8d'),'attributes':['name','fullname','internal'],'required':![]},{'model':db['Tag'],'as':_0x1bc7('0x8e'),'attributes':['id',_0x1bc7('0x2d'),_0x1bc7('0x8f')],'where':_0x5bae9f[_0x1bc7('0x51')][_0x1bc7('0x90')]?{'id':_0x5bae9f['query']['tag']}:undefined,'required':_0x5bae9f['query'][_0x1bc7('0x90')]?!![]:![]}];}return db['MailInteraction'][_0x1bc7('0x5e')](_0x364cdd);})[_0x1bc7('0x13')](function(_0x3d95b4){_0x122046['rows']=_0x3d95b4;return _0x122046;});}})[_0x1bc7('0x13')](respondWithFilteredResult(_0x26ba9b,_0x364cdd))[_0x1bc7('0x1e')](handleError(_0x26ba9b,null));};exports[_0x1bc7('0x91')]=function addApplications(_0x3fec69,_0xb5dad6){var _0x54fba0=_0x3fec69['params']['id'];var _0x3784f3=_0x3fec69['body'];var _0xb9a84c=0xc8;var _0x1ecca9=null;return db['sequelize'][_0x1bc7('0x92')]({'isolationLevel':db[_0x1bc7('0x93')][_0x1bc7('0x94')][_0x1bc7('0x95')][_0x1bc7('0x96')]},function(_0x363d3f){return db[_0x1bc7('0x49')]['findOne']({'where':{'id':_0x54fba0},'transaction':_0x363d3f})['then'](function(_0xaf7652){if(_0xaf7652){return db[_0x1bc7('0x97')][_0x1bc7('0x28')]({'where':{'MailAccountId':_0x54fba0},'transaction':_0x363d3f})[_0x1bc7('0x13')](function(){var _0x1d2750=_[_0x1bc7('0x48')](_0x3784f3,function(_0xe256a7){_0xe256a7[_0x1bc7('0x6e')]=_0x54fba0;return _0xe256a7;});return db['MailApplication']['bulkCreate'](_0x1d2750,{'transaction':_0x363d3f});});}else{_0xb9a84c=0x194;_0x1ecca9=[];}});})[_0x1bc7('0x13')](function(){if(_0xb9a84c!==0x194){return db[_0x1bc7('0x97')][_0x1bc7('0x98')]({'where':{'MailAccountId':_0x54fba0},'order':_0x1bc7('0x99')})[_0x1bc7('0x13')](function(_0x5cb048){_0x1ecca9=_0x5cb048;});}})['catch'](function(_0x151495){_0xb9a84c=0x1f4;logger['error'](_0x151495[_0x1bc7('0x9a')]);if(_0x151495['name']){delete _0x151495[_0x1bc7('0x2d')];}_0x1ecca9=_0x151495;})[_0x1bc7('0x9b')](function(){if(_0x1ecca9===null){_0xb5dad6[_0x1bc7('0x2c')](_0xb9a84c);}else{if(_0xb9a84c===0x1f4){_0xb5dad6[_0x1bc7('0x1f')](_0xb9a84c)[_0x1bc7('0x2e')](_0x1ecca9);}else{_0xb5dad6[_0x1bc7('0x1f')](_0xb9a84c)[_0x1bc7('0x21')](_0x1ecca9);}}});};exports[_0x1bc7('0x9c')]=function(_0x1e392b,_0x5f2b19){var _0x51197f={};var _0x53455d={};var _0x17b83c;var _0x652584;return db[_0x1bc7('0x49')][_0x1bc7('0x70')]({'where':{'id':_0x1e392b[_0x1bc7('0x60')]['id']}})[_0x1bc7('0x13')](handleEntityNotFound(_0x5f2b19,null))[_0x1bc7('0x13')](function(_0x44501e){if(_0x44501e){_0x17b83c=_0x44501e;_0x53455d[_0x1bc7('0x4d')]=_[_0x1bc7('0x4e')](db[_0x1bc7('0x97')]['rawAttributes']);_0x53455d[_0x1bc7('0x51')]=_[_0x1bc7('0x4e')](_0x1e392b[_0x1bc7('0x51')]);_0x53455d[_0x1bc7('0x4f')]=_[_0x1bc7('0x50')](_0x53455d[_0x1bc7('0x4d')],_0x53455d[_0x1bc7('0x51')]);_0x51197f['attributes']=_[_0x1bc7('0x50')](_0x53455d[_0x1bc7('0x4d')],qs[_0x1bc7('0x52')](_0x1e392b['query']['fields']));_0x51197f[_0x1bc7('0x53')]=_0x51197f[_0x1bc7('0x53')][_0x1bc7('0x63')]?_0x51197f[_0x1bc7('0x53')]:_0x53455d['model'];_0x51197f[_0x1bc7('0x56')]=qs['sort'](_0x1e392b[_0x1bc7('0x51')]['sort']);_0x51197f[_0x1bc7('0x5a')]=qs[_0x1bc7('0x4f')](_[_0x1bc7('0x58')](_0x1e392b[_0x1bc7('0x51')],_0x53455d['filters']));if(_0x1e392b['query'][_0x1bc7('0x59')]){_0x51197f[_0x1bc7('0x5a')]=_[_0x1bc7('0x5b')](_0x51197f[_0x1bc7('0x5a')],{'$or':_[_0x1bc7('0x48')](_0x51197f['attributes'],function(_0x248970){var _0x200fa5={};_0x200fa5[_0x248970]={'$like':'%'+_0x1e392b[_0x1bc7('0x51')][_0x1bc7('0x59')]+'%'};return _0x200fa5;})});}_0x51197f=_[_0x1bc7('0x5b')]({},_0x51197f,_0x1e392b[_0x1bc7('0x65')]);return _0x17b83c[_0x1bc7('0x9c')](_0x51197f);}})[_0x1bc7('0x13')](function(_0xc364b3){if(_0xc364b3){_0x652584=_0xc364b3[_0x1bc7('0x63')];if(!_0x1e392b[_0x1bc7('0x51')][_0x1bc7('0x54')]('nolimit')){_0x51197f[_0x1bc7('0x24')]=qs[_0x1bc7('0x24')](_0x1e392b['query'][_0x1bc7('0x24')]);_0x51197f[_0x1bc7('0x22')]=qs[_0x1bc7('0x22')](_0x1e392b[_0x1bc7('0x51')][_0x1bc7('0x22')]);}return _0x17b83c[_0x1bc7('0x9c')](_0x51197f);}})[_0x1bc7('0x13')](function(_0x313614){if(_0x313614){return _0x313614?{'count':_0x652584,'rows':_0x313614}:null;}})[_0x1bc7('0x13')](respondWithResult(_0x5f2b19,null))['catch'](handleError(_0x5f2b19,null));};exports[_0x1bc7('0x9d')]=function(_0x828b4e,_0x17e7b9){var _0x3836f6={'raw':!![],'where':{}};var _0x5a61e9={};var _0x1d2118={'count':0x0,'rows':[]};return db[_0x1bc7('0x49')][_0x1bc7('0x70')]({'where':{'id':_0x828b4e[_0x1bc7('0x60')]['id']}})[_0x1bc7('0x13')](handleEntityNotFound(_0x17e7b9,null))['then'](function(_0xcc8a6){if(_0xcc8a6){_0x5a61e9[_0x1bc7('0x4d')]=_[_0x1bc7('0x4e')](db[_0x1bc7('0x9e')][_0x1bc7('0x4a')]);_0x5a61e9[_0x1bc7('0x51')]=_['keys'](_0x828b4e[_0x1bc7('0x51')]);_0x5a61e9[_0x1bc7('0x4f')]=_[_0x1bc7('0x50')](_0x5a61e9['model'],_0x5a61e9[_0x1bc7('0x51')]);_0x3836f6[_0x1bc7('0x53')]=_[_0x1bc7('0x50')](_0x5a61e9[_0x1bc7('0x4d')],qs[_0x1bc7('0x52')](_0x828b4e[_0x1bc7('0x51')][_0x1bc7('0x52')]));_0x3836f6['attributes']=_0x3836f6[_0x1bc7('0x53')][_0x1bc7('0x63')]?_0x3836f6[_0x1bc7('0x53')]:_0x5a61e9[_0x1bc7('0x4d')];if(!_0x828b4e[_0x1bc7('0x51')][_0x1bc7('0x54')](_0x1bc7('0x55'))){_0x3836f6[_0x1bc7('0x24')]=qs['limit'](_0x828b4e[_0x1bc7('0x51')][_0x1bc7('0x24')]);_0x3836f6[_0x1bc7('0x22')]=qs['offset'](_0x828b4e[_0x1bc7('0x51')][_0x1bc7('0x22')]);}_0x3836f6['order']=qs[_0x1bc7('0x57')](_0x828b4e[_0x1bc7('0x51')]['sort']);_0x3836f6[_0x1bc7('0x5a')]=qs['filters'](_[_0x1bc7('0x58')](_0x828b4e['query'],_0x5a61e9['filters']));_0x3836f6[_0x1bc7('0x5a')]['MailAccountId']=_0xcc8a6['id'];if(_0x828b4e['query'][_0x1bc7('0x59')]){_0x3836f6[_0x1bc7('0x5a')]=_[_0x1bc7('0x5b')](_0x3836f6['where'],{'$or':_[_0x1bc7('0x48')](_0x3836f6[_0x1bc7('0x53')],function(_0x31adff){var _0xc5b1cb={};_0xc5b1cb[_0x31adff]={'$like':'%'+_0x828b4e[_0x1bc7('0x51')][_0x1bc7('0x59')]+'%'};return _0xc5b1cb;})});}if(_0x828b4e[_0x1bc7('0x51')][_0x1bc7('0x9f')]){var _0x90e29e=_0x828b4e[_0x1bc7('0x51')]['$gte']['split'](',');var _0x48846f={};_0x48846f[_0x90e29e[0x0]]={'$gte':moment(_0x90e29e[0x1])[_0x1bc7('0xa0')]('YYYY-MM-DD\x20HH:mm:ss')};_0x3836f6['where']=_['merge'](_0x3836f6[_0x1bc7('0x5a')],_0x48846f);}_0x3836f6=_['merge']({},_0x3836f6,_0x828b4e[_0x1bc7('0x65')]);return db[_0x1bc7('0x9e')][_0x1bc7('0x25')]({'where':_0x3836f6[_0x1bc7('0x5a')]})[_0x1bc7('0x13')](function(_0x28e83c){_0x1d2118[_0x1bc7('0x25')]=_0x28e83c;if(_0x828b4e[_0x1bc7('0x51')][_0x1bc7('0x64')]){_0x3836f6[_0x1bc7('0x5d')]=[{'all':!![]}];}return db['MailMessage'][_0x1bc7('0x5e')](_0x3836f6);})[_0x1bc7('0x13')](function(_0x446b10){if(_0x828b4e[_0x1bc7('0x51')][_0x1bc7('0xa1')]==='true'){for(var _0x27bccd=0x0;_0x27bccd<_0x446b10['length'];_0x27bccd++){_0x446b10[_0x27bccd][_0x1bc7('0x67')]=juice(_0x446b10[_0x27bccd][_0x1bc7('0x67')]);}}_0x1d2118[_0x1bc7('0x72')]=_0x446b10;return _0x1d2118;});}})[_0x1bc7('0x13')](respondWithFilteredResult(_0x17e7b9,_0x3836f6))['catch'](handleError(_0x17e7b9,null));};exports[_0x1bc7('0x2e')]=function(_0x2111ba,_0x506bbc){var _0x288b7b,_0x39ff52={},_0x2e020e;if(_0x2111ba['body']['to']){_0x2e020e=_0x2111ba[_0x1bc7('0x67')]['to'][_0x1bc7('0xa2')](',')[0x0];}return db[_0x1bc7('0x49')][_0x1bc7('0x66')]({'where':{'id':_0x2111ba['params']['id']},'include':[{'model':db['CmList'],'as':'List','include':[{'model':db[_0x1bc7('0x8c')],'as':'Contacts','where':{'email':_0x2e020e},'limit':0x1,'order':[[_0x1bc7('0xa3'),'DESC']]}]},{'model':db[_0x1bc7('0x46')],'as':'Smtp','raw':!![],'include':[{'model':db['CloudProvider'],'as':'CloudProvider','raw':!![]}]}]})[_0x1bc7('0x13')](handleEntityNotFound(_0x506bbc,null))[_0x1bc7('0x13')](function(_0x2bb7ec){if(!_0x2bb7ec)return;_0x288b7b=_0x2bb7ec;if(!_0x2bb7ec[_0x1bc7('0x61')])throw new Error(_0x1bc7('0xa4'));if(_[_0x1bc7('0x7c')](_0x2111ba[_0x1bc7('0x67')][_0x1bc7('0xa5')])){_0x2111ba['body'][_0x1bc7('0xa5')]=util[_0x1bc7('0xa0')](_0x1bc7('0xa6'),_0x2bb7ec[_0x1bc7('0x2d')],_0x2bb7ec[_0x1bc7('0x7a')]||_0x2bb7ec[_0x1bc7('0x61')][_0x1bc7('0x3b')]);}if(_0x2111ba[_0x1bc7('0x67')][_0x1bc7('0xa7')]&&_0x2111ba[_0x1bc7('0x67')][_0x1bc7('0xa7')]['length']){for(var _0x1be1b7=0x0;_0x1be1b7<_0x2111ba[_0x1bc7('0x67')][_0x1bc7('0xa7')][_0x1bc7('0x63')];_0x1be1b7+=0x1){_0x2111ba[_0x1bc7('0x67')][_0x1bc7('0xa7')][_0x1be1b7]={'filename':_0x2111ba[_0x1bc7('0x67')][_0x1bc7('0xa7')][_0x1be1b7][_0x1bc7('0x2d')],'path':path['join'](config[_0x1bc7('0xa8')],'server/files/attachments',_0x2111ba[_0x1bc7('0x67')][_0x1bc7('0xa7')][_0x1be1b7][_0x1bc7('0xa9')])};}}var _0x13fcd1=_0x2bb7ec[_0x1bc7('0xaa')]();return respondWithRpcPromise(_0x1bc7('0xab'),_0x1bc7('0xac'),{'account':_0x13fcd1,'message':_0x2111ba[_0x1bc7('0x67')]});})['then'](function(_0x55f22d){if(!_0x55f22d)return;_0x39ff52=_0x55f22d;if(!_0x288b7b[_0x1bc7('0xad')])throw new Error(_0x1bc7('0xae'));if(_0x288b7b[_0x1bc7('0xad')][_0x1bc7('0xaf')][_0x1bc7('0x63')])return _0x288b7b[_0x1bc7('0xad')]['Contacts'][0x0];return db['CmContact'][_0x1bc7('0x79')](_[_0x1bc7('0xb')](_0x2111ba['body'],{'firstName':_0x2111ba['body']['to'],'email':_0x2111ba[_0x1bc7('0x67')]['to'],'phone':_0x2111ba['body']['to'],'ListId':_0x288b7b[_0x1bc7('0x7b')]}));})[_0x1bc7('0x13')](function(_0xba2963){if(!_0xba2963)return;var _0x320e97={'UserId':_0x2111ba[_0x1bc7('0x3b')]['id'],'ContactId':_0xba2963['id'],'MailAccountId':_0x288b7b['id'],'inReplyTo':_0x39ff52['messageId'],'to':_0x2111ba['body'][_0x1bc7('0xa5')],'cc':_0x2111ba[_0x1bc7('0x67')]['cc'],'subject':_0x2111ba[_0x1bc7('0x67')][_0x1bc7('0xb0')],'attach':_0x2111ba[_0x1bc7('0x67')]['attach'],'firstMsgDirection':_0x1bc7('0xb1'),'lastMsgAt':moment()[_0x1bc7('0xa0')](_0x1bc7('0xb2')),'lastMsgDirection':_0x1bc7('0xb1'),'Messages':[_['merge'](_0x2111ba['body'],{'messageId':_0x39ff52[_0x1bc7('0xb3')],'sentAt':moment()[_0x1bc7('0xa0')](_0x1bc7('0xb2')),'read':!![],'MailAccountId':_0x288b7b['id'],'UserId':_0x2111ba[_0x1bc7('0x3b')]['id'],'ContactId':_0xba2963['id']})]};if(_0x2111ba[_0x1bc7('0x67')]['Interaction']){_0x320e97=_[_0x1bc7('0x5b')](_0x320e97,_0x2111ba[_0x1bc7('0x67')][_0x1bc7('0xb4')]);}return db[_0x1bc7('0x89')][_0x1bc7('0x79')](_0x320e97,{'include':[{'model':db[_0x1bc7('0x9e')],'as':'Messages'}]});})[_0x1bc7('0x13')](respondWithResult(_0x506bbc,null))['catch'](handleError(_0x506bbc,null));};exports[_0x1bc7('0xb5')]=function(_0x484f08,_0x1e4112){return db[_0x1bc7('0x49')][_0x1bc7('0x66')]({'where':{'id':_0x484f08[_0x1bc7('0x60')]['id']},'include':[{'model':db[_0x1bc7('0x46')],'as':_0x1bc7('0x61'),'raw':!![],'include':[{'model':db[_0x1bc7('0xb6')],'as':'CloudProvider','raw':!![]}]}]})[_0x1bc7('0x13')](handleEntityNotFound(_0x1e4112,null))[_0x1bc7('0x13')](function(_0x505000){if(!_0x505000[_0x1bc7('0x61')])return;var _0x2a6eff=_0x505000['getSmtpOptions']();return respondWithRpcPromise(_0x1bc7('0xb7'),_0x1bc7('0xb5'),{'account':_0x2a6eff});})[_0x1bc7('0x13')](respondWithResult(_0x1e4112,null))[_0x1bc7('0x1e')](handleError(_0x1e4112,null));};exports['destroy']=function(_0x48a75d,_0x59e87f){return db[_0x1bc7('0x49')][_0x1bc7('0x66')]({'where':{'id':_0x48a75d[_0x1bc7('0x60')]['id']}})[_0x1bc7('0x13')](handleEntityNotFound(_0x59e87f,null))['then'](function(_0x8ee909){if(_0x8ee909&&_0x8ee909[_0x1bc7('0x6c')]){throw new db[(_0x1bc7('0xb8'))]['ValidationError'](_0x1bc7('0xb9'));}return _0x8ee909;})['then'](removeEntity(_0x59e87f,null))[_0x1bc7('0x1e')](handleError(_0x59e87f,null));};exports[_0x1bc7('0xba')]=function(_0x45bcaf,_0x5865fb){return db[_0x1bc7('0x49')][_0x1bc7('0x66')]({'where':{'id':_0x45bcaf[_0x1bc7('0x60')]['id']}})['then'](handleEntityNotFound(_0x5865fb,null))[_0x1bc7('0x13')](function(_0x544615){if(_0x544615){return _0x544615[_0x1bc7('0xba')](_0x45bcaf[_0x1bc7('0x67')][_0x1bc7('0x78')],_[_0x1bc7('0xbb')](_0x45bcaf[_0x1bc7('0x67')],[_0x1bc7('0x78'),'id'])||{})[_0x1bc7('0xbc')](function(_0x27062c){for(var _0x418785=0x0;_0x418785<_0x45bcaf['body'][_0x1bc7('0x78')][_0x1bc7('0x63')];_0x418785+=0x1){socket[_0x1bc7('0xbd')](_0x1bc7('0xbe'),{'UserId':Number(_0x45bcaf[_0x1bc7('0x67')][_0x1bc7('0x78')][_0x418785]),'MailAccountId':Number(_0x45bcaf[_0x1bc7('0x60')]['id'])});}return _0x27062c;});}})['then'](respondWithResult(_0x5865fb,null))[_0x1bc7('0x1e')](handleError(_0x5865fb,null));};exports[_0x1bc7('0xbf')]=function(_0x162db9,_0x58b15e){return db[_0x1bc7('0x49')][_0x1bc7('0x66')]({'where':{'id':_0x162db9[_0x1bc7('0x60')]['id']}})['then'](handleEntityNotFound(_0x58b15e,null))[_0x1bc7('0x13')](function(_0x1f7a3d){if(_0x1f7a3d){return _0x1f7a3d[_0x1bc7('0xbf')](_0x162db9[_0x1bc7('0x51')][_0x1bc7('0x78')])['then'](function(){if(_[_0x1bc7('0xc0')](_0x162db9['query']['ids'])){for(var _0x3859c1=0x0;_0x3859c1<_0x162db9[_0x1bc7('0x51')][_0x1bc7('0x78')][_0x1bc7('0x63')];_0x3859c1+=0x1){socket['emit']('userMailAccount:remove',{'UserId':Number(_0x162db9[_0x1bc7('0x51')][_0x1bc7('0x78')][_0x3859c1]),'MailAccountId':Number(_0x162db9['params']['id'])});}}else{socket[_0x1bc7('0xbd')](_0x1bc7('0xc1'),{'UserId':Number(_0x162db9[_0x1bc7('0x51')][_0x1bc7('0x78')]),'MailAccountId':Number(_0x162db9['params']['id'])});}});}})[_0x1bc7('0x13')](respondWithStatusCode(_0x58b15e,null))[_0x1bc7('0x1e')](handleError(_0x58b15e,null));};exports['getAgents']=function(_0x27c753,_0x4c7af3){var _0x2890f5={};var _0xc653e2={};var _0x726d99;var _0x36b538;return db[_0x1bc7('0x49')][_0x1bc7('0x70')]({'where':{'id':_0x27c753[_0x1bc7('0x60')]['id']}})[_0x1bc7('0x13')](handleEntityNotFound(_0x4c7af3,null))[_0x1bc7('0x13')](function(_0x1587b6){if(_0x1587b6){_0x726d99=_0x1587b6;_0xc653e2[_0x1bc7('0x4d')]=_[_0x1bc7('0x4e')](db[_0x1bc7('0xc2')][_0x1bc7('0x4a')]);_0xc653e2[_0x1bc7('0x51')]=_[_0x1bc7('0x4e')](_0x27c753['query']);_0xc653e2[_0x1bc7('0x4f')]=_[_0x1bc7('0x50')](_0xc653e2[_0x1bc7('0x4d')],_0xc653e2[_0x1bc7('0x51')]);_0x2890f5[_0x1bc7('0x53')]=_[_0x1bc7('0x50')](_0xc653e2[_0x1bc7('0x4d')],qs[_0x1bc7('0x52')](_0x27c753[_0x1bc7('0x51')][_0x1bc7('0x52')]));_0x2890f5[_0x1bc7('0x53')]=_0x2890f5[_0x1bc7('0x53')][_0x1bc7('0x63')]?_0x2890f5[_0x1bc7('0x53')]:_0xc653e2[_0x1bc7('0x4d')];_0x2890f5[_0x1bc7('0x56')]=qs[_0x1bc7('0x57')](_0x27c753[_0x1bc7('0x51')][_0x1bc7('0x57')]);_0x2890f5[_0x1bc7('0x5a')]=qs[_0x1bc7('0x4f')](_[_0x1bc7('0x58')](_0x27c753['query'],_0xc653e2[_0x1bc7('0x4f')]));if(_0x27c753[_0x1bc7('0x51')][_0x1bc7('0x59')]){_0x2890f5[_0x1bc7('0x5a')]=_[_0x1bc7('0x5b')](_0x2890f5[_0x1bc7('0x5a')],{'$or':_[_0x1bc7('0x48')](_0x2890f5[_0x1bc7('0x53')],function(_0x796f74){var _0x941261={};_0x941261[_0x796f74]={'$like':'%'+_0x27c753[_0x1bc7('0x51')][_0x1bc7('0x59')]+'%'};return _0x941261;})});}_0x2890f5=_[_0x1bc7('0x5b')]({},_0x2890f5,_0x27c753[_0x1bc7('0x65')]);return _0x726d99[_0x1bc7('0xc3')](_0x2890f5);}})[_0x1bc7('0x13')](function(_0x3a7514){if(_0x3a7514){_0x36b538=_0x3a7514['length'];if(!_0x27c753[_0x1bc7('0x51')]['hasOwnProperty']('nolimit')){_0x2890f5[_0x1bc7('0x24')]=qs['limit'](_0x27c753[_0x1bc7('0x51')][_0x1bc7('0x24')]);_0x2890f5[_0x1bc7('0x22')]=qs[_0x1bc7('0x22')](_0x27c753['query']['offset']);}return _0x726d99[_0x1bc7('0xc3')](_0x2890f5);}})[_0x1bc7('0x13')](function(_0x409a4d){if(_0x409a4d){return _0x409a4d?{'count':_0x36b538,'rows':_0x409a4d}:null;}})[_0x1bc7('0x13')](respondWithResult(_0x4c7af3,null))[_0x1bc7('0x1e')](handleError(_0x4c7af3,null));};