Built motion from commit d5e4af8c.|2.6.23
[motion2.git] / server / api / cloudProvider / cloudProvider.controller.js
index 1cb66c4..cb85d9e 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x0f61=['error','name','slice','CloudProvider','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','findAll','rows','service','MicrosoftAzure','data3','catch','show','length','includeAll','include','decryptString','body','Name\x20parameter\x20not\x20specified','Service\x20parameter\x20not\x20specified','values','includes','Invalid\x20service\x20parameter.\x20Allowed\x20values:\x20','join','encryptString','update','find','params','destroy','oauth2MicrosoftAuthorize','findOne','user','get','state','Invalid\x20state\x20parameter','parse','base64','toString','ascii','isValidIdToken','oauth2Claims','Unable\x20to\x20validate\x20id_token','getOauth2MicrosoftAccessToken','code','data5','data6','refresh_token','startRefreshInterval','emit','lodash','ioredis','../../components/parsers/qs','../../config/environment','../../config/logger','api','../../mysqldb','./cloudProvider.oauth','redis','defaults','localhost','socket.io-emitter','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','then'];(function(_0x2adb42,_0xed8b12){var _0x101363=function(_0x1a9d3d){while(--_0x1a9d3d){_0x2adb42['push'](_0x2adb42['shift']());}};_0x101363(++_0xed8b12);}(_0x0f61,0x1ac));var _0x10f6=function(_0x2132f9,_0x12bb36){_0x2132f9=_0x2132f9-0x0;var _0x21fe79=_0x0f61[_0x2132f9];return _0x21fe79;};'use strict';var _=require(_0x10f6('0x0'));var Redis=require(_0x10f6('0x1'));var qs=require(_0x10f6('0x2'));var encryptor=require('../../components/encryptor');var config=require(_0x10f6('0x3'));var logger=require(_0x10f6('0x4'))(_0x10f6('0x5'));var db=require(_0x10f6('0x6'))['db'];var oauth=require(_0x10f6('0x7'));config[_0x10f6('0x8')]=_[_0x10f6('0x9')](config[_0x10f6('0x8')],{'host':_0x10f6('0xa'),'port':0x18eb});var socket=require(_0x10f6('0xb'))(new Redis(config['redis']));var redis=new Redis(config[_0x10f6('0x8')]);function respondWithStatusCode(_0x56ba9b,_0x40dd2f){_0x40dd2f=_0x40dd2f||0xcc;return function(_0x340d53){if(_0x340d53){return _0x56ba9b[_0x10f6('0xc')](_0x40dd2f);}return _0x56ba9b[_0x10f6('0xd')](_0x40dd2f)[_0x10f6('0xe')]();};}function respondWithResult(_0x8c0760,_0x44b148){_0x44b148=_0x44b148||0xc8;return function(_0x202463){if(_0x202463){return _0x8c0760[_0x10f6('0xd')](_0x44b148)[_0x10f6('0xf')](_0x202463);}};}function respondWithFilteredResult(_0x411f63,_0x4c1dcf){return function(_0x4b5c51){if(_0x4b5c51){var _0x1cd1a0=typeof _0x4c1dcf[_0x10f6('0x10')]===_0x10f6('0x11')&&typeof _0x4c1dcf[_0x10f6('0x12')]===_0x10f6('0x11');var _0x351777=_0x4b5c51['count'];var _0x391004=_0x1cd1a0?0x0:_0x4c1dcf[_0x10f6('0x10')];var _0x1242e9=_0x1cd1a0?_0x4b5c51[_0x10f6('0x13')]:_0x4c1dcf[_0x10f6('0x10')]+_0x4c1dcf['limit'];var _0x8211f0;if(_0x1242e9>=_0x351777){_0x1242e9=_0x351777;_0x8211f0=0xc8;}else{_0x8211f0=0xce;}_0x411f63[_0x10f6('0xd')](_0x8211f0);return _0x411f63['set'](_0x10f6('0x14'),_0x391004+'-'+_0x1242e9+'/'+_0x351777)[_0x10f6('0xf')](_0x4b5c51);}return null;};}function saveUpdates(_0x1282b4){return function(_0x223c80){if(_0x223c80){return _0x223c80['update'](_0x1282b4)[_0x10f6('0x15')](function(_0x54fe05){return _0x54fe05;});}return null;};}function removeEntity(_0x108244){return function(_0xa337ee){if(_0xa337ee){return _0xa337ee['destroy']()[_0x10f6('0x15')](function(){_0x108244[_0x10f6('0xd')](0xcc)[_0x10f6('0xe')]();});}};}function handleEntityNotFound(_0x24cece){return function(_0x4177f4){if(!_0x4177f4){_0x24cece[_0x10f6('0xc')](0x194);}return _0x4177f4;};}function handleError(_0x2b5d39,_0x37b583){_0x37b583=_0x37b583||0x1f4;return function(_0x1d7985){logger[_0x10f6('0x16')](_0x1d7985['stack']);if(_0x1d7985['name']){delete _0x1d7985[_0x10f6('0x17')];}_0x2b5d39['status'](_0x37b583)['send'](_0x1d7985);};}function maskClientSecret(_0x389da3){return _['padEnd'](_0x389da3[_0x10f6('0x18')](0x0,0x3),0x14,'*');}exports['index']=function(_0x207c4b,_0x57dc90){var _0x6ebace={},_0x43c1b0={},_0x35cb9e={'count':0x0,'rows':[]};var _0x33a55e=_['map'](db[_0x10f6('0x19')][_0x10f6('0x1a')],function(_0x53b8cb){return{'name':_0x53b8cb[_0x10f6('0x1b')],'type':_0x53b8cb[_0x10f6('0x1c')][_0x10f6('0x1d')]};});_0x43c1b0[_0x10f6('0x1e')]=_[_0x10f6('0x1f')](_0x33a55e,'name');_0x43c1b0[_0x10f6('0x20')]=_[_0x10f6('0x21')](_0x207c4b[_0x10f6('0x20')]);_0x43c1b0[_0x10f6('0x22')]=_[_0x10f6('0x23')](_0x43c1b0[_0x10f6('0x1e')],_0x43c1b0[_0x10f6('0x20')]);_0x6ebace[_0x10f6('0x24')]=_[_0x10f6('0x23')](_0x43c1b0['model'],qs[_0x10f6('0x25')](_0x207c4b[_0x10f6('0x20')][_0x10f6('0x25')]));_0x6ebace[_0x10f6('0x24')]=_0x6ebace[_0x10f6('0x24')]['length']?_0x6ebace[_0x10f6('0x24')]:_0x43c1b0[_0x10f6('0x1e')];if(!_0x207c4b[_0x10f6('0x20')][_0x10f6('0x26')](_0x10f6('0x27'))){_0x6ebace[_0x10f6('0x12')]=qs[_0x10f6('0x12')](_0x207c4b['query']['limit']);_0x6ebace[_0x10f6('0x10')]=qs[_0x10f6('0x10')](_0x207c4b[_0x10f6('0x20')][_0x10f6('0x10')]);}_0x6ebace['order']=qs[_0x10f6('0x28')](_0x207c4b[_0x10f6('0x20')]['sort']);_0x6ebace[_0x10f6('0x29')]=qs[_0x10f6('0x22')](_[_0x10f6('0x2a')](_0x207c4b[_0x10f6('0x20')],_0x43c1b0[_0x10f6('0x22')]),_0x33a55e);if(_0x207c4b[_0x10f6('0x20')][_0x10f6('0x2b')]){_0x6ebace[_0x10f6('0x29')]=_[_0x10f6('0x2c')](_0x6ebace['where'],{'$or':_[_0x10f6('0x1f')](_0x33a55e,function(_0x42db5a){if(_0x42db5a[_0x10f6('0x1c')]!==_0x10f6('0x2d')){var _0x135e23={};_0x135e23[_0x42db5a['name']]={'$like':'%'+_0x207c4b[_0x10f6('0x20')][_0x10f6('0x2b')]+'%'};return _0x135e23;}})});}_0x6ebace=_[_0x10f6('0x2c')]({},_0x6ebace,_0x207c4b[_0x10f6('0x2e')]);var _0x21aae9={'where':_0x6ebace['where']};return db[_0x10f6('0x19')][_0x10f6('0x13')](_0x21aae9)['then'](function(_0x2ee416){_0x35cb9e['count']=_0x2ee416;if(_0x207c4b[_0x10f6('0x20')]['includeAll']){_0x6ebace['include']=[{'all':!![]}];}return db[_0x10f6('0x19')][_0x10f6('0x2f')](_0x6ebace);})[_0x10f6('0x15')](function(_0x22d293){_0x35cb9e[_0x10f6('0x30')]=_[_0x10f6('0x1f')](_0x22d293,function(_0x2a4e25){if(_0x2a4e25[_0x10f6('0x31')]===_0x10f6('0x32')){var _0x26bf85=encryptor['decryptString'](_0x2a4e25[_0x10f6('0x33')]);_0x2a4e25[_0x10f6('0x33')]=maskClientSecret(_0x26bf85);}return _0x2a4e25;});return _0x35cb9e;})[_0x10f6('0x15')](respondWithFilteredResult(_0x57dc90,_0x6ebace))[_0x10f6('0x34')](handleError(_0x57dc90,null));};exports[_0x10f6('0x35')]=function(_0x4c746e,_0x24d8e3){var _0xad069e={'raw':!![],'where':{'id':_0x4c746e['params']['id']}},_0x47af7f={};_0x47af7f['model']=_[_0x10f6('0x21')](db['CloudProvider']['rawAttributes']);_0x47af7f[_0x10f6('0x20')]=_['keys'](_0x4c746e[_0x10f6('0x20')]);_0x47af7f[_0x10f6('0x22')]=_['intersection'](_0x47af7f[_0x10f6('0x1e')],_0x47af7f[_0x10f6('0x20')]);_0xad069e[_0x10f6('0x24')]=_['intersection'](_0x47af7f['model'],qs['fields'](_0x4c746e[_0x10f6('0x20')][_0x10f6('0x25')]));_0xad069e[_0x10f6('0x24')]=_0xad069e[_0x10f6('0x24')][_0x10f6('0x36')]?_0xad069e[_0x10f6('0x24')]:_0x47af7f[_0x10f6('0x1e')];if(_0x4c746e[_0x10f6('0x20')][_0x10f6('0x37')]){_0xad069e[_0x10f6('0x38')]=[{'all':!![]}];}_0xad069e=_[_0x10f6('0x2c')]({},_0xad069e,_0x4c746e['options']);return db[_0x10f6('0x19')]['find'](_0xad069e)[_0x10f6('0x15')](handleEntityNotFound(_0x24d8e3,null))['then'](function(_0x3b92ae){if(_0x3b92ae[_0x10f6('0x31')]===_0x10f6('0x32')){var _0x218ba0=encryptor[_0x10f6('0x39')](_0x3b92ae[_0x10f6('0x33')]);_0x3b92ae[_0x10f6('0x33')]=maskClientSecret(_0x218ba0);}return _0x3b92ae;})['then'](respondWithResult(_0x24d8e3,null))[_0x10f6('0x34')](handleError(_0x24d8e3,null));};exports['create']=function(_0x468e5c,_0x35ec84){if(!_0x468e5c[_0x10f6('0x3a')][_0x10f6('0x17')])throw new Error(_0x10f6('0x3b'));if(!_0x468e5c[_0x10f6('0x3a')]['service'])throw new Error(_0x10f6('0x3c'));var _0x22ddea=db[_0x10f6('0x19')]['rawAttributes']['service'][_0x10f6('0x3d')];if(!_0x22ddea[_0x10f6('0x3e')](_0x468e5c[_0x10f6('0x3a')]['service']))throw new Error(_0x10f6('0x3f')+_0x22ddea[_0x10f6('0x40')](',\x20'));if(_0x468e5c[_0x10f6('0x3a')][_0x10f6('0x31')]===_0x10f6('0x32')&&_0x468e5c[_0x10f6('0x3a')]['data3']){_0x468e5c[_0x10f6('0x3a')][_0x10f6('0x33')]=encryptor[_0x10f6('0x41')](_0x468e5c['body'][_0x10f6('0x33')]);}return db[_0x10f6('0x19')]['create'](_0x468e5c['body'],{})[_0x10f6('0x15')](respondWithResult(_0x35ec84,0xc9))[_0x10f6('0x34')](handleError(_0x35ec84,null));};exports[_0x10f6('0x42')]=function(_0x18447b,_0x37f2f9){if(_0x18447b[_0x10f6('0x3a')]['id']){delete _0x18447b[_0x10f6('0x3a')]['id'];}return db[_0x10f6('0x19')][_0x10f6('0x43')]({'where':{'id':_0x18447b[_0x10f6('0x44')]['id']}})['then'](handleEntityNotFound(_0x37f2f9,null))[_0x10f6('0x15')](function(_0x51df38){if(_0x51df38[_0x10f6('0x31')]===_0x10f6('0x32')&&_0x18447b[_0x10f6('0x3a')][_0x10f6('0x33')]){_0x18447b[_0x10f6('0x3a')][_0x10f6('0x33')]=encryptor[_0x10f6('0x41')](_0x18447b[_0x10f6('0x3a')][_0x10f6('0x33')]);}return _0x51df38;})[_0x10f6('0x15')](saveUpdates(_0x18447b['body'],null))[_0x10f6('0x15')](respondWithResult(_0x37f2f9,null))[_0x10f6('0x34')](handleError(_0x37f2f9,null));};exports[_0x10f6('0x45')]=function(_0xb4100c,_0x1c1c2e){return db[_0x10f6('0x19')]['find']({'where':{'id':_0xb4100c['params']['id']}})[_0x10f6('0x15')](handleEntityNotFound(_0x1c1c2e,null))[_0x10f6('0x15')](removeEntity(_0x1c1c2e,null))[_0x10f6('0x34')](handleError(_0x1c1c2e,null));};exports[_0x10f6('0x46')]=function(_0x29204d,_0x5d5404){return db[_0x10f6('0x19')][_0x10f6('0x47')]({'where':{'id':_0x29204d[_0x10f6('0x44')]['id']},'raw':!![]})[_0x10f6('0x15')](function(_0x5a324e){if(!_0x5a324e)return _0x5d5404['sendStatus'](0x194);return{'url':oauth['generateMicrosoftAuthorizationUrl'](_0x5a324e,_0x29204d[_0x10f6('0x48')]['id'])};})[_0x10f6('0x15')](respondWithResult(_0x5d5404,null))[_0x10f6('0x34')](handleError(_0x5d5404,null));};exports['oauth2MicrosoftCallback']=function(_0x13b317,_0x3ad42c){var _0x3fb6c9=_0x13b317[_0x10f6('0x3a')];var _0x3454aa;var _0x90cf29;if(_0x3fb6c9[_0x10f6('0x16')])throw _0x3fb6c9;redis[_0x10f6('0x49')](_0x3fb6c9[_0x10f6('0x4a')])[_0x10f6('0x15')](function(_0x30fad7){if(!_0x30fad7)throw new Error(_0x10f6('0x4b'));_0x3454aa=JSON[_0x10f6('0x4c')](_0x30fad7);var _0x49debe=Buffer['from'](_0x3fb6c9['state'],_0x10f6('0x4d'))[_0x10f6('0x4e')](_0x10f6('0x4f'));_0x90cf29=JSON[_0x10f6('0x4c')](_0x49debe);if(!oauth[_0x10f6('0x50')](_0x3fb6c9['id_token'],_0x3454aa[_0x10f6('0x51')]))throw new Error(_0x10f6('0x52'));redis['del'](_0x3fb6c9[_0x10f6('0x4a')]);return oauth[_0x10f6('0x53')](_0x3fb6c9[_0x10f6('0x54')],_0x3454aa);})[_0x10f6('0x15')](function(_0x69283c){_0x3454aa[_0x10f6('0x55')]=_0x69283c['access_token'];_0x3454aa[_0x10f6('0x56')]=_0x69283c[_0x10f6('0x57')];return db['CloudProvider']['update']({'data5':_0x3454aa[_0x10f6('0x55')],'data6':_0x3454aa[_0x10f6('0x56')]},{'where':{'id':_0x3454aa['id']}});})[_0x10f6('0x15')](function(){oauth[_0x10f6('0x58')](_0x3454aa);socket['emit']('microsoftAuthorization:success',{'id':_0x90cf29['id']});return;})[_0x10f6('0x15')](respondWithStatusCode(_0x3ad42c,null))['catch'](function(_0x4192a8){if(_0x90cf29){socket[_0x10f6('0x59')]('microsoftAuthorization:error',{'id':_0x90cf29['id']});}if(!_0x3454aa){logger['error']('Invalid\x20authentication\x20state\x20parameter',_0x4192a8);return _0x3ad42c[_0x10f6('0xd')](0x1f4)['send'](_0x4192a8['message']);}logger[_0x10f6('0x16')]('Authentication\x20failed\x20for\x20cloud\x20provider\x20#%s,\x20err:%s',_0x3454aa['id'],JSON['stringify'](_0x4192a8));});};
\ No newline at end of file
+var _0x8167=['stringify','../../components/parsers/qs','../../components/encryptor','../../config/environment','api','../../mysqldb','./cloudProvider.oauth','redis','defaults','localhost','status','end','offset','limit','count','set','Content-Range','update','destroy','then','sendStatus','error','stack','name','send','padEnd','slice','map','CloudProvider','rawAttributes','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','filters','pick','filter','where','VIRTUAL','options','includeAll','include','rows','service','MicrosoftAzure','decryptString','data3','catch','show','params','merge','find','create','body','Name\x20parameter\x20not\x20specified','Service\x20parameter\x20not\x20specified','Invalid\x20service\x20parameter.\x20Allowed\x20values:\x20','encryptString','findOne','oauth2MicrosoftCallback','get','state','base64','toString','id_token','oauth2Claims','Unable\x20to\x20validate\x20id_token','del','getOauth2MicrosoftAccessToken','data5','access_token','data6','refresh_token','startRefreshInterval','emit','microsoftAuthorization:success','microsoftAuthorization:error','Authentication\x20failed\x20for\x20cloud\x20provider\x20#%s,\x20err:%s'];(function(_0x514c15,_0x486901){var _0x16283e=function(_0x53b7d0){while(--_0x53b7d0){_0x514c15['push'](_0x514c15['shift']());}};_0x16283e(++_0x486901);}(_0x8167,0xab));var _0x7816=function(_0x2b1796,_0xcdb779){_0x2b1796=_0x2b1796-0x0;var _0x1e0f44=_0x8167[_0x2b1796];return _0x1e0f44;};'use strict';var _=require('lodash');var Redis=require('ioredis');var qs=require(_0x7816('0x0'));var encryptor=require(_0x7816('0x1'));var config=require(_0x7816('0x2'));var logger=require('../../config/logger')(_0x7816('0x3'));var db=require(_0x7816('0x4'))['db'];var oauth=require(_0x7816('0x5'));config[_0x7816('0x6')]=_[_0x7816('0x7')](config['redis'],{'host':_0x7816('0x8'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));var redis=new Redis(config['redis']);function respondWithStatusCode(_0x1f7bf7,_0x5f11ef){_0x5f11ef=_0x5f11ef||0xcc;return function(_0x107a14){if(_0x107a14){return _0x1f7bf7['sendStatus'](_0x5f11ef);}return _0x1f7bf7[_0x7816('0x9')](_0x5f11ef)[_0x7816('0xa')]();};}function respondWithResult(_0x3b5b99,_0x4518a6){_0x4518a6=_0x4518a6||0xc8;return function(_0x1ff5c5){if(_0x1ff5c5){return _0x3b5b99[_0x7816('0x9')](_0x4518a6)['json'](_0x1ff5c5);}};}function respondWithFilteredResult(_0x58b717,_0x2fb2f5){return function(_0x20fec3){if(_0x20fec3){var _0x531fb4=typeof _0x2fb2f5[_0x7816('0xb')]==='undefined'&&typeof _0x2fb2f5[_0x7816('0xc')]==='undefined';var _0x41aca0=_0x20fec3['count'];var _0x703620=_0x531fb4?0x0:_0x2fb2f5[_0x7816('0xb')];var _0x2ddbc8=_0x531fb4?_0x20fec3[_0x7816('0xd')]:_0x2fb2f5[_0x7816('0xb')]+_0x2fb2f5[_0x7816('0xc')];var _0x1863d7;if(_0x2ddbc8>=_0x41aca0){_0x2ddbc8=_0x41aca0;_0x1863d7=0xc8;}else{_0x1863d7=0xce;}_0x58b717['status'](_0x1863d7);return _0x58b717[_0x7816('0xe')](_0x7816('0xf'),_0x703620+'-'+_0x2ddbc8+'/'+_0x41aca0)['json'](_0x20fec3);}return null;};}function saveUpdates(_0x4b80f7){return function(_0x406aa6){if(_0x406aa6){return _0x406aa6[_0x7816('0x10')](_0x4b80f7)['then'](function(_0x1cf118){return _0x1cf118;});}return null;};}function removeEntity(_0x503fbe){return function(_0x411aa7){if(_0x411aa7){return _0x411aa7[_0x7816('0x11')]()[_0x7816('0x12')](function(){_0x503fbe[_0x7816('0x9')](0xcc)[_0x7816('0xa')]();});}};}function handleEntityNotFound(_0x50be36){return function(_0x21673f){if(!_0x21673f){_0x50be36[_0x7816('0x13')](0x194);}return _0x21673f;};}function handleError(_0xf12456,_0x427af6){_0x427af6=_0x427af6||0x1f4;return function(_0x2c095c){logger[_0x7816('0x14')](_0x2c095c[_0x7816('0x15')]);if(_0x2c095c[_0x7816('0x16')]){delete _0x2c095c[_0x7816('0x16')];}_0xf12456['status'](_0x427af6)[_0x7816('0x17')](_0x2c095c);};}function maskClientSecret(_0x4562cd){return _[_0x7816('0x18')](_0x4562cd[_0x7816('0x19')](0x0,0x3),0x14,'*');}exports['index']=function(_0x556459,_0x3f9b3f){var _0x18e8ba={},_0x4bbbf3={},_0x360b93={'count':0x0,'rows':[]};var _0x49013e=_[_0x7816('0x1a')](db[_0x7816('0x1b')][_0x7816('0x1c')],function(_0xd48657){return{'name':_0xd48657['fieldName'],'type':_0xd48657[_0x7816('0x1d')][_0x7816('0x1e')]};});_0x4bbbf3[_0x7816('0x1f')]=_[_0x7816('0x1a')](_0x49013e,'name');_0x4bbbf3[_0x7816('0x20')]=_[_0x7816('0x21')](_0x556459[_0x7816('0x20')]);_0x4bbbf3['filters']=_[_0x7816('0x22')](_0x4bbbf3['model'],_0x4bbbf3[_0x7816('0x20')]);_0x18e8ba[_0x7816('0x23')]=_[_0x7816('0x22')](_0x4bbbf3[_0x7816('0x1f')],qs[_0x7816('0x24')](_0x556459[_0x7816('0x20')][_0x7816('0x24')]));_0x18e8ba['attributes']=_0x18e8ba[_0x7816('0x23')][_0x7816('0x25')]?_0x18e8ba[_0x7816('0x23')]:_0x4bbbf3[_0x7816('0x1f')];if(!_0x556459[_0x7816('0x20')][_0x7816('0x26')](_0x7816('0x27'))){_0x18e8ba['limit']=qs[_0x7816('0xc')](_0x556459[_0x7816('0x20')][_0x7816('0xc')]);_0x18e8ba[_0x7816('0xb')]=qs[_0x7816('0xb')](_0x556459[_0x7816('0x20')]['offset']);}_0x18e8ba['order']=qs['sort'](_0x556459[_0x7816('0x20')]['sort']);_0x18e8ba['where']=qs[_0x7816('0x28')](_[_0x7816('0x29')](_0x556459[_0x7816('0x20')],_0x4bbbf3[_0x7816('0x28')]),_0x49013e);if(_0x556459[_0x7816('0x20')][_0x7816('0x2a')]){_0x18e8ba[_0x7816('0x2b')]=_['merge'](_0x18e8ba['where'],{'$or':_[_0x7816('0x1a')](_0x49013e,function(_0x581452){if(_0x581452[_0x7816('0x1d')]!==_0x7816('0x2c')){var _0x57e71e={};_0x57e71e[_0x581452[_0x7816('0x16')]]={'$like':'%'+_0x556459[_0x7816('0x20')][_0x7816('0x2a')]+'%'};return _0x57e71e;}})});}_0x18e8ba=_['merge']({},_0x18e8ba,_0x556459[_0x7816('0x2d')]);var _0x451a1d={'where':_0x18e8ba[_0x7816('0x2b')]};return db['CloudProvider'][_0x7816('0xd')](_0x451a1d)['then'](function(_0x5e3d3d){_0x360b93[_0x7816('0xd')]=_0x5e3d3d;if(_0x556459[_0x7816('0x20')][_0x7816('0x2e')]){_0x18e8ba[_0x7816('0x2f')]=[{'all':!![]}];}return db['CloudProvider']['findAll'](_0x18e8ba);})[_0x7816('0x12')](function(_0x1505c9){_0x360b93[_0x7816('0x30')]=_[_0x7816('0x1a')](_0x1505c9,function(_0x4083e8){if(_0x4083e8[_0x7816('0x31')]===_0x7816('0x32')){var _0x3b137f=encryptor[_0x7816('0x33')](_0x4083e8[_0x7816('0x34')]);_0x4083e8[_0x7816('0x34')]=maskClientSecret(_0x3b137f);}return _0x4083e8;});return _0x360b93;})[_0x7816('0x12')](respondWithFilteredResult(_0x3f9b3f,_0x18e8ba))[_0x7816('0x35')](handleError(_0x3f9b3f,null));};exports[_0x7816('0x36')]=function(_0x3135db,_0x5217a7){var _0x5af2ff={'raw':!![],'where':{'id':_0x3135db[_0x7816('0x37')]['id']}},_0x3afbdf={};_0x3afbdf['model']=_[_0x7816('0x21')](db[_0x7816('0x1b')]['rawAttributes']);_0x3afbdf[_0x7816('0x20')]=_[_0x7816('0x21')](_0x3135db[_0x7816('0x20')]);_0x3afbdf[_0x7816('0x28')]=_[_0x7816('0x22')](_0x3afbdf[_0x7816('0x1f')],_0x3afbdf[_0x7816('0x20')]);_0x5af2ff['attributes']=_[_0x7816('0x22')](_0x3afbdf[_0x7816('0x1f')],qs['fields'](_0x3135db['query'][_0x7816('0x24')]));_0x5af2ff[_0x7816('0x23')]=_0x5af2ff['attributes'][_0x7816('0x25')]?_0x5af2ff['attributes']:_0x3afbdf[_0x7816('0x1f')];if(_0x3135db[_0x7816('0x20')][_0x7816('0x2e')]){_0x5af2ff[_0x7816('0x2f')]=[{'all':!![]}];}_0x5af2ff=_[_0x7816('0x38')]({},_0x5af2ff,_0x3135db['options']);return db[_0x7816('0x1b')][_0x7816('0x39')](_0x5af2ff)[_0x7816('0x12')](handleEntityNotFound(_0x5217a7,null))['then'](function(_0x24d586){if(_0x24d586['service']===_0x7816('0x32')){var _0x367571=encryptor[_0x7816('0x33')](_0x24d586[_0x7816('0x34')]);_0x24d586['data3']=maskClientSecret(_0x367571);}return _0x24d586;})[_0x7816('0x12')](respondWithResult(_0x5217a7,null))[_0x7816('0x35')](handleError(_0x5217a7,null));};exports[_0x7816('0x3a')]=function(_0x191190,_0x40adb6){if(!_0x191190[_0x7816('0x3b')]['name'])throw new Error(_0x7816('0x3c'));if(!_0x191190['body'][_0x7816('0x31')])throw new Error(_0x7816('0x3d'));var _0x3570c8=db[_0x7816('0x1b')][_0x7816('0x1c')][_0x7816('0x31')]['values'];if(!_0x3570c8['includes'](_0x191190[_0x7816('0x3b')]['service']))throw new Error(_0x7816('0x3e')+_0x3570c8['join'](',\x20'));if(_0x191190['body']['service']==='MicrosoftAzure'&&_0x191190['body']['data3']){_0x191190['body'][_0x7816('0x34')]=encryptor[_0x7816('0x3f')](_0x191190['body'][_0x7816('0x34')]);}return db[_0x7816('0x1b')][_0x7816('0x3a')](_0x191190[_0x7816('0x3b')],{})['then'](respondWithResult(_0x40adb6,0xc9))[_0x7816('0x35')](handleError(_0x40adb6,null));};exports[_0x7816('0x10')]=function(_0x26e564,_0x10fafb){if(_0x26e564[_0x7816('0x3b')]['id']){delete _0x26e564[_0x7816('0x3b')]['id'];}return db[_0x7816('0x1b')][_0x7816('0x39')]({'where':{'id':_0x26e564['params']['id']}})[_0x7816('0x12')](handleEntityNotFound(_0x10fafb,null))[_0x7816('0x12')](function(_0x3d1434){if(_0x3d1434['service']===_0x7816('0x32')&&_0x26e564['body'][_0x7816('0x34')]){_0x26e564[_0x7816('0x3b')][_0x7816('0x34')]=encryptor[_0x7816('0x3f')](_0x26e564['body'][_0x7816('0x34')]);}return _0x3d1434;})[_0x7816('0x12')](saveUpdates(_0x26e564['body'],null))[_0x7816('0x12')](respondWithResult(_0x10fafb,null))[_0x7816('0x35')](handleError(_0x10fafb,null));};exports[_0x7816('0x11')]=function(_0x500f90,_0x2e0a77){return db[_0x7816('0x1b')][_0x7816('0x39')]({'where':{'id':_0x500f90[_0x7816('0x37')]['id']}})[_0x7816('0x12')](handleEntityNotFound(_0x2e0a77,null))[_0x7816('0x12')](removeEntity(_0x2e0a77,null))[_0x7816('0x35')](handleError(_0x2e0a77,null));};exports['oauth2MicrosoftAuthorize']=function(_0x2e39ed,_0x1d7955){return db[_0x7816('0x1b')][_0x7816('0x40')]({'where':{'id':_0x2e39ed[_0x7816('0x37')]['id']},'raw':!![]})[_0x7816('0x12')](function(_0x15be87){if(!_0x15be87)return _0x1d7955[_0x7816('0x13')](0x194);return{'url':oauth['generateMicrosoftAuthorizationUrl'](_0x15be87,_0x2e39ed['user']['id'])};})[_0x7816('0x12')](respondWithResult(_0x1d7955,null))[_0x7816('0x35')](handleError(_0x1d7955,null));};exports[_0x7816('0x41')]=function(_0x4c064f,_0x36c75c){var _0x48b006=_0x4c064f[_0x7816('0x3b')];var _0x474df3;var _0x13a28d;if(_0x48b006['error'])throw _0x48b006;redis[_0x7816('0x42')](_0x48b006[_0x7816('0x43')])['then'](function(_0xb56ca0){if(!_0xb56ca0)throw new Error('Invalid\x20state\x20parameter');_0x474df3=JSON['parse'](_0xb56ca0);var _0x4a78db=Buffer['from'](_0x48b006[_0x7816('0x43')],_0x7816('0x44'))[_0x7816('0x45')]('ascii');_0x13a28d=JSON['parse'](_0x4a78db);if(!oauth['isValidIdToken'](_0x48b006[_0x7816('0x46')],_0x474df3[_0x7816('0x47')]))throw new Error(_0x7816('0x48'));redis[_0x7816('0x49')](_0x48b006[_0x7816('0x43')]);return oauth[_0x7816('0x4a')](_0x48b006['code'],_0x474df3);})[_0x7816('0x12')](function(_0x2162cb){_0x474df3[_0x7816('0x4b')]=_0x2162cb[_0x7816('0x4c')];_0x474df3[_0x7816('0x4d')]=_0x2162cb[_0x7816('0x4e')];return db[_0x7816('0x1b')][_0x7816('0x10')]({'data5':_0x474df3['data5'],'data6':_0x474df3['data6']},{'where':{'id':_0x474df3['id']}});})['then'](function(){oauth[_0x7816('0x4f')](_0x474df3);socket[_0x7816('0x50')](_0x7816('0x51'),{'id':_0x13a28d['id']});return;})[_0x7816('0x12')](respondWithStatusCode(_0x36c75c,null))['catch'](function(_0x33eb2c){if(_0x13a28d){socket[_0x7816('0x50')](_0x7816('0x52'),{'id':_0x13a28d['id']});}if(!_0x474df3){logger['error']('Invalid\x20authentication\x20state\x20parameter',_0x33eb2c);return _0x36c75c[_0x7816('0x9')](0x1f4)[_0x7816('0x17')](_0x33eb2c['message']);}logger[_0x7816('0x14')](_0x7816('0x53'),_0x474df3['id'],JSON[_0x7816('0x54')](_0x33eb2c));});};
\ No newline at end of file