@contember/engine-content-api 1.1.0-alpha.3 → 1.1.0-alpha.6

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.
Files changed (502) hide show
  1. package/dist/src/acl/Authorizator.d.ts +1 -0
  2. package/dist/src/acl/Authorizator.d.ts.map +1 -1
  3. package/dist/src/acl/Authorizator.js +5 -2
  4. package/dist/src/acl/Authorizator.js.map +1 -1
  5. package/dist/src/acl/PermissionFactory.d.ts +1 -1
  6. package/dist/src/acl/PermissionFactory.d.ts.map +1 -1
  7. package/dist/src/acl/PermissionFactory.js +2 -2
  8. package/dist/src/acl/PermissionFactory.js.map +1 -1
  9. package/dist/src/acl/PredicatesInjector.d.ts.map +1 -1
  10. package/dist/src/acl/PredicatesInjector.js.map +1 -1
  11. package/dist/src/acl/index.js +5 -1
  12. package/dist/src/acl/index.js.map +1 -1
  13. package/dist/src/extensions/hasManyToHasOneReducer/index.js +5 -1
  14. package/dist/src/extensions/hasManyToHasOneReducer/index.js.map +1 -1
  15. package/dist/src/extensions/index.js +5 -1
  16. package/dist/src/extensions/index.js.map +1 -1
  17. package/dist/src/index.js +5 -1
  18. package/dist/src/index.js.map +1 -1
  19. package/dist/src/input-validation/ValidationEvaluation.js.map +1 -1
  20. package/dist/src/input-validation/dependencies/index.js +5 -1
  21. package/dist/src/input-validation/dependencies/index.js.map +1 -1
  22. package/dist/src/input-validation/index.js +5 -1
  23. package/dist/src/input-validation/index.js.map +1 -1
  24. package/dist/src/input-validation/preValidation/index.js +5 -1
  25. package/dist/src/input-validation/preValidation/index.js.map +1 -1
  26. package/dist/src/inputProcessing/UniqueWhereExpander.d.ts.map +1 -1
  27. package/dist/src/inputProcessing/UniqueWhereExpander.js.map +1 -1
  28. package/dist/src/inputProcessing/index.js +5 -1
  29. package/dist/src/inputProcessing/index.js.map +1 -1
  30. package/dist/src/introspection/IntrospectionSchemaFactory.d.ts +1 -1
  31. package/dist/src/introspection/IntrospectionSchemaFactory.d.ts.map +1 -1
  32. package/dist/src/introspection/IntrospectionSchemaFactory.js +5 -1
  33. package/dist/src/introspection/IntrospectionSchemaFactory.js.map +1 -1
  34. package/dist/src/introspection/index.js +5 -1
  35. package/dist/src/introspection/index.js.map +1 -1
  36. package/dist/src/mapper/ErrorUtils.js +5 -1
  37. package/dist/src/mapper/ErrorUtils.js.map +1 -1
  38. package/dist/src/mapper/delete/index.js +5 -1
  39. package/dist/src/mapper/delete/index.js.map +1 -1
  40. package/dist/src/mapper/index.js +5 -1
  41. package/dist/src/mapper/index.js.map +1 -1
  42. package/dist/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -1
  43. package/dist/src/mapper/insert/index.js +5 -1
  44. package/dist/src/mapper/insert/index.js.map +1 -1
  45. package/dist/src/mapper/select/OrderByHelper.d.ts +1 -1
  46. package/dist/src/mapper/select/OrderByHelper.d.ts.map +1 -1
  47. package/dist/src/mapper/select/OrderByHelper.js +3 -3
  48. package/dist/src/mapper/select/OrderByHelper.js.map +1 -1
  49. package/dist/src/mapper/select/WhereBuilder.d.ts.map +1 -1
  50. package/dist/src/mapper/select/WhereBuilder.js +3 -3
  51. package/dist/src/mapper/select/WhereBuilder.js.map +1 -1
  52. package/dist/src/mapper/select/handlers/index.js +5 -1
  53. package/dist/src/mapper/select/handlers/index.js.map +1 -1
  54. package/dist/src/mapper/select/index.js +5 -1
  55. package/dist/src/mapper/select/index.js.map +1 -1
  56. package/dist/src/mapper/update/index.js +5 -1
  57. package/dist/src/mapper/update/index.js.map +1 -1
  58. package/dist/src/resolvers/index.js +5 -1
  59. package/dist/src/resolvers/index.js.map +1 -1
  60. package/dist/src/schema/WhereTypeProvider.d.ts +1 -1
  61. package/dist/src/schema/WhereTypeProvider.d.ts.map +1 -1
  62. package/dist/src/schema/WhereTypeProvider.js.map +1 -1
  63. package/dist/src/schema/entities/FieldTypeVisitor.d.ts.map +1 -1
  64. package/dist/src/schema/entities/FieldTypeVisitor.js +10 -2
  65. package/dist/src/schema/entities/FieldTypeVisitor.js.map +1 -1
  66. package/dist/src/schema/entities/index.js +5 -1
  67. package/dist/src/schema/entities/index.js.map +1 -1
  68. package/dist/src/schema/index.js +5 -1
  69. package/dist/src/schema/index.js.map +1 -1
  70. package/dist/src/schema/mutations/index.js +5 -1
  71. package/dist/src/schema/mutations/index.js.map +1 -1
  72. package/dist/src/tsconfig.tsbuildinfo +1 -1
  73. package/dist/src/utils/index.js +5 -1
  74. package/dist/src/utils/index.js.map +1 -1
  75. package/dist/src/utils/uniqueWhereFields.d.ts +3 -1
  76. package/dist/src/utils/uniqueWhereFields.d.ts.map +1 -1
  77. package/dist/src/utils/uniqueWhereFields.js.map +1 -1
  78. package/dist/tests/cases/bugs/bug-filter-or.test.js +3 -4
  79. package/dist/tests/cases/bugs/bug-filter-or.test.js.map +1 -1
  80. package/dist/tests/cases/bugs/bug-update-by-nested-unique.test.js +2 -3
  81. package/dist/tests/cases/bugs/bug-update-by-nested-unique.test.js.map +1 -1
  82. package/dist/tests/cases/bugs/bug102.test.js +2 -3
  83. package/dist/tests/cases/bugs/bug102.test.js.map +1 -1
  84. package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.js +2 -3
  85. package/dist/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.js.map +1 -1
  86. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js +4 -5
  87. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js.map +1 -1
  88. package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js +2 -3
  89. package/dist/tests/cases/integration/graphQlDb/update/failedDelete.test.js.map +1 -1
  90. package/dist/tests/cases/integration/graphQlDb/update/invalidInput.test.js +8 -29
  91. package/dist/tests/cases/integration/graphQlDb/update/invalidInput.test.js.map +1 -1
  92. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js +3 -4
  93. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.js.map +1 -1
  94. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js +3 -4
  95. package/dist/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.js.map +1 -1
  96. package/dist/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.js +2 -3
  97. package/dist/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.js.map +1 -1
  98. package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js +2 -3
  99. package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.js.map +1 -1
  100. package/dist/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.js +2 -3
  101. package/dist/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.js.map +1 -1
  102. package/dist/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.js +2 -3
  103. package/dist/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.js.map +1 -1
  104. package/dist/tests/cases/integration/graphQlRequests/delete/deleteById.test.js +2 -3
  105. package/dist/tests/cases/integration/graphQlRequests/delete/deleteById.test.js.map +1 -1
  106. package/dist/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.js +2 -3
  107. package/dist/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.js.map +1 -1
  108. package/dist/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.js +2 -3
  109. package/dist/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.js.map +1 -1
  110. package/dist/tests/cases/integration/graphQlRequests/insert/acl/setField.test.js +3 -4
  111. package/dist/tests/cases/integration/graphQlRequests/insert/acl/setField.test.js.map +1 -1
  112. package/dist/tests/cases/integration/graphQlRequests/insert/aclInsert.test.js +2 -3
  113. package/dist/tests/cases/integration/graphQlRequests/insert/aclInsert.test.js.map +1 -1
  114. package/dist/tests/cases/integration/graphQlRequests/insert/basicInsert.test.js +2 -3
  115. package/dist/tests/cases/integration/graphQlRequests/insert/basicInsert.test.js.map +1 -1
  116. package/dist/tests/cases/integration/graphQlRequests/insert/insertCustomId.test.js +2 -3
  117. package/dist/tests/cases/integration/graphQlRequests/insert/insertCustomId.test.js.map +1 -1
  118. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.js +2 -3
  119. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.js.map +1 -1
  120. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.js +2 -3
  121. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.js.map +1 -1
  122. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.js +2 -3
  123. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.js.map +1 -1
  124. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.js +2 -3
  125. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.js.map +1 -1
  126. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.js +2 -3
  127. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.js.map +1 -1
  128. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.js +2 -3
  129. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.js.map +1 -1
  130. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.js +2 -3
  131. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.js.map +1 -1
  132. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.js +2 -3
  133. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.js.map +1 -1
  134. package/dist/tests/cases/integration/graphQlRequests/insert/validation/toBeFixed.test.js +3 -4
  135. package/dist/tests/cases/integration/graphQlRequests/insert/validation/toBeFixed.test.js.map +1 -1
  136. package/dist/tests/cases/integration/graphQlRequests/query/acl/differentRowAndFieldPredicate.test.js +2 -3
  137. package/dist/tests/cases/integration/graphQlRequests/query/acl/differentRowAndFieldPredicate.test.js.map +1 -1
  138. package/dist/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.js +6 -7
  139. package/dist/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.js.map +1 -1
  140. package/dist/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.js +2 -3
  141. package/dist/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.js.map +1 -1
  142. package/dist/tests/cases/integration/graphQlRequests/query/acl/orPredicate.test.js +2 -3
  143. package/dist/tests/cases/integration/graphQlRequests/query/acl/orPredicate.test.js.map +1 -1
  144. package/dist/tests/cases/integration/graphQlRequests/query/acl/sameRowAndFieldPredicate.test.js +2 -3
  145. package/dist/tests/cases/integration/graphQlRequests/query/acl/sameRowAndFieldPredicate.test.js.map +1 -1
  146. package/dist/tests/cases/integration/graphQlRequests/query/filter/backReferencedFilter.test.js +2 -3
  147. package/dist/tests/cases/integration/graphQlRequests/query/filter/backReferencedFilter.test.js.map +1 -1
  148. package/dist/tests/cases/integration/graphQlRequests/query/filter/complexCondition.test.js +2 -3
  149. package/dist/tests/cases/integration/graphQlRequests/query/filter/complexCondition.test.js.map +1 -1
  150. package/dist/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.js +2 -3
  151. package/dist/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.js.map +1 -1
  152. package/dist/tests/cases/integration/graphQlRequests/query/filter/containsQuery.test.js +2 -3
  153. package/dist/tests/cases/integration/graphQlRequests/query/filter/containsQuery.test.js.map +1 -1
  154. package/dist/tests/cases/integration/graphQlRequests/query/filter/manyHasManyOwnerRelation.test.js +3 -4
  155. package/dist/tests/cases/integration/graphQlRequests/query/filter/manyHasManyOwnerRelation.test.js.map +1 -1
  156. package/dist/tests/cases/integration/graphQlRequests/query/filter/manyHasOneRelation.test.js +2 -3
  157. package/dist/tests/cases/integration/graphQlRequests/query/filter/manyHasOneRelation.test.js.map +1 -1
  158. package/dist/tests/cases/integration/graphQlRequests/query/filter/oneHasManyRelation.test.js +2 -3
  159. package/dist/tests/cases/integration/graphQlRequests/query/filter/oneHasManyRelation.test.js.map +1 -1
  160. package/dist/tests/cases/integration/graphQlRequests/query/formatting/dateFormat.test.js +2 -3
  161. package/dist/tests/cases/integration/graphQlRequests/query/formatting/dateFormat.test.js.map +1 -1
  162. package/dist/tests/cases/integration/graphQlRequests/query/graphqlFeatures/alias.test.js +3 -4
  163. package/dist/tests/cases/integration/graphQlRequests/query/graphqlFeatures/alias.test.js.map +1 -1
  164. package/dist/tests/cases/integration/graphQlRequests/query/graphqlFeatures/fragments.test.js +3 -4
  165. package/dist/tests/cases/integration/graphQlRequests/query/graphqlFeatures/fragments.test.js.map +1 -1
  166. package/dist/tests/cases/integration/graphQlRequests/query/misc/aliasedType.test.js +2 -3
  167. package/dist/tests/cases/integration/graphQlRequests/query/misc/aliasedType.test.js.map +1 -1
  168. package/dist/tests/cases/integration/graphQlRequests/query/misc/longAliasHash.test.js +2 -3
  169. package/dist/tests/cases/integration/graphQlRequests/query/misc/longAliasHash.test.js.map +1 -1
  170. package/dist/tests/cases/integration/graphQlRequests/query/misc/reducedHasMany.test.js +2 -3
  171. package/dist/tests/cases/integration/graphQlRequests/query/misc/reducedHasMany.test.js.map +1 -1
  172. package/dist/tests/cases/integration/graphQlRequests/query/misc/transaction.test.js +2 -3
  173. package/dist/tests/cases/integration/graphQlRequests/query/misc/transaction.test.js.map +1 -1
  174. package/dist/tests/cases/integration/graphQlRequests/query/pagination/hasManyLimit.test.js +3 -4
  175. package/dist/tests/cases/integration/graphQlRequests/query/pagination/hasManyLimit.test.js.map +1 -1
  176. package/dist/tests/cases/integration/graphQlRequests/query/pagination/paginate.test.js +2 -3
  177. package/dist/tests/cases/integration/graphQlRequests/query/pagination/paginate.test.js.map +1 -1
  178. package/dist/tests/cases/integration/graphQlRequests/query/pagination/paginateAliased.test.js +2 -3
  179. package/dist/tests/cases/integration/graphQlRequests/query/pagination/paginateAliased.test.js.map +1 -1
  180. package/dist/tests/cases/integration/graphQlRequests/query/pagination/simpleLimit.test.js +2 -3
  181. package/dist/tests/cases/integration/graphQlRequests/query/pagination/simpleLimit.test.js.map +1 -1
  182. package/dist/tests/cases/integration/graphQlRequests/query/relations/advanced.test.js +3 -4
  183. package/dist/tests/cases/integration/graphQlRequests/query/relations/advanced.test.js.map +1 -1
  184. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.js +3 -4
  185. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.js.map +1 -1
  186. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.js +2 -3
  187. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.js.map +1 -1
  188. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasOne.test.js +4 -5
  189. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasOne.test.js.map +1 -1
  190. package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasMany.test.js +6 -7
  191. package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasMany.test.js.map +1 -1
  192. package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasOneInverse.test.js +2 -3
  193. package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasOneInverse.test.js.map +1 -1
  194. package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasOneOwner.test.js +2 -3
  195. package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasOneOwner.test.js.map +1 -1
  196. package/dist/tests/cases/integration/graphQlRequests/query/sorting/byRelations.test.js +2 -3
  197. package/dist/tests/cases/integration/graphQlRequests/query/sorting/byRelations.test.js.map +1 -1
  198. package/dist/tests/cases/integration/graphQlRequests/query/sorting/defaultOrdering.test.js +3 -4
  199. package/dist/tests/cases/integration/graphQlRequests/query/sorting/defaultOrdering.test.js.map +1 -1
  200. package/dist/tests/cases/integration/graphQlRequests/query/sorting/randomSort.test.js +4 -5
  201. package/dist/tests/cases/integration/graphQlRequests/query/sorting/randomSort.test.js.map +1 -1
  202. package/dist/tests/cases/integration/graphQlRequests/query/sorting/sortedHasMany.test.js +2 -3
  203. package/dist/tests/cases/integration/graphQlRequests/query/sorting/sortedHasMany.test.js.map +1 -1
  204. package/dist/tests/cases/integration/graphQlRequests/query/unique/basicQueryById.test.js +2 -3
  205. package/dist/tests/cases/integration/graphQlRequests/query/unique/basicQueryById.test.js.map +1 -1
  206. package/dist/tests/cases/integration/graphQlRequests/query/unique/composedUnique.test.js +2 -3
  207. package/dist/tests/cases/integration/graphQlRequests/query/unique/composedUnique.test.js.map +1 -1
  208. package/dist/tests/cases/integration/graphQlRequests/query/unique/oneHasManyUnique.test.js +2 -3
  209. package/dist/tests/cases/integration/graphQlRequests/query/unique/oneHasManyUnique.test.js.map +1 -1
  210. package/dist/tests/cases/integration/graphQlRequests/query/unique/uniqueWithFilter.test.js +2 -3
  211. package/dist/tests/cases/integration/graphQlRequests/query/unique/uniqueWithFilter.test.js.map +1 -1
  212. package/dist/tests/cases/integration/graphQlRequests/query/view/view.test.js +2 -3
  213. package/dist/tests/cases/integration/graphQlRequests/query/view/view.test.js.map +1 -1
  214. package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js +4 -5
  215. package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.js.map +1 -1
  216. package/dist/tests/cases/integration/graphQlRequests/update/additionalFilter.test.js +2 -3
  217. package/dist/tests/cases/integration/graphQlRequests/update/additionalFilter.test.js.map +1 -1
  218. package/dist/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.js +2 -3
  219. package/dist/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.js.map +1 -1
  220. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/connect.test.js +2 -3
  221. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/connect.test.js.map +1 -1
  222. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/create.test.js +2 -3
  223. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/create.test.js.map +1 -1
  224. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.js +2 -3
  225. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.js.map +1 -1
  226. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/disconnect.test.js +2 -3
  227. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/disconnect.test.js.map +1 -1
  228. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.js +2 -3
  229. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.js.map +1 -1
  230. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.js +3 -4
  231. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.js.map +1 -1
  232. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connect.test.js +2 -3
  233. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connect.test.js.map +1 -1
  234. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/create.test.js +2 -3
  235. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/create.test.js.map +1 -1
  236. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.js +2 -3
  237. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.js.map +1 -1
  238. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/disconnect.test.js +2 -3
  239. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/disconnect.test.js.map +1 -1
  240. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.js +2 -3
  241. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.js.map +1 -1
  242. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.js +3 -4
  243. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.js.map +1 -1
  244. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.js +2 -3
  245. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.js.map +1 -1
  246. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.js +2 -3
  247. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.js.map +1 -1
  248. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.js +3 -4
  249. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.js.map +1 -1
  250. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.js +2 -3
  251. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.js.map +1 -1
  252. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.js +2 -3
  253. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.js.map +1 -1
  254. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.js +3 -4
  255. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.js.map +1 -1
  256. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.js +2 -3
  257. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.js.map +1 -1
  258. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.js +2 -3
  259. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.js.map +1 -1
  260. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/create.test.js +2 -3
  261. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/create.test.js.map +1 -1
  262. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.js +2 -3
  263. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.js.map +1 -1
  264. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.js +2 -3
  265. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.js.map +1 -1
  266. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.js +3 -4
  267. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.js.map +1 -1
  268. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.js +3 -4
  269. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.js.map +1 -1
  270. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.js +4 -5
  271. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.js.map +1 -1
  272. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.js +3 -4
  273. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.js.map +1 -1
  274. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.js +2 -3
  275. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.js.map +1 -1
  276. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.js +2 -3
  277. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.js.map +1 -1
  278. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.js +2 -3
  279. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.js.map +1 -1
  280. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.js +3 -4
  281. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.js.map +1 -1
  282. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.js +4 -5
  283. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.js.map +1 -1
  284. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.js +2 -3
  285. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.js.map +1 -1
  286. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.js +2 -3
  287. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.js.map +1 -1
  288. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.d.ts +2 -0
  289. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.d.ts.map +1 -0
  290. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.js +50 -0
  291. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.js.map +1 -0
  292. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.js +2 -3
  293. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.js.map +1 -1
  294. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.js +3 -4
  295. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.js.map +1 -1
  296. package/dist/tests/cases/integration/graphQlRequests/update/queryPortal.test.js +3 -4
  297. package/dist/tests/cases/integration/graphQlRequests/update/queryPortal.test.js.map +1 -1
  298. package/dist/tests/cases/integration/graphQlRequests/update/transaction.test.js +3 -4
  299. package/dist/tests/cases/integration/graphQlRequests/update/transaction.test.js.map +1 -1
  300. package/dist/tests/cases/integration/graphQlRequests/update/validation/toBeFixed.test.js +2 -3
  301. package/dist/tests/cases/integration/graphQlRequests/update/validation/toBeFixed.test.js.map +1 -1
  302. package/dist/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.js +3 -4
  303. package/dist/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.js.map +1 -1
  304. package/dist/tests/cases/integration/graphQlRequests/validation/conditions.test.js +26 -26
  305. package/dist/tests/cases/integration/graphQlRequests/validation/conditions.test.js.map +1 -1
  306. package/dist/tests/cases/integration/graphQlRequests/validation/nestedValidation.test.js +94 -94
  307. package/dist/tests/cases/integration/graphQlRequests/validation/nestedValidation.test.js.map +1 -1
  308. package/dist/tests/cases/integration/graphQlRequests/validation/optionalAssert.test.js +44 -44
  309. package/dist/tests/cases/integration/graphQlRequests/validation/optionalAssert.test.js.map +1 -1
  310. package/dist/tests/cases/integration/graphQlRequests/validation/required.test.js +210 -210
  311. package/dist/tests/cases/integration/graphQlRequests/validation/required.test.js.map +1 -1
  312. package/dist/tests/cases/integration/graphQlRequests/validation/requiredWhen.test.js +67 -67
  313. package/dist/tests/cases/integration/graphQlRequests/validation/requiredWhen.test.js.map +1 -1
  314. package/dist/tests/cases/integration/graphQlRequests/validation/rules/andRule.test.js +16 -16
  315. package/dist/tests/cases/integration/graphQlRequests/validation/rules/andRule.test.js.map +1 -1
  316. package/dist/tests/cases/integration/graphQlRequests/validation/rules/lengthRangeRule.test.js +23 -23
  317. package/dist/tests/cases/integration/graphQlRequests/validation/rules/lengthRangeRule.test.js.map +1 -1
  318. package/dist/tests/cases/integration/graphQlRequests/validation/rules/maxLengthRule.test.js +16 -16
  319. package/dist/tests/cases/integration/graphQlRequests/validation/rules/maxLengthRule.test.js.map +1 -1
  320. package/dist/tests/cases/integration/graphQlRequests/validation/rules/minLength.test.js +16 -16
  321. package/dist/tests/cases/integration/graphQlRequests/validation/rules/minLength.test.js.map +1 -1
  322. package/dist/tests/cases/integration/graphQlRequests/validation/rules/notEmptyRule.test.js +30 -30
  323. package/dist/tests/cases/integration/graphQlRequests/validation/rules/notEmptyRule.test.js.map +1 -1
  324. package/dist/tests/cases/integration/graphQlRequests/validation/rules/notRule.test.js +16 -16
  325. package/dist/tests/cases/integration/graphQlRequests/validation/rules/notRule.test.js.map +1 -1
  326. package/dist/tests/cases/integration/graphQlRequests/validation/rules/orRule.test.js +23 -23
  327. package/dist/tests/cases/integration/graphQlRequests/validation/rules/orRule.test.js.map +1 -1
  328. package/dist/tests/cases/integration/graphQlRequests/validation/rules/patternRule.test.js +16 -16
  329. package/dist/tests/cases/integration/graphQlRequests/validation/rules/patternRule.test.js.map +1 -1
  330. package/dist/tests/cases/integration/graphQlRequests/validation/rules/rangeRule.test.js +23 -23
  331. package/dist/tests/cases/integration/graphQlRequests/validation/rules/rangeRule.test.js.map +1 -1
  332. package/dist/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.js +230 -206
  333. package/dist/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.js.map +1 -1
  334. package/dist/tests/cases/integration/graphQlSchema/schema-acl-predicate2.gql +110 -0
  335. package/dist/tests/cases/unit/aclVariablesFactory.test.js +50 -70
  336. package/dist/tests/cases/unit/aclVariablesFactory.test.js.map +1 -1
  337. package/dist/tests/cases/unit/inputPreValidator.test.js +318 -338
  338. package/dist/tests/cases/unit/inputPreValidator.test.js.map +1 -1
  339. package/dist/tests/cases/unit/inputValidation.test.js +122 -142
  340. package/dist/tests/cases/unit/inputValidation.test.js.map +1 -1
  341. package/dist/tests/cases/unit/orderbyHelper.test.js +33 -52
  342. package/dist/tests/cases/unit/orderbyHelper.test.js.map +1 -1
  343. package/dist/tests/cases/unit/permissionMerger.test.js +378 -399
  344. package/dist/tests/cases/unit/permissionMerger.test.js.map +1 -1
  345. package/dist/tests/cases/unit/predicatesInjector.test.js +49 -69
  346. package/dist/tests/cases/unit/predicatesInjector.test.js.map +1 -1
  347. package/dist/tests/cases/unit/variableInjector.test.js +57 -77
  348. package/dist/tests/cases/unit/variableInjector.test.js.map +1 -1
  349. package/dist/tests/src/testGraphql.d.ts.map +1 -1
  350. package/dist/tests/src/testGraphql.js +2 -25
  351. package/dist/tests/src/testGraphql.js.map +1 -1
  352. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  353. package/package.json +13 -14
  354. package/src/acl/Authorizator.ts +5 -1
  355. package/src/acl/PermissionFactory.ts +9 -9
  356. package/src/acl/PredicatesInjector.ts +2 -2
  357. package/src/input-validation/ValidationEvaluation.ts +1 -1
  358. package/src/inputProcessing/UniqueWhereExpander.ts +2 -2
  359. package/src/introspection/IntrospectionSchemaFactory.ts +1 -1
  360. package/src/mapper/insert/SqlCreateInputProcessor.ts +1 -1
  361. package/src/mapper/select/OrderByHelper.ts +5 -5
  362. package/src/mapper/select/WhereBuilder.ts +8 -4
  363. package/src/schema/WhereTypeProvider.ts +2 -2
  364. package/src/schema/entities/FieldTypeVisitor.ts +10 -2
  365. package/src/utils/uniqueWhereFields.ts +2 -1
  366. package/tests/cases/bugs/bug-filter-or.test.ts +2 -2
  367. package/tests/cases/bugs/bug-update-by-nested-unique.test.ts +2 -2
  368. package/tests/cases/bugs/bug102.test.ts +2 -2
  369. package/tests/cases/integration/graphQlDb/update/bug-freeze-connect-missing-one.test.ts +2 -2
  370. package/tests/cases/integration/graphQlDb/update/deferedConstraints.test.ts +2 -2
  371. package/tests/cases/integration/graphQlDb/update/failedDelete.test.ts +2 -2
  372. package/tests/cases/integration/graphQlDb/update/invalidInput.test.ts +5 -6
  373. package/tests/cases/integration/graphQlDb/update/nullChecksNotNull.test.ts +2 -2
  374. package/tests/cases/integration/graphQlDb/update/nullChecksNullable.test.ts +2 -2
  375. package/tests/cases/integration/graphQlDb/update/uniqueConstraint.test.ts +2 -2
  376. package/tests/cases/integration/graphQlRequests/delete/aclDelete.test.ts +2 -2
  377. package/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.ts +2 -2
  378. package/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.ts +2 -2
  379. package/tests/cases/integration/graphQlRequests/delete/deleteById.test.ts +2 -2
  380. package/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.ts +2 -2
  381. package/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.ts +2 -2
  382. package/tests/cases/integration/graphQlRequests/insert/acl/setField.test.ts +2 -2
  383. package/tests/cases/integration/graphQlRequests/insert/aclInsert.test.ts +2 -2
  384. package/tests/cases/integration/graphQlRequests/insert/basicInsert.test.ts +2 -2
  385. package/tests/cases/integration/graphQlRequests/insert/insertCustomId.test.ts +2 -2
  386. package/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/insertRelationCreate.test.ts +2 -2
  387. package/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/insertRelationCreate.test.ts +2 -2
  388. package/tests/cases/integration/graphQlRequests/insert/manyHasOne/insertRelationCreate.test.ts +2 -2
  389. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationConnect.test.ts +2 -2
  390. package/tests/cases/integration/graphQlRequests/insert/oneHasMany/insertRelationCreate.test.ts +2 -2
  391. package/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/insertRelationCreate.test.ts +2 -2
  392. package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationCreate.test.ts +2 -2
  393. package/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/insertRelationEmpty.test.ts +2 -2
  394. package/tests/cases/integration/graphQlRequests/insert/validation/toBeFixed.test.ts +2 -2
  395. package/tests/cases/integration/graphQlRequests/query/acl/differentRowAndFieldPredicate.test.ts +2 -2
  396. package/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.ts +2 -2
  397. package/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.ts +2 -2
  398. package/tests/cases/integration/graphQlRequests/query/acl/orPredicate.test.ts +2 -2
  399. package/tests/cases/integration/graphQlRequests/query/acl/sameRowAndFieldPredicate.test.ts +2 -2
  400. package/tests/cases/integration/graphQlRequests/query/filter/backReferencedFilter.test.ts +2 -2
  401. package/tests/cases/integration/graphQlRequests/query/filter/complexCondition.test.ts +2 -2
  402. package/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.ts +2 -2
  403. package/tests/cases/integration/graphQlRequests/query/filter/containsQuery.test.ts +2 -2
  404. package/tests/cases/integration/graphQlRequests/query/filter/manyHasManyOwnerRelation.test.ts +2 -2
  405. package/tests/cases/integration/graphQlRequests/query/filter/manyHasOneRelation.test.ts +2 -2
  406. package/tests/cases/integration/graphQlRequests/query/filter/oneHasManyRelation.test.ts +2 -2
  407. package/tests/cases/integration/graphQlRequests/query/formatting/dateFormat.test.ts +2 -2
  408. package/tests/cases/integration/graphQlRequests/query/graphqlFeatures/alias.test.ts +2 -2
  409. package/tests/cases/integration/graphQlRequests/query/graphqlFeatures/fragments.test.ts +2 -2
  410. package/tests/cases/integration/graphQlRequests/query/misc/aliasedType.test.ts +2 -2
  411. package/tests/cases/integration/graphQlRequests/query/misc/longAliasHash.test.ts +2 -2
  412. package/tests/cases/integration/graphQlRequests/query/misc/reducedHasMany.test.ts +2 -2
  413. package/tests/cases/integration/graphQlRequests/query/misc/transaction.test.ts +2 -2
  414. package/tests/cases/integration/graphQlRequests/query/pagination/hasManyLimit.test.ts +2 -2
  415. package/tests/cases/integration/graphQlRequests/query/pagination/paginate.test.ts +2 -2
  416. package/tests/cases/integration/graphQlRequests/query/pagination/paginateAliased.test.ts +2 -2
  417. package/tests/cases/integration/graphQlRequests/query/pagination/simpleLimit.test.ts +2 -2
  418. package/tests/cases/integration/graphQlRequests/query/relations/advanced.test.ts +2 -2
  419. package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.ts +2 -2
  420. package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.ts +2 -2
  421. package/tests/cases/integration/graphQlRequests/query/relations/manyHasOne.test.ts +2 -2
  422. package/tests/cases/integration/graphQlRequests/query/relations/oneHasMany.test.ts +2 -2
  423. package/tests/cases/integration/graphQlRequests/query/relations/oneHasOneInverse.test.ts +2 -2
  424. package/tests/cases/integration/graphQlRequests/query/relations/oneHasOneOwner.test.ts +2 -2
  425. package/tests/cases/integration/graphQlRequests/query/sorting/byRelations.test.ts +2 -2
  426. package/tests/cases/integration/graphQlRequests/query/sorting/defaultOrdering.test.ts +2 -2
  427. package/tests/cases/integration/graphQlRequests/query/sorting/randomSort.test.ts +2 -2
  428. package/tests/cases/integration/graphQlRequests/query/sorting/sortedHasMany.test.ts +2 -2
  429. package/tests/cases/integration/graphQlRequests/query/unique/basicQueryById.test.ts +2 -2
  430. package/tests/cases/integration/graphQlRequests/query/unique/composedUnique.test.ts +2 -2
  431. package/tests/cases/integration/graphQlRequests/query/unique/oneHasManyUnique.test.ts +2 -2
  432. package/tests/cases/integration/graphQlRequests/query/unique/uniqueWithFilter.test.ts +2 -2
  433. package/tests/cases/integration/graphQlRequests/query/view/view.test.ts +2 -2
  434. package/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.ts +2 -2
  435. package/tests/cases/integration/graphQlRequests/update/additionalFilter.test.ts +2 -2
  436. package/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.ts +2 -2
  437. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/connect.test.ts +2 -2
  438. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/create.test.ts +2 -2
  439. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.ts +2 -2
  440. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/disconnect.test.ts +2 -2
  441. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.ts +2 -2
  442. package/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.ts +2 -2
  443. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connect.test.ts +2 -2
  444. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/create.test.ts +2 -2
  445. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.ts +2 -2
  446. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/disconnect.test.ts +2 -2
  447. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.ts +2 -2
  448. package/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.ts +2 -2
  449. package/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.ts +2 -2
  450. package/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.ts +2 -2
  451. package/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.ts +2 -2
  452. package/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.ts +2 -2
  453. package/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.ts +2 -2
  454. package/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.ts +2 -2
  455. package/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.ts +2 -2
  456. package/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.ts +2 -2
  457. package/tests/cases/integration/graphQlRequests/update/oneHasMany/create.test.ts +2 -2
  458. package/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.ts +2 -2
  459. package/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.ts +2 -2
  460. package/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.ts +2 -2
  461. package/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.ts +2 -2
  462. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.ts +2 -2
  463. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.ts +2 -2
  464. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.ts +2 -2
  465. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.ts +2 -2
  466. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.ts +2 -2
  467. package/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.ts +2 -2
  468. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.ts +2 -2
  469. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.ts +2 -2
  470. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.ts +2 -2
  471. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/{disconnect.test → disconnect.test.ts} +2 -2
  472. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.ts +2 -2
  473. package/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.ts +2 -2
  474. package/tests/cases/integration/graphQlRequests/update/queryPortal.test.ts +2 -2
  475. package/tests/cases/integration/graphQlRequests/update/transaction.test.ts +2 -2
  476. package/tests/cases/integration/graphQlRequests/update/validation/toBeFixed.test.ts +2 -2
  477. package/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.ts +2 -2
  478. package/tests/cases/integration/graphQlRequests/validation/conditions.test.ts +27 -26
  479. package/tests/cases/integration/graphQlRequests/validation/nestedValidation.test.ts +83 -82
  480. package/tests/cases/integration/graphQlRequests/validation/optionalAssert.test.ts +46 -44
  481. package/tests/cases/integration/graphQlRequests/validation/required.test.ts +201 -200
  482. package/tests/cases/integration/graphQlRequests/validation/requiredWhen.test.ts +68 -68
  483. package/tests/cases/integration/graphQlRequests/validation/rules/andRule.test.ts +17 -16
  484. package/tests/cases/integration/graphQlRequests/validation/rules/lengthRangeRule.test.ts +24 -24
  485. package/tests/cases/integration/graphQlRequests/validation/rules/maxLengthRule.test.ts +16 -17
  486. package/tests/cases/integration/graphQlRequests/validation/rules/minLength.test.ts +19 -17
  487. package/tests/cases/integration/graphQlRequests/validation/rules/notEmptyRule.test.ts +32 -31
  488. package/tests/cases/integration/graphQlRequests/validation/rules/notRule.test.ts +18 -16
  489. package/tests/cases/integration/graphQlRequests/validation/rules/orRule.test.ts +25 -24
  490. package/tests/cases/integration/graphQlRequests/validation/rules/patternRule.test.ts +18 -17
  491. package/tests/cases/integration/graphQlRequests/validation/rules/rangeRule.test.ts +24 -23
  492. package/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.ts +271 -238
  493. package/tests/cases/integration/graphQlSchema/schema-acl-predicate2.gql +110 -0
  494. package/tests/cases/unit/aclVariablesFactory.test.ts +51 -54
  495. package/tests/cases/unit/inputPreValidator.test.ts +327 -326
  496. package/tests/cases/unit/inputValidation.test.ts +175 -173
  497. package/tests/cases/unit/orderbyHelper.test.ts +48 -47
  498. package/tests/cases/unit/permissionMerger.test.ts +380 -381
  499. package/tests/cases/unit/predicatesInjector.test.ts +60 -59
  500. package/tests/cases/unit/variableInjector.test.ts +61 -60
  501. package/tests/src/testGraphql.ts +2 -5
  502. package/vite.config.js +3 -0
