1
+ "use strict" ;
2
+ var __assign = ( this && this . __assign ) || function ( ) {
3
+ __assign = Object . assign || function ( t ) {
4
+ for ( var s , i = 1 , n = arguments . length ; i < n ; i ++ ) {
5
+ s = arguments [ i ] ;
6
+ for ( var p in s ) if ( Object . prototype . hasOwnProperty . call ( s , p ) )
7
+ t [ p ] = s [ p ] ;
8
+ }
9
+ return t ;
10
+ } ;
11
+ return __assign . apply ( this , arguments ) ;
12
+ } ;
1
13
var __awaiter = ( this && this . __awaiter ) || function ( thisArg , _arguments , P , generator ) {
2
14
function adopt ( value ) { return value instanceof P ? value : new P ( function ( resolve ) { resolve ( value ) ; } ) ; }
3
15
return new ( P || ( P = Promise ) ) ( function ( resolve , reject ) {
@@ -34,21 +46,26 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
34
46
if ( op [ 0 ] & 5 ) throw op [ 1 ] ; return { value : op [ 0 ] ? op [ 1 ] : void 0 , done : true } ;
35
47
}
36
48
} ;
37
- var _this = this ;
49
+ Object . defineProperty ( exports , "__esModule" , { value : true } ) ;
38
50
var Router = require ( 'express' ) . Router ;
39
51
var router = new Router ( ) ;
40
52
var roles = require ( '../lib/sql' ) . roles ;
41
53
var RunQuery = require ( '../lib/connectionPool' ) ;
42
- router . get ( '/' , function ( req , res ) { return __awaiter ( _this , void 0 , void 0 , function ( ) {
43
- var data , error_1 ;
54
+ var schemas_1 = require ( "../lib/constants/schemas" ) ;
55
+ router . get ( '/' , function ( req , res ) { return __awaiter ( void 0 , void 0 , void 0 , function ( ) {
56
+ var data , query , payload , error_1 ;
44
57
return __generator ( this , function ( _a ) {
45
58
switch ( _a . label ) {
46
59
case 0 :
47
60
_a . trys . push ( [ 0 , 2 , , 3 ] ) ;
48
61
return [ 4 /*yield*/ , RunQuery ( req . headers . pg , roles . list ) ] ;
49
62
case 1 :
50
63
data = ( _a . sent ( ) ) . data ;
51
- return [ 2 /*return*/ , res . status ( 200 ) . json ( data ) ] ;
64
+ query = req . query ;
65
+ payload = data ;
66
+ if ( ! ( query === null || query === void 0 ? void 0 : query . includeSystemSchemas ) )
67
+ payload = removeSystemSchemas ( data ) ;
68
+ return [ 2 /*return*/ , res . status ( 200 ) . json ( payload ) ] ;
52
69
case 2 :
53
70
error_1 = _a . sent ( ) ;
54
71
console . log ( 'throwing error' ) ;
@@ -58,4 +75,10 @@ router.get('/', function (req, res) { return __awaiter(_this, void 0, void 0, fu
58
75
}
59
76
} ) ;
60
77
} ) ; } ) ;
78
+ var removeSystemSchemas = function ( data ) {
79
+ return data . map ( function ( role ) {
80
+ var grants = role . grants . filter ( function ( x ) { return ! schemas_1 . DEFAULT_SYSTEM_SCHEMAS . includes ( x . schema ) ; } ) ;
81
+ return __assign ( __assign ( { } , role ) , { grants : grants } ) ;
82
+ } ) ;
83
+ } ;
61
84
module . exports = router ;
0 commit comments