Built motion from commit ac06311e.|2.6.28
[motion2.git] / server / api / cloudProvider / cloudProvider.controller.js
index b83beb6..1e21ea3 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x0135=['isValidIdToken','id_token','oauth2Claims','Unable\x20to\x20validate\x20id_token','del','getOauth2MicrosoftAccessToken','code','access_token','data6','refresh_token','data5','startRefreshInterval','emit','microsoftAuthorization:success','microsoftAuthorization:error','stringify','ioredis','../../components/encryptor','../../config/environment','../../mysqldb','./cloudProvider.oauth','redis','defaults','localhost','socket.io-emitter','sendStatus','status','end','json','undefined','limit','count','offset','Content-Range','update','error','stack','name','send','padEnd','map','CloudProvider','rawAttributes','fieldName','key','keys','query','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','then','includeAll','include','findAll','rows','MicrosoftAzure','decryptString','data3','catch','show','params','length','options','find','service','create','body','Name\x20parameter\x20not\x20specified','Service\x20parameter\x20not\x20specified','values','includes','Invalid\x20service\x20parameter.\x20Allowed\x20values:\x20','join','encryptString','findOne','generateMicrosoftAuthorizationUrl','user','oauth2MicrosoftCallback','get','Invalid\x20state\x20parameter','parse','from','state','base64','toString','ascii'];(function(_0x1556da,_0x3d9ba9){var _0x4ba1ef=function(_0x2ed733){while(--_0x2ed733){_0x1556da['push'](_0x1556da['shift']());}};_0x4ba1ef(++_0x3d9ba9);}(_0x0135,0x71));var _0x5013=function(_0x556720,_0x43fcdc){_0x556720=_0x556720-0x0;var _0x25e3aa=_0x0135[_0x556720];return _0x25e3aa;};'use strict';var _=require('lodash');var Redis=require(_0x5013('0x0'));var qs=require('../../components/parsers/qs');var encryptor=require(_0x5013('0x1'));var config=require(_0x5013('0x2'));var logger=require('../../config/logger')('api');var db=require(_0x5013('0x3'))['db'];var oauth=require(_0x5013('0x4'));config[_0x5013('0x5')]=_[_0x5013('0x6')](config[_0x5013('0x5')],{'host':_0x5013('0x7'),'port':0x18eb});var socket=require(_0x5013('0x8'))(new Redis(config[_0x5013('0x5')]));var redis=new Redis(config[_0x5013('0x5')]);function respondWithStatusCode(_0x32e58d,_0x8c0092){_0x8c0092=_0x8c0092||0xcc;return function(_0x32923b){if(_0x32923b){return _0x32e58d[_0x5013('0x9')](_0x8c0092);}return _0x32e58d[_0x5013('0xa')](_0x8c0092)[_0x5013('0xb')]();};}function respondWithResult(_0xfcf6cf,_0x32f617){_0x32f617=_0x32f617||0xc8;return function(_0x1a6469){if(_0x1a6469){return _0xfcf6cf[_0x5013('0xa')](_0x32f617)[_0x5013('0xc')](_0x1a6469);}};}function respondWithFilteredResult(_0x1bc574,_0x5534f4){return function(_0x3d7326){if(_0x3d7326){var _0x529430=typeof _0x5534f4['offset']===_0x5013('0xd')&&typeof _0x5534f4[_0x5013('0xe')]==='undefined';var _0x41d4bb=_0x3d7326[_0x5013('0xf')];var _0x31769d=_0x529430?0x0:_0x5534f4['offset'];var _0x8dc781=_0x529430?_0x3d7326['count']:_0x5534f4[_0x5013('0x10')]+_0x5534f4['limit'];var _0x2b3af6;if(_0x8dc781>=_0x41d4bb){_0x8dc781=_0x41d4bb;_0x2b3af6=0xc8;}else{_0x2b3af6=0xce;}_0x1bc574[_0x5013('0xa')](_0x2b3af6);return _0x1bc574['set'](_0x5013('0x11'),_0x31769d+'-'+_0x8dc781+'/'+_0x41d4bb)[_0x5013('0xc')](_0x3d7326);}return null;};}function saveUpdates(_0x122a18){return function(_0x4590c0){if(_0x4590c0){return _0x4590c0[_0x5013('0x12')](_0x122a18)['then'](function(_0xfccfd4){return _0xfccfd4;});}return null;};}function removeEntity(_0x1d6f18){return function(_0x5eb037){if(_0x5eb037){return _0x5eb037['destroy']()['then'](function(){_0x1d6f18[_0x5013('0xa')](0xcc)[_0x5013('0xb')]();});}};}function handleEntityNotFound(_0x558c74){return function(_0x4c04da){if(!_0x4c04da){_0x558c74['sendStatus'](0x194);}return _0x4c04da;};}function handleError(_0x1c6425,_0x2d4e66){_0x2d4e66=_0x2d4e66||0x1f4;return function(_0x5a17ca){logger[_0x5013('0x13')](_0x5a17ca[_0x5013('0x14')]);if(_0x5a17ca[_0x5013('0x15')]){delete _0x5a17ca[_0x5013('0x15')];}_0x1c6425['status'](_0x2d4e66)[_0x5013('0x16')](_0x5a17ca);};}function maskClientSecret(_0x3d74bd){return _[_0x5013('0x17')](_0x3d74bd['slice'](0x0,0x3),0x14,'*');}exports['index']=function(_0x451543,_0x339beb){var _0x5a7bc8={},_0x231a07={},_0x614f83={'count':0x0,'rows':[]};var _0x49ec8d=_[_0x5013('0x18')](db[_0x5013('0x19')][_0x5013('0x1a')],function(_0x17d86e){return{'name':_0x17d86e[_0x5013('0x1b')],'type':_0x17d86e['type'][_0x5013('0x1c')]};});_0x231a07['model']=_['map'](_0x49ec8d,_0x5013('0x15'));_0x231a07['query']=_[_0x5013('0x1d')](_0x451543[_0x5013('0x1e')]);_0x231a07[_0x5013('0x1f')]=_[_0x5013('0x20')](_0x231a07[_0x5013('0x21')],_0x231a07[_0x5013('0x1e')]);_0x5a7bc8[_0x5013('0x22')]=_[_0x5013('0x20')](_0x231a07['model'],qs[_0x5013('0x23')](_0x451543[_0x5013('0x1e')][_0x5013('0x23')]));_0x5a7bc8[_0x5013('0x22')]=_0x5a7bc8[_0x5013('0x22')]['length']?_0x5a7bc8[_0x5013('0x22')]:_0x231a07['model'];if(!_0x451543[_0x5013('0x1e')][_0x5013('0x24')](_0x5013('0x25'))){_0x5a7bc8[_0x5013('0xe')]=qs[_0x5013('0xe')](_0x451543['query'][_0x5013('0xe')]);_0x5a7bc8[_0x5013('0x10')]=qs[_0x5013('0x10')](_0x451543['query'][_0x5013('0x10')]);}_0x5a7bc8[_0x5013('0x26')]=qs['sort'](_0x451543[_0x5013('0x1e')][_0x5013('0x27')]);_0x5a7bc8[_0x5013('0x28')]=qs[_0x5013('0x1f')](_[_0x5013('0x29')](_0x451543[_0x5013('0x1e')],_0x231a07[_0x5013('0x1f')]),_0x49ec8d);if(_0x451543['query'][_0x5013('0x2a')]){_0x5a7bc8[_0x5013('0x28')]=_[_0x5013('0x2b')](_0x5a7bc8['where'],{'$or':_[_0x5013('0x18')](_0x49ec8d,function(_0x262e46){if(_0x262e46[_0x5013('0x2c')]!=='VIRTUAL'){var _0x154bcd={};_0x154bcd[_0x262e46['name']]={'$like':'%'+_0x451543[_0x5013('0x1e')][_0x5013('0x2a')]+'%'};return _0x154bcd;}})});}_0x5a7bc8=_['merge']({},_0x5a7bc8,_0x451543['options']);var _0x481c8a={'where':_0x5a7bc8['where']};return db[_0x5013('0x19')]['count'](_0x481c8a)[_0x5013('0x2d')](function(_0x2786ba){_0x614f83[_0x5013('0xf')]=_0x2786ba;if(_0x451543['query'][_0x5013('0x2e')]){_0x5a7bc8[_0x5013('0x2f')]=[{'all':!![]}];}return db[_0x5013('0x19')][_0x5013('0x30')](_0x5a7bc8);})[_0x5013('0x2d')](function(_0xbd05e6){_0x614f83[_0x5013('0x31')]=_[_0x5013('0x18')](_0xbd05e6,function(_0x5108a8){if(_0x5108a8['service']===_0x5013('0x32')){var _0x15b537=encryptor[_0x5013('0x33')](_0x5108a8[_0x5013('0x34')]);_0x5108a8[_0x5013('0x34')]=maskClientSecret(_0x15b537);}return _0x5108a8;});return _0x614f83;})[_0x5013('0x2d')](respondWithFilteredResult(_0x339beb,_0x5a7bc8))[_0x5013('0x35')](handleError(_0x339beb,null));};exports[_0x5013('0x36')]=function(_0x507329,_0x50a2b6){var _0x4e85fd={'raw':!![],'where':{'id':_0x507329[_0x5013('0x37')]['id']}},_0x56ef52={};_0x56ef52[_0x5013('0x21')]=_['keys'](db['CloudProvider']['rawAttributes']);_0x56ef52[_0x5013('0x1e')]=_[_0x5013('0x1d')](_0x507329[_0x5013('0x1e')]);_0x56ef52['filters']=_[_0x5013('0x20')](_0x56ef52[_0x5013('0x21')],_0x56ef52[_0x5013('0x1e')]);_0x4e85fd['attributes']=_[_0x5013('0x20')](_0x56ef52[_0x5013('0x21')],qs['fields'](_0x507329[_0x5013('0x1e')][_0x5013('0x23')]));_0x4e85fd[_0x5013('0x22')]=_0x4e85fd[_0x5013('0x22')][_0x5013('0x38')]?_0x4e85fd[_0x5013('0x22')]:_0x56ef52[_0x5013('0x21')];if(_0x507329['query'][_0x5013('0x2e')]){_0x4e85fd[_0x5013('0x2f')]=[{'all':!![]}];}_0x4e85fd=_[_0x5013('0x2b')]({},_0x4e85fd,_0x507329[_0x5013('0x39')]);return db[_0x5013('0x19')][_0x5013('0x3a')](_0x4e85fd)['then'](handleEntityNotFound(_0x50a2b6,null))['then'](function(_0x4c0927){if(_0x4c0927[_0x5013('0x3b')]===_0x5013('0x32')){var _0x36a410=encryptor['decryptString'](_0x4c0927[_0x5013('0x34')]);_0x4c0927[_0x5013('0x34')]=maskClientSecret(_0x36a410);}return _0x4c0927;})[_0x5013('0x2d')](respondWithResult(_0x50a2b6,null))[_0x5013('0x35')](handleError(_0x50a2b6,null));};exports[_0x5013('0x3c')]=function(_0x4694e3,_0xb419fa){if(!_0x4694e3[_0x5013('0x3d')][_0x5013('0x15')])throw new Error(_0x5013('0x3e'));if(!_0x4694e3[_0x5013('0x3d')][_0x5013('0x3b')])throw new Error(_0x5013('0x3f'));var _0x3e47b0=db[_0x5013('0x19')]['rawAttributes'][_0x5013('0x3b')][_0x5013('0x40')];if(!_0x3e47b0[_0x5013('0x41')](_0x4694e3[_0x5013('0x3d')]['service']))throw new Error(_0x5013('0x42')+_0x3e47b0[_0x5013('0x43')](',\x20'));if(_0x4694e3[_0x5013('0x3d')]['service']===_0x5013('0x32')&&_0x4694e3[_0x5013('0x3d')][_0x5013('0x34')]){_0x4694e3[_0x5013('0x3d')][_0x5013('0x34')]=encryptor[_0x5013('0x44')](_0x4694e3[_0x5013('0x3d')][_0x5013('0x34')]);}return db[_0x5013('0x19')][_0x5013('0x3c')](_0x4694e3['body'],{})['then'](respondWithResult(_0xb419fa,0xc9))[_0x5013('0x35')](handleError(_0xb419fa,null));};exports[_0x5013('0x12')]=function(_0x470eb8,_0x38e3a7){if(_0x470eb8[_0x5013('0x3d')]['id']){delete _0x470eb8[_0x5013('0x3d')]['id'];}return db['CloudProvider'][_0x5013('0x3a')]({'where':{'id':_0x470eb8[_0x5013('0x37')]['id']}})[_0x5013('0x2d')](handleEntityNotFound(_0x38e3a7,null))['then'](function(_0x59de17){if(_0x59de17['service']==='MicrosoftAzure'&&_0x470eb8[_0x5013('0x3d')][_0x5013('0x34')]){_0x470eb8[_0x5013('0x3d')][_0x5013('0x34')]=encryptor[_0x5013('0x44')](_0x470eb8[_0x5013('0x3d')]['data3']);}return _0x59de17;})[_0x5013('0x2d')](saveUpdates(_0x470eb8[_0x5013('0x3d')],null))[_0x5013('0x2d')](respondWithResult(_0x38e3a7,null))['catch'](handleError(_0x38e3a7,null));};exports['destroy']=function(_0x3f2d53,_0x328625){return db['CloudProvider'][_0x5013('0x3a')]({'where':{'id':_0x3f2d53['params']['id']}})['then'](handleEntityNotFound(_0x328625,null))[_0x5013('0x2d')](removeEntity(_0x328625,null))[_0x5013('0x35')](handleError(_0x328625,null));};exports['oauth2MicrosoftAuthorize']=function(_0x4da103,_0x5cdfbd){return db[_0x5013('0x19')][_0x5013('0x45')]({'where':{'id':_0x4da103[_0x5013('0x37')]['id']},'raw':!![]})[_0x5013('0x2d')](function(_0x56786d){if(!_0x56786d)return _0x5cdfbd[_0x5013('0x9')](0x194);return{'url':oauth[_0x5013('0x46')](_0x56786d,_0x4da103[_0x5013('0x47')]['id'])};})[_0x5013('0x2d')](respondWithResult(_0x5cdfbd,null))[_0x5013('0x35')](handleError(_0x5cdfbd,null));};exports[_0x5013('0x48')]=function(_0x3b8fa1,_0x2e096a){var _0x417ba7=_0x3b8fa1[_0x5013('0x3d')];var _0x4750a2;var _0x3a5ec4;if(_0x417ba7['error'])throw _0x417ba7;redis[_0x5013('0x49')](_0x417ba7['state'])[_0x5013('0x2d')](function(_0x29d87a){if(!_0x29d87a)throw new Error(_0x5013('0x4a'));_0x4750a2=JSON[_0x5013('0x4b')](_0x29d87a);var _0x4be7e8=Buffer[_0x5013('0x4c')](_0x417ba7[_0x5013('0x4d')],_0x5013('0x4e'))[_0x5013('0x4f')](_0x5013('0x50'));_0x3a5ec4=JSON['parse'](_0x4be7e8);if(!oauth[_0x5013('0x51')](_0x417ba7[_0x5013('0x52')],_0x4750a2[_0x5013('0x53')]))throw new Error(_0x5013('0x54'));redis[_0x5013('0x55')](_0x417ba7[_0x5013('0x4d')]);return oauth[_0x5013('0x56')](_0x417ba7[_0x5013('0x57')],_0x4750a2);})[_0x5013('0x2d')](function(_0x1c22dc){_0x4750a2['data5']=_0x1c22dc[_0x5013('0x58')];_0x4750a2[_0x5013('0x59')]=_0x1c22dc[_0x5013('0x5a')];return db[_0x5013('0x19')]['update']({'data5':_0x4750a2[_0x5013('0x5b')],'data6':_0x4750a2[_0x5013('0x59')]},{'where':{'id':_0x4750a2['id']}});})[_0x5013('0x2d')](function(){oauth[_0x5013('0x5c')](_0x4750a2);socket[_0x5013('0x5d')](_0x5013('0x5e'),{'id':_0x3a5ec4['id']});return;})[_0x5013('0x2d')](respondWithStatusCode(_0x2e096a,null))[_0x5013('0x35')](function(_0x3af067){if(_0x3a5ec4){socket[_0x5013('0x5d')](_0x5013('0x5f'),{'id':_0x3a5ec4['id']});}if(!_0x4750a2){logger[_0x5013('0x13')]('Invalid\x20authentication\x20state\x20parameter',_0x3af067);return _0x2e096a[_0x5013('0xa')](0x1f4)[_0x5013('0x16')](_0x3af067['message']);}logger[_0x5013('0x13')]('Authentication\x20failed\x20for\x20cloud\x20provider\x20#%s,\x20err:%s',_0x4750a2['id'],JSON[_0x5013('0x60')](_0x3af067));});};
\ No newline at end of file
+var _0x7539=['message','Authentication\x20failed\x20for\x20cloud\x20provider\x20#%s,\x20err:%s','stringify','lodash','ioredis','../../components/parsers/qs','../../config/environment','../../config/logger','api','../../mysqldb','./cloudProvider.oauth','redis','defaults','localhost','socket.io-emitter','status','end','json','offset','undefined','Content-Range','update','destroy','then','sendStatus','name','send','padEnd','slice','map','CloudProvider','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','pick','filter','where','merge','VIRTUAL','options','count','includeAll','include','findAll','rows','service','MicrosoftAzure','data3','catch','show','params','rawAttributes','decryptString','body','Name\x20parameter\x20not\x20specified','values','includes','encryptString','find','findOne','generateMicrosoftAuthorizationUrl','oauth2MicrosoftCallback','error','get','Invalid\x20state\x20parameter','parse','from','state','base64','toString','ascii','isValidIdToken','oauth2Claims','Unable\x20to\x20validate\x20id_token','del','code','data5','access_token','data6','refresh_token','startRefreshInterval','emit','microsoftAuthorization:error','Invalid\x20authentication\x20state\x20parameter'];(function(_0x261522,_0x1adc1f){var _0x98a25a=function(_0x1b0f9c){while(--_0x1b0f9c){_0x261522['push'](_0x261522['shift']());}};_0x98a25a(++_0x1adc1f);}(_0x7539,0xc3));var _0x9753=function(_0x517d9e,_0x214a0a){_0x517d9e=_0x517d9e-0x0;var _0x2da8ac=_0x7539[_0x517d9e];return _0x2da8ac;};'use strict';var _=require(_0x9753('0x0'));var Redis=require(_0x9753('0x1'));var qs=require(_0x9753('0x2'));var encryptor=require('../../components/encryptor');var config=require(_0x9753('0x3'));var logger=require(_0x9753('0x4'))(_0x9753('0x5'));var db=require(_0x9753('0x6'))['db'];var oauth=require(_0x9753('0x7'));config[_0x9753('0x8')]=_[_0x9753('0x9')](config['redis'],{'host':_0x9753('0xa'),'port':0x18eb});var socket=require(_0x9753('0xb'))(new Redis(config[_0x9753('0x8')]));var redis=new Redis(config[_0x9753('0x8')]);function respondWithStatusCode(_0x3b7676,_0x5249fa){_0x5249fa=_0x5249fa||0xcc;return function(_0x18f283){if(_0x18f283){return _0x3b7676['sendStatus'](_0x5249fa);}return _0x3b7676[_0x9753('0xc')](_0x5249fa)[_0x9753('0xd')]();};}function respondWithResult(_0x59747e,_0x67a90f){_0x67a90f=_0x67a90f||0xc8;return function(_0x23b0ff){if(_0x23b0ff){return _0x59747e[_0x9753('0xc')](_0x67a90f)[_0x9753('0xe')](_0x23b0ff);}};}function respondWithFilteredResult(_0x3fecfd,_0x10ef3b){return function(_0xda86fb){if(_0xda86fb){var _0x357189=typeof _0x10ef3b[_0x9753('0xf')]===_0x9753('0x10')&&typeof _0x10ef3b['limit']==='undefined';var _0x47f812=_0xda86fb['count'];var _0x534b7d=_0x357189?0x0:_0x10ef3b[_0x9753('0xf')];var _0x17024f=_0x357189?_0xda86fb['count']:_0x10ef3b[_0x9753('0xf')]+_0x10ef3b['limit'];var _0x51cef7;if(_0x17024f>=_0x47f812){_0x17024f=_0x47f812;_0x51cef7=0xc8;}else{_0x51cef7=0xce;}_0x3fecfd['status'](_0x51cef7);return _0x3fecfd['set'](_0x9753('0x11'),_0x534b7d+'-'+_0x17024f+'/'+_0x47f812)[_0x9753('0xe')](_0xda86fb);}return null;};}function saveUpdates(_0x321af6){return function(_0x42c87d){if(_0x42c87d){return _0x42c87d[_0x9753('0x12')](_0x321af6)['then'](function(_0x5a7031){return _0x5a7031;});}return null;};}function removeEntity(_0x33ab60){return function(_0x25acfd){if(_0x25acfd){return _0x25acfd[_0x9753('0x13')]()[_0x9753('0x14')](function(){_0x33ab60['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x1218a7){return function(_0x4e06a3){if(!_0x4e06a3){_0x1218a7[_0x9753('0x15')](0x194);}return _0x4e06a3;};}function handleError(_0x573f4c,_0x14b8af){_0x14b8af=_0x14b8af||0x1f4;return function(_0xba7762){logger['error'](_0xba7762['stack']);if(_0xba7762[_0x9753('0x16')]){delete _0xba7762['name'];}_0x573f4c[_0x9753('0xc')](_0x14b8af)[_0x9753('0x17')](_0xba7762);};}function maskClientSecret(_0x1348bf){return _[_0x9753('0x18')](_0x1348bf[_0x9753('0x19')](0x0,0x3),0x14,'*');}exports['index']=function(_0x50d7df,_0x2123dc){var _0x82166a={},_0x3a1278={},_0x5922b4={'count':0x0,'rows':[]};var _0x177e8f=_[_0x9753('0x1a')](db[_0x9753('0x1b')]['rawAttributes'],function(_0x3766f2){return{'name':_0x3766f2[_0x9753('0x1c')],'type':_0x3766f2[_0x9753('0x1d')]['key']};});_0x3a1278[_0x9753('0x1e')]=_[_0x9753('0x1a')](_0x177e8f,_0x9753('0x16'));_0x3a1278[_0x9753('0x1f')]=_[_0x9753('0x20')](_0x50d7df[_0x9753('0x1f')]);_0x3a1278[_0x9753('0x21')]=_[_0x9753('0x22')](_0x3a1278[_0x9753('0x1e')],_0x3a1278[_0x9753('0x1f')]);_0x82166a[_0x9753('0x23')]=_['intersection'](_0x3a1278[_0x9753('0x1e')],qs['fields'](_0x50d7df[_0x9753('0x1f')][_0x9753('0x24')]));_0x82166a[_0x9753('0x23')]=_0x82166a[_0x9753('0x23')][_0x9753('0x25')]?_0x82166a[_0x9753('0x23')]:_0x3a1278[_0x9753('0x1e')];if(!_0x50d7df[_0x9753('0x1f')][_0x9753('0x26')](_0x9753('0x27'))){_0x82166a[_0x9753('0x28')]=qs[_0x9753('0x28')](_0x50d7df[_0x9753('0x1f')][_0x9753('0x28')]);_0x82166a[_0x9753('0xf')]=qs[_0x9753('0xf')](_0x50d7df['query'][_0x9753('0xf')]);}_0x82166a[_0x9753('0x29')]=qs['sort'](_0x50d7df[_0x9753('0x1f')][_0x9753('0x2a')]);_0x82166a['where']=qs[_0x9753('0x21')](_[_0x9753('0x2b')](_0x50d7df[_0x9753('0x1f')],_0x3a1278[_0x9753('0x21')]),_0x177e8f);if(_0x50d7df[_0x9753('0x1f')][_0x9753('0x2c')]){_0x82166a[_0x9753('0x2d')]=_[_0x9753('0x2e')](_0x82166a[_0x9753('0x2d')],{'$or':_[_0x9753('0x1a')](_0x177e8f,function(_0x5d1eee){if(_0x5d1eee[_0x9753('0x1d')]!==_0x9753('0x2f')){var _0x83167={};_0x83167[_0x5d1eee[_0x9753('0x16')]]={'$like':'%'+_0x50d7df[_0x9753('0x1f')]['filter']+'%'};return _0x83167;}})});}_0x82166a=_[_0x9753('0x2e')]({},_0x82166a,_0x50d7df[_0x9753('0x30')]);var _0x48c01a={'where':_0x82166a[_0x9753('0x2d')]};return db[_0x9753('0x1b')][_0x9753('0x31')](_0x48c01a)[_0x9753('0x14')](function(_0x4b85b0){_0x5922b4[_0x9753('0x31')]=_0x4b85b0;if(_0x50d7df[_0x9753('0x1f')][_0x9753('0x32')]){_0x82166a[_0x9753('0x33')]=[{'all':!![]}];}return db['CloudProvider'][_0x9753('0x34')](_0x82166a);})[_0x9753('0x14')](function(_0x4b1d07){_0x5922b4[_0x9753('0x35')]=_['map'](_0x4b1d07,function(_0x5cf2bb){if(_0x5cf2bb[_0x9753('0x36')]===_0x9753('0x37')){var _0x19a5c0=encryptor['decryptString'](_0x5cf2bb[_0x9753('0x38')]);_0x5cf2bb[_0x9753('0x38')]=maskClientSecret(_0x19a5c0);}return _0x5cf2bb;});return _0x5922b4;})[_0x9753('0x14')](respondWithFilteredResult(_0x2123dc,_0x82166a))[_0x9753('0x39')](handleError(_0x2123dc,null));};exports[_0x9753('0x3a')]=function(_0xf0e0d5,_0xf58611){var _0x3e23f5={'raw':!![],'where':{'id':_0xf0e0d5[_0x9753('0x3b')]['id']}},_0x109994={};_0x109994[_0x9753('0x1e')]=_['keys'](db[_0x9753('0x1b')][_0x9753('0x3c')]);_0x109994[_0x9753('0x1f')]=_['keys'](_0xf0e0d5[_0x9753('0x1f')]);_0x109994['filters']=_[_0x9753('0x22')](_0x109994[_0x9753('0x1e')],_0x109994[_0x9753('0x1f')]);_0x3e23f5[_0x9753('0x23')]=_['intersection'](_0x109994['model'],qs['fields'](_0xf0e0d5[_0x9753('0x1f')][_0x9753('0x24')]));_0x3e23f5[_0x9753('0x23')]=_0x3e23f5['attributes'][_0x9753('0x25')]?_0x3e23f5[_0x9753('0x23')]:_0x109994[_0x9753('0x1e')];if(_0xf0e0d5[_0x9753('0x1f')][_0x9753('0x32')]){_0x3e23f5[_0x9753('0x33')]=[{'all':!![]}];}_0x3e23f5=_['merge']({},_0x3e23f5,_0xf0e0d5[_0x9753('0x30')]);return db[_0x9753('0x1b')]['find'](_0x3e23f5)[_0x9753('0x14')](handleEntityNotFound(_0xf58611,null))['then'](function(_0x43bcf7){if(_0x43bcf7[_0x9753('0x36')]==='MicrosoftAzure'){var _0x2090c9=encryptor[_0x9753('0x3d')](_0x43bcf7[_0x9753('0x38')]);_0x43bcf7[_0x9753('0x38')]=maskClientSecret(_0x2090c9);}return _0x43bcf7;})['then'](respondWithResult(_0xf58611,null))[_0x9753('0x39')](handleError(_0xf58611,null));};exports['create']=function(_0x43e402,_0x49d842){if(!_0x43e402[_0x9753('0x3e')][_0x9753('0x16')])throw new Error(_0x9753('0x3f'));if(!_0x43e402[_0x9753('0x3e')][_0x9753('0x36')])throw new Error('Service\x20parameter\x20not\x20specified');var _0xe4f5c3=db[_0x9753('0x1b')]['rawAttributes']['service'][_0x9753('0x40')];if(!_0xe4f5c3[_0x9753('0x41')](_0x43e402[_0x9753('0x3e')][_0x9753('0x36')]))throw new Error('Invalid\x20service\x20parameter.\x20Allowed\x20values:\x20'+_0xe4f5c3['join'](',\x20'));if(_0x43e402[_0x9753('0x3e')][_0x9753('0x36')]===_0x9753('0x37')&&_0x43e402[_0x9753('0x3e')][_0x9753('0x38')]){_0x43e402['body']['data3']=encryptor[_0x9753('0x42')](_0x43e402[_0x9753('0x3e')][_0x9753('0x38')]);}return db['CloudProvider']['create'](_0x43e402[_0x9753('0x3e')],{})[_0x9753('0x14')](respondWithResult(_0x49d842,0xc9))[_0x9753('0x39')](handleError(_0x49d842,null));};exports[_0x9753('0x12')]=function(_0x5f343a,_0x3160c7){if(_0x5f343a[_0x9753('0x3e')]['id']){delete _0x5f343a[_0x9753('0x3e')]['id'];}return db[_0x9753('0x1b')]['find']({'where':{'id':_0x5f343a['params']['id']}})[_0x9753('0x14')](handleEntityNotFound(_0x3160c7,null))['then'](function(_0x2907c5){if(_0x2907c5[_0x9753('0x36')]==='MicrosoftAzure'&&_0x5f343a['body'][_0x9753('0x38')]){_0x5f343a[_0x9753('0x3e')][_0x9753('0x38')]=encryptor[_0x9753('0x42')](_0x5f343a['body']['data3']);}return _0x2907c5;})[_0x9753('0x14')](saveUpdates(_0x5f343a[_0x9753('0x3e')],null))[_0x9753('0x14')](respondWithResult(_0x3160c7,null))['catch'](handleError(_0x3160c7,null));};exports['destroy']=function(_0x3732ef,_0x451ed9){return db[_0x9753('0x1b')][_0x9753('0x43')]({'where':{'id':_0x3732ef['params']['id']}})[_0x9753('0x14')](handleEntityNotFound(_0x451ed9,null))['then'](removeEntity(_0x451ed9,null))[_0x9753('0x39')](handleError(_0x451ed9,null));};exports['oauth2MicrosoftAuthorize']=function(_0x53d128,_0x16b4a6){return db['CloudProvider'][_0x9753('0x44')]({'where':{'id':_0x53d128[_0x9753('0x3b')]['id']},'raw':!![]})[_0x9753('0x14')](function(_0xe4113f){if(!_0xe4113f)return _0x16b4a6[_0x9753('0x15')](0x194);return{'url':oauth[_0x9753('0x45')](_0xe4113f,_0x53d128['user']['id'])};})[_0x9753('0x14')](respondWithResult(_0x16b4a6,null))[_0x9753('0x39')](handleError(_0x16b4a6,null));};exports[_0x9753('0x46')]=function(_0x457db7,_0x4ee671){var _0x2adc53=_0x457db7['body'];var _0x3761cb;var _0x42fc69;if(_0x2adc53[_0x9753('0x47')])throw _0x2adc53;redis[_0x9753('0x48')](_0x2adc53['state'])['then'](function(_0x37d298){if(!_0x37d298)throw new Error(_0x9753('0x49'));_0x3761cb=JSON[_0x9753('0x4a')](_0x37d298);var _0x3cc3d0=Buffer[_0x9753('0x4b')](_0x2adc53[_0x9753('0x4c')],_0x9753('0x4d'))[_0x9753('0x4e')](_0x9753('0x4f'));_0x42fc69=JSON[_0x9753('0x4a')](_0x3cc3d0);if(!oauth[_0x9753('0x50')](_0x2adc53['id_token'],_0x3761cb[_0x9753('0x51')]))throw new Error(_0x9753('0x52'));redis[_0x9753('0x53')](_0x2adc53['state']);return oauth['getOauth2MicrosoftAccessToken'](_0x2adc53[_0x9753('0x54')],_0x3761cb);})[_0x9753('0x14')](function(_0x1849e2){_0x3761cb[_0x9753('0x55')]=_0x1849e2[_0x9753('0x56')];_0x3761cb[_0x9753('0x57')]=_0x1849e2[_0x9753('0x58')];return db[_0x9753('0x1b')][_0x9753('0x12')]({'data5':_0x3761cb[_0x9753('0x55')],'data6':_0x3761cb[_0x9753('0x57')]},{'where':{'id':_0x3761cb['id']}});})[_0x9753('0x14')](function(){oauth[_0x9753('0x59')](_0x3761cb);socket[_0x9753('0x5a')]('microsoftAuthorization:success',{'id':_0x42fc69['id']});return;})[_0x9753('0x14')](respondWithStatusCode(_0x4ee671,null))[_0x9753('0x39')](function(_0x44b93b){if(_0x42fc69){socket['emit'](_0x9753('0x5b'),{'id':_0x42fc69['id']});}if(!_0x3761cb){logger[_0x9753('0x47')](_0x9753('0x5c'),_0x44b93b);return _0x4ee671[_0x9753('0xc')](0x1f4)['send'](_0x44b93b[_0x9753('0x5d')]);}logger['error'](_0x9753('0x5e'),_0x3761cb['id'],JSON[_0x9753('0x5f')](_0x44b93b));});};
\ No newline at end of file