@@ -11,8 +11,7 @@ import { getEntity } from '@contember/schema-utils'
11
11
  import { Mapper } from '../../../src/mapper'
12
12
  import { createMock } from '../../src/utils'
13
13
  import { testUuid } from '../../src/testUuid'
14
- import * as assert from 'uvu/assert'
15
- import { suite } from 'uvu'
14
+ import { describe, it, assert } from 'vitest'
16
15
  import { SchemaDefinition as def } from '@contember/schema-definition'
17
16
 
18
17
  type PrimaryValueExpectation = { entity: string; where: Input.UniqueWhere; result: Value.PrimaryValue }
@@ -31,8 +30,8 @@ const createDataSelectorMock = (primaryValues: PrimaryValueExpectation[], select
31
30
  if (!entry) {
32
31
  throw new Error(`Unexpected getPrimaryValue call`)
33
32
  }
34
- assert.is(entity.name, entry.entity)
35
- assert.equal(where, entry.where)
33
+ assert.deepStrictEqual(entity.name, entry.entity)
34
+ assert.deepStrictEqual(where, entry.where)
36
35
  return entry.result
37
36
  },
38
37
  select: async (
@@ -49,10 +48,10 @@ const createDataSelectorMock = (primaryValues: PrimaryValueExpectation[], select
49
48
  console.log(JSON.stringify({ entity: entity.name, where, dependencies, result: {} }))
50
49
  throw new Error(`Unexpected select call`)
51
50
  }
52
- assert.is(entity.name, entry.entity)
53
- assert.equal(where, entry.where)
51
+ assert.equal(entity.name, entry.entity)
52
+ assert.deepStrictEqual(where, entry.where)
54
53
  //console.log(JSON.stringify(entry))
55
- assert.equal(dependencies, entry.dependencies)
54
+ assert.deepStrictEqual(dependencies, entry.dependencies)
56
55
  return entry.result
57
56
  },
