Built motion from commit 97153652.|2.6.26
[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 _0xce37=['from','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','SendMail','List\x20not\x20found','defaults','messageId','subject','attach','out','Interaction','verifySmtp','getSmtpOptions','VerifySmtp','ValidationError','You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account','addAgents','omit','spread','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','User','getAgents','moment','bluebird','path','lodash','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','localhost','./mailAccount.socket','jayson/promise','http','then','info','MailAccount,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','sendStatus','status','end','json','offset','limit','count','set','Content-Range','destroy','get','MailAccounts','UserProfileResource','stack','name','gmail','imap.gmail.com','yahoo','imap.mail.yahoo.com','imap-mail.outlook.com','outlook365','outlook.office365.com','hotmail','smtp-mail.outlook.com','smtp.office365.com','Unknown\x20email\x20service\x20provider','user','username','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','MailServerIn','Pause','mandatoryDispositionPause','map','MailAccount','fieldName','key','query','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','type','options','includeAll','include','findAll','rows','catch','show','params','MailServerOut','rawAttributes','find','update','body','provider','custom','describe','addDisposition','MailAccountId','Disposition','create','getDispositions','findOne','keys','hasOwnProperty','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','removeAnswers','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','removeImap','setImap','getSmtp','addSmtp','removeSmtp','addInteraction','MailInteraction','getInteractions','Contact','Owner','fullname','Tag','Tags','tag','addApplications','sequelize','transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','finally','send','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','true','CmList','List','CmContact','Contacts','updatedAt','DESC','CloudProvider','Smtp\x20configuration\x20not\x20found'];(function(_0x20ba2d,_0x594ce5){var _0x1f9aae=function(_0x4963f6){while(--_0x4963f6){_0x20ba2d['push'](_0x20ba2d['shift']());}};_0x1f9aae(++_0x594ce5);}(_0xce37,0x1a6));var _0x7ce3=function(_0x10b3a8,_0x19ed76){_0x10b3a8=_0x10b3a8-0x0;var _0x5eea65=_0xce37[_0x10b3a8];return _0x5eea65;};'use strict';var moment=require(_0x7ce3('0x0'));var BPromise=require(_0x7ce3('0x1'));var util=require('util');var path=require(_0x7ce3('0x2'));var _=require(_0x7ce3('0x3'));var juice=require('juice');var Redis=require(_0x7ce3('0x4'));var qs=require(_0x7ce3('0x5'));var logger=require(_0x7ce3('0x6'))(_0x7ce3('0x7'));var config=require(_0x7ce3('0x8'));var db=require(_0x7ce3('0x9'))['db'];config[_0x7ce3('0xa')]=_['defaults'](config[_0x7ce3('0xa')],{'host':_0x7ce3('0xb'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x7ce3('0xc'))['register'](socket);var jayson=require(_0x7ce3('0xd'));var client=jayson['client'][_0x7ce3('0xe')]({'port':0x232b});function respondWithRpcPromise(_0x1145e7,_0x55be9e,_0x44ebcf,_0x47e6c4){return new BPromise(function(_0x57b5a7,_0x14924b){var _0x1a385f=_0x47e6c4||client;return _0x1a385f['request'](_0x1145e7,_0x44ebcf)[_0x7ce3('0xf')](function(_0xd13983){logger[_0x7ce3('0x10')](_0x7ce3('0x11'),_0x55be9e,_0x7ce3('0x12'));logger['debug']('MailAccount,\x20%s,\x20%s,\x20%s',_0x55be9e,_0x7ce3('0x12'),JSON[_0x7ce3('0x13')](_0xd13983));if(_0xd13983[_0x7ce3('0x14')]){if(_0xd13983[_0x7ce3('0x14')][_0x7ce3('0x15')]===0x1f4){logger[_0x7ce3('0x14')]('MailAccount,\x20%s,\x20%s',_0x55be9e,_0xd13983['error'][_0x7ce3('0x16')]);return _0x14924b(_0xd13983[_0x7ce3('0x14')][_0x7ce3('0x16')]);}logger[_0x7ce3('0x14')](_0x7ce3('0x11'),_0x55be9e,_0xd13983[_0x7ce3('0x14')][_0x7ce3('0x16')]);return _0x57b5a7(_0xd13983[_0x7ce3('0x14')][_0x7ce3('0x16')]);}else{logger[_0x7ce3('0x10')](_0x7ce3('0x11'),_0x55be9e,_0x7ce3('0x12'));_0x57b5a7(_0xd13983['result']['message']);}})['catch'](function(_0x17b982){logger['error'](_0x7ce3('0x11'),_0x55be9e,_0x17b982);_0x14924b(_0x17b982);});});}function respondWithStatusCode(_0x31d51b,_0x53209c){_0x53209c=_0x53209c||0xcc;return function(_0xd51b2e){if(_0xd51b2e){return _0x31d51b[_0x7ce3('0x17')](_0x53209c);}return _0x31d51b[_0x7ce3('0x18')](_0x53209c)[_0x7ce3('0x19')]();};}function respondWithResult(_0x997c4a,_0x289ffc){_0x289ffc=_0x289ffc||0xc8;return function(_0x1d44ee){if(_0x1d44ee){return _0x997c4a['status'](_0x289ffc)[_0x7ce3('0x1a')](_0x1d44ee);}};}function respondWithFilteredResult(_0x2bdb1c,_0x1be2f8){return function(_0x1889df){if(_0x1889df){var _0xa8b8fc=typeof _0x1be2f8[_0x7ce3('0x1b')]==='undefined'&&typeof _0x1be2f8[_0x7ce3('0x1c')]==='undefined';var _0x2b6385=_0x1889df[_0x7ce3('0x1d')];var _0x1890a9=_0xa8b8fc?0x0:_0x1be2f8[_0x7ce3('0x1b')];var _0x4f5253=_0xa8b8fc?_0x1889df[_0x7ce3('0x1d')]:_0x1be2f8[_0x7ce3('0x1b')]+_0x1be2f8[_0x7ce3('0x1c')];var _0x444e13;if(_0x4f5253>=_0x2b6385){_0x4f5253=_0x2b6385;_0x444e13=0xc8;}else{_0x444e13=0xce;}_0x2bdb1c[_0x7ce3('0x18')](_0x444e13);return _0x2bdb1c[_0x7ce3('0x1e')](_0x7ce3('0x1f'),_0x1890a9+'-'+_0x4f5253+'/'+_0x2b6385)[_0x7ce3('0x1a')](_0x1889df);}return null;};}function saveUpdates(_0xe5d68){return function(_0x261282){if(_0x261282){return _0x261282['update'](_0xe5d68)['then'](function(_0x25c37d){return _0x25c37d;});}return null;};}function removeEntity(_0xa367a1){return function(_0x8c82aa){if(_0x8c82aa){return _0x8c82aa[_0x7ce3('0x20')]()[_0x7ce3('0xf')](function(){var _0x2e45ed=_0x8c82aa[_0x7ce3('0x21')]({'plain':!![]});var _0x2d52db=_0x7ce3('0x22');return db[_0x7ce3('0x23')][_0x7ce3('0x20')]({'where':{'type':_0x2d52db,'resourceId':_0x2e45ed['id']}})['then'](function(){return _0x8c82aa;});})[_0x7ce3('0xf')](function(){_0xa367a1['status'](0xcc)[_0x7ce3('0x19')]();});}};}function handleEntityNotFound(_0x53e7b7){return function(_0x47ab1f){if(!_0x47ab1f){_0x53e7b7['sendStatus'](0x194);}return _0x47ab1f;};}function handleError(_0x5842a4,_0x3c652c){_0x3c652c=_0x3c652c||0x1f4;return function(_0x4a7221){logger[_0x7ce3('0x14')](_0x4a7221[_0x7ce3('0x24')]);if(_0x4a7221[_0x7ce3('0x25')]){delete _0x4a7221[_0x7ce3('0x25')];}_0x5842a4[_0x7ce3('0x18')](_0x3c652c)['send'](_0x4a7221);};}function getImapHost(_0x1c9b0f){switch(_0x1c9b0f){case _0x7ce3('0x26'):return _0x7ce3('0x27');case _0x7ce3('0x28'):return _0x7ce3('0x29');case'hotmail':return _0x7ce3('0x2a');case _0x7ce3('0x2b'):return _0x7ce3('0x2c');}throw new Error('Unknown\x20email\x20service\x20provider',_0x1c9b0f);}function getSmtpHost(_0x1d30f2){switch(_0x1d30f2){case _0x7ce3('0x26'):return'smtp.gmail.com';case _0x7ce3('0x28'):return'smtp.mail.yahoo.com';case _0x7ce3('0x2d'):return _0x7ce3('0x2e');case'outlook365':return _0x7ce3('0x2f');}throw new Error(_0x7ce3('0x30'),_0x1d30f2);}function getAuthenticationOptions(_0x10ea11,_0x4106e6){var _0x1d429a={};var _0x2ec1db={};if(_0x10ea11){_0x1d429a['user']=_0x2ec1db[_0x7ce3('0x31')]=_0x4106e6[_0x7ce3('0x32')];_0x1d429a[_0x7ce3('0x33')]=_0x2ec1db[_0x7ce3('0x34')]=_0x4106e6['password'];if(_0x4106e6[_0x7ce3('0x35')]){_0x1d429a[_0x7ce3('0x35')]=_0x2ec1db[_0x7ce3('0x35')]=!![];_0x1d429a[_0x7ce3('0x36')]=_0x2ec1db['CloudProviderId']=_0x4106e6[_0x7ce3('0x36')];_0x1d429a['password']=_0x2ec1db[_0x7ce3('0x34')]=null;}else{_0x1d429a[_0x7ce3('0x36')]=_0x2ec1db['CloudProviderId']=null;}_0x1d429a[_0x7ce3('0x37')]=getImapHost(_0x10ea11);_0x1d429a[_0x7ce3('0x38')]=0x3e1;_0x2ec1db['host']=getSmtpHost(_0x10ea11);_0x2ec1db[_0x7ce3('0x38')]=0x24b;_0x2ec1db[_0x7ce3('0x39')]=![];_0x1d429a[_0x7ce3('0x3a')]=_0x2ec1db[_0x7ce3('0x3a')]=null;}else{if(_0x4106e6[_0x7ce3('0x3b')]){_0x1d429a['user']=_0x2ec1db['user']=_0x4106e6[_0x7ce3('0x32')];_0x1d429a[_0x7ce3('0x33')]=_0x2ec1db[_0x7ce3('0x34')]=_0x4106e6[_0x7ce3('0x33')];}else{_0x1d429a[_0x7ce3('0x3b')]=_0x2ec1db[_0x7ce3('0x3b')]=![];_0x1d429a[_0x7ce3('0x31')]=_0x2ec1db['user']=null;_0x1d429a[_0x7ce3('0x33')]=_0x2ec1db[_0x7ce3('0x34')]=null;}_0x1d429a['host']=_0x4106e6[_0x7ce3('0x3c')]['host'];_0x1d429a[_0x7ce3('0x38')]=_0x4106e6['Imap']['port'];_0x2ec1db[_0x7ce3('0x37')]=_0x4106e6[_0x7ce3('0x3d')][_0x7ce3('0x37')];_0x2ec1db[_0x7ce3('0x38')]=_0x4106e6[_0x7ce3('0x3d')]['port'];}return{'Imap':_0x1d429a,'Smtp':_0x2ec1db};}exports['index']=function(_0x68c4c7,_0x4774a1){var _0x1de674={'include':[{'model':db[_0x7ce3('0x3e')],'as':_0x7ce3('0x3c')},{'model':db['MailServerOut'],'as':_0x7ce3('0x3d')},{'model':db[_0x7ce3('0x3f')],'as':_0x7ce3('0x40')}]},_0x1974ca={},_0x215694={'count':0x0,'rows':[]};var _0x400357=_[_0x7ce3('0x41')](db[_0x7ce3('0x42')]['rawAttributes'],function(_0x45d48f){return{'name':_0x45d48f[_0x7ce3('0x43')],'type':_0x45d48f['type'][_0x7ce3('0x44')]};});_0x1974ca['model']=_['map'](_0x400357,_0x7ce3('0x25'));_0x1974ca[_0x7ce3('0x45')]=_['keys'](_0x68c4c7[_0x7ce3('0x45')]);_0x1974ca[_0x7ce3('0x46')]=_[_0x7ce3('0x47')](_0x1974ca[_0x7ce3('0x48')],_0x1974ca['query']);_0x1de674[_0x7ce3('0x49')]=_[_0x7ce3('0x47')](_0x1974ca[_0x7ce3('0x48')],qs['fields'](_0x68c4c7[_0x7ce3('0x45')][_0x7ce3('0x4a')]));_0x1de674[_0x7ce3('0x49')]=_0x1de674[_0x7ce3('0x49')][_0x7ce3('0x4b')]?_0x1de674[_0x7ce3('0x49')]:_0x1974ca[_0x7ce3('0x48')];if(!_0x68c4c7[_0x7ce3('0x45')]['hasOwnProperty'](_0x7ce3('0x4c'))){_0x1de674[_0x7ce3('0x1c')]=qs[_0x7ce3('0x1c')](_0x68c4c7['query'][_0x7ce3('0x1c')]);_0x1de674['offset']=qs[_0x7ce3('0x1b')](_0x68c4c7[_0x7ce3('0x45')][_0x7ce3('0x1b')]);}_0x1de674[_0x7ce3('0x4d')]=qs[_0x7ce3('0x4e')](_0x68c4c7[_0x7ce3('0x45')][_0x7ce3('0x4e')]);_0x1de674[_0x7ce3('0x4f')]=qs[_0x7ce3('0x46')](_[_0x7ce3('0x50')](_0x68c4c7[_0x7ce3('0x45')],_0x1974ca['filters']),_0x400357);if(_0x68c4c7['query'][_0x7ce3('0x51')]){_0x1de674[_0x7ce3('0x4f')]=_[_0x7ce3('0x52')](_0x1de674[_0x7ce3('0x4f')],{'$or':_[_0x7ce3('0x41')](_0x400357,function(_0x46c6ae){if(_0x46c6ae[_0x7ce3('0x53')]!=='VIRTUAL'){var _0x2d602a={};_0x2d602a[_0x46c6ae['name']]={'$like':'%'+_0x68c4c7[_0x7ce3('0x45')]['filter']+'%'};return _0x2d602a;}})});}_0x1de674=_[_0x7ce3('0x52')]({},_0x1de674,_0x68c4c7[_0x7ce3('0x54')]);var _0x558123={'where':_0x1de674[_0x7ce3('0x4f')]};return db['MailAccount'][_0x7ce3('0x1d')](_0x558123)[_0x7ce3('0xf')](function(_0x217fdf){_0x215694[_0x7ce3('0x1d')]=_0x217fdf;if(_0x68c4c7[_0x7ce3('0x45')][_0x7ce3('0x55')]){_0x1de674[_0x7ce3('0x56')]=[{'all':!![]}];}return db['MailAccount'][_0x7ce3('0x57')](_0x1de674);})['then'](function(_0x4b9879){_0x215694[_0x7ce3('0x58')]=_0x4b9879;return _0x215694;})['then'](respondWithFilteredResult(_0x4774a1,_0x1de674))[_0x7ce3('0x59')](handleError(_0x4774a1,null));};exports[_0x7ce3('0x5a')]=function(_0x59e1cf,_0x5e2aef){var _0x2a8bd0={'raw':![],'where':{'id':_0x59e1cf[_0x7ce3('0x5b')]['id']},'include':[{'model':db['MailServerIn'],'as':_0x7ce3('0x3c')},{'model':db[_0x7ce3('0x5c')],'as':_0x7ce3('0x3d')},{'model':db[_0x7ce3('0x3f')],'as':_0x7ce3('0x40')}]},_0x2c9406={};_0x2c9406[_0x7ce3('0x48')]=_['keys'](db['MailAccount'][_0x7ce3('0x5d')]);_0x2c9406[_0x7ce3('0x45')]=_['keys'](_0x59e1cf[_0x7ce3('0x45')]);_0x2c9406[_0x7ce3('0x46')]=_[_0x7ce3('0x47')](_0x2c9406[_0x7ce3('0x48')],_0x2c9406['query']);_0x2a8bd0[_0x7ce3('0x49')]=_[_0x7ce3('0x47')](_0x2c9406['model'],qs['fields'](_0x59e1cf[_0x7ce3('0x45')][_0x7ce3('0x4a')]));_0x2a8bd0[_0x7ce3('0x49')]=_0x2a8bd0[_0x7ce3('0x49')][_0x7ce3('0x4b')]?_0x2a8bd0['attributes']:_0x2c9406[_0x7ce3('0x48')];if(_0x59e1cf[_0x7ce3('0x45')][_0x7ce3('0x55')]){_0x2a8bd0['include']=[{'all':!![]}];}_0x2a8bd0=_[_0x7ce3('0x52')]({},_0x2a8bd0,_0x59e1cf['options']);return db['MailAccount'][_0x7ce3('0x5e')](_0x2a8bd0)[_0x7ce3('0xf')](handleEntityNotFound(_0x5e2aef,null))[_0x7ce3('0xf')](respondWithResult(_0x5e2aef,null))['catch'](handleError(_0x5e2aef,null));};exports[_0x7ce3('0x5f')]=function(_0x225c12,_0x3862a0){if(_0x225c12[_0x7ce3('0x60')]['id']){delete _0x225c12['body']['id'];}var _0x4cf964=_0x225c12['body'][_0x7ce3('0x61')]===_0x7ce3('0x62')?null:_0x225c12[_0x7ce3('0x60')][_0x7ce3('0x61')];var _0x10ae93=_0x225c12[_0x7ce3('0x60')][_0x7ce3('0x3c')]||{};var _0x561942=_0x225c12['body']['Smtp']||{};if(_0x4cf964){_0x10ae93['host']=getImapHost(_0x4cf964);_0x10ae93[_0x7ce3('0x38')]=0x3e1;_0x561942['host']=getSmtpHost(_0x4cf964);_0x561942[_0x7ce3('0x38')]=0x24b;_0x561942[_0x7ce3('0x39')]=![];}if(_0x561942[_0x7ce3('0x35')]){_0x561942[_0x7ce3('0x39')]=![];}else{_0x561942['CloudProviderId']=null;}if(!_0x10ae93[_0x7ce3('0x35')])_0x10ae93['CloudProviderId']=null;_0x225c12[_0x7ce3('0x60')]['Imap']=_0x10ae93;_0x225c12[_0x7ce3('0x60')]['Smtp']=_0x561942;return db[_0x7ce3('0x42')]['find']({'where':{'id':_0x225c12['params']['id']},'include':[{'model':db['MailServerIn'],'as':'Imap'},{'model':db['MailServerOut'],'as':_0x7ce3('0x3d')},{'model':db[_0x7ce3('0x3f')],'as':'mandatoryDispositionPause'}]})[_0x7ce3('0xf')](handleEntityNotFound(_0x3862a0,null))[_0x7ce3('0xf')](function(_0x42912b){if(!_0x42912b)throw new Error('Mail\x20Account\x20not\x20found');if(_0x42912b[_0x7ce3('0x3a')])delete _0x225c12[_0x7ce3('0x60')][_0x7ce3('0x3c')];return _0x42912b;})['then'](saveUpdates(_0x225c12['body'],null))['then'](function(_0x107d41){if(!_0x225c12[_0x7ce3('0x60')][_0x7ce3('0x3c')])return _0x107d41;return db[_0x7ce3('0x3e')]['update'](_0x225c12['body']['Imap'],{'where':{'MailAccountId':_0x107d41['id']}})[_0x7ce3('0xf')](function(){return _0x107d41;});})[_0x7ce3('0xf')](function(_0x3a95c5){if(!_0x225c12['body'][_0x7ce3('0x3d')])return _0x3a95c5;return db[_0x7ce3('0x5c')][_0x7ce3('0x5f')](_0x225c12['body']['Smtp'],{'where':{'MailAccountId':_0x3a95c5['id']}})[_0x7ce3('0xf')](function(){return _0x3a95c5;});})[_0x7ce3('0xf')](respondWithResult(_0x3862a0,null))['catch'](handleError(_0x3862a0,null));};exports[_0x7ce3('0x63')]=function(_0x21b93f,_0x24a251){return db[_0x7ce3('0x42')][_0x7ce3('0x63')]()[_0x7ce3('0xf')](respondWithResult(_0x24a251,null))['catch'](handleError(_0x24a251,null));};exports[_0x7ce3('0x64')]=function(_0x5af0ae,_0x57e477){if(_0x5af0ae[_0x7ce3('0x60')]['id']){delete _0x5af0ae[_0x7ce3('0x60')]['id'];}return db[_0x7ce3('0x42')][_0x7ce3('0x5e')]({'where':{'id':_0x5af0ae[_0x7ce3('0x5b')]['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x57e477,null))[_0x7ce3('0xf')](function(_0x275043){if(_0x275043){_0x5af0ae[_0x7ce3('0x60')][_0x7ce3('0x65')]=_0x275043['id'];return db[_0x7ce3('0x66')][_0x7ce3('0x67')](_0x5af0ae['body']);}})[_0x7ce3('0xf')](respondWithResult(_0x57e477,null))[_0x7ce3('0x59')](handleError(_0x57e477,null));};exports[_0x7ce3('0x68')]=function(_0x549b22,_0x443d58){var _0x281e1b={'raw':![],'where':{}};var _0x936b9={};var _0x1f8969={'count':0x0,'rows':[]};return db[_0x7ce3('0x42')][_0x7ce3('0x69')]({'where':{'id':_0x549b22['params']['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x443d58,null))[_0x7ce3('0xf')](function(_0x2444e8){if(_0x2444e8){_0x936b9['model']=_[_0x7ce3('0x6a')](db['Disposition'][_0x7ce3('0x5d')]);_0x936b9[_0x7ce3('0x45')]=_[_0x7ce3('0x6a')](_0x549b22[_0x7ce3('0x45')]);_0x936b9[_0x7ce3('0x46')]=_[_0x7ce3('0x47')](_0x936b9[_0x7ce3('0x48')],_0x936b9['query']);_0x281e1b[_0x7ce3('0x49')]=_[_0x7ce3('0x47')](_0x936b9[_0x7ce3('0x48')],qs[_0x7ce3('0x4a')](_0x549b22[_0x7ce3('0x45')]['fields']));_0x281e1b[_0x7ce3('0x49')]=_0x281e1b['attributes'][_0x7ce3('0x4b')]?_0x281e1b[_0x7ce3('0x49')]:_0x936b9['model'];if(!_0x549b22['query'][_0x7ce3('0x6b')](_0x7ce3('0x4c'))){_0x281e1b['limit']=qs[_0x7ce3('0x1c')](_0x549b22[_0x7ce3('0x45')][_0x7ce3('0x1c')]);_0x281e1b[_0x7ce3('0x1b')]=qs[_0x7ce3('0x1b')](_0x549b22[_0x7ce3('0x45')][_0x7ce3('0x1b')]);}_0x281e1b['order']=qs[_0x7ce3('0x4e')](_0x549b22[_0x7ce3('0x45')]['sort']);_0x281e1b[_0x7ce3('0x4f')]=qs[_0x7ce3('0x46')](_[_0x7ce3('0x50')](_0x549b22[_0x7ce3('0x45')],_0x936b9['filters']));_0x281e1b[_0x7ce3('0x4f')][_0x7ce3('0x65')]=_0x2444e8['id'];if(_0x549b22[_0x7ce3('0x45')][_0x7ce3('0x51')]){_0x281e1b['where']=_[_0x7ce3('0x52')](_0x281e1b[_0x7ce3('0x4f')],{'$or':_[_0x7ce3('0x41')](_0x281e1b[_0x7ce3('0x49')],function(_0x22bce2){var _0x2439f5={};_0x2439f5[_0x22bce2]={'$like':'%'+_0x549b22[_0x7ce3('0x45')][_0x7ce3('0x51')]+'%'};return _0x2439f5;})});}_0x281e1b=_['merge']({},_0x281e1b,_0x549b22[_0x7ce3('0x54')]);return db[_0x7ce3('0x66')][_0x7ce3('0x1d')]({'where':_0x281e1b['where']})[_0x7ce3('0xf')](function(_0x4e9872){_0x1f8969[_0x7ce3('0x1d')]=_0x4e9872;if(_0x549b22['query'][_0x7ce3('0x55')]){_0x281e1b[_0x7ce3('0x56')]=[{'all':!![]}];}return db['Disposition']['findAll'](_0x281e1b);})[_0x7ce3('0xf')](function(_0x136fe1){_0x1f8969[_0x7ce3('0x58')]=_0x136fe1;return _0x1f8969;});}})['then'](respondWithFilteredResult(_0x443d58,_0x281e1b))['catch'](handleError(_0x443d58,null));};exports[_0x7ce3('0x6c')]=function(_0x3dad3d,_0x3f1541){return db['MailAccount'][_0x7ce3('0x5e')]({'where':{'id':_0x3dad3d[_0x7ce3('0x5b')]['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x3f1541,null))[_0x7ce3('0xf')](function(_0xaa48ac){if(_0xaa48ac){return _0xaa48ac[_0x7ce3('0x6c')](_0x3dad3d[_0x7ce3('0x45')][_0x7ce3('0x6d')]);}})['then'](respondWithStatusCode(_0x3f1541,null))[_0x7ce3('0x59')](handleError(_0x3f1541,null));};exports[_0x7ce3('0x6e')]=function(_0x18693a,_0x2536cb){if(_0x18693a[_0x7ce3('0x60')]['id']){delete _0x18693a[_0x7ce3('0x60')]['id'];}return db[_0x7ce3('0x42')][_0x7ce3('0x5e')]({'where':{'id':_0x18693a[_0x7ce3('0x5b')]['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x2536cb,null))[_0x7ce3('0xf')](function(_0x593038){if(_0x593038){_0x18693a[_0x7ce3('0x60')][_0x7ce3('0x65')]=_0x593038['id'];return db[_0x7ce3('0x6f')][_0x7ce3('0x67')](_0x18693a[_0x7ce3('0x60')]);}})[_0x7ce3('0xf')](respondWithResult(_0x2536cb,null))['catch'](handleError(_0x2536cb,null));};exports[_0x7ce3('0x70')]=function(_0xc210b1,_0x1f6722){var _0x181dc8={'raw':![],'where':{}};var _0x55a77f={};var _0xbdbebe={'count':0x0,'rows':[]};return db[_0x7ce3('0x42')][_0x7ce3('0x69')]({'where':{'id':_0xc210b1[_0x7ce3('0x5b')]['id']}})['then'](handleEntityNotFound(_0x1f6722,null))['then'](function(_0x465648){if(_0x465648){_0x55a77f['model']=_[_0x7ce3('0x6a')](db[_0x7ce3('0x6f')][_0x7ce3('0x5d')]);_0x55a77f[_0x7ce3('0x45')]=_['keys'](_0xc210b1['query']);_0x55a77f[_0x7ce3('0x46')]=_[_0x7ce3('0x47')](_0x55a77f[_0x7ce3('0x48')],_0x55a77f[_0x7ce3('0x45')]);_0x181dc8[_0x7ce3('0x49')]=_['intersection'](_0x55a77f['model'],qs[_0x7ce3('0x4a')](_0xc210b1[_0x7ce3('0x45')][_0x7ce3('0x4a')]));_0x181dc8[_0x7ce3('0x49')]=_0x181dc8['attributes']['length']?_0x181dc8[_0x7ce3('0x49')]:_0x55a77f['model'];if(!_0xc210b1[_0x7ce3('0x45')][_0x7ce3('0x6b')]('nolimit')){_0x181dc8[_0x7ce3('0x1c')]=qs[_0x7ce3('0x1c')](_0xc210b1['query'][_0x7ce3('0x1c')]);_0x181dc8[_0x7ce3('0x1b')]=qs[_0x7ce3('0x1b')](_0xc210b1[_0x7ce3('0x45')][_0x7ce3('0x1b')]);}_0x181dc8[_0x7ce3('0x4d')]=qs[_0x7ce3('0x4e')](_0xc210b1[_0x7ce3('0x45')]['sort']);_0x181dc8[_0x7ce3('0x4f')]=qs['filters'](_[_0x7ce3('0x50')](_0xc210b1[_0x7ce3('0x45')],_0x55a77f[_0x7ce3('0x46')]));_0x181dc8['where']['MailAccountId']=_0x465648['id'];if(_0xc210b1[_0x7ce3('0x45')][_0x7ce3('0x51')]){_0x181dc8[_0x7ce3('0x4f')]=_[_0x7ce3('0x52')](_0x181dc8[_0x7ce3('0x4f')],{'$or':_[_0x7ce3('0x41')](_0x181dc8['attributes'],function(_0x401b72){var _0x5d4637={};_0x5d4637[_0x401b72]={'$like':'%'+_0xc210b1[_0x7ce3('0x45')]['filter']+'%'};return _0x5d4637;})});}_0x181dc8=_[_0x7ce3('0x52')]({},_0x181dc8,_0xc210b1[_0x7ce3('0x54')]);return db[_0x7ce3('0x6f')]['count']({'where':_0x181dc8[_0x7ce3('0x4f')]})['then'](function(_0x184551){_0xbdbebe['count']=_0x184551;if(_0xc210b1['query'][_0x7ce3('0x55')]){_0x181dc8['include']=[{'all':!![]}];}return db[_0x7ce3('0x6f')]['findAll'](_0x181dc8);})[_0x7ce3('0xf')](function(_0x46a67c){_0xbdbebe[_0x7ce3('0x58')]=_0x46a67c;return _0xbdbebe;});}})[_0x7ce3('0xf')](respondWithFilteredResult(_0x1f6722,_0x181dc8))[_0x7ce3('0x59')](handleError(_0x1f6722,null));};exports[_0x7ce3('0x71')]=function(_0x499017,_0x3d6d37){return db[_0x7ce3('0x42')][_0x7ce3('0x5e')]({'where':{'id':_0x499017[_0x7ce3('0x5b')]['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x3d6d37,null))[_0x7ce3('0xf')](function(_0x4db919){if(_0x4db919){return _0x4db919[_0x7ce3('0x71')](_0x499017[_0x7ce3('0x45')][_0x7ce3('0x6d')]);}})['then'](respondWithStatusCode(_0x3d6d37,null))['catch'](handleError(_0x3d6d37,null));};exports['create']=function(_0x5a732c,_0x51cdf5){var _0x2134f8={'name':_0x5a732c['body'][_0x7ce3('0x25')],'key':_0x5a732c[_0x7ce3('0x60')][_0x7ce3('0x44')],'provider':_0x5a732c['body'][_0x7ce3('0x61')]===_0x7ce3('0x62')?null:_0x5a732c[_0x7ce3('0x60')][_0x7ce3('0x61')],'email':_0x5a732c['body'][_0x7ce3('0x72')],'ListId':_0x5a732c[_0x7ce3('0x60')][_0x7ce3('0x73')],'active':!_[_0x7ce3('0x74')](_0x5a732c[_0x7ce3('0x60')][_0x7ce3('0x75')])?_0x5a732c[_0x7ce3('0x60')]['active']:!![],'description':_0x5a732c[_0x7ce3('0x60')][_0x7ce3('0x76')]||null};var _0x3ec73a=getAuthenticationOptions(_0x2134f8['provider'],_0x5a732c['body']);_0x2134f8[_0x7ce3('0x3c')]=_0x3ec73a['Imap'];_0x2134f8[_0x7ce3('0x3d')]=_0x3ec73a[_0x7ce3('0x3d')];return db[_0x7ce3('0x42')][_0x7ce3('0x67')](_0x2134f8,{'include':[{'model':db[_0x7ce3('0x5c')],'as':_0x7ce3('0x3d')},{'model':db[_0x7ce3('0x3e')],'as':'Imap'}]})[_0x7ce3('0xf')](function(_0x42df4a){var _0x19e376=_0x5a732c[_0x7ce3('0x31')][_0x7ce3('0x21')]({'plain':!![]});if(!_0x19e376)throw new Error(_0x7ce3('0x77'));if(_0x19e376[_0x7ce3('0x78')]==='user'){var _0x502b7c=_0x42df4a[_0x7ce3('0x21')]({'plain':!![]});return db[_0x7ce3('0x79')][_0x7ce3('0x5e')]({'where':{'name':'MailAccounts','userProfileId':_0x19e376[_0x7ce3('0x7a')]},'raw':!![]})[_0x7ce3('0xf')](function(_0x3c57e0){if(_0x3c57e0&&_0x3c57e0['autoAssociation']===0x0){return db[_0x7ce3('0x23')][_0x7ce3('0x67')]({'name':_0x502b7c[_0x7ce3('0x25')],'resourceId':_0x502b7c['id'],'type':_0x3c57e0[_0x7ce3('0x25')],'sectionId':_0x3c57e0['id']},{})[_0x7ce3('0xf')](function(){return _0x42df4a;});}else{return _0x42df4a;}})[_0x7ce3('0x59')](function(_0x347fc9){logger[_0x7ce3('0x14')](_0x7ce3('0x7b'),_0x347fc9);throw _0x347fc9;});}return _0x42df4a;})[_0x7ce3('0xf')](respondWithResult(_0x51cdf5,0xc9))[_0x7ce3('0x59')](handleError(_0x51cdf5,null));};exports[_0x7ce3('0x7c')]=function(_0x23cff3,_0x244cc5){return db[_0x7ce3('0x42')][_0x7ce3('0x69')]({'where':{'id':_0x23cff3[_0x7ce3('0x5b')]['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x244cc5,null))[_0x7ce3('0xf')](function(_0x18c375){if(_0x18c375){return _0x18c375[_0x7ce3('0x7c')]();}return null;})[_0x7ce3('0xf')](respondWithResult(_0x244cc5,null))[_0x7ce3('0x59')](handleError(_0x244cc5,null));};exports[_0x7ce3('0x7d')]=function(_0x5722a1,_0x5f13e4){if(_0x5722a1['body']['id']){delete _0x5722a1[_0x7ce3('0x60')]['id'];}return db[_0x7ce3('0x42')][_0x7ce3('0x5e')]({'where':{'id':_0x5722a1[_0x7ce3('0x5b')]['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x5f13e4,null))[_0x7ce3('0xf')](function(_0x574f64){if(_0x574f64){_0x5722a1['body'][_0x7ce3('0x65')]=_0x574f64['id'];return db[_0x7ce3('0x3e')][_0x7ce3('0x67')](_0x5722a1['body']);}})[_0x7ce3('0xf')](respondWithResult(_0x5f13e4,null))['catch'](handleError(_0x5f13e4,null));};exports[_0x7ce3('0x7e')]=function(_0x21ac22,_0x36de87){return db[_0x7ce3('0x42')][_0x7ce3('0x69')]({'where':{'id':_0x21ac22[_0x7ce3('0x5b')]['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x36de87,null))[_0x7ce3('0xf')](function(_0x2b7b6a){if(_0x2b7b6a){return _0x2b7b6a[_0x7ce3('0x7f')](null);}return null;})[_0x7ce3('0xf')](respondWithStatusCode(_0x36de87,null))[_0x7ce3('0x59')](handleError(_0x36de87,null));};exports[_0x7ce3('0x80')]=function(_0x39f0f9,_0x24588b){return db[_0x7ce3('0x42')][_0x7ce3('0x69')]({'where':{'id':_0x39f0f9[_0x7ce3('0x5b')]['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x24588b,null))[_0x7ce3('0xf')](function(_0x4e2809){if(_0x4e2809){return _0x4e2809[_0x7ce3('0x80')]();}return null;})[_0x7ce3('0xf')](respondWithResult(_0x24588b,null))['catch'](handleError(_0x24588b,null));};exports[_0x7ce3('0x81')]=function(_0x15f1ff,_0x5160bc){if(_0x15f1ff[_0x7ce3('0x60')]['id']){delete _0x15f1ff[_0x7ce3('0x60')]['id'];}return db['MailAccount'][_0x7ce3('0x5e')]({'where':{'id':_0x15f1ff[_0x7ce3('0x5b')]['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x5160bc,null))[_0x7ce3('0xf')](function(_0x571d6e){if(_0x571d6e){_0x15f1ff[_0x7ce3('0x60')][_0x7ce3('0x65')]=_0x571d6e['id'];return db[_0x7ce3('0x5c')][_0x7ce3('0x67')](_0x15f1ff[_0x7ce3('0x60')]);}})[_0x7ce3('0xf')](respondWithResult(_0x5160bc,null))[_0x7ce3('0x59')](handleError(_0x5160bc,null));};exports[_0x7ce3('0x82')]=function(_0x1c2e7b,_0x58f7e9){return db[_0x7ce3('0x42')][_0x7ce3('0x69')]({'where':{'id':_0x1c2e7b['params']['id']}})['then'](handleEntityNotFound(_0x58f7e9,null))[_0x7ce3('0xf')](function(_0x5080d3){if(_0x5080d3){return _0x5080d3['setSmtp'](null);}return null;})[_0x7ce3('0xf')](respondWithStatusCode(_0x58f7e9,null))['catch'](handleError(_0x58f7e9,null));};exports[_0x7ce3('0x83')]=function(_0x32f4d9,_0x4eb2fe){return db[_0x7ce3('0x84')][_0x7ce3('0x5e')]({'where':{'id':_0x32f4d9[_0x7ce3('0x5b')]['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x4eb2fe,null))[_0x7ce3('0xf')](function(_0x3f1a6f){if(_0x3f1a6f){return _0x3f1a6f[_0x7ce3('0x83')](_0x32f4d9[_0x7ce3('0x60')][_0x7ce3('0x6d')],_['omit'](_0x32f4d9[_0x7ce3('0x60')],[_0x7ce3('0x6d'),'id'])||{});}})[_0x7ce3('0xf')](respondWithResult(_0x4eb2fe,null))[_0x7ce3('0x59')](handleError(_0x4eb2fe,null));};exports[_0x7ce3('0x85')]=function(_0x3cb0f4,_0x3f4eee){var _0x5bbd43={'raw':![],'where':{}};var _0x423f3d={};var _0x182f63={'count':0x0,'rows':[]};return db[_0x7ce3('0x42')][_0x7ce3('0x69')]({'where':{'id':_0x3cb0f4['params']['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x3f4eee,null))[_0x7ce3('0xf')](function(_0x4d1311){if(_0x4d1311){_0x423f3d[_0x7ce3('0x48')]=_['keys'](db[_0x7ce3('0x84')][_0x7ce3('0x5d')]);_0x423f3d['query']=_[_0x7ce3('0x6a')](_0x3cb0f4['query']);_0x423f3d['filters']=_['intersection'](_0x423f3d[_0x7ce3('0x48')],_0x423f3d[_0x7ce3('0x45')]);_0x5bbd43[_0x7ce3('0x49')]=_[_0x7ce3('0x47')](_0x423f3d[_0x7ce3('0x48')],qs[_0x7ce3('0x4a')](_0x3cb0f4[_0x7ce3('0x45')][_0x7ce3('0x4a')]));_0x5bbd43[_0x7ce3('0x49')]=_0x5bbd43[_0x7ce3('0x49')][_0x7ce3('0x4b')]?_0x5bbd43[_0x7ce3('0x49')]:_0x423f3d[_0x7ce3('0x48')];if(!_0x3cb0f4[_0x7ce3('0x45')][_0x7ce3('0x6b')]('nolimit')){_0x5bbd43[_0x7ce3('0x1c')]=qs[_0x7ce3('0x1c')](_0x3cb0f4[_0x7ce3('0x45')][_0x7ce3('0x1c')]);_0x5bbd43[_0x7ce3('0x1b')]=qs[_0x7ce3('0x1b')](_0x3cb0f4[_0x7ce3('0x45')][_0x7ce3('0x1b')]);}_0x5bbd43['order']=qs[_0x7ce3('0x4e')](_0x3cb0f4['query'][_0x7ce3('0x4e')]);_0x5bbd43[_0x7ce3('0x4f')]=qs[_0x7ce3('0x46')](_['pick'](_0x3cb0f4['query'],_0x423f3d[_0x7ce3('0x46')]));_0x5bbd43['where'][_0x7ce3('0x65')]=_0x4d1311['id'];if(_0x3cb0f4[_0x7ce3('0x45')][_0x7ce3('0x51')]){_0x5bbd43['where']=_['merge'](_0x5bbd43[_0x7ce3('0x4f')],{'$or':_[_0x7ce3('0x41')](_0x5bbd43[_0x7ce3('0x49')],function(_0x3eda98){var _0x5d1fd1={};_0x5d1fd1[_0x3eda98]={'$like':'%'+_0x3cb0f4['query'][_0x7ce3('0x51')]+'%'};return _0x5d1fd1;})});}_0x5bbd43=_[_0x7ce3('0x52')]({},_0x5bbd43,_0x3cb0f4['options']);return db['MailInteraction'][_0x7ce3('0x1d')]({'where':_0x5bbd43['where']})[_0x7ce3('0xf')](function(_0x433dfa){_0x182f63['count']=_0x433dfa;if(_0x3cb0f4['query'][_0x7ce3('0x55')]){_0x5bbd43[_0x7ce3('0x56')]=[{'model':db['CmContact'],'as':_0x7ce3('0x86'),'required':![]},{'model':db['User'],'as':_0x7ce3('0x87'),'attributes':['name',_0x7ce3('0x88'),'internal'],'required':![]},{'model':db[_0x7ce3('0x89')],'as':_0x7ce3('0x8a'),'attributes':['id','name','color'],'where':_0x3cb0f4['query'][_0x7ce3('0x8b')]?{'id':_0x3cb0f4[_0x7ce3('0x45')]['tag']}:undefined,'required':_0x3cb0f4[_0x7ce3('0x45')]['tag']?!![]:![]}];}return db[_0x7ce3('0x84')]['findAll'](_0x5bbd43);})[_0x7ce3('0xf')](function(_0x189c72){_0x182f63['rows']=_0x189c72;return _0x182f63;});}})[_0x7ce3('0xf')](respondWithFilteredResult(_0x3f4eee,_0x5bbd43))[_0x7ce3('0x59')](handleError(_0x3f4eee,null));};exports[_0x7ce3('0x8c')]=function addApplications(_0x884bb4,_0x18c741){var _0x12fdfd=_0x884bb4['params']['id'];var _0xe5d0e7=_0x884bb4[_0x7ce3('0x60')];var _0x554fab=0xc8;var _0x3c5d9c=null;return db[_0x7ce3('0x8d')][_0x7ce3('0x8e')]({'isolationLevel':db['sequelize']['Transaction'][_0x7ce3('0x8f')][_0x7ce3('0x90')]},function(_0x174f2c){return db[_0x7ce3('0x42')][_0x7ce3('0x69')]({'where':{'id':_0x12fdfd},'transaction':_0x174f2c})[_0x7ce3('0xf')](function(_0x3e6ef2){if(_0x3e6ef2){return db[_0x7ce3('0x91')]['destroy']({'where':{'MailAccountId':_0x12fdfd},'transaction':_0x174f2c})[_0x7ce3('0xf')](function(){var _0x82a679=_[_0x7ce3('0x41')](_0xe5d0e7,function(_0x1a43fc){_0x1a43fc[_0x7ce3('0x65')]=_0x12fdfd;return _0x1a43fc;});return db[_0x7ce3('0x91')][_0x7ce3('0x92')](_0x82a679,{'transaction':_0x174f2c});});}else{_0x554fab=0x194;_0x3c5d9c=[];}});})[_0x7ce3('0xf')](function(){if(_0x554fab!==0x194){return db[_0x7ce3('0x91')][_0x7ce3('0x93')]({'where':{'MailAccountId':_0x12fdfd},'order':'priority'})[_0x7ce3('0xf')](function(_0x177e85){_0x3c5d9c=_0x177e85;});}})['catch'](function(_0x5b4777){_0x554fab=0x1f4;logger[_0x7ce3('0x14')](_0x5b4777[_0x7ce3('0x24')]);if(_0x5b4777['name']){delete _0x5b4777[_0x7ce3('0x25')];}_0x3c5d9c=_0x5b4777;})[_0x7ce3('0x94')](function(){if(_0x3c5d9c===null){_0x18c741[_0x7ce3('0x17')](_0x554fab);}else{if(_0x554fab===0x1f4){_0x18c741[_0x7ce3('0x18')](_0x554fab)[_0x7ce3('0x95')](_0x3c5d9c);}else{_0x18c741[_0x7ce3('0x18')](_0x554fab)[_0x7ce3('0x1a')](_0x3c5d9c);}}});};exports[_0x7ce3('0x96')]=function(_0x5af4d3,_0x1a6c8f){var _0xfa016d={};var _0x31d623={};var _0x409244;var _0x2532c0;return db[_0x7ce3('0x42')][_0x7ce3('0x69')]({'where':{'id':_0x5af4d3[_0x7ce3('0x5b')]['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x1a6c8f,null))[_0x7ce3('0xf')](function(_0x1da1c6){if(_0x1da1c6){_0x409244=_0x1da1c6;_0x31d623[_0x7ce3('0x48')]=_[_0x7ce3('0x6a')](db[_0x7ce3('0x91')][_0x7ce3('0x5d')]);_0x31d623[_0x7ce3('0x45')]=_[_0x7ce3('0x6a')](_0x5af4d3[_0x7ce3('0x45')]);_0x31d623['filters']=_['intersection'](_0x31d623[_0x7ce3('0x48')],_0x31d623[_0x7ce3('0x45')]);_0xfa016d[_0x7ce3('0x49')]=_[_0x7ce3('0x47')](_0x31d623[_0x7ce3('0x48')],qs[_0x7ce3('0x4a')](_0x5af4d3[_0x7ce3('0x45')][_0x7ce3('0x4a')]));_0xfa016d[_0x7ce3('0x49')]=_0xfa016d[_0x7ce3('0x49')][_0x7ce3('0x4b')]?_0xfa016d[_0x7ce3('0x49')]:_0x31d623[_0x7ce3('0x48')];_0xfa016d[_0x7ce3('0x4d')]=qs['sort'](_0x5af4d3[_0x7ce3('0x45')][_0x7ce3('0x4e')]);_0xfa016d['where']=qs[_0x7ce3('0x46')](_['pick'](_0x5af4d3[_0x7ce3('0x45')],_0x31d623[_0x7ce3('0x46')]));if(_0x5af4d3[_0x7ce3('0x45')][_0x7ce3('0x51')]){_0xfa016d[_0x7ce3('0x4f')]=_[_0x7ce3('0x52')](_0xfa016d['where'],{'$or':_[_0x7ce3('0x41')](_0xfa016d[_0x7ce3('0x49')],function(_0x417f79){var _0xc49b50={};_0xc49b50[_0x417f79]={'$like':'%'+_0x5af4d3[_0x7ce3('0x45')][_0x7ce3('0x51')]+'%'};return _0xc49b50;})});}_0xfa016d=_[_0x7ce3('0x52')]({},_0xfa016d,_0x5af4d3[_0x7ce3('0x54')]);return _0x409244[_0x7ce3('0x96')](_0xfa016d);}})[_0x7ce3('0xf')](function(_0x27298d){if(_0x27298d){_0x2532c0=_0x27298d['length'];if(!_0x5af4d3['query'][_0x7ce3('0x6b')]('nolimit')){_0xfa016d['limit']=qs[_0x7ce3('0x1c')](_0x5af4d3[_0x7ce3('0x45')]['limit']);_0xfa016d['offset']=qs[_0x7ce3('0x1b')](_0x5af4d3['query']['offset']);}return _0x409244[_0x7ce3('0x96')](_0xfa016d);}})['then'](function(_0x3e8285){if(_0x3e8285){return _0x3e8285?{'count':_0x2532c0,'rows':_0x3e8285}:null;}})[_0x7ce3('0xf')](respondWithResult(_0x1a6c8f,null))[_0x7ce3('0x59')](handleError(_0x1a6c8f,null));};exports[_0x7ce3('0x97')]=function(_0x27c2b6,_0x3f68c5){var _0x5062c5={'raw':!![],'where':{}};var _0x28861e={};var _0x454774={'count':0x0,'rows':[]};return db[_0x7ce3('0x42')]['findOne']({'where':{'id':_0x27c2b6[_0x7ce3('0x5b')]['id']}})['then'](handleEntityNotFound(_0x3f68c5,null))[_0x7ce3('0xf')](function(_0x45d7cc){if(_0x45d7cc){_0x28861e[_0x7ce3('0x48')]=_[_0x7ce3('0x6a')](db[_0x7ce3('0x98')][_0x7ce3('0x5d')]);_0x28861e[_0x7ce3('0x45')]=_[_0x7ce3('0x6a')](_0x27c2b6[_0x7ce3('0x45')]);_0x28861e[_0x7ce3('0x46')]=_[_0x7ce3('0x47')](_0x28861e[_0x7ce3('0x48')],_0x28861e[_0x7ce3('0x45')]);_0x5062c5[_0x7ce3('0x49')]=_['intersection'](_0x28861e[_0x7ce3('0x48')],qs[_0x7ce3('0x4a')](_0x27c2b6[_0x7ce3('0x45')][_0x7ce3('0x4a')]));_0x5062c5['attributes']=_0x5062c5['attributes']['length']?_0x5062c5[_0x7ce3('0x49')]:_0x28861e[_0x7ce3('0x48')];if(!_0x27c2b6['query'][_0x7ce3('0x6b')](_0x7ce3('0x4c'))){_0x5062c5[_0x7ce3('0x1c')]=qs[_0x7ce3('0x1c')](_0x27c2b6[_0x7ce3('0x45')][_0x7ce3('0x1c')]);_0x5062c5[_0x7ce3('0x1b')]=qs[_0x7ce3('0x1b')](_0x27c2b6[_0x7ce3('0x45')][_0x7ce3('0x1b')]);}_0x5062c5[_0x7ce3('0x4d')]=qs[_0x7ce3('0x4e')](_0x27c2b6['query'][_0x7ce3('0x4e')]);_0x5062c5[_0x7ce3('0x4f')]=qs[_0x7ce3('0x46')](_[_0x7ce3('0x50')](_0x27c2b6[_0x7ce3('0x45')],_0x28861e['filters']));_0x5062c5[_0x7ce3('0x4f')][_0x7ce3('0x65')]=_0x45d7cc['id'];if(_0x27c2b6[_0x7ce3('0x45')][_0x7ce3('0x51')]){_0x5062c5[_0x7ce3('0x4f')]=_[_0x7ce3('0x52')](_0x5062c5[_0x7ce3('0x4f')],{'$or':_['map'](_0x5062c5['attributes'],function(_0x28d616){var _0x3a6b36={};_0x3a6b36[_0x28d616]={'$like':'%'+_0x27c2b6['query']['filter']+'%'};return _0x3a6b36;})});}if(_0x27c2b6[_0x7ce3('0x45')][_0x7ce3('0x99')]){var _0x21079c=_0x27c2b6[_0x7ce3('0x45')][_0x7ce3('0x99')][_0x7ce3('0x9a')](',');var _0x41da10={};_0x41da10[_0x21079c[0x0]]={'$gte':moment(_0x21079c[0x1])[_0x7ce3('0x9b')](_0x7ce3('0x9c'))};_0x5062c5[_0x7ce3('0x4f')]=_[_0x7ce3('0x52')](_0x5062c5['where'],_0x41da10);}_0x5062c5=_['merge']({},_0x5062c5,_0x27c2b6[_0x7ce3('0x54')]);return db[_0x7ce3('0x98')][_0x7ce3('0x1d')]({'where':_0x5062c5[_0x7ce3('0x4f')]})[_0x7ce3('0xf')](function(_0x10d37c){_0x454774[_0x7ce3('0x1d')]=_0x10d37c;if(_0x27c2b6[_0x7ce3('0x45')][_0x7ce3('0x55')]){_0x5062c5[_0x7ce3('0x56')]=[{'all':!![]}];}return db[_0x7ce3('0x98')][_0x7ce3('0x57')](_0x5062c5);})[_0x7ce3('0xf')](function(_0x2161d6){if(_0x27c2b6[_0x7ce3('0x45')]['inlineCss']===_0x7ce3('0x9d')){for(var _0xfcba96=0x0;_0xfcba96<_0x2161d6[_0x7ce3('0x4b')];_0xfcba96++){_0x2161d6[_0xfcba96][_0x7ce3('0x60')]=juice(_0x2161d6[_0xfcba96][_0x7ce3('0x60')]);}}_0x454774[_0x7ce3('0x58')]=_0x2161d6;return _0x454774;});}})[_0x7ce3('0xf')](respondWithFilteredResult(_0x3f68c5,_0x5062c5))['catch'](handleError(_0x3f68c5,null));};exports['send']=function(_0x3531e4,_0x1bc9e2){var _0x1a657c,_0x385383={},_0x4d5611;if(_0x3531e4[_0x7ce3('0x60')]['to']){_0x4d5611=_0x3531e4[_0x7ce3('0x60')]['to'][_0x7ce3('0x9a')](',')[0x0];}return db['MailAccount'][_0x7ce3('0x5e')]({'where':{'id':_0x3531e4[_0x7ce3('0x5b')]['id']},'include':[{'model':db[_0x7ce3('0x9e')],'as':_0x7ce3('0x9f'),'include':[{'model':db[_0x7ce3('0xa0')],'as':_0x7ce3('0xa1'),'where':{'email':_0x4d5611},'limit':0x1,'order':[[_0x7ce3('0xa2'),_0x7ce3('0xa3')]]}]},{'model':db[_0x7ce3('0x5c')],'as':_0x7ce3('0x3d'),'raw':!![],'include':[{'model':db[_0x7ce3('0xa4')],'as':_0x7ce3('0xa4'),'raw':!![]}]}]})[_0x7ce3('0xf')](handleEntityNotFound(_0x1bc9e2,null))[_0x7ce3('0xf')](function(_0x5b7418){if(!_0x5b7418)return;_0x1a657c=_0x5b7418;if(!_0x5b7418[_0x7ce3('0x3d')])throw new Error(_0x7ce3('0xa5'));if(_[_0x7ce3('0x74')](_0x3531e4['body']['from'])){_0x3531e4[_0x7ce3('0x60')][_0x7ce3('0xa6')]=util[_0x7ce3('0x9b')](_0x7ce3('0xa7'),_0x5b7418[_0x7ce3('0x25')],_0x5b7418[_0x7ce3('0x72')]||_0x5b7418['Smtp']['user']);}if(_0x3531e4[_0x7ce3('0x60')][_0x7ce3('0xa8')]&&_0x3531e4['body'][_0x7ce3('0xa8')][_0x7ce3('0x4b')]){for(var _0x334981=0x0;_0x334981<_0x3531e4[_0x7ce3('0x60')][_0x7ce3('0xa8')][_0x7ce3('0x4b')];_0x334981+=0x1){_0x3531e4[_0x7ce3('0x60')]['attachments'][_0x334981]={'filename':_0x3531e4[_0x7ce3('0x60')][_0x7ce3('0xa8')][_0x334981][_0x7ce3('0x25')],'path':path[_0x7ce3('0xa9')](config[_0x7ce3('0xaa')],_0x7ce3('0xab'),_0x3531e4[_0x7ce3('0x60')]['attachments'][_0x334981][_0x7ce3('0xac')])};}}var _0x14093e=_0x5b7418['getSmtpOptions']();return respondWithRpcPromise(_0x7ce3('0xad'),'sendMail',{'account':_0x14093e,'message':_0x3531e4[_0x7ce3('0x60')]});})['then'](function(_0x2b1bf9){if(!_0x2b1bf9)return;_0x385383=_0x2b1bf9;if(!_0x1a657c[_0x7ce3('0x9f')])throw new Error(_0x7ce3('0xae'));if(_0x1a657c[_0x7ce3('0x9f')][_0x7ce3('0xa1')][_0x7ce3('0x4b')])return _0x1a657c[_0x7ce3('0x9f')][_0x7ce3('0xa1')][0x0];return db[_0x7ce3('0xa0')][_0x7ce3('0x67')](_[_0x7ce3('0xaf')](_0x3531e4[_0x7ce3('0x60')],{'firstName':_0x3531e4[_0x7ce3('0x60')]['to'],'email':_0x3531e4[_0x7ce3('0x60')]['to'],'phone':_0x3531e4['body']['to'],'ListId':_0x1a657c[_0x7ce3('0x73')]}));})['then'](function(_0x5d3e1d){if(!_0x5d3e1d)return;var _0xe7f836={'UserId':_0x3531e4[_0x7ce3('0x31')]['id'],'ContactId':_0x5d3e1d['id'],'MailAccountId':_0x1a657c['id'],'inReplyTo':_0x385383[_0x7ce3('0xb0')],'to':_0x3531e4[_0x7ce3('0x60')]['from'],'cc':_0x3531e4[_0x7ce3('0x60')]['cc'],'subject':_0x3531e4[_0x7ce3('0x60')][_0x7ce3('0xb1')],'attach':_0x3531e4['body'][_0x7ce3('0xb2')],'firstMsgDirection':_0x7ce3('0xb3'),'lastMsgAt':moment()[_0x7ce3('0x9b')](_0x7ce3('0x9c')),'lastMsgDirection':'out','Messages':[_['merge'](_0x3531e4['body'],{'messageId':_0x385383['messageId'],'sentAt':moment()[_0x7ce3('0x9b')](_0x7ce3('0x9c')),'read':!![],'MailAccountId':_0x1a657c['id'],'UserId':_0x3531e4[_0x7ce3('0x31')]['id'],'ContactId':_0x5d3e1d['id']})]};if(_0x3531e4['body'][_0x7ce3('0xb4')]){_0xe7f836=_[_0x7ce3('0x52')](_0xe7f836,_0x3531e4[_0x7ce3('0x60')][_0x7ce3('0xb4')]);}return db[_0x7ce3('0x84')][_0x7ce3('0x67')](_0xe7f836,{'include':[{'model':db[_0x7ce3('0x98')],'as':'Messages'}]});})[_0x7ce3('0xf')](respondWithResult(_0x1bc9e2,null))['catch'](handleError(_0x1bc9e2,null));};exports[_0x7ce3('0xb5')]=function(_0x286d33,_0xf047bb){return db[_0x7ce3('0x42')][_0x7ce3('0x5e')]({'where':{'id':_0x286d33['params']['id']},'include':[{'model':db[_0x7ce3('0x5c')],'as':_0x7ce3('0x3d'),'raw':!![],'include':[{'model':db[_0x7ce3('0xa4')],'as':'CloudProvider','raw':!![]}]}]})[_0x7ce3('0xf')](handleEntityNotFound(_0xf047bb,null))[_0x7ce3('0xf')](function(_0x2e92ff){if(!_0x2e92ff[_0x7ce3('0x3d')])return;var _0x51999e=_0x2e92ff[_0x7ce3('0xb6')]();return respondWithRpcPromise(_0x7ce3('0xb7'),'verifySmtp',{'account':_0x51999e});})['then'](respondWithResult(_0xf047bb,null))[_0x7ce3('0x59')](handleError(_0xf047bb,null));};exports[_0x7ce3('0x20')]=function(_0x13b26b,_0x4e8217){return db[_0x7ce3('0x42')]['find']({'where':{'id':_0x13b26b[_0x7ce3('0x5b')]['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x4e8217,null))[_0x7ce3('0xf')](function(_0x5e50a9){if(_0x5e50a9&&_0x5e50a9[_0x7ce3('0x3a')]){throw new db['Sequelize'][(_0x7ce3('0xb8'))](_0x7ce3('0xb9'));}return _0x5e50a9;})['then'](removeEntity(_0x4e8217,null))[_0x7ce3('0x59')](handleError(_0x4e8217,null));};exports[_0x7ce3('0xba')]=function(_0x19ef24,_0x2cd4ac){return db['MailAccount'][_0x7ce3('0x5e')]({'where':{'id':_0x19ef24['params']['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x2cd4ac,null))[_0x7ce3('0xf')](function(_0x51c179){if(_0x51c179){return _0x51c179[_0x7ce3('0xba')](_0x19ef24[_0x7ce3('0x60')]['ids'],_[_0x7ce3('0xbb')](_0x19ef24[_0x7ce3('0x60')],['ids','id'])||{})[_0x7ce3('0xbc')](function(_0x119f53){for(var _0xb95cb7=0x0;_0xb95cb7<_0x19ef24[_0x7ce3('0x60')][_0x7ce3('0x6d')][_0x7ce3('0x4b')];_0xb95cb7+=0x1){socket[_0x7ce3('0xbd')](_0x7ce3('0xbe'),{'UserId':Number(_0x19ef24['body'][_0x7ce3('0x6d')][_0xb95cb7]),'MailAccountId':Number(_0x19ef24[_0x7ce3('0x5b')]['id'])});}return _0x119f53;});}})['then'](respondWithResult(_0x2cd4ac,null))[_0x7ce3('0x59')](handleError(_0x2cd4ac,null));};exports[_0x7ce3('0xbf')]=function(_0x213600,_0x3c3e29){return db['MailAccount']['find']({'where':{'id':_0x213600[_0x7ce3('0x5b')]['id']}})[_0x7ce3('0xf')](handleEntityNotFound(_0x3c3e29,null))[_0x7ce3('0xf')](function(_0x20301a){if(_0x20301a){return _0x20301a['removeAgents'](_0x213600[_0x7ce3('0x45')][_0x7ce3('0x6d')])[_0x7ce3('0xf')](function(){if(_[_0x7ce3('0xc0')](_0x213600[_0x7ce3('0x45')][_0x7ce3('0x6d')])){for(var _0x2e74a9=0x0;_0x2e74a9<_0x213600[_0x7ce3('0x45')]['ids'][_0x7ce3('0x4b')];_0x2e74a9+=0x1){socket[_0x7ce3('0xbd')]('userMailAccount:remove',{'UserId':Number(_0x213600['query'][_0x7ce3('0x6d')][_0x2e74a9]),'MailAccountId':Number(_0x213600[_0x7ce3('0x5b')]['id'])});}}else{socket['emit'](_0x7ce3('0xc1'),{'UserId':Number(_0x213600[_0x7ce3('0x45')][_0x7ce3('0x6d')]),'MailAccountId':Number(_0x213600['params']['id'])});}});}})[_0x7ce3('0xf')](respondWithStatusCode(_0x3c3e29,null))[_0x7ce3('0x59')](handleError(_0x3c3e29,null));};exports['getAgents']=function(_0x2bdac7,_0x40897c){var _0x47544b={};var _0x14c9cc={};var _0x4a503d;var _0x4b0a31;return db[_0x7ce3('0x42')][_0x7ce3('0x69')]({'where':{'id':_0x2bdac7[_0x7ce3('0x5b')]['id']}})['then'](handleEntityNotFound(_0x40897c,null))[_0x7ce3('0xf')](function(_0xc0bb73){if(_0xc0bb73){_0x4a503d=_0xc0bb73;_0x14c9cc['model']=_[_0x7ce3('0x6a')](db[_0x7ce3('0xc2')]['rawAttributes']);_0x14c9cc[_0x7ce3('0x45')]=_[_0x7ce3('0x6a')](_0x2bdac7['query']);_0x14c9cc[_0x7ce3('0x46')]=_[_0x7ce3('0x47')](_0x14c9cc[_0x7ce3('0x48')],_0x14c9cc[_0x7ce3('0x45')]);_0x47544b['attributes']=_[_0x7ce3('0x47')](_0x14c9cc[_0x7ce3('0x48')],qs[_0x7ce3('0x4a')](_0x2bdac7[_0x7ce3('0x45')][_0x7ce3('0x4a')]));_0x47544b[_0x7ce3('0x49')]=_0x47544b[_0x7ce3('0x49')][_0x7ce3('0x4b')]?_0x47544b[_0x7ce3('0x49')]:_0x14c9cc['model'];_0x47544b[_0x7ce3('0x4d')]=qs[_0x7ce3('0x4e')](_0x2bdac7[_0x7ce3('0x45')]['sort']);_0x47544b[_0x7ce3('0x4f')]=qs[_0x7ce3('0x46')](_[_0x7ce3('0x50')](_0x2bdac7[_0x7ce3('0x45')],_0x14c9cc[_0x7ce3('0x46')]));if(_0x2bdac7['query'][_0x7ce3('0x51')]){_0x47544b[_0x7ce3('0x4f')]=_['merge'](_0x47544b[_0x7ce3('0x4f')],{'$or':_[_0x7ce3('0x41')](_0x47544b['attributes'],function(_0x22d9d4){var _0x8a9c9c={};_0x8a9c9c[_0x22d9d4]={'$like':'%'+_0x2bdac7['query'][_0x7ce3('0x51')]+'%'};return _0x8a9c9c;})});}_0x47544b=_[_0x7ce3('0x52')]({},_0x47544b,_0x2bdac7['options']);return _0x4a503d[_0x7ce3('0xc3')](_0x47544b);}})[_0x7ce3('0xf')](function(_0x5ad6fc){if(_0x5ad6fc){_0x4b0a31=_0x5ad6fc[_0x7ce3('0x4b')];if(!_0x2bdac7['query'][_0x7ce3('0x6b')](_0x7ce3('0x4c'))){_0x47544b[_0x7ce3('0x1c')]=qs[_0x7ce3('0x1c')](_0x2bdac7[_0x7ce3('0x45')][_0x7ce3('0x1c')]);_0x47544b[_0x7ce3('0x1b')]=qs[_0x7ce3('0x1b')](_0x2bdac7['query'][_0x7ce3('0x1b')]);}return _0x4a503d[_0x7ce3('0xc3')](_0x47544b);}})['then'](function(_0x378a3a){if(_0x378a3a){return _0x378a3a?{'count':_0x4b0a31,'rows':_0x378a3a}:null;}})['then'](respondWithResult(_0x40897c,null))[_0x7ce3('0x59')](handleError(_0x40897c,null));};