Built motion from commit b5413ace.|2.6.9
[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 _0x8c39=['Smtp\x20configuration\x20not\x20found','from','%s\x20<%s>','attachments','root','server/files/attachments','basename','SendMail','sendMail','subject','attach','out','Interaction','Messages','getSmtpOptions','verifySmtp','Sequelize','addAgents','emit','removeAgents','isArray','userMailAccount:remove','getAgents','User','moment','bluebird','util','path','lodash','juice','../../components/parsers/qs','../../config/logger','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailAccount.socket','register','jayson/promise','http','request','then','info','MailAccount,\x20%s,\x20%s','debug','request\x20sent','stringify','error','code','message','result','catch','sendStatus','status','end','json','offset','limit','undefined','set','MailAccounts','destroy','stack','name','send','gmail','imap.gmail.com','yahoo','imap.mail.yahoo.com','hotmail','imap-mail.outlook.com','outlook365','smtp.gmail.com','smtp.mail.yahoo.com','smtp-mail.outlook.com','smtp.office365.com','user','password','pass','modernAuthentication','CloudProviderId','host','port','secure','service','authentication','Imap','Smtp','MailServerIn','MailServerOut','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','type','key','query','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','sort','filters','pick','filter','merge','where','VIRTUAL','options','count','include','findAll','rows','params','keys','includeAll','find','update','body','provider','custom','Mail\x20Account\x20not\x20found','describe','MailAccountId','create','getDispositions','findOne','Disposition','order','removeDispositions','ids','addAnswer','CannedAnswer','getAnswers','removeAnswers','email','ListId','isNil','active','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','removeImap','setImap','getSmtp','removeSmtp','setSmtp','addInteraction','omit','getInteractions','MailInteraction','CmContact','fullname','internal','Tag','Tags','color','tag','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','finally','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','inlineCss','true','CmList','List','Contacts','updatedAt','DESC','CloudProvider'];(function(_0x19950b,_0x53d0d7){var _0x3c6b41=function(_0x3924ad){while(--_0x3924ad){_0x19950b['push'](_0x19950b['shift']());}};_0x3c6b41(++_0x53d0d7);}(_0x8c39,0xdc));var _0x98c3=function(_0x49eb7f,_0x23954a){_0x49eb7f=_0x49eb7f-0x0;var _0x3ba51a=_0x8c39[_0x49eb7f];return _0x3ba51a;};'use strict';var moment=require(_0x98c3('0x0'));var BPromise=require(_0x98c3('0x1'));var util=require(_0x98c3('0x2'));var path=require(_0x98c3('0x3'));var _=require(_0x98c3('0x4'));var juice=require(_0x98c3('0x5'));var Redis=require('ioredis');var qs=require(_0x98c3('0x6'));var logger=require(_0x98c3('0x7'))('api');var config=require(_0x98c3('0x8'));var db=require(_0x98c3('0x9'))['db'];config[_0x98c3('0xa')]=_[_0x98c3('0xb')](config[_0x98c3('0xa')],{'host':_0x98c3('0xc'),'port':0x18eb});var socket=require(_0x98c3('0xd'))(new Redis(config['redis']));require(_0x98c3('0xe'))[_0x98c3('0xf')](socket);var jayson=require(_0x98c3('0x10'));var client=jayson['client'][_0x98c3('0x11')]({'port':0x232b});function respondWithRpcPromise(_0x3f0436,_0x439ca8,_0x3ba02b,_0x236c07){return new BPromise(function(_0x119300,_0x11d583){var _0x549480=_0x236c07||client;return _0x549480[_0x98c3('0x12')](_0x3f0436,_0x3ba02b)[_0x98c3('0x13')](function(_0x1180d9){logger[_0x98c3('0x14')](_0x98c3('0x15'),_0x439ca8,'request\x20sent');logger[_0x98c3('0x16')]('MailAccount,\x20%s,\x20%s,\x20%s',_0x439ca8,_0x98c3('0x17'),JSON[_0x98c3('0x18')](_0x1180d9));if(_0x1180d9['error']){if(_0x1180d9[_0x98c3('0x19')][_0x98c3('0x1a')]===0x1f4){logger[_0x98c3('0x19')](_0x98c3('0x15'),_0x439ca8,_0x1180d9[_0x98c3('0x19')][_0x98c3('0x1b')]);return _0x11d583(_0x1180d9[_0x98c3('0x19')]['message']);}logger[_0x98c3('0x19')](_0x98c3('0x15'),_0x439ca8,_0x1180d9[_0x98c3('0x19')][_0x98c3('0x1b')]);return _0x119300(_0x1180d9[_0x98c3('0x19')][_0x98c3('0x1b')]);}else{logger[_0x98c3('0x14')]('MailAccount,\x20%s,\x20%s',_0x439ca8,'request\x20sent');_0x119300(_0x1180d9[_0x98c3('0x1c')]['message']);}})[_0x98c3('0x1d')](function(_0xda99b7){logger[_0x98c3('0x19')](_0x98c3('0x15'),_0x439ca8,_0xda99b7);_0x11d583(_0xda99b7);});});}function respondWithStatusCode(_0xd85337,_0x2ccaa9){_0x2ccaa9=_0x2ccaa9||0xcc;return function(_0x24bf45){if(_0x24bf45){return _0xd85337[_0x98c3('0x1e')](_0x2ccaa9);}return _0xd85337[_0x98c3('0x1f')](_0x2ccaa9)[_0x98c3('0x20')]();};}function respondWithResult(_0x32a784,_0x184893){_0x184893=_0x184893||0xc8;return function(_0xc9203c){if(_0xc9203c){return _0x32a784['status'](_0x184893)[_0x98c3('0x21')](_0xc9203c);}};}function respondWithFilteredResult(_0x5b2431,_0x3e5e06){return function(_0x411181){if(_0x411181){var _0x1faef6=typeof _0x3e5e06[_0x98c3('0x22')]==='undefined'&&typeof _0x3e5e06[_0x98c3('0x23')]===_0x98c3('0x24');var _0x170eea=_0x411181['count'];var _0x89d923=_0x1faef6?0x0:_0x3e5e06[_0x98c3('0x22')];var _0x3f73e6=_0x1faef6?_0x411181['count']:_0x3e5e06['offset']+_0x3e5e06[_0x98c3('0x23')];var _0x39ff0f;if(_0x3f73e6>=_0x170eea){_0x3f73e6=_0x170eea;_0x39ff0f=0xc8;}else{_0x39ff0f=0xce;}_0x5b2431[_0x98c3('0x1f')](_0x39ff0f);return _0x5b2431[_0x98c3('0x25')]('Content-Range',_0x89d923+'-'+_0x3f73e6+'/'+_0x170eea)[_0x98c3('0x21')](_0x411181);}return null;};}function saveUpdates(_0x4dd04a){return function(_0x3beb7e){if(_0x3beb7e){return _0x3beb7e['update'](_0x4dd04a)[_0x98c3('0x13')](function(_0x140109){return _0x140109;});}return null;};}function removeEntity(_0x45d986){return function(_0x54afae){if(_0x54afae){return _0x54afae['destroy']()[_0x98c3('0x13')](function(){var _0x14479d=_0x54afae['get']({'plain':!![]});var _0x30c9ea=_0x98c3('0x26');return db['UserProfileResource'][_0x98c3('0x27')]({'where':{'type':_0x30c9ea,'resourceId':_0x14479d['id']}})[_0x98c3('0x13')](function(){return _0x54afae;});})['then'](function(){_0x45d986[_0x98c3('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x191e7b){return function(_0x459562){if(!_0x459562){_0x191e7b[_0x98c3('0x1e')](0x194);}return _0x459562;};}function handleError(_0x39ba65,_0x56c128){_0x56c128=_0x56c128||0x1f4;return function(_0xb9cc6){logger['error'](_0xb9cc6[_0x98c3('0x28')]);if(_0xb9cc6[_0x98c3('0x29')]){delete _0xb9cc6[_0x98c3('0x29')];}_0x39ba65[_0x98c3('0x1f')](_0x56c128)[_0x98c3('0x2a')](_0xb9cc6);};}function getImapHost(_0x2d1288){switch(_0x2d1288){case _0x98c3('0x2b'):return _0x98c3('0x2c');case _0x98c3('0x2d'):return _0x98c3('0x2e');case _0x98c3('0x2f'):return _0x98c3('0x30');case _0x98c3('0x31'):return'outlook.office365.com';}throw new Error('Unknown\x20email\x20service\x20provider',_0x2d1288);}function getSmtpHost(_0x30555a){switch(_0x30555a){case'gmail':return _0x98c3('0x32');case _0x98c3('0x2d'):return _0x98c3('0x33');case _0x98c3('0x2f'):return _0x98c3('0x34');case _0x98c3('0x31'):return _0x98c3('0x35');}throw new Error('Unknown\x20email\x20service\x20provider',_0x30555a);}function getAuthenticationOptions(_0x2a6be0,_0x27cc27){var _0x179cf8={};var _0x4a4d6e={};if(_0x2a6be0){_0x179cf8[_0x98c3('0x36')]=_0x4a4d6e[_0x98c3('0x36')]=_0x27cc27['username'];_0x179cf8[_0x98c3('0x37')]=_0x4a4d6e[_0x98c3('0x38')]=_0x27cc27[_0x98c3('0x37')];if(_0x27cc27[_0x98c3('0x39')]){_0x179cf8['modernAuthentication']=_0x4a4d6e[_0x98c3('0x39')]=!![];_0x179cf8[_0x98c3('0x3a')]=_0x4a4d6e[_0x98c3('0x3a')]=_0x27cc27[_0x98c3('0x3a')];_0x179cf8['password']=_0x4a4d6e[_0x98c3('0x38')]=null;}else{_0x179cf8['CloudProviderId']=_0x4a4d6e[_0x98c3('0x3a')]=null;}_0x179cf8[_0x98c3('0x3b')]=getImapHost(_0x2a6be0);_0x179cf8[_0x98c3('0x3c')]=0x3e1;_0x4a4d6e[_0x98c3('0x3b')]=getSmtpHost(_0x2a6be0);_0x4a4d6e['port']=0x24b;_0x4a4d6e[_0x98c3('0x3d')]=![];_0x179cf8['service']=_0x4a4d6e[_0x98c3('0x3e')]=null;}else{if(_0x27cc27[_0x98c3('0x3f')]){_0x179cf8[_0x98c3('0x36')]=_0x4a4d6e[_0x98c3('0x36')]=_0x27cc27['username'];_0x179cf8['password']=_0x4a4d6e[_0x98c3('0x38')]=_0x27cc27[_0x98c3('0x37')];}else{_0x179cf8[_0x98c3('0x3f')]=_0x4a4d6e['authentication']=![];_0x179cf8[_0x98c3('0x36')]=_0x4a4d6e[_0x98c3('0x36')]=null;_0x179cf8['password']=_0x4a4d6e['pass']=null;}_0x179cf8['host']=_0x27cc27[_0x98c3('0x40')]['host'];_0x179cf8['port']=_0x27cc27[_0x98c3('0x40')]['port'];_0x4a4d6e[_0x98c3('0x3b')]=_0x27cc27[_0x98c3('0x41')][_0x98c3('0x3b')];_0x4a4d6e[_0x98c3('0x3c')]=_0x27cc27[_0x98c3('0x41')]['port'];}return{'Imap':_0x179cf8,'Smtp':_0x4a4d6e};}exports['index']=function(_0xad3185,_0x2c8962){var _0x30aa1a={'include':[{'model':db[_0x98c3('0x42')],'as':_0x98c3('0x40')},{'model':db[_0x98c3('0x43')],'as':_0x98c3('0x41')},{'model':db[_0x98c3('0x44')],'as':_0x98c3('0x45')}]},_0x8031d7={},_0x18e9d2={'count':0x0,'rows':[]};var _0x45cf86=_[_0x98c3('0x46')](db[_0x98c3('0x47')][_0x98c3('0x48')],function(_0x2d04e5){return{'name':_0x2d04e5[_0x98c3('0x49')],'type':_0x2d04e5[_0x98c3('0x4a')][_0x98c3('0x4b')]};});_0x8031d7['model']=_[_0x98c3('0x46')](_0x45cf86,'name');_0x8031d7[_0x98c3('0x4c')]=_['keys'](_0xad3185[_0x98c3('0x4c')]);_0x8031d7['filters']=_[_0x98c3('0x4d')](_0x8031d7[_0x98c3('0x4e')],_0x8031d7['query']);_0x30aa1a['attributes']=_[_0x98c3('0x4d')](_0x8031d7[_0x98c3('0x4e')],qs[_0x98c3('0x4f')](_0xad3185['query'][_0x98c3('0x4f')]));_0x30aa1a['attributes']=_0x30aa1a[_0x98c3('0x50')][_0x98c3('0x51')]?_0x30aa1a[_0x98c3('0x50')]:_0x8031d7[_0x98c3('0x4e')];if(!_0xad3185['query'][_0x98c3('0x52')](_0x98c3('0x53'))){_0x30aa1a['limit']=qs[_0x98c3('0x23')](_0xad3185[_0x98c3('0x4c')]['limit']);_0x30aa1a[_0x98c3('0x22')]=qs[_0x98c3('0x22')](_0xad3185['query']['offset']);}_0x30aa1a['order']=qs[_0x98c3('0x54')](_0xad3185['query'][_0x98c3('0x54')]);_0x30aa1a['where']=qs[_0x98c3('0x55')](_[_0x98c3('0x56')](_0xad3185[_0x98c3('0x4c')],_0x8031d7[_0x98c3('0x55')]),_0x45cf86);if(_0xad3185[_0x98c3('0x4c')][_0x98c3('0x57')]){_0x30aa1a['where']=_[_0x98c3('0x58')](_0x30aa1a[_0x98c3('0x59')],{'$or':_[_0x98c3('0x46')](_0x45cf86,function(_0x3ff100){if(_0x3ff100[_0x98c3('0x4a')]!==_0x98c3('0x5a')){var _0xfeb1cd={};_0xfeb1cd[_0x3ff100[_0x98c3('0x29')]]={'$like':'%'+_0xad3185['query']['filter']+'%'};return _0xfeb1cd;}})});}_0x30aa1a=_[_0x98c3('0x58')]({},_0x30aa1a,_0xad3185[_0x98c3('0x5b')]);var _0x4bd187={'where':_0x30aa1a[_0x98c3('0x59')]};return db[_0x98c3('0x47')]['count'](_0x4bd187)[_0x98c3('0x13')](function(_0x23b988){_0x18e9d2[_0x98c3('0x5c')]=_0x23b988;if(_0xad3185[_0x98c3('0x4c')]['includeAll']){_0x30aa1a[_0x98c3('0x5d')]=[{'all':!![]}];}return db[_0x98c3('0x47')][_0x98c3('0x5e')](_0x30aa1a);})[_0x98c3('0x13')](function(_0x1a2990){_0x18e9d2[_0x98c3('0x5f')]=_0x1a2990;return _0x18e9d2;})['then'](respondWithFilteredResult(_0x2c8962,_0x30aa1a))[_0x98c3('0x1d')](handleError(_0x2c8962,null));};exports['show']=function(_0x481505,_0x5a1f93){var _0x3236d4={'raw':![],'where':{'id':_0x481505[_0x98c3('0x60')]['id']},'include':[{'model':db['MailServerIn'],'as':_0x98c3('0x40')},{'model':db[_0x98c3('0x43')],'as':_0x98c3('0x41')},{'model':db[_0x98c3('0x44')],'as':_0x98c3('0x45')}]},_0x27faa8={};_0x27faa8[_0x98c3('0x4e')]=_[_0x98c3('0x61')](db['MailAccount'][_0x98c3('0x48')]);_0x27faa8[_0x98c3('0x4c')]=_[_0x98c3('0x61')](_0x481505[_0x98c3('0x4c')]);_0x27faa8['filters']=_['intersection'](_0x27faa8[_0x98c3('0x4e')],_0x27faa8[_0x98c3('0x4c')]);_0x3236d4[_0x98c3('0x50')]=_[_0x98c3('0x4d')](_0x27faa8[_0x98c3('0x4e')],qs[_0x98c3('0x4f')](_0x481505[_0x98c3('0x4c')][_0x98c3('0x4f')]));_0x3236d4[_0x98c3('0x50')]=_0x3236d4[_0x98c3('0x50')]['length']?_0x3236d4[_0x98c3('0x50')]:_0x27faa8['model'];if(_0x481505[_0x98c3('0x4c')][_0x98c3('0x62')]){_0x3236d4[_0x98c3('0x5d')]=[{'all':!![]}];}_0x3236d4=_[_0x98c3('0x58')]({},_0x3236d4,_0x481505['options']);return db[_0x98c3('0x47')][_0x98c3('0x63')](_0x3236d4)[_0x98c3('0x13')](handleEntityNotFound(_0x5a1f93,null))['then'](respondWithResult(_0x5a1f93,null))[_0x98c3('0x1d')](handleError(_0x5a1f93,null));};exports[_0x98c3('0x64')]=function(_0x5f56b9,_0x1a5d8a){if(_0x5f56b9[_0x98c3('0x65')]['id']){delete _0x5f56b9[_0x98c3('0x65')]['id'];}var _0x34ef75=_0x5f56b9['body'][_0x98c3('0x66')]===_0x98c3('0x67')?null:_0x5f56b9['body']['provider'];var _0x24d288=_0x5f56b9[_0x98c3('0x65')][_0x98c3('0x40')]||{};var _0x15d8db=_0x5f56b9[_0x98c3('0x65')]['Smtp']||{};if(_0x34ef75){_0x24d288[_0x98c3('0x3b')]=getImapHost(_0x34ef75);_0x24d288['port']=0x3e1;_0x15d8db[_0x98c3('0x3b')]=getSmtpHost(_0x34ef75);_0x15d8db[_0x98c3('0x3c')]=0x24b;_0x15d8db[_0x98c3('0x3d')]=![];}if(_0x15d8db[_0x98c3('0x39')]){_0x15d8db[_0x98c3('0x3d')]=![];}else{_0x15d8db['CloudProviderId']=null;}if(!_0x24d288['modernAuthentication'])_0x24d288[_0x98c3('0x3a')]=null;_0x5f56b9[_0x98c3('0x65')][_0x98c3('0x40')]=_0x24d288;_0x5f56b9[_0x98c3('0x65')]['Smtp']=_0x15d8db;return db['MailAccount'][_0x98c3('0x63')]({'where':{'id':_0x5f56b9[_0x98c3('0x60')]['id']},'include':[{'model':db[_0x98c3('0x42')],'as':'Imap'},{'model':db[_0x98c3('0x43')],'as':_0x98c3('0x41')},{'model':db[_0x98c3('0x44')],'as':_0x98c3('0x45')}]})['then'](handleEntityNotFound(_0x1a5d8a,null))[_0x98c3('0x13')](function(_0x4f662d){if(!_0x4f662d)throw new Error(_0x98c3('0x68'));if(_0x4f662d[_0x98c3('0x3e')])delete _0x5f56b9[_0x98c3('0x65')][_0x98c3('0x40')];return _0x4f662d;})['then'](saveUpdates(_0x5f56b9['body'],null))[_0x98c3('0x13')](function(_0x5dc84a){if(!_0x5f56b9[_0x98c3('0x65')][_0x98c3('0x40')])return _0x5dc84a;return db[_0x98c3('0x42')][_0x98c3('0x64')](_0x5f56b9[_0x98c3('0x65')][_0x98c3('0x40')],{'where':{'MailAccountId':_0x5dc84a['id']}})[_0x98c3('0x13')](function(){return _0x5dc84a;});})['then'](function(_0x18af7c){if(!_0x5f56b9['body']['Smtp'])return _0x18af7c;return db[_0x98c3('0x43')][_0x98c3('0x64')](_0x5f56b9[_0x98c3('0x65')][_0x98c3('0x41')],{'where':{'MailAccountId':_0x18af7c['id']}})[_0x98c3('0x13')](function(){return _0x18af7c;});})['then'](respondWithResult(_0x1a5d8a,null))[_0x98c3('0x1d')](handleError(_0x1a5d8a,null));};exports[_0x98c3('0x69')]=function(_0x3b2c96,_0x5e52d2){return db[_0x98c3('0x47')][_0x98c3('0x69')]()['then'](respondWithResult(_0x5e52d2,null))[_0x98c3('0x1d')](handleError(_0x5e52d2,null));};exports['addDisposition']=function(_0x5de901,_0x2793a7){if(_0x5de901[_0x98c3('0x65')]['id']){delete _0x5de901[_0x98c3('0x65')]['id'];}return db[_0x98c3('0x47')][_0x98c3('0x63')]({'where':{'id':_0x5de901[_0x98c3('0x60')]['id']}})['then'](handleEntityNotFound(_0x2793a7,null))[_0x98c3('0x13')](function(_0x54c04a){if(_0x54c04a){_0x5de901['body'][_0x98c3('0x6a')]=_0x54c04a['id'];return db['Disposition'][_0x98c3('0x6b')](_0x5de901['body']);}})[_0x98c3('0x13')](respondWithResult(_0x2793a7,null))[_0x98c3('0x1d')](handleError(_0x2793a7,null));};exports[_0x98c3('0x6c')]=function(_0xa9a8a2,_0x3c2384){var _0x464666={'raw':![],'where':{}};var _0x277ed5={};var _0x17c64c={'count':0x0,'rows':[]};return db[_0x98c3('0x47')][_0x98c3('0x6d')]({'where':{'id':_0xa9a8a2[_0x98c3('0x60')]['id']}})[_0x98c3('0x13')](handleEntityNotFound(_0x3c2384,null))[_0x98c3('0x13')](function(_0x60782e){if(_0x60782e){_0x277ed5[_0x98c3('0x4e')]=_[_0x98c3('0x61')](db[_0x98c3('0x6e')]['rawAttributes']);_0x277ed5[_0x98c3('0x4c')]=_['keys'](_0xa9a8a2[_0x98c3('0x4c')]);_0x277ed5[_0x98c3('0x55')]=_[_0x98c3('0x4d')](_0x277ed5[_0x98c3('0x4e')],_0x277ed5[_0x98c3('0x4c')]);_0x464666[_0x98c3('0x50')]=_[_0x98c3('0x4d')](_0x277ed5['model'],qs['fields'](_0xa9a8a2[_0x98c3('0x4c')][_0x98c3('0x4f')]));_0x464666[_0x98c3('0x50')]=_0x464666['attributes']['length']?_0x464666[_0x98c3('0x50')]:_0x277ed5['model'];if(!_0xa9a8a2[_0x98c3('0x4c')][_0x98c3('0x52')](_0x98c3('0x53'))){_0x464666[_0x98c3('0x23')]=qs['limit'](_0xa9a8a2[_0x98c3('0x4c')][_0x98c3('0x23')]);_0x464666[_0x98c3('0x22')]=qs[_0x98c3('0x22')](_0xa9a8a2['query'][_0x98c3('0x22')]);}_0x464666[_0x98c3('0x6f')]=qs[_0x98c3('0x54')](_0xa9a8a2[_0x98c3('0x4c')][_0x98c3('0x54')]);_0x464666[_0x98c3('0x59')]=qs['filters'](_['pick'](_0xa9a8a2['query'],_0x277ed5['filters']));_0x464666['where'][_0x98c3('0x6a')]=_0x60782e['id'];if(_0xa9a8a2['query'][_0x98c3('0x57')]){_0x464666[_0x98c3('0x59')]=_['merge'](_0x464666[_0x98c3('0x59')],{'$or':_[_0x98c3('0x46')](_0x464666[_0x98c3('0x50')],function(_0x35f883){var _0x6a9cbc={};_0x6a9cbc[_0x35f883]={'$like':'%'+_0xa9a8a2[_0x98c3('0x4c')]['filter']+'%'};return _0x6a9cbc;})});}_0x464666=_['merge']({},_0x464666,_0xa9a8a2[_0x98c3('0x5b')]);return db[_0x98c3('0x6e')][_0x98c3('0x5c')]({'where':_0x464666[_0x98c3('0x59')]})[_0x98c3('0x13')](function(_0x39f88d){_0x17c64c[_0x98c3('0x5c')]=_0x39f88d;if(_0xa9a8a2[_0x98c3('0x4c')][_0x98c3('0x62')]){_0x464666['include']=[{'all':!![]}];}return db[_0x98c3('0x6e')][_0x98c3('0x5e')](_0x464666);})[_0x98c3('0x13')](function(_0x2484a2){_0x17c64c['rows']=_0x2484a2;return _0x17c64c;});}})[_0x98c3('0x13')](respondWithFilteredResult(_0x3c2384,_0x464666))[_0x98c3('0x1d')](handleError(_0x3c2384,null));};exports[_0x98c3('0x70')]=function(_0x1fb444,_0x59d6a5){return db['MailAccount'][_0x98c3('0x63')]({'where':{'id':_0x1fb444[_0x98c3('0x60')]['id']}})[_0x98c3('0x13')](handleEntityNotFound(_0x59d6a5,null))['then'](function(_0x425b35){if(_0x425b35){return _0x425b35[_0x98c3('0x70')](_0x1fb444[_0x98c3('0x4c')][_0x98c3('0x71')]);}})['then'](respondWithStatusCode(_0x59d6a5,null))[_0x98c3('0x1d')](handleError(_0x59d6a5,null));};exports[_0x98c3('0x72')]=function(_0x151b1a,_0x13934e){if(_0x151b1a['body']['id']){delete _0x151b1a[_0x98c3('0x65')]['id'];}return db[_0x98c3('0x47')][_0x98c3('0x63')]({'where':{'id':_0x151b1a[_0x98c3('0x60')]['id']}})[_0x98c3('0x13')](handleEntityNotFound(_0x13934e,null))[_0x98c3('0x13')](function(_0x1cbc15){if(_0x1cbc15){_0x151b1a[_0x98c3('0x65')][_0x98c3('0x6a')]=_0x1cbc15['id'];return db[_0x98c3('0x73')][_0x98c3('0x6b')](_0x151b1a['body']);}})[_0x98c3('0x13')](respondWithResult(_0x13934e,null))['catch'](handleError(_0x13934e,null));};exports[_0x98c3('0x74')]=function(_0x185638,_0x253945){var _0x1dc0ac={'raw':![],'where':{}};var _0x210d47={};var _0x1c89fb={'count':0x0,'rows':[]};return db[_0x98c3('0x47')][_0x98c3('0x6d')]({'where':{'id':_0x185638[_0x98c3('0x60')]['id']}})['then'](handleEntityNotFound(_0x253945,null))[_0x98c3('0x13')](function(_0x46781d){if(_0x46781d){_0x210d47[_0x98c3('0x4e')]=_['keys'](db[_0x98c3('0x73')]['rawAttributes']);_0x210d47[_0x98c3('0x4c')]=_[_0x98c3('0x61')](_0x185638[_0x98c3('0x4c')]);_0x210d47[_0x98c3('0x55')]=_[_0x98c3('0x4d')](_0x210d47[_0x98c3('0x4e')],_0x210d47[_0x98c3('0x4c')]);_0x1dc0ac[_0x98c3('0x50')]=_[_0x98c3('0x4d')](_0x210d47['model'],qs[_0x98c3('0x4f')](_0x185638[_0x98c3('0x4c')][_0x98c3('0x4f')]));_0x1dc0ac[_0x98c3('0x50')]=_0x1dc0ac['attributes'][_0x98c3('0x51')]?_0x1dc0ac[_0x98c3('0x50')]:_0x210d47[_0x98c3('0x4e')];if(!_0x185638['query'][_0x98c3('0x52')](_0x98c3('0x53'))){_0x1dc0ac[_0x98c3('0x23')]=qs[_0x98c3('0x23')](_0x185638[_0x98c3('0x4c')][_0x98c3('0x23')]);_0x1dc0ac[_0x98c3('0x22')]=qs[_0x98c3('0x22')](_0x185638[_0x98c3('0x4c')][_0x98c3('0x22')]);}_0x1dc0ac[_0x98c3('0x6f')]=qs[_0x98c3('0x54')](_0x185638[_0x98c3('0x4c')][_0x98c3('0x54')]);_0x1dc0ac[_0x98c3('0x59')]=qs[_0x98c3('0x55')](_['pick'](_0x185638[_0x98c3('0x4c')],_0x210d47['filters']));_0x1dc0ac[_0x98c3('0x59')][_0x98c3('0x6a')]=_0x46781d['id'];if(_0x185638[_0x98c3('0x4c')][_0x98c3('0x57')]){_0x1dc0ac[_0x98c3('0x59')]=_[_0x98c3('0x58')](_0x1dc0ac[_0x98c3('0x59')],{'$or':_[_0x98c3('0x46')](_0x1dc0ac[_0x98c3('0x50')],function(_0x324f5b){var _0x6706eb={};_0x6706eb[_0x324f5b]={'$like':'%'+_0x185638[_0x98c3('0x4c')][_0x98c3('0x57')]+'%'};return _0x6706eb;})});}_0x1dc0ac=_['merge']({},_0x1dc0ac,_0x185638[_0x98c3('0x5b')]);return db[_0x98c3('0x73')]['count']({'where':_0x1dc0ac[_0x98c3('0x59')]})[_0x98c3('0x13')](function(_0x1adb1d){_0x1c89fb[_0x98c3('0x5c')]=_0x1adb1d;if(_0x185638[_0x98c3('0x4c')][_0x98c3('0x62')]){_0x1dc0ac[_0x98c3('0x5d')]=[{'all':!![]}];}return db[_0x98c3('0x73')]['findAll'](_0x1dc0ac);})[_0x98c3('0x13')](function(_0xe25d81){_0x1c89fb[_0x98c3('0x5f')]=_0xe25d81;return _0x1c89fb;});}})[_0x98c3('0x13')](respondWithFilteredResult(_0x253945,_0x1dc0ac))['catch'](handleError(_0x253945,null));};exports[_0x98c3('0x75')]=function(_0x5db499,_0x142f59){return db[_0x98c3('0x47')][_0x98c3('0x63')]({'where':{'id':_0x5db499[_0x98c3('0x60')]['id']}})[_0x98c3('0x13')](handleEntityNotFound(_0x142f59,null))['then'](function(_0x22d608){if(_0x22d608){return _0x22d608['removeAnswers'](_0x5db499['query'][_0x98c3('0x71')]);}})[_0x98c3('0x13')](respondWithStatusCode(_0x142f59,null))['catch'](handleError(_0x142f59,null));};exports[_0x98c3('0x6b')]=function(_0x3600e8,_0x43975d){var _0x596c5e={'name':_0x3600e8[_0x98c3('0x65')][_0x98c3('0x29')],'key':_0x3600e8[_0x98c3('0x65')][_0x98c3('0x4b')],'provider':_0x3600e8[_0x98c3('0x65')]['provider']===_0x98c3('0x67')?null:_0x3600e8['body'][_0x98c3('0x66')],'email':_0x3600e8[_0x98c3('0x65')][_0x98c3('0x76')],'ListId':_0x3600e8[_0x98c3('0x65')][_0x98c3('0x77')],'active':!_[_0x98c3('0x78')](_0x3600e8['body']['active'])?_0x3600e8['body'][_0x98c3('0x79')]:!![],'description':_0x3600e8[_0x98c3('0x65')]['description']||null};var _0x4bf76a=getAuthenticationOptions(_0x596c5e[_0x98c3('0x66')],_0x3600e8[_0x98c3('0x65')]);_0x596c5e[_0x98c3('0x40')]=_0x4bf76a['Imap'];_0x596c5e['Smtp']=_0x4bf76a[_0x98c3('0x41')];return db[_0x98c3('0x47')][_0x98c3('0x6b')](_0x596c5e,{'include':[{'model':db[_0x98c3('0x43')],'as':'Smtp'},{'model':db[_0x98c3('0x42')],'as':_0x98c3('0x40')}]})['then'](function(_0x4f40f2){var _0x14008d=_0x3600e8['user']['get']({'plain':!![]});if(!_0x14008d)throw new Error(_0x98c3('0x7a'));if(_0x14008d[_0x98c3('0x7b')]===_0x98c3('0x36')){var _0x42734=_0x4f40f2[_0x98c3('0x7c')]({'plain':!![]});return db[_0x98c3('0x7d')]['find']({'where':{'name':_0x98c3('0x26'),'userProfileId':_0x14008d[_0x98c3('0x7e')]},'raw':!![]})['then'](function(_0x5405e4){if(_0x5405e4&&_0x5405e4[_0x98c3('0x7f')]===0x0){return db[_0x98c3('0x80')][_0x98c3('0x6b')]({'name':_0x42734['name'],'resourceId':_0x42734['id'],'type':_0x5405e4['name'],'sectionId':_0x5405e4['id']},{})[_0x98c3('0x13')](function(){return _0x4f40f2;});}else{return _0x4f40f2;}})[_0x98c3('0x1d')](function(_0x3aad2b){logger[_0x98c3('0x19')](_0x98c3('0x81'),_0x3aad2b);throw _0x3aad2b;});}return _0x4f40f2;})[_0x98c3('0x13')](respondWithResult(_0x43975d,0xc9))[_0x98c3('0x1d')](handleError(_0x43975d,null));};exports['getImap']=function(_0x2c27a0,_0x46abe0){return db[_0x98c3('0x47')][_0x98c3('0x6d')]({'where':{'id':_0x2c27a0[_0x98c3('0x60')]['id']}})[_0x98c3('0x13')](handleEntityNotFound(_0x46abe0,null))[_0x98c3('0x13')](function(_0x515306){if(_0x515306){return _0x515306[_0x98c3('0x82')]();}return null;})[_0x98c3('0x13')](respondWithResult(_0x46abe0,null))['catch'](handleError(_0x46abe0,null));};exports['addImap']=function(_0x2ec00c,_0xef1706){if(_0x2ec00c['body']['id']){delete _0x2ec00c[_0x98c3('0x65')]['id'];}return db[_0x98c3('0x47')][_0x98c3('0x63')]({'where':{'id':_0x2ec00c[_0x98c3('0x60')]['id']}})['then'](handleEntityNotFound(_0xef1706,null))['then'](function(_0x525462){if(_0x525462){_0x2ec00c[_0x98c3('0x65')][_0x98c3('0x6a')]=_0x525462['id'];return db[_0x98c3('0x42')]['create'](_0x2ec00c[_0x98c3('0x65')]);}})['then'](respondWithResult(_0xef1706,null))[_0x98c3('0x1d')](handleError(_0xef1706,null));};exports[_0x98c3('0x83')]=function(_0x2a9f35,_0x40141d){return db[_0x98c3('0x47')][_0x98c3('0x6d')]({'where':{'id':_0x2a9f35['params']['id']}})['then'](handleEntityNotFound(_0x40141d,null))[_0x98c3('0x13')](function(_0x5aac07){if(_0x5aac07){return _0x5aac07[_0x98c3('0x84')](null);}return null;})[_0x98c3('0x13')](respondWithStatusCode(_0x40141d,null))[_0x98c3('0x1d')](handleError(_0x40141d,null));};exports['getSmtp']=function(_0x5b8111,_0xe0a184){return db[_0x98c3('0x47')]['findOne']({'where':{'id':_0x5b8111['params']['id']}})[_0x98c3('0x13')](handleEntityNotFound(_0xe0a184,null))[_0x98c3('0x13')](function(_0x1e14ec){if(_0x1e14ec){return _0x1e14ec[_0x98c3('0x85')]();}return null;})[_0x98c3('0x13')](respondWithResult(_0xe0a184,null))[_0x98c3('0x1d')](handleError(_0xe0a184,null));};exports['addSmtp']=function(_0x1cef8c,_0x2e1aa7){if(_0x1cef8c[_0x98c3('0x65')]['id']){delete _0x1cef8c['body']['id'];}return db[_0x98c3('0x47')][_0x98c3('0x63')]({'where':{'id':_0x1cef8c[_0x98c3('0x60')]['id']}})['then'](handleEntityNotFound(_0x2e1aa7,null))['then'](function(_0x5f4341){if(_0x5f4341){_0x1cef8c[_0x98c3('0x65')]['MailAccountId']=_0x5f4341['id'];return db[_0x98c3('0x43')][_0x98c3('0x6b')](_0x1cef8c[_0x98c3('0x65')]);}})[_0x98c3('0x13')](respondWithResult(_0x2e1aa7,null))[_0x98c3('0x1d')](handleError(_0x2e1aa7,null));};exports[_0x98c3('0x86')]=function(_0xfaec9,_0xd40aaa){return db[_0x98c3('0x47')][_0x98c3('0x6d')]({'where':{'id':_0xfaec9[_0x98c3('0x60')]['id']}})[_0x98c3('0x13')](handleEntityNotFound(_0xd40aaa,null))[_0x98c3('0x13')](function(_0x43c619){if(_0x43c619){return _0x43c619[_0x98c3('0x87')](null);}return null;})[_0x98c3('0x13')](respondWithStatusCode(_0xd40aaa,null))['catch'](handleError(_0xd40aaa,null));};exports[_0x98c3('0x88')]=function(_0x455354,_0x130c3b){return db['MailInteraction'][_0x98c3('0x63')]({'where':{'id':_0x455354['params']['id']}})[_0x98c3('0x13')](handleEntityNotFound(_0x130c3b,null))['then'](function(_0x32e617){if(_0x32e617){return _0x32e617[_0x98c3('0x88')](_0x455354['body'][_0x98c3('0x71')],_[_0x98c3('0x89')](_0x455354[_0x98c3('0x65')],[_0x98c3('0x71'),'id'])||{});}})[_0x98c3('0x13')](respondWithResult(_0x130c3b,null))[_0x98c3('0x1d')](handleError(_0x130c3b,null));};exports[_0x98c3('0x8a')]=function(_0x1b1ecc,_0x2b0fc0){var _0x80ea5f={'raw':![],'where':{}};var _0x4a4a5a={};var _0xd2dc2c={'count':0x0,'rows':[]};return db[_0x98c3('0x47')][_0x98c3('0x6d')]({'where':{'id':_0x1b1ecc[_0x98c3('0x60')]['id']}})[_0x98c3('0x13')](handleEntityNotFound(_0x2b0fc0,null))[_0x98c3('0x13')](function(_0x36e770){if(_0x36e770){_0x4a4a5a[_0x98c3('0x4e')]=_[_0x98c3('0x61')](db['MailInteraction'][_0x98c3('0x48')]);_0x4a4a5a[_0x98c3('0x4c')]=_[_0x98c3('0x61')](_0x1b1ecc[_0x98c3('0x4c')]);_0x4a4a5a[_0x98c3('0x55')]=_[_0x98c3('0x4d')](_0x4a4a5a[_0x98c3('0x4e')],_0x4a4a5a['query']);_0x80ea5f[_0x98c3('0x50')]=_[_0x98c3('0x4d')](_0x4a4a5a[_0x98c3('0x4e')],qs[_0x98c3('0x4f')](_0x1b1ecc[_0x98c3('0x4c')]['fields']));_0x80ea5f[_0x98c3('0x50')]=_0x80ea5f[_0x98c3('0x50')]['length']?_0x80ea5f['attributes']:_0x4a4a5a['model'];if(!_0x1b1ecc[_0x98c3('0x4c')][_0x98c3('0x52')](_0x98c3('0x53'))){_0x80ea5f[_0x98c3('0x23')]=qs[_0x98c3('0x23')](_0x1b1ecc[_0x98c3('0x4c')][_0x98c3('0x23')]);_0x80ea5f[_0x98c3('0x22')]=qs[_0x98c3('0x22')](_0x1b1ecc[_0x98c3('0x4c')][_0x98c3('0x22')]);}_0x80ea5f['order']=qs[_0x98c3('0x54')](_0x1b1ecc[_0x98c3('0x4c')][_0x98c3('0x54')]);_0x80ea5f[_0x98c3('0x59')]=qs[_0x98c3('0x55')](_['pick'](_0x1b1ecc[_0x98c3('0x4c')],_0x4a4a5a[_0x98c3('0x55')]));_0x80ea5f[_0x98c3('0x59')][_0x98c3('0x6a')]=_0x36e770['id'];if(_0x1b1ecc[_0x98c3('0x4c')][_0x98c3('0x57')]){_0x80ea5f[_0x98c3('0x59')]=_[_0x98c3('0x58')](_0x80ea5f[_0x98c3('0x59')],{'$or':_[_0x98c3('0x46')](_0x80ea5f[_0x98c3('0x50')],function(_0x211d7e){var _0x3e48eb={};_0x3e48eb[_0x211d7e]={'$like':'%'+_0x1b1ecc[_0x98c3('0x4c')][_0x98c3('0x57')]+'%'};return _0x3e48eb;})});}_0x80ea5f=_['merge']({},_0x80ea5f,_0x1b1ecc['options']);return db[_0x98c3('0x8b')]['count']({'where':_0x80ea5f[_0x98c3('0x59')]})[_0x98c3('0x13')](function(_0x956c35){_0xd2dc2c[_0x98c3('0x5c')]=_0x956c35;if(_0x1b1ecc[_0x98c3('0x4c')][_0x98c3('0x62')]){_0x80ea5f[_0x98c3('0x5d')]=[{'model':db[_0x98c3('0x8c')],'as':'Contact','required':![]},{'model':db['User'],'as':'Owner','attributes':[_0x98c3('0x29'),_0x98c3('0x8d'),_0x98c3('0x8e')],'required':![]},{'model':db[_0x98c3('0x8f')],'as':_0x98c3('0x90'),'attributes':['id',_0x98c3('0x29'),_0x98c3('0x91')],'where':_0x1b1ecc[_0x98c3('0x4c')][_0x98c3('0x92')]?{'id':_0x1b1ecc[_0x98c3('0x4c')][_0x98c3('0x92')]}:undefined,'required':_0x1b1ecc[_0x98c3('0x4c')][_0x98c3('0x92')]?!![]:![]}];}return db[_0x98c3('0x8b')]['findAll'](_0x80ea5f);})[_0x98c3('0x13')](function(_0x242d62){_0xd2dc2c['rows']=_0x242d62;return _0xd2dc2c;});}})[_0x98c3('0x13')](respondWithFilteredResult(_0x2b0fc0,_0x80ea5f))['catch'](handleError(_0x2b0fc0,null));};exports[_0x98c3('0x93')]=function addApplications(_0x1edaea,_0x46c392){var _0x2761e3=_0x1edaea[_0x98c3('0x60')]['id'];var _0x41bf11=_0x1edaea[_0x98c3('0x65')];var _0x51b5f3=0xc8;var _0x516b44=null;return db[_0x98c3('0x94')][_0x98c3('0x95')]({'isolationLevel':db[_0x98c3('0x94')][_0x98c3('0x96')][_0x98c3('0x97')][_0x98c3('0x98')]},function(_0x240efe){return db[_0x98c3('0x47')][_0x98c3('0x6d')]({'where':{'id':_0x2761e3},'transaction':_0x240efe})[_0x98c3('0x13')](function(_0x44aa85){if(_0x44aa85){return db[_0x98c3('0x99')][_0x98c3('0x27')]({'where':{'MailAccountId':_0x2761e3},'transaction':_0x240efe})[_0x98c3('0x13')](function(){var _0x3fa64a=_[_0x98c3('0x46')](_0x41bf11,function(_0x42932c){_0x42932c[_0x98c3('0x6a')]=_0x2761e3;return _0x42932c;});return db[_0x98c3('0x99')][_0x98c3('0x9a')](_0x3fa64a,{'transaction':_0x240efe});});}else{_0x51b5f3=0x194;_0x516b44=[];}});})[_0x98c3('0x13')](function(){if(_0x51b5f3!==0x194){return db[_0x98c3('0x99')][_0x98c3('0x9b')]({'where':{'MailAccountId':_0x2761e3},'order':'priority'})['then'](function(_0x448f85){_0x516b44=_0x448f85;});}})[_0x98c3('0x1d')](function(_0x14fb7){_0x51b5f3=0x1f4;logger[_0x98c3('0x19')](_0x14fb7[_0x98c3('0x28')]);if(_0x14fb7[_0x98c3('0x29')]){delete _0x14fb7['name'];}_0x516b44=_0x14fb7;})[_0x98c3('0x9c')](function(){if(_0x516b44===null){_0x46c392[_0x98c3('0x1e')](_0x51b5f3);}else{if(_0x51b5f3===0x1f4){_0x46c392[_0x98c3('0x1f')](_0x51b5f3)[_0x98c3('0x2a')](_0x516b44);}else{_0x46c392[_0x98c3('0x1f')](_0x51b5f3)[_0x98c3('0x21')](_0x516b44);}}});};exports['getApplications']=function(_0x30eb69,_0x1e1c13){var _0xafc59f={};var _0x13591e={};var _0x2a805d;var _0x5bd570;return db['MailAccount'][_0x98c3('0x6d')]({'where':{'id':_0x30eb69['params']['id']}})[_0x98c3('0x13')](handleEntityNotFound(_0x1e1c13,null))[_0x98c3('0x13')](function(_0x493875){if(_0x493875){_0x2a805d=_0x493875;_0x13591e[_0x98c3('0x4e')]=_['keys'](db[_0x98c3('0x99')][_0x98c3('0x48')]);_0x13591e[_0x98c3('0x4c')]=_['keys'](_0x30eb69[_0x98c3('0x4c')]);_0x13591e[_0x98c3('0x55')]=_[_0x98c3('0x4d')](_0x13591e[_0x98c3('0x4e')],_0x13591e[_0x98c3('0x4c')]);_0xafc59f[_0x98c3('0x50')]=_['intersection'](_0x13591e['model'],qs[_0x98c3('0x4f')](_0x30eb69[_0x98c3('0x4c')][_0x98c3('0x4f')]));_0xafc59f['attributes']=_0xafc59f[_0x98c3('0x50')][_0x98c3('0x51')]?_0xafc59f[_0x98c3('0x50')]:_0x13591e['model'];_0xafc59f[_0x98c3('0x6f')]=qs[_0x98c3('0x54')](_0x30eb69[_0x98c3('0x4c')][_0x98c3('0x54')]);_0xafc59f[_0x98c3('0x59')]=qs[_0x98c3('0x55')](_[_0x98c3('0x56')](_0x30eb69[_0x98c3('0x4c')],_0x13591e[_0x98c3('0x55')]));if(_0x30eb69['query']['filter']){_0xafc59f[_0x98c3('0x59')]=_[_0x98c3('0x58')](_0xafc59f[_0x98c3('0x59')],{'$or':_[_0x98c3('0x46')](_0xafc59f['attributes'],function(_0x255705){var _0x1e7f1f={};_0x1e7f1f[_0x255705]={'$like':'%'+_0x30eb69[_0x98c3('0x4c')][_0x98c3('0x57')]+'%'};return _0x1e7f1f;})});}_0xafc59f=_['merge']({},_0xafc59f,_0x30eb69['options']);return _0x2a805d[_0x98c3('0x9d')](_0xafc59f);}})[_0x98c3('0x13')](function(_0x1cfa87){if(_0x1cfa87){_0x5bd570=_0x1cfa87[_0x98c3('0x51')];if(!_0x30eb69[_0x98c3('0x4c')][_0x98c3('0x52')]('nolimit')){_0xafc59f[_0x98c3('0x23')]=qs[_0x98c3('0x23')](_0x30eb69[_0x98c3('0x4c')][_0x98c3('0x23')]);_0xafc59f[_0x98c3('0x22')]=qs[_0x98c3('0x22')](_0x30eb69[_0x98c3('0x4c')][_0x98c3('0x22')]);}return _0x2a805d[_0x98c3('0x9d')](_0xafc59f);}})[_0x98c3('0x13')](function(_0xa2dce){if(_0xa2dce){return _0xa2dce?{'count':_0x5bd570,'rows':_0xa2dce}:null;}})[_0x98c3('0x13')](respondWithResult(_0x1e1c13,null))[_0x98c3('0x1d')](handleError(_0x1e1c13,null));};exports[_0x98c3('0x9e')]=function(_0xd4f61c,_0x2ad0d5){var _0x18dd31={'raw':!![],'where':{}};var _0x7da793={};var _0x25d62d={'count':0x0,'rows':[]};return db[_0x98c3('0x47')][_0x98c3('0x6d')]({'where':{'id':_0xd4f61c['params']['id']}})[_0x98c3('0x13')](handleEntityNotFound(_0x2ad0d5,null))[_0x98c3('0x13')](function(_0x4c814c){if(_0x4c814c){_0x7da793[_0x98c3('0x4e')]=_[_0x98c3('0x61')](db[_0x98c3('0x9f')][_0x98c3('0x48')]);_0x7da793[_0x98c3('0x4c')]=_[_0x98c3('0x61')](_0xd4f61c[_0x98c3('0x4c')]);_0x7da793['filters']=_[_0x98c3('0x4d')](_0x7da793[_0x98c3('0x4e')],_0x7da793[_0x98c3('0x4c')]);_0x18dd31['attributes']=_[_0x98c3('0x4d')](_0x7da793[_0x98c3('0x4e')],qs[_0x98c3('0x4f')](_0xd4f61c[_0x98c3('0x4c')][_0x98c3('0x4f')]));_0x18dd31[_0x98c3('0x50')]=_0x18dd31[_0x98c3('0x50')][_0x98c3('0x51')]?_0x18dd31[_0x98c3('0x50')]:_0x7da793[_0x98c3('0x4e')];if(!_0xd4f61c['query'][_0x98c3('0x52')]('nolimit')){_0x18dd31[_0x98c3('0x23')]=qs[_0x98c3('0x23')](_0xd4f61c['query'][_0x98c3('0x23')]);_0x18dd31[_0x98c3('0x22')]=qs[_0x98c3('0x22')](_0xd4f61c[_0x98c3('0x4c')]['offset']);}_0x18dd31[_0x98c3('0x6f')]=qs[_0x98c3('0x54')](_0xd4f61c[_0x98c3('0x4c')][_0x98c3('0x54')]);_0x18dd31[_0x98c3('0x59')]=qs[_0x98c3('0x55')](_[_0x98c3('0x56')](_0xd4f61c[_0x98c3('0x4c')],_0x7da793[_0x98c3('0x55')]));_0x18dd31[_0x98c3('0x59')]['MailAccountId']=_0x4c814c['id'];if(_0xd4f61c[_0x98c3('0x4c')][_0x98c3('0x57')]){_0x18dd31[_0x98c3('0x59')]=_[_0x98c3('0x58')](_0x18dd31[_0x98c3('0x59')],{'$or':_['map'](_0x18dd31[_0x98c3('0x50')],function(_0x32a458){var _0x2f6423={};_0x2f6423[_0x32a458]={'$like':'%'+_0xd4f61c[_0x98c3('0x4c')][_0x98c3('0x57')]+'%'};return _0x2f6423;})});}if(_0xd4f61c[_0x98c3('0x4c')][_0x98c3('0xa0')]){var _0x47bfdd=_0xd4f61c[_0x98c3('0x4c')][_0x98c3('0xa0')][_0x98c3('0xa1')](',');var _0x3c724a={};_0x3c724a[_0x47bfdd[0x0]]={'$gte':moment(_0x47bfdd[0x1])[_0x98c3('0xa2')](_0x98c3('0xa3'))};_0x18dd31[_0x98c3('0x59')]=_[_0x98c3('0x58')](_0x18dd31[_0x98c3('0x59')],_0x3c724a);}_0x18dd31=_[_0x98c3('0x58')]({},_0x18dd31,_0xd4f61c['options']);return db[_0x98c3('0x9f')][_0x98c3('0x5c')]({'where':_0x18dd31[_0x98c3('0x59')]})['then'](function(_0x3b8c1c){_0x25d62d[_0x98c3('0x5c')]=_0x3b8c1c;if(_0xd4f61c['query'][_0x98c3('0x62')]){_0x18dd31[_0x98c3('0x5d')]=[{'all':!![]}];}return db['MailMessage']['findAll'](_0x18dd31);})[_0x98c3('0x13')](function(_0x42e55d){if(_0xd4f61c[_0x98c3('0x4c')][_0x98c3('0xa4')]===_0x98c3('0xa5')){for(var _0x34aa26=0x0;_0x34aa26<_0x42e55d[_0x98c3('0x51')];_0x34aa26++){_0x42e55d[_0x34aa26][_0x98c3('0x65')]=juice(_0x42e55d[_0x34aa26]['body']);}}_0x25d62d[_0x98c3('0x5f')]=_0x42e55d;return _0x25d62d;});}})[_0x98c3('0x13')](respondWithFilteredResult(_0x2ad0d5,_0x18dd31))[_0x98c3('0x1d')](handleError(_0x2ad0d5,null));};exports[_0x98c3('0x2a')]=function(_0xccf7e0,_0x4a4bc5){var _0x115a1e,_0x727c96={},_0x5040c4;if(_0xccf7e0['body']['to']){_0x5040c4=_0xccf7e0[_0x98c3('0x65')]['to'][_0x98c3('0xa1')](',')[0x0];}return db[_0x98c3('0x47')]['find']({'where':{'id':_0xccf7e0[_0x98c3('0x60')]['id']},'include':[{'model':db[_0x98c3('0xa6')],'as':_0x98c3('0xa7'),'include':[{'model':db['CmContact'],'as':_0x98c3('0xa8'),'where':{'email':_0x5040c4},'limit':0x1,'order':[[_0x98c3('0xa9'),_0x98c3('0xaa')]]}]},{'model':db['MailServerOut'],'as':_0x98c3('0x41'),'raw':!![],'include':[{'model':db[_0x98c3('0xab')],'as':_0x98c3('0xab'),'raw':!![]}]}]})['then'](handleEntityNotFound(_0x4a4bc5,null))[_0x98c3('0x13')](function(_0x4b1c8f){if(!_0x4b1c8f)return;_0x115a1e=_0x4b1c8f;if(!_0x4b1c8f[_0x98c3('0x41')])throw new Error(_0x98c3('0xac'));if(_['isNil'](_0xccf7e0['body'][_0x98c3('0xad')])){_0xccf7e0[_0x98c3('0x65')]['from']=util[_0x98c3('0xa2')](_0x98c3('0xae'),_0x4b1c8f[_0x98c3('0x29')],_0x4b1c8f['email']||_0x4b1c8f[_0x98c3('0x41')][_0x98c3('0x36')]);}if(_0xccf7e0[_0x98c3('0x65')][_0x98c3('0xaf')]&&_0xccf7e0[_0x98c3('0x65')][_0x98c3('0xaf')]['length']){for(var _0x49486b=0x0;_0x49486b<_0xccf7e0[_0x98c3('0x65')]['attachments'][_0x98c3('0x51')];_0x49486b+=0x1){_0xccf7e0[_0x98c3('0x65')]['attachments'][_0x49486b]={'filename':_0xccf7e0[_0x98c3('0x65')]['attachments'][_0x49486b][_0x98c3('0x29')],'path':path['join'](config[_0x98c3('0xb0')],_0x98c3('0xb1'),_0xccf7e0[_0x98c3('0x65')][_0x98c3('0xaf')][_0x49486b][_0x98c3('0xb2')])};}}var _0x31d496=_0x4b1c8f['getSmtpOptions']();return respondWithRpcPromise(_0x98c3('0xb3'),_0x98c3('0xb4'),{'account':_0x31d496,'message':_0xccf7e0[_0x98c3('0x65')]});})[_0x98c3('0x13')](function(_0x379234){if(!_0x379234)return;_0x727c96=_0x379234;if(!_0x115a1e['List'])throw new Error('List\x20not\x20found');if(_0x115a1e['List']['Contacts'][_0x98c3('0x51')])return _0x115a1e[_0x98c3('0xa7')]['Contacts'][0x0];return db[_0x98c3('0x8c')][_0x98c3('0x6b')](_['defaults'](_0xccf7e0[_0x98c3('0x65')],{'firstName':_0xccf7e0['body']['to'],'email':_0xccf7e0[_0x98c3('0x65')]['to'],'phone':_0xccf7e0[_0x98c3('0x65')]['to'],'ListId':_0x115a1e[_0x98c3('0x77')]}));})[_0x98c3('0x13')](function(_0x2a3f44){if(!_0x2a3f44)return;var _0x3c853e={'UserId':_0xccf7e0['user']['id'],'ContactId':_0x2a3f44['id'],'MailAccountId':_0x115a1e['id'],'inReplyTo':_0x727c96['messageId'],'to':_0xccf7e0[_0x98c3('0x65')]['from'],'cc':_0xccf7e0[_0x98c3('0x65')]['cc'],'subject':_0xccf7e0[_0x98c3('0x65')][_0x98c3('0xb5')],'attach':_0xccf7e0[_0x98c3('0x65')][_0x98c3('0xb6')],'firstMsgDirection':_0x98c3('0xb7'),'lastMsgAt':moment()[_0x98c3('0xa2')](_0x98c3('0xa3')),'lastMsgDirection':'out','Messages':[_[_0x98c3('0x58')](_0xccf7e0['body'],{'messageId':_0x727c96['messageId'],'sentAt':moment()['format'](_0x98c3('0xa3')),'read':!![],'MailAccountId':_0x115a1e['id'],'UserId':_0xccf7e0['user']['id'],'ContactId':_0x2a3f44['id']})]};if(_0xccf7e0['body'][_0x98c3('0xb8')]){_0x3c853e=_[_0x98c3('0x58')](_0x3c853e,_0xccf7e0['body'][_0x98c3('0xb8')]);}return db[_0x98c3('0x8b')][_0x98c3('0x6b')](_0x3c853e,{'include':[{'model':db[_0x98c3('0x9f')],'as':_0x98c3('0xb9')}]});})[_0x98c3('0x13')](respondWithResult(_0x4a4bc5,null))['catch'](handleError(_0x4a4bc5,null));};exports['verifySmtp']=function(_0x4d360c,_0x218607){return db[_0x98c3('0x47')][_0x98c3('0x63')]({'where':{'id':_0x4d360c[_0x98c3('0x60')]['id']},'include':[{'model':db[_0x98c3('0x43')],'as':_0x98c3('0x41'),'raw':!![],'include':[{'model':db[_0x98c3('0xab')],'as':_0x98c3('0xab'),'raw':!![]}]}]})[_0x98c3('0x13')](handleEntityNotFound(_0x218607,null))[_0x98c3('0x13')](function(_0x17a944){if(!_0x17a944[_0x98c3('0x41')])return;var _0x479640=_0x17a944[_0x98c3('0xba')]();return respondWithRpcPromise('VerifySmtp',_0x98c3('0xbb'),{'account':_0x479640});})[_0x98c3('0x13')](respondWithResult(_0x218607,null))['catch'](handleError(_0x218607,null));};exports[_0x98c3('0x27')]=function(_0x3b573a,_0x528deb){return db[_0x98c3('0x47')][_0x98c3('0x63')]({'where':{'id':_0x3b573a[_0x98c3('0x60')]['id']}})[_0x98c3('0x13')](handleEntityNotFound(_0x528deb,null))[_0x98c3('0x13')](function(_0x4aed52){if(_0x4aed52&&_0x4aed52[_0x98c3('0x3e')]){throw new db[(_0x98c3('0xbc'))]['ValidationError']('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x4aed52;})[_0x98c3('0x13')](removeEntity(_0x528deb,null))[_0x98c3('0x1d')](handleError(_0x528deb,null));};exports[_0x98c3('0xbd')]=function(_0x492add,_0x4a8641){return db[_0x98c3('0x47')][_0x98c3('0x63')]({'where':{'id':_0x492add[_0x98c3('0x60')]['id']}})[_0x98c3('0x13')](handleEntityNotFound(_0x4a8641,null))[_0x98c3('0x13')](function(_0x39d2c9){if(_0x39d2c9){return _0x39d2c9['addAgents'](_0x492add[_0x98c3('0x65')][_0x98c3('0x71')],_['omit'](_0x492add[_0x98c3('0x65')],['ids','id'])||{})['spread'](function(_0x20d677){for(var _0x514cb8=0x0;_0x514cb8<_0x492add[_0x98c3('0x65')]['ids'][_0x98c3('0x51')];_0x514cb8+=0x1){socket[_0x98c3('0xbe')]('userMailAccount:save',{'UserId':Number(_0x492add[_0x98c3('0x65')][_0x98c3('0x71')][_0x514cb8]),'MailAccountId':Number(_0x492add[_0x98c3('0x60')]['id'])});}return _0x20d677;});}})[_0x98c3('0x13')](respondWithResult(_0x4a8641,null))['catch'](handleError(_0x4a8641,null));};exports[_0x98c3('0xbf')]=function(_0x3194ca,_0xa0a3c0){return db[_0x98c3('0x47')][_0x98c3('0x63')]({'where':{'id':_0x3194ca[_0x98c3('0x60')]['id']}})[_0x98c3('0x13')](handleEntityNotFound(_0xa0a3c0,null))[_0x98c3('0x13')](function(_0x15cd1e){if(_0x15cd1e){return _0x15cd1e['removeAgents'](_0x3194ca[_0x98c3('0x4c')][_0x98c3('0x71')])[_0x98c3('0x13')](function(){if(_[_0x98c3('0xc0')](_0x3194ca[_0x98c3('0x4c')][_0x98c3('0x71')])){for(var _0x1f6303=0x0;_0x1f6303<_0x3194ca['query'][_0x98c3('0x71')]['length'];_0x1f6303+=0x1){socket[_0x98c3('0xbe')](_0x98c3('0xc1'),{'UserId':Number(_0x3194ca[_0x98c3('0x4c')][_0x98c3('0x71')][_0x1f6303]),'MailAccountId':Number(_0x3194ca[_0x98c3('0x60')]['id'])});}}else{socket['emit'](_0x98c3('0xc1'),{'UserId':Number(_0x3194ca[_0x98c3('0x4c')]['ids']),'MailAccountId':Number(_0x3194ca[_0x98c3('0x60')]['id'])});}});}})[_0x98c3('0x13')](respondWithStatusCode(_0xa0a3c0,null))[_0x98c3('0x1d')](handleError(_0xa0a3c0,null));};exports[_0x98c3('0xc2')]=function(_0x53c2a4,_0x3503d3){var _0x3fd278={};var _0x46dd47={};var _0x3dc308;var _0x87f831;return db[_0x98c3('0x47')][_0x98c3('0x6d')]({'where':{'id':_0x53c2a4['params']['id']}})[_0x98c3('0x13')](handleEntityNotFound(_0x3503d3,null))[_0x98c3('0x13')](function(_0x53c92c){if(_0x53c92c){_0x3dc308=_0x53c92c;_0x46dd47[_0x98c3('0x4e')]=_[_0x98c3('0x61')](db[_0x98c3('0xc3')]['rawAttributes']);_0x46dd47[_0x98c3('0x4c')]=_[_0x98c3('0x61')](_0x53c2a4[_0x98c3('0x4c')]);_0x46dd47[_0x98c3('0x55')]=_[_0x98c3('0x4d')](_0x46dd47[_0x98c3('0x4e')],_0x46dd47[_0x98c3('0x4c')]);_0x3fd278[_0x98c3('0x50')]=_['intersection'](_0x46dd47['model'],qs[_0x98c3('0x4f')](_0x53c2a4['query'][_0x98c3('0x4f')]));_0x3fd278[_0x98c3('0x50')]=_0x3fd278[_0x98c3('0x50')][_0x98c3('0x51')]?_0x3fd278['attributes']:_0x46dd47[_0x98c3('0x4e')];_0x3fd278[_0x98c3('0x6f')]=qs[_0x98c3('0x54')](_0x53c2a4[_0x98c3('0x4c')][_0x98c3('0x54')]);_0x3fd278['where']=qs[_0x98c3('0x55')](_[_0x98c3('0x56')](_0x53c2a4[_0x98c3('0x4c')],_0x46dd47[_0x98c3('0x55')]));if(_0x53c2a4[_0x98c3('0x4c')][_0x98c3('0x57')]){_0x3fd278[_0x98c3('0x59')]=_['merge'](_0x3fd278[_0x98c3('0x59')],{'$or':_['map'](_0x3fd278[_0x98c3('0x50')],function(_0x52e417){var _0x34f5e0={};_0x34f5e0[_0x52e417]={'$like':'%'+_0x53c2a4['query'][_0x98c3('0x57')]+'%'};return _0x34f5e0;})});}_0x3fd278=_[_0x98c3('0x58')]({},_0x3fd278,_0x53c2a4[_0x98c3('0x5b')]);return _0x3dc308['getAgents'](_0x3fd278);}})['then'](function(_0x565c66){if(_0x565c66){_0x87f831=_0x565c66[_0x98c3('0x51')];if(!_0x53c2a4[_0x98c3('0x4c')]['hasOwnProperty'](_0x98c3('0x53'))){_0x3fd278[_0x98c3('0x23')]=qs[_0x98c3('0x23')](_0x53c2a4[_0x98c3('0x4c')][_0x98c3('0x23')]);_0x3fd278[_0x98c3('0x22')]=qs[_0x98c3('0x22')](_0x53c2a4[_0x98c3('0x4c')]['offset']);}return _0x3dc308[_0x98c3('0xc2')](_0x3fd278);}})[_0x98c3('0x13')](function(_0x41ca28){if(_0x41ca28){return _0x41ca28?{'count':_0x87f831,'rows':_0x41ca28}:null;}})[_0x98c3('0x13')](respondWithResult(_0x3503d3,null))[_0x98c3('0x1d')](handleError(_0x3503d3,null));};