Built motion from commit fda31434.|2.5.44
[motion2.git] / server / api / cloudProvider / cloudProvider.controller.js
index 80c7c80..a7bb38e 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x9fe7=['undefined','limit','count','Content-Range','update','then','destroy','error','stack','name','send','padEnd','CloudProvider','rawAttributes','fieldName','type','key','model','map','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','service','MicrosoftAzure','decryptString','data3','catch','show','params','keys','filters','options','find','create','body','Name\x20parameter\x20not\x20specified','Service\x20parameter\x20not\x20specified','includes','Invalid\x20service\x20parameter.\x20Allowed\x20values:\x20','join','encryptString','oauth2MicrosoftAuthorize','findOne','generateMicrosoftAuthorizationUrl','user','get','Invalid\x20state\x20parameter','parse','from','state','base64','ascii','isValidIdToken','oauth2Claims','del','code','data5','data6','refresh_token','startRefreshInterval','microsoftAuthorization:success','emit','microsoftAuthorization:error','Invalid\x20authentication\x20state\x20parameter','message','Authentication\x20failed\x20for\x20cloud\x20provider\x20#%s,\x20err:%s','ioredis','../../components/parsers/qs','../../components/encryptor','../../config/environment','../../config/logger','api','../../mysqldb','./cloudProvider.oauth','redis','defaults','socket.io-emitter','sendStatus','status','end','json','offset'];(function(_0x256454,_0x13d265){var _0x26172b=function(_0xce4ef9){while(--_0xce4ef9){_0x256454['push'](_0x256454['shift']());}};_0x26172b(++_0x13d265);}(_0x9fe7,0x1cb));var _0x79fe=function(_0x15c663,_0x1d67fd){_0x15c663=_0x15c663-0x0;var _0x1cd1a7=_0x9fe7[_0x15c663];return _0x1cd1a7;};'use strict';var _=require('lodash');var Redis=require(_0x79fe('0x0'));var qs=require(_0x79fe('0x1'));var encryptor=require(_0x79fe('0x2'));var config=require(_0x79fe('0x3'));var logger=require(_0x79fe('0x4'))(_0x79fe('0x5'));var db=require(_0x79fe('0x6'))['db'];var oauth=require(_0x79fe('0x7'));config[_0x79fe('0x8')]=_[_0x79fe('0x9')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x79fe('0xa'))(new Redis(config['redis']));var redis=new Redis(config[_0x79fe('0x8')]);function respondWithStatusCode(_0x29c60e,_0x2a4c3d){_0x2a4c3d=_0x2a4c3d||0xcc;return function(_0x3b03d7){if(_0x3b03d7){return _0x29c60e[_0x79fe('0xb')](_0x2a4c3d);}return _0x29c60e[_0x79fe('0xc')](_0x2a4c3d)[_0x79fe('0xd')]();};}function respondWithResult(_0x44a7d3,_0x4bdaea){_0x4bdaea=_0x4bdaea||0xc8;return function(_0xa7a57a){if(_0xa7a57a){return _0x44a7d3[_0x79fe('0xc')](_0x4bdaea)[_0x79fe('0xe')](_0xa7a57a);}};}function respondWithFilteredResult(_0x4911c7,_0x1b9182){return function(_0x2b7c7a){if(_0x2b7c7a){var _0x44d5d0=typeof _0x1b9182[_0x79fe('0xf')]===_0x79fe('0x10')&&typeof _0x1b9182[_0x79fe('0x11')]===_0x79fe('0x10');var _0x34230e=_0x2b7c7a[_0x79fe('0x12')];var _0x5e3925=_0x44d5d0?0x0:_0x1b9182[_0x79fe('0xf')];var _0x5637ab=_0x44d5d0?_0x2b7c7a[_0x79fe('0x12')]:_0x1b9182[_0x79fe('0xf')]+_0x1b9182[_0x79fe('0x11')];var _0x317440;if(_0x5637ab>=_0x34230e){_0x5637ab=_0x34230e;_0x317440=0xc8;}else{_0x317440=0xce;}_0x4911c7[_0x79fe('0xc')](_0x317440);return _0x4911c7['set'](_0x79fe('0x13'),_0x5e3925+'-'+_0x5637ab+'/'+_0x34230e)[_0x79fe('0xe')](_0x2b7c7a);}return null;};}function saveUpdates(_0x4c0151){return function(_0x6081e6){if(_0x6081e6){return _0x6081e6[_0x79fe('0x14')](_0x4c0151)[_0x79fe('0x15')](function(_0x47466e){return _0x47466e;});}return null;};}function removeEntity(_0x3bed71){return function(_0x1ee774){if(_0x1ee774){return _0x1ee774[_0x79fe('0x16')]()[_0x79fe('0x15')](function(){_0x3bed71[_0x79fe('0xc')](0xcc)[_0x79fe('0xd')]();});}};}function handleEntityNotFound(_0xff0a5c){return function(_0x4a3c71){if(!_0x4a3c71){_0xff0a5c['sendStatus'](0x194);}return _0x4a3c71;};}function handleError(_0x1b11f7,_0x48c920){_0x48c920=_0x48c920||0x1f4;return function(_0x98cf4c){logger[_0x79fe('0x17')](_0x98cf4c[_0x79fe('0x18')]);if(_0x98cf4c[_0x79fe('0x19')]){delete _0x98cf4c[_0x79fe('0x19')];}_0x1b11f7['status'](_0x48c920)[_0x79fe('0x1a')](_0x98cf4c);};}function maskClientSecret(_0x5be6f5){return _[_0x79fe('0x1b')](_0x5be6f5['slice'](0x0,0x3),0x14,'*');}exports['index']=function(_0x4cb45e,_0x1ef7f8){var _0x2b92ce={},_0x3ca7c5={},_0x4da1a1={'count':0x0,'rows':[]};var _0x30c831=_['map'](db[_0x79fe('0x1c')][_0x79fe('0x1d')],function(_0x3b70dc){return{'name':_0x3b70dc[_0x79fe('0x1e')],'type':_0x3b70dc[_0x79fe('0x1f')][_0x79fe('0x20')]};});_0x3ca7c5[_0x79fe('0x21')]=_[_0x79fe('0x22')](_0x30c831,_0x79fe('0x19'));_0x3ca7c5[_0x79fe('0x23')]=_['keys'](_0x4cb45e['query']);_0x3ca7c5['filters']=_[_0x79fe('0x24')](_0x3ca7c5[_0x79fe('0x21')],_0x3ca7c5[_0x79fe('0x23')]);_0x2b92ce[_0x79fe('0x25')]=_[_0x79fe('0x24')](_0x3ca7c5[_0x79fe('0x21')],qs[_0x79fe('0x26')](_0x4cb45e[_0x79fe('0x23')][_0x79fe('0x26')]));_0x2b92ce['attributes']=_0x2b92ce[_0x79fe('0x25')][_0x79fe('0x27')]?_0x2b92ce[_0x79fe('0x25')]:_0x3ca7c5[_0x79fe('0x21')];if(!_0x4cb45e[_0x79fe('0x23')][_0x79fe('0x28')](_0x79fe('0x29'))){_0x2b92ce['limit']=qs[_0x79fe('0x11')](_0x4cb45e['query'][_0x79fe('0x11')]);_0x2b92ce[_0x79fe('0xf')]=qs[_0x79fe('0xf')](_0x4cb45e['query'][_0x79fe('0xf')]);}_0x2b92ce['order']=qs[_0x79fe('0x2a')](_0x4cb45e[_0x79fe('0x23')][_0x79fe('0x2a')]);_0x2b92ce[_0x79fe('0x2b')]=qs['filters'](_[_0x79fe('0x2c')](_0x4cb45e[_0x79fe('0x23')],_0x3ca7c5['filters']),_0x30c831);if(_0x4cb45e[_0x79fe('0x23')][_0x79fe('0x2d')]){_0x2b92ce['where']=_[_0x79fe('0x2e')](_0x2b92ce[_0x79fe('0x2b')],{'$or':_['map'](_0x30c831,function(_0x21842e){if(_0x21842e[_0x79fe('0x1f')]!==_0x79fe('0x2f')){var _0xc5c049={};_0xc5c049[_0x21842e[_0x79fe('0x19')]]={'$like':'%'+_0x4cb45e['query'][_0x79fe('0x2d')]+'%'};return _0xc5c049;}})});}_0x2b92ce=_['merge']({},_0x2b92ce,_0x4cb45e['options']);var _0x1b4064={'where':_0x2b92ce['where']};return db['CloudProvider'][_0x79fe('0x12')](_0x1b4064)[_0x79fe('0x15')](function(_0x353490){_0x4da1a1[_0x79fe('0x12')]=_0x353490;if(_0x4cb45e[_0x79fe('0x23')][_0x79fe('0x30')]){_0x2b92ce[_0x79fe('0x31')]=[{'all':!![]}];}return db[_0x79fe('0x1c')][_0x79fe('0x32')](_0x2b92ce);})['then'](function(_0x307127){_0x4da1a1['rows']=_[_0x79fe('0x22')](_0x307127,function(_0x38f037){if(_0x38f037[_0x79fe('0x33')]===_0x79fe('0x34')){var _0x44edfe=encryptor[_0x79fe('0x35')](_0x38f037[_0x79fe('0x36')]);_0x38f037[_0x79fe('0x36')]=maskClientSecret(_0x44edfe);}return _0x38f037;});return _0x4da1a1;})[_0x79fe('0x15')](respondWithFilteredResult(_0x1ef7f8,_0x2b92ce))[_0x79fe('0x37')](handleError(_0x1ef7f8,null));};exports[_0x79fe('0x38')]=function(_0x48e6b6,_0x42b889){var _0x3d6486={'raw':!![],'where':{'id':_0x48e6b6[_0x79fe('0x39')]['id']}},_0x806f8c={};_0x806f8c['model']=_['keys'](db['CloudProvider'][_0x79fe('0x1d')]);_0x806f8c[_0x79fe('0x23')]=_[_0x79fe('0x3a')](_0x48e6b6[_0x79fe('0x23')]);_0x806f8c[_0x79fe('0x3b')]=_[_0x79fe('0x24')](_0x806f8c['model'],_0x806f8c[_0x79fe('0x23')]);_0x3d6486[_0x79fe('0x25')]=_[_0x79fe('0x24')](_0x806f8c[_0x79fe('0x21')],qs[_0x79fe('0x26')](_0x48e6b6[_0x79fe('0x23')]['fields']));_0x3d6486[_0x79fe('0x25')]=_0x3d6486[_0x79fe('0x25')]['length']?_0x3d6486[_0x79fe('0x25')]:_0x806f8c[_0x79fe('0x21')];if(_0x48e6b6['query']['includeAll']){_0x3d6486[_0x79fe('0x31')]=[{'all':!![]}];}_0x3d6486=_['merge']({},_0x3d6486,_0x48e6b6[_0x79fe('0x3c')]);return db['CloudProvider'][_0x79fe('0x3d')](_0x3d6486)[_0x79fe('0x15')](handleEntityNotFound(_0x42b889,null))['then'](function(_0xef580f){if(_0xef580f['service']===_0x79fe('0x34')){var _0x1de438=encryptor[_0x79fe('0x35')](_0xef580f[_0x79fe('0x36')]);_0xef580f[_0x79fe('0x36')]=maskClientSecret(_0x1de438);}return _0xef580f;})[_0x79fe('0x15')](respondWithResult(_0x42b889,null))['catch'](handleError(_0x42b889,null));};exports[_0x79fe('0x3e')]=function(_0x44a388,_0x5b7674){if(!_0x44a388[_0x79fe('0x3f')]['name'])throw new Error(_0x79fe('0x40'));if(!_0x44a388[_0x79fe('0x3f')][_0x79fe('0x33')])throw new Error(_0x79fe('0x41'));var _0x20844d=db['CloudProvider'][_0x79fe('0x1d')][_0x79fe('0x33')]['values'];if(!_0x20844d[_0x79fe('0x42')](_0x44a388[_0x79fe('0x3f')][_0x79fe('0x33')]))throw new Error(_0x79fe('0x43')+_0x20844d[_0x79fe('0x44')](',\x20'));if(_0x44a388[_0x79fe('0x3f')][_0x79fe('0x33')]===_0x79fe('0x34')&&_0x44a388[_0x79fe('0x3f')][_0x79fe('0x36')]){_0x44a388[_0x79fe('0x3f')]['data3']=encryptor[_0x79fe('0x45')](_0x44a388['body'][_0x79fe('0x36')]);}return db['CloudProvider'][_0x79fe('0x3e')](_0x44a388['body'],{})[_0x79fe('0x15')](respondWithResult(_0x5b7674,0xc9))[_0x79fe('0x37')](handleError(_0x5b7674,null));};exports[_0x79fe('0x14')]=function(_0xc3c6a9,_0x666aa1){if(_0xc3c6a9['body']['id']){delete _0xc3c6a9[_0x79fe('0x3f')]['id'];}return db[_0x79fe('0x1c')][_0x79fe('0x3d')]({'where':{'id':_0xc3c6a9[_0x79fe('0x39')]['id']}})[_0x79fe('0x15')](handleEntityNotFound(_0x666aa1,null))[_0x79fe('0x15')](function(_0x469686){if(_0x469686[_0x79fe('0x33')]===_0x79fe('0x34')&&_0xc3c6a9[_0x79fe('0x3f')][_0x79fe('0x36')]){_0xc3c6a9['body'][_0x79fe('0x36')]=encryptor['encryptString'](_0xc3c6a9['body'][_0x79fe('0x36')]);}return _0x469686;})['then'](saveUpdates(_0xc3c6a9[_0x79fe('0x3f')],null))[_0x79fe('0x15')](respondWithResult(_0x666aa1,null))[_0x79fe('0x37')](handleError(_0x666aa1,null));};exports[_0x79fe('0x16')]=function(_0xc4f798,_0x165c65){return db[_0x79fe('0x1c')][_0x79fe('0x3d')]({'where':{'id':_0xc4f798['params']['id']}})[_0x79fe('0x15')](handleEntityNotFound(_0x165c65,null))['then'](removeEntity(_0x165c65,null))[_0x79fe('0x37')](handleError(_0x165c65,null));};exports[_0x79fe('0x46')]=function(_0x4b3cb7,_0x1e89dc){return db[_0x79fe('0x1c')][_0x79fe('0x47')]({'where':{'id':_0x4b3cb7[_0x79fe('0x39')]['id']},'raw':!![]})[_0x79fe('0x15')](function(_0x53dd6c){if(!_0x53dd6c)return _0x1e89dc['sendStatus'](0x194);return{'url':oauth[_0x79fe('0x48')](_0x53dd6c,_0x4b3cb7[_0x79fe('0x49')]['id'])};})[_0x79fe('0x15')](respondWithResult(_0x1e89dc,null))[_0x79fe('0x37')](handleError(_0x1e89dc,null));};exports['oauth2MicrosoftCallback']=function(_0x1a13f7,_0x5cc57e){var _0x25f5b9=_0x1a13f7[_0x79fe('0x3f')];var _0x531770;var _0x1fc46a;if(_0x25f5b9[_0x79fe('0x17')])throw _0x25f5b9;redis[_0x79fe('0x4a')](_0x25f5b9['state'])[_0x79fe('0x15')](function(_0x9ba262){if(!_0x9ba262)throw new Error(_0x79fe('0x4b'));_0x531770=JSON[_0x79fe('0x4c')](_0x9ba262);var _0x4def11=Buffer[_0x79fe('0x4d')](_0x25f5b9[_0x79fe('0x4e')],_0x79fe('0x4f'))['toString'](_0x79fe('0x50'));_0x1fc46a=JSON[_0x79fe('0x4c')](_0x4def11);if(!oauth[_0x79fe('0x51')](_0x25f5b9['id_token'],_0x531770[_0x79fe('0x52')]))throw new Error('Unable\x20to\x20validate\x20id_token');redis[_0x79fe('0x53')](_0x25f5b9['state']);return oauth['getOauth2MicrosoftAccessToken'](_0x25f5b9[_0x79fe('0x54')],_0x531770);})[_0x79fe('0x15')](function(_0x12eb4d){_0x531770[_0x79fe('0x55')]=_0x12eb4d['access_token'];_0x531770[_0x79fe('0x56')]=_0x12eb4d[_0x79fe('0x57')];return db[_0x79fe('0x1c')]['update']({'data5':_0x531770[_0x79fe('0x55')],'data6':_0x531770[_0x79fe('0x56')]},{'where':{'id':_0x531770['id']}});})[_0x79fe('0x15')](function(){oauth[_0x79fe('0x58')](_0x531770);socket['emit'](_0x79fe('0x59'),{'id':_0x1fc46a['id']});return;})['then'](respondWithStatusCode(_0x5cc57e,null))[_0x79fe('0x37')](function(_0x3573de){if(_0x1fc46a){socket[_0x79fe('0x5a')](_0x79fe('0x5b'),{'id':_0x1fc46a['id']});}if(!_0x531770){logger[_0x79fe('0x17')](_0x79fe('0x5c'),_0x3573de);return _0x5cc57e[_0x79fe('0xc')](0x1f4)[_0x79fe('0x1a')](_0x3573de[_0x79fe('0x5d')]);}logger[_0x79fe('0x17')](_0x79fe('0x5e'),_0x531770['id'],JSON['stringify'](_0x3573de));});};
\ No newline at end of file
+var _0xa8e7=['message','Authentication\x20failed\x20for\x20cloud\x20provider\x20#%s,\x20err:%s','stringify','lodash','../../components/parsers/qs','../../config/environment','../../config/logger','api','../../mysqldb','./cloudProvider.oauth','defaults','redis','socket.io-emitter','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','destroy','then','error','stack','name','send','slice','index','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','merge','where','includeAll','include','findAll','rows','service','decryptString','data3','catch','show','params','CloudProvider','options','find','create','body','Name\x20parameter\x20not\x20specified','Service\x20parameter\x20not\x20specified','values','includes','join','MicrosoftAzure','encryptString','update','findOne','generateMicrosoftAuthorizationUrl','user','get','Invalid\x20state\x20parameter','parse','from','base64','isValidIdToken','oauth2Claims','del','getOauth2MicrosoftAccessToken','access_token','data6','refresh_token','data5','startRefreshInterval','emit','microsoftAuthorization:error'];(function(_0x32e320,_0x2ad238){var _0x1728d8=function(_0x15890c){while(--_0x15890c){_0x32e320['push'](_0x32e320['shift']());}};_0x1728d8(++_0x2ad238);}(_0xa8e7,0xbb));var _0x7a8e=function(_0x216948,_0xf6d435){_0x216948=_0x216948-0x0;var _0xeea7d8=_0xa8e7[_0x216948];return _0xeea7d8;};'use strict';var _=require(_0x7a8e('0x0'));var Redis=require('ioredis');var qs=require(_0x7a8e('0x1'));var encryptor=require('../../components/encryptor');var config=require(_0x7a8e('0x2'));var logger=require(_0x7a8e('0x3'))(_0x7a8e('0x4'));var db=require(_0x7a8e('0x5'))['db'];var oauth=require(_0x7a8e('0x6'));config['redis']=_[_0x7a8e('0x7')](config[_0x7a8e('0x8')],{'host':'localhost','port':0x18eb});var socket=require(_0x7a8e('0x9'))(new Redis(config['redis']));var redis=new Redis(config[_0x7a8e('0x8')]);function respondWithStatusCode(_0x11f81b,_0x18af3a){_0x18af3a=_0x18af3a||0xcc;return function(_0x12bbc2){if(_0x12bbc2){return _0x11f81b[_0x7a8e('0xa')](_0x18af3a);}return _0x11f81b[_0x7a8e('0xb')](_0x18af3a)[_0x7a8e('0xc')]();};}function respondWithResult(_0x5e5cc2,_0x460d0e){_0x460d0e=_0x460d0e||0xc8;return function(_0x587dda){if(_0x587dda){return _0x5e5cc2[_0x7a8e('0xb')](_0x460d0e)['json'](_0x587dda);}};}function respondWithFilteredResult(_0x14ef3b,_0x5d8fbe){return function(_0x4f41a1){if(_0x4f41a1){var _0x392cda=typeof _0x5d8fbe[_0x7a8e('0xd')]===_0x7a8e('0xe')&&typeof _0x5d8fbe[_0x7a8e('0xf')]===_0x7a8e('0xe');var _0x4330c6=_0x4f41a1[_0x7a8e('0x10')];var _0x4d9d1d=_0x392cda?0x0:_0x5d8fbe[_0x7a8e('0xd')];var _0x53227a=_0x392cda?_0x4f41a1[_0x7a8e('0x10')]:_0x5d8fbe['offset']+_0x5d8fbe['limit'];var _0x38ee9f;if(_0x53227a>=_0x4330c6){_0x53227a=_0x4330c6;_0x38ee9f=0xc8;}else{_0x38ee9f=0xce;}_0x14ef3b[_0x7a8e('0xb')](_0x38ee9f);return _0x14ef3b['set'](_0x7a8e('0x11'),_0x4d9d1d+'-'+_0x53227a+'/'+_0x4330c6)[_0x7a8e('0x12')](_0x4f41a1);}return null;};}function saveUpdates(_0x1183f7){return function(_0x5513fb){if(_0x5513fb){return _0x5513fb['update'](_0x1183f7)['then'](function(_0x3f8090){return _0x3f8090;});}return null;};}function removeEntity(_0x437c90){return function(_0x543b8b){if(_0x543b8b){return _0x543b8b[_0x7a8e('0x13')]()[_0x7a8e('0x14')](function(){_0x437c90[_0x7a8e('0xb')](0xcc)[_0x7a8e('0xc')]();});}};}function handleEntityNotFound(_0x2b6237){return function(_0x56beb1){if(!_0x56beb1){_0x2b6237['sendStatus'](0x194);}return _0x56beb1;};}function handleError(_0x9de9ad,_0x396606){_0x396606=_0x396606||0x1f4;return function(_0x3b3710){logger[_0x7a8e('0x15')](_0x3b3710[_0x7a8e('0x16')]);if(_0x3b3710[_0x7a8e('0x17')]){delete _0x3b3710[_0x7a8e('0x17')];}_0x9de9ad[_0x7a8e('0xb')](_0x396606)[_0x7a8e('0x18')](_0x3b3710);};}function maskClientSecret(_0x5da981){return _['padEnd'](_0x5da981[_0x7a8e('0x19')](0x0,0x3),0x14,'*');}exports[_0x7a8e('0x1a')]=function(_0x2743d3,_0x4b6f59){var _0x14b6d0={},_0x5d7eb0={},_0x683a5c={'count':0x0,'rows':[]};var _0xd9642a=_['map'](db['CloudProvider'][_0x7a8e('0x1b')],function(_0x547c96){return{'name':_0x547c96[_0x7a8e('0x1c')],'type':_0x547c96[_0x7a8e('0x1d')][_0x7a8e('0x1e')]};});_0x5d7eb0[_0x7a8e('0x1f')]=_[_0x7a8e('0x20')](_0xd9642a,_0x7a8e('0x17'));_0x5d7eb0[_0x7a8e('0x21')]=_[_0x7a8e('0x22')](_0x2743d3[_0x7a8e('0x21')]);_0x5d7eb0[_0x7a8e('0x23')]=_[_0x7a8e('0x24')](_0x5d7eb0[_0x7a8e('0x1f')],_0x5d7eb0[_0x7a8e('0x21')]);_0x14b6d0[_0x7a8e('0x25')]=_[_0x7a8e('0x24')](_0x5d7eb0[_0x7a8e('0x1f')],qs[_0x7a8e('0x26')](_0x2743d3['query']['fields']));_0x14b6d0[_0x7a8e('0x25')]=_0x14b6d0['attributes'][_0x7a8e('0x27')]?_0x14b6d0[_0x7a8e('0x25')]:_0x5d7eb0[_0x7a8e('0x1f')];if(!_0x2743d3[_0x7a8e('0x21')][_0x7a8e('0x28')](_0x7a8e('0x29'))){_0x14b6d0[_0x7a8e('0xf')]=qs['limit'](_0x2743d3['query']['limit']);_0x14b6d0[_0x7a8e('0xd')]=qs['offset'](_0x2743d3[_0x7a8e('0x21')]['offset']);}_0x14b6d0['order']=qs['sort'](_0x2743d3[_0x7a8e('0x21')][_0x7a8e('0x2a')]);_0x14b6d0['where']=qs[_0x7a8e('0x23')](_[_0x7a8e('0x2b')](_0x2743d3[_0x7a8e('0x21')],_0x5d7eb0[_0x7a8e('0x23')]),_0xd9642a);if(_0x2743d3[_0x7a8e('0x21')][_0x7a8e('0x2c')]){_0x14b6d0['where']=_[_0x7a8e('0x2d')](_0x14b6d0[_0x7a8e('0x2e')],{'$or':_['map'](_0xd9642a,function(_0x28bccd){if(_0x28bccd[_0x7a8e('0x1d')]!=='VIRTUAL'){var _0x3c062b={};_0x3c062b[_0x28bccd[_0x7a8e('0x17')]]={'$like':'%'+_0x2743d3[_0x7a8e('0x21')]['filter']+'%'};return _0x3c062b;}})});}_0x14b6d0=_['merge']({},_0x14b6d0,_0x2743d3['options']);var _0x2fc195={'where':_0x14b6d0[_0x7a8e('0x2e')]};return db['CloudProvider']['count'](_0x2fc195)[_0x7a8e('0x14')](function(_0x3d77c1){_0x683a5c[_0x7a8e('0x10')]=_0x3d77c1;if(_0x2743d3[_0x7a8e('0x21')][_0x7a8e('0x2f')]){_0x14b6d0[_0x7a8e('0x30')]=[{'all':!![]}];}return db['CloudProvider'][_0x7a8e('0x31')](_0x14b6d0);})[_0x7a8e('0x14')](function(_0xed8eec){_0x683a5c[_0x7a8e('0x32')]=_[_0x7a8e('0x20')](_0xed8eec,function(_0x521247){if(_0x521247[_0x7a8e('0x33')]==='MicrosoftAzure'){var _0x1c50bf=encryptor[_0x7a8e('0x34')](_0x521247[_0x7a8e('0x35')]);_0x521247[_0x7a8e('0x35')]=maskClientSecret(_0x1c50bf);}return _0x521247;});return _0x683a5c;})['then'](respondWithFilteredResult(_0x4b6f59,_0x14b6d0))[_0x7a8e('0x36')](handleError(_0x4b6f59,null));};exports[_0x7a8e('0x37')]=function(_0x1fae17,_0x1049b1){var _0x5116ca={'raw':!![],'where':{'id':_0x1fae17[_0x7a8e('0x38')]['id']}},_0x449c1b={};_0x449c1b[_0x7a8e('0x1f')]=_[_0x7a8e('0x22')](db[_0x7a8e('0x39')]['rawAttributes']);_0x449c1b['query']=_[_0x7a8e('0x22')](_0x1fae17[_0x7a8e('0x21')]);_0x449c1b[_0x7a8e('0x23')]=_['intersection'](_0x449c1b[_0x7a8e('0x1f')],_0x449c1b[_0x7a8e('0x21')]);_0x5116ca['attributes']=_[_0x7a8e('0x24')](_0x449c1b[_0x7a8e('0x1f')],qs['fields'](_0x1fae17['query'][_0x7a8e('0x26')]));_0x5116ca[_0x7a8e('0x25')]=_0x5116ca[_0x7a8e('0x25')][_0x7a8e('0x27')]?_0x5116ca[_0x7a8e('0x25')]:_0x449c1b[_0x7a8e('0x1f')];if(_0x1fae17[_0x7a8e('0x21')][_0x7a8e('0x2f')]){_0x5116ca['include']=[{'all':!![]}];}_0x5116ca=_[_0x7a8e('0x2d')]({},_0x5116ca,_0x1fae17[_0x7a8e('0x3a')]);return db[_0x7a8e('0x39')][_0x7a8e('0x3b')](_0x5116ca)[_0x7a8e('0x14')](handleEntityNotFound(_0x1049b1,null))[_0x7a8e('0x14')](function(_0x37c626){if(_0x37c626[_0x7a8e('0x33')]==='MicrosoftAzure'){var _0x3e2483=encryptor[_0x7a8e('0x34')](_0x37c626[_0x7a8e('0x35')]);_0x37c626[_0x7a8e('0x35')]=maskClientSecret(_0x3e2483);}return _0x37c626;})[_0x7a8e('0x14')](respondWithResult(_0x1049b1,null))[_0x7a8e('0x36')](handleError(_0x1049b1,null));};exports[_0x7a8e('0x3c')]=function(_0x1a4818,_0x9a589e){if(!_0x1a4818[_0x7a8e('0x3d')][_0x7a8e('0x17')])throw new Error(_0x7a8e('0x3e'));if(!_0x1a4818[_0x7a8e('0x3d')][_0x7a8e('0x33')])throw new Error(_0x7a8e('0x3f'));var _0x2c5609=db[_0x7a8e('0x39')][_0x7a8e('0x1b')]['service'][_0x7a8e('0x40')];if(!_0x2c5609[_0x7a8e('0x41')](_0x1a4818[_0x7a8e('0x3d')][_0x7a8e('0x33')]))throw new Error('Invalid\x20service\x20parameter.\x20Allowed\x20values:\x20'+_0x2c5609[_0x7a8e('0x42')](',\x20'));if(_0x1a4818[_0x7a8e('0x3d')][_0x7a8e('0x33')]===_0x7a8e('0x43')&&_0x1a4818['body'][_0x7a8e('0x35')]){_0x1a4818[_0x7a8e('0x3d')][_0x7a8e('0x35')]=encryptor[_0x7a8e('0x44')](_0x1a4818[_0x7a8e('0x3d')]['data3']);}return db[_0x7a8e('0x39')][_0x7a8e('0x3c')](_0x1a4818[_0x7a8e('0x3d')],{})[_0x7a8e('0x14')](respondWithResult(_0x9a589e,0xc9))[_0x7a8e('0x36')](handleError(_0x9a589e,null));};exports[_0x7a8e('0x45')]=function(_0x30c612,_0x14258d){if(_0x30c612[_0x7a8e('0x3d')]['id']){delete _0x30c612[_0x7a8e('0x3d')]['id'];}return db[_0x7a8e('0x39')][_0x7a8e('0x3b')]({'where':{'id':_0x30c612['params']['id']}})[_0x7a8e('0x14')](handleEntityNotFound(_0x14258d,null))[_0x7a8e('0x14')](function(_0xa9174){if(_0xa9174[_0x7a8e('0x33')]===_0x7a8e('0x43')&&_0x30c612[_0x7a8e('0x3d')][_0x7a8e('0x35')]){_0x30c612[_0x7a8e('0x3d')]['data3']=encryptor[_0x7a8e('0x44')](_0x30c612['body'][_0x7a8e('0x35')]);}return _0xa9174;})['then'](saveUpdates(_0x30c612[_0x7a8e('0x3d')],null))['then'](respondWithResult(_0x14258d,null))[_0x7a8e('0x36')](handleError(_0x14258d,null));};exports[_0x7a8e('0x13')]=function(_0x49342f,_0x3c4e69){return db[_0x7a8e('0x39')][_0x7a8e('0x3b')]({'where':{'id':_0x49342f[_0x7a8e('0x38')]['id']}})[_0x7a8e('0x14')](handleEntityNotFound(_0x3c4e69,null))[_0x7a8e('0x14')](removeEntity(_0x3c4e69,null))['catch'](handleError(_0x3c4e69,null));};exports['oauth2MicrosoftAuthorize']=function(_0x3528bf,_0x3ece9c){return db[_0x7a8e('0x39')][_0x7a8e('0x46')]({'where':{'id':_0x3528bf['params']['id']},'raw':!![]})[_0x7a8e('0x14')](function(_0x31ccbc){if(!_0x31ccbc)return _0x3ece9c[_0x7a8e('0xa')](0x194);return{'url':oauth[_0x7a8e('0x47')](_0x31ccbc,_0x3528bf[_0x7a8e('0x48')]['id'])};})[_0x7a8e('0x14')](respondWithResult(_0x3ece9c,null))[_0x7a8e('0x36')](handleError(_0x3ece9c,null));};exports['oauth2MicrosoftCallback']=function(_0x2661a9,_0x5ed0a1){var _0x1bd797=_0x2661a9[_0x7a8e('0x3d')];var _0x2d84e8;var _0x395b06;if(_0x1bd797[_0x7a8e('0x15')])throw _0x1bd797;redis[_0x7a8e('0x49')](_0x1bd797['state'])['then'](function(_0x48b295){if(!_0x48b295)throw new Error(_0x7a8e('0x4a'));_0x2d84e8=JSON[_0x7a8e('0x4b')](_0x48b295);var _0x5f31bb=Buffer[_0x7a8e('0x4c')](_0x1bd797['state'],_0x7a8e('0x4d'))['toString']('ascii');_0x395b06=JSON['parse'](_0x5f31bb);if(!oauth[_0x7a8e('0x4e')](_0x1bd797['id_token'],_0x2d84e8[_0x7a8e('0x4f')]))throw new Error('Unable\x20to\x20validate\x20id_token');redis[_0x7a8e('0x50')](_0x1bd797['state']);return oauth[_0x7a8e('0x51')](_0x1bd797['code'],_0x2d84e8);})['then'](function(_0xd542ce){_0x2d84e8['data5']=_0xd542ce[_0x7a8e('0x52')];_0x2d84e8[_0x7a8e('0x53')]=_0xd542ce[_0x7a8e('0x54')];return db[_0x7a8e('0x39')][_0x7a8e('0x45')]({'data5':_0x2d84e8[_0x7a8e('0x55')],'data6':_0x2d84e8[_0x7a8e('0x53')]},{'where':{'id':_0x2d84e8['id']}});})['then'](function(){oauth[_0x7a8e('0x56')](_0x2d84e8);socket[_0x7a8e('0x57')]('microsoftAuthorization:success',{'id':_0x395b06['id']});return;})[_0x7a8e('0x14')](respondWithStatusCode(_0x5ed0a1,null))[_0x7a8e('0x36')](function(_0x39ad2f){if(_0x395b06){socket[_0x7a8e('0x57')](_0x7a8e('0x58'),{'id':_0x395b06['id']});}if(!_0x2d84e8){logger[_0x7a8e('0x15')]('Invalid\x20authentication\x20state\x20parameter',_0x39ad2f);return _0x5ed0a1[_0x7a8e('0xb')](0x1f4)[_0x7a8e('0x18')](_0x39ad2f[_0x7a8e('0x59')]);}logger[_0x7a8e('0x15')](_0x7a8e('0x5a'),_0x2d84e8['id'],JSON[_0x7a8e('0x5b')](_0x39ad2f));});};
\ No newline at end of file