Built motion from commit 753c950e.|2.5.42
[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 _0x48e1=['rows','show','MailServerOut','update','body','modernAuthentication','CloudProviderId','find','describe','addDisposition','params','Disposition','create','findOne','nolimit','pick','MailAccountId','removeDispositions','ids','addAnswer','CannedAnswer','hasOwnProperty','removeAnswers','provider','custom','email','ListId','active','description','user','username','password','pass','service','host','port','authentication','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getImap','addImap','removeImap','setImap','getSmtp','addSmtp','removeSmtp','setSmtp','MailInteraction','addInteraction','getInteractions','CmContact','Contact','User','Owner','internal','color','tag','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','MailApplication','bulkCreate','findAndCountAll','priority','stack','finally','send','getApplications','getMessages','MailMessage','$gte','split','format','YYYY-MM-DD\x20HH:mm:ss','CmList','List','updatedAt','DESC','from','%s\x20<%s>','attachments','join','root','server/files/attachments','basename','isNil','secure','auth','SendMail','sendMail','Contacts','List\x20not\x20found','subject','attach','out','messageId','Messages','verifySmtp','CloudProvider','OAuth2','data5','Sequelize','ValidationError','addAgents','omit','emit','userMailAccount:save','removeAgents','isArray','userMailAccount:remove','getAgents','moment','lodash','juice','ioredis','../../components/parsers/qs','../../config/logger','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./mailAccount.socket','jayson/promise','client','request','then','info','request\x20sent','debug','MailAccount,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','MailAccount,\x20%s,\x20%s','end','status','json','undefined','limit','count','offset','set','MailAccounts','UserProfileResource','destroy','sendStatus','name','index','MailServerIn','Imap','Smtp','Pause','mandatoryDispositionPause','map','MailAccount','rawAttributes','fieldName','key','model','query','keys','filters','intersection','fields','attributes','length','order','sort','where','filter','merge','options','includeAll','include','findAll'];(function(_0x3ab51d,_0x2fa01d){var _0x29a04e=function(_0x7807b0){while(--_0x7807b0){_0x3ab51d['push'](_0x3ab51d['shift']());}};_0x29a04e(++_0x2fa01d);}(_0x48e1,0x75));var _0x148e=function(_0x71ace2,_0x5d003d){_0x71ace2=_0x71ace2-0x0;var _0x3bd375=_0x48e1[_0x71ace2];return _0x3bd375;};'use strict';var moment=require(_0x148e('0x0'));var BPromise=require('bluebird');var util=require('util');var path=require('path');var _=require(_0x148e('0x1'));var juice=require(_0x148e('0x2'));var Redis=require(_0x148e('0x3'));var qs=require(_0x148e('0x4'));var logger=require(_0x148e('0x5'))('api');var config=require('../../config/environment');var db=require(_0x148e('0x6'))['db'];config['redis']=_[_0x148e('0x7')](config[_0x148e('0x8')],{'host':_0x148e('0x9'),'port':0x18eb});var socket=require(_0x148e('0xa'))(new Redis(config[_0x148e('0x8')]));require(_0x148e('0xb'))['register'](socket);var jayson=require(_0x148e('0xc'));var client=jayson[_0x148e('0xd')]['http']({'port':0x232b});function respondWithRpcPromise(_0x213b43,_0x398515,_0x36e5e3,_0x5253e9){return new BPromise(function(_0x480daf,_0x389536){var _0x2b06ca=_0x5253e9||client;return _0x2b06ca[_0x148e('0xe')](_0x213b43,_0x36e5e3)[_0x148e('0xf')](function(_0x6e45bf){logger[_0x148e('0x10')]('MailAccount,\x20%s,\x20%s',_0x398515,_0x148e('0x11'));logger[_0x148e('0x12')](_0x148e('0x13'),_0x398515,_0x148e('0x11'),JSON['stringify'](_0x6e45bf));if(_0x6e45bf[_0x148e('0x14')]){if(_0x6e45bf[_0x148e('0x14')][_0x148e('0x15')]===0x1f4){logger[_0x148e('0x14')]('MailAccount,\x20%s,\x20%s',_0x398515,_0x6e45bf[_0x148e('0x14')][_0x148e('0x16')]);return _0x389536(_0x6e45bf['error']['message']);}logger[_0x148e('0x14')]('MailAccount,\x20%s,\x20%s',_0x398515,_0x6e45bf['error']['message']);return _0x480daf(_0x6e45bf['error'][_0x148e('0x16')]);}else{logger[_0x148e('0x10')]('MailAccount,\x20%s,\x20%s',_0x398515,_0x148e('0x11'));_0x480daf(_0x6e45bf[_0x148e('0x17')][_0x148e('0x16')]);}})[_0x148e('0x18')](function(_0x2369e3){logger[_0x148e('0x14')](_0x148e('0x19'),_0x398515,_0x2369e3);_0x389536(_0x2369e3);});});}function respondWithStatusCode(_0x381c51,_0x292eef){_0x292eef=_0x292eef||0xcc;return function(_0x571ef5){if(_0x571ef5){return _0x381c51['sendStatus'](_0x292eef);}return _0x381c51['status'](_0x292eef)[_0x148e('0x1a')]();};}function respondWithResult(_0x5c2e46,_0x793470){_0x793470=_0x793470||0xc8;return function(_0x4e321c){if(_0x4e321c){return _0x5c2e46[_0x148e('0x1b')](_0x793470)[_0x148e('0x1c')](_0x4e321c);}};}function respondWithFilteredResult(_0x4ab584,_0x1c2ff5){return function(_0x2a135f){if(_0x2a135f){var _0x1fb3b8=typeof _0x1c2ff5['offset']===_0x148e('0x1d')&&typeof _0x1c2ff5[_0x148e('0x1e')]===_0x148e('0x1d');var _0xbaad31=_0x2a135f[_0x148e('0x1f')];var _0x15b221=_0x1fb3b8?0x0:_0x1c2ff5[_0x148e('0x20')];var _0x566004=_0x1fb3b8?_0x2a135f[_0x148e('0x1f')]:_0x1c2ff5[_0x148e('0x20')]+_0x1c2ff5[_0x148e('0x1e')];var _0x48e5b0;if(_0x566004>=_0xbaad31){_0x566004=_0xbaad31;_0x48e5b0=0xc8;}else{_0x48e5b0=0xce;}_0x4ab584[_0x148e('0x1b')](_0x48e5b0);return _0x4ab584[_0x148e('0x21')]('Content-Range',_0x15b221+'-'+_0x566004+'/'+_0xbaad31)[_0x148e('0x1c')](_0x2a135f);}return null;};}function saveUpdates(_0x32132d){return function(_0x313223){if(_0x313223){return _0x313223['update'](_0x32132d)[_0x148e('0xf')](function(_0x422673){return _0x422673;});}return null;};}function removeEntity(_0x2208f1){return function(_0x360d4e){if(_0x360d4e){return _0x360d4e['destroy']()[_0x148e('0xf')](function(){var _0x29193e=_0x360d4e['get']({'plain':!![]});var _0x1927ad=_0x148e('0x22');return db[_0x148e('0x23')][_0x148e('0x24')]({'where':{'type':_0x1927ad,'resourceId':_0x29193e['id']}})[_0x148e('0xf')](function(){return _0x360d4e;});})[_0x148e('0xf')](function(){_0x2208f1[_0x148e('0x1b')](0xcc)[_0x148e('0x1a')]();});}};}function handleEntityNotFound(_0x49687d){return function(_0x2d3975){if(!_0x2d3975){_0x49687d[_0x148e('0x25')](0x194);}return _0x2d3975;};}function handleError(_0x423cde,_0xa80d29){_0xa80d29=_0xa80d29||0x1f4;return function(_0x3935a0){logger['error'](_0x3935a0['stack']);if(_0x3935a0[_0x148e('0x26')]){delete _0x3935a0[_0x148e('0x26')];}_0x423cde['status'](_0xa80d29)['send'](_0x3935a0);};}exports[_0x148e('0x27')]=function(_0x1e66d6,_0x443355){var _0x27fb4f={'include':[{'model':db[_0x148e('0x28')],'as':_0x148e('0x29')},{'model':db['MailServerOut'],'as':_0x148e('0x2a')},{'model':db[_0x148e('0x2b')],'as':_0x148e('0x2c')}]},_0x28a7f0={},_0x40cc19={'count':0x0,'rows':[]};var _0x2a9d95=_[_0x148e('0x2d')](db[_0x148e('0x2e')][_0x148e('0x2f')],function(_0x38ed94){return{'name':_0x38ed94[_0x148e('0x30')],'type':_0x38ed94['type'][_0x148e('0x31')]};});_0x28a7f0[_0x148e('0x32')]=_[_0x148e('0x2d')](_0x2a9d95,_0x148e('0x26'));_0x28a7f0[_0x148e('0x33')]=_[_0x148e('0x34')](_0x1e66d6['query']);_0x28a7f0[_0x148e('0x35')]=_[_0x148e('0x36')](_0x28a7f0[_0x148e('0x32')],_0x28a7f0['query']);_0x27fb4f['attributes']=_[_0x148e('0x36')](_0x28a7f0[_0x148e('0x32')],qs[_0x148e('0x37')](_0x1e66d6['query'][_0x148e('0x37')]));_0x27fb4f[_0x148e('0x38')]=_0x27fb4f[_0x148e('0x38')][_0x148e('0x39')]?_0x27fb4f[_0x148e('0x38')]:_0x28a7f0['model'];if(!_0x1e66d6[_0x148e('0x33')]['hasOwnProperty']('nolimit')){_0x27fb4f[_0x148e('0x1e')]=qs[_0x148e('0x1e')](_0x1e66d6[_0x148e('0x33')][_0x148e('0x1e')]);_0x27fb4f[_0x148e('0x20')]=qs[_0x148e('0x20')](_0x1e66d6['query'][_0x148e('0x20')]);}_0x27fb4f[_0x148e('0x3a')]=qs[_0x148e('0x3b')](_0x1e66d6[_0x148e('0x33')][_0x148e('0x3b')]);_0x27fb4f[_0x148e('0x3c')]=qs[_0x148e('0x35')](_['pick'](_0x1e66d6[_0x148e('0x33')],_0x28a7f0['filters']),_0x2a9d95);if(_0x1e66d6[_0x148e('0x33')][_0x148e('0x3d')]){_0x27fb4f['where']=_[_0x148e('0x3e')](_0x27fb4f[_0x148e('0x3c')],{'$or':_[_0x148e('0x2d')](_0x2a9d95,function(_0x309746){if(_0x309746['type']!=='VIRTUAL'){var _0x2b4ccd={};_0x2b4ccd[_0x309746[_0x148e('0x26')]]={'$like':'%'+_0x1e66d6[_0x148e('0x33')][_0x148e('0x3d')]+'%'};return _0x2b4ccd;}})});}_0x27fb4f=_[_0x148e('0x3e')]({},_0x27fb4f,_0x1e66d6[_0x148e('0x3f')]);var _0x424f59={'where':_0x27fb4f[_0x148e('0x3c')]};return db[_0x148e('0x2e')][_0x148e('0x1f')](_0x424f59)['then'](function(_0x2ac4e4){_0x40cc19[_0x148e('0x1f')]=_0x2ac4e4;if(_0x1e66d6[_0x148e('0x33')][_0x148e('0x40')]){_0x27fb4f[_0x148e('0x41')]=[{'all':!![]}];}return db['MailAccount'][_0x148e('0x42')](_0x27fb4f);})['then'](function(_0x4bdc6e){_0x40cc19[_0x148e('0x43')]=_0x4bdc6e;return _0x40cc19;})['then'](respondWithFilteredResult(_0x443355,_0x27fb4f))[_0x148e('0x18')](handleError(_0x443355,null));};exports[_0x148e('0x44')]=function(_0x3dd316,_0x16bd42){var _0x1b0ff3={'raw':![],'where':{'id':_0x3dd316['params']['id']},'include':[{'model':db[_0x148e('0x28')],'as':_0x148e('0x29')},{'model':db[_0x148e('0x45')],'as':_0x148e('0x2a')},{'model':db[_0x148e('0x2b')],'as':'mandatoryDispositionPause'}]},_0x36d60c={};_0x36d60c[_0x148e('0x32')]=_[_0x148e('0x34')](db[_0x148e('0x2e')][_0x148e('0x2f')]);_0x36d60c[_0x148e('0x33')]=_[_0x148e('0x34')](_0x3dd316[_0x148e('0x33')]);_0x36d60c['filters']=_[_0x148e('0x36')](_0x36d60c[_0x148e('0x32')],_0x36d60c['query']);_0x1b0ff3[_0x148e('0x38')]=_['intersection'](_0x36d60c[_0x148e('0x32')],qs['fields'](_0x3dd316[_0x148e('0x33')][_0x148e('0x37')]));_0x1b0ff3[_0x148e('0x38')]=_0x1b0ff3[_0x148e('0x38')][_0x148e('0x39')]?_0x1b0ff3['attributes']:_0x36d60c['model'];if(_0x3dd316['query'][_0x148e('0x40')]){_0x1b0ff3[_0x148e('0x41')]=[{'all':!![]}];}_0x1b0ff3=_[_0x148e('0x3e')]({},_0x1b0ff3,_0x3dd316[_0x148e('0x3f')]);return db['MailAccount']['find'](_0x1b0ff3)[_0x148e('0xf')](handleEntityNotFound(_0x16bd42,null))[_0x148e('0xf')](respondWithResult(_0x16bd42,null))[_0x148e('0x18')](handleError(_0x16bd42,null));};exports[_0x148e('0x46')]=function(_0x42ca08,_0x43458b){if(_0x42ca08[_0x148e('0x47')]['id']){delete _0x42ca08['body']['id'];}if(_0x42ca08['body'][_0x148e('0x29')]){if(!_0x42ca08[_0x148e('0x47')][_0x148e('0x29')][_0x148e('0x48')]){_0x42ca08[_0x148e('0x47')]['Imap'][_0x148e('0x49')]=null;}}if(_0x42ca08[_0x148e('0x47')][_0x148e('0x2a')]){if(!_0x42ca08[_0x148e('0x47')]['Smtp'][_0x148e('0x48')]){_0x42ca08[_0x148e('0x47')]['Smtp'][_0x148e('0x49')]=null;}}return db[_0x148e('0x2e')][_0x148e('0x4a')]({'where':{'id':_0x42ca08['params']['id']},'include':[{'model':db[_0x148e('0x28')],'as':'Imap'},{'model':db[_0x148e('0x45')],'as':_0x148e('0x2a')},{'model':db[_0x148e('0x2b')],'as':_0x148e('0x2c')}]})['then'](handleEntityNotFound(_0x43458b,null))[_0x148e('0xf')](saveUpdates(_0x42ca08['body'],null))['then'](function(_0x15d5e3){if(_0x15d5e3&&_0x42ca08[_0x148e('0x47')][_0x148e('0x29')]){return db[_0x148e('0x28')][_0x148e('0x46')](_0x42ca08[_0x148e('0x47')][_0x148e('0x29')],{'where':{'MailAccountId':_0x15d5e3['id']}})[_0x148e('0xf')](function(){return _0x15d5e3;});}return _0x15d5e3;})['then'](function(_0x34ea63){if(_0x34ea63&&_0x42ca08[_0x148e('0x47')][_0x148e('0x2a')]){return db[_0x148e('0x45')][_0x148e('0x46')](_0x42ca08['body'][_0x148e('0x2a')],{'where':{'MailAccountId':_0x34ea63['id']}})[_0x148e('0xf')](function(){return _0x34ea63;});}return _0x34ea63;})[_0x148e('0xf')](respondWithResult(_0x43458b,null))[_0x148e('0x18')](handleError(_0x43458b,null));};exports[_0x148e('0x4b')]=function(_0x189064,_0x49cd13){return db[_0x148e('0x2e')][_0x148e('0x4b')]()[_0x148e('0xf')](respondWithResult(_0x49cd13,null))['catch'](handleError(_0x49cd13,null));};exports[_0x148e('0x4c')]=function(_0x56577d,_0x49913e){if(_0x56577d[_0x148e('0x47')]['id']){delete _0x56577d[_0x148e('0x47')]['id'];}return db[_0x148e('0x2e')][_0x148e('0x4a')]({'where':{'id':_0x56577d[_0x148e('0x4d')]['id']}})[_0x148e('0xf')](handleEntityNotFound(_0x49913e,null))[_0x148e('0xf')](function(_0x3d1a89){if(_0x3d1a89){_0x56577d[_0x148e('0x47')]['MailAccountId']=_0x3d1a89['id'];return db[_0x148e('0x4e')][_0x148e('0x4f')](_0x56577d[_0x148e('0x47')]);}})[_0x148e('0xf')](respondWithResult(_0x49913e,null))[_0x148e('0x18')](handleError(_0x49913e,null));};exports['getDispositions']=function(_0xc176e8,_0x3d4446){var _0x4e88af={'raw':![],'where':{}};var _0x12e4d4={};var _0x4e3dc9={'count':0x0,'rows':[]};return db[_0x148e('0x2e')][_0x148e('0x50')]({'where':{'id':_0xc176e8[_0x148e('0x4d')]['id']}})[_0x148e('0xf')](handleEntityNotFound(_0x3d4446,null))[_0x148e('0xf')](function(_0x457ea9){if(_0x457ea9){_0x12e4d4[_0x148e('0x32')]=_[_0x148e('0x34')](db[_0x148e('0x4e')][_0x148e('0x2f')]);_0x12e4d4['query']=_['keys'](_0xc176e8['query']);_0x12e4d4[_0x148e('0x35')]=_[_0x148e('0x36')](_0x12e4d4[_0x148e('0x32')],_0x12e4d4[_0x148e('0x33')]);_0x4e88af[_0x148e('0x38')]=_[_0x148e('0x36')](_0x12e4d4['model'],qs[_0x148e('0x37')](_0xc176e8[_0x148e('0x33')]['fields']));_0x4e88af[_0x148e('0x38')]=_0x4e88af['attributes'][_0x148e('0x39')]?_0x4e88af[_0x148e('0x38')]:_0x12e4d4[_0x148e('0x32')];if(!_0xc176e8['query']['hasOwnProperty'](_0x148e('0x51'))){_0x4e88af[_0x148e('0x1e')]=qs[_0x148e('0x1e')](_0xc176e8[_0x148e('0x33')]['limit']);_0x4e88af[_0x148e('0x20')]=qs[_0x148e('0x20')](_0xc176e8[_0x148e('0x33')][_0x148e('0x20')]);}_0x4e88af[_0x148e('0x3a')]=qs[_0x148e('0x3b')](_0xc176e8[_0x148e('0x33')]['sort']);_0x4e88af[_0x148e('0x3c')]=qs[_0x148e('0x35')](_[_0x148e('0x52')](_0xc176e8[_0x148e('0x33')],_0x12e4d4[_0x148e('0x35')]));_0x4e88af[_0x148e('0x3c')][_0x148e('0x53')]=_0x457ea9['id'];if(_0xc176e8[_0x148e('0x33')][_0x148e('0x3d')]){_0x4e88af[_0x148e('0x3c')]=_[_0x148e('0x3e')](_0x4e88af[_0x148e('0x3c')],{'$or':_[_0x148e('0x2d')](_0x4e88af[_0x148e('0x38')],function(_0x1d3a70){var _0x4a873b={};_0x4a873b[_0x1d3a70]={'$like':'%'+_0xc176e8[_0x148e('0x33')][_0x148e('0x3d')]+'%'};return _0x4a873b;})});}_0x4e88af=_[_0x148e('0x3e')]({},_0x4e88af,_0xc176e8[_0x148e('0x3f')]);return db['Disposition'][_0x148e('0x1f')]({'where':_0x4e88af[_0x148e('0x3c')]})[_0x148e('0xf')](function(_0x2e70b7){_0x4e3dc9[_0x148e('0x1f')]=_0x2e70b7;if(_0xc176e8['query']['includeAll']){_0x4e88af['include']=[{'all':!![]}];}return db[_0x148e('0x4e')][_0x148e('0x42')](_0x4e88af);})['then'](function(_0x29ec1e){_0x4e3dc9[_0x148e('0x43')]=_0x29ec1e;return _0x4e3dc9;});}})[_0x148e('0xf')](respondWithFilteredResult(_0x3d4446,_0x4e88af))['catch'](handleError(_0x3d4446,null));};exports[_0x148e('0x54')]=function(_0x2ada2b,_0x2c78a7){return db[_0x148e('0x2e')]['find']({'where':{'id':_0x2ada2b['params']['id']}})[_0x148e('0xf')](handleEntityNotFound(_0x2c78a7,null))[_0x148e('0xf')](function(_0x4bc7bd){if(_0x4bc7bd){return _0x4bc7bd[_0x148e('0x54')](_0x2ada2b[_0x148e('0x33')][_0x148e('0x55')]);}})[_0x148e('0xf')](respondWithStatusCode(_0x2c78a7,null))[_0x148e('0x18')](handleError(_0x2c78a7,null));};exports[_0x148e('0x56')]=function(_0x2660d2,_0x1b6306){if(_0x2660d2[_0x148e('0x47')]['id']){delete _0x2660d2['body']['id'];}return db[_0x148e('0x2e')][_0x148e('0x4a')]({'where':{'id':_0x2660d2[_0x148e('0x4d')]['id']}})[_0x148e('0xf')](handleEntityNotFound(_0x1b6306,null))[_0x148e('0xf')](function(_0x2f0997){if(_0x2f0997){_0x2660d2[_0x148e('0x47')]['MailAccountId']=_0x2f0997['id'];return db[_0x148e('0x57')][_0x148e('0x4f')](_0x2660d2[_0x148e('0x47')]);}})[_0x148e('0xf')](respondWithResult(_0x1b6306,null))['catch'](handleError(_0x1b6306,null));};exports['getAnswers']=function(_0x50a0f7,_0x367766){var _0xd55f9c={'raw':![],'where':{}};var _0xabdd51={};var _0x46a7e8={'count':0x0,'rows':[]};return db['MailAccount'][_0x148e('0x50')]({'where':{'id':_0x50a0f7['params']['id']}})[_0x148e('0xf')](handleEntityNotFound(_0x367766,null))[_0x148e('0xf')](function(_0x4c1125){if(_0x4c1125){_0xabdd51['model']=_[_0x148e('0x34')](db[_0x148e('0x57')]['rawAttributes']);_0xabdd51[_0x148e('0x33')]=_[_0x148e('0x34')](_0x50a0f7[_0x148e('0x33')]);_0xabdd51[_0x148e('0x35')]=_['intersection'](_0xabdd51[_0x148e('0x32')],_0xabdd51['query']);_0xd55f9c[_0x148e('0x38')]=_[_0x148e('0x36')](_0xabdd51[_0x148e('0x32')],qs[_0x148e('0x37')](_0x50a0f7[_0x148e('0x33')][_0x148e('0x37')]));_0xd55f9c[_0x148e('0x38')]=_0xd55f9c[_0x148e('0x38')][_0x148e('0x39')]?_0xd55f9c[_0x148e('0x38')]:_0xabdd51['model'];if(!_0x50a0f7[_0x148e('0x33')][_0x148e('0x58')](_0x148e('0x51'))){_0xd55f9c[_0x148e('0x1e')]=qs['limit'](_0x50a0f7[_0x148e('0x33')][_0x148e('0x1e')]);_0xd55f9c['offset']=qs[_0x148e('0x20')](_0x50a0f7['query'][_0x148e('0x20')]);}_0xd55f9c[_0x148e('0x3a')]=qs['sort'](_0x50a0f7[_0x148e('0x33')][_0x148e('0x3b')]);_0xd55f9c['where']=qs[_0x148e('0x35')](_[_0x148e('0x52')](_0x50a0f7[_0x148e('0x33')],_0xabdd51[_0x148e('0x35')]));_0xd55f9c[_0x148e('0x3c')][_0x148e('0x53')]=_0x4c1125['id'];if(_0x50a0f7[_0x148e('0x33')][_0x148e('0x3d')]){_0xd55f9c[_0x148e('0x3c')]=_[_0x148e('0x3e')](_0xd55f9c[_0x148e('0x3c')],{'$or':_['map'](_0xd55f9c[_0x148e('0x38')],function(_0x5e0ed2){var _0x5e0e76={};_0x5e0e76[_0x5e0ed2]={'$like':'%'+_0x50a0f7[_0x148e('0x33')][_0x148e('0x3d')]+'%'};return _0x5e0e76;})});}_0xd55f9c=_[_0x148e('0x3e')]({},_0xd55f9c,_0x50a0f7[_0x148e('0x3f')]);return db[_0x148e('0x57')]['count']({'where':_0xd55f9c[_0x148e('0x3c')]})[_0x148e('0xf')](function(_0x12785c){_0x46a7e8[_0x148e('0x1f')]=_0x12785c;if(_0x50a0f7['query'][_0x148e('0x40')]){_0xd55f9c[_0x148e('0x41')]=[{'all':!![]}];}return db['CannedAnswer'][_0x148e('0x42')](_0xd55f9c);})[_0x148e('0xf')](function(_0x4184d8){_0x46a7e8[_0x148e('0x43')]=_0x4184d8;return _0x46a7e8;});}})['then'](respondWithFilteredResult(_0x367766,_0xd55f9c))[_0x148e('0x18')](handleError(_0x367766,null));};exports[_0x148e('0x59')]=function(_0x2e8599,_0x4f77e3){return db[_0x148e('0x2e')][_0x148e('0x4a')]({'where':{'id':_0x2e8599['params']['id']}})[_0x148e('0xf')](handleEntityNotFound(_0x4f77e3,null))[_0x148e('0xf')](function(_0x1397de){if(_0x1397de){return _0x1397de[_0x148e('0x59')](_0x2e8599[_0x148e('0x33')][_0x148e('0x55')]);}})[_0x148e('0xf')](respondWithStatusCode(_0x4f77e3,null))[_0x148e('0x18')](handleError(_0x4f77e3,null));};exports['create']=function(_0x443547,_0x159108){var _0x2279d6={'name':_0x443547['body'][_0x148e('0x26')],'key':_0x443547['body'][_0x148e('0x31')],'provider':_0x443547[_0x148e('0x47')][_0x148e('0x5a')]===_0x148e('0x5b')?null:_0x443547['body'][_0x148e('0x5a')],'email':_0x443547[_0x148e('0x47')][_0x148e('0x5c')],'ListId':_0x443547['body'][_0x148e('0x5d')],'active':!_['isNil'](_0x443547[_0x148e('0x47')][_0x148e('0x5e')])?_0x443547['body']['active']:!![],'description':_0x443547['body'][_0x148e('0x5f')]||null,'Imap':{},'Smtp':{}};if(_0x2279d6[_0x148e('0x5a')]){_0x2279d6[_0x148e('0x29')][_0x148e('0x60')]=_0x2279d6[_0x148e('0x2a')]['user']=_0x443547[_0x148e('0x47')][_0x148e('0x61')];_0x2279d6['Imap'][_0x148e('0x62')]=_0x2279d6[_0x148e('0x2a')][_0x148e('0x63')]=_0x443547[_0x148e('0x47')][_0x148e('0x62')];if(_0x443547[_0x148e('0x47')][_0x148e('0x48')]){_0x2279d6[_0x148e('0x29')][_0x148e('0x48')]=_0x2279d6[_0x148e('0x2a')][_0x148e('0x48')]=!![];_0x2279d6[_0x148e('0x29')][_0x148e('0x49')]=_0x2279d6['Smtp'][_0x148e('0x49')]=_0x443547[_0x148e('0x47')]['CloudProviderId'];_0x2279d6[_0x148e('0x29')][_0x148e('0x62')]=_0x2279d6['Smtp'][_0x148e('0x63')]=null;}else{_0x2279d6[_0x148e('0x29')][_0x148e('0x49')]=_0x2279d6['Smtp']['CloudProviderId']=null;}_0x2279d6[_0x148e('0x29')]['service']=_0x2279d6['Smtp'][_0x148e('0x64')]=null;_0x2279d6[_0x148e('0x29')][_0x148e('0x65')]=_0x2279d6['Smtp']['host']=null;_0x2279d6[_0x148e('0x29')][_0x148e('0x66')]=_0x2279d6['Smtp']['port']=null;}else{if(_0x443547[_0x148e('0x47')][_0x148e('0x67')]){_0x2279d6[_0x148e('0x29')][_0x148e('0x60')]=_0x2279d6[_0x148e('0x2a')]['user']=_0x443547[_0x148e('0x47')]['username'];_0x2279d6[_0x148e('0x29')][_0x148e('0x62')]=_0x2279d6['Smtp'][_0x148e('0x63')]=_0x443547['body'][_0x148e('0x62')];}else{_0x2279d6['Imap']['authentication']=_0x2279d6[_0x148e('0x2a')][_0x148e('0x67')]=![];_0x2279d6[_0x148e('0x29')][_0x148e('0x60')]=_0x2279d6['Smtp'][_0x148e('0x60')]=null;_0x2279d6[_0x148e('0x29')]['password']=_0x2279d6[_0x148e('0x2a')][_0x148e('0x63')]=null;}_0x2279d6[_0x148e('0x29')]['host']=_0x443547['body'][_0x148e('0x29')][_0x148e('0x65')];_0x2279d6[_0x148e('0x29')][_0x148e('0x66')]=_0x443547[_0x148e('0x47')][_0x148e('0x29')][_0x148e('0x66')];_0x2279d6['Smtp'][_0x148e('0x65')]=_0x443547['body']['Smtp'][_0x148e('0x65')];_0x2279d6[_0x148e('0x2a')]['port']=_0x443547[_0x148e('0x47')]['Smtp'][_0x148e('0x66')];}return db[_0x148e('0x2e')][_0x148e('0x4f')](_0x2279d6,{'include':[{'model':db[_0x148e('0x45')],'as':_0x148e('0x2a')},{'model':db[_0x148e('0x28')],'as':_0x148e('0x29')}]})[_0x148e('0xf')](function(_0x260e9f){var _0x31f16b=_0x443547[_0x148e('0x60')]['get']({'plain':!![]});if(!_0x31f16b)throw new Error(_0x148e('0x68'));if(_0x31f16b[_0x148e('0x69')]===_0x148e('0x60')){var _0xecfec5=_0x260e9f[_0x148e('0x6a')]({'plain':!![]});return db['UserProfileSection'][_0x148e('0x4a')]({'where':{'name':_0x148e('0x22'),'userProfileId':_0x31f16b[_0x148e('0x6b')]},'raw':!![]})[_0x148e('0xf')](function(_0x366e22){if(_0x366e22&&_0x366e22[_0x148e('0x6c')]===0x0){return db[_0x148e('0x23')][_0x148e('0x4f')]({'name':_0xecfec5['name'],'resourceId':_0xecfec5['id'],'type':_0x366e22['name'],'sectionId':_0x366e22['id']},{})[_0x148e('0xf')](function(){return _0x260e9f;});}else{return _0x260e9f;}})[_0x148e('0x18')](function(_0x391f0d){logger[_0x148e('0x14')](_0x148e('0x6d'),_0x391f0d);throw _0x391f0d;});}return _0x260e9f;})[_0x148e('0xf')](respondWithResult(_0x159108,0xc9))[_0x148e('0x18')](handleError(_0x159108,null));};exports['getImap']=function(_0x29c711,_0x12faee){return db[_0x148e('0x2e')][_0x148e('0x50')]({'where':{'id':_0x29c711[_0x148e('0x4d')]['id']}})[_0x148e('0xf')](handleEntityNotFound(_0x12faee,null))[_0x148e('0xf')](function(_0x41084e){if(_0x41084e){return _0x41084e[_0x148e('0x6e')]();}return null;})[_0x148e('0xf')](respondWithResult(_0x12faee,null))[_0x148e('0x18')](handleError(_0x12faee,null));};exports[_0x148e('0x6f')]=function(_0x73e7cc,_0x2cf176){if(_0x73e7cc[_0x148e('0x47')]['id']){delete _0x73e7cc['body']['id'];}return db[_0x148e('0x2e')][_0x148e('0x4a')]({'where':{'id':_0x73e7cc[_0x148e('0x4d')]['id']}})['then'](handleEntityNotFound(_0x2cf176,null))[_0x148e('0xf')](function(_0x17d5ba){if(_0x17d5ba){_0x73e7cc[_0x148e('0x47')][_0x148e('0x53')]=_0x17d5ba['id'];return db[_0x148e('0x28')][_0x148e('0x4f')](_0x73e7cc[_0x148e('0x47')]);}})[_0x148e('0xf')](respondWithResult(_0x2cf176,null))[_0x148e('0x18')](handleError(_0x2cf176,null));};exports[_0x148e('0x70')]=function(_0x10d078,_0x1acf94){return db['MailAccount'][_0x148e('0x50')]({'where':{'id':_0x10d078[_0x148e('0x4d')]['id']}})[_0x148e('0xf')](handleEntityNotFound(_0x1acf94,null))[_0x148e('0xf')](function(_0x4f27ad){if(_0x4f27ad){return _0x4f27ad[_0x148e('0x71')](null);}return null;})[_0x148e('0xf')](respondWithStatusCode(_0x1acf94,null))[_0x148e('0x18')](handleError(_0x1acf94,null));};exports[_0x148e('0x72')]=function(_0x13e784,_0x45cdc8){return db['MailAccount'][_0x148e('0x50')]({'where':{'id':_0x13e784[_0x148e('0x4d')]['id']}})[_0x148e('0xf')](handleEntityNotFound(_0x45cdc8,null))['then'](function(_0x3f4156){if(_0x3f4156){return _0x3f4156[_0x148e('0x72')]();}return null;})['then'](respondWithResult(_0x45cdc8,null))['catch'](handleError(_0x45cdc8,null));};exports[_0x148e('0x73')]=function(_0x2ec7e5,_0xc7f7d4){if(_0x2ec7e5[_0x148e('0x47')]['id']){delete _0x2ec7e5[_0x148e('0x47')]['id'];}return db[_0x148e('0x2e')][_0x148e('0x4a')]({'where':{'id':_0x2ec7e5['params']['id']}})[_0x148e('0xf')](handleEntityNotFound(_0xc7f7d4,null))['then'](function(_0x4f2fa2){if(_0x4f2fa2){_0x2ec7e5[_0x148e('0x47')]['MailAccountId']=_0x4f2fa2['id'];return db[_0x148e('0x45')][_0x148e('0x4f')](_0x2ec7e5[_0x148e('0x47')]);}})['then'](respondWithResult(_0xc7f7d4,null))[_0x148e('0x18')](handleError(_0xc7f7d4,null));};exports[_0x148e('0x74')]=function(_0x11ae95,_0x5799e2){return db[_0x148e('0x2e')]['findOne']({'where':{'id':_0x11ae95['params']['id']}})[_0x148e('0xf')](handleEntityNotFound(_0x5799e2,null))[_0x148e('0xf')](function(_0x1d4faf){if(_0x1d4faf){return _0x1d4faf[_0x148e('0x75')](null);}return null;})[_0x148e('0xf')](respondWithStatusCode(_0x5799e2,null))['catch'](handleError(_0x5799e2,null));};exports['addInteraction']=function(_0x390419,_0x373b6e){return db[_0x148e('0x76')][_0x148e('0x4a')]({'where':{'id':_0x390419[_0x148e('0x4d')]['id']}})['then'](handleEntityNotFound(_0x373b6e,null))['then'](function(_0x2b7da6){if(_0x2b7da6){return _0x2b7da6[_0x148e('0x77')](_0x390419[_0x148e('0x47')][_0x148e('0x55')],_['omit'](_0x390419[_0x148e('0x47')],[_0x148e('0x55'),'id'])||{});}})[_0x148e('0xf')](respondWithResult(_0x373b6e,null))[_0x148e('0x18')](handleError(_0x373b6e,null));};exports[_0x148e('0x78')]=function(_0x4aab75,_0x5c5d39){var _0x3c9016={'raw':![],'where':{}};var _0x59f109={};var _0x193c66={'count':0x0,'rows':[]};return db[_0x148e('0x2e')][_0x148e('0x50')]({'where':{'id':_0x4aab75[_0x148e('0x4d')]['id']}})['then'](handleEntityNotFound(_0x5c5d39,null))[_0x148e('0xf')](function(_0x5a9253){if(_0x5a9253){_0x59f109[_0x148e('0x32')]=_['keys'](db[_0x148e('0x76')][_0x148e('0x2f')]);_0x59f109[_0x148e('0x33')]=_['keys'](_0x4aab75[_0x148e('0x33')]);_0x59f109[_0x148e('0x35')]=_['intersection'](_0x59f109[_0x148e('0x32')],_0x59f109[_0x148e('0x33')]);_0x3c9016[_0x148e('0x38')]=_[_0x148e('0x36')](_0x59f109['model'],qs[_0x148e('0x37')](_0x4aab75['query'][_0x148e('0x37')]));_0x3c9016[_0x148e('0x38')]=_0x3c9016['attributes'][_0x148e('0x39')]?_0x3c9016[_0x148e('0x38')]:_0x59f109[_0x148e('0x32')];if(!_0x4aab75['query'][_0x148e('0x58')](_0x148e('0x51'))){_0x3c9016['limit']=qs[_0x148e('0x1e')](_0x4aab75[_0x148e('0x33')][_0x148e('0x1e')]);_0x3c9016[_0x148e('0x20')]=qs[_0x148e('0x20')](_0x4aab75[_0x148e('0x33')][_0x148e('0x20')]);}_0x3c9016[_0x148e('0x3a')]=qs['sort'](_0x4aab75[_0x148e('0x33')][_0x148e('0x3b')]);_0x3c9016[_0x148e('0x3c')]=qs[_0x148e('0x35')](_['pick'](_0x4aab75[_0x148e('0x33')],_0x59f109['filters']));_0x3c9016[_0x148e('0x3c')][_0x148e('0x53')]=_0x5a9253['id'];if(_0x4aab75['query'][_0x148e('0x3d')]){_0x3c9016[_0x148e('0x3c')]=_[_0x148e('0x3e')](_0x3c9016['where'],{'$or':_[_0x148e('0x2d')](_0x3c9016[_0x148e('0x38')],function(_0x37cb46){var _0x1cfdf0={};_0x1cfdf0[_0x37cb46]={'$like':'%'+_0x4aab75['query']['filter']+'%'};return _0x1cfdf0;})});}_0x3c9016=_[_0x148e('0x3e')]({},_0x3c9016,_0x4aab75[_0x148e('0x3f')]);return db[_0x148e('0x76')][_0x148e('0x1f')]({'where':_0x3c9016[_0x148e('0x3c')]})[_0x148e('0xf')](function(_0x69ac0e){_0x193c66[_0x148e('0x1f')]=_0x69ac0e;if(_0x4aab75['query'][_0x148e('0x40')]){_0x3c9016[_0x148e('0x41')]=[{'model':db[_0x148e('0x79')],'as':_0x148e('0x7a'),'required':![]},{'model':db[_0x148e('0x7b')],'as':_0x148e('0x7c'),'attributes':[_0x148e('0x26'),'fullname',_0x148e('0x7d')],'required':![]},{'model':db['Tag'],'as':'Tags','attributes':['id',_0x148e('0x26'),_0x148e('0x7e')],'where':_0x4aab75['query']['tag']?{'id':_0x4aab75['query'][_0x148e('0x7f')]}:undefined,'required':_0x4aab75[_0x148e('0x33')][_0x148e('0x7f')]?!![]:![]}];}return db[_0x148e('0x76')][_0x148e('0x42')](_0x3c9016);})[_0x148e('0xf')](function(_0x216acc){_0x193c66[_0x148e('0x43')]=_0x216acc;return _0x193c66;});}})[_0x148e('0xf')](respondWithFilteredResult(_0x5c5d39,_0x3c9016))[_0x148e('0x18')](handleError(_0x5c5d39,null));};exports['addApplications']=function addApplications(_0x33eebb,_0x2f672f){var _0x268d28=_0x33eebb['params']['id'];var _0x598106=_0x33eebb[_0x148e('0x47')];var _0x4477cb=0xc8;var _0x5e0dde=null;return db[_0x148e('0x80')][_0x148e('0x81')]({'isolationLevel':db['sequelize'][_0x148e('0x82')][_0x148e('0x83')][_0x148e('0x84')]},function(_0x5f4ec3){return db['MailAccount'][_0x148e('0x50')]({'where':{'id':_0x268d28},'transaction':_0x5f4ec3})[_0x148e('0xf')](function(_0x44550d){if(_0x44550d){return db[_0x148e('0x85')][_0x148e('0x24')]({'where':{'MailAccountId':_0x268d28},'transaction':_0x5f4ec3})[_0x148e('0xf')](function(){var _0x2cbc86=_['map'](_0x598106,function(_0x4310f5){_0x4310f5[_0x148e('0x53')]=_0x268d28;return _0x4310f5;});return db[_0x148e('0x85')][_0x148e('0x86')](_0x2cbc86,{'transaction':_0x5f4ec3});});}else{_0x4477cb=0x194;_0x5e0dde=[];}});})[_0x148e('0xf')](function(){if(_0x4477cb!==0x194){return db[_0x148e('0x85')][_0x148e('0x87')]({'where':{'MailAccountId':_0x268d28},'order':_0x148e('0x88')})['then'](function(_0x129e59){_0x5e0dde=_0x129e59;});}})[_0x148e('0x18')](function(_0x5090be){_0x4477cb=0x1f4;logger[_0x148e('0x14')](_0x5090be[_0x148e('0x89')]);if(_0x5090be[_0x148e('0x26')]){delete _0x5090be['name'];}_0x5e0dde=_0x5090be;})[_0x148e('0x8a')](function(){if(_0x5e0dde===null){_0x2f672f[_0x148e('0x25')](_0x4477cb);}else{if(_0x4477cb===0x1f4){_0x2f672f[_0x148e('0x1b')](_0x4477cb)[_0x148e('0x8b')](_0x5e0dde);}else{_0x2f672f[_0x148e('0x1b')](_0x4477cb)['json'](_0x5e0dde);}}});};exports[_0x148e('0x8c')]=function(_0x2cc857,_0xea2732){var _0x1e8185={};var _0x430774={};var _0x486437;var _0x57ccdc;return db[_0x148e('0x2e')][_0x148e('0x50')]({'where':{'id':_0x2cc857[_0x148e('0x4d')]['id']}})[_0x148e('0xf')](handleEntityNotFound(_0xea2732,null))['then'](function(_0x2bd0e7){if(_0x2bd0e7){_0x486437=_0x2bd0e7;_0x430774['model']=_[_0x148e('0x34')](db['MailApplication']['rawAttributes']);_0x430774[_0x148e('0x33')]=_[_0x148e('0x34')](_0x2cc857[_0x148e('0x33')]);_0x430774[_0x148e('0x35')]=_[_0x148e('0x36')](_0x430774['model'],_0x430774['query']);_0x1e8185[_0x148e('0x38')]=_[_0x148e('0x36')](_0x430774[_0x148e('0x32')],qs['fields'](_0x2cc857[_0x148e('0x33')][_0x148e('0x37')]));_0x1e8185[_0x148e('0x38')]=_0x1e8185['attributes'][_0x148e('0x39')]?_0x1e8185['attributes']:_0x430774['model'];_0x1e8185[_0x148e('0x3a')]=qs['sort'](_0x2cc857[_0x148e('0x33')][_0x148e('0x3b')]);_0x1e8185[_0x148e('0x3c')]=qs['filters'](_[_0x148e('0x52')](_0x2cc857['query'],_0x430774[_0x148e('0x35')]));if(_0x2cc857[_0x148e('0x33')][_0x148e('0x3d')]){_0x1e8185[_0x148e('0x3c')]=_[_0x148e('0x3e')](_0x1e8185[_0x148e('0x3c')],{'$or':_['map'](_0x1e8185[_0x148e('0x38')],function(_0x1e8b93){var _0x395595={};_0x395595[_0x1e8b93]={'$like':'%'+_0x2cc857[_0x148e('0x33')][_0x148e('0x3d')]+'%'};return _0x395595;})});}_0x1e8185=_[_0x148e('0x3e')]({},_0x1e8185,_0x2cc857[_0x148e('0x3f')]);return _0x486437[_0x148e('0x8c')](_0x1e8185);}})[_0x148e('0xf')](function(_0x4ebcf3){if(_0x4ebcf3){_0x57ccdc=_0x4ebcf3[_0x148e('0x39')];if(!_0x2cc857[_0x148e('0x33')]['hasOwnProperty'](_0x148e('0x51'))){_0x1e8185[_0x148e('0x1e')]=qs[_0x148e('0x1e')](_0x2cc857[_0x148e('0x33')][_0x148e('0x1e')]);_0x1e8185[_0x148e('0x20')]=qs['offset'](_0x2cc857[_0x148e('0x33')][_0x148e('0x20')]);}return _0x486437[_0x148e('0x8c')](_0x1e8185);}})['then'](function(_0x261440){if(_0x261440){return _0x261440?{'count':_0x57ccdc,'rows':_0x261440}:null;}})['then'](respondWithResult(_0xea2732,null))['catch'](handleError(_0xea2732,null));};exports[_0x148e('0x8d')]=function(_0xbbf1ed,_0x1bc4b6){var _0x4f0e37={'raw':!![],'where':{}};var _0x1a5d3b={};var _0x30663d={'count':0x0,'rows':[]};return db[_0x148e('0x2e')]['findOne']({'where':{'id':_0xbbf1ed[_0x148e('0x4d')]['id']}})['then'](handleEntityNotFound(_0x1bc4b6,null))[_0x148e('0xf')](function(_0x5d4ca0){if(_0x5d4ca0){_0x1a5d3b[_0x148e('0x32')]=_['keys'](db[_0x148e('0x8e')][_0x148e('0x2f')]);_0x1a5d3b[_0x148e('0x33')]=_['keys'](_0xbbf1ed[_0x148e('0x33')]);_0x1a5d3b['filters']=_['intersection'](_0x1a5d3b['model'],_0x1a5d3b[_0x148e('0x33')]);_0x4f0e37[_0x148e('0x38')]=_[_0x148e('0x36')](_0x1a5d3b[_0x148e('0x32')],qs['fields'](_0xbbf1ed['query'][_0x148e('0x37')]));_0x4f0e37[_0x148e('0x38')]=_0x4f0e37['attributes'][_0x148e('0x39')]?_0x4f0e37['attributes']:_0x1a5d3b[_0x148e('0x32')];if(!_0xbbf1ed[_0x148e('0x33')][_0x148e('0x58')](_0x148e('0x51'))){_0x4f0e37[_0x148e('0x1e')]=qs[_0x148e('0x1e')](_0xbbf1ed['query'][_0x148e('0x1e')]);_0x4f0e37['offset']=qs['offset'](_0xbbf1ed[_0x148e('0x33')]['offset']);}_0x4f0e37[_0x148e('0x3a')]=qs[_0x148e('0x3b')](_0xbbf1ed[_0x148e('0x33')][_0x148e('0x3b')]);_0x4f0e37['where']=qs['filters'](_[_0x148e('0x52')](_0xbbf1ed[_0x148e('0x33')],_0x1a5d3b[_0x148e('0x35')]));_0x4f0e37[_0x148e('0x3c')][_0x148e('0x53')]=_0x5d4ca0['id'];if(_0xbbf1ed[_0x148e('0x33')][_0x148e('0x3d')]){_0x4f0e37[_0x148e('0x3c')]=_[_0x148e('0x3e')](_0x4f0e37[_0x148e('0x3c')],{'$or':_[_0x148e('0x2d')](_0x4f0e37[_0x148e('0x38')],function(_0x4d3339){var _0x48815a={};_0x48815a[_0x4d3339]={'$like':'%'+_0xbbf1ed[_0x148e('0x33')][_0x148e('0x3d')]+'%'};return _0x48815a;})});}if(_0xbbf1ed[_0x148e('0x33')][_0x148e('0x8f')]){var _0xc96e75=_0xbbf1ed[_0x148e('0x33')][_0x148e('0x8f')][_0x148e('0x90')](',');var _0x4026d0={};_0x4026d0[_0xc96e75[0x0]]={'$gte':moment(_0xc96e75[0x1])[_0x148e('0x91')](_0x148e('0x92'))};_0x4f0e37[_0x148e('0x3c')]=_[_0x148e('0x3e')](_0x4f0e37[_0x148e('0x3c')],_0x4026d0);}_0x4f0e37=_['merge']({},_0x4f0e37,_0xbbf1ed['options']);return db['MailMessage'][_0x148e('0x1f')]({'where':_0x4f0e37[_0x148e('0x3c')]})['then'](function(_0x5f3f15){_0x30663d['count']=_0x5f3f15;if(_0xbbf1ed[_0x148e('0x33')][_0x148e('0x40')]){_0x4f0e37[_0x148e('0x41')]=[{'all':!![]}];}return db[_0x148e('0x8e')][_0x148e('0x42')](_0x4f0e37);})[_0x148e('0xf')](function(_0x20cb2d){if(_0xbbf1ed[_0x148e('0x33')]['inlineCss']==='true'){for(var _0x1bffa4=0x0;_0x1bffa4<_0x20cb2d[_0x148e('0x39')];_0x1bffa4++){_0x20cb2d[_0x1bffa4][_0x148e('0x47')]=juice(_0x20cb2d[_0x1bffa4][_0x148e('0x47')]);}}_0x30663d[_0x148e('0x43')]=_0x20cb2d;return _0x30663d;});}})[_0x148e('0xf')](respondWithFilteredResult(_0x1bc4b6,_0x4f0e37))[_0x148e('0x18')](handleError(_0x1bc4b6,null));};exports[_0x148e('0x8b')]=function(_0x73bc3f,_0x3c2943){var _0x9abfbe,_0xfe445a={},_0x5400e3;if(_0x73bc3f[_0x148e('0x47')]['to']){_0x5400e3=_0x73bc3f[_0x148e('0x47')]['to']['split'](',')[0x0];}return db[_0x148e('0x2e')][_0x148e('0x4a')]({'where':{'id':_0x73bc3f[_0x148e('0x4d')]['id']},'include':[{'model':db[_0x148e('0x93')],'as':_0x148e('0x94'),'include':[{'model':db[_0x148e('0x79')],'as':'Contacts','where':{'email':_0x5400e3},'limit':0x1,'order':[[_0x148e('0x95'),_0x148e('0x96')]]}]},{'model':db[_0x148e('0x45')],'as':_0x148e('0x2a'),'raw':!![]}]})[_0x148e('0xf')](handleEntityNotFound(_0x3c2943,null))[_0x148e('0xf')](function(_0x5bfa03){if(_0x5bfa03){_0x9abfbe=_0x5bfa03;if(_0x5bfa03['Smtp']){if(_['isNil'](_0x73bc3f[_0x148e('0x47')][_0x148e('0x97')])){_0x73bc3f[_0x148e('0x47')][_0x148e('0x97')]=util[_0x148e('0x91')](_0x148e('0x98'),_0x5bfa03['name'],_0x5bfa03[_0x148e('0x5c')]||_0x5bfa03[_0x148e('0x2a')][_0x148e('0x60')]);}if(_0x73bc3f[_0x148e('0x47')]['attachments']&&_0x73bc3f['body'][_0x148e('0x99')][_0x148e('0x39')]){for(var _0x3ba03c=0x0;_0x3ba03c<_0x73bc3f[_0x148e('0x47')]['attachments'][_0x148e('0x39')];_0x3ba03c+=0x1){_0x73bc3f['body'][_0x148e('0x99')][_0x3ba03c]={'filename':_0x73bc3f[_0x148e('0x47')][_0x148e('0x99')][_0x3ba03c][_0x148e('0x26')],'path':path[_0x148e('0x9a')](config[_0x148e('0x9b')],_0x148e('0x9c'),_0x73bc3f[_0x148e('0x47')][_0x148e('0x99')][_0x3ba03c][_0x148e('0x9d')])};}}var _0x2f4a7b={'tls':{'rejectUnauthorized':![]}};if(_[_0x148e('0x9e')](_0x5bfa03[_0x148e('0x2a')][_0x148e('0x64')])){if(_0x5bfa03['Smtp'][_0x148e('0x67')]){_0x2f4a7b['auth']={'user':_0x5bfa03['Smtp'][_0x148e('0x60')],'pass':_0x5bfa03[_0x148e('0x2a')][_0x148e('0x63')]};}_0x2f4a7b[_0x148e('0x65')]=_0x5bfa03['Smtp'][_0x148e('0x65')];_0x2f4a7b[_0x148e('0x66')]=_0x5bfa03['Smtp'][_0x148e('0x66')];_0x2f4a7b[_0x148e('0x9f')]=_0x5bfa03[_0x148e('0x2a')][_0x148e('0x9f')];}else{_0x2f4a7b[_0x148e('0x64')]=_0x5bfa03[_0x148e('0x2a')]['service'];_0x2f4a7b[_0x148e('0xa0')]={'user':_0x5bfa03['Smtp'][_0x148e('0x60')],'pass':_0x5bfa03[_0x148e('0x2a')]['pass']};}return respondWithRpcPromise(_0x148e('0xa1'),_0x148e('0xa2'),{'account':_0x2f4a7b,'message':_0x73bc3f[_0x148e('0x47')]});}else{throw new Error('List\x20not\x20found');}}})[_0x148e('0xf')](function(_0x511523){if(_0x511523){_0xfe445a=_0x511523;if(_0x9abfbe['List']){if(_0x9abfbe[_0x148e('0x94')][_0x148e('0xa3')][_0x148e('0x39')]){return _0x9abfbe['List'][_0x148e('0xa3')][0x0];}else{return db[_0x148e('0x79')]['create'](_[_0x148e('0x7')](_0x73bc3f['body'],{'firstName':_0x73bc3f['body']['to'],'email':_0x73bc3f['body']['to'],'phone':_0x73bc3f[_0x148e('0x47')]['to'],'ListId':_0x9abfbe[_0x148e('0x5d')]}));}}else{throw new Error(_0x148e('0xa4'));}}})[_0x148e('0xf')](function(_0x7988d6){if(_0x7988d6){var _0x456353={'UserId':_0x73bc3f[_0x148e('0x60')]['id'],'ContactId':_0x7988d6['id'],'MailAccountId':_0x9abfbe['id'],'inReplyTo':_0xfe445a['messageId'],'to':_0x73bc3f[_0x148e('0x47')]['from'],'cc':_0x73bc3f['body']['cc'],'subject':_0x73bc3f[_0x148e('0x47')][_0x148e('0xa5')],'attach':_0x73bc3f[_0x148e('0x47')][_0x148e('0xa6')],'firstMsgDirection':'out','lastMsgAt':moment()[_0x148e('0x91')](_0x148e('0x92')),'lastMsgDirection':_0x148e('0xa7'),'Messages':[_[_0x148e('0x3e')](_0x73bc3f[_0x148e('0x47')],{'messageId':_0xfe445a[_0x148e('0xa8')],'sentAt':moment()[_0x148e('0x91')](_0x148e('0x92')),'read':!![],'MailAccountId':_0x9abfbe['id'],'UserId':_0x73bc3f[_0x148e('0x60')]['id'],'ContactId':_0x7988d6['id']})]};if(_0x73bc3f[_0x148e('0x47')]['Interaction']){_0x456353=_[_0x148e('0x3e')](_0x456353,_0x73bc3f[_0x148e('0x47')]['Interaction']);}return db[_0x148e('0x76')]['create'](_0x456353,{'include':[{'model':db[_0x148e('0x8e')],'as':_0x148e('0xa9')}]});}})['then'](respondWithResult(_0x3c2943,null))['catch'](handleError(_0x3c2943,null));};exports[_0x148e('0xaa')]=function(_0x23121a,_0xe267a5){return db[_0x148e('0x2e')]['find']({'where':{'id':_0x23121a[_0x148e('0x4d')]['id']},'include':[{'model':db[_0x148e('0x45')],'as':_0x148e('0x2a'),'raw':!![],'include':[{'model':db[_0x148e('0xab')],'as':_0x148e('0xab'),'raw':!![]}]}]})['then'](handleEntityNotFound(_0xe267a5,null))['then'](function(_0x99e33a){if(!_0x99e33a[_0x148e('0x2a')])return;var _0xed22d6={'id':_0x99e33a['id'],'tls':{'rejectUnauthorized':![]}};if(_0x99e33a[_0x148e('0x5a')]!=='custom'){_0xed22d6[_0x148e('0x64')]=_0x99e33a[_0x148e('0x5a')];}else{_0xed22d6[_0x148e('0x65')]=_0x99e33a[_0x148e('0x2a')][_0x148e('0x65')];_0xed22d6[_0x148e('0x66')]=_0x99e33a[_0x148e('0x2a')]['port'];_0xed22d6[_0x148e('0x9f')]=_0x99e33a['Smtp'][_0x148e('0x9f')];}if(_0x99e33a[_0x148e('0x2a')]['authentication']){if(_0x99e33a[_0x148e('0x2a')][_0x148e('0x48')]){_0xed22d6['auth']={'type':_0x148e('0xac'),'user':_0x99e33a[_0x148e('0x2a')][_0x148e('0x60')],'accessToken':_0x99e33a[_0x148e('0x2a')][_0x148e('0xab')][_0x148e('0xad')]};}else{_0xed22d6['auth']={'user':_0x99e33a[_0x148e('0x2a')]['user'],'pass':_0x99e33a[_0x148e('0x2a')][_0x148e('0x63')]};}}return respondWithRpcPromise('VerifySmtp',_0x148e('0xaa'),{'account':_0xed22d6});})[_0x148e('0xf')](respondWithResult(_0xe267a5,null))['catch'](handleError(_0xe267a5,null));};exports[_0x148e('0x24')]=function(_0x2b3c2e,_0x545aa4){return db[_0x148e('0x2e')][_0x148e('0x4a')]({'where':{'id':_0x2b3c2e[_0x148e('0x4d')]['id']}})[_0x148e('0xf')](handleEntityNotFound(_0x545aa4,null))[_0x148e('0xf')](function(_0x4ec510){if(_0x4ec510&&_0x4ec510[_0x148e('0x64')]){throw new db[(_0x148e('0xae'))][(_0x148e('0xaf'))]('You\x20can\x27t\x20remove\x20the\x20mail\x20service\x20account');}return _0x4ec510;})[_0x148e('0xf')](removeEntity(_0x545aa4,null))[_0x148e('0x18')](handleError(_0x545aa4,null));};exports[_0x148e('0xb0')]=function(_0x410af0,_0x591563){return db['MailAccount'][_0x148e('0x4a')]({'where':{'id':_0x410af0[_0x148e('0x4d')]['id']}})['then'](handleEntityNotFound(_0x591563,null))[_0x148e('0xf')](function(_0x27f715){if(_0x27f715){return _0x27f715['addAgents'](_0x410af0[_0x148e('0x47')][_0x148e('0x55')],_[_0x148e('0xb1')](_0x410af0[_0x148e('0x47')],[_0x148e('0x55'),'id'])||{})['spread'](function(_0x3955c8){for(var _0x2303e7=0x0;_0x2303e7<_0x410af0['body'][_0x148e('0x55')][_0x148e('0x39')];_0x2303e7+=0x1){socket[_0x148e('0xb2')](_0x148e('0xb3'),{'UserId':Number(_0x410af0[_0x148e('0x47')][_0x148e('0x55')][_0x2303e7]),'MailAccountId':Number(_0x410af0[_0x148e('0x4d')]['id'])});}return _0x3955c8;});}})[_0x148e('0xf')](respondWithResult(_0x591563,null))[_0x148e('0x18')](handleError(_0x591563,null));};exports['removeAgents']=function(_0xdaca6e,_0x2264aa){return db[_0x148e('0x2e')][_0x148e('0x4a')]({'where':{'id':_0xdaca6e[_0x148e('0x4d')]['id']}})[_0x148e('0xf')](handleEntityNotFound(_0x2264aa,null))[_0x148e('0xf')](function(_0xec981d){if(_0xec981d){return _0xec981d[_0x148e('0xb4')](_0xdaca6e['query'][_0x148e('0x55')])['then'](function(){if(_[_0x148e('0xb5')](_0xdaca6e[_0x148e('0x33')][_0x148e('0x55')])){for(var _0x1c1ec0=0x0;_0x1c1ec0<_0xdaca6e[_0x148e('0x33')][_0x148e('0x55')][_0x148e('0x39')];_0x1c1ec0+=0x1){socket['emit'](_0x148e('0xb6'),{'UserId':Number(_0xdaca6e[_0x148e('0x33')][_0x148e('0x55')][_0x1c1ec0]),'MailAccountId':Number(_0xdaca6e[_0x148e('0x4d')]['id'])});}}else{socket[_0x148e('0xb2')](_0x148e('0xb6'),{'UserId':Number(_0xdaca6e['query'][_0x148e('0x55')]),'MailAccountId':Number(_0xdaca6e['params']['id'])});}});}})[_0x148e('0xf')](respondWithStatusCode(_0x2264aa,null))[_0x148e('0x18')](handleError(_0x2264aa,null));};exports[_0x148e('0xb7')]=function(_0x56dea9,_0xb2064d){var _0xe97080={};var _0xdeca8b={};var _0x3009d9;var _0x3917da;return db[_0x148e('0x2e')][_0x148e('0x50')]({'where':{'id':_0x56dea9[_0x148e('0x4d')]['id']}})[_0x148e('0xf')](handleEntityNotFound(_0xb2064d,null))[_0x148e('0xf')](function(_0x48d03b){if(_0x48d03b){_0x3009d9=_0x48d03b;_0xdeca8b['model']=_[_0x148e('0x34')](db[_0x148e('0x7b')][_0x148e('0x2f')]);_0xdeca8b[_0x148e('0x33')]=_['keys'](_0x56dea9[_0x148e('0x33')]);_0xdeca8b[_0x148e('0x35')]=_['intersection'](_0xdeca8b['model'],_0xdeca8b[_0x148e('0x33')]);_0xe97080[_0x148e('0x38')]=_[_0x148e('0x36')](_0xdeca8b[_0x148e('0x32')],qs[_0x148e('0x37')](_0x56dea9['query'][_0x148e('0x37')]));_0xe97080['attributes']=_0xe97080[_0x148e('0x38')][_0x148e('0x39')]?_0xe97080[_0x148e('0x38')]:_0xdeca8b[_0x148e('0x32')];_0xe97080[_0x148e('0x3a')]=qs[_0x148e('0x3b')](_0x56dea9[_0x148e('0x33')][_0x148e('0x3b')]);_0xe97080[_0x148e('0x3c')]=qs[_0x148e('0x35')](_['pick'](_0x56dea9['query'],_0xdeca8b[_0x148e('0x35')]));if(_0x56dea9[_0x148e('0x33')][_0x148e('0x3d')]){_0xe97080['where']=_[_0x148e('0x3e')](_0xe97080['where'],{'$or':_['map'](_0xe97080[_0x148e('0x38')],function(_0x49dfc1){var _0x2131f1={};_0x2131f1[_0x49dfc1]={'$like':'%'+_0x56dea9[_0x148e('0x33')][_0x148e('0x3d')]+'%'};return _0x2131f1;})});}_0xe97080=_[_0x148e('0x3e')]({},_0xe97080,_0x56dea9[_0x148e('0x3f')]);return _0x3009d9[_0x148e('0xb7')](_0xe97080);}})[_0x148e('0xf')](function(_0x1fa491){if(_0x1fa491){_0x3917da=_0x1fa491[_0x148e('0x39')];if(!_0x56dea9[_0x148e('0x33')]['hasOwnProperty'](_0x148e('0x51'))){_0xe97080['limit']=qs[_0x148e('0x1e')](_0x56dea9[_0x148e('0x33')][_0x148e('0x1e')]);_0xe97080[_0x148e('0x20')]=qs['offset'](_0x56dea9[_0x148e('0x33')][_0x148e('0x20')]);}return _0x3009d9['getAgents'](_0xe97080);}})[_0x148e('0xf')](function(_0x415407){if(_0x415407){return _0x415407?{'count':_0x3917da,'rows':_0x415407}:null;}})[_0x148e('0xf')](respondWithResult(_0xb2064d,null))[_0x148e('0x18')](handleError(_0xb2064d,null));};