Built motion from commit 3a7e82ea.|2.6.29
[motion2.git] / server / api / cloudProvider / cloudProvider.controller.js
index 37d96a9..b59e095 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x5178=['oauth2MicrosoftAuthorize','findOne','generateMicrosoftAuthorizationUrl','oauth2MicrosoftCallback','state','Invalid\x20state\x20parameter','parse','from','base64','isValidIdToken','id_token','oauth2Claims','Unable\x20to\x20validate\x20id_token','getOauth2MicrosoftAccessToken','code','access_token','data6','refresh_token','data5','emit','message','Authentication\x20failed\x20for\x20cloud\x20provider\x20#%s,\x20err:%s','stringify','ioredis','../../components/parsers/qs','../../components/encryptor','../../config/environment','../../config/logger','api','../../mysqldb','redis','defaults','localhost','socket.io-emitter','sendStatus','end','status','json','offset','undefined','limit','Content-Range','update','then','error','stack','send','map','CloudProvider','fieldName','type','model','name','query','intersection','attributes','fields','length','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','include','findAll','service','MicrosoftAzure','data3','catch','show','params','keys','rawAttributes','filters','find','decryptString','create','body','values','includes','Invalid\x20service\x20parameter.\x20Allowed\x20values:\x20','join','encryptString','destroy'];(function(_0x17ccc0,_0x9c3b80){var _0x1f1dd3=function(_0x5406b8){while(--_0x5406b8){_0x17ccc0['push'](_0x17ccc0['shift']());}};_0x1f1dd3(++_0x9c3b80);}(_0x5178,0x17b));var _0x8517=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x5178[_0x14add3];return _0x4a174f;};'use strict';var _=require('lodash');var Redis=require(_0x8517('0x0'));var qs=require(_0x8517('0x1'));var encryptor=require(_0x8517('0x2'));var config=require(_0x8517('0x3'));var logger=require(_0x8517('0x4'))(_0x8517('0x5'));var db=require(_0x8517('0x6'))['db'];var oauth=require('./cloudProvider.oauth');config[_0x8517('0x7')]=_[_0x8517('0x8')](config[_0x8517('0x7')],{'host':_0x8517('0x9'),'port':0x18eb});var socket=require(_0x8517('0xa'))(new Redis(config[_0x8517('0x7')]));var redis=new Redis(config[_0x8517('0x7')]);function respondWithStatusCode(_0x32ed0c,_0x3514c1){_0x3514c1=_0x3514c1||0xcc;return function(_0x2f249c){if(_0x2f249c){return _0x32ed0c[_0x8517('0xb')](_0x3514c1);}return _0x32ed0c['status'](_0x3514c1)[_0x8517('0xc')]();};}function respondWithResult(_0x1dfeeb,_0x285d03){_0x285d03=_0x285d03||0xc8;return function(_0x11dbd1){if(_0x11dbd1){return _0x1dfeeb[_0x8517('0xd')](_0x285d03)[_0x8517('0xe')](_0x11dbd1);}};}function respondWithFilteredResult(_0x5b7fdc,_0x2f1749){return function(_0x800736){if(_0x800736){var _0x548e1c=typeof _0x2f1749[_0x8517('0xf')]===_0x8517('0x10')&&typeof _0x2f1749[_0x8517('0x11')]===_0x8517('0x10');var _0x10f69f=_0x800736['count'];var _0x42ea53=_0x548e1c?0x0:_0x2f1749[_0x8517('0xf')];var _0xd0b60f=_0x548e1c?_0x800736['count']:_0x2f1749[_0x8517('0xf')]+_0x2f1749[_0x8517('0x11')];var _0x2ef334;if(_0xd0b60f>=_0x10f69f){_0xd0b60f=_0x10f69f;_0x2ef334=0xc8;}else{_0x2ef334=0xce;}_0x5b7fdc[_0x8517('0xd')](_0x2ef334);return _0x5b7fdc['set'](_0x8517('0x12'),_0x42ea53+'-'+_0xd0b60f+'/'+_0x10f69f)['json'](_0x800736);}return null;};}function saveUpdates(_0x35da83){return function(_0x393994){if(_0x393994){return _0x393994[_0x8517('0x13')](_0x35da83)[_0x8517('0x14')](function(_0x2846b7){return _0x2846b7;});}return null;};}function removeEntity(_0x374903){return function(_0x36feaf){if(_0x36feaf){return _0x36feaf['destroy']()[_0x8517('0x14')](function(){_0x374903[_0x8517('0xd')](0xcc)[_0x8517('0xc')]();});}};}function handleEntityNotFound(_0x2adfe3){return function(_0x48d882){if(!_0x48d882){_0x2adfe3[_0x8517('0xb')](0x194);}return _0x48d882;};}function handleError(_0x392bc8,_0x18b523){_0x18b523=_0x18b523||0x1f4;return function(_0x337c42){logger[_0x8517('0x15')](_0x337c42[_0x8517('0x16')]);if(_0x337c42['name']){delete _0x337c42['name'];}_0x392bc8[_0x8517('0xd')](_0x18b523)[_0x8517('0x17')](_0x337c42);};}function maskClientSecret(_0xba24f9){return _['padEnd'](_0xba24f9['slice'](0x0,0x3),0x14,'*');}exports['index']=function(_0x475a9c,_0x31120c){var _0x290e7c={},_0x365182={},_0x5399ba={'count':0x0,'rows':[]};var _0x4c4415=_[_0x8517('0x18')](db[_0x8517('0x19')]['rawAttributes'],function(_0x45c102){return{'name':_0x45c102[_0x8517('0x1a')],'type':_0x45c102[_0x8517('0x1b')]['key']};});_0x365182[_0x8517('0x1c')]=_['map'](_0x4c4415,_0x8517('0x1d'));_0x365182['query']=_['keys'](_0x475a9c[_0x8517('0x1e')]);_0x365182['filters']=_[_0x8517('0x1f')](_0x365182[_0x8517('0x1c')],_0x365182[_0x8517('0x1e')]);_0x290e7c[_0x8517('0x20')]=_[_0x8517('0x1f')](_0x365182[_0x8517('0x1c')],qs[_0x8517('0x21')](_0x475a9c[_0x8517('0x1e')][_0x8517('0x21')]));_0x290e7c['attributes']=_0x290e7c['attributes'][_0x8517('0x22')]?_0x290e7c[_0x8517('0x20')]:_0x365182['model'];if(!_0x475a9c[_0x8517('0x1e')]['hasOwnProperty'](_0x8517('0x23'))){_0x290e7c['limit']=qs[_0x8517('0x11')](_0x475a9c[_0x8517('0x1e')][_0x8517('0x11')]);_0x290e7c[_0x8517('0xf')]=qs['offset'](_0x475a9c[_0x8517('0x1e')][_0x8517('0xf')]);}_0x290e7c['order']=qs[_0x8517('0x24')](_0x475a9c[_0x8517('0x1e')][_0x8517('0x24')]);_0x290e7c[_0x8517('0x25')]=qs['filters'](_[_0x8517('0x26')](_0x475a9c[_0x8517('0x1e')],_0x365182['filters']),_0x4c4415);if(_0x475a9c['query'][_0x8517('0x27')]){_0x290e7c[_0x8517('0x25')]=_[_0x8517('0x28')](_0x290e7c['where'],{'$or':_[_0x8517('0x18')](_0x4c4415,function(_0x52fa99){if(_0x52fa99[_0x8517('0x1b')]!==_0x8517('0x29')){var _0x17012d={};_0x17012d[_0x52fa99[_0x8517('0x1d')]]={'$like':'%'+_0x475a9c[_0x8517('0x1e')][_0x8517('0x27')]+'%'};return _0x17012d;}})});}_0x290e7c=_[_0x8517('0x28')]({},_0x290e7c,_0x475a9c[_0x8517('0x2a')]);var _0x2ef168={'where':_0x290e7c[_0x8517('0x25')]};return db['CloudProvider'][_0x8517('0x2b')](_0x2ef168)[_0x8517('0x14')](function(_0x262cec){_0x5399ba['count']=_0x262cec;if(_0x475a9c[_0x8517('0x1e')][_0x8517('0x2c')]){_0x290e7c[_0x8517('0x2d')]=[{'all':!![]}];}return db[_0x8517('0x19')][_0x8517('0x2e')](_0x290e7c);})[_0x8517('0x14')](function(_0x152c54){_0x5399ba['rows']=_[_0x8517('0x18')](_0x152c54,function(_0x1c8183){if(_0x1c8183[_0x8517('0x2f')]===_0x8517('0x30')){var _0x461376=encryptor['decryptString'](_0x1c8183[_0x8517('0x31')]);_0x1c8183['data3']=maskClientSecret(_0x461376);}return _0x1c8183;});return _0x5399ba;})[_0x8517('0x14')](respondWithFilteredResult(_0x31120c,_0x290e7c))[_0x8517('0x32')](handleError(_0x31120c,null));};exports[_0x8517('0x33')]=function(_0x23c9b8,_0xc6ab81){var _0x4b1b6d={'raw':!![],'where':{'id':_0x23c9b8[_0x8517('0x34')]['id']}},_0x3cb45a={};_0x3cb45a[_0x8517('0x1c')]=_[_0x8517('0x35')](db['CloudProvider'][_0x8517('0x36')]);_0x3cb45a[_0x8517('0x1e')]=_[_0x8517('0x35')](_0x23c9b8['query']);_0x3cb45a[_0x8517('0x37')]=_[_0x8517('0x1f')](_0x3cb45a['model'],_0x3cb45a[_0x8517('0x1e')]);_0x4b1b6d[_0x8517('0x20')]=_[_0x8517('0x1f')](_0x3cb45a[_0x8517('0x1c')],qs['fields'](_0x23c9b8[_0x8517('0x1e')][_0x8517('0x21')]));_0x4b1b6d[_0x8517('0x20')]=_0x4b1b6d[_0x8517('0x20')][_0x8517('0x22')]?_0x4b1b6d[_0x8517('0x20')]:_0x3cb45a[_0x8517('0x1c')];if(_0x23c9b8[_0x8517('0x1e')][_0x8517('0x2c')]){_0x4b1b6d[_0x8517('0x2d')]=[{'all':!![]}];}_0x4b1b6d=_[_0x8517('0x28')]({},_0x4b1b6d,_0x23c9b8[_0x8517('0x2a')]);return db[_0x8517('0x19')][_0x8517('0x38')](_0x4b1b6d)[_0x8517('0x14')](handleEntityNotFound(_0xc6ab81,null))[_0x8517('0x14')](function(_0x22830d){if(_0x22830d['service']===_0x8517('0x30')){var _0x16dd08=encryptor[_0x8517('0x39')](_0x22830d[_0x8517('0x31')]);_0x22830d[_0x8517('0x31')]=maskClientSecret(_0x16dd08);}return _0x22830d;})['then'](respondWithResult(_0xc6ab81,null))['catch'](handleError(_0xc6ab81,null));};exports[_0x8517('0x3a')]=function(_0x596da1,_0x49ce35){if(!_0x596da1[_0x8517('0x3b')][_0x8517('0x1d')])throw new Error('Name\x20parameter\x20not\x20specified');if(!_0x596da1[_0x8517('0x3b')][_0x8517('0x2f')])throw new Error('Service\x20parameter\x20not\x20specified');var _0x4a52a3=db[_0x8517('0x19')]['rawAttributes']['service'][_0x8517('0x3c')];if(!_0x4a52a3[_0x8517('0x3d')](_0x596da1['body'][_0x8517('0x2f')]))throw new Error(_0x8517('0x3e')+_0x4a52a3[_0x8517('0x3f')](',\x20'));if(_0x596da1[_0x8517('0x3b')]['service']===_0x8517('0x30')&&_0x596da1[_0x8517('0x3b')][_0x8517('0x31')]){_0x596da1[_0x8517('0x3b')][_0x8517('0x31')]=encryptor['encryptString'](_0x596da1['body'][_0x8517('0x31')]);}return db[_0x8517('0x19')][_0x8517('0x3a')](_0x596da1[_0x8517('0x3b')],{})[_0x8517('0x14')](respondWithResult(_0x49ce35,0xc9))[_0x8517('0x32')](handleError(_0x49ce35,null));};exports[_0x8517('0x13')]=function(_0x13101b,_0x3129c7){if(_0x13101b['body']['id']){delete _0x13101b[_0x8517('0x3b')]['id'];}return db['CloudProvider'][_0x8517('0x38')]({'where':{'id':_0x13101b['params']['id']}})[_0x8517('0x14')](handleEntityNotFound(_0x3129c7,null))['then'](function(_0x23ed23){if(_0x23ed23[_0x8517('0x2f')]===_0x8517('0x30')&&_0x13101b[_0x8517('0x3b')]['data3']){_0x13101b[_0x8517('0x3b')]['data3']=encryptor[_0x8517('0x40')](_0x13101b[_0x8517('0x3b')][_0x8517('0x31')]);}return _0x23ed23;})[_0x8517('0x14')](saveUpdates(_0x13101b['body'],null))[_0x8517('0x14')](respondWithResult(_0x3129c7,null))[_0x8517('0x32')](handleError(_0x3129c7,null));};exports[_0x8517('0x41')]=function(_0x245bc0,_0x28de09){return db[_0x8517('0x19')][_0x8517('0x38')]({'where':{'id':_0x245bc0[_0x8517('0x34')]['id']}})['then'](handleEntityNotFound(_0x28de09,null))[_0x8517('0x14')](removeEntity(_0x28de09,null))['catch'](handleError(_0x28de09,null));};exports[_0x8517('0x42')]=function(_0x125c20,_0x48c48e){return db[_0x8517('0x19')][_0x8517('0x43')]({'where':{'id':_0x125c20['params']['id']},'raw':!![]})[_0x8517('0x14')](function(_0x437aa2){if(!_0x437aa2)return _0x48c48e[_0x8517('0xb')](0x194);return{'url':oauth[_0x8517('0x44')](_0x437aa2,_0x125c20['user']['id'])};})[_0x8517('0x14')](respondWithResult(_0x48c48e,null))[_0x8517('0x32')](handleError(_0x48c48e,null));};exports[_0x8517('0x45')]=function(_0x413d20,_0x168713){var _0x3b4ce6=_0x413d20[_0x8517('0x3b')];var _0x564283;var _0x2b9278;if(_0x3b4ce6[_0x8517('0x15')])throw _0x3b4ce6;redis['get'](_0x3b4ce6[_0x8517('0x46')])[_0x8517('0x14')](function(_0x4bba55){if(!_0x4bba55)throw new Error(_0x8517('0x47'));_0x564283=JSON[_0x8517('0x48')](_0x4bba55);var _0x46705d=Buffer[_0x8517('0x49')](_0x3b4ce6[_0x8517('0x46')],_0x8517('0x4a'))['toString']('ascii');_0x2b9278=JSON['parse'](_0x46705d);if(!oauth[_0x8517('0x4b')](_0x3b4ce6[_0x8517('0x4c')],_0x564283[_0x8517('0x4d')]))throw new Error(_0x8517('0x4e'));redis['del'](_0x3b4ce6[_0x8517('0x46')]);return oauth[_0x8517('0x4f')](_0x3b4ce6[_0x8517('0x50')],_0x564283);})[_0x8517('0x14')](function(_0x9ab90d){_0x564283['data5']=_0x9ab90d[_0x8517('0x51')];_0x564283[_0x8517('0x52')]=_0x9ab90d[_0x8517('0x53')];return db['CloudProvider']['update']({'data5':_0x564283[_0x8517('0x54')],'data6':_0x564283['data6']},{'where':{'id':_0x564283['id']}});})[_0x8517('0x14')](function(){oauth['startRefreshInterval'](_0x564283);socket[_0x8517('0x55')]('microsoftAuthorization:success',{'id':_0x2b9278['id']});return;})['then'](respondWithStatusCode(_0x168713,null))['catch'](function(_0x616a81){if(_0x2b9278){socket[_0x8517('0x55')]('microsoftAuthorization:error',{'id':_0x2b9278['id']});}if(!_0x564283){logger['error']('Invalid\x20authentication\x20state\x20parameter',_0x616a81);return _0x168713['status'](0x1f4)[_0x8517('0x17')](_0x616a81[_0x8517('0x56')]);}logger[_0x8517('0x15')](_0x8517('0x57'),_0x564283['id'],JSON[_0x8517('0x58')](_0x616a81));});};
\ No newline at end of file
+var _0xb761=['Name\x20parameter\x20not\x20specified','Service\x20parameter\x20not\x20specified','rawAttributes','includes','join','encryptString','findOne','generateMicrosoftAuthorizationUrl','user','get','state','Invalid\x20state\x20parameter','parse','from','base64','isValidIdToken','id_token','oauth2Claims','Unable\x20to\x20validate\x20id_token','code','data5','access_token','refresh_token','data6','startRefreshInterval','emit','microsoftAuthorization:success','microsoftAuthorization:error','Invalid\x20authentication\x20state\x20parameter','message','stringify','lodash','ioredis','../../components/parsers/qs','../../components/encryptor','api','../../mysqldb','./cloudProvider.oauth','redis','defaults','localhost','socket.io-emitter','status','json','offset','undefined','limit','count','Content-Range','update','destroy','then','end','sendStatus','error','stack','name','send','padEnd','slice','fieldName','type','key','map','keys','query','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','where','merge','VIRTUAL','filter','options','includeAll','CloudProvider','findAll','rows','MicrosoftAzure','decryptString','data3','catch','show','params','find','service','create','body'];(function(_0x1e691f,_0x215f5f){var _0x5b37cb=function(_0x1ffe30){while(--_0x1ffe30){_0x1e691f['push'](_0x1e691f['shift']());}};_0x5b37cb(++_0x215f5f);}(_0xb761,0x193));var _0x1b76=function(_0x5302fb,_0x1a2db3){_0x5302fb=_0x5302fb-0x0;var _0x43e6a4=_0xb761[_0x5302fb];return _0x43e6a4;};'use strict';var _=require(_0x1b76('0x0'));var Redis=require(_0x1b76('0x1'));var qs=require(_0x1b76('0x2'));var encryptor=require(_0x1b76('0x3'));var config=require('../../config/environment');var logger=require('../../config/logger')(_0x1b76('0x4'));var db=require(_0x1b76('0x5'))['db'];var oauth=require(_0x1b76('0x6'));config[_0x1b76('0x7')]=_[_0x1b76('0x8')](config[_0x1b76('0x7')],{'host':_0x1b76('0x9'),'port':0x18eb});var socket=require(_0x1b76('0xa'))(new Redis(config['redis']));var redis=new Redis(config['redis']);function respondWithStatusCode(_0xfbe403,_0x48e8b4){_0x48e8b4=_0x48e8b4||0xcc;return function(_0x259417){if(_0x259417){return _0xfbe403['sendStatus'](_0x48e8b4);}return _0xfbe403[_0x1b76('0xb')](_0x48e8b4)['end']();};}function respondWithResult(_0x427159,_0x38ab8a){_0x38ab8a=_0x38ab8a||0xc8;return function(_0x321120){if(_0x321120){return _0x427159[_0x1b76('0xb')](_0x38ab8a)[_0x1b76('0xc')](_0x321120);}};}function respondWithFilteredResult(_0x581ce7,_0x3133d9){return function(_0x7a25c7){if(_0x7a25c7){var _0x35129a=typeof _0x3133d9[_0x1b76('0xd')]===_0x1b76('0xe')&&typeof _0x3133d9[_0x1b76('0xf')]===_0x1b76('0xe');var _0x2e7f19=_0x7a25c7[_0x1b76('0x10')];var _0x99ea0b=_0x35129a?0x0:_0x3133d9[_0x1b76('0xd')];var _0x433867=_0x35129a?_0x7a25c7['count']:_0x3133d9[_0x1b76('0xd')]+_0x3133d9['limit'];var _0x3f45db;if(_0x433867>=_0x2e7f19){_0x433867=_0x2e7f19;_0x3f45db=0xc8;}else{_0x3f45db=0xce;}_0x581ce7[_0x1b76('0xb')](_0x3f45db);return _0x581ce7['set'](_0x1b76('0x11'),_0x99ea0b+'-'+_0x433867+'/'+_0x2e7f19)['json'](_0x7a25c7);}return null;};}function saveUpdates(_0x2ad55c){return function(_0x118713){if(_0x118713){return _0x118713[_0x1b76('0x12')](_0x2ad55c)['then'](function(_0x5cd4a8){return _0x5cd4a8;});}return null;};}function removeEntity(_0x587405){return function(_0x43554d){if(_0x43554d){return _0x43554d[_0x1b76('0x13')]()[_0x1b76('0x14')](function(){_0x587405[_0x1b76('0xb')](0xcc)[_0x1b76('0x15')]();});}};}function handleEntityNotFound(_0x5de128){return function(_0x4a1a53){if(!_0x4a1a53){_0x5de128[_0x1b76('0x16')](0x194);}return _0x4a1a53;};}function handleError(_0x475313,_0x9566e4){_0x9566e4=_0x9566e4||0x1f4;return function(_0x20fa8a){logger[_0x1b76('0x17')](_0x20fa8a[_0x1b76('0x18')]);if(_0x20fa8a[_0x1b76('0x19')]){delete _0x20fa8a[_0x1b76('0x19')];}_0x475313[_0x1b76('0xb')](_0x9566e4)[_0x1b76('0x1a')](_0x20fa8a);};}function maskClientSecret(_0x5caf6a){return _[_0x1b76('0x1b')](_0x5caf6a[_0x1b76('0x1c')](0x0,0x3),0x14,'*');}exports['index']=function(_0x2a87ad,_0x55d768){var _0x93b809={},_0x35fae3={},_0x3605a8={'count':0x0,'rows':[]};var _0x282235=_['map'](db['CloudProvider']['rawAttributes'],function(_0xb17cde){return{'name':_0xb17cde[_0x1b76('0x1d')],'type':_0xb17cde[_0x1b76('0x1e')][_0x1b76('0x1f')]};});_0x35fae3['model']=_[_0x1b76('0x20')](_0x282235,'name');_0x35fae3['query']=_[_0x1b76('0x21')](_0x2a87ad[_0x1b76('0x22')]);_0x35fae3[_0x1b76('0x23')]=_[_0x1b76('0x24')](_0x35fae3[_0x1b76('0x25')],_0x35fae3[_0x1b76('0x22')]);_0x93b809[_0x1b76('0x26')]=_['intersection'](_0x35fae3[_0x1b76('0x25')],qs[_0x1b76('0x27')](_0x2a87ad['query'][_0x1b76('0x27')]));_0x93b809[_0x1b76('0x26')]=_0x93b809['attributes']['length']?_0x93b809[_0x1b76('0x26')]:_0x35fae3['model'];if(!_0x2a87ad[_0x1b76('0x22')][_0x1b76('0x28')](_0x1b76('0x29'))){_0x93b809[_0x1b76('0xf')]=qs[_0x1b76('0xf')](_0x2a87ad['query']['limit']);_0x93b809['offset']=qs[_0x1b76('0xd')](_0x2a87ad['query'][_0x1b76('0xd')]);}_0x93b809[_0x1b76('0x2a')]=qs['sort'](_0x2a87ad[_0x1b76('0x22')]['sort']);_0x93b809['where']=qs[_0x1b76('0x23')](_['pick'](_0x2a87ad[_0x1b76('0x22')],_0x35fae3['filters']),_0x282235);if(_0x2a87ad[_0x1b76('0x22')]['filter']){_0x93b809[_0x1b76('0x2b')]=_[_0x1b76('0x2c')](_0x93b809[_0x1b76('0x2b')],{'$or':_[_0x1b76('0x20')](_0x282235,function(_0x38915a){if(_0x38915a[_0x1b76('0x1e')]!==_0x1b76('0x2d')){var _0x210a61={};_0x210a61[_0x38915a[_0x1b76('0x19')]]={'$like':'%'+_0x2a87ad[_0x1b76('0x22')][_0x1b76('0x2e')]+'%'};return _0x210a61;}})});}_0x93b809=_[_0x1b76('0x2c')]({},_0x93b809,_0x2a87ad[_0x1b76('0x2f')]);var _0x368cfc={'where':_0x93b809['where']};return db['CloudProvider']['count'](_0x368cfc)[_0x1b76('0x14')](function(_0x1f6f3b){_0x3605a8['count']=_0x1f6f3b;if(_0x2a87ad[_0x1b76('0x22')][_0x1b76('0x30')]){_0x93b809['include']=[{'all':!![]}];}return db[_0x1b76('0x31')][_0x1b76('0x32')](_0x93b809);})['then'](function(_0x133a51){_0x3605a8[_0x1b76('0x33')]=_['map'](_0x133a51,function(_0x105870){if(_0x105870['service']===_0x1b76('0x34')){var _0x11735f=encryptor[_0x1b76('0x35')](_0x105870[_0x1b76('0x36')]);_0x105870[_0x1b76('0x36')]=maskClientSecret(_0x11735f);}return _0x105870;});return _0x3605a8;})[_0x1b76('0x14')](respondWithFilteredResult(_0x55d768,_0x93b809))[_0x1b76('0x37')](handleError(_0x55d768,null));};exports[_0x1b76('0x38')]=function(_0x78cadc,_0x260e25){var _0xc48214={'raw':!![],'where':{'id':_0x78cadc[_0x1b76('0x39')]['id']}},_0x3e8059={};_0x3e8059[_0x1b76('0x25')]=_[_0x1b76('0x21')](db[_0x1b76('0x31')]['rawAttributes']);_0x3e8059[_0x1b76('0x22')]=_[_0x1b76('0x21')](_0x78cadc[_0x1b76('0x22')]);_0x3e8059[_0x1b76('0x23')]=_['intersection'](_0x3e8059[_0x1b76('0x25')],_0x3e8059[_0x1b76('0x22')]);_0xc48214['attributes']=_['intersection'](_0x3e8059[_0x1b76('0x25')],qs['fields'](_0x78cadc[_0x1b76('0x22')][_0x1b76('0x27')]));_0xc48214[_0x1b76('0x26')]=_0xc48214[_0x1b76('0x26')]['length']?_0xc48214[_0x1b76('0x26')]:_0x3e8059[_0x1b76('0x25')];if(_0x78cadc[_0x1b76('0x22')][_0x1b76('0x30')]){_0xc48214['include']=[{'all':!![]}];}_0xc48214=_['merge']({},_0xc48214,_0x78cadc[_0x1b76('0x2f')]);return db[_0x1b76('0x31')][_0x1b76('0x3a')](_0xc48214)[_0x1b76('0x14')](handleEntityNotFound(_0x260e25,null))[_0x1b76('0x14')](function(_0x42af52){if(_0x42af52[_0x1b76('0x3b')]===_0x1b76('0x34')){var _0x3a5ed5=encryptor[_0x1b76('0x35')](_0x42af52['data3']);_0x42af52[_0x1b76('0x36')]=maskClientSecret(_0x3a5ed5);}return _0x42af52;})[_0x1b76('0x14')](respondWithResult(_0x260e25,null))[_0x1b76('0x37')](handleError(_0x260e25,null));};exports[_0x1b76('0x3c')]=function(_0x19d75b,_0x4620bd){if(!_0x19d75b[_0x1b76('0x3d')][_0x1b76('0x19')])throw new Error(_0x1b76('0x3e'));if(!_0x19d75b['body'][_0x1b76('0x3b')])throw new Error(_0x1b76('0x3f'));var _0x2fa10e=db[_0x1b76('0x31')][_0x1b76('0x40')][_0x1b76('0x3b')]['values'];if(!_0x2fa10e[_0x1b76('0x41')](_0x19d75b[_0x1b76('0x3d')]['service']))throw new Error('Invalid\x20service\x20parameter.\x20Allowed\x20values:\x20'+_0x2fa10e[_0x1b76('0x42')](',\x20'));if(_0x19d75b[_0x1b76('0x3d')][_0x1b76('0x3b')]===_0x1b76('0x34')&&_0x19d75b[_0x1b76('0x3d')][_0x1b76('0x36')]){_0x19d75b[_0x1b76('0x3d')]['data3']=encryptor[_0x1b76('0x43')](_0x19d75b['body'][_0x1b76('0x36')]);}return db[_0x1b76('0x31')][_0x1b76('0x3c')](_0x19d75b[_0x1b76('0x3d')],{})[_0x1b76('0x14')](respondWithResult(_0x4620bd,0xc9))[_0x1b76('0x37')](handleError(_0x4620bd,null));};exports[_0x1b76('0x12')]=function(_0x5334d3,_0xbc56e4){if(_0x5334d3[_0x1b76('0x3d')]['id']){delete _0x5334d3[_0x1b76('0x3d')]['id'];}return db[_0x1b76('0x31')][_0x1b76('0x3a')]({'where':{'id':_0x5334d3[_0x1b76('0x39')]['id']}})['then'](handleEntityNotFound(_0xbc56e4,null))[_0x1b76('0x14')](function(_0x1686ac){if(_0x1686ac[_0x1b76('0x3b')]===_0x1b76('0x34')&&_0x5334d3[_0x1b76('0x3d')][_0x1b76('0x36')]){_0x5334d3[_0x1b76('0x3d')][_0x1b76('0x36')]=encryptor[_0x1b76('0x43')](_0x5334d3[_0x1b76('0x3d')]['data3']);}return _0x1686ac;})[_0x1b76('0x14')](saveUpdates(_0x5334d3[_0x1b76('0x3d')],null))[_0x1b76('0x14')](respondWithResult(_0xbc56e4,null))['catch'](handleError(_0xbc56e4,null));};exports[_0x1b76('0x13')]=function(_0x20abdf,_0x45a82a){return db[_0x1b76('0x31')][_0x1b76('0x3a')]({'where':{'id':_0x20abdf[_0x1b76('0x39')]['id']}})[_0x1b76('0x14')](handleEntityNotFound(_0x45a82a,null))[_0x1b76('0x14')](removeEntity(_0x45a82a,null))['catch'](handleError(_0x45a82a,null));};exports['oauth2MicrosoftAuthorize']=function(_0x4c369e,_0xcaa2eb){return db[_0x1b76('0x31')][_0x1b76('0x44')]({'where':{'id':_0x4c369e[_0x1b76('0x39')]['id']},'raw':!![]})['then'](function(_0x197dc9){if(!_0x197dc9)return _0xcaa2eb[_0x1b76('0x16')](0x194);return{'url':oauth[_0x1b76('0x45')](_0x197dc9,_0x4c369e[_0x1b76('0x46')]['id'])};})[_0x1b76('0x14')](respondWithResult(_0xcaa2eb,null))[_0x1b76('0x37')](handleError(_0xcaa2eb,null));};exports['oauth2MicrosoftCallback']=function(_0x22e5ed,_0x5c8442){var _0x426863=_0x22e5ed['body'];var _0x59c237;var _0x2a4a59;if(_0x426863[_0x1b76('0x17')])throw _0x426863;redis[_0x1b76('0x47')](_0x426863[_0x1b76('0x48')])[_0x1b76('0x14')](function(_0x17dd75){if(!_0x17dd75)throw new Error(_0x1b76('0x49'));_0x59c237=JSON[_0x1b76('0x4a')](_0x17dd75);var _0x34a163=Buffer[_0x1b76('0x4b')](_0x426863['state'],_0x1b76('0x4c'))['toString']('ascii');_0x2a4a59=JSON[_0x1b76('0x4a')](_0x34a163);if(!oauth[_0x1b76('0x4d')](_0x426863[_0x1b76('0x4e')],_0x59c237[_0x1b76('0x4f')]))throw new Error(_0x1b76('0x50'));redis['del'](_0x426863['state']);return oauth['getOauth2MicrosoftAccessToken'](_0x426863[_0x1b76('0x51')],_0x59c237);})[_0x1b76('0x14')](function(_0x410226){_0x59c237[_0x1b76('0x52')]=_0x410226[_0x1b76('0x53')];_0x59c237['data6']=_0x410226[_0x1b76('0x54')];return db[_0x1b76('0x31')][_0x1b76('0x12')]({'data5':_0x59c237[_0x1b76('0x52')],'data6':_0x59c237[_0x1b76('0x55')]},{'where':{'id':_0x59c237['id']}});})[_0x1b76('0x14')](function(){oauth[_0x1b76('0x56')](_0x59c237);socket[_0x1b76('0x57')](_0x1b76('0x58'),{'id':_0x2a4a59['id']});return;})[_0x1b76('0x14')](respondWithStatusCode(_0x5c8442,null))['catch'](function(_0x4ac67d){if(_0x2a4a59){socket[_0x1b76('0x57')](_0x1b76('0x59'),{'id':_0x2a4a59['id']});}if(!_0x59c237){logger[_0x1b76('0x17')](_0x1b76('0x5a'),_0x4ac67d);return _0x5c8442[_0x1b76('0xb')](0x1f4)[_0x1b76('0x1a')](_0x4ac67d[_0x1b76('0x5b')]);}logger['error']('Authentication\x20failed\x20for\x20cloud\x20provider\x20#%s,\x20err:%s',_0x59c237['id'],JSON[_0x1b76('0x5c')](_0x4ac67d));});};
\ No newline at end of file