@contember/engine-content-api 1.1.0-alpha.8 → 1.1.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contember/engine-content-api",
3
- "version": "1.1.0-alpha.8",
3
+ "version": "1.1.0-beta.2",
4
4
  "license": "Apache-2.0",
5
5
  "main": "dist/src/index.js",
6
6
  "typings": "dist/src/index.d.ts",
@@ -10,19 +10,19 @@
10
10
  "test": "vitest --no-threads"
11
11
  },
12
12
  "dependencies": {
13
- "@contember/database": "^1.1.0-alpha.8",
14
- "@contember/dic": "^1.1.0-alpha.8",
15
- "@contember/engine-common": "^1.1.0-alpha.8",
16
- "@contember/graphql-utils": "^1.1.0-alpha.8",
17
- "@contember/schema": "^1.1.0-alpha.8",
18
- "@contember/schema-utils": "^1.1.0-alpha.8",
13
+ "@contember/database": "^1.1.0-beta.2",
14
+ "@contember/dic": "^1.1.0-beta.2",
15
+ "@contember/engine-common": "^1.1.0-beta.2",
16
+ "@contember/graphql-utils": "^1.1.0-beta.2",
17
+ "@contember/schema": "^1.1.0-beta.2",
18
+ "@contember/schema-utils": "^1.1.0-beta.2",
19
19
  "@graphql-tools/schema": "^8.3.5",
20
20
  "graphql-tag": "^2.12.5"
21
21
  },
22
22
  "devDependencies": {
23
- "@contember/database-tester": "^1.1.0-alpha.8",
24
- "@contember/engine-api-tester": "^1.1.0-alpha.8",
25
- "@contember/schema-definition": "^1.1.0-alpha.8",
23
+ "@contember/database-tester": "^1.1.0-beta.2",
24
+ "@contember/engine-api-tester": "^1.1.0-beta.2",
25
+ "@contember/schema-definition": "^1.1.0-beta.2",
26
26
  "@graphql-codegen/cli": "^1.15.2",
27
27
  "@graphql-codegen/typescript": "^1.15.2",
28
28
  "@graphql-codegen/typescript-operations": "^1.15.2",
@@ -7,6 +7,7 @@ export class ConditionBuilder {
7
7
  builder: SqlConditionBuilder,
8
8
  tableName: string,
9
9
  columnName: string,
10
+ columnType: string,
10
11
  condition: Input.Condition<any>,
11
12
  ): SqlConditionBuilder {
12
13
  const keys = Object.keys(condition) as (keyof Required<Input.Condition<any>>)[]
@@ -27,13 +28,13 @@ export class ConditionBuilder {
27
28
  param: Exclude<Input.Condition<any>[K], undefined>,
28
29
  ) => SqlConditionBuilder
29
30
  } = {
30
- and: (builder, expressions) => builder.and(builder2 => expressions.reduce((builder3, expr) => this.build(builder3, tableName, columnName, expr), builder2)),
31
- or: (builder, expressions) => builder.or(builder2 => expressions.reduce((builder3, expr) => this.build(builder3, tableName, columnName, expr), builder2)),
32
- not: (builder, expression) => builder.not(builder2 => this.build(builder2, tableName, columnName, expression)),
31
+ and: (builder, expressions) => builder.and(builder2 => expressions.reduce((builder3, expr) => this.build(builder3, tableName, columnName, columnType, expr), builder2)),
32
+ or: (builder, expressions) => builder.or(builder2 => expressions.reduce((builder3, expr) => this.build(builder3, tableName, columnName, columnType, expr), builder2)),
33
+ not: (builder, expression) => builder.not(builder2 => this.build(builder2, tableName, columnName, columnType, expression)),
33
34
  eq: (builder, value) => builder.compare(columnIdentifier, Operator.eq, value),
34
35
  notEq: (builder, value) => builder.compare(columnIdentifier, Operator.notEq, value),
35
36
  isNull: (builder, value) => value ? builder.isNull(columnIdentifier) : builder.not(clause => clause.isNull(columnIdentifier)),
36
- in: (builder, values) => builder.in(columnIdentifier, values),
37
+ in: (builder, values) => builder.in(columnIdentifier, values, columnType),
37
38
  notIn: (builder, values) => builder.not(builder2 => builder2.in(columnIdentifier, values)),
38
39
  lt: (builder, value) => builder.compare(columnIdentifier, Operator.lt, value),
39
40
  lte: (builder, value) => builder.compare(columnIdentifier, Operator.lte, value),
@@ -101,6 +101,7 @@ export class WhereBuilder {
101
101
  conditionBuilder,
102
102
  tableName,
103
103
  relation.joiningColumn.columnName,
104
+ (targetEntity.fields[targetEntity.primary] as Model.AnyColumn).columnType,
104
105
  primaryCondition,
105
106
  )
106
107
  }
@@ -114,7 +115,7 @@ export class WhereBuilder {
114
115
  conditionBuilder = acceptFieldVisitor<SqlConditionBuilder>(this.schema, entity, fieldName, {
115
116
  visitColumn: (entity, column) => {
116
117
  const subWhere: Input.Condition<Input.ColumnValue> = where[column.name] as Input.Condition<Input.ColumnValue>
117
- return this.conditionBuilder.build(conditionBuilder, tableName, column.columnName, subWhere)
118
+ return this.conditionBuilder.build(conditionBuilder, tableName, column.columnName, column.columnType, subWhere)
118
119
  },
119
120
  visitOneHasOneInverse: joinedWhere,
120
121
  visitOneHasOneOwning: joinedWhere,
@@ -194,8 +195,10 @@ export class WhereBuilder {
194
195
  const primaryCondition = this.transformWhereToPrimaryCondition(relationWhere, targetEntity.primary)
195
196
  if (primaryCondition !== null) {
196
197
 
198
+ const columnType = (targetEntity.fields[targetEntity.primary] as Model.AnyColumn).columnType
199
+
197
200
  return qb.where(condition =>
198
- this.conditionBuilder.build(condition, 'junction_', toColumn, primaryCondition),
201
+ this.conditionBuilder.build(condition, 'junction_', toColumn, columnType, primaryCondition),
199
202
  )
200
203
  }
201
204