File tree Expand file tree Collapse file tree 11 files changed +193
-45
lines changed Expand file tree Collapse file tree 11 files changed +193
-45
lines changed Original file line number Diff line number Diff line change @@ -13,10 +13,25 @@ export default class PostgresMetaColumns {
13
13
this . metaTables = new PostgresMetaTables ( query )
14
14
}
15
15
16
- async list ( { includeSystemSchemas = false } = { } ) : Promise < PostgresMetaResult < PostgresColumn [ ] > > {
17
- const sql = includeSystemSchemas
18
- ? columnsSql
19
- : `${ columnsSql } AND NOT (nc.nspname IN (${ DEFAULT_SYSTEM_SCHEMAS . map ( literal ) . join ( ',' ) } ));`
16
+ async list ( {
17
+ includeSystemSchemas = false ,
18
+ limit,
19
+ offset,
20
+ } : {
21
+ includeSystemSchemas ?: boolean
22
+ limit ?: number
23
+ offset ?: number
24
+ } = { } ) : Promise < PostgresMetaResult < PostgresColumn [ ] > > {
25
+ let sql = columnsSql
26
+ if ( ! includeSystemSchemas ) {
27
+ sql = `${ sql } AND NOT (nc.nspname IN (${ DEFAULT_SYSTEM_SCHEMAS . map ( literal ) . join ( ',' ) } ))`
28
+ }
29
+ if ( limit ) {
30
+ sql = `${ sql } LIMIT ${ limit } `
31
+ }
32
+ if ( offset ) {
33
+ sql = `${ sql } OFFSET ${ offset } `
34
+ }
20
35
return await this . query ( sql )
21
36
}
22
37
Original file line number Diff line number Diff line change @@ -8,7 +8,20 @@ export default class PostgresMetaConfig {
8
8
this . query = query
9
9
}
10
10
11
- async list ( ) : Promise < PostgresMetaResult < PostgresConfig [ ] > > {
12
- return await this . query ( configSql )
11
+ async list ( {
12
+ limit,
13
+ offset,
14
+ } : {
15
+ limit ?: number
16
+ offset ?: number
17
+ } = { } ) : Promise < PostgresMetaResult < PostgresConfig [ ] > > {
18
+ let sql = configSql
19
+ if ( limit ) {
20
+ sql = `${ sql } LIMIT ${ limit } `
21
+ }
22
+ if ( offset ) {
23
+ sql = `${ sql } OFFSET ${ offset } `
24
+ }
25
+ return await this . query ( sql )
13
26
}
14
27
}
Original file line number Diff line number Diff line change @@ -9,8 +9,21 @@ export default class PostgresMetaExtensions {
9
9
this . query = query
10
10
}
11
11
12
- async list ( ) : Promise < PostgresMetaResult < PostgresExtension [ ] > > {
13
- return await this . query ( extensionsSql )
12
+ async list ( {
13
+ limit,
14
+ offset,
15
+ } : {
16
+ limit ?: number
17
+ offset ?: number
18
+ } = { } ) : Promise < PostgresMetaResult < PostgresExtension [ ] > > {
19
+ let sql = extensionsSql
20
+ if ( limit ) {
21
+ sql = `${ sql } LIMIT ${ limit } `
22
+ }
23
+ if ( offset ) {
24
+ sql = `${ sql } OFFSET ${ offset } `
25
+ }
26
+ return await this . query ( sql )
14
27
}
15
28
16
29
async retrieve ( { name } : { name : string } ) : Promise < PostgresMetaResult < PostgresExtension > > {
Original file line number Diff line number Diff line change @@ -10,14 +10,25 @@ export default class PostgresMetaFunctions {
10
10
this . query = query
11
11
}
12
12
13
- async list ( { includeSystemSchemas = false } = { } ) : Promise <
14
- PostgresMetaResult < PostgresFunction [ ] >
15
- > {
16
- const sql = includeSystemSchemas
17
- ? enrichedFunctionsSql
18
- : `${ enrichedFunctionsSql } WHERE NOT (schema IN (${ DEFAULT_SYSTEM_SCHEMAS . map ( literal ) . join (
19
- ','
20
- ) } ));`
13
+ async list ( {
14
+ includeSystemSchemas = false ,
15
+ limit,
16
+ offset,
17
+ } : {
18
+ includeSystemSchemas ?: boolean
19
+ limit ?: number
20
+ offset ?: number
21
+ } = { } ) : Promise < PostgresMetaResult < PostgresFunction [ ] > > {
22
+ let sql = enrichedFunctionsSql
23
+ if ( ! includeSystemSchemas ) {
24
+ sql = `${ sql } WHERE NOT (schema IN (${ DEFAULT_SYSTEM_SCHEMAS . map ( literal ) . join ( ',' ) } ))`
25
+ }
26
+ if ( limit ) {
27
+ sql = `${ sql } LIMIT ${ limit } `
28
+ }
29
+ if ( offset ) {
30
+ sql = `${ sql } OFFSET ${ offset } `
31
+ }
21
32
return await this . query ( sql )
22
33
}
23
34
Original file line number Diff line number Diff line change @@ -10,12 +10,25 @@ export default class PostgresMetaPolicies {
10
10
this . query = query
11
11
}
12
12
13
- async list ( { includeSystemSchemas = false } = { } ) : Promise < PostgresMetaResult < PostgresPolicy [ ] > > {
14
- const sql = includeSystemSchemas
15
- ? policiesSql
16
- : `${ policiesSql } WHERE NOT (n.nspname IN (${ DEFAULT_SYSTEM_SCHEMAS . map ( literal ) . join (
17
- ','
18
- ) } ));`
13
+ async list ( {
14
+ includeSystemSchemas = false ,
15
+ limit,
16
+ offset,
17
+ } : {
18
+ includeSystemSchemas ?: boolean
19
+ limit ?: number
20
+ offset ?: number
21
+ } = { } ) : Promise < PostgresMetaResult < PostgresPolicy [ ] > > {
22
+ let sql = policiesSql
23
+ if ( ! includeSystemSchemas ) {
24
+ sql = `${ sql } WHERE NOT (n.nspname IN (${ DEFAULT_SYSTEM_SCHEMAS . map ( literal ) . join ( ',' ) } ))`
25
+ }
26
+ if ( limit ) {
27
+ sql = `${ sql } LIMIT ${ limit } `
28
+ }
29
+ if ( offset ) {
30
+ sql = `${ sql } OFFSET ${ offset } `
31
+ }
19
32
return await this . query ( sql )
20
33
}
21
34
Original file line number Diff line number Diff line change @@ -9,8 +9,21 @@ export default class PostgresMetaPublications {
9
9
this . query = query
10
10
}
11
11
12
- async list ( ) : Promise < PostgresMetaResult < PostgresPublication [ ] > > {
13
- return await this . query ( publicationsSql )
12
+ async list ( {
13
+ limit,
14
+ offset,
15
+ } : {
16
+ limit ?: number
17
+ offset ?: number
18
+ } ) : Promise < PostgresMetaResult < PostgresPublication [ ] > > {
19
+ let sql = publicationsSql
20
+ if ( limit ) {
21
+ sql = `${ sql } LIMIT ${ limit } `
22
+ }
23
+ if ( offset ) {
24
+ sql = `${ sql } OFFSET ${ offset } `
25
+ }
26
+ return await this . query ( sql )
14
27
}
15
28
16
29
async retrieve ( { id } : { id : number } ) : Promise < PostgresMetaResult < PostgresPublication > >
Original file line number Diff line number Diff line change @@ -11,10 +11,18 @@ export default class PostgresMetaRoles {
11
11
this . query = query
12
12
}
13
13
14
- async list ( { includeDefaultRoles = false , includeSystemSchemas = false } = { } ) : Promise <
15
- PostgresMetaResult < PostgresRole [ ] >
16
- > {
17
- const sql = `
14
+ async list ( {
15
+ includeDefaultRoles = false ,
16
+ includeSystemSchemas = false ,
17
+ limit,
18
+ offset,
19
+ } : {
20
+ includeDefaultRoles ?: boolean
21
+ includeSystemSchemas ?: boolean
22
+ limit ?: number
23
+ offset ?: number
24
+ } = { } ) : Promise < PostgresMetaResult < PostgresRole [ ] > > {
25
+ let sql = `
18
26
WITH roles AS (${
19
27
includeDefaultRoles
20
28
? rolesSql
@@ -29,7 +37,13 @@ SELECT
29
37
*,
30
38
${ coalesceRowsToArray ( 'grants' , 'SELECT * FROM grants WHERE grants.grantee = roles.name' ) }
31
39
FROM
32
- roles;`
40
+ roles`
41
+ if ( limit ) {
42
+ sql = `${ sql } LIMIT ${ limit } `
43
+ }
44
+ if ( offset ) {
45
+ sql = `${ sql } OFFSET ${ offset } `
46
+ }
33
47
return await this . query ( sql )
34
48
}
35
49
Original file line number Diff line number Diff line change @@ -15,10 +15,25 @@ export default class PostgresMetaSchemas {
15
15
this . query = query
16
16
}
17
17
18
- async list ( { includeSystemSchemas = false } = { } ) : Promise < PostgresMetaResult < PostgresSchema [ ] > > {
19
- const sql = includeSystemSchemas
20
- ? schemasSql
21
- : `${ schemasSql } AND NOT (n.nspname IN (${ DEFAULT_SYSTEM_SCHEMAS . map ( literal ) . join ( ',' ) } ));`
18
+ async list ( {
19
+ includeSystemSchemas = false ,
20
+ limit,
21
+ offset,
22
+ } : {
23
+ includeSystemSchemas ?: boolean
24
+ limit ?: number
25
+ offset ?: number
26
+ } = { } ) : Promise < PostgresMetaResult < PostgresSchema [ ] > > {
27
+ let sql = schemasSql
28
+ if ( ! includeSystemSchemas ) {
29
+ sql = `${ sql } AND NOT (n.nspname IN (${ DEFAULT_SYSTEM_SCHEMAS . map ( literal ) . join ( ',' ) } ))`
30
+ }
31
+ if ( limit ) {
32
+ sql = `${ sql } LIMIT ${ limit } `
33
+ }
34
+ if ( offset ) {
35
+ sql = `${ sql } OFFSET ${ offset } `
36
+ }
22
37
return await this . query ( sql )
23
38
}
24
39
Original file line number Diff line number Diff line change @@ -18,12 +18,25 @@ export default class PostgresMetaTables {
18
18
this . query = query
19
19
}
20
20
21
- async list ( { includeSystemSchemas = false } = { } ) : Promise < PostgresMetaResult < PostgresTable [ ] > > {
22
- const sql = includeSystemSchemas
23
- ? enrichedTablesSql
24
- : `${ enrichedTablesSql } WHERE NOT (schema IN (${ DEFAULT_SYSTEM_SCHEMAS . map ( literal ) . join (
25
- ','
26
- ) } ));`
21
+ async list ( {
22
+ includeSystemSchemas = false ,
23
+ limit,
24
+ offset,
25
+ } : {
26
+ includeSystemSchemas ?: boolean
27
+ limit ?: number
28
+ offset ?: number
29
+ } = { } ) : Promise < PostgresMetaResult < PostgresTable [ ] > > {
30
+ let sql = enrichedTablesSql
31
+ if ( ! includeSystemSchemas ) {
32
+ sql = `${ sql } WHERE NOT (schema IN (${ DEFAULT_SYSTEM_SCHEMAS . map ( literal ) . join ( ',' ) } ))`
33
+ }
34
+ if ( limit ) {
35
+ sql = `${ sql } LIMIT ${ limit } `
36
+ }
37
+ if ( offset ) {
38
+ sql = `${ sql } OFFSET ${ offset } `
39
+ }
27
40
return await this . query ( sql )
28
41
}
29
42
Original file line number Diff line number Diff line change @@ -9,8 +9,21 @@ export default class PostgresMetaTriggers {
9
9
this . query = query
10
10
}
11
11
12
- async list ( ) : Promise < PostgresMetaResult < PostgresTrigger [ ] > > {
13
- return await this . query ( enrichedTriggersSql )
12
+ async list ( {
13
+ limit,
14
+ offset,
15
+ } : {
16
+ limit ?: number
17
+ offset ?: number
18
+ } = { } ) : Promise < PostgresMetaResult < PostgresTrigger [ ] > > {
19
+ let sql = enrichedTriggersSql
20
+ if ( limit ) {
21
+ sql = `${ sql } LIMIT ${ limit } `
22
+ }
23
+ if ( offset ) {
24
+ sql = `${ sql } OFFSET ${ offset } `
25
+ }
26
+ return await this . query ( sql )
14
27
}
15
28
16
29
async retrieve ( { id } : { id : number } ) : Promise < PostgresMetaResult < PostgresTrigger > >
Original file line number Diff line number Diff line change @@ -10,10 +10,25 @@ export default class PostgresMetaTypes {
10
10
this . query = query
11
11
}
12
12
13
- async list ( { includeSystemSchemas = false } = { } ) : Promise < PostgresMetaResult < PostgresType [ ] > > {
14
- const sql = includeSystemSchemas
15
- ? typesSql
16
- : `${ typesSql } AND NOT (n.nspname IN (${ DEFAULT_SYSTEM_SCHEMAS . map ( literal ) . join ( ',' ) } ));`
13
+ async list ( {
14
+ includeSystemSchemas = false ,
15
+ limit,
16
+ offset,
17
+ } : {
18
+ includeSystemSchemas ?: boolean
19
+ limit ?: number
20
+ offset ?: number
21
+ } = { } ) : Promise < PostgresMetaResult < PostgresType [ ] > > {
22
+ let sql = typesSql
23
+ if ( ! includeSystemSchemas ) {
24
+ sql = `${ sql } AND NOT (n.nspname IN (${ DEFAULT_SYSTEM_SCHEMAS . map ( literal ) . join ( ',' ) } ))`
25
+ }
26
+ if ( limit ) {
27
+ sql = `${ sql } LIMIT ${ limit } `
28
+ }
29
+ if ( offset ) {
30
+ sql = `${ sql } OFFSET ${ offset } `
31
+ }
17
32
return await this . query ( sql )
18
33
}
19
34
}
You can’t perform that action at this time.
0 commit comments