File tree Expand file tree Collapse file tree 1 file changed +7
-18
lines changed Expand file tree Collapse file tree 1 file changed +7
-18
lines changed Original file line number Diff line number Diff line change 11import { ident , literal } from 'pg-format'
2- import { DEFAULT_ROLES , DEFAULT_SYSTEM_SCHEMAS } from './constants'
3- import { coalesceRowsToArray } from './helpers'
4- import { grantsSql , rolesSql } from './sql'
2+ import { DEFAULT_ROLES } from './constants'
3+ import { rolesSql } from './sql'
54import { PostgresMetaResult , PostgresRole } from './types'
65
76export default class PostgresMetaRoles {
@@ -13,31 +12,21 @@ export default class PostgresMetaRoles {
1312
1413 async list ( {
1514 includeDefaultRoles = false ,
16- includeSystemSchemas = false ,
1715 limit,
1816 offset,
1917 } : {
2018 includeDefaultRoles ?: boolean
21- includeSystemSchemas ?: boolean
2219 limit ?: number
2320 offset ?: number
2421 } = { } ) : Promise < PostgresMetaResult < PostgresRole [ ] > > {
2522 let sql = `
26- WITH roles AS (${
27- includeDefaultRoles
28- ? rolesSql
29- : `${ rolesSql } WHERE NOT (rolname IN (${ DEFAULT_ROLES . map ( literal ) . join ( ',' ) } ))`
30- } ),
31- grants AS (${
32- includeSystemSchemas
33- ? grantsSql
34- : `${ grantsSql } AND NOT (nc.nspname IN (${ DEFAULT_SYSTEM_SCHEMAS . map ( literal ) . join ( ',' ) } ))`
35- } )
23+ WITH
24+ roles AS (${ rolesSql } )
3625SELECT
37- *,
38- ${ coalesceRowsToArray ( 'grants' , 'grants.grantee = roles.name' ) }
26+ *
3927FROM
40- roles`
28+ roles
29+ ${ includeDefaultRoles ? '' : `WHERE name NOT IN (${ DEFAULT_ROLES . map ( literal ) . join ( ',' ) } )` } `
4130 if ( limit ) {
4231 sql = `${ sql } LIMIT ${ limit } `
4332 }
You can’t perform that action at this time.
0 commit comments