@zenstackhq/runtime 3.0.0-alpha.20 → 3.0.0-alpha.21

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.
@@ -445,7 +445,7 @@ var BaseCrudDialect = class {
445
445
  if (fieldDef.relation) {
446
446
  result = this.and(eb, result, this.buildRelationFilter(eb, model, modelAlias, key, fieldDef, payload));
447
447
  } else {
448
- const fieldRef = buildFieldRef(this.schema, fieldDef.originModel ?? model, key, this.options, eb, fieldDef.originModel ?? modelAlias);
448
+ const fieldRef = this.fieldRef(fieldDef.originModel ?? model, key, eb, fieldDef.originModel ?? modelAlias);
449
449
  if (fieldDef.array) {
450
450
  result = this.and(eb, result, this.buildArrayFilter(eb, fieldRef, fieldDef, payload));
451
451
  } else {
@@ -768,7 +768,7 @@ var BaseCrudDialect = class {
768
768
  (0, import_common_helpers.invariant)(value && typeof value === "object", `invalid orderBy value for field "${field}"`);
769
769
  for (const [k, v] of Object.entries(value)) {
770
770
  (0, import_common_helpers.invariant)(v === "asc" || v === "desc", `invalid orderBy value for field "${field}"`);
771
- result = result.orderBy((eb) => aggregate(eb, import_kysely.sql.ref(`${modelAlias}.${k}`), field), import_kysely.sql.raw(this.negateSort(v, negated)));
771
+ result = result.orderBy((eb) => aggregate(eb, this.fieldRef(model, k, eb, modelAlias), field), import_kysely.sql.raw(this.negateSort(v, negated)));
772
772
  }
773
773
  continue;
774
774
  }
@@ -777,7 +777,7 @@ var BaseCrudDialect = class {
777
777
  (0, import_common_helpers.invariant)(value && typeof value === "object", 'invalid orderBy value for field "_count"');
778
778
  for (const [k, v] of Object.entries(value)) {
779
779
  (0, import_common_helpers.invariant)(v === "asc" || v === "desc", `invalid orderBy value for field "${field}"`);
780
- result = result.orderBy((eb) => eb.fn.count(import_kysely.sql.ref(k)), import_kysely.sql.raw(this.negateSort(v, negated)));
780
+ result = result.orderBy((eb) => eb.fn.count(this.fieldRef(model, k, eb, modelAlias)), import_kysely.sql.raw(this.negateSort(v, negated)));
781
781
  }
782
782
  continue;
783
783
  }
@@ -786,10 +786,11 @@ var BaseCrudDialect = class {
786
786
  }
787
787
  const fieldDef = requireField(this.schema, model, field);
788
788
  if (!fieldDef.relation) {
789
+ const fieldRef = this.fieldRef(model, field, (0, import_kysely.expressionBuilder)(), modelAlias);
789
790
  if (value === "asc" || value === "desc") {
790
- result = result.orderBy(import_kysely.sql.ref(`${modelAlias}.${field}`), this.negateSort(value, negated));
791
+ result = result.orderBy(fieldRef, this.negateSort(value, negated));
791
792
  } else if (value && typeof value === "object" && "nulls" in value && "sort" in value && (value.sort === "asc" || value.sort === "desc") && (value.nulls === "first" || value.nulls === "last")) {
792
- result = result.orderBy(import_kysely.sql.ref(`${modelAlias}.${field}`), import_kysely.sql.raw(`${this.negateSort(value.sort, negated)} nulls ${value.nulls}`));
793
+ result = result.orderBy(fieldRef, import_kysely.sql.raw(`${this.negateSort(value.sort, negated)} nulls ${value.nulls}`));
793
794
  }
794
795
  } else {
795
796
  const relationModel = fieldDef.type;
@@ -851,7 +852,7 @@ var BaseCrudDialect = class {
851
852
  buildSelectField(query, model, modelAlias, field) {
852
853
  const fieldDef = requireField(this.schema, model, field);
853
854
  if (fieldDef.computed) {
854
- return query.select((eb) => buildFieldRef(this.schema, model, field, this.options, eb).as(field));
855
+ return query.select((eb) => this.fieldRef(model, field, eb, modelAlias).as(field));
855
856
  } else if (!fieldDef.originModel) {
856
857
  return query.select(import_kysely.sql.ref(`${modelAlias}.${field}`).as(field));
857
858
  } else {
@@ -942,6 +943,9 @@ var BaseCrudDialect = class {
942
943
  not(eb, ...args) {
943
944
  return eb.not(this.and(eb, ...args));
944
945
  }
946
+ fieldRef(model, field, eb, modelAlias) {
947
+ return buildFieldRef(this.schema, model, field, this.options, eb, modelAlias);
948
+ }
945
949
  };
946
950
 
947
951
  // src/client/crud/dialects/postgresql.ts
@@ -1035,7 +1039,7 @@ var PostgresCrudDialect = class extends BaseCrudDialect {
1035
1039
  if (payload === true || !payload.select) {
1036
1040
  objArgs.push(...Object.entries(relationModelDef.fields).filter(([, value]) => !value.relation).filter(([name]) => !(typeof payload === "object" && payload.omit?.[name] === true)).map(([field]) => [
1037
1041
  import_kysely2.sql.lit(field),
1038
- buildFieldRef(this.schema, relationModel, field, this.options, eb)
1042
+ this.fieldRef(relationModel, field, eb)
1039
1043
  ]).flatMap((v) => v));
1040
1044
  } else if (payload.select) {
1041
1045
  objArgs.push(...Object.entries(payload.select).filter(([, value]) => value).map(([field, value]) => {
@@ -1047,7 +1051,7 @@ var PostgresCrudDialect = class extends BaseCrudDialect {
1047
1051
  ];
1048
1052
  } else {
1049
1053
  const fieldDef = requireField(this.schema, relationModel, field);
1050
- const fieldValue = fieldDef.relation ? eb.ref(`${parentAlias}$${relationField}$${field}.$j`) : buildFieldRef(this.schema, relationModel, field, this.options, eb);
1054
+ const fieldValue = fieldDef.relation ? eb.ref(`${parentAlias}$${relationField}$${field}.$j`) : this.fieldRef(relationModel, field, eb);
1051
1055
  return [
1052
1056
  import_kysely2.sql.lit(field),
1053
1057
  fieldValue
@@ -1198,7 +1202,7 @@ var SqliteCrudDialect = class extends BaseCrudDialect {
1198
1202
  if (payload === true || !payload.select) {
1199
1203
  objArgs.push(...Object.entries(relationModelDef.fields).filter(([, value]) => !value.relation).filter(([name]) => !(typeof payload === "object" && payload.omit?.[name] === true)).map(([field]) => [
1200
1204
  import_kysely3.sql.lit(field),
1201
- buildFieldRef(this.schema, relationModel, field, this.options, eb)
1205
+ this.fieldRef(relationModel, field, eb)
1202
1206
  ]).flatMap((v) => v));
1203
1207
  } else if (payload.select) {
1204
1208
  objArgs.push(...Object.entries(payload.select).filter(([, value]) => value).map(([field, value]) => {
@@ -1219,7 +1223,7 @@ var SqliteCrudDialect = class extends BaseCrudDialect {
1219
1223
  } else {
1220
1224
  return [
1221
1225
  import_kysely3.sql.lit(field),
1222
- buildFieldRef(this.schema, relationModel, field, this.options, eb)
1226
+ this.fieldRef(relationModel, field, eb)
1223
1227
  ];
1224
1228
  }
1225
1229
  }