pg-introspection 0.0.1-beta.1 → 0.0.1-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,105 @@
1
1
  # pg-introspection
2
2
 
3
+ ## 0.0.1-beta.11
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2482](https://github.com/graphile/crystal/pull/2482)
8
+ [`459e1869a2ec58925b2bac5458af487c52a8ca37`](https://github.com/graphile/crystal/commit/459e1869a2ec58925b2bac5458af487c52a8ca37)
9
+ Thanks [@benjie](https://github.com/benjie)! - Minimum version of Node.js
10
+ bumped to Node 22 (the latest LTS).
11
+
12
+ ## 0.0.1-beta.10
13
+
14
+ ### Patch Changes
15
+
16
+ - [#2256](https://github.com/graphile/crystal/pull/2256)
17
+ [`dc5746594`](https://github.com/graphile/crystal/commit/dc5746594d7870a13296f405f4327f89d17dac1e)
18
+ Thanks [@benjie](https://github.com/benjie)! - Add support for introspecting
19
+ RLS policies.
20
+
21
+ ## 0.0.1-beta.9
22
+
23
+ ### Patch Changes
24
+
25
+ - [#2202](https://github.com/graphile/crystal/pull/2202)
26
+ [`2efadc0f8`](https://github.com/graphile/crystal/commit/2efadc0f80c3a0c172fb94c770afecc5447e832b)
27
+ Thanks [@benjie](https://github.com/benjie)! - Postgres v17 support
28
+
29
+ ## 0.0.1-beta.8
30
+
31
+ ### Patch Changes
32
+
33
+ - [#1962](https://github.com/graphile/crystal/pull/1962)
34
+ [`7606a5b87`](https://github.com/graphile/crystal/commit/7606a5b87aed747fad4eb11744ef7b01cfa3b879)
35
+ Thanks [@DanielFGray](https://github.com/DanielFGray)! - Export PgEntity type
36
+ in pg-introspection
37
+
38
+ ## 0.0.1-beta.7
39
+
40
+ ### Patch Changes
41
+
42
+ - [#1943](https://github.com/graphile/crystal/pull/1943)
43
+ [`46d8289b4`](https://github.com/graphile/crystal/commit/46d8289b44ab10aea1ff3d2915184650d6896b81)
44
+ Thanks [@benjie](https://github.com/benjie)! - `pg-introspection` now exports
45
+ `reservedWords` which are a list of reserved keywords in PostgreSQL (in
46
+ uppercase; though SQL is case insensitive).
47
+
48
+ ## 0.0.1-beta.6
49
+
50
+ ### Patch Changes
51
+
52
+ - [#1927](https://github.com/graphile/crystal/pull/1927)
53
+ [`00d32d887`](https://github.com/graphile/crystal/commit/00d32d887a6ae01374a4fda1babab7c8f14832c0)
54
+ Thanks [@benjie](https://github.com/benjie)! - Excludes table constraints on
55
+ tables from extensions if configured to not include extensions.
56
+
57
+ - [#1927](https://github.com/graphile/crystal/pull/1927)
58
+ [`c62eee10b`](https://github.com/graphile/crystal/commit/c62eee10b445f9455bf2a0524ad2b828bdf4ffa6)
59
+ Thanks [@benjie](https://github.com/benjie)! - Add pg_am to pg-introspection
60
+ to enable determining index access method
61
+
62
+ ## 0.0.1-beta.5
63
+
64
+ ### Patch Changes
65
+
66
+ - [#1894](https://github.com/graphile/crystal/pull/1894)
67
+ [`7851d89ab`](https://github.com/graphile/crystal/commit/7851d89ab4216b0252583f0068a69900fa2ddc88)
68
+ Thanks [@benjie](https://github.com/benjie)! - Fix logic around RBAC
69
+ permissions for tables and sequences.
70
+
71
+ - [#1893](https://github.com/graphile/crystal/pull/1893)
72
+ [`470ee4000`](https://github.com/graphile/crystal/commit/470ee40008689de7cf6f206a9897abbe4891ff9b)
73
+ Thanks [@benjie](https://github.com/benjie)! - Import latest PG16 docs into
74
+ pg-introspection
75
+
76
+ ## 0.0.1-beta.4
77
+
78
+ ### Patch Changes
79
+
80
+ - [#1801](https://github.com/graphile/crystal/pull/1801)
81
+ [`2d447a6b4`](https://github.com/graphile/crystal/commit/2d447a6b45d7db2813bd957f412cd959e2185759)
82
+ Thanks [@benjie](https://github.com/benjie)! - Fix bug where the owner of a
83
+ database object wasn't seen as having any privileges.
84
+
85
+ ## 0.0.1-beta.3
86
+
87
+ ### Patch Changes
88
+
89
+ - [#514](https://github.com/graphile/crystal-pre-merge/pull/514)
90
+ [`c9848f693`](https://github.com/graphile/crystal-pre-merge/commit/c9848f6936a5abd7740c0638bfb458fb5551f03b)
91
+ Thanks [@benjie](https://github.com/benjie)! - Update package.json repository
92
+ information
93
+
94
+ ## 0.0.1-beta.2
95
+
96
+ ### Patch Changes
97
+
98
+ - [#496](https://github.com/benjie/crystal/pull/496)
99
+ [`c9bfd9892`](https://github.com/benjie/crystal/commit/c9bfd989247f9433fb5b18c5175c9d8d64cd21a1)
100
+ Thanks [@benjie](https://github.com/benjie)! - Update dependencies (sometimes
101
+ through major versions).
102
+
3
103
  ## 0.0.1-beta.1
4
104
 
5
105
  ### Patch Changes
package/LICENSE.md CHANGED
@@ -26,7 +26,8 @@ license applies to those excerpts:
26
26
 
27
27
  PostgreSQL is Copyright © 1996–2022 by the PostgreSQL Global Development Group.
28
28
 
29
- Postgres95 is Copyright © 1994–5 by the Regents of the University of California.
29
+ Postgres95 is Copyright © 1994–5 by the Regents of the University of
30
+ California.
30
31
 
31
32
  Permission to use, copy, modify, and distribute this software and its
32
33
  documentation for any purpose, without fee, and without a written agreement is
package/README.md CHANGED
@@ -15,9 +15,9 @@ PostgreSQL documentation for easy reference directly in your editor.
15
15
 
16
16
  ## Crowd-funded open-source software
17
17
 
18
- To help us develop this software sustainably under the MIT license, we ask all
19
- individuals and businesses that use it to help support its ongoing maintenance
20
- and development via sponsorship.
18
+ To help us develop this software sustainably, we ask all individuals and
19
+ businesses that use it to help support its ongoing maintenance and development
20
+ via sponsorship.
21
21
 
22
22
  ### [Click here to find out more about sponsors and sponsorship.](https://www.graphile.org/sponsor/)
23
23
 
@@ -25,13 +25,7 @@ And please give some love to our featured sponsors 🤩:
25
25
 
26
26
  <table><tr>
27
27
  <td align="center"><a href="https://www.the-guild.dev/"><img src="https://graphile.org/images/sponsors/theguild.png" width="90" height="90" alt="The Guild" /><br />The Guild</a> *</td>
28
- <td align="center"><a href="https://dovetailapp.com/"><img src="https://graphile.org/images/sponsors/dovetail.png" width="90" height="90" alt="Dovetail" /><br />Dovetail</a> *</td>
29
- <td align="center"><a href="https://qwick.com/"><img src="https://graphile.org/images/sponsors/qwick.png" width="90" height="90" alt="Qwick" /><br />Qwick</a> *</td>
30
- <td align="center"><a href="https://www.netflix.com/"><img src="https://graphile.org/images/sponsors/Netflix.png" width="90" height="90" alt="Netflix" /><br />Netflix</a> *</td>
31
- </tr><tr>
32
- <td align="center"><a href=""><img src="https://graphile.org/images/sponsors/chadf.png" width="90" height="90" alt="Chad Furman" /><br />Chad Furman</a> *</td>
33
- <td align="center"><a href="https://stellate.co/"><img src="https://graphile.org/images/sponsors/Stellate.png" width="90" height="90" alt="Stellate" /><br />Stellate</a> *</td>
34
- <td align="center"><a href="https://www.accenture.com/"><img src="https://graphile.org/images/sponsors/accenture.svg" width="90" height="90" alt="Accenture" /><br />Accenture</a> *</td>
28
+ <td align="center"><a href="https://gosteelhead.com/"><img src="https://graphile.org/images/sponsors/steelhead.svg" width="90" height="90" alt="Steelhead" /><br />Steelhead</a> *</td>
35
29
  </tr></table>
36
30
 
37
31
  <em>\* Sponsors the entire Graphile suite</em>
@@ -60,7 +54,7 @@ const pool = new Pool({
60
54
  async function main() {
61
55
  const sql = makeIntrospectionQuery();
62
56
  const { rows } = await pool.query(sql);
63
- const introspection = parseIntrospectionResults(row[0].introspection);
57
+ const introspection = parseIntrospectionResults(rows[0].introspection);
64
58
 
65
59
  console.log(
66
60
  `The ${introspection.database.datname} DBA is ${
package/dist/acl.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Introspection, PgClass, PgRoles } from "./introspection.js";
1
+ import type { Introspection, PgEntity, PgRoles } from "./introspection.js";
2
2
  /**
3
3
  * A fake 'pg_roles' record representing the 'public' meta-role.
4
4
  */
@@ -60,6 +60,10 @@ export interface AclObject {
60
60
  temporary?: boolean;
61
61
  /** T* */
62
62
  temporaryGrant?: boolean;
63
+ /** m */
64
+ maintain?: boolean;
65
+ /** m* */
66
+ maintainGrant?: boolean;
63
67
  }
64
68
  export type ResolvedPermissions = Omit<AclObject, "role" | "granter">;
65
69
  /**
@@ -73,7 +77,7 @@ export declare function parseAcl(aclString: string): AclObject;
73
77
  */
74
78
  export declare function serializeAcl(acl: AclObject): string;
75
79
  export declare const emptyAclObject: AclObject;
76
- export declare const OBJECT_ATTRIBUTE = "OBJECT_ATTRIBUTE";
80
+ export declare const OBJECT_COLUMN = "OBJECT_COLUMN";
77
81
  export declare const OBJECT_TABLE = "OBJECT_TABLE";
78
82
  export declare const OBJECT_SEQUENCE = "OBJECT_SEQUENCE";
79
83
  export declare const OBJECT_DATABASE = "OBJECT_DATABASE";
@@ -86,7 +90,7 @@ export declare const OBJECT_FDW = "OBJECT_FDW";
86
90
  export declare const OBJECT_FOREIGN_SERVER = "OBJECT_FOREIGN_SERVER";
87
91
  export declare const OBJECT_DOMAIN = "OBJECT_DOMAIN";
88
92
  export declare const OBJECT_TYPE = "OBJECT_TYPE";
89
- export type AclDefaultObjectType = typeof OBJECT_ATTRIBUTE | typeof OBJECT_TABLE | typeof OBJECT_SEQUENCE | typeof OBJECT_DATABASE | typeof OBJECT_FUNCTION | typeof OBJECT_LANGUAGE | typeof OBJECT_LARGEOBJECT | typeof OBJECT_SCHEMA | typeof OBJECT_TABLESPACE | typeof OBJECT_FDW | typeof OBJECT_FOREIGN_SERVER | typeof OBJECT_DOMAIN | typeof OBJECT_TYPE;
93
+ export type AclDefaultObjectType = typeof OBJECT_COLUMN | typeof OBJECT_TABLE | typeof OBJECT_SEQUENCE | typeof OBJECT_DATABASE | typeof OBJECT_FUNCTION | typeof OBJECT_LANGUAGE | typeof OBJECT_LARGEOBJECT | typeof OBJECT_SCHEMA | typeof OBJECT_TABLESPACE | typeof OBJECT_FDW | typeof OBJECT_FOREIGN_SERVER | typeof OBJECT_DOMAIN | typeof OBJECT_TYPE;
90
94
  /**
91
95
  * Returns a list of AclObject by parsing the given input ACL strings. If no
92
96
  * ACL strings are present then it will return the default (implied) ACL for
@@ -100,7 +104,7 @@ export type AclDefaultObjectType = typeof OBJECT_ATTRIBUTE | typeof OBJECT_TABLE
100
104
  *
101
105
  * https://github.com/postgres/postgres/blob/fb3b098fe88441f9531a5169008ea17eac01301f/src/include/utils/acl.h#L153-L167
102
106
  */
103
- export declare function parseAcls(introspection: Introspection, inAcls: readonly string[] | null, ownerId: string, type: AclDefaultObjectType): AclObject[];
107
+ export declare function parseAcls(introspection: Introspection, inAcls: readonly string[] | null, ownerId: string, objtype: AclDefaultObjectType): AclObject[];
104
108
  export declare const Permission: {
105
109
  readonly select: "select";
106
110
  readonly selectGrant: "selectGrant";
@@ -126,8 +130,9 @@ export declare const Permission: {
126
130
  readonly connectGrant: "connectGrant";
127
131
  readonly temporary: "temporary";
128
132
  readonly temporaryGrant: "temporaryGrant";
133
+ readonly maintain: "maintain";
134
+ readonly maintainGrant: "maintainGrant";
129
135
  };
130
- export declare function aclsForTable(introspection: Introspection, table: PgClass): AclObject[];
131
136
  /**
132
137
  * Returns all the roles role has been granted (including PUBLIC),
133
138
  * respecting `NOINHERIT`
@@ -147,5 +152,8 @@ export declare function aclContainsRole(introspection: Introspection, acl: AclOb
147
152
  * Filters the ACL objects to only those that apply to `role`, then calculates
148
153
  * the `OR` of all the permissions to see what permissions the role has.
149
154
  */
150
- export declare function resolvePermissions(introspection: Introspection, acls: AclObject[], role: PgRoles, includeNoInherit?: boolean): ResolvedPermissions;
155
+ export declare function resolvePermissions(introspection: Introspection, acls: AclObject[], role: PgRoles, includeNoInherit?: boolean, isOwnerAndHasNoExplicitACLs?: boolean): ResolvedPermissions;
156
+ export declare function entityPermissions(introspection: Introspection, entity: Extract<PgEntity, {
157
+ getACL(): readonly AclObject[];
158
+ }>, role: PgRoles, includeNoInherit?: boolean): ResolvedPermissions;
151
159
  //# sourceMappingURL=acl.d.ts.map
package/dist/acl.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"acl.d.ts","sourceRoot":"","sources":["../src/acl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,OAcxB,CAAC;AA8BH;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ;IACR,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS;IACT,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,QAAQ;IACR,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS;IACT,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,QAAQ;IACR,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS;IACT,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,QAAQ;IACR,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS;IACT,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,QAAQ;IACR,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS;IACT,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,QAAQ;IACR,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS;IACT,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,QAAQ;IACR,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS;IACT,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,QAAQ;IACR,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS;IACT,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,QAAQ;IACR,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS;IACT,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,QAAQ;IACR,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS;IACT,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,QAAQ;IACR,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS;IACT,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,QAAQ;IACR,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS;IACT,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAWtE;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAmErD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,UA0C1C;AAED,eAAO,MAAM,cAAc,WAAyB,CAAC;AAErD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAC7C,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAC7D,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAC7C,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,MAAM,MAAM,oBAAoB,GAC5B,OAAO,gBAAgB,GACvB,OAAO,YAAY,GACnB,OAAO,eAAe,GACtB,OAAO,eAAe,GACtB,OAAO,eAAe,GACtB,OAAO,eAAe,GACtB,OAAO,kBAAkB,GACzB,OAAO,aAAa,GACpB,OAAO,iBAAiB,GACxB,OAAO,UAAU,GACjB,OAAO,qBAAqB,GAC5B,OAAO,aAAa,GACpB,OAAO,WAAW,CAAC;AAEvB;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CACvB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,EAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,oBAAoB,GACzB,SAAS,EAAE,CAuCb;AAID,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;CAyBb,CAAC;AAUX,wBAAgB,YAAY,CAC1B,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,OAAO,GACb,SAAS,EAAE,CAYb;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,OAAO,EAAE,EAChB,gBAAgB,UAAQ,GACvB,OAAO,EAAE,CAuBX;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,OAAO,EACb,gBAAgB,UAAQ,GACvB,OAAO,CAIT;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,SAAS,EAAE,EACjB,IAAI,EAAE,OAAO,EACb,gBAAgB,UAAQ,GACvB,mBAAmB,CA0ErB"}
1
+ {"version":3,"file":"acl.d.ts","sourceRoot":"","sources":["../src/acl.ts"],"names":[],"mappings":"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"}
package/dist/acl.js CHANGED
@@ -1,6 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolvePermissions = exports.aclContainsRole = exports.expandRoles = exports.aclsForTable = exports.Permission = exports.parseAcls = exports.OBJECT_TYPE = exports.OBJECT_DOMAIN = exports.OBJECT_FOREIGN_SERVER = exports.OBJECT_FDW = exports.OBJECT_TABLESPACE = exports.OBJECT_SCHEMA = exports.OBJECT_LARGEOBJECT = exports.OBJECT_LANGUAGE = exports.OBJECT_FUNCTION = exports.OBJECT_DATABASE = exports.OBJECT_SEQUENCE = exports.OBJECT_TABLE = exports.OBJECT_ATTRIBUTE = exports.emptyAclObject = exports.serializeAcl = exports.parseAcl = exports.PUBLIC_ROLE = void 0;
3
+ exports.Permission = exports.OBJECT_TYPE = exports.OBJECT_DOMAIN = exports.OBJECT_FOREIGN_SERVER = exports.OBJECT_FDW = exports.OBJECT_TABLESPACE = exports.OBJECT_SCHEMA = exports.OBJECT_LARGEOBJECT = exports.OBJECT_LANGUAGE = exports.OBJECT_FUNCTION = exports.OBJECT_DATABASE = exports.OBJECT_SEQUENCE = exports.OBJECT_TABLE = exports.OBJECT_COLUMN = exports.emptyAclObject = exports.PUBLIC_ROLE = void 0;
4
+ exports.parseAcl = parseAcl;
5
+ exports.serializeAcl = serializeAcl;
6
+ exports.parseAcls = parseAcls;
7
+ exports.expandRoles = expandRoles;
8
+ exports.aclContainsRole = aclContainsRole;
9
+ exports.resolvePermissions = resolvePermissions;
10
+ exports.entityPermissions = entityPermissions;
4
11
  /**
5
12
  * A fake 'pg_roles' record representing the 'public' meta-role.
6
13
  */
@@ -58,7 +65,7 @@ const parseIdentifier = (str) => str.startsWith('"') ? str.replace(/"("?)/g, "$1
58
65
  */
59
66
  function parseAcl(aclString) {
60
67
  // https://www.postgresql.org/docs/current/ddl-priv.html#PRIVILEGE-ABBREVS-TABLE
61
- const matches = aclString.match(/^([^=]*)=([rwadDxtXUCcT*]*)\/([^=]+)$/);
68
+ const matches = aclString.match(/^([^=]*)=([rwadDxtXUCcTm*]*)\/([^=]+)$/);
62
69
  if (!matches) {
63
70
  throw new Error(`Could not parse ACL string '${aclString}'`);
64
71
  }
@@ -89,6 +96,8 @@ function parseAcl(aclString) {
89
96
  const connectGrant = permissions.includes("c*");
90
97
  const temporary = permissions.includes("T");
91
98
  const temporaryGrant = permissions.includes("T*");
99
+ const maintain = permissions.includes("m");
100
+ const maintainGrant = permissions.includes("m*");
92
101
  const acl = {
93
102
  role: role || "public",
94
103
  granter,
@@ -116,10 +125,11 @@ function parseAcl(aclString) {
116
125
  connectGrant,
117
126
  temporary,
118
127
  temporaryGrant,
128
+ maintain,
129
+ maintainGrant,
119
130
  };
120
131
  return acl;
121
132
  }
122
- exports.parseAcl = parseAcl;
123
133
  /**
124
134
  * Takes an `AclObject` and converts it back into a Postgres ACL string such as
125
135
  * `foo=arwdDxt/bar`
@@ -174,12 +184,15 @@ function serializeAcl(acl) {
174
184
  permissions += "T*";
175
185
  else if (acl.temporary)
176
186
  permissions += "T";
187
+ if (acl.maintainGrant)
188
+ permissions += "m*";
189
+ else if (acl.maintain)
190
+ permissions += "m";
177
191
  permissions += `/${acl.granter}`;
178
192
  return permissions;
179
193
  }
180
- exports.serializeAcl = serializeAcl;
181
194
  exports.emptyAclObject = parseAcl("=/postgres");
182
- exports.OBJECT_ATTRIBUTE = "OBJECT_ATTRIBUTE";
195
+ exports.OBJECT_COLUMN = "OBJECT_COLUMN";
183
196
  exports.OBJECT_TABLE = "OBJECT_TABLE";
184
197
  exports.OBJECT_SEQUENCE = "OBJECT_SEQUENCE";
185
198
  exports.OBJECT_DATABASE = "OBJECT_DATABASE";
@@ -192,6 +205,37 @@ exports.OBJECT_FDW = "OBJECT_FDW";
192
205
  exports.OBJECT_FOREIGN_SERVER = "OBJECT_FOREIGN_SERVER";
193
206
  exports.OBJECT_DOMAIN = "OBJECT_DOMAIN";
194
207
  exports.OBJECT_TYPE = "OBJECT_TYPE";
208
+ // https://github.com/postgres/postgres/blob/4908c5872059c409aa647bcde758dfeffe07996e/src/include/nodes/parsenodes.h#L76-L89
209
+ // https://www.postgresql.org/docs/current/ddl-priv.html#PRIVILEGE-ABBREVS-TABLE
210
+ const ACL_SELECT = "r";
211
+ const ACL_INSERT = "a";
212
+ const ACL_UPDATE = "w";
213
+ const ACL_DELETE = "d";
214
+ const ACL_TRUNCATE = "D";
215
+ const ACL_REFERENCES = "x";
216
+ const ACL_TRIGGER = "t";
217
+ const ACL_CREATE = "C";
218
+ const ACL_CONNECT = "c";
219
+ const ACL_CREATE_TEMP = "T";
220
+ const ACL_MAINTAIN = "m";
221
+ const ACL_EXECUTE = "X";
222
+ const ACL_USAGE = "U";
223
+ // const ACL_SET = "s";
224
+ // const ACL_ALTER_SYSTEM = "A";
225
+ /** @see {@link https://github.com/postgres/postgres/blob/4908c5872059c409aa647bcde758dfeffe07996e/src/include/nodes/parsenodes.h#L91} */
226
+ const ACL_NO_RIGHTS = "";
227
+ /** @see {@link https://github.com/postgres/postgres/blob/4908c5872059c409aa647bcde758dfeffe07996e/src/include/utils/acl.h#L159} */
228
+ const ACL_ALL_RIGHTS_RELATION = `${ACL_INSERT}${ACL_SELECT}${ACL_UPDATE}${ACL_DELETE}${ACL_TRUNCATE}${ACL_REFERENCES}${ACL_TRIGGER}${ACL_MAINTAIN}`;
229
+ const ACL_ALL_RIGHTS_SEQUENCE = `${ACL_USAGE}${ACL_SELECT}${ACL_UPDATE}`;
230
+ const ACL_ALL_RIGHTS_DATABASE = `${ACL_CREATE}${ACL_CREATE_TEMP}${ACL_CONNECT}`;
231
+ const ACL_ALL_RIGHTS_FDW = ACL_USAGE;
232
+ const ACL_ALL_RIGHTS_FOREIGN_SERVER = ACL_USAGE;
233
+ const ACL_ALL_RIGHTS_FUNCTION = ACL_EXECUTE;
234
+ const ACL_ALL_RIGHTS_LANGUAGE = ACL_USAGE;
235
+ const ACL_ALL_RIGHTS_LARGEOBJECT = `${ACL_SELECT}${ACL_UPDATE}`;
236
+ const ACL_ALL_RIGHTS_SCHEMA = `${ACL_USAGE}${ACL_CREATE}`;
237
+ const ACL_ALL_RIGHTS_TABLESPACE = ACL_CREATE;
238
+ const ACL_ALL_RIGHTS_TYPE = ACL_USAGE;
195
239
  /**
196
240
  * Returns a list of AclObject by parsing the given input ACL strings. If no
197
241
  * ACL strings are present then it will return the default (implied) ACL for
@@ -205,45 +249,79 @@ exports.OBJECT_TYPE = "OBJECT_TYPE";
205
249
  *
206
250
  * https://github.com/postgres/postgres/blob/fb3b098fe88441f9531a5169008ea17eac01301f/src/include/utils/acl.h#L153-L167
207
251
  */
208
- function parseAcls(introspection, inAcls, ownerId, type) {
252
+ function parseAcls(introspection, inAcls, ownerId, objtype) {
209
253
  const aclStrings = inAcls ||
210
254
  (() => {
211
255
  const owner = getRole(introspection, ownerId);
212
- switch (type) {
256
+ let worldDefault;
257
+ let ownerDefault;
258
+ switch (objtype) {
259
+ case exports.OBJECT_COLUMN:
260
+ worldDefault = ACL_NO_RIGHTS;
261
+ ownerDefault = ACL_NO_RIGHTS;
262
+ break;
213
263
  case exports.OBJECT_TABLE:
214
- return [`${owner.rolname}=arwdDxt/${owner.rolname}`];
264
+ worldDefault = ACL_NO_RIGHTS;
265
+ ownerDefault = ACL_ALL_RIGHTS_RELATION;
266
+ break;
215
267
  case exports.OBJECT_SEQUENCE:
216
- return [`${owner.rolname}=Urw/${owner.rolname}`];
268
+ worldDefault = ACL_NO_RIGHTS;
269
+ ownerDefault = ACL_ALL_RIGHTS_SEQUENCE;
270
+ break;
217
271
  case exports.OBJECT_DATABASE:
218
- return [
219
- `=Tc/${owner.rolname}`,
220
- `${owner.rolname}=CTc/${owner.rolname}`,
221
- ];
272
+ worldDefault = `${ACL_CREATE_TEMP}${ACL_CONNECT}`;
273
+ ownerDefault = ACL_ALL_RIGHTS_DATABASE;
274
+ break;
222
275
  case exports.OBJECT_FUNCTION:
223
- return [`=X/${owner.rolname}`, `${owner.rolname}=X/${owner.rolname}`];
276
+ worldDefault = ACL_EXECUTE;
277
+ ownerDefault = ACL_ALL_RIGHTS_FUNCTION;
278
+ break;
224
279
  case exports.OBJECT_LANGUAGE:
225
- return [`=U/${owner.rolname}`, `${owner.rolname}=U/${owner.rolname}`];
280
+ worldDefault = ACL_USAGE;
281
+ ownerDefault = ACL_ALL_RIGHTS_LANGUAGE;
282
+ break;
226
283
  case exports.OBJECT_LARGEOBJECT:
227
- return [`${owner.rolname}=rw/${owner.rolname}`];
284
+ worldDefault = ACL_NO_RIGHTS;
285
+ ownerDefault = ACL_ALL_RIGHTS_LARGEOBJECT;
286
+ break;
228
287
  case exports.OBJECT_SCHEMA:
229
- return [`${owner.rolname}=UC/${owner.rolname}`];
288
+ worldDefault = ACL_NO_RIGHTS;
289
+ ownerDefault = ACL_ALL_RIGHTS_SCHEMA;
290
+ break;
230
291
  case exports.OBJECT_TABLESPACE:
231
- return [`${owner.rolname}=C/${owner.rolname}`];
292
+ worldDefault = ACL_NO_RIGHTS;
293
+ ownerDefault = ACL_ALL_RIGHTS_TABLESPACE;
294
+ break;
232
295
  case exports.OBJECT_FDW:
233
- return [`${owner.rolname}=U/${owner.rolname}`];
296
+ worldDefault = ACL_NO_RIGHTS;
297
+ ownerDefault = ACL_ALL_RIGHTS_FDW;
298
+ break;
234
299
  case exports.OBJECT_FOREIGN_SERVER:
235
- return [`${owner.rolname}=U/${owner.rolname}`];
300
+ worldDefault = ACL_NO_RIGHTS;
301
+ ownerDefault = ACL_ALL_RIGHTS_FOREIGN_SERVER;
302
+ break;
236
303
  case exports.OBJECT_DOMAIN:
237
304
  case exports.OBJECT_TYPE:
238
- return [`=U/${owner.rolname}`, `${owner.rolname}=U/${owner.rolname}`];
305
+ worldDefault = ACL_USAGE;
306
+ ownerDefault = ACL_ALL_RIGHTS_TYPE;
307
+ break;
239
308
  default:
240
- return [];
309
+ worldDefault = ACL_NO_RIGHTS;
310
+ ownerDefault = ACL_NO_RIGHTS;
311
+ break;
312
+ }
313
+ const acl = [];
314
+ if (worldDefault !== ACL_NO_RIGHTS) {
315
+ acl.push(`=${worldDefault}/${owner.rolname}`);
316
+ }
317
+ if (ownerDefault !== ACL_NO_RIGHTS) {
318
+ acl.push(`${owner.rolname}=${ownerDefault}/${owner.rolname}`);
241
319
  }
320
+ return acl;
242
321
  })();
243
322
  const acls = aclStrings.map((aclString) => parseAcl(aclString));
244
323
  return acls;
245
324
  }
246
- exports.parseAcls = parseAcls;
247
325
  // Forewarning: I hate TypeScript enums. Your PR to convert this to a
248
326
  // TypeScript enum will be rejected.
249
327
  exports.Permission = {
@@ -271,25 +349,9 @@ exports.Permission = {
271
349
  connectGrant: "connectGrant",
272
350
  temporary: "temporary",
273
351
  temporaryGrant: "temporaryGrant",
352
+ maintain: "maintain",
353
+ maintainGrant: "maintainGrant",
274
354
  };
275
- /*
276
- * For default permissions, see:
277
- * https://github.com/postgres/postgres/blob/14aec03502302eff6c67981d8fd121175c436ce9/src/backend/utils/adt/acl.c#L748-L854
278
- *
279
- * For what the privileges mean, see:
280
- * https://www.postgresql.org/docs/current/ddl-priv.html#PRIVILEGE-ABBREVS-TABLE
281
- */
282
- function aclsForTable(introspection, table) {
283
- const dbOwner = getRole(introspection, introspection.database.datdba);
284
- const isSequence = table.relkind === "S";
285
- const tableOwner = getRole(introspection, table.relowner);
286
- const defaultAcl = isSequence
287
- ? [`${tableOwner.rolname}=/${dbOwner.rolname}`]
288
- : [`=/${dbOwner.rolname}`, `${dbOwner.rolname}=/${dbOwner.rolname}`];
289
- const acls = (table.relacl || defaultAcl).map((aclString) => parseAcl(aclString));
290
- return acls;
291
- }
292
- exports.aclsForTable = aclsForTable;
293
355
  /**
294
356
  * Returns all the roles role has been granted (including PUBLIC),
295
357
  * respecting `NOINHERIT`
@@ -314,7 +376,6 @@ function expandRoles(introspection, roles, includeNoInherit = false) {
314
376
  roles.forEach(addRole);
315
377
  return allRoles;
316
378
  }
317
- exports.expandRoles = expandRoles;
318
379
  /**
319
380
  * Returns true if ACL was applied to this role, or a role that this role
320
381
  * inherits from (including public).
@@ -329,42 +390,46 @@ function aclContainsRole(introspection, acl, role, includeNoInherit = false) {
329
390
  const expandedRoles = expandRoles(introspection, [role], includeNoInherit);
330
391
  return expandedRoles.includes(aclRole);
331
392
  }
332
- exports.aclContainsRole = aclContainsRole;
333
393
  /**
334
394
  * Filters the ACL objects to only those that apply to `role`, then calculates
335
395
  * the `OR` of all the permissions to see what permissions the role has.
336
396
  */
337
- function resolvePermissions(introspection, acls, role, includeNoInherit = false) {
397
+ function resolvePermissions(introspection, acls, role, includeNoInherit = false, isOwnerAndHasNoExplicitACLs = false) {
338
398
  const expandedRoles = expandRoles(introspection, [role], includeNoInherit);
339
399
  const isSuperuser = expandedRoles.some((role) => role.rolsuper);
340
- // Just as in life, you start with nothing...
400
+ // Superusers have all permissions. An owner of an object has all permissions
401
+ // _unless_ there's a specific ACL for that owner. In all other cases, just as
402
+ // in life, you start with nothing...
403
+ const grantAll = isSuperuser || isOwnerAndHasNoExplicitACLs;
341
404
  const permissions = {
342
- select: isSuperuser,
343
- selectGrant: isSuperuser,
344
- update: isSuperuser,
345
- updateGrant: isSuperuser,
346
- insert: isSuperuser,
347
- insertGrant: isSuperuser,
348
- delete: isSuperuser,
349
- deleteGrant: isSuperuser,
350
- truncate: isSuperuser,
351
- truncateGrant: isSuperuser,
352
- references: isSuperuser,
353
- referencesGrant: isSuperuser,
354
- trigger: isSuperuser,
355
- triggerGrant: isSuperuser,
356
- execute: isSuperuser,
357
- executeGrant: isSuperuser,
358
- usage: isSuperuser,
359
- usageGrant: isSuperuser,
360
- create: isSuperuser,
361
- createGrant: isSuperuser,
362
- connect: isSuperuser,
363
- connectGrant: isSuperuser,
364
- temporary: isSuperuser,
365
- temporaryGrant: isSuperuser,
405
+ select: grantAll,
406
+ selectGrant: grantAll,
407
+ update: grantAll,
408
+ updateGrant: grantAll,
409
+ insert: grantAll,
410
+ insertGrant: grantAll,
411
+ delete: grantAll,
412
+ deleteGrant: grantAll,
413
+ truncate: grantAll,
414
+ truncateGrant: grantAll,
415
+ references: grantAll,
416
+ referencesGrant: grantAll,
417
+ trigger: grantAll,
418
+ triggerGrant: grantAll,
419
+ execute: grantAll,
420
+ executeGrant: grantAll,
421
+ usage: grantAll,
422
+ usageGrant: grantAll,
423
+ create: grantAll,
424
+ createGrant: grantAll,
425
+ connect: grantAll,
426
+ connectGrant: grantAll,
427
+ temporary: grantAll,
428
+ temporaryGrant: grantAll,
429
+ maintain: grantAll,
430
+ maintainGrant: grantAll,
366
431
  };
367
- if (isSuperuser) {
432
+ if (grantAll) {
368
433
  return permissions;
369
434
  }
370
435
  for (const acl of acls) {
@@ -397,9 +462,27 @@ function resolvePermissions(introspection, acls, role, includeNoInherit = false)
397
462
  permissions.temporary = permissions.temporary || acl.temporary;
398
463
  permissions.temporaryGrant =
399
464
  permissions.temporaryGrant || acl.temporaryGrant;
465
+ permissions.maintain = permissions.maintain || acl.maintain;
466
+ permissions.maintainGrant =
467
+ permissions.maintainGrant || acl.maintainGrant;
400
468
  }
401
469
  }
402
470
  return permissions;
403
471
  }
404
- exports.resolvePermissions = resolvePermissions;
472
+ function entityPermissions(introspection, entity, role, includeNoInherit = false) {
473
+ const acls = entity.getACL();
474
+ const owner = entity._type === "PgAttribute"
475
+ ? entity.getClass()?.getOwner()
476
+ : entity.getOwner();
477
+ // If the role is the owner, and no explicit ACLs have been granted to this role, then the owner has all privileges.
478
+ const isOwnerAndHasNoExplicitACLs = owner &&
479
+ owner === role &&
480
+ !acls.some((acl) => acl.role === owner.rolname) &&
481
+ (entity._type !== "PgAttribute" ||
482
+ !entity
483
+ .getClass()
484
+ ?.getACL()
485
+ .some((acl) => acl.role === owner.rolname));
486
+ return resolvePermissions(introspection, acls, role, includeNoInherit, isOwnerAndHasNoExplicitACLs);
487
+ }
405
488
  //# sourceMappingURL=acl.js.map
package/dist/acl.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"acl.js","sourceRoot":"","sources":["../src/acl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acl.js","sourceRoot":"","sources":["../src/acl.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"augmentIntrospection.d.ts","sourceRoot":"","sources":["../src/augmentIntrospection.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,aAAa,EAWd,MAAM,oBAAoB,CAAC;AAgC5B;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,0BAA0B,EAAE,MAAM,EAClC,yBAAyB,UAAQ,GAChC,aAAa,CAybf"}
1
+ {"version":3,"file":"augmentIntrospection.d.ts","sourceRoot":"","sources":["../src/augmentIntrospection.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,aAAa,EAWd,MAAM,oBAAoB,CAAC;AAgC5B;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,0BAA0B,EAAE,MAAM,EAClC,yBAAyB,UAAQ,GAChC,aAAa,CAkdf"}