@weave-kit/engine 1.5.0 → 1.6.0
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 +17 -0
- package/dist/cli/commands/deploy.d.ts.map +1 -1
- package/dist/cli/commands/deploy.js +5 -4
- package/dist/cli/commands/deploy.js.map +1 -1
- package/dist/cli/commands/dev.js +4 -4
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +7 -3
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/migrate.d.ts.map +1 -1
- package/dist/cli/commands/migrate.js +3 -2
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/workflow-switch.js +2 -2
- package/dist/cli/commands/workflow-switch.js.map +1 -1
- package/dist/core/storage/diff.d.ts +4 -2
- package/dist/core/storage/diff.d.ts.map +1 -1
- package/dist/core/storage/diff.js +14 -12
- package/dist/core/storage/diff.js.map +1 -1
- package/dist/core/storage/index.d.ts +3 -1
- package/dist/core/storage/index.d.ts.map +1 -1
- package/dist/core/storage/index.js +2 -1
- package/dist/core/storage/index.js.map +1 -1
- package/dist/core/storage/inspect.d.ts +6 -0
- package/dist/core/storage/inspect.d.ts.map +1 -1
- package/dist/core/storage/inspect.js +19 -18
- package/dist/core/storage/inspect.js.map +1 -1
- package/dist/core/storage/link-table.d.ts +3 -2
- package/dist/core/storage/link-table.d.ts.map +1 -1
- package/dist/core/storage/link-table.js +5 -4
- package/dist/core/storage/link-table.js.map +1 -1
- package/dist/core/storage/meta.d.ts +3 -2
- package/dist/core/storage/meta.d.ts.map +1 -1
- package/dist/core/storage/meta.js +5 -4
- package/dist/core/storage/meta.js.map +1 -1
- package/dist/core/storage/migrate.d.ts +8 -0
- package/dist/core/storage/migrate.d.ts.map +1 -1
- package/dist/core/storage/migrate.js +39 -27
- package/dist/core/storage/migrate.js.map +1 -1
- package/dist/core/storage/object-rls.d.ts +2 -0
- package/dist/core/storage/object-rls.d.ts.map +1 -1
- package/dist/core/storage/object-rls.js +4 -3
- package/dist/core/storage/object-rls.js.map +1 -1
- package/dist/core/storage/pool.d.ts +7 -0
- package/dist/core/storage/pool.d.ts.map +1 -1
- package/dist/core/storage/pool.js +9 -0
- package/dist/core/storage/pool.js.map +1 -1
- package/dist/core/storage/record-meta.d.ts +2 -1
- package/dist/core/storage/record-meta.d.ts.map +1 -1
- package/dist/core/storage/record-meta.js +3 -1
- package/dist/core/storage/record-meta.js.map +1 -1
- package/dist/core/storage/schema-scope.d.ts +33 -0
- package/dist/core/storage/schema-scope.d.ts.map +1 -0
- package/dist/core/storage/schema-scope.js +45 -0
- package/dist/core/storage/schema-scope.js.map +1 -0
- package/dist/core/storage/system-tables.d.ts +3 -2
- package/dist/core/storage/system-tables.d.ts.map +1 -1
- package/dist/core/storage/system-tables.js +7 -4
- package/dist/core/storage/system-tables.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/runtime/engine.d.ts +10 -1
- package/dist/runtime/engine.d.ts.map +1 -1
- package/dist/runtime/engine.js +10 -5
- package/dist/runtime/engine.js.map +1 -1
- package/dist/runtime/git/sync.d.ts +2 -0
- package/dist/runtime/git/sync.d.ts.map +1 -1
- package/dist/runtime/git/sync.js +1 -0
- package/dist/runtime/git/sync.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-rls.d.ts","sourceRoot":"","sources":["../../../src/core/storage/object-rls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"object-rls.d.ts","sourceRoot":"","sources":["../../../src/core/storage/object-rls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gHAAgH;IAChH,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EACxC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAAO,GACpD,aAAa,CAwBf"}
|
|
@@ -20,6 +20,7 @@ const OBJECT_PRIVILEGES = ['SELECT', 'UPDATE', 'DELETE'];
|
|
|
20
20
|
export function planObjectRls(registry, actual, role, options = {}) {
|
|
21
21
|
const statements = [];
|
|
22
22
|
const skipped = [];
|
|
23
|
+
const systemSchema = options.scope?.systemSchema;
|
|
23
24
|
for (const def of registry.list()) {
|
|
24
25
|
const table = actual.get(def.name);
|
|
25
26
|
if (table !== undefined && options.owner !== undefined && !(def.alter === true && table.owner === options.owner)) {
|
|
@@ -28,7 +29,7 @@ export function planObjectRls(registry, actual, role, options = {}) {
|
|
|
28
29
|
}
|
|
29
30
|
statements.push(...diffObjectRls(def.name, table, role, buildObjectRlsPolicies(registry, def), OBJECT_PRIVILEGES));
|
|
30
31
|
const meta = recordMetaTableName(def.name);
|
|
31
|
-
statements.push(...diffGrants(meta, actual.get(meta), role, ['SELECT']));
|
|
32
|
+
statements.push(...diffGrants(meta, actual.get(meta), role, ['SELECT'], systemSchema));
|
|
32
33
|
}
|
|
33
34
|
for (const name of SYSTEM_OBJECT_NAMES) {
|
|
34
35
|
statements.push(...diffGrants(name, actual.get(name), role, ['SELECT']));
|
|
@@ -36,8 +37,8 @@ export function planObjectRls(registry, actual, role, options = {}) {
|
|
|
36
37
|
const defs = new Map([...systemObjects(), ...registry.list()].map((d) => [d.name, d]));
|
|
37
38
|
// link rows are scoped by the target-visibility predicate the query carries
|
|
38
39
|
const linkPolicy = [{ name: OBJECT_RLS_POLICIES.SELECT, command: 'SELECT', using: 'true' }];
|
|
39
|
-
for (const link of buildLinkTables(defs, registry.fieldTypes)) {
|
|
40
|
-
statements.push(...diffObjectRls(link.name, actual.get(link.name), role, linkPolicy, ['SELECT']));
|
|
40
|
+
for (const link of buildLinkTables(defs, registry.fieldTypes, options.scope)) {
|
|
41
|
+
statements.push(...diffObjectRls(link.name, actual.get(link.name), role, linkPolicy, ['SELECT'], systemSchema));
|
|
41
42
|
}
|
|
42
43
|
return { statements, skipped };
|
|
43
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-rls.js","sourceRoot":"","sources":["../../../src/core/storage/object-rls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"object-rls.js","sourceRoot":"","sources":["../../../src/core/storage/object-rls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import pg from 'pg';
|
|
2
2
|
/** create a pg connection pool from a DATABASE_URL connection string */
|
|
3
3
|
export declare function createPool(databaseUrl: string, options?: pg.PoolConfig): pg.Pool;
|
|
4
|
+
/**
|
|
5
|
+
* Pool config that appends `systemSchema` to `search_path` (after the object
|
|
6
|
+
* schema), so unqualified engine-table references (`weavekit_*`, record-meta,
|
|
7
|
+
* link tables) resolve to the dedicated schema while customer/identity tables
|
|
8
|
+
* still resolve to the object schema first. `undefined` → the default path.
|
|
9
|
+
*/
|
|
10
|
+
export declare function searchPathOptions(systemSchema?: string): pg.PoolConfig;
|
|
4
11
|
//# sourceMappingURL=pool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/core/storage/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,EAAE,CAAC,UAAe,GAAG,EAAE,CAAC,IAAI,CAEpF"}
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/core/storage/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,EAAE,CAAC,UAAe,GAAG,EAAE,CAAC,IAAI,CAEpF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAEtE"}
|
|
@@ -3,4 +3,13 @@ import pg from 'pg';
|
|
|
3
3
|
export function createPool(databaseUrl, options = {}) {
|
|
4
4
|
return new pg.Pool({ connectionString: databaseUrl, ...options });
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* Pool config that appends `systemSchema` to `search_path` (after the object
|
|
8
|
+
* schema), so unqualified engine-table references (`weavekit_*`, record-meta,
|
|
9
|
+
* link tables) resolve to the dedicated schema while customer/identity tables
|
|
10
|
+
* still resolve to the object schema first. `undefined` → the default path.
|
|
11
|
+
*/
|
|
12
|
+
export function searchPathOptions(systemSchema) {
|
|
13
|
+
return systemSchema === undefined ? {} : { options: `-c search_path="$user",public,${systemSchema}` };
|
|
14
|
+
}
|
|
6
15
|
//# sourceMappingURL=pool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/core/storage/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,wEAAwE;AACxE,MAAM,UAAU,UAAU,CAAC,WAAmB,EAAE,UAAyB,EAAE;IACzE,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACpE,CAAC"}
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/core/storage/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,wEAAwE;AACxE,MAAM,UAAU,UAAU,CAAC,WAAmB,EAAE,UAAyB,EAAE;IACzE,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACpE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAAqB;IACrD,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,iCAAiC,YAAY,EAAE,EAAE,CAAC;AACxG,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ExpectedTable } from './diff.js';
|
|
2
|
+
import type { SchemaScope } from './schema-scope.js';
|
|
2
3
|
/**
|
|
3
4
|
* Engine-owned per-object record metadata ("side table").
|
|
4
5
|
*
|
|
@@ -64,5 +65,5 @@ export declare function isRecordMetaTable(name: string): boolean;
|
|
|
64
65
|
* tables (`weavekit_user`) land with the identity subsystem, and orphan cleanup
|
|
65
66
|
* is handled at the data-access layer, not by a hard FK.
|
|
66
67
|
*/
|
|
67
|
-
export declare function buildRecordMetaTable(object: string): ExpectedTable;
|
|
68
|
+
export declare function buildRecordMetaTable(object: string, scope?: SchemaScope): ExpectedTable;
|
|
68
69
|
//# sourceMappingURL=record-meta.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-meta.d.ts","sourceRoot":"","sources":["../../../src/core/storage/record-meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"record-meta.d.ts","sourceRoot":"","sources":["../../../src/core/storage/record-meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAE5D,mEAAmE;AACnE,eAAO,MAAM,mBAAmB;;;;;;;;;CAStB,CAAC;AAEX,wDAAwD;AACxD,eAAO,MAAM,0BAA0B,SAAqB,CAAC;AAE7D,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,WAAW,CAAC;AAEnD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,aAAoC,CAAC;AAEtE,mFAAmF;AACnF,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,EAAE,SAAS,0BAA0B,EAShF,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAAuD,CAAC;AAEhH,0EAA0E;AAC1E,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,6FAA6F;AAC7F,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,oCAAoC;AACpC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,aAAa,CAgCvF"}
|
|
@@ -74,12 +74,14 @@ export function isRecordMetaTable(name) {
|
|
|
74
74
|
* tables (`weavekit_user`) land with the identity subsystem, and orphan cleanup
|
|
75
75
|
* is handled at the data-access layer, not by a hard FK.
|
|
76
76
|
*/
|
|
77
|
-
export function buildRecordMetaTable(object) {
|
|
77
|
+
export function buildRecordMetaTable(object, scope) {
|
|
78
78
|
const name = recordMetaTableName(object);
|
|
79
|
+
const schema = scope?.systemSchema;
|
|
79
80
|
const text = { type: 'TEXT', notNull: false, primary: false, unique: false };
|
|
80
81
|
const ts = { type: 'TIMESTAMPTZ', notNull: false, primary: false, unique: false };
|
|
81
82
|
return {
|
|
82
83
|
name,
|
|
84
|
+
...(schema === undefined ? {} : { schema }),
|
|
83
85
|
columns: [
|
|
84
86
|
{ name: RECORD_META_COLUMNS.RECORD_KEY, type: 'TEXT', notNull: true, primary: true, unique: false },
|
|
85
87
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-meta.js","sourceRoot":"","sources":["../../../src/core/storage/record-meta.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"record-meta.js","sourceRoot":"","sources":["../../../src/core/storage/record-meta.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System-schema scope.
|
|
3
|
+
*
|
|
4
|
+
* By default the engine's own tables (`weavekit_*` system tables, the
|
|
5
|
+
* `weavekit_record__<object>` metadata side tables and the `weavekit_m2m__*`
|
|
6
|
+
* link tables) live in the connection's `current_schema()` alongside customer
|
|
7
|
+
* tables. `EngineConfig.systemSchema` moves them into a dedicated schema so a
|
|
8
|
+
* DBA reviewing the customer schema does not see engine plumbing.
|
|
9
|
+
*
|
|
10
|
+
* The mechanism is **explicit qualification** (not `search_path`): every emitted
|
|
11
|
+
* identifier for an engine table is qualified with the configured schema, and
|
|
12
|
+
* identifiers left unqualified (customer + identity object tables) resolve to
|
|
13
|
+
* the object schema. `undefined` reproduces the legacy behaviour exactly.
|
|
14
|
+
*/
|
|
15
|
+
/** the schema that holds engine-owned tables; `undefined` = connection default */
|
|
16
|
+
export interface SchemaScope {
|
|
17
|
+
readonly systemSchema?: string;
|
|
18
|
+
}
|
|
19
|
+
/** the scope used when no system schema is configured (legacy behaviour) */
|
|
20
|
+
export declare const DEFAULT_SCHEMA_SCOPE: SchemaScope;
|
|
21
|
+
/** fail-closed validation of a configured system-schema name */
|
|
22
|
+
export declare function assertSchemaName(name: string): void;
|
|
23
|
+
/** build a scope from config (validates the identifier); `undefined` → default */
|
|
24
|
+
export declare function createSchemaScope(systemSchema?: string): SchemaScope;
|
|
25
|
+
/** true when a dedicated system schema is configured */
|
|
26
|
+
export declare function isScoped(scope?: SchemaScope): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Quote a bare table name, qualified to the system schema when one is set.
|
|
29
|
+
* Callers pass the engine table's base name (e.g. `SYSTEM_TABLES.AUDIT` or
|
|
30
|
+
* `recordMetaTableName(object)`).
|
|
31
|
+
*/
|
|
32
|
+
export declare function qualifyTable(name: string, scope?: SchemaScope): string;
|
|
33
|
+
//# sourceMappingURL=schema-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-scope.d.ts","sourceRoot":"","sources":["../../../src/core/storage/schema-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,EAAE,WAAgB,CAAC;AAEpD,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAInD;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,CAIpE;AAED,wDAAwD;AACxD,wBAAgB,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAErD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,CAGtE"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System-schema scope.
|
|
3
|
+
*
|
|
4
|
+
* By default the engine's own tables (`weavekit_*` system tables, the
|
|
5
|
+
* `weavekit_record__<object>` metadata side tables and the `weavekit_m2m__*`
|
|
6
|
+
* link tables) live in the connection's `current_schema()` alongside customer
|
|
7
|
+
* tables. `EngineConfig.systemSchema` moves them into a dedicated schema so a
|
|
8
|
+
* DBA reviewing the customer schema does not see engine plumbing.
|
|
9
|
+
*
|
|
10
|
+
* The mechanism is **explicit qualification** (not `search_path`): every emitted
|
|
11
|
+
* identifier for an engine table is qualified with the configured schema, and
|
|
12
|
+
* identifiers left unqualified (customer + identity object tables) resolve to
|
|
13
|
+
* the object schema. `undefined` reproduces the legacy behaviour exactly.
|
|
14
|
+
*/
|
|
15
|
+
/** a validated lowercase PostgreSQL identifier */
|
|
16
|
+
const IDENTIFIER = /^[a-z_][a-z0-9_]*$/;
|
|
17
|
+
/** the scope used when no system schema is configured (legacy behaviour) */
|
|
18
|
+
export const DEFAULT_SCHEMA_SCOPE = {};
|
|
19
|
+
/** fail-closed validation of a configured system-schema name */
|
|
20
|
+
export function assertSchemaName(name) {
|
|
21
|
+
if (!IDENTIFIER.test(name)) {
|
|
22
|
+
throw new Error(`invalid systemSchema "${name}" (expected a lowercase identifier like "weavekit")`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/** build a scope from config (validates the identifier); `undefined` → default */
|
|
26
|
+
export function createSchemaScope(systemSchema) {
|
|
27
|
+
if (systemSchema === undefined)
|
|
28
|
+
return DEFAULT_SCHEMA_SCOPE;
|
|
29
|
+
assertSchemaName(systemSchema);
|
|
30
|
+
return { systemSchema };
|
|
31
|
+
}
|
|
32
|
+
/** true when a dedicated system schema is configured */
|
|
33
|
+
export function isScoped(scope) {
|
|
34
|
+
return scope?.systemSchema !== undefined;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Quote a bare table name, qualified to the system schema when one is set.
|
|
38
|
+
* Callers pass the engine table's base name (e.g. `SYSTEM_TABLES.AUDIT` or
|
|
39
|
+
* `recordMetaTableName(object)`).
|
|
40
|
+
*/
|
|
41
|
+
export function qualifyTable(name, scope) {
|
|
42
|
+
const schema = scope?.systemSchema;
|
|
43
|
+
return schema === undefined ? `"${name}"` : `"${schema}"."${name}"`;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=schema-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-scope.js","sourceRoot":"","sources":["../../../src/core/storage/schema-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,kDAAkD;AAClD,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAOxC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAgB,EAAE,CAAC;AAEpD,gEAAgE;AAChE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,qDAAqD,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,iBAAiB,CAAC,YAAqB;IACrD,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,oBAAoB,CAAC;IAC5D,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC/B,OAAO,EAAE,YAAY,EAAE,CAAC;AAC1B,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,QAAQ,CAAC,KAAmB;IAC1C,OAAO,KAAK,EAAE,YAAY,KAAK,SAAS,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,KAAmB;IAC5D,MAAM,MAAM,GAAG,KAAK,EAAE,YAAY,CAAC;IACnC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,MAAM,IAAI,GAAG,CAAC;AACtE,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ExpectedTable } from './diff.js';
|
|
2
|
+
import { type SchemaScope } from './schema-scope.js';
|
|
2
3
|
/**
|
|
3
4
|
* Engine-owned **system tables**.
|
|
4
5
|
*
|
|
@@ -37,11 +38,11 @@ export declare const SYSTEM_TABLE_NAMES: readonly string[];
|
|
|
37
38
|
* unconditionally, so a single `weave migrate` provisions everything the
|
|
38
39
|
* runtime needs; the runtime itself never runs DDL.
|
|
39
40
|
*/
|
|
40
|
-
export declare function buildSystemTables(): ExpectedTable[];
|
|
41
|
+
export declare function buildSystemTables(scope?: SchemaScope): ExpectedTable[];
|
|
41
42
|
/**
|
|
42
43
|
* ACL hardening for system tables (run by `migrate`, idempotent). The audit
|
|
43
44
|
* trail is append-only: non-owners must not be able to erase history.
|
|
44
45
|
* (`DROP` is ownership-only in PostgreSQL; `TRUNCATE` is the grantable risk.)
|
|
45
46
|
*/
|
|
46
|
-
export declare function systemHardeningStatements(): string[];
|
|
47
|
+
export declare function systemHardeningStatements(scope?: SchemaScope): string[];
|
|
47
48
|
//# sourceMappingURL=system-tables.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-tables.d.ts","sourceRoot":"","sources":["../../../src/core/storage/system-tables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"system-tables.d.ts","sourceRoot":"","sources":["../../../src/core/storage/system-tables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;;;;;;;;;;;GAYG;AAEH,iFAAiF;AACjF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;CAgBhB,CAAC;AAEX,gDAAgD;AAChD,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAAiC,CAAC;AA6SlF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,aAAa,EAAE,CAoBtE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE,CAEvE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { qualifyTable } from './schema-scope.js';
|
|
1
2
|
/**
|
|
2
3
|
* Engine-owned **system tables**.
|
|
3
4
|
*
|
|
@@ -315,8 +316,9 @@ const counters = () => ({
|
|
|
315
316
|
* unconditionally, so a single `weave migrate` provisions everything the
|
|
316
317
|
* runtime needs; the runtime itself never runs DDL.
|
|
317
318
|
*/
|
|
318
|
-
export function buildSystemTables() {
|
|
319
|
-
|
|
319
|
+
export function buildSystemTables(scope) {
|
|
320
|
+
const schema = scope?.systemSchema;
|
|
321
|
+
const tables = [
|
|
320
322
|
meta(),
|
|
321
323
|
metadata(),
|
|
322
324
|
schemaRevision(),
|
|
@@ -333,13 +335,14 @@ export function buildSystemTables() {
|
|
|
333
335
|
workflowTimers(),
|
|
334
336
|
counters(),
|
|
335
337
|
];
|
|
338
|
+
return schema === undefined ? tables : tables.map((t) => ({ ...t, schema }));
|
|
336
339
|
}
|
|
337
340
|
/**
|
|
338
341
|
* ACL hardening for system tables (run by `migrate`, idempotent). The audit
|
|
339
342
|
* trail is append-only: non-owners must not be able to erase history.
|
|
340
343
|
* (`DROP` is ownership-only in PostgreSQL; `TRUNCATE` is the grantable risk.)
|
|
341
344
|
*/
|
|
342
|
-
export function systemHardeningStatements() {
|
|
343
|
-
return [`REVOKE TRUNCATE ON ${SYSTEM_TABLES.AUDIT} FROM PUBLIC;`];
|
|
345
|
+
export function systemHardeningStatements(scope) {
|
|
346
|
+
return [`REVOKE TRUNCATE ON ${qualifyTable(SYSTEM_TABLES.AUDIT, scope)} FROM PUBLIC;`];
|
|
344
347
|
}
|
|
345
348
|
//# sourceMappingURL=system-tables.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-tables.js","sourceRoot":"","sources":["../../../src/core/storage/system-tables.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"system-tables.js","sourceRoot":"","sources":["../../../src/core/storage/system-tables.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAKxE,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,GAChB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC1G,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC5H,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACzG,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAKxE,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,GAChB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC1G,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAC5H,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACzG,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CA8DhF"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createPool } from './core/index.js';
|
|
1
|
+
import { createPool, searchPathOptions } from './core/index.js';
|
|
2
2
|
import { autoCommit, buildCommitMessage, diffMetadata, gitCommitAuthor, loadSchemaDir, recordSchemaChanges, syncSchema, } from './runtime/git/index.js';
|
|
3
3
|
import { resolveFieldTypeRegistry } from './runtime/fieldtypes/index.js';
|
|
4
4
|
import { buildEngineFromRegistry, resolveLocale, resolveObjectRlsRole } from './runtime/engine.js';
|
|
@@ -53,6 +53,7 @@ export async function createEngine(config) {
|
|
|
53
53
|
databaseUrl: config.migrationDatabaseUrl ?? config.databaseUrl,
|
|
54
54
|
locale,
|
|
55
55
|
...(objectRlsRole === undefined ? {} : { objectRls: { role: objectRlsRole } }),
|
|
56
|
+
...(config.systemSchema === undefined ? {} : { systemSchema: config.systemSchema }),
|
|
56
57
|
allowedFieldTypes: config.features?.fieldTypes,
|
|
57
58
|
fieldTypes,
|
|
58
59
|
});
|
|
@@ -68,7 +69,7 @@ export async function createEngine(config) {
|
|
|
68
69
|
if (commit.committed && changes.length > 0) {
|
|
69
70
|
const author = await gitCommitAuthor(dir);
|
|
70
71
|
// reached only after a successful sync, which required a DB URL
|
|
71
|
-
const pool = createPool(config.migrationDatabaseUrl ?? config.databaseUrl ?? process.env.DATABASE_URL);
|
|
72
|
+
const pool = createPool(config.migrationDatabaseUrl ?? config.databaseUrl ?? process.env.DATABASE_URL, searchPathOptions(config.systemSchema));
|
|
72
73
|
try {
|
|
73
74
|
await recordSchemaChanges(pool, changes, sync.files, {
|
|
74
75
|
sha: commit.sha,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/engine.d.ts
CHANGED
|
@@ -279,6 +279,15 @@ export interface EngineConfig {
|
|
|
279
279
|
query?: {
|
|
280
280
|
total?: TotalMode;
|
|
281
281
|
};
|
|
282
|
+
/**
|
|
283
|
+
* Dedicated schema for the engine's own tables (`weavekit_*` system tables,
|
|
284
|
+
* `weavekit_record__<object>` side tables, `weavekit_m2m__*` link tables), so
|
|
285
|
+
* a DBA reviewing the customer schema does not see engine plumbing. Default
|
|
286
|
+
* (absent) keeps them in the object schema (legacy). Set the same value on
|
|
287
|
+
* `weave migrate`; the runtime appends it to `search_path`. Only affects new
|
|
288
|
+
* databases (existing installs need a manual `ALTER TABLE … SET SCHEMA`).
|
|
289
|
+
*/
|
|
290
|
+
systemSchema?: string;
|
|
282
291
|
/**
|
|
283
292
|
* Object-path row-level security (defense in depth; default off in 1.x).
|
|
284
293
|
* With `enforce`, the engine runs user-principal customer-table reads /
|
|
@@ -437,7 +446,7 @@ export declare function resolveObjectRlsRole(config: Pick<EngineConfig, 'rls'>):
|
|
|
437
446
|
* the runtime account, and every object table must carry the current policies
|
|
438
447
|
* and privileges (i.e. `weave migrate` ran with enforcement on).
|
|
439
448
|
*/
|
|
440
|
-
export declare function assertObjectRlsProvisioned(pool: Pool, registry: ObjectRegistry, role: string, locale: Locale): Promise<void>;
|
|
449
|
+
export declare function assertObjectRlsProvisioned(pool: Pool, registry: ObjectRegistry, role: string, locale: Locale, scope?: import('../core/index.js').SchemaScope): Promise<void>;
|
|
441
450
|
/**
|
|
442
451
|
* Fail-closed guard: refuse to start when the runtime account can create
|
|
443
452
|
* objects in the current schema. WeaveKit runs DDL only via `weave migrate`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAG/B,OAAO,EAML,cAAc,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/engine.js
CHANGED
|
@@ -2,7 +2,7 @@ import Fastify from 'fastify';
|
|
|
2
2
|
import cors from '@fastify/cors';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { createHash } from 'node:crypto';
|
|
5
|
-
import { DEFAULT_LOCALE, NOOP_AUDIT_SINK, NOOP_METRICS_SINK, NOOP_TRACE_SINK, METRIC_NAMES, ObjectRegistry, SchemaError, SUPPORTED_LOCALES, AUDIT_MODES, createPool, createSlidingWindow, parseTraceparent, inspectSchema, isSafeRlsRole, planObjectRls, OBJECT_RLS_ROLE_DEFAULT, } from '../core/index.js';
|
|
5
|
+
import { DEFAULT_LOCALE, NOOP_AUDIT_SINK, NOOP_METRICS_SINK, NOOP_TRACE_SINK, METRIC_NAMES, ObjectRegistry, SchemaError, SUPPORTED_LOCALES, AUDIT_MODES, createPool, createSchemaScope, createSlidingWindow, parseTraceparent, inspectSchema, isSafeRlsRole, planObjectRls, searchPathOptions, OBJECT_RLS_ROLE_DEFAULT, } from '../core/index.js';
|
|
6
6
|
import { createDataAccess, withRbac } from './data-access/index.js';
|
|
7
7
|
import { createToolExecutor, loadToolsDir } from './tools/index.js';
|
|
8
8
|
import { createApprovals } from './tools/index.js';
|
|
@@ -47,7 +47,7 @@ export function resolveObjectRlsRole(config) {
|
|
|
47
47
|
* the runtime account, and every object table must carry the current policies
|
|
48
48
|
* and privileges (i.e. `weave migrate` ran with enforcement on).
|
|
49
49
|
*/
|
|
50
|
-
export async function assertObjectRlsProvisioned(pool, registry, role, locale) {
|
|
50
|
+
export async function assertObjectRlsProvisioned(pool, registry, role, locale, scope) {
|
|
51
51
|
if (!isSafeRlsRole(role))
|
|
52
52
|
throw new SchemaError('engine.rls.notProvisioned', { detail: `invalid role "${role}"` }, locale);
|
|
53
53
|
const { rows } = await pool.query(`SELECT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = $1) AS present,
|
|
@@ -57,7 +57,11 @@ export async function assertObjectRlsProvisioned(pool, registry, role, locale) {
|
|
|
57
57
|
const detail = rows[0]?.present === true ? `role "${role}" is not granted to the runtime account` : `role "${role}" is missing`;
|
|
58
58
|
throw new SchemaError('engine.rls.notProvisioned', { detail }, locale);
|
|
59
59
|
}
|
|
60
|
-
const
|
|
60
|
+
const objectActual = await inspectSchema(pool);
|
|
61
|
+
const actual = scope?.systemSchema === undefined
|
|
62
|
+
? objectActual
|
|
63
|
+
: new Map([...objectActual, ...(await inspectSchema(pool, { schema: scope.systemSchema }))]);
|
|
64
|
+
const plan = planObjectRls(registry, actual, role, { scope });
|
|
61
65
|
if (plan.statements.length > 0) {
|
|
62
66
|
const tables = [...new Set(plan.statements.map((s) => /"([^"]+)"/.exec(s)?.[1]).filter((t) => t !== undefined))];
|
|
63
67
|
throw new SchemaError('engine.rls.notProvisioned', { detail: `missing policies/privileges on ${tables.join(', ')}` }, locale);
|
|
@@ -92,12 +96,13 @@ export async function buildEngineFromRegistry(registry, config) {
|
|
|
92
96
|
if (config.auth?.source === undefined && config.identity?.verifier === undefined) {
|
|
93
97
|
throw new SchemaError('auth.notConfigured', {}, locale);
|
|
94
98
|
}
|
|
95
|
-
const
|
|
99
|
+
const scope = createSchemaScope(config.systemSchema);
|
|
100
|
+
const pool = createPool(databaseUrl, searchPathOptions(scope.systemSchema));
|
|
96
101
|
const objectRlsRole = resolveObjectRlsRole(config);
|
|
97
102
|
try {
|
|
98
103
|
await assertRestrictedRuntimeAccount(pool, config, locale);
|
|
99
104
|
if (objectRlsRole !== undefined)
|
|
100
|
-
await assertObjectRlsProvisioned(pool, registry, objectRlsRole, locale);
|
|
105
|
+
await assertObjectRlsProvisioned(pool, registry, objectRlsRole, locale, scope);
|
|
101
106
|
}
|
|
102
107
|
catch (error) {
|
|
103
108
|
await pool.end();
|