pipework 0.126.1 → 0.128.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 +8 -0
- package/dist/async/steps/table.d.ts +15 -3
- package/dist/async/steps/table.d.ts.map +1 -1
- package/dist/audit/schema/audit-record-fields.d.ts +4 -0
- package/dist/audit/schema/audit-record-fields.d.ts.map +1 -1
- package/dist/audit/schema/audit-record.d.ts +4 -0
- package/dist/audit/schema/audit-record.d.ts.map +1 -1
- package/dist/data/domain/define.d.ts.map +1 -1
- package/dist/data/domain/define.js +14 -1
- package/dist/data/domain/define.js.map +1 -1
- package/dist/data/domain/field.d.ts +5 -1
- package/dist/data/domain/field.d.ts.map +1 -1
- package/dist/data/domain/field.js.map +1 -1
- package/dist/data/domain/index.d.ts +2 -2
- package/dist/data/domain/index.d.ts.map +1 -1
- package/dist/data/domain/index.js +1 -1
- package/dist/data/domain/index.js.map +1 -1
- package/dist/data/domain/traits.d.ts +16 -0
- package/dist/data/domain/traits.d.ts.map +1 -1
- package/dist/data/domain/traits.js +37 -0
- package/dist/data/domain/traits.js.map +1 -1
- package/dist/data/domain/types.d.ts +23 -1
- package/dist/data/domain/types.d.ts.map +1 -1
- package/dist/data/domain/types.js.map +1 -1
- package/dist/data/migrate/append-only-generate.d.ts +9 -0
- package/dist/data/migrate/append-only-generate.d.ts.map +1 -0
- package/dist/data/migrate/append-only-generate.js +38 -0
- package/dist/data/migrate/append-only-generate.js.map +1 -0
- package/dist/data/migrate/generate.d.ts.map +1 -1
- package/dist/data/migrate/generate.js +3 -1
- package/dist/data/migrate/generate.js.map +1 -1
- package/dist/data/migrate/index.d.ts +1 -0
- package/dist/data/migrate/index.d.ts.map +1 -1
- package/dist/data/migrate/index.js +1 -0
- package/dist/data/migrate/index.js.map +1 -1
- package/dist/data/temporal/append-only.d.ts +17 -0
- package/dist/data/temporal/append-only.d.ts.map +1 -0
- package/dist/data/temporal/append-only.js +85 -0
- package/dist/data/temporal/append-only.js.map +1 -0
- package/dist/data/temporal/index.d.ts +1 -0
- package/dist/data/temporal/index.d.ts.map +1 -1
- package/dist/data/temporal/index.js +1 -0
- package/dist/data/temporal/index.js.map +1 -1
- package/dist/data/temporal/namespace.d.ts +5 -0
- package/dist/data/temporal/namespace.d.ts.map +1 -1
- package/dist/data/temporal/namespace.js +5 -0
- package/dist/data/temporal/namespace.js.map +1 -1
- package/dist/data/write/insert.d.ts +1 -4
- package/dist/data/write/insert.d.ts.map +1 -1
- package/dist/data/write/insert.js.map +1 -1
- package/dist/data/write/upsert.d.ts +1 -4
- package/dist/data/write/upsert.d.ts.map +1 -1
- package/dist/data/write/upsert.js.map +1 -1
- package/dist/data/write/values.d.ts +10 -0
- package/dist/data/write/values.d.ts.map +1 -0
- package/dist/data/write/values.js +2 -0
- package/dist/data/write/values.js.map +1 -0
- package/dist/infra/access-links/schema.d.ts +10 -2
- package/dist/infra/access-links/schema.d.ts.map +1 -1
- package/dist/infra/credits/schema.d.ts +20 -4
- package/dist/infra/credits/schema.d.ts.map +1 -1
- package/dist/infra/storage/schema.d.ts +5 -1
- package/dist/infra/storage/schema.d.ts.map +1 -1
- package/dist/infra/support/schema.d.ts +15 -3
- package/dist/infra/support/schema.d.ts.map +1 -1
- package/dist/trace/schema/trace-fields.d.ts +4 -0
- package/dist/trace/schema/trace-fields.d.ts.map +1 -1
- package/dist/trace/schema/trace-retained.d.ts +4 -0
- package/dist/trace/schema/trace-retained.d.ts.map +1 -1
- package/dist/trace/schema/trace-step-fields.d.ts +4 -0
- package/dist/trace/schema/trace-step-fields.d.ts.map +1 -1
- package/dist/trace/schema/trace-step-retained.d.ts +4 -0
- package/dist/trace/schema/trace-step-retained.d.ts.map +1 -1
- package/dist/trace/schema/trace-step.d.ts +4 -0
- package/dist/trace/schema/trace-step.d.ts.map +1 -1
- package/dist/trace/schema/trace.d.ts +4 -0
- package/dist/trace/schema/trace.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.128.0
|
|
4
|
+
|
|
5
|
+
- **Fixed: `pipe.insert(T).values()` and `pipe.upsert(T).values()` weren't typed against the table** (#626). On a `pipe.define` table they took `Record<string, any>`, so a renamed or misspelled column, or a value of the wrong type, compiled and was dropped or failed only at run time. `values()` now takes the table's insert shape: a NOT NULL column without a default is required, a nullable or defaulted one optional, and any other key is a compile error, in a single row or an array. Columns pipework normally fills (traits' `effectiveFrom`, `createdAt`, …) can still be given. The tenant column is optional, because a write in a tenant context fills it from the flow. Upgrading may turn wrong inserts that used to compile into type errors. Drizzle's `$inferInsert` on a defined table now gives the same shape.
|
|
6
|
+
|
|
7
|
+
## 0.127.0
|
|
8
|
+
|
|
9
|
+
- **Added: effective-dated records whose versions are never written again** (#624), for a rate book, price list, tax rates or fee schedule. `.appendOnlyVersions()` on a definition adds `effectiveFrom`, `version` and `setBy`; there is no `effectiveTo`, because a version ends where the next begins. The migration that creates the table also adds a trigger refusing every UPDATE and DELETE, and a unique index on the version, per tenant when the definition has a tenant field. It can't be combined with `.effectiveDated()` or `.softDeleted()`. `temporal.setVersion({ tx, definition, data, effectiveFrom?, userId? })` holds a lock while it numbers the next version, refuses an `effectiveFrom` before now or on or before the latest version's, and writes through `pipe.insert`, so the write is audited. With no `effectiveFrom` given, the version comes into force at the moment it is set. `temporal.versionAt(db, definition, t, where?)` returns the version in force at `t`.
|
|
10
|
+
|
|
3
11
|
## 0.126.1
|
|
4
12
|
|
|
5
13
|
- **Fixed: 0.126.0 shipped without its change** (#621). The 0.126.0 release carried only its changelog entry; this release carries the `MalformedMultipartError` fix it describes.
|
|
@@ -15,7 +15,11 @@ export declare const stepRun: DefinedTable<{
|
|
|
15
15
|
} & {
|
|
16
16
|
primaryKey: true;
|
|
17
17
|
}>;
|
|
18
|
-
tenantId: import("../../data/domain/types.js").FieldDescriptor<string, {
|
|
18
|
+
tenantId: import("../../data/domain/types.js").FieldDescriptor<string, {
|
|
19
|
+
tenant: true;
|
|
20
|
+
}> & import("../../data/domain/field.js").FieldModifiers<string, {
|
|
21
|
+
tenant: true;
|
|
22
|
+
}>;
|
|
19
23
|
graph: import("../../data/domain/types.js").FieldDescriptor<string, {}> & import("../../data/domain/field.js").FieldModifiers<string, {}>;
|
|
20
24
|
item: import("../../data/domain/types.js").FieldDescriptor<string, {}> & import("../../data/domain/field.js").FieldModifiers<string, {}>;
|
|
21
25
|
targets: import("../../data/domain/types.js").FieldDescriptor<import("zod/v4").JSONType, {}> & import("../../data/domain/field.js").FieldModifiers<import("zod/v4").JSONType, {}>;
|
|
@@ -83,7 +87,11 @@ export declare const stepTask: DefinedTable<{
|
|
|
83
87
|
} & {
|
|
84
88
|
primaryKey: true;
|
|
85
89
|
}>;
|
|
86
|
-
tenantId: import("../../data/domain/types.js").FieldDescriptor<string, {
|
|
90
|
+
tenantId: import("../../data/domain/types.js").FieldDescriptor<string, {
|
|
91
|
+
tenant: true;
|
|
92
|
+
}> & import("../../data/domain/field.js").FieldModifiers<string, {
|
|
93
|
+
tenant: true;
|
|
94
|
+
}>;
|
|
87
95
|
runId: import("../../data/domain/types.js").FieldDescriptor<string, {}> & import("../../data/domain/field.js").FieldModifiers<string, {}>;
|
|
88
96
|
step: import("../../data/domain/types.js").FieldDescriptor<string, {}> & import("../../data/domain/field.js").FieldModifiers<string, {}>;
|
|
89
97
|
instance: import("../../data/domain/types.js").FieldDescriptor<number, {
|
|
@@ -134,7 +142,11 @@ export declare const stepResult: DefinedTable<{
|
|
|
134
142
|
} & {
|
|
135
143
|
primaryKey: true;
|
|
136
144
|
}>;
|
|
137
|
-
tenantId: import("../../data/domain/types.js").FieldDescriptor<string, {
|
|
145
|
+
tenantId: import("../../data/domain/types.js").FieldDescriptor<string, {
|
|
146
|
+
tenant: true;
|
|
147
|
+
}> & import("../../data/domain/field.js").FieldModifiers<string, {
|
|
148
|
+
tenant: true;
|
|
149
|
+
}>;
|
|
138
150
|
graph: import("../../data/domain/types.js").FieldDescriptor<string, {}> & import("../../data/domain/field.js").FieldModifiers<string, {}>;
|
|
139
151
|
item: import("../../data/domain/types.js").FieldDescriptor<string, {}> & import("../../data/domain/field.js").FieldModifiers<string, {}>;
|
|
140
152
|
step: import("../../data/domain/types.js").FieldDescriptor<string, {}> & import("../../data/domain/field.js").FieldModifiers<string, {}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/async/steps/table.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAI9D,eAAO,MAAM,iBAAiB,qDAAsD,CAAA;AACpF,eAAO,MAAM,kBAAkB,oFAAqF,CAAA;AAEpH,gFAAgF;AAChF,eAAO,MAAM,MAAM,KAAK,CAAA;AAExB,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/async/steps/table.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAI9D,eAAO,MAAM,iBAAiB,qDAAsD,CAAA;AACpF,eAAO,MAAM,kBAAkB,oFAAqF,CAAA;AAEpH,gFAAgF;AAChF,eAAO,MAAM,MAAM,KAAK,CAAA;AAExB,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAsBlB,CAAA;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAiBnB,CAAA;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAkBrB,CAAA;AAIF,0EAA0E;AAC1E,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,mGAAmG;AACnG,wBAAgB,eAAe,IAAI,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAQnE"}
|
|
@@ -10,8 +10,12 @@ export declare const auditRecordFields: {
|
|
|
10
10
|
traceId: import("../../data/domain/types.js").FieldDescriptor<import("../../data/domain/brand.js").Branded<string, "TraceId">, {}> & import("../../data/domain/field.js").FieldModifiers<import("../../data/domain/brand.js").Branded<string, "TraceId">, {}>;
|
|
11
11
|
traceStepId: import("../../data/domain/types.js").FieldDescriptor<import("../../data/domain/brand.js").Branded<string, "TraceStepId">, {}> & import("../../data/domain/field.js").FieldModifiers<import("../../data/domain/brand.js").Branded<string, "TraceStepId">, {}>;
|
|
12
12
|
tenantId: import("../../data/domain/types.js").FieldDescriptor<string | null, {
|
|
13
|
+
tenant: true;
|
|
14
|
+
} & {
|
|
13
15
|
nullable: true;
|
|
14
16
|
}> & import("../../data/domain/field.js").FieldModifiers<string | null, {
|
|
17
|
+
tenant: true;
|
|
18
|
+
} & {
|
|
15
19
|
nullable: true;
|
|
16
20
|
}>;
|
|
17
21
|
actorId: import("../../data/domain/types.js").FieldDescriptor<string | null, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-record-fields.d.ts","sourceRoot":"","sources":["../../../src/audit/schema/audit-record-fields.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"audit-record-fields.d.ts","sourceRoot":"","sources":["../../../src/audit/schema/audit-record-fields.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4C7B,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAA6C,CAAA"}
|
|
@@ -13,8 +13,12 @@ export declare const auditRecord: import("../../data/domain/types.js").DefinedTa
|
|
|
13
13
|
traceId: import("../../data/domain/types.js").FieldDescriptor<import("../../data/domain/brand.js").Branded<string, "TraceId">, {}> & import("../../data/domain/field.js").FieldModifiers<import("../../data/domain/brand.js").Branded<string, "TraceId">, {}>;
|
|
14
14
|
traceStepId: import("../../data/domain/types.js").FieldDescriptor<import("../../data/domain/brand.js").Branded<string, "TraceStepId">, {}> & import("../../data/domain/field.js").FieldModifiers<import("../../data/domain/brand.js").Branded<string, "TraceStepId">, {}>;
|
|
15
15
|
tenantId: import("../../data/domain/types.js").FieldDescriptor<string | null, {
|
|
16
|
+
tenant: true;
|
|
17
|
+
} & {
|
|
16
18
|
nullable: true;
|
|
17
19
|
}> & import("../../data/domain/field.js").FieldModifiers<string | null, {
|
|
20
|
+
tenant: true;
|
|
21
|
+
} & {
|
|
18
22
|
nullable: true;
|
|
19
23
|
}>;
|
|
20
24
|
actorId: import("../../data/domain/types.js").FieldDescriptor<string | null, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-record.d.ts","sourceRoot":"","sources":["../../../src/audit/schema/audit-record.ts"],"names":[],"mappings":"AAWA,4FAA4F;AAC5F,eAAO,MAAM,kBAAkB,4BAA4B,CAAA;AAC3D,eAAO,MAAM,sBAAsB,uHACiF,CAAA;AAEpH,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"audit-record.d.ts","sourceRoot":"","sources":["../../../src/audit/schema/audit-record.ts"],"names":[],"mappings":"AAWA,4FAA4F;AAC5F,eAAO,MAAM,kBAAkB,4BAA4B,CAAA;AAC3D,eAAO,MAAM,sBAAsB,uHACiF,CAAA;AAEpH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAMtB,CAAA"}
|
|
@@ -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,
|
|
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,EAAuG,MAAM,YAAY,CAAA;AAYnL,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;AAgMD,wBAAgB,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAEpE;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { projectTable } from './build-table.js';
|
|
2
2
|
import { projectInsertShape, projectSelectShape, projectUpdateShape } from './build-schema.js';
|
|
3
3
|
import { projectFactory } from './build-factory.js';
|
|
4
|
-
import { applyTrait, effectiveDatedTrait, auditedTrait, softDeletedTrait } from './traits.js';
|
|
4
|
+
import { applyTrait, effectiveDatedTrait, appendOnlyVersionsTrait, auditedTrait, softDeletedTrait } from './traits.js';
|
|
5
5
|
import { scopeTable } from '../../auth/tenant/scope.js';
|
|
6
6
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- registry erases field-level generics; concrete types flow through define()'s return type
|
|
7
7
|
const registry = new Map();
|
|
@@ -61,6 +61,12 @@ function buildDefinedTable(name, fields, opts, traits) {
|
|
|
61
61
|
registry.set(name, rebuilt);
|
|
62
62
|
return rebuilt;
|
|
63
63
|
},
|
|
64
|
+
appendOnlyVersions() {
|
|
65
|
+
const applied = applyTrait(name, fields, traits, appendOnlyVersionsTrait);
|
|
66
|
+
const rebuilt = buildDefinedTable(name, applied.fields, opts, applied.traits);
|
|
67
|
+
registry.set(name, rebuilt);
|
|
68
|
+
return rebuilt;
|
|
69
|
+
},
|
|
64
70
|
audited() {
|
|
65
71
|
const applied = applyTrait(name, fields, traits, auditedTrait);
|
|
66
72
|
const rebuilt = buildDefinedTable(name, applied.fields, opts, applied.traits);
|
|
@@ -126,6 +132,13 @@ function buildVirtualDefinition(name, fields, opts, traits) {
|
|
|
126
132
|
registry.set(name, rebuilt);
|
|
127
133
|
return rebuilt;
|
|
128
134
|
},
|
|
135
|
+
appendOnlyVersions() {
|
|
136
|
+
const applied = applyTrait(name, fields, traits, appendOnlyVersionsTrait);
|
|
137
|
+
const rebuilt = buildVirtualDefinition(name, applied.fields, opts, applied.traits);
|
|
138
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- registry erases field-level generics
|
|
139
|
+
registry.set(name, rebuilt);
|
|
140
|
+
return rebuilt;
|
|
141
|
+
},
|
|
129
142
|
audited() {
|
|
130
143
|
const applied = applyTrait(name, fields, traits, auditedTrait);
|
|
131
144
|
const rebuilt = buildVirtualDefinition(name, applied.fields, opts, applied.traits);
|
|
@@ -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;
|
|
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,uBAAuB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACtH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,0JAA0J;AAC1J,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAA;AAErD,MAAM,UAAU,MAAM,CACpB,IAAW,EACX,aAAsB,EACtB,OAAuB;IAEvB,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,8BAA8B;YAC9E,8CAA8C;YAC9C,eAAe,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,IAAI;YAC/F,gBAAgB,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAC7E,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACxE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC1B,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAW,EACX,MAAe,EACf,IAAmB,EACnB,MAAgB;IAEhB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAC3D,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,MAAyC,EAAE,IAAI,CAAC,CAAA;IAEjF,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAC7C,CAAC,GAAG,EAAE,EAAE,CAAE,MAAM,CAAC,GAAG,CAAqB,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAChE,CAAA;IACD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,iBAAmE,CAAA;IACvE,IAAI,iBAAmE,CAAA;IACvE,IAAI,iBAAmE,CAAA;IAEvE,MAAM,OAAO,GAAsC;QACjD,KAAK,EAAE,IAAI;QACX,IAAI,OAAO,KAAK,OAAO,MAAM,CAAA,CAAC,CAAC;QAC/B,QAAQ,EAAE,IAAI;QACd,IAAI,OAAO,KAAK,OAAO,MAA2B,CAAA,CAAC,CAAC;QAEpD,KAAK,KAAK,OAAO,KAAK,CAAA,CAAC,CAAC;QAExB,WAAW;YACT,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACpC,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAChD,CAAC;YACD,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QAED,WAAW;YACT,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACpC,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAChD,CAAC;YACD,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QAED,WAAW;YACT,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACpC,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAChD,CAAC;YACD,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QAED,OAAO;YACL,OAAO,cAAc,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC;QAED,cAAc;YACZ,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,MAAyC,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAA;YACxG,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAwC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YAC/G,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC3B,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,kBAAkB;YAChB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,MAAyC,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAA;YAC5G,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,MAA4C,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YACnH,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC3B,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,OAAO;YACL,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,MAAyC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;YACjG,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAiC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YACxG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC3B,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,WAAW;YACT,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,MAAyC,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAA;YACrG,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAqC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YAC5G,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC3B,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,gHAAgH;QAChH,IAAI,MAAM,KAA2B,OAAO,SAAgB,CAAA,CAAC,CAAC;QAC9D,gHAAgH;QAChH,IAAI,MAAM,KAAgC,OAAO,SAAgB,CAAA,CAAC,CAAC;QACnE,gHAAgH;QAChH,IAAI,MAAM,KAAgC,OAAO,SAAgB,CAAA,CAAC,CAAC;KACpE,CAAA;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAA4C,CAAA;IACvF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAAW,EACX,MAAe,EACf,IAAmB,EACnB,MAAgB;IAEhB,IAAI,iBAAmE,CAAA;IACvE,IAAI,iBAAmE,CAAA;IACvE,IAAI,iBAAmE,CAAA;IAEvE,MAAM,UAAU,GAAG;QACjB,KAAK,EAAE,IAAI;QACX,IAAI,OAAO,KAAK,OAAO,MAAM,CAAA,CAAC,CAAC;QAC/B,QAAQ,EAAE,IAAI;QACd,IAAI,OAAO,KAAK,OAAO,MAA2B,CAAA,CAAC,CAAC;QAEpD,KAAK;YACH,MAAM,IAAI,KAAK,CACb,eAAe,IAAI,oDAAoD;gBACvE,sDAAsD;gBACtD,yEAAyE,CAC1E,CAAA;QACH,CAAC;QAED,WAAW;YACT,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACpC,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAChD,CAAC;YACD,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QAED,WAAW;YACT,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACpC,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAChD,CAAC;YACD,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QAED,WAAW;YACT,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACpC,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAChD,CAAC;YACD,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QAED,OAAO;YACL,sGAAsG;YACtG,OAAO,cAAc,CAAC,UAA0C,CAAC,CAAA;QACnE,CAAC;QAED,cAAc;YACZ,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,MAAyC,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAA;YACxG,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAwC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YACpH,sGAAsG;YACtG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAuC,CAAC,CAAA;YAC3D,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,kBAAkB;YAChB,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,MAAyC,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAA;YAC5G,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,MAA4C,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YACxH,sGAAsG;YACtG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAuC,CAAC,CAAA;YAC3D,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,OAAO;YACL,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,MAAyC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;YACjG,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAiC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YAC7G,sGAAsG;YACtG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAuC,CAAC,CAAA;YAC3D,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,WAAW;YACT,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,MAAyC,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAA;YACrG,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,MAAqC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YACjH,sGAAsG;YACtG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAuC,CAAC,CAAA;YAC3D,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,gHAAgH;QAChH,IAAI,MAAM,KAA2B,OAAO,SAAgB,CAAA,CAAC,CAAC;QAC9D,gHAAgH;QAChH,IAAI,MAAM,KAAgC,OAAO,SAAgB,CAAA,CAAC,CAAC;QACnE,gHAAgH;QAChH,IAAI,MAAM,KAAgC,OAAO,SAAgB,CAAA,CAAC,CAAC;KACpE,CAAA;IAED,OAAO,UAAqD,CAAA;AAC9D,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,WAAW;IACzB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAA;AAClB,CAAC"}
|
|
@@ -30,7 +30,11 @@ export interface FieldModifiers<TOutput = unknown, TFlags extends FieldFlags = {
|
|
|
30
30
|
}> & FieldModifiers<TOutput, TFlags & {
|
|
31
31
|
readOnly: true;
|
|
32
32
|
}>;
|
|
33
|
-
tenant(): FieldDescriptor<TOutput, TFlags
|
|
33
|
+
tenant(): FieldDescriptor<TOutput, TFlags & {
|
|
34
|
+
tenant: true;
|
|
35
|
+
}> & FieldModifiers<TOutput, TFlags & {
|
|
36
|
+
tenant: true;
|
|
37
|
+
}>;
|
|
34
38
|
traceSafe(): FieldDescriptor<TOutput, TFlags> & FieldModifiers<TOutput, TFlags>;
|
|
35
39
|
brand<B extends string>(name: B): FieldDescriptor<Branded<TOutput, B>, TFlags> & FieldModifiers<Branded<TOutput, B>, TFlags>;
|
|
36
40
|
references<TDef extends {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/data/domain/field.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAa,UAAU,EAAa,YAAY,EAAE,MAAM,YAAY,CAAA;AACjG,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AA8F3D,MAAM,WAAW,cAAc,CAAC,OAAO,GAAG,OAAO,EAAE,MAAM,SAAS,UAAU,GAAG,EAAE;IAC/E,QAAQ,IAAI,eAAe,CAAC,OAAO,GAAG,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC,GAAG,cAAc,CAAC,OAAO,GAAG,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC,CAAA;IACtI,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC,CAAA;IACzI,UAAU,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC,CAAA;IAC9H,aAAa,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,aAAa,EAAE,IAAI,CAAC;QAAC,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,aAAa,EAAE,IAAI,CAAC;QAAC,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC,CAAA;IAC3K,MAAM,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC5E,QAAQ,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC,CAAA;IACxH,MAAM,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/data/domain/field.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../src/data/domain/field.ts"],"names":[],"mappings":"AAIA,SAAS,WAAW,CAAoD,IAAe;IACrF,MAAM,IAAI,GAA4B;QACpC,KAAK,EAAE,IAAI;QAEX,QAAQ;YACN,OAAO,WAAW,CAA8C,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9F,CAAC;QAED,OAAO,CAAC,KAAc;YACpB,OAAO,WAAW,CAAyC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAA;QAChH,CAAC;QAED,UAAU;YACR,OAAO,WAAW,CAAyC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3F,CAAC;QAED,aAAa;YACX,OAAO,WAAW,CAA8D,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QACrI,CAAC;QAED,MAAM;YACJ,OAAO,WAAW,CAAkB,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAChE,CAAC;QAED,QAAQ;YACN,OAAO,WAAW,CAAuC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QACvF,CAAC;QAED,MAAM;YACJ,OAAO,WAAW,
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../src/data/domain/field.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ export { field, type FieldModifiers } from './field.js';
|
|
|
2
2
|
export { define, definitions, clearRegistry } from './define.js';
|
|
3
3
|
export { camelToSnake } from './naming.js';
|
|
4
4
|
export { resetFactoryCounter } from './build-factory.js';
|
|
5
|
-
export { effectiveDatedTrait, auditedTrait, softDeletedTrait } from './traits.js';
|
|
5
|
+
export { appendOnlyScopeField, effectiveDatedTrait, appendOnlyVersionsTrait, auditedTrait, softDeletedTrait } from './traits.js';
|
|
6
6
|
export type { Branded, Brand, InferSelect, InferFieldOutput } from './brand.js';
|
|
7
|
-
export type { FieldDescriptor, FieldRecord, FieldMeta, DomainDefinition, DefinedTable, DefinitionMethods, DefineOptions, FactoryBuilder, FactoryOptions, TraitDefinition, FieldColumn, ProjectedColumns, EffectiveDatedFields, AuditedFields, SoftDeletedFields } from './types.js';
|
|
7
|
+
export type { FieldDescriptor, FieldRecord, FieldMeta, DomainDefinition, DefinedTable, DefinitionMethods, DefineOptions, FactoryBuilder, FactoryOptions, TraitDefinition, FieldColumn, ProjectedColumns, EffectiveDatedFields, AppendOnlyVersionsFields, AuditedFields, SoftDeletedFields } from './types.js';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/domain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/domain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAChI,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC/E,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,iBAAiB,EACtG,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAC9D,WAAW,EAAE,gBAAgB,EAC7B,oBAAoB,EAAE,wBAAwB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -2,5 +2,5 @@ export { field } from './field.js';
|
|
|
2
2
|
export { define, definitions, clearRegistry } from './define.js';
|
|
3
3
|
export { camelToSnake } from './naming.js';
|
|
4
4
|
export { resetFactoryCounter } from './build-factory.js';
|
|
5
|
-
export { effectiveDatedTrait, auditedTrait, softDeletedTrait } from './traits.js';
|
|
5
|
+
export { appendOnlyScopeField, effectiveDatedTrait, appendOnlyVersionsTrait, auditedTrait, softDeletedTrait } from './traits.js';
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/domain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAuB,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/domain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAuB,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
import type { FieldDescriptor, TraitDefinition } from './types.js';
|
|
2
2
|
export declare const effectiveDatedTrait: TraitDefinition;
|
|
3
|
+
/**
|
|
4
|
+
* Versions that are only ever appended: each row is in force from its
|
|
5
|
+
* `effectiveFrom` until the next row's, so no column is ever set on an earlier
|
|
6
|
+
* version. Numbered per scope (the tenant field if the definition has one,
|
|
7
|
+
* otherwise the whole table). Write with `temporal.setVersion`, read with
|
|
8
|
+
* `temporal.versionAt`.
|
|
9
|
+
*
|
|
10
|
+
* `pipework migrate generate` adds a trigger refusing UPDATE and DELETE and a
|
|
11
|
+
* unique index on (scope, version) — only in the migration that has the
|
|
12
|
+
* CREATE TABLE for the table, like tenant RLS.
|
|
13
|
+
*/
|
|
14
|
+
export declare const appendOnlyVersionsTrait: TraitDefinition;
|
|
3
15
|
export declare const auditedTrait: TraitDefinition;
|
|
4
16
|
export declare const softDeletedTrait: TraitDefinition;
|
|
5
17
|
export declare function applyTrait(definitionName: string, existingFields: Record<string, FieldDescriptor>, existingTraits: string[], trait: TraitDefinition): {
|
|
6
18
|
fields: Record<string, FieldDescriptor>;
|
|
7
19
|
traits: string[];
|
|
8
20
|
};
|
|
21
|
+
/** The field versions are numbered within: the definition's tenant field, else undefined (the whole table). */
|
|
22
|
+
export declare function appendOnlyScopeField(definition: {
|
|
23
|
+
readonly $fields: Record<string, FieldDescriptor>;
|
|
24
|
+
}): string | undefined;
|
|
9
25
|
//# sourceMappingURL=traits.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../../../src/data/domain/traits.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAUlE,eAAO,MAAM,mBAAmB,EAAE,eAOjC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,eAQ1B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,eAM9B,CAAA;
|
|
1
|
+
{"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../../../src/data/domain/traits.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAUlE,eAAO,MAAM,mBAAmB,EAAE,eAOjC,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,EAAE,eAOrC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,eAQ1B,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,eAM9B,CAAA;AASD,wBAAgB,UAAU,CACxB,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC/C,cAAc,EAAE,MAAM,EAAE,EACxB,KAAK,EAAE,eAAe,GACrB;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAgC/D;AAED,+GAA+G;AAC/G,wBAAgB,oBAAoB,CAAC,UAAU,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAE1H"}
|
|
@@ -13,6 +13,25 @@ export const effectiveDatedTrait = {
|
|
|
13
13
|
version: autoManaged(field.integer().default(1)),
|
|
14
14
|
},
|
|
15
15
|
};
|
|
16
|
+
/**
|
|
17
|
+
* Versions that are only ever appended: each row is in force from its
|
|
18
|
+
* `effectiveFrom` until the next row's, so no column is ever set on an earlier
|
|
19
|
+
* version. Numbered per scope (the tenant field if the definition has one,
|
|
20
|
+
* otherwise the whole table). Write with `temporal.setVersion`, read with
|
|
21
|
+
* `temporal.versionAt`.
|
|
22
|
+
*
|
|
23
|
+
* `pipework migrate generate` adds a trigger refusing UPDATE and DELETE and a
|
|
24
|
+
* unique index on (scope, version) — only in the migration that has the
|
|
25
|
+
* CREATE TABLE for the table, like tenant RLS.
|
|
26
|
+
*/
|
|
27
|
+
export const appendOnlyVersionsTrait = {
|
|
28
|
+
name: 'appendOnlyVersions',
|
|
29
|
+
fields: {
|
|
30
|
+
effectiveFrom: autoManaged(field.timestamp()),
|
|
31
|
+
version: autoManaged(field.integer()),
|
|
32
|
+
setBy: autoManaged(field.text().nullable()),
|
|
33
|
+
},
|
|
34
|
+
};
|
|
16
35
|
export const auditedTrait = {
|
|
17
36
|
name: 'audited',
|
|
18
37
|
fields: {
|
|
@@ -29,10 +48,24 @@ export const softDeletedTrait = {
|
|
|
29
48
|
deletedBy: autoManaged(field.text().nullable()),
|
|
30
49
|
},
|
|
31
50
|
};
|
|
51
|
+
const TRAIT_CONFLICTS = [
|
|
52
|
+
['appendOnlyVersions', 'effectiveDated',
|
|
53
|
+
'effectiveDated closes the previous version by UPDATE-ing effectiveTo and both define effectiveFrom and version, while appendOnlyVersions forbids every UPDATE.'],
|
|
54
|
+
['appendOnlyVersions', 'softDeleted',
|
|
55
|
+
'softDeleted marks a row deleted by UPDATE, while appendOnlyVersions forbids every UPDATE and DELETE.'],
|
|
56
|
+
];
|
|
32
57
|
export function applyTrait(definitionName, existingFields, existingTraits, trait) {
|
|
33
58
|
if (existingTraits.includes(trait.name)) {
|
|
34
59
|
throw new Error(`[pipework] Trait "${trait.name}" is already applied to "${definitionName}".`);
|
|
35
60
|
}
|
|
61
|
+
for (const [a, b, why] of TRAIT_CONFLICTS) {
|
|
62
|
+
const other = trait.name === a ? b : trait.name === b ? a : undefined;
|
|
63
|
+
if (other !== undefined && existingTraits.includes(other)) {
|
|
64
|
+
throw new Error(`[pipework] Traits "${a}" and "${b}" cannot be combined on "${definitionName}".\n\n` +
|
|
65
|
+
` ${why}\n` +
|
|
66
|
+
` Use one of them.`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
36
69
|
for (const fieldName of Object.keys(trait.fields)) {
|
|
37
70
|
if (fieldName in existingFields) {
|
|
38
71
|
throw new Error(`[pipework] Trait "${trait.name}" adds field "${fieldName}" which already exists in "${definitionName}".\n\n` +
|
|
@@ -45,4 +78,8 @@ export function applyTrait(definitionName, existingFields, existingTraits, trait
|
|
|
45
78
|
traits: [...existingTraits, trait.name],
|
|
46
79
|
};
|
|
47
80
|
}
|
|
81
|
+
/** The field versions are numbered within: the definition's tenant field, else undefined (the whole table). */
|
|
82
|
+
export function appendOnlyScopeField(definition) {
|
|
83
|
+
return Object.keys(definition.$fields).find((key) => definition.$fields[key]._meta.tenant === true);
|
|
84
|
+
}
|
|
48
85
|
//# sourceMappingURL=traits.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traits.js","sourceRoot":"","sources":["../../../src/data/domain/traits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGlC,SAAS,WAAW,CAAC,CAAkB;IACrC,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAA;AACrD,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAkB;IAC7C,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAA;AACrE,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAoB;IAClD,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE;QACN,aAAa,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5D,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;QACtD,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACjD;CACF,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAoB;IAC3C,IAAI,EAAE,SAAS;IACf,MAAM,EAAE;QACN,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChE,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QACvD,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;KAChD;CACF,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE;QACN,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;QACpD,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;KAChD;CACF,CAAA;AAED,MAAM,UAAU,UAAU,CACxB,cAAsB,EACtB,cAA+C,EAC/C,cAAwB,EACxB,KAAsB;IAEtB,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,qBAAqB,KAAK,CAAC,IAAI,4BAA4B,cAAc,IAAI,CAC9E,CAAA;IACH,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,SAAS,IAAI,cAAc,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,qBAAqB,KAAK,CAAC,IAAI,iBAAiB,SAAS,8BAA8B,cAAc,QAAQ;gBAC7G,uEAAuE;gBACvE,YAAY,KAAK,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5E,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE;QAC9C,MAAM,EAAE,CAAC,GAAG,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC;KACxC,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"traits.js","sourceRoot":"","sources":["../../../src/data/domain/traits.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,6 +69,8 @@ export interface FieldFlags {
|
|
|
69
69
|
readonly autoManaged?: boolean;
|
|
70
70
|
readonly readOnly?: boolean;
|
|
71
71
|
readonly serial?: boolean;
|
|
72
|
+
/** The tenant column; a scoped write fills it from the flow, so inserts may omit it. */
|
|
73
|
+
readonly tenant?: boolean;
|
|
72
74
|
}
|
|
73
75
|
/** A field in a domain definition — carries runtime metadata and phantom output/flag types. */
|
|
74
76
|
export interface FieldDescriptor<TOutput = unknown, TFlags extends FieldFlags = FieldFlags> {
|
|
@@ -129,8 +131,14 @@ export interface DefineOptions {
|
|
|
129
131
|
export type FieldColumn<F extends FieldDescriptor, TName extends string = string> = AnyPgColumn<{
|
|
130
132
|
data: NonNullable<InferFieldOutput<F>>;
|
|
131
133
|
notNull: null extends InferFieldOutput<F> ? false : true;
|
|
134
|
+
hasDefault: F extends FieldDescriptor<unknown, infer TF> ? (TF['hasDefault'] extends true ? true : TF['tenant'] extends true ? true : false) : false;
|
|
132
135
|
tableName: TName;
|
|
133
|
-
}
|
|
136
|
+
}> & {
|
|
137
|
+
readonly _: {
|
|
138
|
+
readonly generated: undefined;
|
|
139
|
+
readonly identity: undefined;
|
|
140
|
+
};
|
|
141
|
+
};
|
|
134
142
|
/** Maps field definitions to typed Drizzle column references. */
|
|
135
143
|
export type ProjectedColumns<TFields extends FieldRecord, TName extends string = string> = {
|
|
136
144
|
readonly [K in keyof TFields & string]: FieldColumn<TFields[K], TName>;
|
|
@@ -147,6 +155,8 @@ export interface DefinitionMethods<TFields extends FieldRecord = FieldRecord, TN
|
|
|
147
155
|
updateShape(): z.ZodType<UpdateProjection<TFields>>;
|
|
148
156
|
factory(): FactoryBuilder;
|
|
149
157
|
effectiveDated(): DefinedTable<TFields & EffectiveDatedFields, TName>;
|
|
158
|
+
/** Versions never updated or deleted; see `temporal.setVersion` / `temporal.versionAt`. Not combinable with effectiveDated or softDeleted. */
|
|
159
|
+
appendOnlyVersions(): DefinedTable<TFields & AppendOnlyVersionsFields, TName>;
|
|
150
160
|
audited(): DefinedTable<TFields & AuditedFields, TName>;
|
|
151
161
|
softDeleted(): DefinedTable<TFields & SoftDeletedFields, TName>;
|
|
152
162
|
readonly Select: InferSelect<TFields>;
|
|
@@ -194,6 +204,18 @@ export interface EffectiveDatedFields {
|
|
|
194
204
|
hasDefault: true;
|
|
195
205
|
}>;
|
|
196
206
|
}
|
|
207
|
+
export interface AppendOnlyVersionsFields {
|
|
208
|
+
readonly effectiveFrom: FieldDescriptor<Date, {
|
|
209
|
+
autoManaged: true;
|
|
210
|
+
}>;
|
|
211
|
+
readonly version: FieldDescriptor<number, {
|
|
212
|
+
autoManaged: true;
|
|
213
|
+
}>;
|
|
214
|
+
readonly setBy: FieldDescriptor<string | null, {
|
|
215
|
+
autoManaged: true;
|
|
216
|
+
nullable: true;
|
|
217
|
+
}>;
|
|
218
|
+
}
|
|
197
219
|
export interface AuditedFields {
|
|
198
220
|
readonly createdAt: FieldDescriptor<Date, {
|
|
199
221
|
autoManaged: true;
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/data/domain/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/data/domain/types.ts"],"names":[],"mappings":"AA6HA,kFAAkF;AAClF,kIAAkI;AAClI,MAAM,UAAU,oBAAoB,CAA8B,GAAkB;IAClF,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;AAChD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DefinedTable } from '../domain/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* For each table the migration creates whose definition has the
|
|
4
|
+
* `.appendOnlyVersions()` trait, appends the trigger that refuses UPDATE and
|
|
5
|
+
* DELETE and the unique index on (scope, version). Only a CREATE TABLE in this
|
|
6
|
+
* migration triggers it.
|
|
7
|
+
*/
|
|
8
|
+
export declare function generateAppendOnlyStatements(migrationSql: string, definitions: ReadonlyMap<string, DefinedTable<any>>): string;
|
|
9
|
+
//# sourceMappingURL=append-only-generate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"append-only-generate.d.ts","sourceRoot":"","sources":["../../../src/data/migrate/append-only-generate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAYtD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,GAClD,MAAM,CAyBR"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { camelToSnake } from '../domain/naming.js';
|
|
2
|
+
import { appendOnlyScopeField } from '../domain/traits.js';
|
|
3
|
+
// A fresh matcher per call: a shared `g` regex carries lastIndex between runs.
|
|
4
|
+
const createTableMatcher = () => /CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?(?:"([^"]+)"|([a-z_][a-z0-9_]*))/gi;
|
|
5
|
+
const REFUSE_FUNCTION = `CREATE OR REPLACE FUNCTION pipework_refuse_version_rewrite() RETURNS trigger LANGUAGE plpgsql AS $$ ` +
|
|
6
|
+
`BEGIN RAISE EXCEPTION '% is append-only: % is not allowed', TG_TABLE_NAME, TG_OP ` +
|
|
7
|
+
`USING ERRCODE = 'restrict_violation'; END $$`;
|
|
8
|
+
/**
|
|
9
|
+
* For each table the migration creates whose definition has the
|
|
10
|
+
* `.appendOnlyVersions()` trait, appends the trigger that refuses UPDATE and
|
|
11
|
+
* DELETE and the unique index on (scope, version). Only a CREATE TABLE in this
|
|
12
|
+
* migration triggers it.
|
|
13
|
+
*/
|
|
14
|
+
export function generateAppendOnlyStatements(migrationSql, definitions) {
|
|
15
|
+
const blocks = [];
|
|
16
|
+
const seen = new Set();
|
|
17
|
+
const createTableRe = createTableMatcher();
|
|
18
|
+
let match;
|
|
19
|
+
while ((match = createTableRe.exec(migrationSql)) !== null) {
|
|
20
|
+
const tableName = match[1] ?? match[2];
|
|
21
|
+
if (tableName === undefined || seen.has(tableName))
|
|
22
|
+
continue;
|
|
23
|
+
const definition = definitions.get(tableName);
|
|
24
|
+
if (definition === undefined || !definition.$traits.includes('appendOnlyVersions'))
|
|
25
|
+
continue;
|
|
26
|
+
seen.add(tableName);
|
|
27
|
+
const scope = appendOnlyScopeField(definition);
|
|
28
|
+
const indexColumns = scope === undefined
|
|
29
|
+
? `"version"`
|
|
30
|
+
: `"${camelToSnake(scope)}", "version"`;
|
|
31
|
+
blocks.push(`CREATE TRIGGER pipework_append_only BEFORE UPDATE OR DELETE ON "${tableName}" ` +
|
|
32
|
+
`FOR EACH ROW EXECUTE FUNCTION pipework_refuse_version_rewrite()`, `CREATE UNIQUE INDEX "${tableName}_version_unique" ON "${tableName}" (${indexColumns})`);
|
|
33
|
+
}
|
|
34
|
+
if (blocks.length === 0)
|
|
35
|
+
return migrationSql;
|
|
36
|
+
return migrationSql + '\n\n' + [REFUSE_FUNCTION, ...blocks].join(';\n\n') + ';';
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=append-only-generate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"append-only-generate.js","sourceRoot":"","sources":["../../../src/data/migrate/append-only-generate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D,+EAA+E;AAC/E,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC,8EAA8E,CAAA;AAEvH,MAAM,eAAe,GACnB,sGAAsG;IACtG,mFAAmF;IACnF,8CAA8C,CAAA;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,YAAoB,EACpB,WAAmD;IAEnD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,aAAa,GAAG,kBAAkB,EAAE,CAAA;IAC1C,IAAI,KAA6B,CAAA;IACjC,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;QACtC,IAAI,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,SAAQ;QAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC7C,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAAE,SAAQ;QAC5F,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAEnB,MAAM,KAAK,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAA;QAC9C,MAAM,YAAY,GAAG,KAAK,KAAK,SAAS;YACtC,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,cAAc,CAAA;QACzC,MAAM,CAAC,IAAI,CACT,mEAAmE,SAAS,IAAI;YAChF,iEAAiE,EACjE,wBAAwB,SAAS,wBAAwB,SAAS,MAAM,YAAY,GAAG,CACxF,CAAA;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAA;IAC5C,OAAO,YAAY,GAAG,MAAM,GAAG,CAAC,eAAe,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAA;AACjF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/data/migrate/generate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/data/migrate/generate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAsBjE,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB;AAgBD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,CAAC,EAAE,MAAM,EACtB,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC3D,OAAO,CAAC,cAAc,CAAC,CA4GzB;AAOD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAO7D"}
|
|
@@ -5,6 +5,7 @@ import { glob } from 'node:fs/promises';
|
|
|
5
5
|
import { ConfigError } from '../../core/config/errors.js';
|
|
6
6
|
import { postProcessMigration } from './post-process.js';
|
|
7
7
|
import { generateRlsStatements } from './rls-generate.js';
|
|
8
|
+
import { generateAppendOnlyStatements } from './append-only-generate.js';
|
|
8
9
|
import { definitions } from '../domain/index.js';
|
|
9
10
|
import { buildSnapshot, EMPTY_SNAPSHOT } from './snapshot.js';
|
|
10
11
|
import { diffSnapshots, diffOpTableName } from './diff.js';
|
|
@@ -88,7 +89,8 @@ export async function generateForDatabase(dbConfig, migrationName, internalDefin
|
|
|
88
89
|
const withRls = dbConfig.rls !== undefined
|
|
89
90
|
? generateRlsStatements(joined, definitions(), dbConfig.rls.sessionVar, dbConfig.rls.force)
|
|
90
91
|
: joined;
|
|
91
|
-
const
|
|
92
|
+
const withAppendOnly = generateAppendOnlyStatements(withRls, definitions());
|
|
93
|
+
const sqlContent = postProcessMigration(withAppendOnly);
|
|
92
94
|
const migrationFile = join(migrationsDir, `${tag}.sql`);
|
|
93
95
|
writeFileSync(migrationFile, sqlContent, 'utf-8');
|
|
94
96
|
const snapshotFile = writeSnapshot(metaDir, currentSnapshot, journal, idx, tag);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/data/migrate/generate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/data/migrate/generate.ts"],"names":[],"mappings":"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"}
|