pipework 0.45.0 → 0.50.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 +42 -0
- package/dist/REFERENCE.md +48 -1
- package/dist/async/jobs/execute.d.ts.map +1 -1
- package/dist/async/jobs/execute.js +2 -0
- package/dist/async/jobs/execute.js.map +1 -1
- package/dist/audit/schema/audit-record.d.ts +1 -1
- package/dist/audit/schema/audit-record.d.ts.map +1 -1
- package/dist/auth/auth/chain.d.ts.map +1 -1
- package/dist/auth/auth/chain.js +4 -1
- package/dist/auth/auth/chain.js.map +1 -1
- package/dist/core/config/load.d.ts +2 -0
- package/dist/core/config/load.d.ts.map +1 -1
- package/dist/core/config/load.js +19 -3
- package/dist/core/config/load.js.map +1 -1
- package/dist/core/config/namespace.d.ts +1 -0
- package/dist/core/config/namespace.d.ts.map +1 -1
- package/dist/core/config/resolve.d.ts +14 -0
- package/dist/core/config/resolve.d.ts.map +1 -1
- package/dist/core/config/resolve.js +33 -0
- package/dist/core/config/resolve.js.map +1 -1
- package/dist/core/config/schema.d.ts +2 -0
- package/dist/core/config/schema.d.ts.map +1 -1
- package/dist/core/config/schema.js +1 -0
- package/dist/core/config/schema.js.map +1 -1
- package/dist/data/db/db.d.ts.map +1 -1
- package/dist/data/db/db.js +10 -1
- package/dist/data/db/db.js.map +1 -1
- package/dist/data/domain/define.d.ts +1 -1
- package/dist/data/domain/define.d.ts.map +1 -1
- package/dist/data/domain/define.js.map +1 -1
- package/dist/data/domain/types.d.ts +14 -13
- package/dist/data/domain/types.d.ts.map +1 -1
- package/dist/data/valve/schema/valve-crossing.d.ts +1 -1
- package/dist/data/valve/schema/valve-crossing.d.ts.map +1 -1
- package/dist/request/context/create.d.ts +4 -0
- package/dist/request/context/create.d.ts.map +1 -1
- package/dist/request/context/create.js +3 -0
- package/dist/request/context/create.js.map +1 -1
- package/dist/request/context/types.d.ts +9 -0
- package/dist/request/context/types.d.ts.map +1 -1
- package/dist/request/http/middleware.d.ts.map +1 -1
- package/dist/request/http/middleware.js +1 -0
- package/dist/request/http/middleware.js.map +1 -1
- package/dist/test/fingerprint.d.ts +8 -0
- package/dist/test/fingerprint.d.ts.map +1 -1
- package/dist/test/fingerprint.js +2 -1
- package/dist/test/fingerprint.js.map +1 -1
- package/dist/test/setup.d.ts.map +1 -1
- package/dist/test/setup.js +106 -11
- package/dist/test/setup.js.map +1 -1
- package/dist/trace/schema/trace-retained.d.ts +1 -1
- package/dist/trace/schema/trace-retained.d.ts.map +1 -1
- package/dist/trace/schema/trace-step-retained.d.ts +1 -1
- package/dist/trace/schema/trace-step-retained.d.ts.map +1 -1
- package/dist/trace/schema/trace-step.d.ts +1 -1
- package/dist/trace/schema/trace-step.d.ts.map +1 -1
- package/dist/trace/schema/trace.d.ts +1 -1
- package/dist/trace/schema/trace.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { FieldDescriptor, DefineOptions, DefinedTable } from './types.js';
|
|
2
|
-
export declare function define<TFields extends Record<string, FieldDescriptor
|
|
2
|
+
export declare function define<TFields extends Record<string, FieldDescriptor>, TName extends string = string>(name: TName, initialFields: TFields, options?: DefineOptions): DefinedTable<TFields, TName>;
|
|
3
3
|
export declare function definitions(): ReadonlyMap<string, DefinedTable<any>>;
|
|
4
4
|
export declare function clearRegistry(): void;
|
|
5
5
|
//# sourceMappingURL=define.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../../src/data/domain/define.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAA6E,MAAM,YAAY,CAAA;AAYzJ,wBAAgB,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../../src/data/domain/define.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAA6E,MAAM,YAAY,CAAA;AAYzJ,wBAAgB,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,KAAK,SAAS,MAAM,GAAG,MAAM,EACnG,IAAI,EAAE,KAAK,EACX,aAAa,EAAE,OAAO,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAa9B;AAiLD,wBAAgB,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAEpE;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/data/domain/define.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,0JAA0J;AAC1J,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAA;AAErD,MAAM,UAAU,MAAM,CACpB,
|
|
1
|
+
{"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/data/domain/define.ts"],"names":[],"mappings":"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"}
|
|
@@ -120,17 +120,18 @@ export interface DefineOptions {
|
|
|
120
120
|
readonly partitionBy?: PartitionSpec;
|
|
121
121
|
}
|
|
122
122
|
/** Column type projected from a FieldDescriptor — carries the right data type for Drizzle operators. */
|
|
123
|
-
export type FieldColumn<F extends FieldDescriptor> = AnyPgColumn<{
|
|
123
|
+
export type FieldColumn<F extends FieldDescriptor, TName extends string = string> = AnyPgColumn<{
|
|
124
124
|
data: NonNullable<InferFieldOutput<F>>;
|
|
125
125
|
notNull: null extends InferFieldOutput<F> ? false : true;
|
|
126
|
+
tableName: TName;
|
|
126
127
|
}>;
|
|
127
128
|
/** Maps field definitions to typed Drizzle column references. */
|
|
128
|
-
export type ProjectedColumns<TFields extends FieldRecord> = {
|
|
129
|
-
readonly [K in keyof TFields & string]: FieldColumn<TFields[K]>;
|
|
129
|
+
export type ProjectedColumns<TFields extends FieldRecord, TName extends string = string> = {
|
|
130
|
+
readonly [K in keyof TFields & string]: FieldColumn<TFields[K], TName>;
|
|
130
131
|
};
|
|
131
132
|
/** Definition metadata and projection methods — the non-table surface of a DefinedTable. */
|
|
132
|
-
export interface DefinitionMethods<TFields extends FieldRecord = FieldRecord> {
|
|
133
|
-
readonly $name:
|
|
133
|
+
export interface DefinitionMethods<TFields extends FieldRecord = FieldRecord, TName extends string = string> {
|
|
134
|
+
readonly $name: TName;
|
|
134
135
|
readonly $fields: TFields;
|
|
135
136
|
readonly $options: DefineOptions;
|
|
136
137
|
readonly $traits: readonly string[];
|
|
@@ -139,9 +140,9 @@ export interface DefinitionMethods<TFields extends FieldRecord = FieldRecord> {
|
|
|
139
140
|
selectShape(): z.ZodType<SelectProjection<TFields>>;
|
|
140
141
|
updateShape(): z.ZodType<UpdateProjection<TFields>>;
|
|
141
142
|
factory(): FactoryBuilder;
|
|
142
|
-
effectiveDated(): DefinedTable<TFields & EffectiveDatedFields>;
|
|
143
|
-
audited(): DefinedTable<TFields & AuditedFields>;
|
|
144
|
-
softDeleted(): DefinedTable<TFields & SoftDeletedFields>;
|
|
143
|
+
effectiveDated(): DefinedTable<TFields & EffectiveDatedFields, TName>;
|
|
144
|
+
audited(): DefinedTable<TFields & AuditedFields, TName>;
|
|
145
|
+
softDeleted(): DefinedTable<TFields & SoftDeletedFields, TName>;
|
|
145
146
|
readonly Select: InferSelect<TFields>;
|
|
146
147
|
readonly Insert: InsertProjection<TFields>;
|
|
147
148
|
readonly Update: UpdateProjection<TFields>;
|
|
@@ -157,17 +158,17 @@ export interface DefinitionMethods<TFields extends FieldRecord = FieldRecord> {
|
|
|
157
158
|
* _['columns'] carries named, branded column types. Without this, select()
|
|
158
159
|
* and returning() fall back to index-signature records.
|
|
159
160
|
*/
|
|
160
|
-
export type DefinedTable<TFields extends FieldRecord = FieldRecord> = PgTable<{
|
|
161
|
-
name:
|
|
161
|
+
export type DefinedTable<TFields extends FieldRecord = FieldRecord, TName extends string = string> = PgTable<{
|
|
162
|
+
name: TName;
|
|
162
163
|
schema: string | undefined;
|
|
163
|
-
columns: ProjectedColumns<TFields>;
|
|
164
|
+
columns: ProjectedColumns<TFields, TName>;
|
|
164
165
|
dialect: 'pg';
|
|
165
|
-
}> & ProjectedColumns<TFields> & DefinitionMethods<TFields>;
|
|
166
|
+
}> & ProjectedColumns<TFields, TName> & DefinitionMethods<TFields, TName>;
|
|
166
167
|
/**
|
|
167
168
|
* @deprecated Use DefinedTable instead. DomainDefinition is kept for backward compatibility
|
|
168
169
|
* with code that hasn't migrated to the direct-column-access API.
|
|
169
170
|
*/
|
|
170
|
-
export type DomainDefinition<TFields extends FieldRecord = FieldRecord> = DefinedTable<TFields>;
|
|
171
|
+
export type DomainDefinition<TFields extends FieldRecord = FieldRecord, TName extends string = string> = DefinedTable<TFields, TName>;
|
|
171
172
|
/** A named set of fields that can be applied to a domain definition via trait methods. */
|
|
172
173
|
export interface TraitDefinition {
|
|
173
174
|
readonly name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/data/domain/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/data/domain/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,5 +33,5 @@ export declare const valveCrossing: import("../../domain/types.js").DefinedTable
|
|
|
33
33
|
nullable: true;
|
|
34
34
|
}>;
|
|
35
35
|
crossedAt: import("../../domain/types.js").FieldDescriptor<Date, {}> & import("../../domain/field.js").FieldModifiers<Date, {}>;
|
|
36
|
-
}>;
|
|
36
|
+
}, "valve_crossing">;
|
|
37
37
|
//# sourceMappingURL=valve-crossing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valve-crossing.d.ts","sourceRoot":"","sources":["../../../../src/data/valve/schema/valve-crossing.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"valve-crossing.d.ts","sourceRoot":"","sources":["../../../../src/data/valve/schema/valve-crossing.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAAgD,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Manifold } from '../../core/pipework.js';
|
|
2
2
|
import type { TraceContext } from '../../trace/entry/trace-context.js';
|
|
3
3
|
import type { Flow, RequestMetadata } from './types.js';
|
|
4
|
+
import type { TenantConfig } from '../../auth/tenant/types.js';
|
|
4
5
|
export interface CreateRequestContextOptions<TAuth = unknown> {
|
|
5
6
|
instance: Manifold;
|
|
6
7
|
requestId?: string;
|
|
@@ -10,6 +11,7 @@ export interface CreateRequestContextOptions<TAuth = unknown> {
|
|
|
10
11
|
asOf?: string | null;
|
|
11
12
|
metadata: RequestMetadata;
|
|
12
13
|
trace?: TraceContext | null;
|
|
14
|
+
tenantConfig?: TenantConfig | null;
|
|
13
15
|
}
|
|
14
16
|
export declare function createRequestContext<TAuth = unknown>(options: CreateRequestContextOptions<TAuth>): Flow<TAuth>;
|
|
15
17
|
export interface CreateJobContextOptions<TAuth = unknown> {
|
|
@@ -21,6 +23,7 @@ export interface CreateJobContextOptions<TAuth = unknown> {
|
|
|
21
23
|
user?: string | null;
|
|
22
24
|
asOf?: string | null;
|
|
23
25
|
trace?: TraceContext | null;
|
|
26
|
+
tenantConfig?: TenantConfig | null;
|
|
24
27
|
}
|
|
25
28
|
export declare function createJobContext<TAuth = unknown>(options: CreateJobContextOptions<TAuth>): Flow<TAuth>;
|
|
26
29
|
export interface CreateTestContextOptions {
|
|
@@ -29,6 +32,7 @@ export interface CreateTestContextOptions {
|
|
|
29
32
|
user?: string | null | undefined;
|
|
30
33
|
asOf?: string | null | undefined;
|
|
31
34
|
trace?: TraceContext | null;
|
|
35
|
+
tenantConfig?: TenantConfig | null;
|
|
32
36
|
}
|
|
33
37
|
export declare function createTestContext(instance: Manifold, requestId?: string, options?: CreateTestContextOptions): Flow;
|
|
34
38
|
//# sourceMappingURL=create.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/request/context/create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/request/context/create.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,MAAM,WAAW,2BAA2B,CAAC,KAAK,GAAG,OAAO;IAC1D,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,EAAE,eAAe,CAAA;IACzB,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;CACnC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,GAAG,OAAO,EAClD,OAAO,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAC1C,IAAI,CAAC,KAAK,CAAC,CAeb;AAED,MAAM,WAAW,uBAAuB,CAAC,KAAK,GAAG,OAAO;IACtD,QAAQ,EAAE,QAAQ,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;CACnC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,GAAG,OAAO,EAC9C,OAAO,EAAE,uBAAuB,CAAC,KAAK,CAAC,GACtC,IAAI,CAAC,KAAK,CAAC,CAeb;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAChC,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;CACnC;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAelH"}
|
|
@@ -10,6 +10,7 @@ export function createRequestContext(options) {
|
|
|
10
10
|
asOf: options.asOf ?? null,
|
|
11
11
|
metadata: options.metadata,
|
|
12
12
|
jobType: null,
|
|
13
|
+
tenantConfig: options.tenantConfig ?? null,
|
|
13
14
|
transactions: new Map(),
|
|
14
15
|
trace: options.trace ?? null,
|
|
15
16
|
};
|
|
@@ -25,6 +26,7 @@ export function createJobContext(options) {
|
|
|
25
26
|
asOf: options.asOf ?? null,
|
|
26
27
|
metadata: null,
|
|
27
28
|
jobType: options.jobType ?? null,
|
|
29
|
+
tenantConfig: options.tenantConfig ?? null,
|
|
28
30
|
transactions: new Map(),
|
|
29
31
|
trace: options.trace ?? null,
|
|
30
32
|
};
|
|
@@ -40,6 +42,7 @@ export function createTestContext(instance, requestId, options) {
|
|
|
40
42
|
asOf: options?.asOf ?? null,
|
|
41
43
|
metadata: null,
|
|
42
44
|
jobType: null,
|
|
45
|
+
tenantConfig: options?.tenantConfig ?? null,
|
|
43
46
|
transactions: new Map(),
|
|
44
47
|
trace: options?.trace ?? null,
|
|
45
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/request/context/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/request/context/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAkBxC,MAAM,UAAU,oBAAoB,CAClC,OAA2C;IAE3C,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,UAAU,EAAE;QAC5C,MAAM,EAAE,UAAU,EAAE;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;QAC9B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;QAC1C,YAAY,EAAE,IAAI,GAAG,EAAE;QACvB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;KAC7B,CAAA;AACH,CAAC;AAcD,MAAM,UAAU,gBAAgB,CAC9B,OAAuC;IAEvC,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,KAAK,IAAI,UAAU,EAAE;QACxC,MAAM,EAAE,UAAU,EAAE;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;QAC9B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;QAC1B,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;QAC1C,YAAY,EAAE,IAAI,GAAG,EAAE;QACvB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;KAC7B,CAAA;AACH,CAAC;AAWD,MAAM,UAAU,iBAAiB,CAAC,QAAkB,EAAE,SAAkB,EAAE,OAAkC;IAC1G,OAAO;QACL,QAAQ;QACR,SAAS,EAAE,SAAS,IAAI,UAAU,EAAE;QACpC,MAAM,EAAE,UAAU,EAAE;QACpB,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI;QAC3B,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,IAAI;QAC/B,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI;QAC3B,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI;QAC3B,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI;QAC3C,YAAY,EAAE,IAAI,GAAG,EAAE;QACvB,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI;KAC9B,CAAA;AACH,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { DB } from '../../data/db/index.js';
|
|
2
2
|
import type { Manifold } from '../../core/pipework.js';
|
|
3
|
+
import type { TenantConfig } from '../../auth/tenant/types.js';
|
|
3
4
|
import type { TraceContext } from '../../trace/entry/trace-context.js';
|
|
4
5
|
/** A transaction bound to a specific context nonce and tenant — defense-in-depth against ALS context swaps. */
|
|
5
6
|
export interface BoundTransaction {
|
|
@@ -20,6 +21,14 @@ export interface Flow<TAuth = unknown> {
|
|
|
20
21
|
readonly asOf: string | null;
|
|
21
22
|
readonly metadata: RequestMetadata | null;
|
|
22
23
|
readonly jobType: string | null;
|
|
24
|
+
/**
|
|
25
|
+
* The tenant configuration in force at this entry, or `null` where none is
|
|
26
|
+
* configured. Carried on the context so ANY transaction opened inside it can
|
|
27
|
+
* propagate the same session variables the entry's own transaction does —
|
|
28
|
+
* without it, a transaction opened by `pipe.transaction` propagated nothing
|
|
29
|
+
* and every RLS policy read zero rows.
|
|
30
|
+
*/
|
|
31
|
+
readonly tenantConfig: TenantConfig | null;
|
|
23
32
|
readonly transactions: Map<string, BoundTransaction>;
|
|
24
33
|
/** The trace opened at this entry, or `null` when the entry ran untraced. */
|
|
25
34
|
readonly trace: TraceContext | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/request/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAEtE,+GAA+G;AAC/G,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,8HAA8H;AAC9H,MAAM,WAAW,IAAI,CAAC,KAAK,GAAG,OAAO;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,4FAA4F;IAC5F,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,sHAAsH;IACtH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACpD,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAA;CACpC;AAED,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/request/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAEtE,+GAA+G;AAC/G,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,8HAA8H;AAC9H,MAAM,WAAW,IAAI,CAAC,KAAK,GAAG,OAAO;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,4FAA4F;IAC5F,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,sHAAsH;IACtH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAA;IAC1C,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACpD,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAA;CACpC;AAED,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/request/http/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAe,MAAM,0BAA0B,CAAA;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAwB,KAAK,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAUrE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,cAAc,GAAG,WAAW,CAKjE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAA;IACnC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAA;IAClC,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IACnD,YAAY,EAAE,YAAY,GAAG,IAAI,CAAA;IACjC,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,aAAa,GAAG,IAAI,CAAA;CAC9B;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,cAAc,EACvB,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/request/http/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAe,MAAM,0BAA0B,CAAA;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAwB,KAAK,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAUrE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,cAAc,GAAG,WAAW,CAKjE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAA;IACnC,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAA;IAClC,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IACnD,YAAY,EAAE,YAAY,GAAG,IAAI,CAAA;IACjC,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,aAAa,GAAG,IAAI,CAAA;CAC9B;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,cAAc,EACvB,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,IAAI,CAAC,CA6Ef"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/request/http/middleware.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/request/http/middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,14 @@ export interface TemplateInputs {
|
|
|
17
17
|
* to clone, or worse, trying to drop a database it does not own.
|
|
18
18
|
*/
|
|
19
19
|
readonly owner: string;
|
|
20
|
+
/**
|
|
21
|
+
* The role the template's migrations run as, when `testOwnerUrl` names one.
|
|
22
|
+
*
|
|
23
|
+
* It decides who OWNS every migrated object, which decides what a
|
|
24
|
+
* `SECURITY DEFINER` function made by a migration can read. Omitted entirely
|
|
25
|
+
* when unconfigured, so a template built without the field keeps its name.
|
|
26
|
+
*/
|
|
27
|
+
readonly migrationOwner?: string;
|
|
20
28
|
readonly extensions: readonly string[];
|
|
21
29
|
readonly migrationTable: string;
|
|
22
30
|
/** Hash of the migrations folder's contents, or `null` when unmigrated. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../src/test/fingerprint.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAiB/D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,uDAAuD;IACvD,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BlE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,OAAO,EAC1B,KAAK,EAAE,IAAI,GACV,cAAc,
|
|
1
|
+
{"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../src/test/fingerprint.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAiB/D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,uDAAuD;IACvD,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BlE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,OAAO,EAC1B,KAAK,EAAE,IAAI,GACV,cAAc,CAehB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAElE"}
|
package/dist/test/fingerprint.js
CHANGED
|
@@ -13,7 +13,7 @@ import { VERSION } from '../core/runtime/broker.js';
|
|
|
13
13
|
// fresh process, and a per-process key (pid, run nonce) meant every one of them
|
|
14
14
|
// replayed the whole migration stack. Issue #340.
|
|
15
15
|
/** Bump when pipework changes the SHAPE of what it puts in a template. */
|
|
16
|
-
const TEMPLATE_FORMAT_VERSION =
|
|
16
|
+
const TEMPLATE_FORMAT_VERSION = 2;
|
|
17
17
|
/**
|
|
18
18
|
* Hash a migrations folder's contents: every file's path relative to the folder
|
|
19
19
|
* and its bytes, in a stable order. Path names are included so a rename is a
|
|
@@ -62,6 +62,7 @@ export function templateInputs(databaseName, dbConfig, blueprint, isDefaultDatab
|
|
|
62
62
|
return {
|
|
63
63
|
databaseName,
|
|
64
64
|
owner: new URL(dbConfig.url).username,
|
|
65
|
+
...(dbConfig.testOwnerUrl !== undefined ? { migrationOwner: new URL(dbConfig.testOwnerUrl).username } : {}),
|
|
65
66
|
extensions: [...dbConfig.extensions].sort(),
|
|
66
67
|
migrationTable: dbConfig.migrationTable,
|
|
67
68
|
migrations: dbConfig.migrations === undefined ? null : hashMigrationsFolder(dbConfig.migrations),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../src/test/fingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAG/C,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAEnD,8EAA8E;AAC9E,0EAA0E;AAC1E,yEAAyE;AACzE,sEAAsE;AACtE,+EAA+E;AAC/E,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,gFAAgF;AAChF,kDAAkD;AAElD,0EAA0E;AAC1E,MAAM,uBAAuB,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../src/test/fingerprint.ts"],"names":[],"mappings":"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"}
|
package/dist/test/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAG/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAUnD,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,eAAe,CAAA;AAEtB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAA;CACjB;AAsDD,+DAA+D;AAC/D,eAAO,MAAM,oBAAoB,uBAAuB,CAAA;AAqBxD,MAAM,WAAW,YAAY;IAC3B,iEAAiE;IACjE,UAAU,CAAC,EAAE,qBAAqB,CAAA;IAClC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAUpC;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/test/setup.js
CHANGED
|
@@ -229,7 +229,11 @@ async function assertQueueTables(instance, plan) {
|
|
|
229
229
|
}
|
|
230
230
|
/** Connection URL for a database on the same server as `dbConfig.url`. */
|
|
231
231
|
function siblingUrl(dbConfig, database) {
|
|
232
|
-
|
|
232
|
+
return withDatabase(dbConfig.url, database);
|
|
233
|
+
}
|
|
234
|
+
/** The same connection — role, password, server, parameters — pointed at `database`. */
|
|
235
|
+
function withDatabase(connectionUrl, database) {
|
|
236
|
+
const url = new URL(connectionUrl);
|
|
233
237
|
url.pathname = `/${database}`;
|
|
234
238
|
return url.toString();
|
|
235
239
|
}
|
|
@@ -420,11 +424,26 @@ async function buildTemplate(instance, plan, tracker) {
|
|
|
420
424
|
// overhead. `synchronous_commit` is a per-database setting and does not copy
|
|
421
425
|
// with `WITH TEMPLATE`, so it is set on the template and on every clone.
|
|
422
426
|
await admin.execute(sql.raw(`ALTER DATABASE ${templateIdent} SET synchronous_commit = off`));
|
|
423
|
-
const
|
|
424
|
-
templateUrl.pathname = `/${templateDb}`;
|
|
425
|
-
const templateUrlStr = templateUrl.toString();
|
|
427
|
+
const templateUrlStr = siblingUrl(dbConfig, templateDb);
|
|
426
428
|
const templateClient = postgres(templateUrlStr, { max: 1, onnotice: () => { } });
|
|
427
429
|
const templateDbHandle = drizzle(templateClient);
|
|
430
|
+
// The template's migrations run as the configured migration owner, so every
|
|
431
|
+
// object a migration creates is owned by it — the one thing that decides
|
|
432
|
+
// what a `SECURITY DEFINER` function made by a migration can read, and the
|
|
433
|
+
// one thing test mode used to get differently from production. Everything
|
|
434
|
+
// else stays on this run's own connection: the template is created, cloned
|
|
435
|
+
// and connected to as `url`, which is what keeps the RLS bootstrap probe and
|
|
436
|
+
// tenant isolation biting exactly as before.
|
|
437
|
+
const migrateUrlStr = dbConfig.testOwnerUrl !== undefined
|
|
438
|
+
? withDatabase(dbConfig.testOwnerUrl, templateDb)
|
|
439
|
+
: undefined;
|
|
440
|
+
if (migrateUrlStr !== undefined) {
|
|
441
|
+
const ownerIdent = quoteIdentifier(new URL(migrateUrlStr).username, 'role');
|
|
442
|
+
await admin.execute(sql.raw(`GRANT CONNECT ON DATABASE ${templateIdent} TO ${ownerIdent}`));
|
|
443
|
+
// PG15+: `public` belongs to the database owner and grants CREATE to
|
|
444
|
+
// nobody. Without this the first migration fails on its first CREATE.
|
|
445
|
+
await templateDbHandle.execute(sql.raw(`GRANT CREATE, USAGE ON SCHEMA public TO ${ownerIdent}`));
|
|
446
|
+
}
|
|
428
447
|
if (dbConfig.extensions.length > 0) {
|
|
429
448
|
for (const ext of dbConfig.extensions) {
|
|
430
449
|
await templateDbHandle.execute(sql.raw(`CREATE EXTENSION IF NOT EXISTS ${quoteIdentifier(ext, 'extension')}`));
|
|
@@ -434,7 +453,7 @@ async function buildTemplate(instance, plan, tracker) {
|
|
|
434
453
|
await applyMigrations({
|
|
435
454
|
migrationsFolder: dbConfig.migrations,
|
|
436
455
|
migrationsTable: dbConfig.migrationTable,
|
|
437
|
-
connectionUrl: templateUrlStr,
|
|
456
|
+
connectionUrl: migrateUrlStr ?? templateUrlStr,
|
|
438
457
|
stripConcurrently: true,
|
|
439
458
|
unloggedTables: true,
|
|
440
459
|
// A migration stack is the one step long enough to look like a stall.
|
|
@@ -462,7 +481,7 @@ async function buildTemplate(instance, plan, tracker) {
|
|
|
462
481
|
VALUES (${plan.fingerprint}, ${process.pid})
|
|
463
482
|
`);
|
|
464
483
|
await templateClient.end();
|
|
465
|
-
await provisionTemplateRole(adminClient, templateUrlStr, plan.appRole);
|
|
484
|
+
await provisionTemplateRole(adminClient, templateUrlStr, plan.appRole, migrateUrlStr);
|
|
466
485
|
}
|
|
467
486
|
const DEFAULT_STATEMENT_TIMEOUT_MS = 120_000;
|
|
468
487
|
const DEFAULT_IDLE_IN_TRANSACTION_TIMEOUT_MS = 120_000;
|
|
@@ -604,7 +623,7 @@ export async function withTemplateRetry(attempt, options = {}) {
|
|
|
604
623
|
// in-database catalog rows, so every clone of the template inherits them — the
|
|
605
624
|
// role keeps a stable OID for the process lifetime, so the inherited ACL
|
|
606
625
|
// entries stay valid. Issue #321.
|
|
607
|
-
async function provisionTemplateRole(client, templateUrl, roleName) {
|
|
626
|
+
async function provisionTemplateRole(client, templateUrl, roleName, migrateUrl) {
|
|
608
627
|
const admin = drizzle(client);
|
|
609
628
|
const roleIdent = quoteIdentifier(roleName, 'role');
|
|
610
629
|
await admin.execute(sql.raw(`DO $$ BEGIN ` +
|
|
@@ -615,12 +634,88 @@ async function provisionTemplateRole(client, templateUrl, roleName) {
|
|
|
615
634
|
const templateClient = postgres(templateUrl, { max: 1, onnotice: () => { } });
|
|
616
635
|
const templateDb = drizzle(templateClient);
|
|
617
636
|
await templateDb.execute(sql.raw(`GRANT USAGE ON SCHEMA public TO ${roleIdent}`));
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
637
|
+
if (migrateUrl === undefined) {
|
|
638
|
+
await templateDb.execute(sql.raw(`GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO ${roleIdent}`));
|
|
639
|
+
await templateDb.execute(sql.raw(`GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO ${roleIdent}`));
|
|
640
|
+
await templateDb.execute(sql.raw(`ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO ${roleIdent}`));
|
|
641
|
+
await templateDb.execute(sql.raw(`ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT ON SEQUENCES TO ${roleIdent}`));
|
|
642
|
+
// Routines are granted here, after the migrations have run, because this is
|
|
643
|
+
// the one place where roles are created AFTER the objects they must reach:
|
|
644
|
+
// a migration that creates a function and revokes EXECUTE from PUBLIC would
|
|
645
|
+
// otherwise leave the app role unable to call it.
|
|
646
|
+
await templateDb.execute(sql.raw(`GRANT EXECUTE ON ALL ROUTINES IN SCHEMA public TO ${roleIdent}`));
|
|
647
|
+
await templateDb.execute(sql.raw(`ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT EXECUTE ON ROUTINES TO ${roleIdent}`));
|
|
648
|
+
await templateClient.end();
|
|
649
|
+
return;
|
|
650
|
+
}
|
|
651
|
+
// Two owners in one template: the migration owner made everything the
|
|
652
|
+
// migrations made, this run's own role made the extensions' objects, the
|
|
653
|
+
// framework tables and the marker. `GRANT ... ON ALL TABLES` refuses on the
|
|
654
|
+
// first object its grantor does not own instead of skipping it, so each
|
|
655
|
+
// grantor grants what it owns and nothing else.
|
|
656
|
+
await grantOwnedObjects(templateClient, roleIdent, APP_ROLE_GRANTS);
|
|
657
|
+
const migrateClient = postgres(migrateUrl, { max: 1, onnotice: () => { } });
|
|
658
|
+
try {
|
|
659
|
+
await grantOwnedObjects(migrateClient, roleIdent, APP_ROLE_GRANTS);
|
|
660
|
+
// The test login is the role tests connect as, and it no longer owns what
|
|
661
|
+
// the migrations made. Everything short of ownership is granted back to
|
|
662
|
+
// it; DDL that requires ownership (ALTER, DROP) needs the test login to be
|
|
663
|
+
// a MEMBER of the migration owner, which is the venue's business — pipework
|
|
664
|
+
// has no right to hand out role membership.
|
|
665
|
+
await grantOwnedObjects(migrateClient, quoteIdentifier(new URL(templateUrl).username, 'role'), TEST_LOGIN_GRANTS);
|
|
666
|
+
}
|
|
667
|
+
finally {
|
|
668
|
+
await migrateClient.end();
|
|
669
|
+
}
|
|
622
670
|
await templateClient.end();
|
|
623
671
|
}
|
|
672
|
+
const APP_ROLE_GRANTS = {
|
|
673
|
+
tables: 'SELECT, INSERT, UPDATE, DELETE',
|
|
674
|
+
sequences: 'USAGE, SELECT',
|
|
675
|
+
routines: 'EXECUTE',
|
|
676
|
+
};
|
|
677
|
+
const TEST_LOGIN_GRANTS = {
|
|
678
|
+
tables: 'ALL PRIVILEGES',
|
|
679
|
+
sequences: 'ALL PRIVILEGES',
|
|
680
|
+
routines: 'EXECUTE',
|
|
681
|
+
};
|
|
682
|
+
// Grant on the objects in `public` that THIS connection's role owns, plus the
|
|
683
|
+
// default privileges for what it creates later. Ownership is read from the
|
|
684
|
+
// catalog rather than assumed, so a template with two object owners is granted
|
|
685
|
+
// correctly from either side and neither one's sweep can fail on the other's
|
|
686
|
+
// objects. Object names come back as `regclass`/`regprocedure` text, already
|
|
687
|
+
// quoted by Postgres and carrying a routine's argument types.
|
|
688
|
+
async function grantOwnedObjects(client, roleIdent, grants) {
|
|
689
|
+
const relations = await client `
|
|
690
|
+
SELECT c.oid::regclass::text AS ident, c.relkind AS kind
|
|
691
|
+
FROM pg_class c
|
|
692
|
+
JOIN pg_namespace n ON n.oid = c.relnamespace
|
|
693
|
+
WHERE n.nspname = 'public'
|
|
694
|
+
AND c.relkind IN ('r', 'p', 'v', 'm', 'f', 'S')
|
|
695
|
+
AND pg_get_userbyid(c.relowner) = current_user
|
|
696
|
+
`;
|
|
697
|
+
const tables = relations.filter(r => r.kind !== 'S').map(r => r.ident);
|
|
698
|
+
const sequences = relations.filter(r => r.kind === 'S').map(r => r.ident);
|
|
699
|
+
const routines = await client `
|
|
700
|
+
SELECT p.oid::regprocedure::text AS ident
|
|
701
|
+
FROM pg_proc p
|
|
702
|
+
JOIN pg_namespace n ON n.oid = p.pronamespace
|
|
703
|
+
WHERE n.nspname = 'public'
|
|
704
|
+
AND pg_get_userbyid(p.proowner) = current_user
|
|
705
|
+
`;
|
|
706
|
+
if (tables.length > 0) {
|
|
707
|
+
await client.unsafe(`GRANT ${grants.tables} ON TABLE ${tables.join(', ')} TO ${roleIdent}`);
|
|
708
|
+
}
|
|
709
|
+
if (sequences.length > 0) {
|
|
710
|
+
await client.unsafe(`GRANT ${grants.sequences} ON SEQUENCE ${sequences.join(', ')} TO ${roleIdent}`);
|
|
711
|
+
}
|
|
712
|
+
for (const routine of routines) {
|
|
713
|
+
await client.unsafe(`GRANT ${grants.routines} ON ROUTINE ${routine.ident} TO ${roleIdent}`);
|
|
714
|
+
}
|
|
715
|
+
await client.unsafe(`ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ${grants.tables} ON TABLES TO ${roleIdent}`);
|
|
716
|
+
await client.unsafe(`ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ${grants.sequences} ON SEQUENCES TO ${roleIdent}`);
|
|
717
|
+
await client.unsafe(`ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ${grants.routines} ON ROUTINES TO ${roleIdent}`);
|
|
718
|
+
}
|
|
624
719
|
// Close this run's persistent admin and lock connections. Releasing
|
|
625
720
|
// `lockClient` drops the run's advisory lock — so this runs exactly once, at
|
|
626
721
|
// worker shutdown, never per file: these connections hold the run's advisory
|