@zenstackhq/orm 3.7.0 → 3.7.1
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/dist/index.cjs +7 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -5
- package/dist/index.d.mts +6 -5
- package/dist/index.mjs +7 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +8 -8
package/dist/index.cjs
CHANGED
|
@@ -226,6 +226,7 @@ var query_utils_exports = /* @__PURE__ */ __exportAll({
|
|
|
226
226
|
fieldHasDefaultValue: () => fieldHasDefaultValue,
|
|
227
227
|
flattenCompoundUniqueFilters: () => flattenCompoundUniqueFilters,
|
|
228
228
|
getDelegateDescendantModels: () => getDelegateDescendantModels,
|
|
229
|
+
getDelegateDiscriminatorValue: () => getDelegateDiscriminatorValue,
|
|
229
230
|
getDiscriminatorField: () => getDiscriminatorField,
|
|
230
231
|
getEnum: () => getEnum,
|
|
231
232
|
getField: () => getField,
|
|
@@ -459,6 +460,10 @@ function getDiscriminatorField(schema, model) {
|
|
|
459
460
|
if (!discriminator || !_zenstackhq_schema.ExpressionUtils.isField(discriminator.value)) throw createInternalError(`Discriminator field not defined for model "${model}"`, model);
|
|
460
461
|
return discriminator.value.field;
|
|
461
462
|
}
|
|
463
|
+
function getDelegateDiscriminatorValue(schema, model) {
|
|
464
|
+
const modelDef = requireModel(schema, model);
|
|
465
|
+
return modelDef.delegateMap ?? modelDef.name;
|
|
466
|
+
}
|
|
462
467
|
function getDelegateDescendantModels(schema, model, collected = /* @__PURE__ */ new Set()) {
|
|
463
468
|
Object.values(schema.models).filter((m) => m.baseModel === model).forEach((def) => {
|
|
464
469
|
if (!collected.has(def)) {
|
|
@@ -4386,7 +4391,7 @@ var BaseOperationHandler = class {
|
|
|
4386
4391
|
});
|
|
4387
4392
|
const discriminatorField = getDiscriminatorField(this.schema, model);
|
|
4388
4393
|
(0, _zenstackhq_common_helpers.invariant)(discriminatorField, `Base model "${model}" must have a discriminator field`);
|
|
4389
|
-
thisCreateFields[discriminatorField] = forModel;
|
|
4394
|
+
thisCreateFields[discriminatorField] = getDelegateDiscriminatorValue(this.schema, forModel);
|
|
4390
4395
|
const baseEntity = await this.create(kysely$8, model, thisCreateFields, void 0, true);
|
|
4391
4396
|
const idValues = extractIdFields(baseEntity, this.schema, model);
|
|
4392
4397
|
Object.assign(remainingFields, idValues);
|
|
@@ -4578,7 +4583,7 @@ var BaseOperationHandler = class {
|
|
|
4578
4583
|
if (this.getField(model, field)) thisCreateFields[field] = value;
|
|
4579
4584
|
else remainingFields[field] = value;
|
|
4580
4585
|
});
|
|
4581
|
-
thisCreateFields[discriminatorField] = forModel;
|
|
4586
|
+
thisCreateFields[discriminatorField] = getDelegateDiscriminatorValue(this.schema, forModel);
|
|
4582
4587
|
thisCreateRows.push(thisCreateFields);
|
|
4583
4588
|
remainingFieldRows.push(remainingFields);
|
|
4584
4589
|
}
|