@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 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
  }