Built motion from commit f25620e4.|2.6.30
[motion2.git] / server / api / cloudProvider / cloudProvider.controller.js
index 16706a7..85b2a36 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x34f6=['refresh_token','emit','microsoftAuthorization:success','microsoftAuthorization:error','error','message','Authentication\x20failed\x20for\x20cloud\x20provider\x20#%s,\x20err:%s','stringify','ioredis','../../components/parsers/qs','../../components/encryptor','../../config/environment','../../config/logger','api','redis','defaults','localhost','socket.io-emitter','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','update','destroy','then','name','send','padEnd','slice','index','rawAttributes','fieldName','type','model','map','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','CloudProvider','includeAll','include','rows','service','decryptString','data3','catch','show','params','find','MicrosoftAzure','create','Name\x20parameter\x20not\x20specified','body','Service\x20parameter\x20not\x20specified','values','includes','Invalid\x20service\x20parameter.\x20Allowed\x20values:\x20','encryptString','findOne','generateMicrosoftAuthorizationUrl','oauth2MicrosoftCallback','get','state','Invalid\x20state\x20parameter','parse','base64','ascii','isValidIdToken','id_token','del','getOauth2MicrosoftAccessToken','code','data5','access_token'];(function(_0x21e034,_0x59fc14){var _0x1faab3=function(_0x2bd3ba){while(--_0x2bd3ba){_0x21e034['push'](_0x21e034['shift']());}};_0x1faab3(++_0x59fc14);}(_0x34f6,0xc4));var _0x634f=function(_0x286731,_0x116916){_0x286731=_0x286731-0x0;var _0x50f5a5=_0x34f6[_0x286731];return _0x50f5a5;};'use strict';var _=require('lodash');var Redis=require(_0x634f('0x0'));var qs=require(_0x634f('0x1'));var encryptor=require(_0x634f('0x2'));var config=require(_0x634f('0x3'));var logger=require(_0x634f('0x4'))(_0x634f('0x5'));var db=require('../../mysqldb')['db'];var oauth=require('./cloudProvider.oauth');config[_0x634f('0x6')]=_[_0x634f('0x7')](config[_0x634f('0x6')],{'host':_0x634f('0x8'),'port':0x18eb});var socket=require(_0x634f('0x9'))(new Redis(config['redis']));var redis=new Redis(config[_0x634f('0x6')]);function respondWithStatusCode(_0x49fbbf,_0x4dce18){_0x4dce18=_0x4dce18||0xcc;return function(_0x2f4472){if(_0x2f4472){return _0x49fbbf[_0x634f('0xa')](_0x4dce18);}return _0x49fbbf[_0x634f('0xb')](_0x4dce18)[_0x634f('0xc')]();};}function respondWithResult(_0x316b1e,_0x5457bc){_0x5457bc=_0x5457bc||0xc8;return function(_0x11fe8b){if(_0x11fe8b){return _0x316b1e[_0x634f('0xb')](_0x5457bc)[_0x634f('0xd')](_0x11fe8b);}};}function respondWithFilteredResult(_0x53446d,_0x1d77fb){return function(_0x5a6c61){if(_0x5a6c61){var _0x46f0e=typeof _0x1d77fb[_0x634f('0xe')]===_0x634f('0xf')&&typeof _0x1d77fb[_0x634f('0x10')]===_0x634f('0xf');var _0x4d9d9b=_0x5a6c61['count'];var _0xf6d949=_0x46f0e?0x0:_0x1d77fb[_0x634f('0xe')];var _0x423172=_0x46f0e?_0x5a6c61[_0x634f('0x11')]:_0x1d77fb[_0x634f('0xe')]+_0x1d77fb['limit'];var _0x36f3b8;if(_0x423172>=_0x4d9d9b){_0x423172=_0x4d9d9b;_0x36f3b8=0xc8;}else{_0x36f3b8=0xce;}_0x53446d[_0x634f('0xb')](_0x36f3b8);return _0x53446d[_0x634f('0x12')](_0x634f('0x13'),_0xf6d949+'-'+_0x423172+'/'+_0x4d9d9b)[_0x634f('0xd')](_0x5a6c61);}return null;};}function saveUpdates(_0x2e02b4){return function(_0x56f188){if(_0x56f188){return _0x56f188[_0x634f('0x14')](_0x2e02b4)['then'](function(_0x295e77){return _0x295e77;});}return null;};}function removeEntity(_0x3a4b31){return function(_0x5afe41){if(_0x5afe41){return _0x5afe41[_0x634f('0x15')]()[_0x634f('0x16')](function(){_0x3a4b31[_0x634f('0xb')](0xcc)[_0x634f('0xc')]();});}};}function handleEntityNotFound(_0x3a9393){return function(_0x491202){if(!_0x491202){_0x3a9393[_0x634f('0xa')](0x194);}return _0x491202;};}function handleError(_0x5eb05,_0x5b4f18){_0x5b4f18=_0x5b4f18||0x1f4;return function(_0x316bd7){logger['error'](_0x316bd7['stack']);if(_0x316bd7[_0x634f('0x17')]){delete _0x316bd7['name'];}_0x5eb05[_0x634f('0xb')](_0x5b4f18)[_0x634f('0x18')](_0x316bd7);};}function maskClientSecret(_0x12eea4){return _[_0x634f('0x19')](_0x12eea4[_0x634f('0x1a')](0x0,0x3),0x14,'*');}exports[_0x634f('0x1b')]=function(_0x31c5c8,_0x2a16c9){var _0x38ded2={},_0x297c0b={},_0xe39327={'count':0x0,'rows':[]};var _0x5b414d=_['map'](db['CloudProvider'][_0x634f('0x1c')],function(_0x428656){return{'name':_0x428656[_0x634f('0x1d')],'type':_0x428656[_0x634f('0x1e')]['key']};});_0x297c0b[_0x634f('0x1f')]=_[_0x634f('0x20')](_0x5b414d,_0x634f('0x17'));_0x297c0b[_0x634f('0x21')]=_[_0x634f('0x22')](_0x31c5c8[_0x634f('0x21')]);_0x297c0b['filters']=_['intersection'](_0x297c0b[_0x634f('0x1f')],_0x297c0b[_0x634f('0x21')]);_0x38ded2[_0x634f('0x23')]=_[_0x634f('0x24')](_0x297c0b[_0x634f('0x1f')],qs[_0x634f('0x25')](_0x31c5c8[_0x634f('0x21')][_0x634f('0x25')]));_0x38ded2[_0x634f('0x23')]=_0x38ded2[_0x634f('0x23')][_0x634f('0x26')]?_0x38ded2[_0x634f('0x23')]:_0x297c0b[_0x634f('0x1f')];if(!_0x31c5c8[_0x634f('0x21')][_0x634f('0x27')](_0x634f('0x28'))){_0x38ded2[_0x634f('0x10')]=qs[_0x634f('0x10')](_0x31c5c8[_0x634f('0x21')][_0x634f('0x10')]);_0x38ded2[_0x634f('0xe')]=qs[_0x634f('0xe')](_0x31c5c8[_0x634f('0x21')][_0x634f('0xe')]);}_0x38ded2[_0x634f('0x29')]=qs[_0x634f('0x2a')](_0x31c5c8[_0x634f('0x21')][_0x634f('0x2a')]);_0x38ded2[_0x634f('0x2b')]=qs[_0x634f('0x2c')](_[_0x634f('0x2d')](_0x31c5c8[_0x634f('0x21')],_0x297c0b[_0x634f('0x2c')]),_0x5b414d);if(_0x31c5c8[_0x634f('0x21')][_0x634f('0x2e')]){_0x38ded2[_0x634f('0x2b')]=_[_0x634f('0x2f')](_0x38ded2[_0x634f('0x2b')],{'$or':_[_0x634f('0x20')](_0x5b414d,function(_0x4849c3){if(_0x4849c3['type']!==_0x634f('0x30')){var _0x4574f8={};_0x4574f8[_0x4849c3[_0x634f('0x17')]]={'$like':'%'+_0x31c5c8[_0x634f('0x21')][_0x634f('0x2e')]+'%'};return _0x4574f8;}})});}_0x38ded2=_[_0x634f('0x2f')]({},_0x38ded2,_0x31c5c8[_0x634f('0x31')]);var _0xa946bd={'where':_0x38ded2[_0x634f('0x2b')]};return db[_0x634f('0x32')][_0x634f('0x11')](_0xa946bd)['then'](function(_0x3eeb2f){_0xe39327['count']=_0x3eeb2f;if(_0x31c5c8[_0x634f('0x21')][_0x634f('0x33')]){_0x38ded2[_0x634f('0x34')]=[{'all':!![]}];}return db[_0x634f('0x32')]['findAll'](_0x38ded2);})['then'](function(_0x3e3b64){_0xe39327[_0x634f('0x35')]=_[_0x634f('0x20')](_0x3e3b64,function(_0xc1fc9c){if(_0xc1fc9c[_0x634f('0x36')]==='MicrosoftAzure'){var _0x581240=encryptor[_0x634f('0x37')](_0xc1fc9c[_0x634f('0x38')]);_0xc1fc9c[_0x634f('0x38')]=maskClientSecret(_0x581240);}return _0xc1fc9c;});return _0xe39327;})[_0x634f('0x16')](respondWithFilteredResult(_0x2a16c9,_0x38ded2))[_0x634f('0x39')](handleError(_0x2a16c9,null));};exports[_0x634f('0x3a')]=function(_0x4e9bd4,_0x2f6224){var _0x2946ec={'raw':!![],'where':{'id':_0x4e9bd4[_0x634f('0x3b')]['id']}},_0x4343b6={};_0x4343b6[_0x634f('0x1f')]=_[_0x634f('0x22')](db['CloudProvider'][_0x634f('0x1c')]);_0x4343b6[_0x634f('0x21')]=_[_0x634f('0x22')](_0x4e9bd4[_0x634f('0x21')]);_0x4343b6[_0x634f('0x2c')]=_[_0x634f('0x24')](_0x4343b6[_0x634f('0x1f')],_0x4343b6[_0x634f('0x21')]);_0x2946ec[_0x634f('0x23')]=_[_0x634f('0x24')](_0x4343b6[_0x634f('0x1f')],qs[_0x634f('0x25')](_0x4e9bd4[_0x634f('0x21')][_0x634f('0x25')]));_0x2946ec['attributes']=_0x2946ec['attributes']['length']?_0x2946ec[_0x634f('0x23')]:_0x4343b6[_0x634f('0x1f')];if(_0x4e9bd4[_0x634f('0x21')][_0x634f('0x33')]){_0x2946ec[_0x634f('0x34')]=[{'all':!![]}];}_0x2946ec=_[_0x634f('0x2f')]({},_0x2946ec,_0x4e9bd4[_0x634f('0x31')]);return db[_0x634f('0x32')][_0x634f('0x3c')](_0x2946ec)[_0x634f('0x16')](handleEntityNotFound(_0x2f6224,null))[_0x634f('0x16')](function(_0x186f1c){if(_0x186f1c['service']===_0x634f('0x3d')){var _0x5b1be2=encryptor[_0x634f('0x37')](_0x186f1c['data3']);_0x186f1c[_0x634f('0x38')]=maskClientSecret(_0x5b1be2);}return _0x186f1c;})[_0x634f('0x16')](respondWithResult(_0x2f6224,null))[_0x634f('0x39')](handleError(_0x2f6224,null));};exports[_0x634f('0x3e')]=function(_0x424b84,_0x4e097d){if(!_0x424b84['body'][_0x634f('0x17')])throw new Error(_0x634f('0x3f'));if(!_0x424b84[_0x634f('0x40')][_0x634f('0x36')])throw new Error(_0x634f('0x41'));var _0x140eaf=db['CloudProvider'][_0x634f('0x1c')][_0x634f('0x36')][_0x634f('0x42')];if(!_0x140eaf[_0x634f('0x43')](_0x424b84[_0x634f('0x40')][_0x634f('0x36')]))throw new Error(_0x634f('0x44')+_0x140eaf['join'](',\x20'));if(_0x424b84[_0x634f('0x40')][_0x634f('0x36')]===_0x634f('0x3d')&&_0x424b84[_0x634f('0x40')][_0x634f('0x38')]){_0x424b84[_0x634f('0x40')]['data3']=encryptor[_0x634f('0x45')](_0x424b84[_0x634f('0x40')][_0x634f('0x38')]);}return db['CloudProvider'][_0x634f('0x3e')](_0x424b84[_0x634f('0x40')],{})[_0x634f('0x16')](respondWithResult(_0x4e097d,0xc9))[_0x634f('0x39')](handleError(_0x4e097d,null));};exports[_0x634f('0x14')]=function(_0x3092d5,_0x15e221){if(_0x3092d5['body']['id']){delete _0x3092d5[_0x634f('0x40')]['id'];}return db[_0x634f('0x32')][_0x634f('0x3c')]({'where':{'id':_0x3092d5[_0x634f('0x3b')]['id']}})[_0x634f('0x16')](handleEntityNotFound(_0x15e221,null))[_0x634f('0x16')](function(_0x1d910a){if(_0x1d910a[_0x634f('0x36')]==='MicrosoftAzure'&&_0x3092d5[_0x634f('0x40')]['data3']){_0x3092d5['body']['data3']=encryptor['encryptString'](_0x3092d5[_0x634f('0x40')]['data3']);}return _0x1d910a;})[_0x634f('0x16')](saveUpdates(_0x3092d5[_0x634f('0x40')],null))[_0x634f('0x16')](respondWithResult(_0x15e221,null))[_0x634f('0x39')](handleError(_0x15e221,null));};exports['destroy']=function(_0x3b95f5,_0x1d367e){return db['CloudProvider']['find']({'where':{'id':_0x3b95f5['params']['id']}})[_0x634f('0x16')](handleEntityNotFound(_0x1d367e,null))[_0x634f('0x16')](removeEntity(_0x1d367e,null))[_0x634f('0x39')](handleError(_0x1d367e,null));};exports['oauth2MicrosoftAuthorize']=function(_0x185169,_0x14cf2a){return db[_0x634f('0x32')][_0x634f('0x46')]({'where':{'id':_0x185169['params']['id']},'raw':!![]})['then'](function(_0x3d48f0){if(!_0x3d48f0)return _0x14cf2a[_0x634f('0xa')](0x194);return{'url':oauth[_0x634f('0x47')](_0x3d48f0,_0x185169['user']['id'])};})[_0x634f('0x16')](respondWithResult(_0x14cf2a,null))[_0x634f('0x39')](handleError(_0x14cf2a,null));};exports[_0x634f('0x48')]=function(_0x2a5ea6,_0xadb7f8){var _0x464fb5=_0x2a5ea6[_0x634f('0x40')];var _0x550a44;var _0x1d3970;if(_0x464fb5['error'])throw _0x464fb5;redis[_0x634f('0x49')](_0x464fb5[_0x634f('0x4a')])[_0x634f('0x16')](function(_0x530456){if(!_0x530456)throw new Error(_0x634f('0x4b'));_0x550a44=JSON[_0x634f('0x4c')](_0x530456);var _0x1ef2a8=Buffer['from'](_0x464fb5['state'],_0x634f('0x4d'))['toString'](_0x634f('0x4e'));_0x1d3970=JSON[_0x634f('0x4c')](_0x1ef2a8);if(!oauth[_0x634f('0x4f')](_0x464fb5[_0x634f('0x50')],_0x550a44['oauth2Claims']))throw new Error('Unable\x20to\x20validate\x20id_token');redis[_0x634f('0x51')](_0x464fb5[_0x634f('0x4a')]);return oauth[_0x634f('0x52')](_0x464fb5[_0x634f('0x53')],_0x550a44);})[_0x634f('0x16')](function(_0xbe4f57){_0x550a44[_0x634f('0x54')]=_0xbe4f57[_0x634f('0x55')];_0x550a44['data6']=_0xbe4f57[_0x634f('0x56')];return db[_0x634f('0x32')][_0x634f('0x14')]({'data5':_0x550a44['data5'],'data6':_0x550a44['data6']},{'where':{'id':_0x550a44['id']}});})['then'](function(){oauth['startRefreshInterval'](_0x550a44);socket[_0x634f('0x57')](_0x634f('0x58'),{'id':_0x1d3970['id']});return;})[_0x634f('0x16')](respondWithStatusCode(_0xadb7f8,null))[_0x634f('0x39')](function(_0x1d365f){if(_0x1d3970){socket[_0x634f('0x57')](_0x634f('0x59'),{'id':_0x1d3970['id']});}if(!_0x550a44){logger[_0x634f('0x5a')]('Invalid\x20authentication\x20state\x20parameter',_0x1d365f);return _0xadb7f8[_0x634f('0xb')](0x1f4)[_0x634f('0x18')](_0x1d365f[_0x634f('0x5b')]);}logger[_0x634f('0x5a')](_0x634f('0x5c'),_0x550a44['id'],JSON[_0x634f('0x5d')](_0x1d365f));});};
\ No newline at end of file
+var _0x8902=['id_token','oauth2Claims','Unable\x20to\x20validate\x20id_token','del','getOauth2MicrosoftAccessToken','code','access_token','data6','refresh_token','data5','startRefreshInterval','emit','microsoftAuthorization:success','microsoftAuthorization:error','Invalid\x20authentication\x20state\x20parameter','message','stringify','lodash','ioredis','../../components/encryptor','../../config/environment','api','../../mysqldb','./cloudProvider.oauth','defaults','redis','localhost','socket.io-emitter','sendStatus','end','status','undefined','count','offset','limit','Content-Range','then','destroy','stack','send','padEnd','index','map','CloudProvider','type','key','model','name','query','keys','attributes','fields','length','hasOwnProperty','order','sort','where','filters','merge','VIRTUAL','filter','findAll','service','MicrosoftAzure','catch','show','params','rawAttributes','intersection','includeAll','options','data3','body','Service\x20parameter\x20not\x20specified','values','includes','Invalid\x20service\x20parameter.\x20Allowed\x20values:\x20','join','encryptString','create','update','find','oauth2MicrosoftAuthorize','findOne','user','error','get','state','from','base64','ascii'];(function(_0x31f917,_0x3a9037){var _0x31d77a=function(_0x5c1553){while(--_0x5c1553){_0x31f917['push'](_0x31f917['shift']());}};_0x31d77a(++_0x3a9037);}(_0x8902,0x6c));var _0x2890=function(_0x2494c2,_0x288476){_0x2494c2=_0x2494c2-0x0;var _0x16f60b=_0x8902[_0x2494c2];return _0x16f60b;};'use strict';var _=require(_0x2890('0x0'));var Redis=require(_0x2890('0x1'));var qs=require('../../components/parsers/qs');var encryptor=require(_0x2890('0x2'));var config=require(_0x2890('0x3'));var logger=require('../../config/logger')(_0x2890('0x4'));var db=require(_0x2890('0x5'))['db'];var oauth=require(_0x2890('0x6'));config['redis']=_[_0x2890('0x7')](config[_0x2890('0x8')],{'host':_0x2890('0x9'),'port':0x18eb});var socket=require(_0x2890('0xa'))(new Redis(config[_0x2890('0x8')]));var redis=new Redis(config[_0x2890('0x8')]);function respondWithStatusCode(_0x60e0a2,_0x57d149){_0x57d149=_0x57d149||0xcc;return function(_0x2a1640){if(_0x2a1640){return _0x60e0a2[_0x2890('0xb')](_0x57d149);}return _0x60e0a2['status'](_0x57d149)[_0x2890('0xc')]();};}function respondWithResult(_0x12d51b,_0x42d367){_0x42d367=_0x42d367||0xc8;return function(_0x456bb2){if(_0x456bb2){return _0x12d51b[_0x2890('0xd')](_0x42d367)['json'](_0x456bb2);}};}function respondWithFilteredResult(_0x411bcf,_0x3a2820){return function(_0x4137aa){if(_0x4137aa){var _0x2a099d=typeof _0x3a2820['offset']==='undefined'&&typeof _0x3a2820['limit']===_0x2890('0xe');var _0x530cf9=_0x4137aa[_0x2890('0xf')];var _0x2e4c22=_0x2a099d?0x0:_0x3a2820[_0x2890('0x10')];var _0x1884a3=_0x2a099d?_0x4137aa[_0x2890('0xf')]:_0x3a2820[_0x2890('0x10')]+_0x3a2820[_0x2890('0x11')];var _0x5eb5bb;if(_0x1884a3>=_0x530cf9){_0x1884a3=_0x530cf9;_0x5eb5bb=0xc8;}else{_0x5eb5bb=0xce;}_0x411bcf[_0x2890('0xd')](_0x5eb5bb);return _0x411bcf['set'](_0x2890('0x12'),_0x2e4c22+'-'+_0x1884a3+'/'+_0x530cf9)['json'](_0x4137aa);}return null;};}function saveUpdates(_0x1a8ed0){return function(_0x2098d9){if(_0x2098d9){return _0x2098d9['update'](_0x1a8ed0)[_0x2890('0x13')](function(_0x44b1dd){return _0x44b1dd;});}return null;};}function removeEntity(_0x1b69c8){return function(_0x28ecbf){if(_0x28ecbf){return _0x28ecbf[_0x2890('0x14')]()[_0x2890('0x13')](function(){_0x1b69c8[_0x2890('0xd')](0xcc)[_0x2890('0xc')]();});}};}function handleEntityNotFound(_0x387f02){return function(_0x3c4077){if(!_0x3c4077){_0x387f02[_0x2890('0xb')](0x194);}return _0x3c4077;};}function handleError(_0x1c1288,_0x23afce){_0x23afce=_0x23afce||0x1f4;return function(_0x4b7b9f){logger['error'](_0x4b7b9f[_0x2890('0x15')]);if(_0x4b7b9f['name']){delete _0x4b7b9f['name'];}_0x1c1288[_0x2890('0xd')](_0x23afce)[_0x2890('0x16')](_0x4b7b9f);};}function maskClientSecret(_0x2f3315){return _[_0x2890('0x17')](_0x2f3315['slice'](0x0,0x3),0x14,'*');}exports[_0x2890('0x18')]=function(_0x5d6a02,_0x2ca81f){var _0xae9069={},_0x5d879e={},_0x53dcb2={'count':0x0,'rows':[]};var _0x3f8d2f=_[_0x2890('0x19')](db[_0x2890('0x1a')]['rawAttributes'],function(_0x4fc27d){return{'name':_0x4fc27d['fieldName'],'type':_0x4fc27d[_0x2890('0x1b')][_0x2890('0x1c')]};});_0x5d879e[_0x2890('0x1d')]=_[_0x2890('0x19')](_0x3f8d2f,_0x2890('0x1e'));_0x5d879e[_0x2890('0x1f')]=_[_0x2890('0x20')](_0x5d6a02[_0x2890('0x1f')]);_0x5d879e['filters']=_['intersection'](_0x5d879e[_0x2890('0x1d')],_0x5d879e[_0x2890('0x1f')]);_0xae9069[_0x2890('0x21')]=_['intersection'](_0x5d879e[_0x2890('0x1d')],qs[_0x2890('0x22')](_0x5d6a02[_0x2890('0x1f')]['fields']));_0xae9069[_0x2890('0x21')]=_0xae9069[_0x2890('0x21')][_0x2890('0x23')]?_0xae9069['attributes']:_0x5d879e['model'];if(!_0x5d6a02[_0x2890('0x1f')][_0x2890('0x24')]('nolimit')){_0xae9069[_0x2890('0x11')]=qs[_0x2890('0x11')](_0x5d6a02[_0x2890('0x1f')]['limit']);_0xae9069[_0x2890('0x10')]=qs['offset'](_0x5d6a02['query'][_0x2890('0x10')]);}_0xae9069[_0x2890('0x25')]=qs[_0x2890('0x26')](_0x5d6a02[_0x2890('0x1f')][_0x2890('0x26')]);_0xae9069[_0x2890('0x27')]=qs[_0x2890('0x28')](_['pick'](_0x5d6a02[_0x2890('0x1f')],_0x5d879e[_0x2890('0x28')]),_0x3f8d2f);if(_0x5d6a02[_0x2890('0x1f')]['filter']){_0xae9069[_0x2890('0x27')]=_[_0x2890('0x29')](_0xae9069['where'],{'$or':_['map'](_0x3f8d2f,function(_0x133b42){if(_0x133b42['type']!==_0x2890('0x2a')){var _0x2cc131={};_0x2cc131[_0x133b42[_0x2890('0x1e')]]={'$like':'%'+_0x5d6a02[_0x2890('0x1f')][_0x2890('0x2b')]+'%'};return _0x2cc131;}})});}_0xae9069=_[_0x2890('0x29')]({},_0xae9069,_0x5d6a02['options']);var _0x2ba4c1={'where':_0xae9069[_0x2890('0x27')]};return db[_0x2890('0x1a')][_0x2890('0xf')](_0x2ba4c1)['then'](function(_0x35a0bc){_0x53dcb2['count']=_0x35a0bc;if(_0x5d6a02[_0x2890('0x1f')]['includeAll']){_0xae9069['include']=[{'all':!![]}];}return db[_0x2890('0x1a')][_0x2890('0x2c')](_0xae9069);})[_0x2890('0x13')](function(_0x122075){_0x53dcb2['rows']=_[_0x2890('0x19')](_0x122075,function(_0x506e3e){if(_0x506e3e[_0x2890('0x2d')]===_0x2890('0x2e')){var _0xdfa9ce=encryptor['decryptString'](_0x506e3e['data3']);_0x506e3e['data3']=maskClientSecret(_0xdfa9ce);}return _0x506e3e;});return _0x53dcb2;})['then'](respondWithFilteredResult(_0x2ca81f,_0xae9069))[_0x2890('0x2f')](handleError(_0x2ca81f,null));};exports[_0x2890('0x30')]=function(_0x2a3f2e,_0x2e9ded){var _0x4bc095={'raw':!![],'where':{'id':_0x2a3f2e[_0x2890('0x31')]['id']}},_0x2002e3={};_0x2002e3['model']=_[_0x2890('0x20')](db[_0x2890('0x1a')][_0x2890('0x32')]);_0x2002e3['query']=_[_0x2890('0x20')](_0x2a3f2e[_0x2890('0x1f')]);_0x2002e3[_0x2890('0x28')]=_[_0x2890('0x33')](_0x2002e3[_0x2890('0x1d')],_0x2002e3[_0x2890('0x1f')]);_0x4bc095[_0x2890('0x21')]=_['intersection'](_0x2002e3['model'],qs['fields'](_0x2a3f2e[_0x2890('0x1f')]['fields']));_0x4bc095[_0x2890('0x21')]=_0x4bc095[_0x2890('0x21')][_0x2890('0x23')]?_0x4bc095['attributes']:_0x2002e3[_0x2890('0x1d')];if(_0x2a3f2e[_0x2890('0x1f')][_0x2890('0x34')]){_0x4bc095['include']=[{'all':!![]}];}_0x4bc095=_[_0x2890('0x29')]({},_0x4bc095,_0x2a3f2e[_0x2890('0x35')]);return db['CloudProvider']['find'](_0x4bc095)[_0x2890('0x13')](handleEntityNotFound(_0x2e9ded,null))[_0x2890('0x13')](function(_0x1a117c){if(_0x1a117c[_0x2890('0x2d')]===_0x2890('0x2e')){var _0x5b5119=encryptor['decryptString'](_0x1a117c[_0x2890('0x36')]);_0x1a117c[_0x2890('0x36')]=maskClientSecret(_0x5b5119);}return _0x1a117c;})[_0x2890('0x13')](respondWithResult(_0x2e9ded,null))[_0x2890('0x2f')](handleError(_0x2e9ded,null));};exports['create']=function(_0x421c16,_0x10dad1){if(!_0x421c16[_0x2890('0x37')][_0x2890('0x1e')])throw new Error('Name\x20parameter\x20not\x20specified');if(!_0x421c16[_0x2890('0x37')][_0x2890('0x2d')])throw new Error(_0x2890('0x38'));var _0x1e0c04=db[_0x2890('0x1a')][_0x2890('0x32')][_0x2890('0x2d')][_0x2890('0x39')];if(!_0x1e0c04[_0x2890('0x3a')](_0x421c16[_0x2890('0x37')][_0x2890('0x2d')]))throw new Error(_0x2890('0x3b')+_0x1e0c04[_0x2890('0x3c')](',\x20'));if(_0x421c16['body'][_0x2890('0x2d')]==='MicrosoftAzure'&&_0x421c16[_0x2890('0x37')]['data3']){_0x421c16[_0x2890('0x37')]['data3']=encryptor[_0x2890('0x3d')](_0x421c16[_0x2890('0x37')]['data3']);}return db[_0x2890('0x1a')][_0x2890('0x3e')](_0x421c16[_0x2890('0x37')],{})['then'](respondWithResult(_0x10dad1,0xc9))[_0x2890('0x2f')](handleError(_0x10dad1,null));};exports[_0x2890('0x3f')]=function(_0x41f7e4,_0x5375b3){if(_0x41f7e4[_0x2890('0x37')]['id']){delete _0x41f7e4[_0x2890('0x37')]['id'];}return db[_0x2890('0x1a')][_0x2890('0x40')]({'where':{'id':_0x41f7e4[_0x2890('0x31')]['id']}})[_0x2890('0x13')](handleEntityNotFound(_0x5375b3,null))[_0x2890('0x13')](function(_0x2085f1){if(_0x2085f1['service']===_0x2890('0x2e')&&_0x41f7e4[_0x2890('0x37')][_0x2890('0x36')]){_0x41f7e4[_0x2890('0x37')][_0x2890('0x36')]=encryptor[_0x2890('0x3d')](_0x41f7e4[_0x2890('0x37')][_0x2890('0x36')]);}return _0x2085f1;})[_0x2890('0x13')](saveUpdates(_0x41f7e4[_0x2890('0x37')],null))[_0x2890('0x13')](respondWithResult(_0x5375b3,null))[_0x2890('0x2f')](handleError(_0x5375b3,null));};exports[_0x2890('0x14')]=function(_0x10c3b9,_0x1278d9){return db[_0x2890('0x1a')][_0x2890('0x40')]({'where':{'id':_0x10c3b9[_0x2890('0x31')]['id']}})['then'](handleEntityNotFound(_0x1278d9,null))['then'](removeEntity(_0x1278d9,null))[_0x2890('0x2f')](handleError(_0x1278d9,null));};exports[_0x2890('0x41')]=function(_0x2ad24c,_0x5901ba){return db[_0x2890('0x1a')][_0x2890('0x42')]({'where':{'id':_0x2ad24c[_0x2890('0x31')]['id']},'raw':!![]})[_0x2890('0x13')](function(_0x1f02de){if(!_0x1f02de)return _0x5901ba[_0x2890('0xb')](0x194);return{'url':oauth['generateMicrosoftAuthorizationUrl'](_0x1f02de,_0x2ad24c[_0x2890('0x43')]['id'])};})['then'](respondWithResult(_0x5901ba,null))[_0x2890('0x2f')](handleError(_0x5901ba,null));};exports['oauth2MicrosoftCallback']=function(_0x4673a7,_0x2809a3){var _0xf9ef4=_0x4673a7['body'];var _0x25cad5;var _0x48bfa6;if(_0xf9ef4[_0x2890('0x44')])throw _0xf9ef4;redis[_0x2890('0x45')](_0xf9ef4[_0x2890('0x46')])['then'](function(_0x1e8dc2){if(!_0x1e8dc2)throw new Error('Invalid\x20state\x20parameter');_0x25cad5=JSON['parse'](_0x1e8dc2);var _0x49b8dc=Buffer[_0x2890('0x47')](_0xf9ef4['state'],_0x2890('0x48'))['toString'](_0x2890('0x49'));_0x48bfa6=JSON['parse'](_0x49b8dc);if(!oauth['isValidIdToken'](_0xf9ef4[_0x2890('0x4a')],_0x25cad5[_0x2890('0x4b')]))throw new Error(_0x2890('0x4c'));redis[_0x2890('0x4d')](_0xf9ef4[_0x2890('0x46')]);return oauth[_0x2890('0x4e')](_0xf9ef4[_0x2890('0x4f')],_0x25cad5);})[_0x2890('0x13')](function(_0x45f3f6){_0x25cad5['data5']=_0x45f3f6[_0x2890('0x50')];_0x25cad5[_0x2890('0x51')]=_0x45f3f6[_0x2890('0x52')];return db[_0x2890('0x1a')][_0x2890('0x3f')]({'data5':_0x25cad5[_0x2890('0x53')],'data6':_0x25cad5[_0x2890('0x51')]},{'where':{'id':_0x25cad5['id']}});})[_0x2890('0x13')](function(){oauth[_0x2890('0x54')](_0x25cad5);socket[_0x2890('0x55')](_0x2890('0x56'),{'id':_0x48bfa6['id']});return;})[_0x2890('0x13')](respondWithStatusCode(_0x2809a3,null))[_0x2890('0x2f')](function(_0x1f8807){if(_0x48bfa6){socket[_0x2890('0x55')](_0x2890('0x57'),{'id':_0x48bfa6['id']});}if(!_0x25cad5){logger[_0x2890('0x44')](_0x2890('0x58'),_0x1f8807);return _0x2809a3[_0x2890('0xd')](0x1f4)[_0x2890('0x16')](_0x1f8807[_0x2890('0x59')]);}logger['error']('Authentication\x20failed\x20for\x20cloud\x20provider\x20#%s,\x20err:%s',_0x25cad5['id'],JSON[_0x2890('0x5a')](_0x1f8807));});};
\ No newline at end of file