@zenstackhq/runtime 3.0.0-alpha.20 → 3.0.0-alpha.22
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/{contract-XFKcwhq7.d.cts → contract-D8U59Syb.d.cts} +1 -0
- package/dist/{contract-XFKcwhq7.d.ts → contract-D8U59Syb.d.ts} +1 -0
- package/dist/index.cjs +77 -36
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +105 -64
- package/dist/index.js.map +1 -1
- package/dist/plugins/policy/index.cjs +14 -10
- package/dist/plugins/policy/index.cjs.map +1 -1
- package/dist/plugins/policy/index.d.cts +1 -1
- package/dist/plugins/policy/index.d.ts +1 -1
- package/dist/plugins/policy/index.js +17 -13
- package/dist/plugins/policy/index.js.map +1 -1
- package/package.json +10 -8
|
@@ -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 =
|
|
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,
|
|
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(
|
|
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(
|
|
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(
|
|
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) =>
|
|
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
|
-
|
|
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`) :
|
|
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
|
-
|
|
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
|
-
|
|
1226
|
+
this.fieldRef(relationModel, field, eb)
|
|
1223
1227
|
];
|
|
1224
1228
|
}
|
|
1225
1229
|
}
|