Skip to content

Commit c879a87

Browse files
authored
Merge pull request #205 from zenstackhq/dev
merge dev to main
2 parents ccf968e + 43e4f16 commit c879a87

File tree

26 files changed

+748
-288
lines changed

26 files changed

+748
-288
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "zenstack-v3",
3-
"version": "3.0.0-alpha.30",
3+
"version": "3.0.0-alpha.31",
44
"description": "ZenStack",
55
"packageManager": "[email protected]",
66
"scripts": {

packages/cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"publisher": "zenstack",
44
"displayName": "ZenStack CLI",
55
"description": "FullStack database toolkit with built-in access control and automatic API generation.",
6-
"version": "3.0.0-alpha.30",
6+
"version": "3.0.0-alpha.31",
77
"type": "module",
88
"author": {
99
"name": "ZenStack Team"

packages/common-helpers/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@zenstackhq/common-helpers",
3-
"version": "3.0.0-alpha.30",
3+
"version": "3.0.0-alpha.31",
44
"description": "ZenStack Common Helpers",
55
"type": "module",
66
"scripts": {

packages/create-zenstack/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "create-zenstack",
3-
"version": "3.0.0-alpha.30",
3+
"version": "3.0.0-alpha.31",
44
"description": "Create a new ZenStack project",
55
"type": "module",
66
"scripts": {

packages/dialects/sql.js/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@zenstackhq/kysely-sql-js",
3-
"version": "3.0.0-alpha.30",
3+
"version": "3.0.0-alpha.31",
44
"description": "Kysely dialect for sql.js",
55
"type": "module",
66
"scripts": {

packages/eslint-config/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@zenstackhq/eslint-config",
3-
"version": "3.0.0-alpha.30",
3+
"version": "3.0.0-alpha.31",
44
"type": "module",
55
"private": true,
66
"license": "MIT"

packages/ide/vscode/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "zenstack",
33
"publisher": "zenstack",
4-
"version": "3.0.0-alpha.30",
4+
"version": "3.0.0-alpha.31",
55
"displayName": "ZenStack Language Tools",
66
"description": "VSCode extension for ZenStack ZModel language",
77
"private": true,

packages/language/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@zenstackhq/language",
33
"description": "ZenStack ZModel language specification",
4-
"version": "3.0.0-alpha.30",
4+
"version": "3.0.0-alpha.31",
55
"license": "MIT",
66
"author": "ZenStack Team",
77
"files": [

packages/runtime/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@zenstackhq/runtime",
3-
"version": "3.0.0-alpha.30",
3+
"version": "3.0.0-alpha.31",
44
"description": "ZenStack Runtime",
55
"type": "module",
66
"scripts": {

packages/runtime/src/client/crud-types.ts

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,12 @@ export type WhereInput<
221221
? ArrayFilter<Schema, GetModelFieldType<Schema, Model, Key>>
222222
: // enum
223223
GetModelFieldType<Schema, Model, Key> extends GetEnums<Schema>
224-
? EnumFilter<Schema, GetModelFieldType<Schema, Model, Key>, ModelFieldIsOptional<Schema, Model, Key>>
224+
? EnumFilter<
225+
Schema,
226+
GetModelFieldType<Schema, Model, Key>,
227+
ModelFieldIsOptional<Schema, Model, Key>,
228+
WithAggregations
229+
>
225230
: // primitive
226231
PrimitiveFilter<
227232
Schema,
@@ -237,14 +242,25 @@ export type WhereInput<
237242
NOT?: OrArray<WhereInput<Schema, Model, ScalarOnly>>;
238243
};
239244

240-
type EnumFilter<Schema extends SchemaDef, T extends GetEnums<Schema>, Nullable extends boolean> =
245+
type EnumFilter<
246+
Schema extends SchemaDef,
247+
T extends GetEnums<Schema>,
248+
Nullable extends boolean,
249+
WithAggregations extends boolean,
250+
> =
241251
| NullableIf<keyof GetEnum<Schema, T>, Nullable>
242-
| {
252+
| ({
243253
equals?: NullableIf<keyof GetEnum<Schema, T>, Nullable>;
244254
in?: (keyof GetEnum<Schema, T>)[];
245255
notIn?: (keyof GetEnum<Schema, T>)[];
246-
not?: EnumFilter<Schema, T, Nullable>;
247-
};
256+
not?: EnumFilter<Schema, T, Nullable, WithAggregations>;
257+
} & (WithAggregations extends true
258+
? {
259+
_count?: NumberFilter<Schema, 'Int', false, false>;
260+
_min?: EnumFilter<Schema, T, false, false>;
261+
_max?: EnumFilter<Schema, T, false, false>;
262+
}
263+
: {}));
248264

249265
type ArrayFilter<Schema extends SchemaDef, T extends string> = {
250266
equals?: MapScalarType<Schema, T>[] | null;

0 commit comments

Comments
 (0)