58
57
  })
@@ -80,374 +79,376 @@ const createValidator = ({
80
79
  )
81
80
  const mapper = {} as Mapper
82
81
 
83
- const inputPreValidatorTest = suite('Input pre-validator')
84
- inputPreValidatorTest('validates implicit rules', async () => {
85
- const model = new SchemaBuilder()
86
- .entity('Book', e => e.column('title', c => c.notNull().type(Model.ColumnType.String)).column('description'))
87
- .buildSchema()
88
82
 
89
- const validator = createValidator({ model, validation: {} })
90
- const result = await validator.validateCreate({
91
- entity: getEntity(model, 'Book'),
92
- data: {},
93
- overRelation: null,
94
- path: [],
95
- mapper,
96
- })
97
- assert.equal(result, [
98
- {
99
- path: [
100
- {
101
- field: 'title',
83
+ namespace ViewModelDefinition {
84
+ export class Book {
85
+ title = def.stringColumn()
86
+ stats = def.oneHasOneInverse(BookStats, 'book').notNull()
87
+ }
88
+
89
+ @def.View('SELECT 1')
90
+ export class BookStats {
91
+ book = def.oneHasOne(Book, 'stats').notNull()
92
+ foo = def.intColumn()
93
+ }
94
+ }
95
+
96
+
97
+ describe('Input pre-validator', () => {
98
+
99
+
100
+ it('validates implicit rules', async () => {
101
+ const model = new SchemaBuilder()
102
+ .entity('Book', e => e.column('title', c => c.notNull().type(Model.ColumnType.String)).column('description'))
103
+ .buildSchema()
104
+
105
+ const validator = createValidator({ model, validation: {} })
106
+ const result = await validator.validateCreate({
107
+ entity: getEntity(model, 'Book'),
108
+ data: {},
109
+ overRelation: null,
110
+ path: [],
111
+ mapper,
112
+ })
113
+ assert.deepStrictEqual(result, [
114
+ {
115
+ path: [
116
+ {
117
+ field: 'title',
118
+ },
119
+ ],
120
+ message: {
121
+ text: 'Field is required',
102
122
  },
103
- ],
104
- message: {
105
- text: 'Field is required',
106
123
  },
107
- },
108
- ])
109
- })
124
+ ])
125
+ })
110
126
 
111
- inputPreValidatorTest('validates explicit rules', async () => {
112
- const model = new SchemaBuilder()
113
- .entity('Book', e => e.column('title', c => c.notNull().type(Model.ColumnType.String)).column('description'))
114
- .buildSchema()
127
+ it('validates explicit rules', async () => {
128
+ const model = new SchemaBuilder()
129
+ .entity('Book', e => e.column('title', c => c.notNull().type(Model.ColumnType.String)).column('description'))
130
+ .buildSchema()
115
131
 
116
- const validator = createValidator({
117
- model,
118
- validation: {
119
- Book: {
120
- description: [{ message: { text: 'Minimum length is 10 characters' }, validator: v.rules.minLength(10) }],
132
+ const validator = createValidator({
133
+ model,
134
+ validation: {
135
+ Book: {
136
+ description: [{ message: { text: 'Minimum length is 10 characters' }, validator: v.rules.minLength(10) }],
137
+ },
121
138
  },
122
- },
123
- })
124
- const result = await validator.validateCreate({
125
- entity: getEntity(model, 'Book'),
126
- data: {
127
- title: 'Hello',
128
- description: 'World',
129
- },
130
- overRelation: null,
131
- path: [],
132
- mapper,
133
- })
134
- assert.equal(result, [
135
- {
136
- path: [
137
- {
138
- field: 'description',
139
+ })
140
+ const result = await validator.validateCreate({
141
+ entity: getEntity(model, 'Book'),
142
+ data: {
143
+ title: 'Hello',
144
+ description: 'World',
145
+ },
146
+ overRelation: null,
147
+ path: [],
148
+ mapper,
149
+ })
150
+ assert.deepStrictEqual(result, [
151
+ {
152
+ path: [
153
+ {
154
+ field: 'description',
155
+ },
156
+ ],
157
+ message: {
158
+ text: 'Minimum length is 10 characters',
139
159
  },
140
- ],
141
- message: {
142
- text: 'Minimum length is 10 characters',
143
160
  },
144
- },
145
- ])
161
+ ])
146
162
 
147
- const result2 = await validator.validateCreate({
148
- entity: getEntity(model, 'Book'),
149
- data: {
150
- title: 'Hello',
151
- description: 'World abcdef',
152
- },
153
- overRelation: null,
154
- path: [],
155
- mapper,
163
+ const result2 = await validator.validateCreate({
164
+ entity: getEntity(model, 'Book'),
165
+ data: {
166
+ title: 'Hello',
167
+ description: 'World abcdef',
168
+ },
169
+ overRelation: null,
170
+ path: [],
171
+ mapper,
172
+ })
173
+ assert.deepStrictEqual(result2, [])
156
174
  })
157
- assert.equal(result2, [])
158
- })
159
175
 
160
- inputPreValidatorTest('dependent rules invalid', async () => {
161
- const model = new SchemaBuilder()
162
- .entity('Book', e => e.column('title', c => c.notNull().type(Model.ColumnType.String)).column('description'))
163
- .buildSchema()
176
+ it('dependent rules invalid', async () => {
177
+ const model = new SchemaBuilder()
178
+ .entity('Book', e => e.column('title', c => c.notNull().type(Model.ColumnType.String)).column('description'))
179
+ .buildSchema()
164
180
 
165
- const rule = v.rules.conditional(v.rules.on('title', v.rules.notEmpty()), v.rules.minLength(10))
166
- const validator = createValidator({
167
- model,
168
- validation: {
169
- Book: {
170
- description: [{ message: { text: 'Minimum length is 10 characters' }, validator: rule }],
171
- },
172
- },
173
- })
174
- const result = await validator.validateCreate({
175
- entity: getEntity(model, 'Book'),
176
- data: {
177
- title: 'Hello',
178
- description: 'World',
179
- },
180
- overRelation: null,
181
- path: [],
182
- mapper,
183
- })
184
- assert.equal(result, [
185
- {
186
- path: [
187
- {
188
- field: 'description',
181
+ const rule = v.rules.conditional(v.rules.on('title', v.rules.notEmpty()), v.rules.minLength(10))
182
+ const validator = createValidator({
183
+ model,
184
+ validation: {
185
+ Book: {
186
+ description: [{ message: { text: 'Minimum length is 10 characters' }, validator: rule }],
189
187
  },
190
- ],
191
- message: {
192
- text: 'Minimum length is 10 characters',
193
188
  },
194
- },
195
- ])
196
- })
197
-
198
- inputPreValidatorTest('dependent rules valid', async () => {
199
- const model = new SchemaBuilder()
200
- .entity('Book', e => e.column('title', c => c.notNull().type(Model.ColumnType.String)).column('description'))
201
- .buildSchema()
202
-
203
- const rule = v.rules.conditional(v.rules.on('title', v.rules.notEmpty()), v.rules.minLength(10))
204
- const validator = createValidator({
205
- model,
206
- validation: {
207
- Book: {
208
- description: [{ message: { text: 'Minimum length is 10 characters' }, validator: rule }],
189
+ })
190
+ const result = await validator.validateCreate({
191
+ entity: getEntity(model, 'Book'),
192
+ data: {
193
+ title: 'Hello',
194
+ description: 'World',
209
195
  },
210
- },
211
- })
212
- const result = await validator.validateCreate({
213
- entity: getEntity(model, 'Book'),
214
- data: {
215
- title: '',
216
- description: 'World',
217
- },
218
- overRelation: null,
219
- path: [],
220
- mapper,
196
+ overRelation: null,
197
+ path: [],
198
+ mapper,
199
+ })
200
+ assert.deepStrictEqual(result, [
201
+ {
202
+ path: [
203
+ {
204
+ field: 'description',
205
+ },
206
+ ],
207
+ message: {
208
+ text: 'Minimum length is 10 characters',
209
+ },
210
+ },
211
+ ])
221
212
  })
222
- assert.equal(result, [])
223
- })
224
213
 
225
- inputPreValidatorTest('rules on relations', async () => {
226
- const model = new SchemaBuilder()
227
- .entity('Book', e =>
228
- e
229
- .column('title', c => c.notNull().type(Model.ColumnType.String))
230
- .manyHasOne('author', r => r.target('Author', e => e.column('name')).notNull()),
231
- )
232
- .buildSchema()
214
+ it('dependent rules valid', async () => {
215
+ const model = new SchemaBuilder()
216
+ .entity('Book', e => e.column('title', c => c.notNull().type(Model.ColumnType.String)).column('description'))
217
+ .buildSchema()
233
218
 
234
- const validator = createValidator({ model, validation: {} })
235
- const result = await validator.validateCreate({
236
- entity: getEntity(model, 'Book'),
237
- data: {
238
- title: 'Hello',
239
- },
240
- overRelation: null,
241
- path: [],
242
- mapper,
243
- })
244
- assert.equal(result, [
245
- {
246
- path: [
247
- {
248
- field: 'author',
219
+ const rule = v.rules.conditional(v.rules.on('title', v.rules.notEmpty()), v.rules.minLength(10))
220
+ const validator = createValidator({
221
+ model,
222
+ validation: {
223
+ Book: {
224
+ description: [{ message: { text: 'Minimum length is 10 characters' }, validator: rule }],
249
225
  },
250
- ],
251
- message: {
252
- text: 'Field is required',
253
226
  },
254
- },
255
- ])
256
- })
227
+ })
228
+ const result = await validator.validateCreate({
229
+ entity: getEntity(model, 'Book'),
230
+ data: {
231
+ title: '',
232
+ description: 'World',
233
+ },
234
+ overRelation: null,
235
+ path: [],
236
+ mapper,
237
+ })
238
+ assert.deepStrictEqual(result, [])
239
+ })
257
240
 
258
- inputPreValidatorTest('validates update', async () => {
259
- const model = new SchemaBuilder()
260
- .entity('Book', e => e.column('title', c => c.notNull().type(Model.ColumnType.String)).column('description'))
261
- .buildSchema()
241
+ it('rules on relations', async () => {
242
+ const model = new SchemaBuilder()
243
+ .entity('Book', e =>
244
+ e
245
+ .column('title', c => c.notNull().type(Model.ColumnType.String))
246
+ .manyHasOne('author', r => r.target('Author', e => e.column('name')).notNull()),
247
+ )
248
+ .buildSchema()
262
249
 
263
- const validator = createValidator({
264
- model,
265
- validation: {
266
- Book: {
267
- description: [{ message: { text: 'Minimum length is 10 characters' }, validator: v.rules.minLength(10) }],
250
+ const validator = createValidator({ model, validation: {} })
251
+ const result = await validator.validateCreate({
252
+ entity: getEntity(model, 'Book'),
253
+ data: {
254
+ title: 'Hello',
268
255
  },
269
- },
270
- })
271
- const result = await validator.validateUpdate({
272
- entity: getEntity(model, 'Book'),
273
- data: {
274
- description: 'World',
275
- },
276
- where: {},
277
- path: [],
278
- mapper,
279
- })
280
- assert.equal(result, [
281
- {
282
- path: [
283
- {
284
- field: 'description',
256
+ overRelation: null,
257
+ path: [],
258
+ mapper,
259
+ })
260
+ assert.deepStrictEqual(result, [
261
+ {
262
+ path: [
263
+ {
264
+ field: 'author',
265
+ },
266
+ ],
267
+ message: {
268
+ text: 'Field is required',
285
269
  },
286
- ],
287
- message: {
288
- text: 'Minimum length is 10 characters',
289
270
  },
290
- },
291
- ])
292
- })
271
+ ])
272
+ })
293
273
 
294
- inputPreValidatorTest('validate update w dependent rules - invalid', async () => {
295
- const model = new SchemaBuilder()
296
- .entity('Book', e => e.column('title', c => c.notNull().type(Model.ColumnType.String)).column('description'))
297
- .buildSchema()
274
+ it('validates update', async () => {
275
+ const model = new SchemaBuilder()
276
+ .entity('Book', e => e.column('title', c => c.notNull().type(Model.ColumnType.String)).column('description'))
277
+ .buildSchema()
298
278
 
299
- const rule = v.rules.conditional(v.rules.on('title', v.rules.notEmpty()), v.rules.minLength(10))
300
- const validator = createValidator({
301
- model,
302
- validation: {
303
- Book: {
304
- description: [{ message: { text: 'Minimum length is 10 characters' }, validator: rule }],
279
+ const validator = createValidator({
280
+ model,
281
+ validation: {
282
+ Book: {
283
+ description: [{ message: { text: 'Minimum length is 10 characters' }, validator: v.rules.minLength(10) }],
284
+ },
305
285
  },
306
- },
307
- selects: [
286
+ })
287
+ const result = await validator.validateUpdate({
288
+ entity: getEntity(model, 'Book'),
289
+ data: {
290
+ description: 'World',
291
+ },
292
+ where: {},
293
+ path: [],
294
+ mapper,
295
+ })
296
+ assert.deepStrictEqual(result, [
308
297
  {
309
- entity: 'Book',
310
- where: { id: testUuid(1) },
311
- dependencies: { title: {} },
312
- result: { title: 'abcd' },
298
+ path: [
299
+ {
300
+ field: 'description',
301
+ },
302
+ ],
303
+ message: {
304
+ text: 'Minimum length is 10 characters',
305
+ },
313
306
  },
314
- ],
315
- })
316
- const result = await validator.validateUpdate({
317
- entity: getEntity(model, 'Book'),
318
- data: {
319
- description: 'World',
320
- },
321
- where: { id: testUuid(1) },
322
- path: [],
323
- mapper,
307
+ ])
324
308
  })
325
- assert.equal(result, [
326
- {
327
- path: [
309
+
310
+ it('validate update w dependent rules - invalid', async () => {
311
+ const model = new SchemaBuilder()
312
+ .entity('Book', e => e.column('title', c => c.notNull().type(Model.ColumnType.String)).column('description'))
313
+ .buildSchema()
314
+
315
+ const rule = v.rules.conditional(v.rules.on('title', v.rules.notEmpty()), v.rules.minLength(10))
316
+ const validator = createValidator({
317
+ model,
318
+ validation: {
319
+ Book: {
320
+ description: [{ message: { text: 'Minimum length is 10 characters' }, validator: rule }],
321
+ },
322
+ },
323
+ selects: [
328
324
  {
329
- field: 'description',
325
+ entity: 'Book',
326
+ where: { id: testUuid(1) },
327
+ dependencies: { title: {} },
328
+ result: { title: 'abcd' },
330
329
  },
331
330
  ],
332
- message: {
333
- text: 'Minimum length is 10 characters',
334
- },
335
- },
336
- ])
337
- })
338
-
339
- inputPreValidatorTest('validate update w dependent rules - valid', async () => {
340
- const model = new SchemaBuilder()
341
- .entity('Book', e => e.column('title', c => c.notNull().type(Model.ColumnType.String)).column('description'))
342
- .buildSchema()
343
-
344
- const rule = v.rules.conditional(v.rules.on('title', v.rules.notEmpty()), v.rules.minLength(10))
345
- const validator = createValidator({
346
- model,
347
- validation: {
348
- Book: {
349
- description: [{ message: { text: 'Minimum length is 10 characters' }, validator: rule }],
331
+ })
332
+ const result = await validator.validateUpdate({
333
+ entity: getEntity(model, 'Book'),
334
+ data: {
335
+ description: 'World',
350
336
  },
351
- },
352
- selects: [
337
+ where: { id: testUuid(1) },
338
+ path: [],
339
+ mapper,
340
+ })
341
+ assert.deepStrictEqual(result, [
353
342
  {
354
- entity: 'Book',
355
- where: { id: testUuid(1) },
356
- dependencies: { title: {} },
357
- result: { title: '' },
343
+ path: [
344
+ {
345
+ field: 'description',
346
+ },
347
+ ],
348
+ message: {
349
+ text: 'Minimum length is 10 characters',
350
+ },
358
351
  },
359
- ],
360
- })
361
- const result = await validator.validateUpdate({
362
- entity: getEntity(model, 'Book'),
363
- data: {
364
- description: 'World',
365
- },
366
- where: { id: testUuid(1) },
367
- path: [],
368
- mapper,
352
+ ])
369
353
  })
370
- assert.equal(result, [])
371
- })
372
354
 
373
- inputPreValidatorTest('validate update with dependent rules on relation - invalid', async () => {
374
- const model = new SchemaBuilder()
375
- .entity('Article', e =>
376
- e
377
- .column('publishedAt', c => c.type(Model.ColumnType.DateTime))
378
- .manyHasOne('image', image => image.target('Image', e => e.column('url'))),
379
- )
380
- .buildSchema()
355
+ it('validate update w dependent rules - valid', async () => {
356
+ const model = new SchemaBuilder()
357
+ .entity('Book', e => e.column('title', c => c.notNull().type(Model.ColumnType.String)).column('description'))
358
+ .buildSchema()
381
359
 
382
- const rule = v.rules.conditional(v.rules.on('publishedAt', v.rules.notNull()), v.rules.defined())
383
- const validator = createValidator({
384
- model,
385
- validation: {
386
- Article: {
387
- image: [{ message: { text: 'Published article must have an image' }, validator: rule }],
388
- },
389
- },
390
- selects: [
391
- {
392
- entity: 'Article',
393
- where: { id: testUuid(1) },
394
- dependencies: { image: {} },
395
- result: { id: testUuid(1), image: null },
360
+ const rule = v.rules.conditional(v.rules.on('title', v.rules.notEmpty()), v.rules.minLength(10))
361
+ const validator = createValidator({
362
+ model,
363
+ validation: {
364
+ Book: {
365
+ description: [{ message: { text: 'Minimum length is 10 characters' }, validator: rule }],
366
+ },
396
367
  },
397
- ],
398
- })
399
- const result = await validator.validateUpdate({
400
- entity: getEntity(model, 'Article'),
401
- data: {
402
- publishedAt: 'now',
403
- },
404
- where: { id: testUuid(1) },
405
- path: [],
406
- mapper,
407
- })
408
- assert.equal(result, [
409
- {
410
- path: [
368
+ selects: [
411
369
  {
412
- field: 'image',
370
+ entity: 'Book',
371
+ where: { id: testUuid(1) },
372
+ dependencies: { title: {} },
373
+ result: { title: '' },
413
374
  },
414
375
  ],
415
- message: {
416
- text: 'Published article must have an image',
376
+ })
377
+ const result = await validator.validateUpdate({
378
+ entity: getEntity(model, 'Book'),
379
+ data: {
380
+ description: 'World',
417
381
  },
418
- },
419
- ])
420
- })
382
+ where: { id: testUuid(1) },
383
+ path: [],
384
+ mapper,
385
+ })
386
+ assert.deepStrictEqual(result, [])
387
+ })
421
388
 
389
+ it('validate update with dependent rules on relation - invalid', async () => {
390
+ const model = new SchemaBuilder()
391
+ .entity('Article', e =>
392
+ e
393
+ .column('publishedAt', c => c.type(Model.ColumnType.DateTime))
394
+ .manyHasOne('image', image => image.target('Image', e => e.column('url'))),
395
+ )
396
+ .buildSchema()
422
397
 
423
- namespace ViewModelDefinition {
424
- export class Book {
425
- title = def.stringColumn()
426
- stats = def.oneHasOneInverse(BookStats, 'book').notNull()
427
- }
398
+ const rule = v.rules.conditional(v.rules.on('publishedAt', v.rules.notNull()), v.rules.defined())
399
+ const validator = createValidator({
400
+ model,
401
+ validation: {
402
+ Article: {
403
+ image: [{ message: { text: 'Published article must have an image' }, validator: rule }],
404
+ },
405
+ },
406
+ selects: [
407
+ {
408
+ entity: 'Article',
409
+ where: { id: testUuid(1) },
410
+ dependencies: { image: {} },
411
+ result: { id: testUuid(1), image: null },
412
+ },
413
+ ],
414
+ })
415
+ const result = await validator.validateUpdate({
416
+ entity: getEntity(model, 'Article'),
417
+ data: {
418
+ publishedAt: 'now',
419
+ },
420
+ where: { id: testUuid(1) },
421
+ path: [],
422
+ mapper,
423
+ })
424
+ assert.deepStrictEqual(result, [
425
+ {
426
+ path: [
427
+ {
428
+ field: 'image',
429
+ },
430
+ ],
431
+ message: {
432
+ text: 'Published article must have an image',
433
+ },
434
+ },
435
+ ])
436
+ })
428
437
 
429
- @def.View('SELECT 1')
430
- export class BookStats {
431
- book = def.oneHasOne(Book, 'stats').notNull()
432
- foo = def.intColumn()
433
- }
434
- }
435
438
 
436
- inputPreValidatorTest('ignore not null on view relation', async () => {
437
- const model = SchemaDefinition.createModel(ViewModelDefinition)
439
+ it('ignore not null on view relation', async () => {
440
+ const model = SchemaDefinition.createModel(ViewModelDefinition)
438
441
 
439
- const validator = createValidator({ model, validation: {} })
440
- const result = await validator.validateCreate({
441
- entity: getEntity(model, 'Book'),
442
- data: {
443
- title: 'Hello',
444
- },
445
- overRelation: null,
446
- path: [],
447
- mapper,
442
+ const validator = createValidator({ model, validation: {} })
443
+ const result = await validator.validateCreate({
444
+ entity: getEntity(model, 'Book'),
445
+ data: {
446
+ title: 'Hello',
447
+ },
448
+ overRelation: null,
449
+ path: [],
450
+ mapper,
451
+ })
452
+ assert.deepStrictEqual(result, [])
448
453
  })
449
- assert.equal(result, [])
450
454
  })
451
-
452
-
453
- inputPreValidatorTest.run()