Built motion from commit 3c2ce842.|2.6.31
[motion2.git] / server / api / cloudProvider / cloudProvider.controller.js
index 8b5e110..80cad05 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x132d=['findAll','rows','service','MicrosoftAzure','decryptString','data3','catch','show','params','keys','find','create','body','Name\x20parameter\x20not\x20specified','Service\x20parameter\x20not\x20specified','values','Invalid\x20service\x20parameter.\x20Allowed\x20values:\x20','join','encryptString','oauth2MicrosoftAuthorize','findOne','user','state','Invalid\x20state\x20parameter','from','toString','ascii','parse','isValidIdToken','oauth2Claims','Unable\x20to\x20validate\x20id_token','getOauth2MicrosoftAccessToken','data5','refresh_token','startRefreshInterval','microsoftAuthorization:success','microsoftAuthorization:error','message','Authentication\x20failed\x20for\x20cloud\x20provider\x20#%s,\x20err:%s','lodash','ioredis','../../components/parsers/qs','../../components/encryptor','redis','localhost','socket.io-emitter','sendStatus','status','end','json','offset','undefined','limit','count','update','then','destroy','error','stack','name','send','padEnd','slice','index','map','rawAttributes','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','CloudProvider','includeAll','include'];(function(_0x2712ef,_0x385b2f){var _0x269483=function(_0x26c93a){while(--_0x26c93a){_0x2712ef['push'](_0x2712ef['shift']());}};_0x269483(++_0x385b2f);}(_0x132d,0x12c));var _0xd132=function(_0x1ed0d3,_0x7fceb2){_0x1ed0d3=_0x1ed0d3-0x0;var _0x3a1c39=_0x132d[_0x1ed0d3];return _0x3a1c39;};'use strict';var _=require(_0xd132('0x0'));var Redis=require(_0xd132('0x1'));var qs=require(_0xd132('0x2'));var encryptor=require(_0xd132('0x3'));var config=require('../../config/environment');var logger=require('../../config/logger')('api');var db=require('../../mysqldb')['db'];var oauth=require('./cloudProvider.oauth');config['redis']=_['defaults'](config[_0xd132('0x4')],{'host':_0xd132('0x5'),'port':0x18eb});var socket=require(_0xd132('0x6'))(new Redis(config['redis']));var redis=new Redis(config[_0xd132('0x4')]);function respondWithStatusCode(_0x49f1f7,_0x321ff3){_0x321ff3=_0x321ff3||0xcc;return function(_0x275200){if(_0x275200){return _0x49f1f7[_0xd132('0x7')](_0x321ff3);}return _0x49f1f7[_0xd132('0x8')](_0x321ff3)[_0xd132('0x9')]();};}function respondWithResult(_0x48fba5,_0x108f8c){_0x108f8c=_0x108f8c||0xc8;return function(_0x5cb2cb){if(_0x5cb2cb){return _0x48fba5['status'](_0x108f8c)[_0xd132('0xa')](_0x5cb2cb);}};}function respondWithFilteredResult(_0x351dfe,_0x3db38f){return function(_0x221006){if(_0x221006){var _0x431ca3=typeof _0x3db38f[_0xd132('0xb')]===_0xd132('0xc')&&typeof _0x3db38f[_0xd132('0xd')]===_0xd132('0xc');var _0x19d4f6=_0x221006[_0xd132('0xe')];var _0x7073fe=_0x431ca3?0x0:_0x3db38f['offset'];var _0x36035f=_0x431ca3?_0x221006['count']:_0x3db38f[_0xd132('0xb')]+_0x3db38f[_0xd132('0xd')];var _0x3ca403;if(_0x36035f>=_0x19d4f6){_0x36035f=_0x19d4f6;_0x3ca403=0xc8;}else{_0x3ca403=0xce;}_0x351dfe[_0xd132('0x8')](_0x3ca403);return _0x351dfe['set']('Content-Range',_0x7073fe+'-'+_0x36035f+'/'+_0x19d4f6)[_0xd132('0xa')](_0x221006);}return null;};}function saveUpdates(_0x26a337){return function(_0x51d49d){if(_0x51d49d){return _0x51d49d[_0xd132('0xf')](_0x26a337)[_0xd132('0x10')](function(_0x3e9333){return _0x3e9333;});}return null;};}function removeEntity(_0x19ddb2){return function(_0x3030cc){if(_0x3030cc){return _0x3030cc[_0xd132('0x11')]()[_0xd132('0x10')](function(){_0x19ddb2[_0xd132('0x8')](0xcc)[_0xd132('0x9')]();});}};}function handleEntityNotFound(_0x23a2bf){return function(_0x3c38f3){if(!_0x3c38f3){_0x23a2bf[_0xd132('0x7')](0x194);}return _0x3c38f3;};}function handleError(_0x13abbb,_0x5324c8){_0x5324c8=_0x5324c8||0x1f4;return function(_0x49a2e8){logger[_0xd132('0x12')](_0x49a2e8[_0xd132('0x13')]);if(_0x49a2e8[_0xd132('0x14')]){delete _0x49a2e8[_0xd132('0x14')];}_0x13abbb[_0xd132('0x8')](_0x5324c8)[_0xd132('0x15')](_0x49a2e8);};}function maskClientSecret(_0x1a8f51){return _[_0xd132('0x16')](_0x1a8f51[_0xd132('0x17')](0x0,0x3),0x14,'*');}exports[_0xd132('0x18')]=function(_0x192f5f,_0x4dfa8c){var _0x2829fc={},_0xaf4a85={},_0x4fff1d={'count':0x0,'rows':[]};var _0x42169c=_[_0xd132('0x19')](db['CloudProvider'][_0xd132('0x1a')],function(_0x588ce9){return{'name':_0x588ce9['fieldName'],'type':_0x588ce9[_0xd132('0x1b')][_0xd132('0x1c')]};});_0xaf4a85[_0xd132('0x1d')]=_['map'](_0x42169c,_0xd132('0x14'));_0xaf4a85[_0xd132('0x1e')]=_['keys'](_0x192f5f['query']);_0xaf4a85[_0xd132('0x1f')]=_[_0xd132('0x20')](_0xaf4a85[_0xd132('0x1d')],_0xaf4a85[_0xd132('0x1e')]);_0x2829fc['attributes']=_[_0xd132('0x20')](_0xaf4a85[_0xd132('0x1d')],qs['fields'](_0x192f5f['query'][_0xd132('0x21')]));_0x2829fc[_0xd132('0x22')]=_0x2829fc[_0xd132('0x22')][_0xd132('0x23')]?_0x2829fc['attributes']:_0xaf4a85[_0xd132('0x1d')];if(!_0x192f5f[_0xd132('0x1e')][_0xd132('0x24')](_0xd132('0x25'))){_0x2829fc[_0xd132('0xd')]=qs['limit'](_0x192f5f['query'][_0xd132('0xd')]);_0x2829fc[_0xd132('0xb')]=qs[_0xd132('0xb')](_0x192f5f[_0xd132('0x1e')][_0xd132('0xb')]);}_0x2829fc[_0xd132('0x26')]=qs[_0xd132('0x27')](_0x192f5f[_0xd132('0x1e')]['sort']);_0x2829fc[_0xd132('0x28')]=qs[_0xd132('0x1f')](_['pick'](_0x192f5f[_0xd132('0x1e')],_0xaf4a85['filters']),_0x42169c);if(_0x192f5f[_0xd132('0x1e')][_0xd132('0x29')]){_0x2829fc[_0xd132('0x28')]=_[_0xd132('0x2a')](_0x2829fc[_0xd132('0x28')],{'$or':_[_0xd132('0x19')](_0x42169c,function(_0x306ede){if(_0x306ede[_0xd132('0x1b')]!==_0xd132('0x2b')){var _0xffc9f8={};_0xffc9f8[_0x306ede[_0xd132('0x14')]]={'$like':'%'+_0x192f5f[_0xd132('0x1e')][_0xd132('0x29')]+'%'};return _0xffc9f8;}})});}_0x2829fc=_['merge']({},_0x2829fc,_0x192f5f[_0xd132('0x2c')]);var _0x4c0c0c={'where':_0x2829fc[_0xd132('0x28')]};return db[_0xd132('0x2d')][_0xd132('0xe')](_0x4c0c0c)['then'](function(_0x5af103){_0x4fff1d['count']=_0x5af103;if(_0x192f5f[_0xd132('0x1e')][_0xd132('0x2e')]){_0x2829fc[_0xd132('0x2f')]=[{'all':!![]}];}return db['CloudProvider'][_0xd132('0x30')](_0x2829fc);})['then'](function(_0x39a48f){_0x4fff1d[_0xd132('0x31')]=_[_0xd132('0x19')](_0x39a48f,function(_0x2cf57c){if(_0x2cf57c[_0xd132('0x32')]===_0xd132('0x33')){var _0x895e1d=encryptor[_0xd132('0x34')](_0x2cf57c[_0xd132('0x35')]);_0x2cf57c['data3']=maskClientSecret(_0x895e1d);}return _0x2cf57c;});return _0x4fff1d;})[_0xd132('0x10')](respondWithFilteredResult(_0x4dfa8c,_0x2829fc))[_0xd132('0x36')](handleError(_0x4dfa8c,null));};exports[_0xd132('0x37')]=function(_0x34eed5,_0x2f127a){var _0x3e0cf8={'raw':!![],'where':{'id':_0x34eed5[_0xd132('0x38')]['id']}},_0x2f5024={};_0x2f5024[_0xd132('0x1d')]=_[_0xd132('0x39')](db['CloudProvider'][_0xd132('0x1a')]);_0x2f5024[_0xd132('0x1e')]=_[_0xd132('0x39')](_0x34eed5['query']);_0x2f5024['filters']=_['intersection'](_0x2f5024[_0xd132('0x1d')],_0x2f5024[_0xd132('0x1e')]);_0x3e0cf8[_0xd132('0x22')]=_[_0xd132('0x20')](_0x2f5024['model'],qs['fields'](_0x34eed5[_0xd132('0x1e')][_0xd132('0x21')]));_0x3e0cf8['attributes']=_0x3e0cf8['attributes'][_0xd132('0x23')]?_0x3e0cf8[_0xd132('0x22')]:_0x2f5024[_0xd132('0x1d')];if(_0x34eed5[_0xd132('0x1e')]['includeAll']){_0x3e0cf8[_0xd132('0x2f')]=[{'all':!![]}];}_0x3e0cf8=_[_0xd132('0x2a')]({},_0x3e0cf8,_0x34eed5['options']);return db[_0xd132('0x2d')][_0xd132('0x3a')](_0x3e0cf8)['then'](handleEntityNotFound(_0x2f127a,null))[_0xd132('0x10')](function(_0x5147f2){if(_0x5147f2[_0xd132('0x32')]==='MicrosoftAzure'){var _0x120f66=encryptor[_0xd132('0x34')](_0x5147f2[_0xd132('0x35')]);_0x5147f2[_0xd132('0x35')]=maskClientSecret(_0x120f66);}return _0x5147f2;})[_0xd132('0x10')](respondWithResult(_0x2f127a,null))[_0xd132('0x36')](handleError(_0x2f127a,null));};exports[_0xd132('0x3b')]=function(_0x18e532,_0x2e5f40){if(!_0x18e532[_0xd132('0x3c')][_0xd132('0x14')])throw new Error(_0xd132('0x3d'));if(!_0x18e532[_0xd132('0x3c')][_0xd132('0x32')])throw new Error(_0xd132('0x3e'));var _0x5ac326=db[_0xd132('0x2d')][_0xd132('0x1a')][_0xd132('0x32')][_0xd132('0x3f')];if(!_0x5ac326['includes'](_0x18e532[_0xd132('0x3c')][_0xd132('0x32')]))throw new Error(_0xd132('0x40')+_0x5ac326[_0xd132('0x41')](',\x20'));if(_0x18e532[_0xd132('0x3c')]['service']===_0xd132('0x33')&&_0x18e532[_0xd132('0x3c')][_0xd132('0x35')]){_0x18e532[_0xd132('0x3c')][_0xd132('0x35')]=encryptor[_0xd132('0x42')](_0x18e532[_0xd132('0x3c')][_0xd132('0x35')]);}return db[_0xd132('0x2d')][_0xd132('0x3b')](_0x18e532[_0xd132('0x3c')],{})[_0xd132('0x10')](respondWithResult(_0x2e5f40,0xc9))['catch'](handleError(_0x2e5f40,null));};exports[_0xd132('0xf')]=function(_0x2190a7,_0x1194a6){if(_0x2190a7['body']['id']){delete _0x2190a7[_0xd132('0x3c')]['id'];}return db[_0xd132('0x2d')][_0xd132('0x3a')]({'where':{'id':_0x2190a7['params']['id']}})[_0xd132('0x10')](handleEntityNotFound(_0x1194a6,null))[_0xd132('0x10')](function(_0x2d083f){if(_0x2d083f[_0xd132('0x32')]==='MicrosoftAzure'&&_0x2190a7['body'][_0xd132('0x35')]){_0x2190a7[_0xd132('0x3c')][_0xd132('0x35')]=encryptor[_0xd132('0x42')](_0x2190a7[_0xd132('0x3c')][_0xd132('0x35')]);}return _0x2d083f;})[_0xd132('0x10')](saveUpdates(_0x2190a7[_0xd132('0x3c')],null))[_0xd132('0x10')](respondWithResult(_0x1194a6,null))[_0xd132('0x36')](handleError(_0x1194a6,null));};exports[_0xd132('0x11')]=function(_0x3bd9fc,_0x3b670a){return db['CloudProvider']['find']({'where':{'id':_0x3bd9fc[_0xd132('0x38')]['id']}})[_0xd132('0x10')](handleEntityNotFound(_0x3b670a,null))[_0xd132('0x10')](removeEntity(_0x3b670a,null))[_0xd132('0x36')](handleError(_0x3b670a,null));};exports[_0xd132('0x43')]=function(_0xbdcb7,_0x1f9a8a){return db[_0xd132('0x2d')][_0xd132('0x44')]({'where':{'id':_0xbdcb7[_0xd132('0x38')]['id']},'raw':!![]})[_0xd132('0x10')](function(_0x3de3fb){if(!_0x3de3fb)return _0x1f9a8a[_0xd132('0x7')](0x194);return{'url':oauth['generateMicrosoftAuthorizationUrl'](_0x3de3fb,_0xbdcb7[_0xd132('0x45')]['id'])};})['then'](respondWithResult(_0x1f9a8a,null))['catch'](handleError(_0x1f9a8a,null));};exports['oauth2MicrosoftCallback']=function(_0x4f9837,_0x517ffa){var _0x87836f=_0x4f9837['body'];var _0x2124a2;var _0x1320e8;if(_0x87836f[_0xd132('0x12')])throw _0x87836f;redis['get'](_0x87836f[_0xd132('0x46')])[_0xd132('0x10')](function(_0x3e9de7){if(!_0x3e9de7)throw new Error(_0xd132('0x47'));_0x2124a2=JSON['parse'](_0x3e9de7);var _0x39b1d2=Buffer[_0xd132('0x48')](_0x87836f[_0xd132('0x46')],'base64')[_0xd132('0x49')](_0xd132('0x4a'));_0x1320e8=JSON[_0xd132('0x4b')](_0x39b1d2);if(!oauth[_0xd132('0x4c')](_0x87836f['id_token'],_0x2124a2[_0xd132('0x4d')]))throw new Error(_0xd132('0x4e'));redis['del'](_0x87836f['state']);return oauth[_0xd132('0x4f')](_0x87836f['code'],_0x2124a2);})[_0xd132('0x10')](function(_0x5113c5){_0x2124a2[_0xd132('0x50')]=_0x5113c5['access_token'];_0x2124a2['data6']=_0x5113c5[_0xd132('0x51')];return db[_0xd132('0x2d')][_0xd132('0xf')]({'data5':_0x2124a2['data5'],'data6':_0x2124a2['data6']},{'where':{'id':_0x2124a2['id']}});})[_0xd132('0x10')](function(){oauth[_0xd132('0x52')](_0x2124a2);socket['emit'](_0xd132('0x53'),{'id':_0x1320e8['id']});return;})[_0xd132('0x10')](respondWithStatusCode(_0x517ffa,null))[_0xd132('0x36')](function(_0x6e7720){if(_0x1320e8){socket['emit'](_0xd132('0x54'),{'id':_0x1320e8['id']});}if(!_0x2124a2){logger[_0xd132('0x12')]('Invalid\x20authentication\x20state\x20parameter',_0x6e7720);return _0x517ffa[_0xd132('0x8')](0x1f4)['send'](_0x6e7720[_0xd132('0x55')]);}logger['error'](_0xd132('0x56'),_0x2124a2['id'],JSON['stringify'](_0x6e7720));});};
\ No newline at end of file
+var _0x1220=['then','destroy','error','stack','name','send','padEnd','index','map','CloudProvider','rawAttributes','fieldName','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','filter','where','merge','VIRTUAL','options','includeAll','findAll','rows','MicrosoftAzure','decryptString','data3','catch','show','params','include','service','body','Service\x20parameter\x20not\x20specified','values','includes','Invalid\x20service\x20parameter.\x20Allowed\x20values:\x20','create','find','encryptString','oauth2MicrosoftAuthorize','generateMicrosoftAuthorizationUrl','user','oauth2MicrosoftCallback','get','Invalid\x20state\x20parameter','base64','toString','ascii','parse','isValidIdToken','oauth2Claims','Unable\x20to\x20validate\x20id_token','del','state','getOauth2MicrosoftAccessToken','code','data5','access_token','refresh_token','data6','startRefreshInterval','emit','microsoftAuthorization:error','Invalid\x20authentication\x20state\x20parameter','Authentication\x20failed\x20for\x20cloud\x20provider\x20#%s,\x20err:%s','stringify','lodash','ioredis','../../components/parsers/qs','../../config/environment','../../config/logger','../../mysqldb','./cloudProvider.oauth','redis','defaults','localhost','socket.io-emitter','sendStatus','status','undefined','limit','count','offset','set','Content-Range','json','update'];(function(_0x341b17,_0x36976a){var _0x407a3c=function(_0xef96e){while(--_0xef96e){_0x341b17['push'](_0x341b17['shift']());}};_0x407a3c(++_0x36976a);}(_0x1220,0xab));var _0x0122=function(_0x2d7f0e,_0x3e6fbd){_0x2d7f0e=_0x2d7f0e-0x0;var _0x110b07=_0x1220[_0x2d7f0e];return _0x110b07;};'use strict';var _=require(_0x0122('0x0'));var Redis=require(_0x0122('0x1'));var qs=require(_0x0122('0x2'));var encryptor=require('../../components/encryptor');var config=require(_0x0122('0x3'));var logger=require(_0x0122('0x4'))('api');var db=require(_0x0122('0x5'))['db'];var oauth=require(_0x0122('0x6'));config[_0x0122('0x7')]=_[_0x0122('0x8')](config[_0x0122('0x7')],{'host':_0x0122('0x9'),'port':0x18eb});var socket=require(_0x0122('0xa'))(new Redis(config['redis']));var redis=new Redis(config[_0x0122('0x7')]);function respondWithStatusCode(_0x595aa5,_0x5036fa){_0x5036fa=_0x5036fa||0xcc;return function(_0x39536a){if(_0x39536a){return _0x595aa5[_0x0122('0xb')](_0x5036fa);}return _0x595aa5[_0x0122('0xc')](_0x5036fa)['end']();};}function respondWithResult(_0x56dc09,_0x1f6bd5){_0x1f6bd5=_0x1f6bd5||0xc8;return function(_0x21dd5c){if(_0x21dd5c){return _0x56dc09[_0x0122('0xc')](_0x1f6bd5)['json'](_0x21dd5c);}};}function respondWithFilteredResult(_0x2f9c4c,_0x54f37e){return function(_0x1cae0a){if(_0x1cae0a){var _0xaf761e=typeof _0x54f37e['offset']===_0x0122('0xd')&&typeof _0x54f37e[_0x0122('0xe')]==='undefined';var _0x4b9909=_0x1cae0a[_0x0122('0xf')];var _0x584523=_0xaf761e?0x0:_0x54f37e[_0x0122('0x10')];var _0x5056a4=_0xaf761e?_0x1cae0a['count']:_0x54f37e[_0x0122('0x10')]+_0x54f37e[_0x0122('0xe')];var _0x10fb96;if(_0x5056a4>=_0x4b9909){_0x5056a4=_0x4b9909;_0x10fb96=0xc8;}else{_0x10fb96=0xce;}_0x2f9c4c['status'](_0x10fb96);return _0x2f9c4c[_0x0122('0x11')](_0x0122('0x12'),_0x584523+'-'+_0x5056a4+'/'+_0x4b9909)[_0x0122('0x13')](_0x1cae0a);}return null;};}function saveUpdates(_0x13af3c){return function(_0x501a12){if(_0x501a12){return _0x501a12[_0x0122('0x14')](_0x13af3c)[_0x0122('0x15')](function(_0x41c1fc){return _0x41c1fc;});}return null;};}function removeEntity(_0x327658){return function(_0x5c26bf){if(_0x5c26bf){return _0x5c26bf[_0x0122('0x16')]()['then'](function(){_0x327658[_0x0122('0xc')](0xcc)['end']();});}};}function handleEntityNotFound(_0x21220d){return function(_0x339996){if(!_0x339996){_0x21220d[_0x0122('0xb')](0x194);}return _0x339996;};}function handleError(_0x13eaea,_0x3a7c66){_0x3a7c66=_0x3a7c66||0x1f4;return function(_0xbb9062){logger[_0x0122('0x17')](_0xbb9062[_0x0122('0x18')]);if(_0xbb9062[_0x0122('0x19')]){delete _0xbb9062[_0x0122('0x19')];}_0x13eaea[_0x0122('0xc')](_0x3a7c66)[_0x0122('0x1a')](_0xbb9062);};}function maskClientSecret(_0x4f7ad2){return _[_0x0122('0x1b')](_0x4f7ad2['slice'](0x0,0x3),0x14,'*');}exports[_0x0122('0x1c')]=function(_0xfd139d,_0x19906c){var _0xf9a84d={},_0x48616c={},_0x5352ed={'count':0x0,'rows':[]};var _0x515268=_[_0x0122('0x1d')](db[_0x0122('0x1e')][_0x0122('0x1f')],function(_0x511efa){return{'name':_0x511efa[_0x0122('0x20')],'type':_0x511efa['type'][_0x0122('0x21')]};});_0x48616c['model']=_[_0x0122('0x1d')](_0x515268,'name');_0x48616c[_0x0122('0x22')]=_[_0x0122('0x23')](_0xfd139d[_0x0122('0x22')]);_0x48616c[_0x0122('0x24')]=_[_0x0122('0x25')](_0x48616c[_0x0122('0x26')],_0x48616c[_0x0122('0x22')]);_0xf9a84d[_0x0122('0x27')]=_[_0x0122('0x25')](_0x48616c['model'],qs[_0x0122('0x28')](_0xfd139d[_0x0122('0x22')][_0x0122('0x28')]));_0xf9a84d[_0x0122('0x27')]=_0xf9a84d[_0x0122('0x27')][_0x0122('0x29')]?_0xf9a84d[_0x0122('0x27')]:_0x48616c[_0x0122('0x26')];if(!_0xfd139d[_0x0122('0x22')][_0x0122('0x2a')](_0x0122('0x2b'))){_0xf9a84d[_0x0122('0xe')]=qs[_0x0122('0xe')](_0xfd139d[_0x0122('0x22')][_0x0122('0xe')]);_0xf9a84d[_0x0122('0x10')]=qs[_0x0122('0x10')](_0xfd139d[_0x0122('0x22')][_0x0122('0x10')]);}_0xf9a84d['order']=qs[_0x0122('0x2c')](_0xfd139d[_0x0122('0x22')][_0x0122('0x2c')]);_0xf9a84d['where']=qs['filters'](_['pick'](_0xfd139d[_0x0122('0x22')],_0x48616c[_0x0122('0x24')]),_0x515268);if(_0xfd139d[_0x0122('0x22')][_0x0122('0x2d')]){_0xf9a84d[_0x0122('0x2e')]=_[_0x0122('0x2f')](_0xf9a84d[_0x0122('0x2e')],{'$or':_['map'](_0x515268,function(_0x45b419){if(_0x45b419['type']!==_0x0122('0x30')){var _0x101078={};_0x101078[_0x45b419['name']]={'$like':'%'+_0xfd139d[_0x0122('0x22')][_0x0122('0x2d')]+'%'};return _0x101078;}})});}_0xf9a84d=_['merge']({},_0xf9a84d,_0xfd139d[_0x0122('0x31')]);var _0x1952ca={'where':_0xf9a84d[_0x0122('0x2e')]};return db[_0x0122('0x1e')][_0x0122('0xf')](_0x1952ca)[_0x0122('0x15')](function(_0x43c8db){_0x5352ed[_0x0122('0xf')]=_0x43c8db;if(_0xfd139d[_0x0122('0x22')][_0x0122('0x32')]){_0xf9a84d['include']=[{'all':!![]}];}return db[_0x0122('0x1e')][_0x0122('0x33')](_0xf9a84d);})[_0x0122('0x15')](function(_0x42d48d){_0x5352ed[_0x0122('0x34')]=_[_0x0122('0x1d')](_0x42d48d,function(_0x5add6e){if(_0x5add6e['service']===_0x0122('0x35')){var _0x1d7eb0=encryptor[_0x0122('0x36')](_0x5add6e[_0x0122('0x37')]);_0x5add6e[_0x0122('0x37')]=maskClientSecret(_0x1d7eb0);}return _0x5add6e;});return _0x5352ed;})[_0x0122('0x15')](respondWithFilteredResult(_0x19906c,_0xf9a84d))[_0x0122('0x38')](handleError(_0x19906c,null));};exports[_0x0122('0x39')]=function(_0xe749e8,_0x78ebbd){var _0x53a6ea={'raw':!![],'where':{'id':_0xe749e8[_0x0122('0x3a')]['id']}},_0x35f676={};_0x35f676[_0x0122('0x26')]=_['keys'](db[_0x0122('0x1e')][_0x0122('0x1f')]);_0x35f676[_0x0122('0x22')]=_[_0x0122('0x23')](_0xe749e8['query']);_0x35f676['filters']=_[_0x0122('0x25')](_0x35f676[_0x0122('0x26')],_0x35f676[_0x0122('0x22')]);_0x53a6ea[_0x0122('0x27')]=_['intersection'](_0x35f676[_0x0122('0x26')],qs[_0x0122('0x28')](_0xe749e8['query'][_0x0122('0x28')]));_0x53a6ea[_0x0122('0x27')]=_0x53a6ea[_0x0122('0x27')][_0x0122('0x29')]?_0x53a6ea['attributes']:_0x35f676['model'];if(_0xe749e8[_0x0122('0x22')][_0x0122('0x32')]){_0x53a6ea[_0x0122('0x3b')]=[{'all':!![]}];}_0x53a6ea=_['merge']({},_0x53a6ea,_0xe749e8[_0x0122('0x31')]);return db['CloudProvider']['find'](_0x53a6ea)['then'](handleEntityNotFound(_0x78ebbd,null))['then'](function(_0x46027a){if(_0x46027a[_0x0122('0x3c')]==='MicrosoftAzure'){var _0x5c5f44=encryptor[_0x0122('0x36')](_0x46027a['data3']);_0x46027a[_0x0122('0x37')]=maskClientSecret(_0x5c5f44);}return _0x46027a;})[_0x0122('0x15')](respondWithResult(_0x78ebbd,null))[_0x0122('0x38')](handleError(_0x78ebbd,null));};exports['create']=function(_0x456ba1,_0x2722b6){if(!_0x456ba1[_0x0122('0x3d')][_0x0122('0x19')])throw new Error('Name\x20parameter\x20not\x20specified');if(!_0x456ba1[_0x0122('0x3d')][_0x0122('0x3c')])throw new Error(_0x0122('0x3e'));var _0x19b183=db[_0x0122('0x1e')]['rawAttributes'][_0x0122('0x3c')][_0x0122('0x3f')];if(!_0x19b183[_0x0122('0x40')](_0x456ba1[_0x0122('0x3d')][_0x0122('0x3c')]))throw new Error(_0x0122('0x41')+_0x19b183['join'](',\x20'));if(_0x456ba1[_0x0122('0x3d')]['service']==='MicrosoftAzure'&&_0x456ba1['body']['data3']){_0x456ba1[_0x0122('0x3d')]['data3']=encryptor['encryptString'](_0x456ba1[_0x0122('0x3d')][_0x0122('0x37')]);}return db[_0x0122('0x1e')][_0x0122('0x42')](_0x456ba1[_0x0122('0x3d')],{})['then'](respondWithResult(_0x2722b6,0xc9))['catch'](handleError(_0x2722b6,null));};exports['update']=function(_0x34c99f,_0x4bfe52){if(_0x34c99f['body']['id']){delete _0x34c99f['body']['id'];}return db['CloudProvider'][_0x0122('0x43')]({'where':{'id':_0x34c99f[_0x0122('0x3a')]['id']}})['then'](handleEntityNotFound(_0x4bfe52,null))[_0x0122('0x15')](function(_0x5721f5){if(_0x5721f5[_0x0122('0x3c')]==='MicrosoftAzure'&&_0x34c99f[_0x0122('0x3d')]['data3']){_0x34c99f[_0x0122('0x3d')][_0x0122('0x37')]=encryptor[_0x0122('0x44')](_0x34c99f[_0x0122('0x3d')][_0x0122('0x37')]);}return _0x5721f5;})[_0x0122('0x15')](saveUpdates(_0x34c99f[_0x0122('0x3d')],null))['then'](respondWithResult(_0x4bfe52,null))[_0x0122('0x38')](handleError(_0x4bfe52,null));};exports[_0x0122('0x16')]=function(_0x21b709,_0x333596){return db[_0x0122('0x1e')][_0x0122('0x43')]({'where':{'id':_0x21b709[_0x0122('0x3a')]['id']}})[_0x0122('0x15')](handleEntityNotFound(_0x333596,null))['then'](removeEntity(_0x333596,null))['catch'](handleError(_0x333596,null));};exports[_0x0122('0x45')]=function(_0x549999,_0x26022b){return db['CloudProvider']['findOne']({'where':{'id':_0x549999[_0x0122('0x3a')]['id']},'raw':!![]})[_0x0122('0x15')](function(_0x1552db){if(!_0x1552db)return _0x26022b['sendStatus'](0x194);return{'url':oauth[_0x0122('0x46')](_0x1552db,_0x549999[_0x0122('0x47')]['id'])};})['then'](respondWithResult(_0x26022b,null))[_0x0122('0x38')](handleError(_0x26022b,null));};exports[_0x0122('0x48')]=function(_0x59cdfa,_0x5f3dd9){var _0x3f9da5=_0x59cdfa['body'];var _0x3858b9;var _0x534b9a;if(_0x3f9da5[_0x0122('0x17')])throw _0x3f9da5;redis[_0x0122('0x49')](_0x3f9da5['state'])[_0x0122('0x15')](function(_0x1e1a71){if(!_0x1e1a71)throw new Error(_0x0122('0x4a'));_0x3858b9=JSON['parse'](_0x1e1a71);var _0xca404f=Buffer['from'](_0x3f9da5['state'],_0x0122('0x4b'))[_0x0122('0x4c')](_0x0122('0x4d'));_0x534b9a=JSON[_0x0122('0x4e')](_0xca404f);if(!oauth[_0x0122('0x4f')](_0x3f9da5['id_token'],_0x3858b9[_0x0122('0x50')]))throw new Error(_0x0122('0x51'));redis[_0x0122('0x52')](_0x3f9da5[_0x0122('0x53')]);return oauth[_0x0122('0x54')](_0x3f9da5[_0x0122('0x55')],_0x3858b9);})[_0x0122('0x15')](function(_0x358bc5){_0x3858b9[_0x0122('0x56')]=_0x358bc5[_0x0122('0x57')];_0x3858b9['data6']=_0x358bc5[_0x0122('0x58')];return db[_0x0122('0x1e')][_0x0122('0x14')]({'data5':_0x3858b9[_0x0122('0x56')],'data6':_0x3858b9[_0x0122('0x59')]},{'where':{'id':_0x3858b9['id']}});})[_0x0122('0x15')](function(){oauth[_0x0122('0x5a')](_0x3858b9);socket[_0x0122('0x5b')]('microsoftAuthorization:success',{'id':_0x534b9a['id']});return;})['then'](respondWithStatusCode(_0x5f3dd9,null))[_0x0122('0x38')](function(_0x11faad){if(_0x534b9a){socket['emit'](_0x0122('0x5c'),{'id':_0x534b9a['id']});}if(!_0x3858b9){logger['error'](_0x0122('0x5d'),_0x11faad);return _0x5f3dd9[_0x0122('0xc')](0x1f4)['send'](_0x11faad['message']);}logger[_0x0122('0x17')](_0x0122('0x5e'),_0x3858b9['id'],JSON[_0x0122('0x5f')](_0x11faad));});};
\ No newline at end of file