From b18334f3570c3fcae88830a7cdda356a127f67f1 Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Thu, 1 Aug 2024 16:05:16 -0700 Subject: [PATCH 01/12] switch some types over to the new BooleanExpressionType --- arion-compose/services/engine.nix | 3 +- .../hasura/chinook/metadata/chinook-types.hml | 92 ----- .../metadata/commands/InsertArtist.hml | 2 +- .../hasura/chinook/metadata/models/Album.hml | 2 +- .../hasura/chinook/metadata/models/Artist.hml | 2 +- .../chinook/metadata/models/Customer.hml | 2 +- .../chinook/metadata/models/Employee.hml | 2 +- .../hasura/chinook/metadata/models/Genre.hml | 2 +- .../chinook/metadata/models/Invoice.hml | 2 +- .../chinook/metadata/models/InvoiceLine.hml | 2 +- .../chinook/metadata/models/MediaType.hml | 2 +- .../chinook/metadata/models/Playlist.hml | 2 +- .../chinook/metadata/models/PlaylistTrack.hml | 2 +- .../hasura/chinook/metadata/models/Track.hml | 2 +- .../hasura/common/metadata/scalar-types.hml | 313 ++++++++++++++++++ .../sample_mflix/metadata/models/Comments.hml | 47 +-- .../sample_mflix/metadata/models/Users.hml | 40 +-- .../metadata/sample_mflix-types.hml | 93 ------ flake.lock | 6 +- 19 files changed, 373 insertions(+), 245 deletions(-) delete mode 100644 fixtures/hasura/chinook/metadata/chinook-types.hml create mode 100644 fixtures/hasura/common/metadata/scalar-types.hml delete mode 100644 fixtures/hasura/sample_mflix/metadata/sample_mflix-types.hml diff --git a/arion-compose/services/engine.nix b/arion-compose/services/engine.nix index b520948b..34f2f004 100644 --- a/arion-compose/services/engine.nix +++ b/arion-compose/services/engine.nix @@ -63,9 +63,8 @@ let connectors)); auth-config = pkgs.writeText "auth_config.json" (builtins.toJSON { - version = "v1"; + version = "v2"; definition = { - allowRoleEmulationBy = "admin"; mode.webhook = { url = auth-webhook.url; method = "Post"; diff --git a/fixtures/hasura/chinook/metadata/chinook-types.hml b/fixtures/hasura/chinook/metadata/chinook-types.hml deleted file mode 100644 index 8a8c6de0..00000000 --- a/fixtures/hasura/chinook/metadata/chinook-types.hml +++ /dev/null @@ -1,92 +0,0 @@ ---- -kind: ScalarType -version: v1 -definition: - name: Chinook_ObjectId - graphql: - typeName: Chinook_ObjectId - ---- -kind: DataConnectorScalarRepresentation -version: v1 -definition: - dataConnectorName: chinook - dataConnectorScalarType: ObjectId - representation: Chinook_ObjectId - graphql: - comparisonExpressionTypeName: Chinook_ObjectIdComparisonExp - ---- -kind: DataConnectorScalarRepresentation -version: v1 -definition: - dataConnectorName: chinook - dataConnectorScalarType: Int - representation: Int - graphql: - comparisonExpressionTypeName: Chinook_IntComparisonExp - ---- -kind: ScalarType -version: v1 -definition: - name: Chinook_Double - graphql: - typeName: Chinook_Double - ---- -kind: DataConnectorScalarRepresentation -version: v1 -definition: - dataConnectorName: chinook - dataConnectorScalarType: Double - representation: Double - graphql: - comparisonExpressionTypeName: Chinook_DoubleComparisonExp - ---- -kind: ScalarType -version: v1 -definition: - name: Decimal - graphql: - typeName: Chinook_Decimal - ---- -kind: DataConnectorScalarRepresentation -version: v1 -definition: - dataConnectorName: chinook - dataConnectorScalarType: Decimal - representation: Decimal - graphql: - comparisonExpressionTypeName: Chinook_DecimalComparisonExp - ---- -kind: DataConnectorScalarRepresentation -version: v1 -definition: - dataConnectorName: chinook - dataConnectorScalarType: String - representation: String - graphql: - comparisonExpressionTypeName: Chinook_StringComparisonExp - ---- -kind: ScalarType -version: v1 -definition: - name: Chinook_ExtendedJson - graphql: - typeName: Chinook_ExtendedJson - ---- -kind: DataConnectorScalarRepresentation -version: v1 -definition: - dataConnectorName: chinook - dataConnectorScalarType: ExtendedJSON - representation: Chinook_ExtendedJson - graphql: - comparisonExpressionTypeName: Chinook_ExtendedJsonComparisonExp - diff --git a/fixtures/hasura/chinook/metadata/commands/InsertArtist.hml b/fixtures/hasura/chinook/metadata/commands/InsertArtist.hml index a538819c..6e5c835e 100644 --- a/fixtures/hasura/chinook/metadata/commands/InsertArtist.hml +++ b/fixtures/hasura/chinook/metadata/commands/InsertArtist.hml @@ -40,7 +40,7 @@ definition: inputTypeName: InsertArtistInput fields: - name: ok - type: Chinook_Double! + type: Double! - name: n type: Int! dataConnectorTypeMapping: diff --git a/fixtures/hasura/chinook/metadata/models/Album.hml b/fixtures/hasura/chinook/metadata/models/Album.hml index be6847fa..69f388d3 100644 --- a/fixtures/hasura/chinook/metadata/models/Album.hml +++ b/fixtures/hasura/chinook/metadata/models/Album.hml @@ -5,7 +5,7 @@ definition: name: Album fields: - name: id - type: Chinook_ObjectId! + type: ObjectId! - name: albumId type: Int! - name: artistId diff --git a/fixtures/hasura/chinook/metadata/models/Artist.hml b/fixtures/hasura/chinook/metadata/models/Artist.hml index aadf44bb..79ac0b21 100644 --- a/fixtures/hasura/chinook/metadata/models/Artist.hml +++ b/fixtures/hasura/chinook/metadata/models/Artist.hml @@ -5,7 +5,7 @@ definition: name: Artist fields: - name: id - type: Chinook_ObjectId! + type: ObjectId! - name: artistId type: Int! - name: name diff --git a/fixtures/hasura/chinook/metadata/models/Customer.hml b/fixtures/hasura/chinook/metadata/models/Customer.hml index 10233562..322b95e5 100644 --- a/fixtures/hasura/chinook/metadata/models/Customer.hml +++ b/fixtures/hasura/chinook/metadata/models/Customer.hml @@ -5,7 +5,7 @@ definition: name: Customer fields: - name: id - type: Chinook_ObjectId! + type: ObjectId! - name: address type: String - name: city diff --git a/fixtures/hasura/chinook/metadata/models/Employee.hml b/fixtures/hasura/chinook/metadata/models/Employee.hml index 79af5edb..3f34db83 100644 --- a/fixtures/hasura/chinook/metadata/models/Employee.hml +++ b/fixtures/hasura/chinook/metadata/models/Employee.hml @@ -5,7 +5,7 @@ definition: name: Employee fields: - name: id - type: Chinook_ObjectId! + type: ObjectId! - name: address type: String - name: birthDate diff --git a/fixtures/hasura/chinook/metadata/models/Genre.hml b/fixtures/hasura/chinook/metadata/models/Genre.hml index bdc3cbee..e4eb03f1 100644 --- a/fixtures/hasura/chinook/metadata/models/Genre.hml +++ b/fixtures/hasura/chinook/metadata/models/Genre.hml @@ -5,7 +5,7 @@ definition: name: Genre fields: - name: id - type: Chinook_ObjectId! + type: ObjectId! - name: genreId type: Int! - name: name diff --git a/fixtures/hasura/chinook/metadata/models/Invoice.hml b/fixtures/hasura/chinook/metadata/models/Invoice.hml index 8cd0391a..7d175c70 100644 --- a/fixtures/hasura/chinook/metadata/models/Invoice.hml +++ b/fixtures/hasura/chinook/metadata/models/Invoice.hml @@ -5,7 +5,7 @@ definition: name: Invoice fields: - name: id - type: Chinook_ObjectId! + type: ObjectId! - name: billingAddress type: String - name: billingCity diff --git a/fixtures/hasura/chinook/metadata/models/InvoiceLine.hml b/fixtures/hasura/chinook/metadata/models/InvoiceLine.hml index 19d790c9..ab35b2ea 100644 --- a/fixtures/hasura/chinook/metadata/models/InvoiceLine.hml +++ b/fixtures/hasura/chinook/metadata/models/InvoiceLine.hml @@ -5,7 +5,7 @@ definition: name: InvoiceLine fields: - name: id - type: Chinook_ObjectId! + type: ObjectId! - name: invoiceId type: Int! - name: invoiceLineId diff --git a/fixtures/hasura/chinook/metadata/models/MediaType.hml b/fixtures/hasura/chinook/metadata/models/MediaType.hml index 65c462f7..84b6e963 100644 --- a/fixtures/hasura/chinook/metadata/models/MediaType.hml +++ b/fixtures/hasura/chinook/metadata/models/MediaType.hml @@ -5,7 +5,7 @@ definition: name: MediaType fields: - name: id - type: Chinook_ObjectId! + type: ObjectId! - name: mediaTypeId type: Int! - name: name diff --git a/fixtures/hasura/chinook/metadata/models/Playlist.hml b/fixtures/hasura/chinook/metadata/models/Playlist.hml index 6e474e8e..8b8da180 100644 --- a/fixtures/hasura/chinook/metadata/models/Playlist.hml +++ b/fixtures/hasura/chinook/metadata/models/Playlist.hml @@ -5,7 +5,7 @@ definition: name: Playlist fields: - name: id - type: Chinook_ObjectId! + type: ObjectId! - name: name type: String - name: playlistId diff --git a/fixtures/hasura/chinook/metadata/models/PlaylistTrack.hml b/fixtures/hasura/chinook/metadata/models/PlaylistTrack.hml index ec0efc74..4ef3d8f8 100644 --- a/fixtures/hasura/chinook/metadata/models/PlaylistTrack.hml +++ b/fixtures/hasura/chinook/metadata/models/PlaylistTrack.hml @@ -5,7 +5,7 @@ definition: name: PlaylistTrack fields: - name: id - type: Chinook_ObjectId! + type: ObjectId! - name: playlistId type: Int! - name: trackId diff --git a/fixtures/hasura/chinook/metadata/models/Track.hml b/fixtures/hasura/chinook/metadata/models/Track.hml index 3910420c..f67f69f9 100644 --- a/fixtures/hasura/chinook/metadata/models/Track.hml +++ b/fixtures/hasura/chinook/metadata/models/Track.hml @@ -5,7 +5,7 @@ definition: name: Track fields: - name: id - type: Chinook_ObjectId! + type: ObjectId! - name: albumId type: Int - name: bytes diff --git a/fixtures/hasura/common/metadata/scalar-types.hml b/fixtures/hasura/common/metadata/scalar-types.hml new file mode 100644 index 00000000..3d590d02 --- /dev/null +++ b/fixtures/hasura/common/metadata/scalar-types.hml @@ -0,0 +1,313 @@ +--- +kind: ScalarType +version: v1 +definition: + name: Date + graphql: + typeName: Date + +--- +kind: BooleanExpressionType +version: v1 +definition: + name: DateComparisonExp + operand: + scalar: + type: Date + comparisonOperators: + - name: _eq + argumentType: Date + - name: _neq + argumentType: Date + - name: _gt + argumentType: Date + - name: _gte + argumentType: Date + - name: _lt + argumentType: Date + - name: _lte + argumentType: Date + dataConnectorOperatorMapping: + - dataConnectorName: chinook + dataConnectorScalarType: Date + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + - dataConnectorName: sample_mflix + dataConnectorScalarType: Date + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: DateComparisonExp + +--- +kind: ScalarType +version: v1 +definition: + name: Decimal + graphql: + typeName: Chinook_Decimal + +--- +kind: BooleanExpressionType +version: v1 +definition: + name: DecimalComparisonExp + operand: + scalar: + type: Decimal + comparisonOperators: + - name: _eq + argumentType: Decimal + - name: _neq + argumentType: Decimal + - name: _gt + argumentType: Decimal + - name: _gte + argumentType: Decimal + - name: _lt + argumentType: Decimal + - name: _lte + argumentType: Decimal + dataConnectorOperatorMapping: + - dataConnectorName: chinook + dataConnectorScalarType: Decimal + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + - dataConnectorName: sample_mflix + dataConnectorScalarType: Decimal + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: DecimalComparisonExp + +--- +kind: ScalarType +version: v1 +definition: + name: Double + graphql: + typeName: Double + +--- +kind: BooleanExpressionType +version: v1 +definition: + name: DoubleComparisonExp + operand: + scalar: + type: Double + comparisonOperators: + - name: _eq + argumentType: Double + - name: _neq + argumentType: Double + - name: _gt + argumentType: Double + - name: _gte + argumentType: Double + - name: _lt + argumentType: Double + - name: _lte + argumentType: Double + dataConnectorOperatorMapping: + - dataConnectorName: chinook + dataConnectorScalarType: Double + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + - dataConnectorName: sample_mflix + dataConnectorScalarType: Double + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: DoubleComparisonExp + +--- +kind: ScalarType +version: v1 +definition: + name: ExtendedJson + graphql: + typeName: ExtendedJson + +--- +kind: BooleanExpressionType +version: v1 +definition: + name: IntComparisonExp + operand: + scalar: + type: Int + comparisonOperators: + - name: _eq + argumentType: Int + - name: _neq + argumentType: Int + - name: _gt + argumentType: Int + - name: _gte + argumentType: Int + - name: _lt + argumentType: Int + - name: _lte + argumentType: Int + dataConnectorOperatorMapping: + - dataConnectorName: chinook + dataConnectorScalarType: Int + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + - dataConnectorName: sample_mflix + dataConnectorScalarType: Int + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: IntComparisonExp + +--- +kind: ScalarType +version: v1 +definition: + name: ObjectId + graphql: + typeName: ObjectId + +--- +kind: BooleanExpressionType +version: v1 +definition: + name: ObjectIdComparisonExp + operand: + scalar: + type: ObjectId + comparisonOperators: + - name: _eq + argumentType: ObjectId + - name: _neq + argumentType: ObjectId + dataConnectorOperatorMapping: + - dataConnectorName: chinook + dataConnectorScalarType: ObjectId + operatorMapping: + _eq: _eq + _neq: _neq + - dataConnectorName: sample_mflix + dataConnectorScalarType: ObjectId + operatorMapping: + _eq: _eq + _neq: _neq + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: ObjectIdComparisonExp + +--- +kind: BooleanExpressionType +version: v1 +definition: + name: StringComparisonExp + operand: + scalar: + type: String + comparisonOperators: + - name: _eq + argumentType: String + - name: _neq + argumentType: String + - name: _gt + argumentType: String + - name: _gte + argumentType: String + - name: _lt + argumentType: String + - name: _lte + argumentType: String + - name: _regex + argumentType: String + - name: _iregex + argumentType: String + dataConnectorOperatorMapping: + - dataConnectorName: chinook + dataConnectorScalarType: String + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + _regex: _regex + _iregex: _iregex + - dataConnectorName: sample_mflix + dataConnectorScalarType: String + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + _regex: _regex + _iregex: _iregex + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: StringComparisonExp diff --git a/fixtures/hasura/sample_mflix/metadata/models/Comments.hml b/fixtures/hasura/sample_mflix/metadata/models/Comments.hml index 5e0cba4f..5d347b2b 100644 --- a/fixtures/hasura/sample_mflix/metadata/models/Comments.hml +++ b/fixtures/hasura/sample_mflix/metadata/models/Comments.hml @@ -68,32 +68,33 @@ definition: - text --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: name: CommentsBoolExp - objectType: Comments - dataConnectorName: sample_mflix - dataConnectorObjectType: comments - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: date - operators: - enableAll: true - - fieldName: email - operators: - enableAll: true - - fieldName: movieId - operators: - enableAll: true - - fieldName: name - operators: - enableAll: true - - fieldName: text - operators: - enableAll: true + operand: + object: + type: Comments + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: date + booleanExpressionType: DateComparisonExp + - fieldName: email + booleanExpressionType: StringComparisonExp + - fieldName: movieId + booleanExpressionType: ObjectIdComparisonExp + - fieldName: name + booleanExpressionType: StringComparisonExp + - fieldName: text + booleanExpressionType: StringComparisonExp + comparableRelationships: + - relationshipName: user + booleanExpressionType: UsersBoolExp + logicalOperators: + enable: true + isNull: + enable: true graphql: typeName: CommentsBoolExp diff --git a/fixtures/hasura/sample_mflix/metadata/models/Users.hml b/fixtures/hasura/sample_mflix/metadata/models/Users.hml index ae9324b7..6090826a 100644 --- a/fixtures/hasura/sample_mflix/metadata/models/Users.hml +++ b/fixtures/hasura/sample_mflix/metadata/models/Users.hml @@ -59,29 +59,29 @@ definition: - name --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: name: UsersBoolExp - objectType: Users - dataConnectorName: sample_mflix - dataConnectorObjectType: users - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: email - operators: - enableAll: true - - fieldName: name - operators: - enableAll: true - - fieldName: password - operators: - enableAll: true - - fieldName: preferences - operators: - enableAll: true + operand: + object: + type: Users + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: email + booleanExpressionType: StringComparisonExp + - fieldName: name + booleanExpressionType: StringComparisonExp + - fieldName: password + booleanExpressionType: StringComparisonExp + comparableRelationships: + - relationshipName: comments + booleanExpressionType: CommentsBoolExp + logicalOperators: + enable: true + isNull: + enable: true graphql: typeName: UsersBoolExp diff --git a/fixtures/hasura/sample_mflix/metadata/sample_mflix-types.hml b/fixtures/hasura/sample_mflix/metadata/sample_mflix-types.hml deleted file mode 100644 index 423f0a71..00000000 --- a/fixtures/hasura/sample_mflix/metadata/sample_mflix-types.hml +++ /dev/null @@ -1,93 +0,0 @@ ---- -kind: ScalarType -version: v1 -definition: - name: ObjectId - graphql: - typeName: ObjectId - ---- -kind: DataConnectorScalarRepresentation -version: v1 -definition: - dataConnectorName: sample_mflix - dataConnectorScalarType: ObjectId - representation: ObjectId - graphql: - comparisonExpressionTypeName: ObjectIdComparisonExp - ---- -kind: ScalarType -version: v1 -definition: - name: Date - graphql: - typeName: Date - ---- -kind: DataConnectorScalarRepresentation -version: v1 -definition: - dataConnectorName: sample_mflix - dataConnectorScalarType: Date - representation: Date - graphql: - comparisonExpressionTypeName: DateComparisonExp - ---- -kind: DataConnectorScalarRepresentation -version: v1 -definition: - dataConnectorName: sample_mflix - dataConnectorScalarType: String - representation: String - graphql: - comparisonExpressionTypeName: StringComparisonExp - ---- -kind: ScalarType -version: v1 -definition: - name: ExtendedJson - graphql: - typeName: ExtendedJson - ---- -kind: DataConnectorScalarRepresentation -version: v1 -definition: - dataConnectorName: sample_mflix - dataConnectorScalarType: Int - representation: Int - graphql: - comparisonExpressionTypeName: IntComparisonExp - ---- -kind: DataConnectorScalarRepresentation -version: v1 -definition: - dataConnectorName: sample_mflix - dataConnectorScalarType: ExtendedJSON - representation: ExtendedJson - graphql: - comparisonExpressionTypeName: ExtendedJsonComparisonExp - ---- -kind: ScalarType -version: v1 -definition: - name: Double - graphql: - typeName: Double - ---- -kind: DataConnectorScalarRepresentation -version: v1 -definition: - dataConnectorName: sample_mflix - dataConnectorScalarType: Double - representation: Double - graphql: - comparisonExpressionTypeName: DoubleComparisonExp - - diff --git a/flake.lock b/flake.lock index 6192f37f..16d8cce9 100644 --- a/flake.lock +++ b/flake.lock @@ -119,11 +119,11 @@ "graphql-engine-source": { "flake": false, "locked": { - "lastModified": 1717090976, - "narHash": "sha256-NUjY32Ec+pdYBXgfE0xtqfquTBJqoQqEKs4tV0jt+S0=", + "lastModified": 1722547712, + "narHash": "sha256-mwhId0e6tir9MeBrjCu6G8NqQWN5qMQhKhiUWIHem98=", "owner": "hasura", "repo": "graphql-engine", - "rev": "11e1e02d59c9eede27a6c69765232f0273f03585", + "rev": "d41170b06a8ea2c33670c94e16a9f0e5d492114a", "type": "github" }, "original": { From b8d519cf7fbfc9d2fcbbac3d758b615c6363e13d Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Fri, 2 Aug 2024 13:59:12 -0700 Subject: [PATCH 02/12] update engine --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 16d8cce9..44e7f7ac 100644 --- a/flake.lock +++ b/flake.lock @@ -119,11 +119,11 @@ "graphql-engine-source": { "flake": false, "locked": { - "lastModified": 1722547712, - "narHash": "sha256-mwhId0e6tir9MeBrjCu6G8NqQWN5qMQhKhiUWIHem98=", + "lastModified": 1722615509, + "narHash": "sha256-LH10Tc/UWZ1uwxrw4tohmqR/uzVi53jHnr+ziuxJi8I=", "owner": "hasura", "repo": "graphql-engine", - "rev": "d41170b06a8ea2c33670c94e16a9f0e5d492114a", + "rev": "03c85f69857ef556e9bb26f8b92e9e47317991a3", "type": "github" }, "original": { From bb8ecf5b3226db98396495474cf1a4e019a4a849 Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Mon, 5 Aug 2024 14:54:39 -0700 Subject: [PATCH 03/12] split scalar definitions into multiple files --- .../hasura/common/metadata/scalar-types.hml | 313 ------------------ .../common/metadata/scalar-types/Date.hml | 55 +++ .../common/metadata/scalar-types/Decimal.hml | 77 +++++ .../common/metadata/scalar-types/Double.hml | 54 +++ .../metadata/scalar-types/ExtendedJson.hml | 7 + .../common/metadata/scalar-types/Int.hml | 46 +++ .../common/metadata/scalar-types/ObjectId.hml | 38 +++ .../common/metadata/scalar-types/String.hml | 54 +++ 8 files changed, 331 insertions(+), 313 deletions(-) delete mode 100644 fixtures/hasura/common/metadata/scalar-types.hml create mode 100644 fixtures/hasura/common/metadata/scalar-types/Date.hml create mode 100644 fixtures/hasura/common/metadata/scalar-types/Decimal.hml create mode 100644 fixtures/hasura/common/metadata/scalar-types/Double.hml create mode 100644 fixtures/hasura/common/metadata/scalar-types/ExtendedJson.hml create mode 100644 fixtures/hasura/common/metadata/scalar-types/Int.hml create mode 100644 fixtures/hasura/common/metadata/scalar-types/ObjectId.hml create mode 100644 fixtures/hasura/common/metadata/scalar-types/String.hml diff --git a/fixtures/hasura/common/metadata/scalar-types.hml b/fixtures/hasura/common/metadata/scalar-types.hml deleted file mode 100644 index 3d590d02..00000000 --- a/fixtures/hasura/common/metadata/scalar-types.hml +++ /dev/null @@ -1,313 +0,0 @@ ---- -kind: ScalarType -version: v1 -definition: - name: Date - graphql: - typeName: Date - ---- -kind: BooleanExpressionType -version: v1 -definition: - name: DateComparisonExp - operand: - scalar: - type: Date - comparisonOperators: - - name: _eq - argumentType: Date - - name: _neq - argumentType: Date - - name: _gt - argumentType: Date - - name: _gte - argumentType: Date - - name: _lt - argumentType: Date - - name: _lte - argumentType: Date - dataConnectorOperatorMapping: - - dataConnectorName: chinook - dataConnectorScalarType: Date - operatorMapping: - _eq: _eq - _neq: _neq - _gt: _gt - _gte: _gte - _lt: _lt - _lte: _lte - - dataConnectorName: sample_mflix - dataConnectorScalarType: Date - operatorMapping: - _eq: _eq - _neq: _neq - _gt: _gt - _gte: _gte - _lt: _lt - _lte: _lte - logicalOperators: - enable: true - isNull: - enable: true - graphql: - typeName: DateComparisonExp - ---- -kind: ScalarType -version: v1 -definition: - name: Decimal - graphql: - typeName: Chinook_Decimal - ---- -kind: BooleanExpressionType -version: v1 -definition: - name: DecimalComparisonExp - operand: - scalar: - type: Decimal - comparisonOperators: - - name: _eq - argumentType: Decimal - - name: _neq - argumentType: Decimal - - name: _gt - argumentType: Decimal - - name: _gte - argumentType: Decimal - - name: _lt - argumentType: Decimal - - name: _lte - argumentType: Decimal - dataConnectorOperatorMapping: - - dataConnectorName: chinook - dataConnectorScalarType: Decimal - operatorMapping: - _eq: _eq - _neq: _neq - _gt: _gt - _gte: _gte - _lt: _lt - _lte: _lte - - dataConnectorName: sample_mflix - dataConnectorScalarType: Decimal - operatorMapping: - _eq: _eq - _neq: _neq - _gt: _gt - _gte: _gte - _lt: _lt - _lte: _lte - logicalOperators: - enable: true - isNull: - enable: true - graphql: - typeName: DecimalComparisonExp - ---- -kind: ScalarType -version: v1 -definition: - name: Double - graphql: - typeName: Double - ---- -kind: BooleanExpressionType -version: v1 -definition: - name: DoubleComparisonExp - operand: - scalar: - type: Double - comparisonOperators: - - name: _eq - argumentType: Double - - name: _neq - argumentType: Double - - name: _gt - argumentType: Double - - name: _gte - argumentType: Double - - name: _lt - argumentType: Double - - name: _lte - argumentType: Double - dataConnectorOperatorMapping: - - dataConnectorName: chinook - dataConnectorScalarType: Double - operatorMapping: - _eq: _eq - _neq: _neq - _gt: _gt - _gte: _gte - _lt: _lt - _lte: _lte - - dataConnectorName: sample_mflix - dataConnectorScalarType: Double - operatorMapping: - _eq: _eq - _neq: _neq - _gt: _gt - _gte: _gte - _lt: _lt - _lte: _lte - logicalOperators: - enable: true - isNull: - enable: true - graphql: - typeName: DoubleComparisonExp - ---- -kind: ScalarType -version: v1 -definition: - name: ExtendedJson - graphql: - typeName: ExtendedJson - ---- -kind: BooleanExpressionType -version: v1 -definition: - name: IntComparisonExp - operand: - scalar: - type: Int - comparisonOperators: - - name: _eq - argumentType: Int - - name: _neq - argumentType: Int - - name: _gt - argumentType: Int - - name: _gte - argumentType: Int - - name: _lt - argumentType: Int - - name: _lte - argumentType: Int - dataConnectorOperatorMapping: - - dataConnectorName: chinook - dataConnectorScalarType: Int - operatorMapping: - _eq: _eq - _neq: _neq - _gt: _gt - _gte: _gte - _lt: _lt - _lte: _lte - - dataConnectorName: sample_mflix - dataConnectorScalarType: Int - operatorMapping: - _eq: _eq - _neq: _neq - _gt: _gt - _gte: _gte - _lt: _lt - _lte: _lte - logicalOperators: - enable: true - isNull: - enable: true - graphql: - typeName: IntComparisonExp - ---- -kind: ScalarType -version: v1 -definition: - name: ObjectId - graphql: - typeName: ObjectId - ---- -kind: BooleanExpressionType -version: v1 -definition: - name: ObjectIdComparisonExp - operand: - scalar: - type: ObjectId - comparisonOperators: - - name: _eq - argumentType: ObjectId - - name: _neq - argumentType: ObjectId - dataConnectorOperatorMapping: - - dataConnectorName: chinook - dataConnectorScalarType: ObjectId - operatorMapping: - _eq: _eq - _neq: _neq - - dataConnectorName: sample_mflix - dataConnectorScalarType: ObjectId - operatorMapping: - _eq: _eq - _neq: _neq - logicalOperators: - enable: true - isNull: - enable: true - graphql: - typeName: ObjectIdComparisonExp - ---- -kind: BooleanExpressionType -version: v1 -definition: - name: StringComparisonExp - operand: - scalar: - type: String - comparisonOperators: - - name: _eq - argumentType: String - - name: _neq - argumentType: String - - name: _gt - argumentType: String - - name: _gte - argumentType: String - - name: _lt - argumentType: String - - name: _lte - argumentType: String - - name: _regex - argumentType: String - - name: _iregex - argumentType: String - dataConnectorOperatorMapping: - - dataConnectorName: chinook - dataConnectorScalarType: String - operatorMapping: - _eq: _eq - _neq: _neq - _gt: _gt - _gte: _gte - _lt: _lt - _lte: _lte - _regex: _regex - _iregex: _iregex - - dataConnectorName: sample_mflix - dataConnectorScalarType: String - operatorMapping: - _eq: _eq - _neq: _neq - _gt: _gt - _gte: _gte - _lt: _lt - _lte: _lte - _regex: _regex - _iregex: _iregex - logicalOperators: - enable: true - isNull: - enable: true - graphql: - typeName: StringComparisonExp diff --git a/fixtures/hasura/common/metadata/scalar-types/Date.hml b/fixtures/hasura/common/metadata/scalar-types/Date.hml new file mode 100644 index 00000000..c266e31d --- /dev/null +++ b/fixtures/hasura/common/metadata/scalar-types/Date.hml @@ -0,0 +1,55 @@ +--- +kind: ScalarType +version: v1 +definition: + name: Date + graphql: + typeName: Date + +--- +kind: BooleanExpressionType +version: v1 +definition: + name: DateComparisonExp + operand: + scalar: + type: Date + comparisonOperators: + - name: _eq + argumentType: Date + - name: _neq + argumentType: Date + - name: _gt + argumentType: Date + - name: _gte + argumentType: Date + - name: _lt + argumentType: Date + - name: _lte + argumentType: Date + dataConnectorOperatorMapping: + - dataConnectorName: chinook + dataConnectorScalarType: Date + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + - dataConnectorName: sample_mflix + dataConnectorScalarType: Date + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: DateComparisonExp + diff --git a/fixtures/hasura/common/metadata/scalar-types/Decimal.hml b/fixtures/hasura/common/metadata/scalar-types/Decimal.hml new file mode 100644 index 00000000..c01bee99 --- /dev/null +++ b/fixtures/hasura/common/metadata/scalar-types/Decimal.hml @@ -0,0 +1,77 @@ +--- +kind: ScalarType +version: v1 +definition: + name: Decimal + graphql: + typeName: Decimal + +--- +kind: BooleanExpressionType +version: v1 +definition: + name: DecimalComparisonExp + operand: + scalar: + type: Decimal + comparisonOperators: + - name: _eq + argumentType: Decimal + - name: _neq + argumentType: Decimal + - name: _gt + argumentType: Decimal + - name: _gte + argumentType: Decimal + - name: _lt + argumentType: Decimal + - name: _lte + argumentType: Decimal + dataConnectorOperatorMapping: + - dataConnectorName: chinook + dataConnectorScalarType: Decimal + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + - dataConnectorName: sample_mflix + dataConnectorScalarType: Decimal + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: DecimalComparisonExp + +--- +kind: AggregateExpression +version: v1 +definition: + name: Decimal_aggregate_exp + operand: + scalar: + aggregatedType: Decimal + aggregationFunctions: + - name: count + returnType: Int + dataConnectorAggregationFunctionMapping: + - dataConnectorName: chinook + dataConnectorScalarType: Decimal + functionMapping: + count: + name: count + - dataConnectorName: sample_mflix + dataConnectorScalarType: Decimal + functionMapping: + count: + name: count diff --git a/fixtures/hasura/common/metadata/scalar-types/Double.hml b/fixtures/hasura/common/metadata/scalar-types/Double.hml new file mode 100644 index 00000000..29cfd630 --- /dev/null +++ b/fixtures/hasura/common/metadata/scalar-types/Double.hml @@ -0,0 +1,54 @@ +--- +kind: ScalarType +version: v1 +definition: + name: Double + graphql: + typeName: Double + +--- +kind: BooleanExpressionType +version: v1 +definition: + name: DoubleComparisonExp + operand: + scalar: + type: Double + comparisonOperators: + - name: _eq + argumentType: Double + - name: _neq + argumentType: Double + - name: _gt + argumentType: Double + - name: _gte + argumentType: Double + - name: _lt + argumentType: Double + - name: _lte + argumentType: Double + dataConnectorOperatorMapping: + - dataConnectorName: chinook + dataConnectorScalarType: Double + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + - dataConnectorName: sample_mflix + dataConnectorScalarType: Double + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: DoubleComparisonExp diff --git a/fixtures/hasura/common/metadata/scalar-types/ExtendedJson.hml b/fixtures/hasura/common/metadata/scalar-types/ExtendedJson.hml new file mode 100644 index 00000000..e25c00dc --- /dev/null +++ b/fixtures/hasura/common/metadata/scalar-types/ExtendedJson.hml @@ -0,0 +1,7 @@ +--- +kind: ScalarType +version: v1 +definition: + name: ExtendedJson + graphql: + typeName: ExtendedJson diff --git a/fixtures/hasura/common/metadata/scalar-types/Int.hml b/fixtures/hasura/common/metadata/scalar-types/Int.hml new file mode 100644 index 00000000..2f3e71c7 --- /dev/null +++ b/fixtures/hasura/common/metadata/scalar-types/Int.hml @@ -0,0 +1,46 @@ +--- +kind: BooleanExpressionType +version: v1 +definition: + name: IntComparisonExp + operand: + scalar: + type: Int + comparisonOperators: + - name: _eq + argumentType: Int + - name: _neq + argumentType: Int + - name: _gt + argumentType: Int + - name: _gte + argumentType: Int + - name: _lt + argumentType: Int + - name: _lte + argumentType: Int + dataConnectorOperatorMapping: + - dataConnectorName: chinook + dataConnectorScalarType: Int + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + - dataConnectorName: sample_mflix + dataConnectorScalarType: Int + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: IntComparisonExp diff --git a/fixtures/hasura/common/metadata/scalar-types/ObjectId.hml b/fixtures/hasura/common/metadata/scalar-types/ObjectId.hml new file mode 100644 index 00000000..4098f209 --- /dev/null +++ b/fixtures/hasura/common/metadata/scalar-types/ObjectId.hml @@ -0,0 +1,38 @@ +--- +kind: ScalarType +version: v1 +definition: + name: ObjectId + graphql: + typeName: ObjectId + +--- +kind: BooleanExpressionType +version: v1 +definition: + name: ObjectIdComparisonExp + operand: + scalar: + type: ObjectId + comparisonOperators: + - name: _eq + argumentType: ObjectId + - name: _neq + argumentType: ObjectId + dataConnectorOperatorMapping: + - dataConnectorName: chinook + dataConnectorScalarType: ObjectId + operatorMapping: + _eq: _eq + _neq: _neq + - dataConnectorName: sample_mflix + dataConnectorScalarType: ObjectId + operatorMapping: + _eq: _eq + _neq: _neq + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: ObjectIdComparisonExp diff --git a/fixtures/hasura/common/metadata/scalar-types/String.hml b/fixtures/hasura/common/metadata/scalar-types/String.hml new file mode 100644 index 00000000..2990e3e0 --- /dev/null +++ b/fixtures/hasura/common/metadata/scalar-types/String.hml @@ -0,0 +1,54 @@ +--- +kind: BooleanExpressionType +version: v1 +definition: + name: StringComparisonExp + operand: + scalar: + type: String + comparisonOperators: + - name: _eq + argumentType: String + - name: _neq + argumentType: String + - name: _gt + argumentType: String + - name: _gte + argumentType: String + - name: _lt + argumentType: String + - name: _lte + argumentType: String + - name: _regex + argumentType: String + - name: _iregex + argumentType: String + dataConnectorOperatorMapping: + - dataConnectorName: chinook + dataConnectorScalarType: String + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + _regex: _regex + _iregex: _iregex + - dataConnectorName: sample_mflix + dataConnectorScalarType: String + operatorMapping: + _eq: _eq + _neq: _neq + _gt: _gt + _gte: _gte + _lt: _lt + _lte: _lte + _regex: _regex + _iregex: _iregex + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: StringComparisonExp From 2e298af8a864798ff0a125d7b410809419e222fb Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Mon, 5 Aug 2024 14:58:10 -0700 Subject: [PATCH 04/12] remove Chinook_ prefixes --- .../metadata/ArtistsWithAlbumsAndTracks.hml | 16 ++++++++-------- .../metadata/commands/UpdateTrackPrices.hml | 2 +- .../hasura/chinook/metadata/models/Invoice.hml | 2 +- .../chinook/metadata/models/InvoiceLine.hml | 2 +- .../hasura/chinook/metadata/models/Track.hml | 2 +- .../common/metadata/scalar-types/Decimal.hml | 8 ++++++++ 6 files changed, 20 insertions(+), 12 deletions(-) diff --git a/fixtures/hasura/chinook/metadata/ArtistsWithAlbumsAndTracks.hml b/fixtures/hasura/chinook/metadata/ArtistsWithAlbumsAndTracks.hml index 43308e50..643ad84e 100644 --- a/fixtures/hasura/chinook/metadata/ArtistsWithAlbumsAndTracks.hml +++ b/fixtures/hasura/chinook/metadata/ArtistsWithAlbumsAndTracks.hml @@ -5,14 +5,14 @@ definition: name: AlbumWithTracks fields: - name: id - type: Chinook_ObjectId! + type: ObjectId! - name: title type: String! - name: tracks type: "[Track!]!" graphql: - typeName: Chinook_AlbumWithTracks - inputTypeName: Chinook_AlbumWithTracksInput + typeName: AlbumWithTracks + inputTypeName: AlbumWithTracksInput dataConnectorTypeMapping: - dataConnectorName: chinook dataConnectorObjectType: AlbumWithTracks @@ -47,14 +47,14 @@ definition: name: ArtistWithAlbumsAndTracks fields: - name: id - type: Chinook_ObjectId! + type: ObjectId! - name: albums type: "[AlbumWithTracks!]!" - name: name type: String! graphql: - typeName: Chinook_ArtistWithAlbumsAndTracks - inputTypeName: Chinook_ArtistWithAlbumsAndTracksInput + typeName: ArtistWithAlbumsAndTracks + inputTypeName: ArtistWithAlbumsAndTracksInput dataConnectorTypeMapping: - dataConnectorName: chinook dataConnectorObjectType: ArtistWithAlbumsAndTracks @@ -101,7 +101,7 @@ definition: operators: enableAll: true graphql: - typeName: Chinook_ArtistWithAlbumsAndTracksBoolExp + typeName: ArtistWithAlbumsAndTracksBoolExp --- kind: Model @@ -130,7 +130,7 @@ definition: - queryRootField: artistsWithAlbumsAndTracksById uniqueIdentifier: - id - orderByExpressionType: Chinook_ArtistsWithAlbumsAndTracksOrderBy + orderByExpressionType: ArtistsWithAlbumsAndTracksOrderBy description: combines artist, albums, and tracks into a single document per artist --- diff --git a/fixtures/hasura/chinook/metadata/commands/UpdateTrackPrices.hml b/fixtures/hasura/chinook/metadata/commands/UpdateTrackPrices.hml index 4c6917dc..f56a883d 100644 --- a/fixtures/hasura/chinook/metadata/commands/UpdateTrackPrices.hml +++ b/fixtures/hasura/chinook/metadata/commands/UpdateTrackPrices.hml @@ -6,7 +6,7 @@ definition: outputType: InsertArtist! arguments: - name: newPrice - type: Chinook_Decimal! + type: Decimal! - name: where type: TrackBoolExp! source: diff --git a/fixtures/hasura/chinook/metadata/models/Invoice.hml b/fixtures/hasura/chinook/metadata/models/Invoice.hml index 80192225..7d175c70 100644 --- a/fixtures/hasura/chinook/metadata/models/Invoice.hml +++ b/fixtures/hasura/chinook/metadata/models/Invoice.hml @@ -23,7 +23,7 @@ definition: - name: invoiceId type: Int! - name: total - type: Chinook_Decimal! + type: Decimal! graphql: typeName: Invoice inputTypeName: InvoiceInput diff --git a/fixtures/hasura/chinook/metadata/models/InvoiceLine.hml b/fixtures/hasura/chinook/metadata/models/InvoiceLine.hml index 84097c37..ab35b2ea 100644 --- a/fixtures/hasura/chinook/metadata/models/InvoiceLine.hml +++ b/fixtures/hasura/chinook/metadata/models/InvoiceLine.hml @@ -15,7 +15,7 @@ definition: - name: trackId type: Int! - name: unitPrice - type: Chinook_Decimal! + type: Decimal! graphql: typeName: InvoiceLine inputTypeName: InvoiceLineInput diff --git a/fixtures/hasura/chinook/metadata/models/Track.hml b/fixtures/hasura/chinook/metadata/models/Track.hml index 057c8ca6..f67f69f9 100644 --- a/fixtures/hasura/chinook/metadata/models/Track.hml +++ b/fixtures/hasura/chinook/metadata/models/Track.hml @@ -23,7 +23,7 @@ definition: - name: trackId type: Int! - name: unitPrice - type: Chinook_Decimal! + type: Decimal! graphql: typeName: Track inputTypeName: TrackInput diff --git a/fixtures/hasura/common/metadata/scalar-types/Decimal.hml b/fixtures/hasura/common/metadata/scalar-types/Decimal.hml index c01bee99..9d549c33 100644 --- a/fixtures/hasura/common/metadata/scalar-types/Decimal.hml +++ b/fixtures/hasura/common/metadata/scalar-types/Decimal.hml @@ -62,8 +62,16 @@ definition: scalar: aggregatedType: Decimal aggregationFunctions: + - name: avg + returnType: Decimal - name: count returnType: Int + - name: max + returnType: Decimal + - name: min + returnType: Decimal + - name: sum + returnType: Decimal dataConnectorAggregationFunctionMapping: - dataConnectorName: chinook dataConnectorScalarType: Decimal From 3d121c62198c8095e2379c604db0c45753c1d603 Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Tue, 6 Aug 2024 12:51:34 -0700 Subject: [PATCH 05/12] add back DataConnectorScalarRepresentation configs --- .../common/metadata/scalar-types/Date.hml | 20 +++++++++++ .../common/metadata/scalar-types/Decimal.hml | 34 ++++++++++++++++--- .../common/metadata/scalar-types/Double.hml | 32 +++++++++++------ .../metadata/scalar-types/ExtendedJson.hml | 16 +++++++++ .../common/metadata/scalar-types/Int.hml | 20 +++++++++++ .../common/metadata/scalar-types/ObjectId.hml | 20 +++++++++++ .../common/metadata/scalar-types/String.hml | 20 +++++++++++ 7 files changed, 148 insertions(+), 14 deletions(-) diff --git a/fixtures/hasura/common/metadata/scalar-types/Date.hml b/fixtures/hasura/common/metadata/scalar-types/Date.hml index c266e31d..e8c5bfb4 100644 --- a/fixtures/hasura/common/metadata/scalar-types/Date.hml +++ b/fixtures/hasura/common/metadata/scalar-types/Date.hml @@ -6,6 +6,26 @@ definition: graphql: typeName: Date +--- +kind: DataConnectorScalarRepresentation +version: v1 +definition: + dataConnectorName: chinook + dataConnectorScalarType: Date + representation: Date + graphql: + comparisonExpressionTypeName: DateComparisonExp + +--- +kind: DataConnectorScalarRepresentation +version: v1 +definition: + dataConnectorName: sample_mflix + dataConnectorScalarType: Date + representation: Date + graphql: + comparisonExpressionTypeName: DateComparisonExp + --- kind: BooleanExpressionType version: v1 diff --git a/fixtures/hasura/common/metadata/scalar-types/Decimal.hml b/fixtures/hasura/common/metadata/scalar-types/Decimal.hml index 9d549c33..cff06a91 100644 --- a/fixtures/hasura/common/metadata/scalar-types/Decimal.hml +++ b/fixtures/hasura/common/metadata/scalar-types/Decimal.hml @@ -6,6 +6,26 @@ definition: graphql: typeName: Decimal +--- +kind: DataConnectorScalarRepresentation +version: v1 +definition: + dataConnectorName: chinook + dataConnectorScalarType: Decimal + representation: Decimal + graphql: + comparisonExpressionTypeName: DecimalComparisonExp + +--- +kind: DataConnectorScalarRepresentation +version: v1 +definition: + dataConnectorName: sample_mflix + dataConnectorScalarType: Decimal + representation: Decimal + graphql: + comparisonExpressionTypeName: DecimalComparisonExp + --- kind: BooleanExpressionType version: v1 @@ -76,10 +96,16 @@ definition: - dataConnectorName: chinook dataConnectorScalarType: Decimal functionMapping: - count: - name: count + avg: { name: avg } + count: { name: count } + max: { name: max } + min: { name: min } + sum: { name: sum } - dataConnectorName: sample_mflix dataConnectorScalarType: Decimal functionMapping: - count: - name: count + avg: { name: avg } + count: { name: count } + max: { name: max } + min: { name: min } + sum: { name: sum } diff --git a/fixtures/hasura/common/metadata/scalar-types/Double.hml b/fixtures/hasura/common/metadata/scalar-types/Double.hml index 29cfd630..88456b98 100644 --- a/fixtures/hasura/common/metadata/scalar-types/Double.hml +++ b/fixtures/hasura/common/metadata/scalar-types/Double.hml @@ -1,32 +1,44 @@ --- -kind: ScalarType +kind: DataConnectorScalarRepresentation version: v1 definition: - name: Double + dataConnectorName: chinook + dataConnectorScalarType: Double + representation: Float graphql: - typeName: Double + comparisonExpressionTypeName: FloatComparisonExp + +--- +kind: DataConnectorScalarRepresentation +version: v1 +definition: + dataConnectorName: sample_mflix + dataConnectorScalarType: Double + representation: Float + graphql: + comparisonExpressionTypeName: FloatComparisonExp --- kind: BooleanExpressionType version: v1 definition: - name: DoubleComparisonExp + name: FloatComparisonExp operand: scalar: type: Double comparisonOperators: - name: _eq - argumentType: Double + argumentType: Float - name: _neq - argumentType: Double + argumentType: Float - name: _gt - argumentType: Double + argumentType: Float - name: _gte - argumentType: Double + argumentType: Float - name: _lt - argumentType: Double + argumentType: Float - name: _lte - argumentType: Double + argumentType: Float dataConnectorOperatorMapping: - dataConnectorName: chinook dataConnectorScalarType: Double diff --git a/fixtures/hasura/common/metadata/scalar-types/ExtendedJson.hml b/fixtures/hasura/common/metadata/scalar-types/ExtendedJson.hml index e25c00dc..94b102f9 100644 --- a/fixtures/hasura/common/metadata/scalar-types/ExtendedJson.hml +++ b/fixtures/hasura/common/metadata/scalar-types/ExtendedJson.hml @@ -5,3 +5,19 @@ definition: name: ExtendedJson graphql: typeName: ExtendedJson + +--- +kind: DataConnectorScalarRepresentation +version: v1 +definition: + dataConnectorName: chinook + dataConnectorScalarType: ExtendedJson + representation: ExtendedJson + +--- +kind: DataConnectorScalarRepresentation +version: v1 +definition: + dataConnectorName: sample_mflix + dataConnectorScalarType: ExtendedJson + representation: ExtendedJson diff --git a/fixtures/hasura/common/metadata/scalar-types/Int.hml b/fixtures/hasura/common/metadata/scalar-types/Int.hml index 2f3e71c7..9e7f8426 100644 --- a/fixtures/hasura/common/metadata/scalar-types/Int.hml +++ b/fixtures/hasura/common/metadata/scalar-types/Int.hml @@ -1,3 +1,23 @@ +--- +kind: DataConnectorScalarRepresentation +version: v1 +definition: + dataConnectorName: chinook + dataConnectorScalarType: Int + representation: Int + graphql: + comparisonExpressionTypeName: IntComparisonExp + +--- +kind: DataConnectorScalarRepresentation +version: v1 +definition: + dataConnectorName: sample_mflix + dataConnectorScalarType: Int + representation: Int + graphql: + comparisonExpressionTypeName: IntComparisonExp + --- kind: BooleanExpressionType version: v1 diff --git a/fixtures/hasura/common/metadata/scalar-types/ObjectId.hml b/fixtures/hasura/common/metadata/scalar-types/ObjectId.hml index 4098f209..1a8a169b 100644 --- a/fixtures/hasura/common/metadata/scalar-types/ObjectId.hml +++ b/fixtures/hasura/common/metadata/scalar-types/ObjectId.hml @@ -6,6 +6,26 @@ definition: graphql: typeName: ObjectId +--- +kind: DataConnectorScalarRepresentation +version: v1 +definition: + dataConnectorName: chinook + dataConnectorScalarType: ObjectId + representation: ObjectId + graphql: + comparisonExpressionTypeName: ObjectIdComparisonExp + +--- +kind: DataConnectorScalarRepresentation +version: v1 +definition: + dataConnectorName: sample_mflix + dataConnectorScalarType: ObjectId + representation: ObjectId + graphql: + comparisonExpressionTypeName: ObjectIdComparisonExp + --- kind: BooleanExpressionType version: v1 diff --git a/fixtures/hasura/common/metadata/scalar-types/String.hml b/fixtures/hasura/common/metadata/scalar-types/String.hml index 2990e3e0..eddb7dd9 100644 --- a/fixtures/hasura/common/metadata/scalar-types/String.hml +++ b/fixtures/hasura/common/metadata/scalar-types/String.hml @@ -1,3 +1,23 @@ +--- +kind: DataConnectorScalarRepresentation +version: v1 +definition: + dataConnectorName: chinook + dataConnectorScalarType: String + representation: String + graphql: + comparisonExpressionTypeName: StringComparisonExp + +--- +kind: DataConnectorScalarRepresentation +version: v1 +definition: + dataConnectorName: sample_mflix + dataConnectorScalarType: String + representation: String + graphql: + comparisonExpressionTypeName: StringComparisonExp + --- kind: BooleanExpressionType version: v1 From a3eac57af0f0cb1802ee3edc7999bdd70bb1a6f2 Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Tue, 6 Aug 2024 12:54:34 -0700 Subject: [PATCH 06/12] use native Float type instead of custom scalar --- .../chinook/metadata/commands/InsertArtist.hml | 2 +- .../{ExtendedJson.hml => ExtendedJSON.hml} | 12 ++++++------ .../hasura/sample_mflix/metadata/models/Movies.hml | 6 +++--- .../hasura/sample_mflix/metadata/models/Theaters.hml | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) rename fixtures/hasura/common/metadata/scalar-types/{ExtendedJson.hml => ExtendedJSON.hml} (57%) diff --git a/fixtures/hasura/chinook/metadata/commands/InsertArtist.hml b/fixtures/hasura/chinook/metadata/commands/InsertArtist.hml index 6e5c835e..5988d7f3 100644 --- a/fixtures/hasura/chinook/metadata/commands/InsertArtist.hml +++ b/fixtures/hasura/chinook/metadata/commands/InsertArtist.hml @@ -40,7 +40,7 @@ definition: inputTypeName: InsertArtistInput fields: - name: ok - type: Double! + type: Float! - name: n type: Int! dataConnectorTypeMapping: diff --git a/fixtures/hasura/common/metadata/scalar-types/ExtendedJson.hml b/fixtures/hasura/common/metadata/scalar-types/ExtendedJSON.hml similarity index 57% rename from fixtures/hasura/common/metadata/scalar-types/ExtendedJson.hml rename to fixtures/hasura/common/metadata/scalar-types/ExtendedJSON.hml index 94b102f9..37ced137 100644 --- a/fixtures/hasura/common/metadata/scalar-types/ExtendedJson.hml +++ b/fixtures/hasura/common/metadata/scalar-types/ExtendedJSON.hml @@ -2,22 +2,22 @@ kind: ScalarType version: v1 definition: - name: ExtendedJson + name: ExtendedJSON graphql: - typeName: ExtendedJson + typeName: ExtendedJSON --- kind: DataConnectorScalarRepresentation version: v1 definition: dataConnectorName: chinook - dataConnectorScalarType: ExtendedJson - representation: ExtendedJson + dataConnectorScalarType: ExtendedJSON + representation: ExtendedJSON --- kind: DataConnectorScalarRepresentation version: v1 definition: dataConnectorName: sample_mflix - dataConnectorScalarType: ExtendedJson - representation: ExtendedJson + dataConnectorScalarType: ExtendedJSON + representation: ExtendedJSON diff --git a/fixtures/hasura/sample_mflix/metadata/models/Movies.hml b/fixtures/hasura/sample_mflix/metadata/models/Movies.hml index 06fc64d2..7da8c920 100644 --- a/fixtures/hasura/sample_mflix/metadata/models/Movies.hml +++ b/fixtures/hasura/sample_mflix/metadata/models/Movies.hml @@ -39,7 +39,7 @@ definition: - name: id type: Int! - name: rating - type: Double! + type: Float! - name: votes type: Int! graphql: @@ -73,7 +73,7 @@ definition: - name: numReviews type: Int! - name: rating - type: Double! + type: Float! graphql: typeName: MoviesTomatoesCritic inputTypeName: MoviesTomatoesCriticInput @@ -105,7 +105,7 @@ definition: - name: numReviews type: Int! - name: rating - type: Double! + type: Float! graphql: typeName: MoviesTomatoesViewer inputTypeName: MoviesTomatoesViewerInput diff --git a/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml b/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml index 7620bb60..0c534319 100644 --- a/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml +++ b/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml @@ -43,7 +43,7 @@ definition: name: TheatersLocationGeo fields: - name: coordinates - type: "[Double!]!" + type: "[Float!]!" - name: type type: String! graphql: From d98326d9d2f1ecf9cdc29afeb9fcd0b3375a22ec Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Tue, 6 Aug 2024 12:57:41 -0700 Subject: [PATCH 07/12] can't get comparison expression from scalar representation config --- fixtures/hasura/common/metadata/scalar-types/Date.hml | 4 ---- fixtures/hasura/common/metadata/scalar-types/Decimal.hml | 4 ---- fixtures/hasura/common/metadata/scalar-types/Double.hml | 4 ---- fixtures/hasura/common/metadata/scalar-types/Int.hml | 4 ---- fixtures/hasura/common/metadata/scalar-types/ObjectId.hml | 4 ---- fixtures/hasura/common/metadata/scalar-types/String.hml | 4 ---- 6 files changed, 24 deletions(-) diff --git a/fixtures/hasura/common/metadata/scalar-types/Date.hml b/fixtures/hasura/common/metadata/scalar-types/Date.hml index e8c5bfb4..56e6f057 100644 --- a/fixtures/hasura/common/metadata/scalar-types/Date.hml +++ b/fixtures/hasura/common/metadata/scalar-types/Date.hml @@ -13,8 +13,6 @@ definition: dataConnectorName: chinook dataConnectorScalarType: Date representation: Date - graphql: - comparisonExpressionTypeName: DateComparisonExp --- kind: DataConnectorScalarRepresentation @@ -23,8 +21,6 @@ definition: dataConnectorName: sample_mflix dataConnectorScalarType: Date representation: Date - graphql: - comparisonExpressionTypeName: DateComparisonExp --- kind: BooleanExpressionType diff --git a/fixtures/hasura/common/metadata/scalar-types/Decimal.hml b/fixtures/hasura/common/metadata/scalar-types/Decimal.hml index cff06a91..4ff773f3 100644 --- a/fixtures/hasura/common/metadata/scalar-types/Decimal.hml +++ b/fixtures/hasura/common/metadata/scalar-types/Decimal.hml @@ -13,8 +13,6 @@ definition: dataConnectorName: chinook dataConnectorScalarType: Decimal representation: Decimal - graphql: - comparisonExpressionTypeName: DecimalComparisonExp --- kind: DataConnectorScalarRepresentation @@ -23,8 +21,6 @@ definition: dataConnectorName: sample_mflix dataConnectorScalarType: Decimal representation: Decimal - graphql: - comparisonExpressionTypeName: DecimalComparisonExp --- kind: BooleanExpressionType diff --git a/fixtures/hasura/common/metadata/scalar-types/Double.hml b/fixtures/hasura/common/metadata/scalar-types/Double.hml index 88456b98..94f42a0c 100644 --- a/fixtures/hasura/common/metadata/scalar-types/Double.hml +++ b/fixtures/hasura/common/metadata/scalar-types/Double.hml @@ -5,8 +5,6 @@ definition: dataConnectorName: chinook dataConnectorScalarType: Double representation: Float - graphql: - comparisonExpressionTypeName: FloatComparisonExp --- kind: DataConnectorScalarRepresentation @@ -15,8 +13,6 @@ definition: dataConnectorName: sample_mflix dataConnectorScalarType: Double representation: Float - graphql: - comparisonExpressionTypeName: FloatComparisonExp --- kind: BooleanExpressionType diff --git a/fixtures/hasura/common/metadata/scalar-types/Int.hml b/fixtures/hasura/common/metadata/scalar-types/Int.hml index 9e7f8426..0afb1b1e 100644 --- a/fixtures/hasura/common/metadata/scalar-types/Int.hml +++ b/fixtures/hasura/common/metadata/scalar-types/Int.hml @@ -5,8 +5,6 @@ definition: dataConnectorName: chinook dataConnectorScalarType: Int representation: Int - graphql: - comparisonExpressionTypeName: IntComparisonExp --- kind: DataConnectorScalarRepresentation @@ -15,8 +13,6 @@ definition: dataConnectorName: sample_mflix dataConnectorScalarType: Int representation: Int - graphql: - comparisonExpressionTypeName: IntComparisonExp --- kind: BooleanExpressionType diff --git a/fixtures/hasura/common/metadata/scalar-types/ObjectId.hml b/fixtures/hasura/common/metadata/scalar-types/ObjectId.hml index 1a8a169b..d89d0ca8 100644 --- a/fixtures/hasura/common/metadata/scalar-types/ObjectId.hml +++ b/fixtures/hasura/common/metadata/scalar-types/ObjectId.hml @@ -13,8 +13,6 @@ definition: dataConnectorName: chinook dataConnectorScalarType: ObjectId representation: ObjectId - graphql: - comparisonExpressionTypeName: ObjectIdComparisonExp --- kind: DataConnectorScalarRepresentation @@ -23,8 +21,6 @@ definition: dataConnectorName: sample_mflix dataConnectorScalarType: ObjectId representation: ObjectId - graphql: - comparisonExpressionTypeName: ObjectIdComparisonExp --- kind: BooleanExpressionType diff --git a/fixtures/hasura/common/metadata/scalar-types/String.hml b/fixtures/hasura/common/metadata/scalar-types/String.hml index eddb7dd9..fb03feb4 100644 --- a/fixtures/hasura/common/metadata/scalar-types/String.hml +++ b/fixtures/hasura/common/metadata/scalar-types/String.hml @@ -5,8 +5,6 @@ definition: dataConnectorName: chinook dataConnectorScalarType: String representation: String - graphql: - comparisonExpressionTypeName: StringComparisonExp --- kind: DataConnectorScalarRepresentation @@ -15,8 +13,6 @@ definition: dataConnectorName: sample_mflix dataConnectorScalarType: String representation: String - graphql: - comparisonExpressionTypeName: StringComparisonExp --- kind: BooleanExpressionType From 4bd757beca4d775086f9a1d30a1163e90c3bacf2 Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Tue, 6 Aug 2024 15:11:04 -0700 Subject: [PATCH 08/12] change all of the rest of the ObjectBooleanExpresionTypes --- .../metadata/ArtistsWithAlbumsAndTracks.hml | 59 +++++--- .../metadata/commands/UpdateTrackPrices.hml | 2 +- .../hasura/chinook/metadata/models/Album.hml | 45 +++--- .../hasura/chinook/metadata/models/Artist.hml | 38 ++--- .../chinook/metadata/models/Customer.hml | 95 ++++++------- .../chinook/metadata/models/Employee.hml | 107 +++++++------- .../hasura/chinook/metadata/models/Genre.hml | 38 ++--- .../chinook/metadata/models/Invoice.hml | 75 +++++----- .../chinook/metadata/models/InvoiceLine.hml | 55 ++++---- .../chinook/metadata/models/MediaType.hml | 38 ++--- .../chinook/metadata/models/Playlist.hml | 38 ++--- .../chinook/metadata/models/PlaylistTrack.hml | 40 +++--- .../hasura/chinook/metadata/models/Track.hml | 81 ++++++----- .../sample_mflix/metadata/models/Comments.hml | 8 +- .../sample_mflix/metadata/models/Movies.hml | 133 ++++++++---------- .../sample_mflix/metadata/models/Sessions.hml | 36 ++--- .../sample_mflix/metadata/models/Theaters.hml | 36 ++--- .../metadata/models/TitleWordFrequency.hml | 31 ++-- .../sample_mflix/metadata/models/Users.hml | 8 +- 19 files changed, 502 insertions(+), 461 deletions(-) diff --git a/fixtures/hasura/chinook/metadata/ArtistsWithAlbumsAndTracks.hml b/fixtures/hasura/chinook/metadata/ArtistsWithAlbumsAndTracks.hml index 643ad84e..d8aac047 100644 --- a/fixtures/hasura/chinook/metadata/ArtistsWithAlbumsAndTracks.hml +++ b/fixtures/hasura/chinook/metadata/ArtistsWithAlbumsAndTracks.hml @@ -40,6 +40,29 @@ definition: - title - tracks +--- +kind: BooleanExpressionType +version: v1 +definition: + name: AlbumWithTracksComparisonExp + operand: + object: + type: AlbumWithTracks + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: title + booleanExpressionType: StringComparisonExp + - fieldName: tracks + booleanExpressionType: TrackComparisonExp + comparableRelationships: [] + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: AlbumWithTracksComparisonExp + --- kind: ObjectType version: v1 @@ -83,25 +106,27 @@ definition: - name --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: ArtistWithAlbumsAndTracksBoolExp - objectType: ArtistWithAlbumsAndTracks - dataConnectorName: chinook - dataConnectorObjectType: ArtistWithAlbumsAndTracks - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: albums - operators: - enableAll: true - - fieldName: name - operators: - enableAll: true + name: ArtistWithAlbumsAndTracksComparisonExp + operand: + object: + type: ArtistWithAlbumsAndTracks + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: albums + booleanExpressionType: AlbumWithTracksComparisonExp + - fieldName: name + booleanExpressionType: StringComparisonExp + comparableRelationships: [] + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: ArtistWithAlbumsAndTracksBoolExp + typeName: ArtistWithAlbumsAndTracksComparisonExp --- kind: Model @@ -112,7 +137,7 @@ definition: source: dataConnectorName: chinook collection: artists_with_albums_and_tracks - filterExpressionType: ArtistWithAlbumsAndTracksBoolExp + filterExpressionType: ArtistWithAlbumsAndTracksComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/chinook/metadata/commands/UpdateTrackPrices.hml b/fixtures/hasura/chinook/metadata/commands/UpdateTrackPrices.hml index f56a883d..6e8f985a 100644 --- a/fixtures/hasura/chinook/metadata/commands/UpdateTrackPrices.hml +++ b/fixtures/hasura/chinook/metadata/commands/UpdateTrackPrices.hml @@ -8,7 +8,7 @@ definition: - name: newPrice type: Decimal! - name: where - type: TrackBoolExp! + type: TrackComparisonExp! source: dataConnectorName: chinook dataConnectorCommand: diff --git a/fixtures/hasura/chinook/metadata/models/Album.hml b/fixtures/hasura/chinook/metadata/models/Album.hml index 69f388d3..79d9651d 100644 --- a/fixtures/hasura/chinook/metadata/models/Album.hml +++ b/fixtures/hasura/chinook/metadata/models/Album.hml @@ -48,28 +48,33 @@ definition: - title --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: AlbumBoolExp - objectType: Album - dataConnectorName: chinook - dataConnectorObjectType: Album - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: albumId - operators: - enableAll: true - - fieldName: artistId - operators: - enableAll: true - - fieldName: title - operators: - enableAll: true + name: AlbumComparisonExp + operand: + object: + type: Album + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: albumId + booleanExpressionType: IntComparisonExp + - fieldName: artistId + booleanExpressionType: IntComparisonExp + - fieldName: title + booleanExpressionType: StringComparisonExp + comparableRelationships: + - relationshipName: artist + booleanExpressionType: ArtistComparisonExp + - relationshipName: tracks + booleanExpressionType: TrackComparisonExp + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: AlbumBoolExp + typeName: AlbumComparisonExp --- kind: Model @@ -80,7 +85,7 @@ definition: source: dataConnectorName: chinook collection: Album - filterExpressionType: AlbumBoolExp + filterExpressionType: AlbumComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/chinook/metadata/models/Artist.hml b/fixtures/hasura/chinook/metadata/models/Artist.hml index 79ac0b21..bcb4ff50 100644 --- a/fixtures/hasura/chinook/metadata/models/Artist.hml +++ b/fixtures/hasura/chinook/metadata/models/Artist.hml @@ -42,25 +42,29 @@ definition: - name --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: ArtistBoolExp - objectType: Artist - dataConnectorName: chinook - dataConnectorObjectType: Artist - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: artistId - operators: - enableAll: true - - fieldName: name - operators: - enableAll: true + name: ArtistComparisonExp + operand: + object: + type: Artist + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: artistId + booleanExpressionType: IntComparisonExp + - fieldName: name + booleanExpressionType: StringComparisonExp + comparableRelationships: + - relationshipName: albums + booleanExpressionType: AlbumComparisonExp + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: ArtistBoolExp + typeName: ArtistComparisonExp --- kind: Model @@ -71,7 +75,7 @@ definition: source: dataConnectorName: chinook collection: Artist - filterExpressionType: ArtistBoolExp + filterExpressionType: ArtistComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/chinook/metadata/models/Customer.hml b/fixtures/hasura/chinook/metadata/models/Customer.hml index 322b95e5..3a707bcb 100644 --- a/fixtures/hasura/chinook/metadata/models/Customer.hml +++ b/fixtures/hasura/chinook/metadata/models/Customer.hml @@ -108,58 +108,53 @@ definition: - supportRepId --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: CustomerBoolExp - objectType: Customer - dataConnectorName: chinook - dataConnectorObjectType: Customer - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: address - operators: - enableAll: true - - fieldName: city - operators: - enableAll: true - - fieldName: company - operators: - enableAll: true - - fieldName: country - operators: - enableAll: true - - fieldName: customerId - operators: - enableAll: true - - fieldName: email - operators: - enableAll: true - - fieldName: fax - operators: - enableAll: true - - fieldName: firstName - operators: - enableAll: true - - fieldName: lastName - operators: - enableAll: true - - fieldName: phone - operators: - enableAll: true - - fieldName: postalCode - operators: - enableAll: true - - fieldName: state - operators: - enableAll: true - - fieldName: supportRepId - operators: - enableAll: true + name: CustomerComparisonExp + operand: + object: + type: Customer + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: address + booleanExpressionType: StringComparisonExp + - fieldName: city + booleanExpressionType: StringComparisonExp + - fieldName: company + booleanExpressionType: StringComparisonExp + - fieldName: country + booleanExpressionType: StringComparisonExp + - fieldName: customerId + booleanExpressionType: IntComparisonExp + - fieldName: email + booleanExpressionType: StringComparisonExp + - fieldName: fax + booleanExpressionType: StringComparisonExp + - fieldName: firstName + booleanExpressionType: StringComparisonExp + - fieldName: lastName + booleanExpressionType: StringComparisonExp + - fieldName: phone + booleanExpressionType: StringComparisonExp + - fieldName: postalCode + booleanExpressionType: StringComparisonExp + - fieldName: state + booleanExpressionType: StringComparisonExp + - fieldName: supportRepId + booleanExpressionType: IntComparisonExp + comparableRelationships: + - relationshipName: invoices + booleanExpressionType: InvoiceComparisonExp + - relationshipName: supportRep + booleanExpressionType: EmployeeComparisonExp + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: CustomerBoolExp + typeName: CustomerComparisonExp --- kind: Model @@ -170,7 +165,7 @@ definition: source: dataConnectorName: chinook collection: Customer - filterExpressionType: CustomerBoolExp + filterExpressionType: CustomerComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/chinook/metadata/models/Employee.hml b/fixtures/hasura/chinook/metadata/models/Employee.hml index 3f34db83..be33d8b0 100644 --- a/fixtures/hasura/chinook/metadata/models/Employee.hml +++ b/fixtures/hasura/chinook/metadata/models/Employee.hml @@ -120,64 +120,59 @@ definition: - title --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: EmployeeBoolExp - objectType: Employee - dataConnectorName: chinook - dataConnectorObjectType: Employee - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: address - operators: - enableAll: true - - fieldName: birthDate - operators: - enableAll: true - - fieldName: city - operators: - enableAll: true - - fieldName: country - operators: - enableAll: true - - fieldName: email - operators: - enableAll: true - - fieldName: employeeId - operators: - enableAll: true - - fieldName: fax - operators: - enableAll: true - - fieldName: firstName - operators: - enableAll: true - - fieldName: hireDate - operators: - enableAll: true - - fieldName: lastName - operators: - enableAll: true - - fieldName: phone - operators: - enableAll: true - - fieldName: postalCode - operators: - enableAll: true - - fieldName: reportsTo - operators: - enableAll: true - - fieldName: state - operators: - enableAll: true - - fieldName: title - operators: - enableAll: true + name: EmployeeComparisonExp + operand: + object: + type: Employee + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: address + booleanExpressionType: StringComparisonExp + - fieldName: birthDate + booleanExpressionType: StringComparisonExp + - fieldName: city + booleanExpressionType: StringComparisonExp + - fieldName: country + booleanExpressionType: StringComparisonExp + - fieldName: email + booleanExpressionType: StringComparisonExp + - fieldName: employeeId + booleanExpressionType: IntComparisonExp + - fieldName: fax + booleanExpressionType: StringComparisonExp + - fieldName: firstName + booleanExpressionType: StringComparisonExp + - fieldName: hireDate + booleanExpressionType: StringComparisonExp + - fieldName: lastName + booleanExpressionType: StringComparisonExp + - fieldName: phone + booleanExpressionType: StringComparisonExp + - fieldName: postalCode + booleanExpressionType: StringComparisonExp + - fieldName: reportsTo + booleanExpressionType: IntComparisonExp + - fieldName: state + booleanExpressionType: StringComparisonExp + - fieldName: title + booleanExpressionType: StringComparisonExp + comparableRelationships: + - relationshipName: directReports + booleanExpressionType: EmployeeComparisonExp + - relationshipName: manager + booleanExpressionType: EmployeeComparisonExp + - relationshipName: supportRepCustomers + booleanExpressionType: CustomerComparisonExp + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: EmployeeBoolExp + typeName: EmployeeComparisonExp --- kind: Model @@ -188,7 +183,7 @@ definition: source: dataConnectorName: chinook collection: Employee - filterExpressionType: EmployeeBoolExp + filterExpressionType: EmployeeComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/chinook/metadata/models/Genre.hml b/fixtures/hasura/chinook/metadata/models/Genre.hml index e4eb03f1..02f85577 100644 --- a/fixtures/hasura/chinook/metadata/models/Genre.hml +++ b/fixtures/hasura/chinook/metadata/models/Genre.hml @@ -42,25 +42,29 @@ definition: - name --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: GenreBoolExp - objectType: Genre - dataConnectorName: chinook - dataConnectorObjectType: Genre - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: genreId - operators: - enableAll: true - - fieldName: name - operators: - enableAll: true + name: GenreComparisonExp + operand: + object: + type: Genre + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: genreId + booleanExpressionType: IntComparisonExp + - fieldName: name + booleanExpressionType: StringComparisonExp + comparableRelationships: + - relationshipName: tracks + booleanExpressionType: TrackComparisonExp + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: GenreBoolExp + typeName: GenreComparisonExp --- kind: Model @@ -71,7 +75,7 @@ definition: source: dataConnectorName: chinook collection: Genre - filterExpressionType: GenreBoolExp + filterExpressionType: GenreComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/chinook/metadata/models/Invoice.hml b/fixtures/hasura/chinook/metadata/models/Invoice.hml index 7d175c70..654de3b8 100644 --- a/fixtures/hasura/chinook/metadata/models/Invoice.hml +++ b/fixtures/hasura/chinook/metadata/models/Invoice.hml @@ -84,46 +84,45 @@ definition: - total --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: InvoiceBoolExp - objectType: Invoice - dataConnectorName: chinook - dataConnectorObjectType: Invoice - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: billingAddress - operators: - enableAll: true - - fieldName: billingCity - operators: - enableAll: true - - fieldName: billingCountry - operators: - enableAll: true - - fieldName: billingPostalCode - operators: - enableAll: true - - fieldName: billingState - operators: - enableAll: true - - fieldName: customerId - operators: - enableAll: true - - fieldName: invoiceDate - operators: - enableAll: true - - fieldName: invoiceId - operators: - enableAll: true - - fieldName: total - operators: - enableAll: true + name: InvoiceComparisonExp + operand: + object: + type: Invoice + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: billingAddress + booleanExpressionType: StringComparisonExp + - fieldName: billingCity + booleanExpressionType: StringComparisonExp + - fieldName: billingCountry + booleanExpressionType: StringComparisonExp + - fieldName: billingPostalCode + booleanExpressionType: StringComparisonExp + - fieldName: billingState + booleanExpressionType: StringComparisonExp + - fieldName: customerId + booleanExpressionType: IntComparisonExp + - fieldName: invoiceDate + booleanExpressionType: StringComparisonExp + - fieldName: invoiceId + booleanExpressionType: IntComparisonExp + - fieldName: total + booleanExpressionType: DecimalComparisonExp + comparableRelationships: + - relationshipName: customer + booleanExpressionType: CustomerComparisonExp + - relationshipName: lines + booleanExpressionType: InvoiceLineComparisonExp + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: InvoiceBoolExp + typeName: InvoiceComparisonExp --- kind: Model @@ -134,7 +133,7 @@ definition: source: dataConnectorName: chinook collection: Invoice - filterExpressionType: InvoiceBoolExp + filterExpressionType: InvoiceComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/chinook/metadata/models/InvoiceLine.hml b/fixtures/hasura/chinook/metadata/models/InvoiceLine.hml index ab35b2ea..fcf35656 100644 --- a/fixtures/hasura/chinook/metadata/models/InvoiceLine.hml +++ b/fixtures/hasura/chinook/metadata/models/InvoiceLine.hml @@ -60,34 +60,37 @@ definition: - unitPrice --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: InvoiceLineBoolExp - objectType: InvoiceLine - dataConnectorName: chinook - dataConnectorObjectType: InvoiceLine - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: invoiceId - operators: - enableAll: true - - fieldName: invoiceLineId - operators: - enableAll: true - - fieldName: quantity - operators: - enableAll: true - - fieldName: trackId - operators: - enableAll: true - - fieldName: unitPrice - operators: - enableAll: true + name: InvoiceLineComparisonExp + operand: + object: + type: InvoiceLine + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: invoiceId + booleanExpressionType: IntComparisonExp + - fieldName: invoiceLineId + booleanExpressionType: IntComparisonExp + - fieldName: quantity + booleanExpressionType: IntComparisonExp + - fieldName: trackId + booleanExpressionType: IntComparisonExp + - fieldName: unitPrice + booleanExpressionType: DecimalComparisonExp + comparableRelationships: + - relationshipName: invoice + booleanExpressionType: InvoiceComparisonExp + - relationshipName: track + booleanExpressionType: TrackComparisonExp + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: InvoiceLineBoolExp + typeName: InvoiceLineComparisonExp --- kind: Model @@ -98,7 +101,7 @@ definition: source: dataConnectorName: chinook collection: InvoiceLine - filterExpressionType: InvoiceLineBoolExp + filterExpressionType: InvoiceLineComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/chinook/metadata/models/MediaType.hml b/fixtures/hasura/chinook/metadata/models/MediaType.hml index 84b6e963..31d1153f 100644 --- a/fixtures/hasura/chinook/metadata/models/MediaType.hml +++ b/fixtures/hasura/chinook/metadata/models/MediaType.hml @@ -42,25 +42,29 @@ definition: - name --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: MediaTypeBoolExp - objectType: MediaType - dataConnectorName: chinook - dataConnectorObjectType: MediaType - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: mediaTypeId - operators: - enableAll: true - - fieldName: name - operators: - enableAll: true + name: MediaTypeComparisonExp + operand: + object: + type: MediaType + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: mediaTypeId + booleanExpressionType: IntComparisonExp + - fieldName: name + booleanExpressionType: StringComparisonExp + comparableRelationships: + - relationshipName: tracks + booleanExpressionType: TrackComparisonExp + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: MediaTypeBoolExp + typeName: MediaTypeComparisonExp --- kind: Model @@ -71,7 +75,7 @@ definition: source: dataConnectorName: chinook collection: MediaType - filterExpressionType: MediaTypeBoolExp + filterExpressionType: MediaTypeComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/chinook/metadata/models/Playlist.hml b/fixtures/hasura/chinook/metadata/models/Playlist.hml index 8b8da180..5416b0dc 100644 --- a/fixtures/hasura/chinook/metadata/models/Playlist.hml +++ b/fixtures/hasura/chinook/metadata/models/Playlist.hml @@ -42,25 +42,29 @@ definition: - playlistId --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: PlaylistBoolExp - objectType: Playlist - dataConnectorName: chinook - dataConnectorObjectType: Playlist - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: name - operators: - enableAll: true - - fieldName: playlistId - operators: - enableAll: true + name: PlaylistComparisonExp + operand: + object: + type: Playlist + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: name + booleanExpressionType: StringComparisonExp + - fieldName: playlistId + booleanExpressionType: IntComparisonExp + comparableRelationships: + - relationshipName: tracks + booleanExpressionType: TrackComparisonExp + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: PlaylistBoolExp + typeName: PlaylistComparisonExp --- kind: Model @@ -71,7 +75,7 @@ definition: source: dataConnectorName: chinook collection: Playlist - filterExpressionType: PlaylistBoolExp + filterExpressionType: PlaylistComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/chinook/metadata/models/PlaylistTrack.hml b/fixtures/hasura/chinook/metadata/models/PlaylistTrack.hml index 4ef3d8f8..6d4107c0 100644 --- a/fixtures/hasura/chinook/metadata/models/PlaylistTrack.hml +++ b/fixtures/hasura/chinook/metadata/models/PlaylistTrack.hml @@ -42,25 +42,31 @@ definition: - trackId --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: PlaylistTrackBoolExp - objectType: PlaylistTrack - dataConnectorName: chinook - dataConnectorObjectType: PlaylistTrack - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: playlistId - operators: - enableAll: true - - fieldName: trackId - operators: - enableAll: true + name: PlaylistTrackComparisonExp + operand: + object: + type: PlaylistTrack + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: playlistId + booleanExpressionType: IntComparisonExp + - fieldName: trackId + booleanExpressionType: IntComparisonExp + comparableRelationships: + - relationshipName: playlist + booleanExpressionType: PlaylistComparisonExp + - relationshipName: track + booleanExpressionType: TrackComparisonExp + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: PlaylistTrackBoolExp + typeName: PlaylistTrackComparisonExp --- kind: Model @@ -71,7 +77,7 @@ definition: source: dataConnectorName: chinook collection: PlaylistTrack - filterExpressionType: PlaylistTrackBoolExp + filterExpressionType: PlaylistTrackComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/chinook/metadata/models/Track.hml b/fixtures/hasura/chinook/metadata/models/Track.hml index f67f69f9..c681ce5c 100644 --- a/fixtures/hasura/chinook/metadata/models/Track.hml +++ b/fixtures/hasura/chinook/metadata/models/Track.hml @@ -84,46 +84,51 @@ definition: - unitPrice --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: TrackBoolExp - objectType: Track - dataConnectorName: chinook - dataConnectorObjectType: Track - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: albumId - operators: - enableAll: true - - fieldName: bytes - operators: - enableAll: true - - fieldName: composer - operators: - enableAll: true - - fieldName: genreId - operators: - enableAll: true - - fieldName: mediaTypeId - operators: - enableAll: true - - fieldName: milliseconds - operators: - enableAll: true - - fieldName: name - operators: - enableAll: true - - fieldName: trackId - operators: - enableAll: true - - fieldName: unitPrice - operators: - enableAll: true + name: TrackComparisonExp + operand: + object: + type: Track + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: albumId + booleanExpressionType: IntComparisonExp + - fieldName: bytes + booleanExpressionType: IntComparisonExp + - fieldName: composer + booleanExpressionType: StringComparisonExp + - fieldName: genreId + booleanExpressionType: IntComparisonExp + - fieldName: mediaTypeId + booleanExpressionType: IntComparisonExp + - fieldName: milliseconds + booleanExpressionType: IntComparisonExp + - fieldName: name + booleanExpressionType: StringComparisonExp + - fieldName: trackId + booleanExpressionType: IntComparisonExp + - fieldName: unitPrice + booleanExpressionType: DecimalComparisonExp + comparableRelationships: + - relationshipName: album + booleanExpressionType: AlbumComparisonExp + - relationshipName: genre + booleanExpressionType: GenreComparisonExp + - relationshipName: invoiceLines + booleanExpressionType: InvoiceLineComparisonExp + - relationshipName: mediaType + booleanExpressionType: MediaTypeComparisonExp + - relationshipName: playlistTracks + booleanExpressionType: PlaylistTrackComparisonExp + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: TrackBoolExp + typeName: TrackComparisonExp --- kind: Model @@ -134,7 +139,7 @@ definition: source: dataConnectorName: chinook collection: Track - filterExpressionType: TrackBoolExp + filterExpressionType: TrackComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/sample_mflix/metadata/models/Comments.hml b/fixtures/hasura/sample_mflix/metadata/models/Comments.hml index 5d347b2b..dd9251a0 100644 --- a/fixtures/hasura/sample_mflix/metadata/models/Comments.hml +++ b/fixtures/hasura/sample_mflix/metadata/models/Comments.hml @@ -71,7 +71,7 @@ definition: kind: BooleanExpressionType version: v1 definition: - name: CommentsBoolExp + name: CommentsComparisonExp operand: object: type: Comments @@ -90,13 +90,13 @@ definition: booleanExpressionType: StringComparisonExp comparableRelationships: - relationshipName: user - booleanExpressionType: UsersBoolExp + booleanExpressionType: UsersComparisonExp logicalOperators: enable: true isNull: enable: true graphql: - typeName: CommentsBoolExp + typeName: CommentsComparisonExp --- kind: Model @@ -107,7 +107,7 @@ definition: source: dataConnectorName: sample_mflix collection: comments - filterExpressionType: CommentsBoolExp + filterExpressionType: CommentsComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/sample_mflix/metadata/models/Movies.hml b/fixtures/hasura/sample_mflix/metadata/models/Movies.hml index 7da8c920..a0fa5353 100644 --- a/fixtures/hasura/sample_mflix/metadata/models/Movies.hml +++ b/fixtures/hasura/sample_mflix/metadata/models/Movies.hml @@ -336,82 +336,67 @@ definition: - year --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: MoviesBoolExp - objectType: Movies - dataConnectorName: sample_mflix - dataConnectorObjectType: movies - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: awards - operators: - enableAll: true - - fieldName: cast - operators: - enableAll: true - - fieldName: countries - operators: - enableAll: true - - fieldName: directors - operators: - enableAll: true - - fieldName: fullplot - operators: - enableAll: true - - fieldName: genres - operators: - enableAll: true - - fieldName: imdb - operators: - enableAll: true - - fieldName: languages - operators: - enableAll: true - - fieldName: lastupdated - operators: - enableAll: true - - fieldName: metacritic - operators: - enableAll: true - - fieldName: numMflixComments - operators: - enableAll: true - - fieldName: plot - operators: - enableAll: true - - fieldName: poster - operators: - enableAll: true - - fieldName: rated - operators: - enableAll: true - - fieldName: released - operators: - enableAll: true - - fieldName: runtime - operators: - enableAll: true - - fieldName: title - operators: - enableAll: true - - fieldName: tomatoes - operators: - enableAll: true - - fieldName: type - operators: - enableAll: true - - fieldName: writers - operators: - enableAll: true - - fieldName: year - operators: - enableAll: true + name: MoviesComparisonExp + operand: + object: + type: Movies + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: awards + booleanExpressionType: MoviesAwardsComparisonExp + - fieldName: cast + booleanExpressionType: StringComparisonExp + - fieldName: countries + booleanExpressionType: StringComparisonExp + - fieldName: directors + booleanExpressionType: StringComparisonExp + - fieldName: fullplot + booleanExpressionType: StringComparisonExp + - fieldName: genres + booleanExpressionType: StringComparisonExp + - fieldName: imdb + booleanExpressionType: MoviesImdbComparisonExp + - fieldName: languages + booleanExpressionType: StringComparisonExp + - fieldName: lastupdated + booleanExpressionType: StringComparisonExp + - fieldName: metacritic + booleanExpressionType: IntComparisonExp + - fieldName: numMflixComments + booleanExpressionType: IntComparisonExp + - fieldName: plot + booleanExpressionType: StringComparisonExp + - fieldName: poster + booleanExpressionType: StringComparisonExp + - fieldName: rated + booleanExpressionType: StringComparisonExp + - fieldName: released + booleanExpressionType: DateComparisonExp + - fieldName: runtime + booleanExpressionType: IntComparisonExp + - fieldName: title + booleanExpressionType: StringComparisonExp + - fieldName: tomatoes + booleanExpressionType: MoviesTomatoesComparisonExp + - fieldName: type + booleanExpressionType: TypeComparisonExp + - fieldName: writers + booleanExpressionType: StringComparisonExp + - fieldName: year + booleanExpressionType: IntComparisonExp + comparableRelationships: + - relationshipName: comments + booleanExpressionType: CommentComparisonExp + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: MoviesBoolExp + typeName: MoviesComparisonExp --- kind: Model @@ -422,7 +407,7 @@ definition: source: dataConnectorName: sample_mflix collection: movies - filterExpressionType: MoviesBoolExp + filterExpressionType: MoviesComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/sample_mflix/metadata/models/Sessions.hml b/fixtures/hasura/sample_mflix/metadata/models/Sessions.hml index 50f3969f..8f03b1b4 100644 --- a/fixtures/hasura/sample_mflix/metadata/models/Sessions.hml +++ b/fixtures/hasura/sample_mflix/metadata/models/Sessions.hml @@ -41,25 +41,27 @@ definition: - userId --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: SessionsBoolExp - objectType: Sessions - dataConnectorName: sample_mflix - dataConnectorObjectType: sessions - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: jwt - operators: - enableAll: true - - fieldName: userId - operators: - enableAll: true + name: SessionsComparisonExp + operand: + object: + type: Sessions + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: jwt + booleanExpressionType: StringComparisonExp + - fieldName: userId + booleanExpressionType: StringComparisonExp + comparableRelationships: [] + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: SessionsBoolExp + typeName: SessionsComparisonExp --- kind: Model @@ -70,7 +72,7 @@ definition: source: dataConnectorName: sample_mflix collection: sessions - filterExpressionType: SessionsBoolExp + filterExpressionType: SessionsComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml b/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml index 0c534319..ac2b7b8e 100644 --- a/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml +++ b/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml @@ -137,25 +137,27 @@ definition: - theaterId --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: TheatersBoolExp - objectType: Theaters - dataConnectorName: sample_mflix - dataConnectorObjectType: theaters - comparableFields: - - fieldName: id - operators: - enableAll: true - - fieldName: location - operators: - enableAll: true - - fieldName: theaterId - operators: - enableAll: true + name: TheatersComparisonExp + operand: + object: + type: Theaters + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: location + booleanExpressionType: TheatersLocationComparisonExp + - fieldName: theaterId + booleanExpressionType: IntComparisonExp + comparableRelationships: [] + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: TheatersBoolExp + typeName: TheatersComparisonExp --- kind: Model @@ -166,7 +168,7 @@ definition: source: dataConnectorName: sample_mflix collection: theaters - filterExpressionType: TheatersBoolExp + filterExpressionType: TheatersComparisonExp orderableFields: - fieldName: id orderByDirections: diff --git a/fixtures/hasura/sample_mflix/metadata/models/TitleWordFrequency.hml b/fixtures/hasura/sample_mflix/metadata/models/TitleWordFrequency.hml index 19d781e2..294e8448 100644 --- a/fixtures/hasura/sample_mflix/metadata/models/TitleWordFrequency.hml +++ b/fixtures/hasura/sample_mflix/metadata/models/TitleWordFrequency.hml @@ -35,22 +35,25 @@ definition: - count --- -kind: ObjectBooleanExpressionType +kind: BooleanExpressionType version: v1 definition: - name: TitleWordFrequencyBoolExp - objectType: TitleWordFrequency - dataConnectorName: sample_mflix - dataConnectorObjectType: TitleWordFrequency - comparableFields: - - fieldName: word - operators: - enableAll: true - - fieldName: count - operators: - enableAll: true + name: TitleWordFrequencyComparisonExp + operand: + object: + type: TitleWordFrequency + comparableFields: + - fieldName: word + booleanExpressionType: StringComparisonExp + - fieldName: count + booleanExpressionType: IntComparisonExp + comparableRelationships: [] + logicalOperators: + enable: true + isNull: + enable: true graphql: - typeName: TitleWordFrequencyBoolExp + typeName: TitleWordFrequencyComparisonExp --- kind: Model @@ -61,7 +64,7 @@ definition: source: dataConnectorName: sample_mflix collection: title_word_frequency - filterExpressionType: TitleWordFrequencyBoolExp + filterExpressionType: TitleWordFrequencyComparisonExp orderableFields: - fieldName: word orderByDirections: diff --git a/fixtures/hasura/sample_mflix/metadata/models/Users.hml b/fixtures/hasura/sample_mflix/metadata/models/Users.hml index 6090826a..322daedb 100644 --- a/fixtures/hasura/sample_mflix/metadata/models/Users.hml +++ b/fixtures/hasura/sample_mflix/metadata/models/Users.hml @@ -62,7 +62,7 @@ definition: kind: BooleanExpressionType version: v1 definition: - name: UsersBoolExp + name: UsersComparisonExp operand: object: type: Users @@ -77,13 +77,13 @@ definition: booleanExpressionType: StringComparisonExp comparableRelationships: - relationshipName: comments - booleanExpressionType: CommentsBoolExp + booleanExpressionType: CommentsComparisonExp logicalOperators: enable: true isNull: enable: true graphql: - typeName: UsersBoolExp + typeName: UsersComparisonExp --- kind: Model @@ -94,7 +94,7 @@ definition: source: dataConnectorName: sample_mflix collection: users - filterExpressionType: UsersBoolExp + filterExpressionType: UsersComparisonExp orderableFields: - fieldName: id orderByDirections: From 5b9368e4497c7536291977f761e554a6c6973c55 Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Tue, 6 Aug 2024 15:19:40 -0700 Subject: [PATCH 09/12] add missing BooleanExpressionTypes --- .../common/metadata/scalar-types/Double.hml | 2 +- .../sample_mflix/metadata/models/Movies.hml | 135 +++++++++++++++++- .../sample_mflix/metadata/models/Theaters.hml | 92 ++++++++++++ 3 files changed, 225 insertions(+), 4 deletions(-) diff --git a/fixtures/hasura/common/metadata/scalar-types/Double.hml b/fixtures/hasura/common/metadata/scalar-types/Double.hml index 94f42a0c..ea7e305a 100644 --- a/fixtures/hasura/common/metadata/scalar-types/Double.hml +++ b/fixtures/hasura/common/metadata/scalar-types/Double.hml @@ -21,7 +21,7 @@ definition: name: FloatComparisonExp operand: scalar: - type: Double + type: Float comparisonOperators: - name: _eq argumentType: Float diff --git a/fixtures/hasura/sample_mflix/metadata/models/Movies.hml b/fixtures/hasura/sample_mflix/metadata/models/Movies.hml index a0fa5353..4168e332 100644 --- a/fixtures/hasura/sample_mflix/metadata/models/Movies.hml +++ b/fixtures/hasura/sample_mflix/metadata/models/Movies.hml @@ -30,6 +30,29 @@ definition: - text - wins +--- +kind: BooleanExpressionType +version: v1 +definition: + name: MoviesAwardsComparisonExp + operand: + object: + type: MoviesAwards + comparableFields: + - fieldName: nominations + booleanExpressionType: IntComparisonExp + - fieldName: text + booleanExpressionType: StringComparisonExp + - fieldName: wins + booleanExpressionType: IntComparisonExp + comparableRelationships: [] + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: MoviesAwardsComparisonExp + --- kind: ObjectType version: v1 @@ -62,6 +85,29 @@ definition: - rating - votes +--- +kind: BooleanExpressionType +version: v1 +definition: + name: MoviesImdbComparisonExp + operand: + object: + type: MoviesImdb + comparableFields: + - fieldName: id + booleanExpressionType: IntComparisonExp + - fieldName: rating + booleanExpressionType: FloatComparisonExp + - fieldName: votes + booleanExpressionType: IntComparisonExp + comparableRelationships: [] + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: MoviesImdbComparisonExp + --- kind: ObjectType version: v1 @@ -94,6 +140,29 @@ definition: - numReviews - rating +--- +kind: BooleanExpressionType +version: v1 +definition: + name: MoviesTomatoesCriticComparisonExp + operand: + object: + type: MoviesTomatoesCritic + comparableFields: + - fieldName: meter + booleanExpressionType: IntComparisonExp + - fieldName: numReviews + booleanExpressionType: IntComparisonExp + - fieldName: rating + booleanExpressionType: FloatComparisonExp + comparableRelationships: [] + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: MoviesTomatoesCriticComparisonExp + --- kind: ObjectType version: v1 @@ -126,6 +195,29 @@ definition: - numReviews - rating +--- +kind: BooleanExpressionType +version: v1 +definition: + name: MoviesTomatoesViewerComparisonExp + operand: + object: + type: MoviesTomatoesViewer + comparableFields: + - fieldName: meter + booleanExpressionType: IntComparisonExp + - fieldName: numReviews + booleanExpressionType: IntComparisonExp + - fieldName: rating + booleanExpressionType: FloatComparisonExp + comparableRelationships: [] + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: MoviesTomatoesViewerComparisonExp + --- kind: ObjectType version: v1 @@ -179,6 +271,43 @@ definition: - viewer - website +--- +kind: BooleanExpressionType +version: v1 +definition: + name: MoviesTomatoesComparisonExp + operand: + object: + type: MoviesTomatoes + comparableFields: + - fieldName: boxOffice + booleanExpressionType: StringComparisonExp + - fieldName: consensus + booleanExpressionType: StringComparisonExp + - fieldName: critic + booleanExpressionType: MoviesTomatoesCriticComparisonExp + - fieldName: dvd + booleanExpressionType: DateComparisonExp + - fieldName: fresh + booleanExpressionType: IntComparisonExp + - fieldName: lastUpdated + booleanExpressionType: StringComparisonExp + - fieldName: production + booleanExpressionType: StringComparisonExp + - fieldName: rotten + booleanExpressionType: IntComparisonExp + - fieldName: viewer + booleanExpressionType: MoviesTomatoesViewerComparisonExp + - fieldName: website + booleanExpressionType: StringComparisonExp + comparableRelationships: [] + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: MoviesTomatoesComparisonExp + --- kind: ObjectType version: v1 @@ -363,7 +492,7 @@ definition: - fieldName: languages booleanExpressionType: StringComparisonExp - fieldName: lastupdated - booleanExpressionType: StringComparisonExp + booleanExpressionType: DateComparisonExp - fieldName: metacritic booleanExpressionType: IntComparisonExp - fieldName: numMflixComments @@ -383,14 +512,14 @@ definition: - fieldName: tomatoes booleanExpressionType: MoviesTomatoesComparisonExp - fieldName: type - booleanExpressionType: TypeComparisonExp + booleanExpressionType: StringComparisonExp - fieldName: writers booleanExpressionType: StringComparisonExp - fieldName: year booleanExpressionType: IntComparisonExp comparableRelationships: - relationshipName: comments - booleanExpressionType: CommentComparisonExp + booleanExpressionType: CommentsComparisonExp logicalOperators: enable: true isNull: diff --git a/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml b/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml index ac2b7b8e..8d1cfdd8 100644 --- a/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml +++ b/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml @@ -21,6 +21,33 @@ definition: - dataConnectorName: sample_mflix dataConnectorObjectType: theaters_location_address +--- +kind: BooleanExpressionType +version: v1 +definition: + name: TheatersLocationAddressComparisonExp + operand: + object: + type: TheatersLocationAddress + comparableFields: + - fieldName: city + booleanExpressionType: StringComparisonExp + - fieldName: state + booleanExpressionType: StringComparisonExp + - fieldName: street1 + booleanExpressionType: StringComparisonExp + - fieldName: street2 + booleanExpressionType: StringComparisonExp + - fieldName: zipcode + booleanExpressionType: StringComparisonExp + comparableRelationships: [] + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: TheatersLocationAddressComparisonExp + --- kind: TypePermissions version: v1 @@ -65,6 +92,27 @@ definition: - coordinates - type +--- +kind: BooleanExpressionType +version: v1 +definition: + name: TheatersLocationGeoComparisonExp + operand: + object: + type: TheatersLocationGeo + comparableFields: + - fieldName: coordinates + booleanExpressionType: FloatComparisonExp + - fieldName: type + booleanExpressionType: StringComparisonExp + comparableRelationships: [] + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: TheatersLocationGeoComparisonExp + --- kind: ObjectType version: v1 @@ -94,6 +142,27 @@ definition: - address - geo +--- +kind: BooleanExpressionType +version: v1 +definition: + name: TheatersLocationComparisonExp + operand: + object: + type: TheatersLocation + comparableFields: + - fieldName: address + booleanExpressionType: TheatersLocationAddressComparisonExp + - fieldName: geo + booleanExpressionType: TheatersLocationGeoComparisonExp + comparableRelationships: [] + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: TheatersLocationComparisonExp + --- kind: ObjectType version: v1 @@ -123,6 +192,29 @@ definition: column: name: theaterId +--- +kind: BooleanExpressionType +version: v1 +definition: + name: TheatersComparisonExp + operand: + object: + type: Theaters + comparableFields: + - fieldName: id + booleanExpressionType: ObjectIdComparisonExp + - fieldName: location + booleanExpressionType: TheatersLocationComparisonExp + - fieldName: theaterId + booleanExpressionType: IntComparisonExp + comparableRelationships: [] + logicalOperators: + enable: true + isNull: + enable: true + graphql: + typeName: TheatersComparisonExp + --- kind: TypePermissions version: v1 From cd4ac96405a2bd974ff9295f8c5d240741523bf2 Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Tue, 6 Aug 2024 15:45:11 -0700 Subject: [PATCH 10/12] the warning messages tell me array fields can't be in boolexp types --- .../chinook/metadata/ArtistsWithAlbumsAndTracks.hml | 4 ---- fixtures/hasura/chinook/metadata/models/Playlist.hml | 2 +- .../hasura/sample_mflix/metadata/models/Movies.hml | 12 ------------ .../hasura/sample_mflix/metadata/models/Theaters.hml | 2 -- 4 files changed, 1 insertion(+), 19 deletions(-) diff --git a/fixtures/hasura/chinook/metadata/ArtistsWithAlbumsAndTracks.hml b/fixtures/hasura/chinook/metadata/ArtistsWithAlbumsAndTracks.hml index d8aac047..9070d45b 100644 --- a/fixtures/hasura/chinook/metadata/ArtistsWithAlbumsAndTracks.hml +++ b/fixtures/hasura/chinook/metadata/ArtistsWithAlbumsAndTracks.hml @@ -53,8 +53,6 @@ definition: booleanExpressionType: ObjectIdComparisonExp - fieldName: title booleanExpressionType: StringComparisonExp - - fieldName: tracks - booleanExpressionType: TrackComparisonExp comparableRelationships: [] logicalOperators: enable: true @@ -116,8 +114,6 @@ definition: comparableFields: - fieldName: id booleanExpressionType: ObjectIdComparisonExp - - fieldName: albums - booleanExpressionType: AlbumWithTracksComparisonExp - fieldName: name booleanExpressionType: StringComparisonExp comparableRelationships: [] diff --git a/fixtures/hasura/chinook/metadata/models/Playlist.hml b/fixtures/hasura/chinook/metadata/models/Playlist.hml index 5416b0dc..b385a502 100644 --- a/fixtures/hasura/chinook/metadata/models/Playlist.hml +++ b/fixtures/hasura/chinook/metadata/models/Playlist.hml @@ -57,7 +57,7 @@ definition: - fieldName: playlistId booleanExpressionType: IntComparisonExp comparableRelationships: - - relationshipName: tracks + - relationshipName: playlistTracks booleanExpressionType: TrackComparisonExp logicalOperators: enable: true diff --git a/fixtures/hasura/sample_mflix/metadata/models/Movies.hml b/fixtures/hasura/sample_mflix/metadata/models/Movies.hml index 4168e332..bf25fadc 100644 --- a/fixtures/hasura/sample_mflix/metadata/models/Movies.hml +++ b/fixtures/hasura/sample_mflix/metadata/models/Movies.hml @@ -477,20 +477,10 @@ definition: booleanExpressionType: ObjectIdComparisonExp - fieldName: awards booleanExpressionType: MoviesAwardsComparisonExp - - fieldName: cast - booleanExpressionType: StringComparisonExp - - fieldName: countries - booleanExpressionType: StringComparisonExp - - fieldName: directors - booleanExpressionType: StringComparisonExp - fieldName: fullplot booleanExpressionType: StringComparisonExp - - fieldName: genres - booleanExpressionType: StringComparisonExp - fieldName: imdb booleanExpressionType: MoviesImdbComparisonExp - - fieldName: languages - booleanExpressionType: StringComparisonExp - fieldName: lastupdated booleanExpressionType: DateComparisonExp - fieldName: metacritic @@ -513,8 +503,6 @@ definition: booleanExpressionType: MoviesTomatoesComparisonExp - fieldName: type booleanExpressionType: StringComparisonExp - - fieldName: writers - booleanExpressionType: StringComparisonExp - fieldName: year booleanExpressionType: IntComparisonExp comparableRelationships: diff --git a/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml b/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml index 8d1cfdd8..2fb849f3 100644 --- a/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml +++ b/fixtures/hasura/sample_mflix/metadata/models/Theaters.hml @@ -101,8 +101,6 @@ definition: object: type: TheatersLocationGeo comparableFields: - - fieldName: coordinates - booleanExpressionType: FloatComparisonExp - fieldName: type booleanExpressionType: StringComparisonExp comparableRelationships: [] From f021f5862b6b2055732152c1a39be7c3ec0a96a4 Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Tue, 6 Aug 2024 16:14:25 -0700 Subject: [PATCH 11/12] remove aggregate expression for this PR --- .../common/metadata/scalar-types/Decimal.hml | 37 ------------------- 1 file changed, 37 deletions(-) diff --git a/fixtures/hasura/common/metadata/scalar-types/Decimal.hml b/fixtures/hasura/common/metadata/scalar-types/Decimal.hml index 4ff773f3..f8a034a3 100644 --- a/fixtures/hasura/common/metadata/scalar-types/Decimal.hml +++ b/fixtures/hasura/common/metadata/scalar-types/Decimal.hml @@ -68,40 +68,3 @@ definition: enable: true graphql: typeName: DecimalComparisonExp - ---- -kind: AggregateExpression -version: v1 -definition: - name: Decimal_aggregate_exp - operand: - scalar: - aggregatedType: Decimal - aggregationFunctions: - - name: avg - returnType: Decimal - - name: count - returnType: Int - - name: max - returnType: Decimal - - name: min - returnType: Decimal - - name: sum - returnType: Decimal - dataConnectorAggregationFunctionMapping: - - dataConnectorName: chinook - dataConnectorScalarType: Decimal - functionMapping: - avg: { name: avg } - count: { name: count } - max: { name: max } - min: { name: min } - sum: { name: sum } - - dataConnectorName: sample_mflix - dataConnectorScalarType: Decimal - functionMapping: - avg: { name: avg } - count: { name: count } - max: { name: max } - min: { name: min } - sum: { name: sum } From 684e9b79bb884e9fba3ed7d2281a01263606be3e Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Tue, 6 Aug 2024 18:03:12 -0700 Subject: [PATCH 12/12] add missing comparable relationship --- fixtures/hasura/sample_mflix/metadata/models/Comments.hml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fixtures/hasura/sample_mflix/metadata/models/Comments.hml b/fixtures/hasura/sample_mflix/metadata/models/Comments.hml index dd9251a0..9014c47c 100644 --- a/fixtures/hasura/sample_mflix/metadata/models/Comments.hml +++ b/fixtures/hasura/sample_mflix/metadata/models/Comments.hml @@ -89,6 +89,8 @@ definition: - fieldName: text booleanExpressionType: StringComparisonExp comparableRelationships: + - relationshipName: movie + booleanExpressionType: MoviesComparisonExp - relationshipName: user booleanExpressionType: UsersComparisonExp logicalOperators: