@contember/engine-content-api 1.0.1 → 1.0.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.0.1",
3
+ "version": "1.0.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": "uvu dist/tests/cases/ \\.js$"
11
11
  },
12
12
  "dependencies": {
13
- "@contember/database": "^1.0.1",
14
- "@contember/dic": "^1.0.1",
15
- "@contember/engine-common": "^1.0.1",
16
- "@contember/graphql-utils": "^1.0.1",
17
- "@contember/schema": "^1.0.1",
18
- "@contember/schema-utils": "^1.0.1",
13
+ "@contember/database": "^1.0.2",
14
+ "@contember/dic": "^1.0.2",
15
+ "@contember/engine-common": "^1.0.2",
16
+ "@contember/graphql-utils": "^1.0.2",
17
+ "@contember/schema": "^1.0.2",
18
+ "@contember/schema-utils": "^1.0.2",
19
19
  "@graphql-tools/schema": "^7.1.5",
20
20
  "graphql-tag": "^2.12.5"
21
21
  },
22
22
  "devDependencies": {
23
- "@contember/database-tester": "^1.0.1",
24
- "@contember/engine-api-tester": "^1.0.1",
25
- "@contember/schema-definition": "^1.0.1",
23
+ "@contember/database-tester": "^1.0.2",
24
+ "@contember/engine-api-tester": "^1.0.2",
25
+ "@contember/schema-definition": "^1.0.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,
@@ -198,8 +199,10 @@ export class WhereBuilder {
198
199
  .select(['junction_', fromColumn])
199
200
  const primaryCondition = this.transformWhereToPrimaryCondition(relationWhere, targetEntity.primary)
200
201
  if (primaryCondition !== null) {
202
+ const columnType = (targetEntity.fields[targetEntity.primary] as Model.AnyColumn).columnType
203
+
201
204
  return augmentedBuilder.where(condition =>
202
- this.conditionBuilder.build(condition, 'junction_', toColumn, primaryCondition),
205
+ this.conditionBuilder.build(condition, 'junction_', toColumn, columnType, primaryCondition),
203
206
  )
204
207
  }
205
208