@metaobjectsdev/codegen-ts 0.22.0-rc.1 → 0.22.0-rc.2
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.
|
@@ -69,6 +69,8 @@ export interface SchemaFieldShape {
|
|
|
69
69
|
* • @readOnly fields are omitted (DB / replication owns the write path);
|
|
70
70
|
* • a TPH subtype's @discriminator field is a pinned `z.literal(value)`;
|
|
71
71
|
* • @autoSet fields are present but optional (server fills them);
|
|
72
|
+
* • an ASSIGNED primary key with no @default is required (see
|
|
73
|
+
* assignedPkFieldNames — its Drizzle column has no default);
|
|
72
74
|
* • every other field's optionality is `fieldWillBeOptional` (not required, or
|
|
73
75
|
* carries a @default).
|
|
74
76
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-validators.d.ts","sourceRoot":"","sources":["../../src/templates/zod-validators.ts"],"names":[],"mappings":"AAWA,OAAO,EAAuB,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,UAAU,EAA2B,MAAM,0BAA0B,CAAC;AA0B/E,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAMjF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAkBrG;AAED;8CAC8C;AAC9C,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAErD;AAED;;;;4DAI4D;AAC5D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAMzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CA2BrF;AAED;;2EAE2E;AAC3E,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,EAAE,CAOnE;
|
|
1
|
+
{"version":3,"file":"zod-validators.d.ts","sourceRoot":"","sources":["../../src/templates/zod-validators.ts"],"names":[],"mappings":"AAWA,OAAO,EAAuB,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,UAAU,EAA2B,MAAM,0BAA0B,CAAC;AA0B/E,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAMjF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAkBrG;AAED;8CAC8C;AAC9C,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAErD;AAED;;;;4DAI4D;AAC5D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAMzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CA2BrF;AAED;;2EAE2E;AAC3E,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,EAAE,CAOnE;AA2DD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAwDjF;AAED,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,QAAQ,EAAE,OAAO,CAAC;IAClB;sEACkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;oDACgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,gBAAgB,EAAE,CAyBtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,gBAAgB,EAAE,CAwBtE;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CA+H9E"}
|
|
@@ -133,6 +133,44 @@ function autoGenPkFieldNames(obj) {
|
|
|
133
133
|
function primaryKeyFieldNames(obj) {
|
|
134
134
|
return new Set(primaryIdentityFieldNames(obj));
|
|
135
135
|
}
|
|
136
|
+
/** PK field names the CALLER must supply on insert: an ASSIGNED primary key —
|
|
137
|
+
* a natural key or an externally-issued id, i.e. a primary identity carrying no
|
|
138
|
+
* @generation — that also has no @default to fill it.
|
|
139
|
+
*
|
|
140
|
+
* These are insert-REQUIRED regardless of @required, and that is a typing
|
|
141
|
+
* necessity rather than a policy choice: the Drizzle column for such a PK is
|
|
142
|
+
* `text("id").primaryKey()` with no default, so its inferred insert type
|
|
143
|
+
* requires the value. Deriving the PK's optionality from @required like any
|
|
144
|
+
* other field emitted `id: z.string().optional()`, and the generated
|
|
145
|
+
* `create<Entity>` — which pipes `InsertSchema.parse(data)` straight into
|
|
146
|
+
* `.values()` — then failed to compile (TS2769). It was also a semantic hole:
|
|
147
|
+
* the schema accepted a create payload with no primary key at all.
|
|
148
|
+
*
|
|
149
|
+
* Excluded, because each is already insert-optional for a real reason:
|
|
150
|
+
* • @generation increment|uuid PKs — omitted from the schema entirely
|
|
151
|
+
* (autoGenPkFieldNames), the caller never supplies them;
|
|
152
|
+
* • a PK carrying @default — the column gets that default, so omitting is
|
|
153
|
+
* legal and forcing it required would make callers repeat the default.
|
|
154
|
+
* Mirrors primaryKeyFieldNames' reasoning for the UpdateSchema: a PK column is
|
|
155
|
+
* never NULL, so PK optionality can never be read off @required alone. */
|
|
156
|
+
function assignedPkFieldNames(obj) {
|
|
157
|
+
const autoGen = autoGenPkFieldNames(obj);
|
|
158
|
+
const out = new Set();
|
|
159
|
+
for (const name of primaryIdentityFieldNames(obj)) {
|
|
160
|
+
if (autoGen.has(name))
|
|
161
|
+
continue;
|
|
162
|
+
out.add(name);
|
|
163
|
+
}
|
|
164
|
+
return out;
|
|
165
|
+
}
|
|
166
|
+
/** True when this field is an assigned PK with no @default — see
|
|
167
|
+
* assignedPkFieldNames. Kept as one predicate so the emitters and the
|
|
168
|
+
* documented-shape function (insertSchemaFields) cannot drift. */
|
|
169
|
+
function isInsertRequiredPk(field, assignedPk) {
|
|
170
|
+
if (!assignedPk.has(field.name))
|
|
171
|
+
return false;
|
|
172
|
+
return field.attr(FIELD_ATTR_DEFAULT) === undefined;
|
|
173
|
+
}
|
|
136
174
|
/**
|
|
137
175
|
* Emit ONLY the `<Name>InsertSchema`. Used by the value-object file emitter
|
|
138
176
|
* for metaobjects with no writable source.rdb — those have no PATCH/update
|
|
@@ -145,6 +183,7 @@ function primaryKeyFieldNames(obj) {
|
|
|
145
183
|
export function renderInsertSchemaOnly(obj, ctx) {
|
|
146
184
|
const z = imp("z@zod");
|
|
147
185
|
const autoGenPkFields = autoGenPkFieldNames(obj);
|
|
186
|
+
const assignedPkFields = assignedPkFieldNames(obj);
|
|
148
187
|
const tphPin = tphDiscriminatorPin(obj);
|
|
149
188
|
const insertFieldLines = [];
|
|
150
189
|
for (const child of obj.fields()) {
|
|
@@ -173,7 +212,7 @@ export function renderInsertSchemaOnly(obj, ctx) {
|
|
|
173
212
|
: code ` ${child.name}: z.string().optional().transform(() => new Date().toISOString())`);
|
|
174
213
|
}
|
|
175
214
|
else {
|
|
176
|
-
insertFieldLines.push(code ` ${child.name}: ${zodFieldExpr(child, obj, ctx)}`);
|
|
215
|
+
insertFieldLines.push(code ` ${child.name}: ${zodFieldExpr(child, obj, ctx, isInsertRequiredPk(child, assignedPkFields))}`);
|
|
177
216
|
}
|
|
178
217
|
}
|
|
179
218
|
// ADR-0044/#228 — the schema name follows the value object's EMITTED name
|
|
@@ -198,11 +237,14 @@ ${joinCode(insertFieldLines, { on: ",\n" })}
|
|
|
198
237
|
* • @readOnly fields are omitted (DB / replication owns the write path);
|
|
199
238
|
* • a TPH subtype's @discriminator field is a pinned `z.literal(value)`;
|
|
200
239
|
* • @autoSet fields are present but optional (server fills them);
|
|
240
|
+
* • an ASSIGNED primary key with no @default is required (see
|
|
241
|
+
* assignedPkFieldNames — its Drizzle column has no default);
|
|
201
242
|
* • every other field's optionality is `fieldWillBeOptional` (not required, or
|
|
202
243
|
* carries a @default).
|
|
203
244
|
*/
|
|
204
245
|
export function insertSchemaFields(obj) {
|
|
205
246
|
const autoGenPkFields = autoGenPkFieldNames(obj);
|
|
247
|
+
const assignedPkFields = assignedPkFieldNames(obj);
|
|
206
248
|
const tphPin = tphDiscriminatorPin(obj);
|
|
207
249
|
const out = [];
|
|
208
250
|
for (const child of obj.fields()) {
|
|
@@ -221,7 +263,10 @@ export function insertSchemaFields(obj) {
|
|
|
221
263
|
out.push({ name: child.name, optional: true, autoSet: true });
|
|
222
264
|
}
|
|
223
265
|
else {
|
|
224
|
-
out.push({
|
|
266
|
+
out.push({
|
|
267
|
+
name: child.name,
|
|
268
|
+
optional: isInsertRequiredPk(child, assignedPkFields) ? false : fieldWillBeOptional(child),
|
|
269
|
+
});
|
|
225
270
|
}
|
|
226
271
|
}
|
|
227
272
|
return out;
|
|
@@ -267,6 +312,7 @@ export function renderZodValidators(obj, ctx) {
|
|
|
267
312
|
const z = imp("z@zod");
|
|
268
313
|
const autoGenPkFields = autoGenPkFieldNames(obj);
|
|
269
314
|
const pkFields = primaryKeyFieldNames(obj);
|
|
315
|
+
const assignedPkFields = assignedPkFieldNames(obj);
|
|
270
316
|
const tphPin = tphDiscriminatorPin(obj);
|
|
271
317
|
const insertFieldLines = [];
|
|
272
318
|
const updateFieldLines = [];
|
|
@@ -311,7 +357,9 @@ export function renderZodValidators(obj, ctx) {
|
|
|
311
357
|
preservingFieldLines.push(code ` ${child.name}: ${zodFieldExpr(child, obj, ctx)}`);
|
|
312
358
|
}
|
|
313
359
|
else {
|
|
314
|
-
|
|
360
|
+
// The preserving schema is an INSERT shape (import / restore / replication),
|
|
361
|
+
// so an assigned PK is required there for the same typing reason.
|
|
362
|
+
const fieldLine = code ` ${child.name}: ${zodFieldExpr(child, obj, ctx, isInsertRequiredPk(child, assignedPkFields))}`;
|
|
315
363
|
insertFieldLines.push(fieldLine);
|
|
316
364
|
preservingFieldLines.push(fieldLine);
|
|
317
365
|
}
|
|
@@ -400,7 +448,10 @@ function zodScalarFor(subType) {
|
|
|
400
448
|
return "z.boolean()";
|
|
401
449
|
return "z.string()"; // string/uuid/date/time/timestamp/decimal/enum on the wire
|
|
402
450
|
}
|
|
403
|
-
function zodFieldExpr(field, owner, ctx
|
|
451
|
+
function zodFieldExpr(field, owner, ctx,
|
|
452
|
+
/** Suppress the trailing `.optional()` — see assignedPkFieldNames. Set ONLY
|
|
453
|
+
* by the insert-shape emitters; the update/read shapes must stay optional. */
|
|
454
|
+
forceRequired = false) {
|
|
404
455
|
// `@dbColumnType: jsonb` on a scalar (legal only on field.string) is the
|
|
405
456
|
// sanctioned "open JSON bag" escape hatch — a genuinely untyped JSON column
|
|
406
457
|
// with no value-object to reference. Its Drizzle column is a bare `jsonb()`,
|
|
@@ -414,7 +465,7 @@ function zodFieldExpr(field, owner, ctx) {
|
|
|
414
465
|
let base = code `z.unknown()`;
|
|
415
466
|
if (field.resolvedIsArray())
|
|
416
467
|
base = code `z.array(${base})`;
|
|
417
|
-
return appendValidatorChain(base, field);
|
|
468
|
+
return appendValidatorChain(base, field, forceRequired);
|
|
418
469
|
}
|
|
419
470
|
// FIELD_SUBTYPE_OBJECT: emit z.array(<Ref>InsertSchema) / <Ref>InsertSchema
|
|
420
471
|
// via an imp() so ts-poet hoists the cross-module import. Without this the
|
|
@@ -439,14 +490,14 @@ function zodFieldExpr(field, owner, ctx) {
|
|
|
439
490
|
let base = code `${refImp}`;
|
|
440
491
|
if (field.resolvedIsArray())
|
|
441
492
|
base = code `z.array(${base})`;
|
|
442
|
-
return appendValidatorChain(base, field);
|
|
493
|
+
return appendValidatorChain(base, field, forceRequired);
|
|
443
494
|
}
|
|
444
495
|
// No resolvable @objectRef — fall through to z.unknown(); downstream code
|
|
445
496
|
// can still pass a value through but loses validation.
|
|
446
497
|
let base = code `z.unknown()`;
|
|
447
498
|
if (field.resolvedIsArray())
|
|
448
499
|
base = code `z.array(${base})`;
|
|
449
|
-
return appendValidatorChain(base, field);
|
|
500
|
+
return appendValidatorChain(base, field, forceRequired);
|
|
450
501
|
}
|
|
451
502
|
// field.map → z.record(z.string(), V): value is a VO's InsertSchema (@objectRef)
|
|
452
503
|
// or a scalar zod (@valueType). Keys are always strings.
|
|
@@ -458,10 +509,10 @@ function zodFieldExpr(field, owner, ctx) {
|
|
|
458
509
|
? valueObjectModuleSpecifier(refName, ctx.packageOf, owner.package, ctx.outputLayout, ctx.extStyle)
|
|
459
510
|
: `./${refName}.js`;
|
|
460
511
|
const refImp = imp(`${refName}InsertSchema@${moduleSpec}`);
|
|
461
|
-
return appendValidatorChain(code `z.record(z.string(), ${refImp})`, field);
|
|
512
|
+
return appendValidatorChain(code `z.record(z.string(), ${refImp})`, field, forceRequired);
|
|
462
513
|
}
|
|
463
514
|
const vt = field.attr(FIELD_ATTR_VALUE_TYPE);
|
|
464
|
-
return appendValidatorChain(code `z.record(z.string(), ${zodScalarFor(typeof vt === "string" ? vt : "string")})`, field);
|
|
515
|
+
return appendValidatorChain(code `z.record(z.string(), ${zodScalarFor(typeof vt === "string" ? vt : "string")})`, field, forceRequired);
|
|
465
516
|
}
|
|
466
517
|
let baseStr;
|
|
467
518
|
switch (field.subType) {
|
|
@@ -522,7 +573,7 @@ function zodFieldExpr(field, owner, ctx) {
|
|
|
522
573
|
let base = code `${sharedConst}`;
|
|
523
574
|
if (field.resolvedIsArray())
|
|
524
575
|
base = code `z.array(${base})`;
|
|
525
|
-
return appendValidatorChain(base, field);
|
|
576
|
+
return appendValidatorChain(base, field, forceRequired);
|
|
526
577
|
}
|
|
527
578
|
}
|
|
528
579
|
baseStr = zodEnumExpr(values);
|
|
@@ -563,7 +614,7 @@ function zodFieldExpr(field, owner, ctx) {
|
|
|
563
614
|
}
|
|
564
615
|
if (field.resolvedIsArray())
|
|
565
616
|
baseStr = `z.array(${baseStr})`;
|
|
566
|
-
return appendValidatorChain(code `${baseStr}`, field);
|
|
617
|
+
return appendValidatorChain(code `${baseStr}`, field, forceRequired);
|
|
567
618
|
}
|
|
568
619
|
/** Mirrors the optional-or-not decision inside appendValidatorChain so the update-schema
|
|
569
620
|
* caller can avoid stacking a second `.optional()` onto an already-optional expression. */
|
|
@@ -583,7 +634,7 @@ const NUMERIC_FIELD_SUBTYPES = new Set([
|
|
|
583
634
|
* - numeric (scalar) → .min/.max = numeric value (validator.numeric)
|
|
584
635
|
* - array (any element) → .min/.max = element count (validator.array)
|
|
585
636
|
*/
|
|
586
|
-
function appendValidatorChain(base, field) {
|
|
637
|
+
function appendValidatorChain(base, field, forceRequired = false) {
|
|
587
638
|
let isRequired = field.attr(FIELD_ATTR_REQUIRED) === true;
|
|
588
639
|
let maxLen = field.attr(FIELD_ATTR_MAX_LENGTH);
|
|
589
640
|
let minLen;
|
|
@@ -670,6 +721,12 @@ function appendValidatorChain(base, field) {
|
|
|
670
721
|
if (numMax !== undefined)
|
|
671
722
|
chain = code `${chain}.max(${numMax})`;
|
|
672
723
|
}
|
|
724
|
+
// An assigned PK is insert-REQUIRED whatever @required says — its Drizzle
|
|
725
|
+
// column has no default, so an optional value cannot typecheck into
|
|
726
|
+
// `.values()`. Only the caller knows this (the update/read shapes must stay
|
|
727
|
+
// optional), hence the explicit opt-in. See assignedPkFieldNames.
|
|
728
|
+
if (forceRequired)
|
|
729
|
+
return chain;
|
|
673
730
|
// Fields with DB-level defaults are optional in the InsertSchema: the caller
|
|
674
731
|
// can omit them and the DB will fill in. Otherwise required-with-default
|
|
675
732
|
// would force callers to repeat the default at every call site.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-validators.js","sourceRoot":"","sources":["../../src/templates/zod-validators.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zod-validators.js","sourceRoot":"","sources":["../../src/templates/zod-validators.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metaobjectsdev/codegen-ts",
|
|
3
|
-
"version": "0.22.0-rc.
|
|
3
|
+
"version": "0.22.0-rc.2",
|
|
4
4
|
"description": "TypeScript codegen engine for MetaObjects — emits Drizzle, Zod, and Fastify artifacts.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -111,8 +111,8 @@
|
|
|
111
111
|
"access": "public"
|
|
112
112
|
},
|
|
113
113
|
"dependencies": {
|
|
114
|
-
"@metaobjectsdev/metadata": "0.22.0-rc.
|
|
115
|
-
"@metaobjectsdev/render": "0.22.0-rc.
|
|
114
|
+
"@metaobjectsdev/metadata": "0.22.0-rc.2",
|
|
115
|
+
"@metaobjectsdev/render": "0.22.0-rc.2",
|
|
116
116
|
"@biomejs/js-api": "^0.7.0",
|
|
117
117
|
"@biomejs/wasm-nodejs": "^1.9.4",
|
|
118
118
|
"ts-poet": "^6.10.0"
|
|
@@ -123,9 +123,9 @@
|
|
|
123
123
|
},
|
|
124
124
|
"devDependencies": {
|
|
125
125
|
"@biomejs/biome": "^1.9.0",
|
|
126
|
-
"@metaobjectsdev/codegen-ts-react": "0.22.0-rc.
|
|
127
|
-
"@metaobjectsdev/migrate-ts": "0.22.0-rc.
|
|
128
|
-
"@metaobjectsdev/runtime-ts": "0.22.0-rc.
|
|
126
|
+
"@metaobjectsdev/codegen-ts-react": "0.22.0-rc.2",
|
|
127
|
+
"@metaobjectsdev/migrate-ts": "0.22.0-rc.2",
|
|
128
|
+
"@metaobjectsdev/runtime-ts": "0.22.0-rc.2",
|
|
129
129
|
"bun-types": "latest",
|
|
130
130
|
"drizzle-orm": "^0.36.0",
|
|
131
131
|
"hono": "^4.6.0",
|
|
@@ -159,6 +159,44 @@ function primaryKeyFieldNames(obj: MetaObject): Set<string> {
|
|
|
159
159
|
return new Set(primaryIdentityFieldNames(obj));
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
+
/** PK field names the CALLER must supply on insert: an ASSIGNED primary key —
|
|
163
|
+
* a natural key or an externally-issued id, i.e. a primary identity carrying no
|
|
164
|
+
* @generation — that also has no @default to fill it.
|
|
165
|
+
*
|
|
166
|
+
* These are insert-REQUIRED regardless of @required, and that is a typing
|
|
167
|
+
* necessity rather than a policy choice: the Drizzle column for such a PK is
|
|
168
|
+
* `text("id").primaryKey()` with no default, so its inferred insert type
|
|
169
|
+
* requires the value. Deriving the PK's optionality from @required like any
|
|
170
|
+
* other field emitted `id: z.string().optional()`, and the generated
|
|
171
|
+
* `create<Entity>` — which pipes `InsertSchema.parse(data)` straight into
|
|
172
|
+
* `.values()` — then failed to compile (TS2769). It was also a semantic hole:
|
|
173
|
+
* the schema accepted a create payload with no primary key at all.
|
|
174
|
+
*
|
|
175
|
+
* Excluded, because each is already insert-optional for a real reason:
|
|
176
|
+
* • @generation increment|uuid PKs — omitted from the schema entirely
|
|
177
|
+
* (autoGenPkFieldNames), the caller never supplies them;
|
|
178
|
+
* • a PK carrying @default — the column gets that default, so omitting is
|
|
179
|
+
* legal and forcing it required would make callers repeat the default.
|
|
180
|
+
* Mirrors primaryKeyFieldNames' reasoning for the UpdateSchema: a PK column is
|
|
181
|
+
* never NULL, so PK optionality can never be read off @required alone. */
|
|
182
|
+
function assignedPkFieldNames(obj: MetaObject): Set<string> {
|
|
183
|
+
const autoGen = autoGenPkFieldNames(obj);
|
|
184
|
+
const out = new Set<string>();
|
|
185
|
+
for (const name of primaryIdentityFieldNames(obj)) {
|
|
186
|
+
if (autoGen.has(name)) continue;
|
|
187
|
+
out.add(name);
|
|
188
|
+
}
|
|
189
|
+
return out;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/** True when this field is an assigned PK with no @default — see
|
|
193
|
+
* assignedPkFieldNames. Kept as one predicate so the emitters and the
|
|
194
|
+
* documented-shape function (insertSchemaFields) cannot drift. */
|
|
195
|
+
function isInsertRequiredPk(field: MetaField, assignedPk: Set<string>): boolean {
|
|
196
|
+
if (!assignedPk.has(field.name)) return false;
|
|
197
|
+
return field.attr(FIELD_ATTR_DEFAULT) === undefined;
|
|
198
|
+
}
|
|
199
|
+
|
|
162
200
|
/**
|
|
163
201
|
* Emit ONLY the `<Name>InsertSchema`. Used by the value-object file emitter
|
|
164
202
|
* for metaobjects with no writable source.rdb — those have no PATCH/update
|
|
@@ -171,6 +209,7 @@ function primaryKeyFieldNames(obj: MetaObject): Set<string> {
|
|
|
171
209
|
export function renderInsertSchemaOnly(obj: MetaObject, ctx?: RenderContext): Code {
|
|
172
210
|
const z = imp("z@zod");
|
|
173
211
|
const autoGenPkFields = autoGenPkFieldNames(obj);
|
|
212
|
+
const assignedPkFields = assignedPkFieldNames(obj);
|
|
174
213
|
const tphPin = tphDiscriminatorPin(obj);
|
|
175
214
|
|
|
176
215
|
const insertFieldLines: Code[] = [];
|
|
@@ -204,7 +243,9 @@ export function renderInsertSchemaOnly(obj: MetaObject, ctx?: RenderContext): Co
|
|
|
204
243
|
: code` ${child.name}: z.string().optional().transform(() => new Date().toISOString())`,
|
|
205
244
|
);
|
|
206
245
|
} else {
|
|
207
|
-
insertFieldLines.push(
|
|
246
|
+
insertFieldLines.push(
|
|
247
|
+
code` ${child.name}: ${zodFieldExpr(child, obj, ctx, isInsertRequiredPk(child, assignedPkFields))}`,
|
|
248
|
+
);
|
|
208
249
|
}
|
|
209
250
|
}
|
|
210
251
|
|
|
@@ -246,11 +287,14 @@ export interface SchemaFieldShape {
|
|
|
246
287
|
* • @readOnly fields are omitted (DB / replication owns the write path);
|
|
247
288
|
* • a TPH subtype's @discriminator field is a pinned `z.literal(value)`;
|
|
248
289
|
* • @autoSet fields are present but optional (server fills them);
|
|
290
|
+
* • an ASSIGNED primary key with no @default is required (see
|
|
291
|
+
* assignedPkFieldNames — its Drizzle column has no default);
|
|
249
292
|
* • every other field's optionality is `fieldWillBeOptional` (not required, or
|
|
250
293
|
* carries a @default).
|
|
251
294
|
*/
|
|
252
295
|
export function insertSchemaFields(obj: MetaObject): SchemaFieldShape[] {
|
|
253
296
|
const autoGenPkFields = autoGenPkFieldNames(obj);
|
|
297
|
+
const assignedPkFields = assignedPkFieldNames(obj);
|
|
254
298
|
const tphPin = tphDiscriminatorPin(obj);
|
|
255
299
|
const out: SchemaFieldShape[] = [];
|
|
256
300
|
for (const child of obj.fields()) {
|
|
@@ -266,7 +310,10 @@ export function insertSchemaFields(obj: MetaObject): SchemaFieldShape[] {
|
|
|
266
310
|
if (autoSet === AUTO_SET_ON_CREATE || autoSet === AUTO_SET_ON_UPDATE) {
|
|
267
311
|
out.push({ name: child.name, optional: true, autoSet: true });
|
|
268
312
|
} else {
|
|
269
|
-
out.push({
|
|
313
|
+
out.push({
|
|
314
|
+
name: child.name,
|
|
315
|
+
optional: isInsertRequiredPk(child, assignedPkFields) ? false : fieldWillBeOptional(child),
|
|
316
|
+
});
|
|
270
317
|
}
|
|
271
318
|
}
|
|
272
319
|
return out;
|
|
@@ -311,6 +358,7 @@ export function renderZodValidators(obj: MetaObject, ctx?: RenderContext): Code
|
|
|
311
358
|
const z = imp("z@zod");
|
|
312
359
|
const autoGenPkFields = autoGenPkFieldNames(obj);
|
|
313
360
|
const pkFields = primaryKeyFieldNames(obj);
|
|
361
|
+
const assignedPkFields = assignedPkFieldNames(obj);
|
|
314
362
|
const tphPin = tphDiscriminatorPin(obj);
|
|
315
363
|
|
|
316
364
|
const insertFieldLines: Code[] = [];
|
|
@@ -358,7 +406,9 @@ export function renderZodValidators(obj: MetaObject, ctx?: RenderContext): Code
|
|
|
358
406
|
// field expr) so an import/restore keeps the caller's original timestamp.
|
|
359
407
|
preservingFieldLines.push(code` ${child.name}: ${zodFieldExpr(child, obj, ctx)}`);
|
|
360
408
|
} else {
|
|
361
|
-
|
|
409
|
+
// The preserving schema is an INSERT shape (import / restore / replication),
|
|
410
|
+
// so an assigned PK is required there for the same typing reason.
|
|
411
|
+
const fieldLine = code` ${child.name}: ${zodFieldExpr(child, obj, ctx, isInsertRequiredPk(child, assignedPkFields))}`;
|
|
362
412
|
insertFieldLines.push(fieldLine);
|
|
363
413
|
preservingFieldLines.push(fieldLine);
|
|
364
414
|
}
|
|
@@ -452,7 +502,14 @@ function zodScalarFor(subType: string): string {
|
|
|
452
502
|
return "z.string()"; // string/uuid/date/time/timestamp/decimal/enum on the wire
|
|
453
503
|
}
|
|
454
504
|
|
|
455
|
-
function zodFieldExpr(
|
|
505
|
+
function zodFieldExpr(
|
|
506
|
+
field: MetaField,
|
|
507
|
+
owner?: MetaObject,
|
|
508
|
+
ctx?: RenderContext,
|
|
509
|
+
/** Suppress the trailing `.optional()` — see assignedPkFieldNames. Set ONLY
|
|
510
|
+
* by the insert-shape emitters; the update/read shapes must stay optional. */
|
|
511
|
+
forceRequired = false,
|
|
512
|
+
): Code {
|
|
456
513
|
// `@dbColumnType: jsonb` on a scalar (legal only on field.string) is the
|
|
457
514
|
// sanctioned "open JSON bag" escape hatch — a genuinely untyped JSON column
|
|
458
515
|
// with no value-object to reference. Its Drizzle column is a bare `jsonb()`,
|
|
@@ -465,7 +522,7 @@ function zodFieldExpr(field: MetaField, owner?: MetaObject, ctx?: RenderContext)
|
|
|
465
522
|
if (field.attr(FIELD_ATTR_DB_COLUMN_TYPE) === DB_COLUMN_TYPE_JSONB) {
|
|
466
523
|
let base: Code = code`z.unknown()`;
|
|
467
524
|
if (field.resolvedIsArray()) base = code`z.array(${base})`;
|
|
468
|
-
return appendValidatorChain(base, field);
|
|
525
|
+
return appendValidatorChain(base, field, forceRequired);
|
|
469
526
|
}
|
|
470
527
|
|
|
471
528
|
// FIELD_SUBTYPE_OBJECT: emit z.array(<Ref>InsertSchema) / <Ref>InsertSchema
|
|
@@ -490,13 +547,13 @@ function zodFieldExpr(field: MetaField, owner?: MetaObject, ctx?: RenderContext)
|
|
|
490
547
|
const refImp = imp(`${refName}InsertSchema@${moduleSpec}`);
|
|
491
548
|
let base: Code = code`${refImp}`;
|
|
492
549
|
if (field.resolvedIsArray()) base = code`z.array(${base})`;
|
|
493
|
-
return appendValidatorChain(base, field);
|
|
550
|
+
return appendValidatorChain(base, field, forceRequired);
|
|
494
551
|
}
|
|
495
552
|
// No resolvable @objectRef — fall through to z.unknown(); downstream code
|
|
496
553
|
// can still pass a value through but loses validation.
|
|
497
554
|
let base: Code = code`z.unknown()`;
|
|
498
555
|
if (field.resolvedIsArray()) base = code`z.array(${base})`;
|
|
499
|
-
return appendValidatorChain(base, field);
|
|
556
|
+
return appendValidatorChain(base, field, forceRequired);
|
|
500
557
|
}
|
|
501
558
|
|
|
502
559
|
// field.map → z.record(z.string(), V): value is a VO's InsertSchema (@objectRef)
|
|
@@ -509,10 +566,10 @@ function zodFieldExpr(field: MetaField, owner?: MetaObject, ctx?: RenderContext)
|
|
|
509
566
|
? valueObjectModuleSpecifier(refName, ctx.packageOf, owner.package, ctx.outputLayout, ctx.extStyle)
|
|
510
567
|
: `./${refName}.js`;
|
|
511
568
|
const refImp = imp(`${refName}InsertSchema@${moduleSpec}`);
|
|
512
|
-
return appendValidatorChain(code`z.record(z.string(), ${refImp})`, field);
|
|
569
|
+
return appendValidatorChain(code`z.record(z.string(), ${refImp})`, field, forceRequired);
|
|
513
570
|
}
|
|
514
571
|
const vt = field.attr(FIELD_ATTR_VALUE_TYPE);
|
|
515
|
-
return appendValidatorChain(code`z.record(z.string(), ${zodScalarFor(typeof vt === "string" ? vt : "string")})`, field);
|
|
572
|
+
return appendValidatorChain(code`z.record(z.string(), ${zodScalarFor(typeof vt === "string" ? vt : "string")})`, field, forceRequired);
|
|
516
573
|
}
|
|
517
574
|
|
|
518
575
|
let baseStr: string;
|
|
@@ -573,7 +630,7 @@ function zodFieldExpr(field: MetaField, owner?: MetaObject, ctx?: RenderContext)
|
|
|
573
630
|
const sharedConst = imp(`${constName}@${spec}`);
|
|
574
631
|
let base: Code = code`${sharedConst}`;
|
|
575
632
|
if (field.resolvedIsArray()) base = code`z.array(${base})`;
|
|
576
|
-
return appendValidatorChain(base, field);
|
|
633
|
+
return appendValidatorChain(base, field, forceRequired);
|
|
577
634
|
}
|
|
578
635
|
}
|
|
579
636
|
baseStr = zodEnumExpr(values);
|
|
@@ -612,7 +669,7 @@ function zodFieldExpr(field: MetaField, owner?: MetaObject, ctx?: RenderContext)
|
|
|
612
669
|
}
|
|
613
670
|
|
|
614
671
|
if (field.resolvedIsArray()) baseStr = `z.array(${baseStr})`;
|
|
615
|
-
return appendValidatorChain(code`${baseStr}`, field);
|
|
672
|
+
return appendValidatorChain(code`${baseStr}`, field, forceRequired);
|
|
616
673
|
}
|
|
617
674
|
|
|
618
675
|
/** Mirrors the optional-or-not decision inside appendValidatorChain so the update-schema
|
|
@@ -635,7 +692,7 @@ const NUMERIC_FIELD_SUBTYPES = new Set<string>([
|
|
|
635
692
|
* - numeric (scalar) → .min/.max = numeric value (validator.numeric)
|
|
636
693
|
* - array (any element) → .min/.max = element count (validator.array)
|
|
637
694
|
*/
|
|
638
|
-
function appendValidatorChain(base: Code, field: MetaField): Code {
|
|
695
|
+
function appendValidatorChain(base: Code, field: MetaField, forceRequired = false): Code {
|
|
639
696
|
let isRequired = field.attr(FIELD_ATTR_REQUIRED) === true;
|
|
640
697
|
let maxLen: number | undefined = field.attr(FIELD_ATTR_MAX_LENGTH) as number | undefined;
|
|
641
698
|
let minLen: number | undefined;
|
|
@@ -709,6 +766,12 @@ function appendValidatorChain(base: Code, field: MetaField): Code {
|
|
|
709
766
|
if (numMax !== undefined) chain = code`${chain}.max(${numMax})`;
|
|
710
767
|
}
|
|
711
768
|
|
|
769
|
+
// An assigned PK is insert-REQUIRED whatever @required says — its Drizzle
|
|
770
|
+
// column has no default, so an optional value cannot typecheck into
|
|
771
|
+
// `.values()`. Only the caller knows this (the update/read shapes must stay
|
|
772
|
+
// optional), hence the explicit opt-in. See assignedPkFieldNames.
|
|
773
|
+
if (forceRequired) return chain;
|
|
774
|
+
|
|
712
775
|
// Fields with DB-level defaults are optional in the InsertSchema: the caller
|
|
713
776
|
// can omit them and the DB will fill in. Otherwise required-with-default
|
|
714
777
|
// would force callers to repeat the default at every call site.
|