@contember/engine-content-api 2.1.0-alpha.37 → 2.1.0-alpha.39

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 (1751) hide show
  1. package/dist/development/index.cjs +141 -0
  2. package/dist/development/index.cjs.map +1 -0
  3. package/dist/development/index.js +138 -0
  4. package/dist/development/index.js.map +1 -0
  5. package/dist/development/src/ExecutionContainer.cjs +166 -0
  6. package/dist/development/src/ExecutionContainer.cjs.map +1 -0
  7. package/dist/development/src/ExecutionContainer.js +166 -0
  8. package/dist/development/src/ExecutionContainer.js.map +1 -0
  9. package/dist/development/src/acl/Authorizator.cjs +54 -0
  10. package/dist/development/src/acl/Authorizator.cjs.map +1 -0
  11. package/dist/development/src/acl/Authorizator.js +54 -0
  12. package/dist/development/src/acl/Authorizator.js.map +1 -0
  13. package/dist/development/src/acl/EvaluatedPredicateReplacer.cjs +27 -0
  14. package/dist/development/src/acl/EvaluatedPredicateReplacer.cjs.map +1 -0
  15. package/dist/development/src/acl/EvaluatedPredicateReplacer.js +27 -0
  16. package/dist/development/src/acl/EvaluatedPredicateReplacer.js.map +1 -0
  17. package/dist/development/src/acl/PermissionFactory.cjs +243 -0
  18. package/dist/development/src/acl/PermissionFactory.cjs.map +1 -0
  19. package/dist/development/src/acl/PermissionFactory.js +243 -0
  20. package/dist/development/src/acl/PermissionFactory.js.map +1 -0
  21. package/dist/development/src/acl/PredicateFactory.cjs +109 -0
  22. package/dist/development/src/acl/PredicateFactory.cjs.map +1 -0
  23. package/dist/development/src/acl/PredicateFactory.js +109 -0
  24. package/dist/development/src/acl/PredicateFactory.js.map +1 -0
  25. package/dist/development/src/acl/PredicatesInjector.cjs +147 -0
  26. package/dist/development/src/acl/PredicatesInjector.cjs.map +1 -0
  27. package/dist/development/src/acl/PredicatesInjector.js +147 -0
  28. package/dist/development/src/acl/PredicatesInjector.js.map +1 -0
  29. package/dist/development/src/acl/VariableInjector.cjs +38 -0
  30. package/dist/development/src/acl/VariableInjector.cjs.map +1 -0
  31. package/dist/development/src/acl/VariableInjector.js +38 -0
  32. package/dist/development/src/acl/VariableInjector.js.map +1 -0
  33. package/dist/development/src/acl/VariableUtils.cjs +20 -0
  34. package/dist/development/src/acl/VariableUtils.cjs.map +1 -0
  35. package/dist/development/src/acl/VariableUtils.js +20 -0
  36. package/dist/development/src/acl/VariableUtils.js.map +1 -0
  37. package/dist/development/src/exception.cjs +20 -0
  38. package/dist/development/src/exception.cjs.map +1 -0
  39. package/dist/development/src/exception.js +20 -0
  40. package/dist/development/src/exception.js.map +1 -0
  41. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.cjs +28 -0
  42. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.cjs.map +1 -0
  43. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js +28 -0
  44. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js.map +1 -0
  45. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.cjs +50 -0
  46. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.cjs.map +1 -0
  47. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js +50 -0
  48. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js.map +1 -0
  49. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs +111 -0
  50. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs.map +1 -0
  51. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js +111 -0
  52. package/dist/development/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -0
  53. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.cjs +58 -0
  54. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.cjs.map +1 -0
  55. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js +58 -0
  56. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js.map +1 -0
  57. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.cjs +44 -0
  58. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.cjs.map +1 -0
  59. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js +44 -0
  60. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js.map +1 -0
  61. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.cjs +24 -0
  62. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.cjs.map +1 -0
  63. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js +24 -0
  64. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js.map +1 -0
  65. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.cjs +54 -0
  66. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.cjs.map +1 -0
  67. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js +54 -0
  68. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -0
  69. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.cjs +58 -0
  70. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.cjs.map +1 -0
  71. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js +58 -0
  72. package/dist/development/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js.map +1 -0
  73. package/dist/development/src/input-validation/ColumnValueResolver.cjs +23 -0
  74. package/dist/development/src/input-validation/ColumnValueResolver.cjs.map +1 -0
  75. package/dist/development/src/input-validation/ColumnValueResolver.js +23 -0
  76. package/dist/development/src/input-validation/ColumnValueResolver.js.map +1 -0
  77. package/dist/development/src/input-validation/EntityRulesResolver.cjs +77 -0
  78. package/dist/development/src/input-validation/EntityRulesResolver.cjs.map +1 -0
  79. package/dist/development/src/input-validation/EntityRulesResolver.js +77 -0
  80. package/dist/development/src/input-validation/EntityRulesResolver.js.map +1 -0
  81. package/dist/development/src/input-validation/QueryAstFactory.cjs +47 -0
  82. package/dist/development/src/input-validation/QueryAstFactory.cjs.map +1 -0
  83. package/dist/development/src/input-validation/QueryAstFactory.js +47 -0
  84. package/dist/development/src/input-validation/QueryAstFactory.js.map +1 -0
  85. package/dist/development/src/input-validation/ValidationContext.cjs +102 -0
  86. package/dist/development/src/input-validation/ValidationContext.cjs.map +1 -0
  87. package/dist/development/src/input-validation/ValidationContext.js +103 -0
  88. package/dist/development/src/input-validation/ValidationContext.js.map +1 -0
  89. package/dist/development/src/input-validation/ValidationDataSelector.cjs +24 -0
  90. package/dist/development/src/input-validation/ValidationDataSelector.cjs.map +1 -0
  91. package/dist/development/src/input-validation/ValidationDataSelector.js +24 -0
  92. package/dist/development/src/input-validation/ValidationDataSelector.js.map +1 -0
  93. package/dist/development/src/input-validation/ValidationEvaluation.cjs +200 -0
  94. package/dist/development/src/input-validation/ValidationEvaluation.cjs.map +1 -0
  95. package/dist/development/src/input-validation/ValidationEvaluation.js +200 -0
  96. package/dist/development/src/input-validation/ValidationEvaluation.js.map +1 -0
  97. package/dist/development/src/input-validation/ValidationPath.cjs +11 -0
  98. package/dist/development/src/input-validation/ValidationPath.cjs.map +1 -0
  99. package/dist/development/src/input-validation/ValidationPath.js +11 -0
  100. package/dist/development/src/input-validation/ValidationPath.js.map +1 -0
  101. package/dist/development/src/input-validation/dependencies/DependencyCollector.cjs +48 -0
  102. package/dist/development/src/input-validation/dependencies/DependencyCollector.cjs.map +1 -0
  103. package/dist/development/src/input-validation/dependencies/DependencyCollector.js +48 -0
  104. package/dist/development/src/input-validation/dependencies/DependencyCollector.js.map +1 -0
  105. package/dist/development/src/input-validation/dependencies/DependencyMerger.cjs +11 -0
  106. package/dist/development/src/input-validation/dependencies/DependencyMerger.cjs.map +1 -0
  107. package/dist/development/src/input-validation/dependencies/DependencyMerger.js +11 -0
  108. package/dist/development/src/input-validation/dependencies/DependencyMerger.js.map +1 -0
  109. package/dist/development/src/input-validation/exceptions.cjs +6 -0
  110. package/dist/development/src/input-validation/exceptions.cjs.map +1 -0
  111. package/dist/development/src/input-validation/exceptions.js +6 -0
  112. package/dist/development/src/input-validation/exceptions.js.map +1 -0
  113. package/dist/development/src/input-validation/preValidation/CreateInputPreValidationProcessor.cjs +59 -0
  114. package/dist/development/src/input-validation/preValidation/CreateInputPreValidationProcessor.cjs.map +1 -0
  115. package/dist/development/src/input-validation/preValidation/CreateInputPreValidationProcessor.js +59 -0
  116. package/dist/development/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -0
  117. package/dist/development/src/input-validation/preValidation/InputPreValidator.cjs +130 -0
  118. package/dist/development/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -0
  119. package/dist/development/src/input-validation/preValidation/InputPreValidator.js +130 -0
  120. package/dist/development/src/input-validation/preValidation/InputPreValidator.js.map +1 -0
  121. package/dist/development/src/input-validation/preValidation/UpdateInputPreValidationProcessor.cjs +114 -0
  122. package/dist/development/src/input-validation/preValidation/UpdateInputPreValidationProcessor.cjs.map +1 -0
  123. package/dist/development/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js +114 -0
  124. package/dist/development/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -0
  125. package/dist/development/src/inputProcessing/CreateInputVisitor.cjs +121 -0
  126. package/dist/development/src/inputProcessing/CreateInputVisitor.cjs.map +1 -0
  127. package/dist/development/src/inputProcessing/CreateInputVisitor.js +121 -0
  128. package/dist/development/src/inputProcessing/CreateInputVisitor.js.map +1 -0
  129. package/dist/development/src/inputProcessing/FieldNode.cjs +11 -0
  130. package/dist/development/src/inputProcessing/FieldNode.cjs.map +1 -0
  131. package/dist/development/src/inputProcessing/FieldNode.js +11 -0
  132. package/dist/development/src/inputProcessing/FieldNode.js.map +1 -0
  133. package/dist/development/src/inputProcessing/ObjectNode.cjs +43 -0
  134. package/dist/development/src/inputProcessing/ObjectNode.cjs.map +1 -0
  135. package/dist/development/src/inputProcessing/ObjectNode.js +43 -0
  136. package/dist/development/src/inputProcessing/ObjectNode.js.map +1 -0
  137. package/dist/development/src/inputProcessing/UniqueWhereExpander.cjs +59 -0
  138. package/dist/development/src/inputProcessing/UniqueWhereExpander.cjs.map +1 -0
  139. package/dist/development/src/inputProcessing/UniqueWhereExpander.js +59 -0
  140. package/dist/development/src/inputProcessing/UniqueWhereExpander.js.map +1 -0
  141. package/dist/development/src/inputProcessing/UpdateInputVisitor.cjs +153 -0
  142. package/dist/development/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -0
  143. package/dist/development/src/inputProcessing/UpdateInputVisitor.js +153 -0
  144. package/dist/development/src/inputProcessing/UpdateInputVisitor.js.map +1 -0
  145. package/dist/development/src/introspection/IntrospectionSchemaDefinitionFactory.cjs +19 -0
  146. package/dist/development/src/introspection/IntrospectionSchemaDefinitionFactory.cjs.map +1 -0
  147. package/dist/development/src/introspection/IntrospectionSchemaDefinitionFactory.js +19 -0
  148. package/dist/development/src/introspection/IntrospectionSchemaDefinitionFactory.js.map +1 -0
  149. package/dist/development/src/introspection/IntrospectionSchemaFactory.cjs +157 -0
  150. package/dist/development/src/introspection/IntrospectionSchemaFactory.cjs.map +1 -0
  151. package/dist/development/src/introspection/IntrospectionSchemaFactory.js +157 -0
  152. package/dist/development/src/introspection/IntrospectionSchemaFactory.js.map +1 -0
  153. package/dist/development/src/introspection/content-schema.types.cjs +22 -0
  154. package/dist/development/src/introspection/content-schema.types.cjs.map +1 -0
  155. package/dist/development/src/introspection/content-schema.types.js +22 -0
  156. package/dist/development/src/introspection/content-schema.types.js.map +1 -0
  157. package/dist/development/src/introspection/introspection.schema.cjs +163 -0
  158. package/dist/development/src/introspection/introspection.schema.cjs.map +1 -0
  159. package/dist/development/src/introspection/introspection.schema.js +163 -0
  160. package/dist/development/src/introspection/introspection.schema.js.map +1 -0
  161. package/dist/development/src/mapper/CheckedPrimary.cjs +9 -0
  162. package/dist/development/src/mapper/CheckedPrimary.cjs.map +1 -0
  163. package/dist/development/src/mapper/CheckedPrimary.js +9 -0
  164. package/dist/development/src/mapper/CheckedPrimary.js.map +1 -0
  165. package/dist/development/src/mapper/ColumnValue.cjs +15 -0
  166. package/dist/development/src/mapper/ColumnValue.cjs.map +1 -0
  167. package/dist/development/src/mapper/ColumnValue.js +15 -0
  168. package/dist/development/src/mapper/ColumnValue.js.map +1 -0
  169. package/dist/development/src/mapper/ErrorUtils.cjs +130 -0
  170. package/dist/development/src/mapper/ErrorUtils.cjs.map +1 -0
  171. package/dist/development/src/mapper/ErrorUtils.js +113 -0
  172. package/dist/development/src/mapper/ErrorUtils.js.map +1 -0
  173. package/dist/development/src/mapper/EventManager.cjs +116 -0
  174. package/dist/development/src/mapper/EventManager.cjs.map +1 -0
  175. package/dist/development/src/mapper/EventManager.js +116 -0
  176. package/dist/development/src/mapper/EventManager.js.map +1 -0
  177. package/dist/development/src/mapper/JunctionTableManager.cjs +187 -0
  178. package/dist/development/src/mapper/JunctionTableManager.cjs.map +1 -0
  179. package/dist/development/src/mapper/JunctionTableManager.js +187 -0
  180. package/dist/development/src/mapper/JunctionTableManager.js.map +1 -0
  181. package/dist/development/src/mapper/Mapper.cjs +227 -0
  182. package/dist/development/src/mapper/Mapper.cjs.map +1 -0
  183. package/dist/development/src/mapper/Mapper.js +227 -0
  184. package/dist/development/src/mapper/Mapper.js.map +1 -0
  185. package/dist/development/src/mapper/MapperFactory.cjs +58 -0
  186. package/dist/development/src/mapper/MapperFactory.cjs.map +1 -0
  187. package/dist/development/src/mapper/MapperFactory.js +58 -0
  188. package/dist/development/src/mapper/MapperFactory.js.map +1 -0
  189. package/dist/development/src/mapper/MutationProcessorHelper.cjs +28 -0
  190. package/dist/development/src/mapper/MutationProcessorHelper.cjs.map +1 -0
  191. package/dist/development/src/mapper/MutationProcessorHelper.js +28 -0
  192. package/dist/development/src/mapper/MutationProcessorHelper.js.map +1 -0
  193. package/dist/development/src/mapper/Result.cjs +242 -0
  194. package/dist/development/src/mapper/Result.cjs.map +1 -0
  195. package/dist/development/src/mapper/Result.js +242 -0
  196. package/dist/development/src/mapper/Result.js.map +1 -0
  197. package/dist/development/src/mapper/delete/DeleteExecutor.cjs +210 -0
  198. package/dist/development/src/mapper/delete/DeleteExecutor.cjs.map +1 -0
  199. package/dist/development/src/mapper/delete/DeleteExecutor.js +210 -0
  200. package/dist/development/src/mapper/delete/DeleteExecutor.js.map +1 -0
  201. package/dist/development/src/mapper/delete/DeleteState.cjs +70 -0
  202. package/dist/development/src/mapper/delete/DeleteState.cjs.map +1 -0
  203. package/dist/development/src/mapper/delete/DeleteState.js +70 -0
  204. package/dist/development/src/mapper/delete/DeleteState.js.map +1 -0
  205. package/dist/development/src/mapper/delete/DeletedEntitiesStorage.cjs +26 -0
  206. package/dist/development/src/mapper/delete/DeletedEntitiesStorage.cjs.map +1 -0
  207. package/dist/development/src/mapper/delete/DeletedEntitiesStorage.js +26 -0
  208. package/dist/development/src/mapper/delete/DeletedEntitiesStorage.js.map +1 -0
  209. package/dist/development/src/mapper/delete/helpers.cjs +49 -0
  210. package/dist/development/src/mapper/delete/helpers.cjs.map +1 -0
  211. package/dist/development/src/mapper/delete/helpers.js +49 -0
  212. package/dist/development/src/mapper/delete/helpers.js.map +1 -0
  213. package/dist/development/src/mapper/insert/InsertBuilder.cjs +68 -0
  214. package/dist/development/src/mapper/insert/InsertBuilder.cjs.map +1 -0
  215. package/dist/development/src/mapper/insert/InsertBuilder.js +68 -0
  216. package/dist/development/src/mapper/insert/InsertBuilder.js.map +1 -0
  217. package/dist/development/src/mapper/insert/InsertBuilderFactory.cjs +16 -0
  218. package/dist/development/src/mapper/insert/InsertBuilderFactory.cjs.map +1 -0
  219. package/dist/development/src/mapper/insert/InsertBuilderFactory.js +16 -0
  220. package/dist/development/src/mapper/insert/InsertBuilderFactory.js.map +1 -0
  221. package/dist/development/src/mapper/insert/Inserter.cjs +73 -0
  222. package/dist/development/src/mapper/insert/Inserter.cjs.map +1 -0
  223. package/dist/development/src/mapper/insert/Inserter.js +73 -0
  224. package/dist/development/src/mapper/insert/Inserter.js.map +1 -0
  225. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.cjs +77 -0
  226. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -0
  227. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.js +77 -0
  228. package/dist/development/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -0
  229. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs +43 -0
  230. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -0
  231. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js +43 -0
  232. package/dist/development/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -0
  233. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs +40 -0
  234. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -0
  235. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js +40 -0
  236. package/dist/development/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -0
  237. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs +38 -0
  238. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -0
  239. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js +38 -0
  240. package/dist/development/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -0
  241. package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs +63 -0
  242. package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -0
  243. package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js +63 -0
  244. package/dist/development/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -0
  245. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs +65 -0
  246. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -0
  247. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js +65 -0
  248. package/dist/development/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -0
  249. package/dist/development/src/mapper/select/ConditionBuilder.cjs +59 -0
  250. package/dist/development/src/mapper/select/ConditionBuilder.cjs.map +1 -0
  251. package/dist/development/src/mapper/select/ConditionBuilder.js +59 -0
  252. package/dist/development/src/mapper/select/ConditionBuilder.js.map +1 -0
  253. package/dist/development/src/mapper/select/JoinBuilder.cjs +31 -0
  254. package/dist/development/src/mapper/select/JoinBuilder.cjs.map +1 -0
  255. package/dist/development/src/mapper/select/JoinBuilder.js +31 -0
  256. package/dist/development/src/mapper/select/JoinBuilder.js.map +1 -0
  257. package/dist/development/src/mapper/select/JoinVisitor.cjs +90 -0
  258. package/dist/development/src/mapper/select/JoinVisitor.cjs.map +1 -0
  259. package/dist/development/src/mapper/select/JoinVisitor.js +90 -0
  260. package/dist/development/src/mapper/select/JoinVisitor.js.map +1 -0
  261. package/dist/development/src/mapper/select/OrderByBuilder.cjs +64 -0
  262. package/dist/development/src/mapper/select/OrderByBuilder.cjs.map +1 -0
  263. package/dist/development/src/mapper/select/OrderByBuilder.js +64 -0
  264. package/dist/development/src/mapper/select/OrderByBuilder.js.map +1 -0
  265. package/dist/development/src/mapper/select/OrderByHelper.cjs +37 -0
  266. package/dist/development/src/mapper/select/OrderByHelper.cjs.map +1 -0
  267. package/dist/development/src/mapper/select/OrderByHelper.js +37 -0
  268. package/dist/development/src/mapper/select/OrderByHelper.js.map +1 -0
  269. package/dist/development/src/mapper/select/Path.cjs +60 -0
  270. package/dist/development/src/mapper/select/Path.cjs.map +1 -0
  271. package/dist/development/src/mapper/select/Path.js +60 -0
  272. package/dist/development/src/mapper/select/Path.js.map +1 -0
  273. package/dist/development/src/mapper/select/RelationFetcher.cjs +188 -0
  274. package/dist/development/src/mapper/select/RelationFetcher.cjs.map +1 -0
  275. package/dist/development/src/mapper/select/RelationFetcher.js +188 -0
  276. package/dist/development/src/mapper/select/RelationFetcher.js.map +1 -0
  277. package/dist/development/src/mapper/select/SelectBuilder.cjs +178 -0
  278. package/dist/development/src/mapper/select/SelectBuilder.cjs.map +1 -0
  279. package/dist/development/src/mapper/select/SelectBuilder.js +178 -0
  280. package/dist/development/src/mapper/select/SelectBuilder.js.map +1 -0
  281. package/dist/development/src/mapper/select/SelectHydrator.cjs +90 -0
  282. package/dist/development/src/mapper/select/SelectHydrator.cjs.map +1 -0
  283. package/dist/development/src/mapper/select/SelectHydrator.js +90 -0
  284. package/dist/development/src/mapper/select/SelectHydrator.js.map +1 -0
  285. package/dist/development/src/mapper/select/WhereBuilder.cjs +297 -0
  286. package/dist/development/src/mapper/select/WhereBuilder.cjs.map +1 -0
  287. package/dist/development/src/mapper/select/WhereBuilder.js +297 -0
  288. package/dist/development/src/mapper/select/WhereBuilder.js.map +1 -0
  289. package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs +203 -0
  290. package/dist/development/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -0
  291. package/dist/development/src/mapper/select/handlers/FieldsVisitor.js +203 -0
  292. package/dist/development/src/mapper/select/handlers/FieldsVisitor.js.map +1 -0
  293. package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.cjs +26 -0
  294. package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.cjs.map +1 -0
  295. package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.js +26 -0
  296. package/dist/development/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -0
  297. package/dist/development/src/mapper/select/handlers/MetaHandler.cjs +39 -0
  298. package/dist/development/src/mapper/select/handlers/MetaHandler.cjs.map +1 -0
  299. package/dist/development/src/mapper/select/handlers/MetaHandler.js +39 -0
  300. package/dist/development/src/mapper/select/handlers/MetaHandler.js.map +1 -0
  301. package/dist/development/src/mapper/select/optimizer/ConditionOptimizer.cjs +33 -0
  302. package/dist/development/src/mapper/select/optimizer/ConditionOptimizer.cjs.map +1 -0
  303. package/dist/development/src/mapper/select/optimizer/ConditionOptimizer.js +33 -0
  304. package/dist/development/src/mapper/select/optimizer/ConditionOptimizer.js.map +1 -0
  305. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.cjs +171 -0
  306. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.cjs.map +1 -0
  307. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.js +171 -0
  308. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -0
  309. package/dist/development/src/mapper/select/optimizer/WhereReplacer.cjs +63 -0
  310. package/dist/development/src/mapper/select/optimizer/WhereReplacer.cjs.map +1 -0
  311. package/dist/development/src/mapper/select/optimizer/WhereReplacer.js +63 -0
  312. package/dist/development/src/mapper/select/optimizer/WhereReplacer.js.map +1 -0
  313. package/dist/development/src/mapper/select/optimizer/helpers.cjs +59 -0
  314. package/dist/development/src/mapper/select/optimizer/helpers.cjs.map +1 -0
  315. package/dist/development/src/mapper/select/optimizer/helpers.js +59 -0
  316. package/dist/development/src/mapper/select/optimizer/helpers.js.map +1 -0
  317. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.cjs +91 -0
  318. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -0
  319. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.js +91 -0
  320. package/dist/development/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -0
  321. package/dist/development/src/mapper/update/UpdateBuilder.cjs +113 -0
  322. package/dist/development/src/mapper/update/UpdateBuilder.cjs.map +1 -0
  323. package/dist/development/src/mapper/update/UpdateBuilder.js +113 -0
  324. package/dist/development/src/mapper/update/UpdateBuilder.js.map +1 -0
  325. package/dist/development/src/mapper/update/UpdateBuilderFactory.cjs +23 -0
  326. package/dist/development/src/mapper/update/UpdateBuilderFactory.cjs.map +1 -0
  327. package/dist/development/src/mapper/update/UpdateBuilderFactory.js +23 -0
  328. package/dist/development/src/mapper/update/UpdateBuilderFactory.js.map +1 -0
  329. package/dist/development/src/mapper/update/Updater.cjs +96 -0
  330. package/dist/development/src/mapper/update/Updater.cjs.map +1 -0
  331. package/dist/development/src/mapper/update/Updater.js +96 -0
  332. package/dist/development/src/mapper/update/Updater.js.map +1 -0
  333. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs +84 -0
  334. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -0
  335. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js +84 -0
  336. package/dist/development/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -0
  337. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs +88 -0
  338. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -0
  339. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js +88 -0
  340. package/dist/development/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -0
  341. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs +87 -0
  342. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -0
  343. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js +87 -0
  344. package/dist/development/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -0
  345. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs +147 -0
  346. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -0
  347. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js +147 -0
  348. package/dist/development/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -0
  349. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs +183 -0
  350. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -0
  351. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js +183 -0
  352. package/dist/development/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -0
  353. package/dist/development/src/resolvers/GraphQlQueryAstFactory.cjs +115 -0
  354. package/dist/development/src/resolvers/GraphQlQueryAstFactory.cjs.map +1 -0
  355. package/dist/development/src/resolvers/GraphQlQueryAstFactory.js +115 -0
  356. package/dist/development/src/resolvers/GraphQlQueryAstFactory.js.map +1 -0
  357. package/dist/development/src/resolvers/MutationResolver.cjs +508 -0
  358. package/dist/development/src/resolvers/MutationResolver.cjs.map +1 -0
  359. package/dist/development/src/resolvers/MutationResolver.js +508 -0
  360. package/dist/development/src/resolvers/MutationResolver.js.map +1 -0
  361. package/dist/development/src/resolvers/ReadHelpers.cjs +50 -0
  362. package/dist/development/src/resolvers/ReadHelpers.cjs.map +1 -0
  363. package/dist/development/src/resolvers/ReadHelpers.js +50 -0
  364. package/dist/development/src/resolvers/ReadHelpers.js.map +1 -0
  365. package/dist/development/src/resolvers/ReadResolver.cjs +38 -0
  366. package/dist/development/src/resolvers/ReadResolver.cjs.map +1 -0
  367. package/dist/development/src/resolvers/ReadResolver.js +38 -0
  368. package/dist/development/src/resolvers/ReadResolver.js.map +1 -0
  369. package/dist/development/src/resolvers/RefreshViewResolver.cjs +21 -0
  370. package/dist/development/src/resolvers/RefreshViewResolver.cjs.map +1 -0
  371. package/dist/development/src/resolvers/RefreshViewResolver.js +21 -0
  372. package/dist/development/src/resolvers/RefreshViewResolver.js.map +1 -0
  373. package/dist/development/src/resolvers/ValidationResolver.cjs +63 -0
  374. package/dist/development/src/resolvers/ValidationResolver.cjs.map +1 -0
  375. package/dist/development/src/resolvers/ValidationResolver.js +63 -0
  376. package/dist/development/src/resolvers/ValidationResolver.js.map +1 -0
  377. package/dist/development/src/schema/ColumnTypeResolver.cjs +92 -0
  378. package/dist/development/src/schema/ColumnTypeResolver.cjs.map +1 -0
  379. package/dist/development/src/schema/ColumnTypeResolver.js +92 -0
  380. package/dist/development/src/schema/ColumnTypeResolver.js.map +1 -0
  381. package/dist/development/src/schema/ConditionTypeProvider.cjs +72 -0
  382. package/dist/development/src/schema/ConditionTypeProvider.cjs.map +1 -0
  383. package/dist/development/src/schema/ConditionTypeProvider.js +72 -0
  384. package/dist/development/src/schema/ConditionTypeProvider.js.map +1 -0
  385. package/dist/development/src/schema/CustomTypesProvider.cjs +61 -0
  386. package/dist/development/src/schema/CustomTypesProvider.cjs.map +1 -0
  387. package/dist/development/src/schema/CustomTypesProvider.js +61 -0
  388. package/dist/development/src/schema/CustomTypesProvider.js.map +1 -0
  389. package/dist/development/src/schema/EntityTypeProvider.cjs +130 -0
  390. package/dist/development/src/schema/EntityTypeProvider.cjs.map +1 -0
  391. package/dist/development/src/schema/EntityTypeProvider.js +130 -0
  392. package/dist/development/src/schema/EntityTypeProvider.js.map +1 -0
  393. package/dist/development/src/schema/EnumsProvider.cjs +34 -0
  394. package/dist/development/src/schema/EnumsProvider.cjs.map +1 -0
  395. package/dist/development/src/schema/EnumsProvider.js +34 -0
  396. package/dist/development/src/schema/EnumsProvider.js.map +1 -0
  397. package/dist/development/src/schema/FieldAccessVisitor.cjs +16 -0
  398. package/dist/development/src/schema/FieldAccessVisitor.cjs.map +1 -0
  399. package/dist/development/src/schema/FieldAccessVisitor.js +16 -0
  400. package/dist/development/src/schema/FieldAccessVisitor.js.map +1 -0
  401. package/dist/development/src/schema/GraphQlSchemaBuilder.cjs +122 -0
  402. package/dist/development/src/schema/GraphQlSchemaBuilder.cjs.map +1 -0
  403. package/dist/development/src/schema/GraphQlSchemaBuilder.js +122 -0
  404. package/dist/development/src/schema/GraphQlSchemaBuilder.js.map +1 -0
  405. package/dist/development/src/schema/GraphQlSchemaBuilderFactory.cjs +153 -0
  406. package/dist/development/src/schema/GraphQlSchemaBuilderFactory.cjs.map +1 -0
  407. package/dist/development/src/schema/GraphQlSchemaBuilderFactory.js +153 -0
  408. package/dist/development/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -0
  409. package/dist/development/src/schema/MutationProvider.cjs +189 -0
  410. package/dist/development/src/schema/MutationProvider.cjs.map +1 -0
  411. package/dist/development/src/schema/MutationProvider.js +189 -0
  412. package/dist/development/src/schema/MutationProvider.js.map +1 -0
  413. package/dist/development/src/schema/OperationExtension.cjs +35 -0
  414. package/dist/development/src/schema/OperationExtension.cjs.map +1 -0
  415. package/dist/development/src/schema/OperationExtension.js +35 -0
  416. package/dist/development/src/schema/OperationExtension.js.map +1 -0
  417. package/dist/development/src/schema/OrderByTypeProvider.cjs +68 -0
  418. package/dist/development/src/schema/OrderByTypeProvider.cjs.map +1 -0
  419. package/dist/development/src/schema/OrderByTypeProvider.js +68 -0
  420. package/dist/development/src/schema/OrderByTypeProvider.js.map +1 -0
  421. package/dist/development/src/schema/PaginatedFieldConfigFactory.cjs +26 -0
  422. package/dist/development/src/schema/PaginatedFieldConfigFactory.cjs.map +1 -0
  423. package/dist/development/src/schema/PaginatedFieldConfigFactory.js +26 -0
  424. package/dist/development/src/schema/PaginatedFieldConfigFactory.js.map +1 -0
  425. package/dist/development/src/schema/QueryProvider.cjs +102 -0
  426. package/dist/development/src/schema/QueryProvider.cjs.map +1 -0
  427. package/dist/development/src/schema/QueryProvider.js +102 -0
  428. package/dist/development/src/schema/QueryProvider.js.map +1 -0
  429. package/dist/development/src/schema/RefreshViewMutationProvider.cjs +42 -0
  430. package/dist/development/src/schema/RefreshViewMutationProvider.cjs.map +1 -0
  431. package/dist/development/src/schema/RefreshViewMutationProvider.js +42 -0
  432. package/dist/development/src/schema/RefreshViewMutationProvider.js.map +1 -0
  433. package/dist/development/src/schema/ResultSchemaTypeProvider.cjs +90 -0
  434. package/dist/development/src/schema/ResultSchemaTypeProvider.cjs.map +1 -0
  435. package/dist/development/src/schema/ResultSchemaTypeProvider.js +90 -0
  436. package/dist/development/src/schema/ResultSchemaTypeProvider.js.map +1 -0
  437. package/dist/development/src/schema/ValidationQueriesProvider.cjs +57 -0
  438. package/dist/development/src/schema/ValidationQueriesProvider.cjs.map +1 -0
  439. package/dist/development/src/schema/ValidationQueriesProvider.js +57 -0
  440. package/dist/development/src/schema/ValidationQueriesProvider.js.map +1 -0
  441. package/dist/development/src/schema/WhereTypeProvider.cjs +103 -0
  442. package/dist/development/src/schema/WhereTypeProvider.cjs.map +1 -0
  443. package/dist/development/src/schema/WhereTypeProvider.js +103 -0
  444. package/dist/development/src/schema/WhereTypeProvider.js.map +1 -0
  445. package/dist/development/src/schema/entities/FieldArgsVisitor.cjs +37 -0
  446. package/dist/development/src/schema/entities/FieldArgsVisitor.cjs.map +1 -0
  447. package/dist/development/src/schema/entities/FieldArgsVisitor.js +37 -0
  448. package/dist/development/src/schema/entities/FieldArgsVisitor.js.map +1 -0
  449. package/dist/development/src/schema/entities/FieldTypeVisitor.cjs +33 -0
  450. package/dist/development/src/schema/entities/FieldTypeVisitor.cjs.map +1 -0
  451. package/dist/development/src/schema/entities/FieldTypeVisitor.js +33 -0
  452. package/dist/development/src/schema/entities/FieldTypeVisitor.js.map +1 -0
  453. package/dist/development/src/schema/mutations/ConnectOrCreateRelationInputProvider.cjs +45 -0
  454. package/dist/development/src/schema/mutations/ConnectOrCreateRelationInputProvider.cjs.map +1 -0
  455. package/dist/development/src/schema/mutations/ConnectOrCreateRelationInputProvider.js +45 -0
  456. package/dist/development/src/schema/mutations/ConnectOrCreateRelationInputProvider.js.map +1 -0
  457. package/dist/development/src/schema/mutations/CreateEntityInputFieldVisitor.cjs +40 -0
  458. package/dist/development/src/schema/mutations/CreateEntityInputFieldVisitor.cjs.map +1 -0
  459. package/dist/development/src/schema/mutations/CreateEntityInputFieldVisitor.js +40 -0
  460. package/dist/development/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -0
  461. package/dist/development/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.cjs +56 -0
  462. package/dist/development/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.cjs.map +1 -0
  463. package/dist/development/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js +56 -0
  464. package/dist/development/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js.map +1 -0
  465. package/dist/development/src/schema/mutations/CreateEntityRelationInputFieldVisitor.cjs +67 -0
  466. package/dist/development/src/schema/mutations/CreateEntityRelationInputFieldVisitor.cjs.map +1 -0
  467. package/dist/development/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js +67 -0
  468. package/dist/development/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -0
  469. package/dist/development/src/schema/mutations/CreateEntityRelationInputProvider.cjs +22 -0
  470. package/dist/development/src/schema/mutations/CreateEntityRelationInputProvider.cjs.map +1 -0
  471. package/dist/development/src/schema/mutations/CreateEntityRelationInputProvider.js +22 -0
  472. package/dist/development/src/schema/mutations/CreateEntityRelationInputProvider.js.map +1 -0
  473. package/dist/development/src/schema/mutations/EntityInputProvider.cjs +67 -0
  474. package/dist/development/src/schema/mutations/EntityInputProvider.cjs.map +1 -0
  475. package/dist/development/src/schema/mutations/EntityInputProvider.js +67 -0
  476. package/dist/development/src/schema/mutations/EntityInputProvider.js.map +1 -0
  477. package/dist/development/src/schema/mutations/UpdateEntityInputFieldVisitor.cjs +39 -0
  478. package/dist/development/src/schema/mutations/UpdateEntityInputFieldVisitor.cjs.map +1 -0
  479. package/dist/development/src/schema/mutations/UpdateEntityInputFieldVisitor.js +39 -0
  480. package/dist/development/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -0
  481. package/dist/development/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.cjs +79 -0
  482. package/dist/development/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.cjs.map +1 -0
  483. package/dist/development/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js +79 -0
  484. package/dist/development/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js.map +1 -0
  485. package/dist/development/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.cjs +133 -0
  486. package/dist/development/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.cjs.map +1 -0
  487. package/dist/development/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js +133 -0
  488. package/dist/development/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -0
  489. package/dist/development/src/schema/mutations/UpdateEntityRelationInputProvider.cjs +22 -0
  490. package/dist/development/src/schema/mutations/UpdateEntityRelationInputProvider.cjs.map +1 -0
  491. package/dist/development/src/schema/mutations/UpdateEntityRelationInputProvider.js +22 -0
  492. package/dist/development/src/schema/mutations/UpdateEntityRelationInputProvider.js.map +1 -0
  493. package/dist/development/src/schema/utils.cjs +18 -0
  494. package/dist/development/src/schema/utils.cjs.map +1 -0
  495. package/dist/development/src/schema/utils.js +18 -0
  496. package/dist/development/src/schema/utils.js.map +1 -0
  497. package/dist/development/src/utils/Mutex.cjs +36 -0
  498. package/dist/development/src/utils/Mutex.cjs.map +1 -0
  499. package/dist/development/src/utils/Mutex.js +36 -0
  500. package/dist/development/src/utils/Mutex.js.map +1 -0
  501. package/dist/development/src/utils/ResolveInfoUtils.cjs +30 -0
  502. package/dist/development/src/utils/ResolveInfoUtils.cjs.map +1 -0
  503. package/dist/development/src/utils/ResolveInfoUtils.js +30 -0
  504. package/dist/development/src/utils/ResolveInfoUtils.js.map +1 -0
  505. package/dist/development/src/utils/accessor.cjs +22 -0
  506. package/dist/development/src/utils/accessor.cjs.map +1 -0
  507. package/dist/development/src/utils/accessor.js +22 -0
  508. package/dist/development/src/utils/accessor.js.map +1 -0
  509. package/dist/development/src/utils/assertNever.cjs +7 -0
  510. package/dist/development/src/utils/assertNever.cjs.map +1 -0
  511. package/dist/development/src/utils/assertNever.js +7 -0
  512. package/dist/development/src/utils/assertNever.js.map +1 -0
  513. package/dist/development/src/utils/isIt.cjs +10 -0
  514. package/dist/development/src/utils/isIt.cjs.map +1 -0
  515. package/dist/development/src/utils/isIt.js +10 -0
  516. package/dist/development/src/utils/isIt.js.map +1 -0
  517. package/dist/development/src/utils/object.cjs +15 -0
  518. package/dist/development/src/utils/object.cjs.map +1 -0
  519. package/dist/development/src/utils/object.js +15 -0
  520. package/dist/development/src/utils/object.js.map +1 -0
  521. package/dist/development/src/utils/paginationUtils.cjs +50 -0
  522. package/dist/development/src/utils/paginationUtils.cjs.map +1 -0
  523. package/dist/development/src/utils/paginationUtils.js +50 -0
  524. package/dist/development/src/utils/paginationUtils.js.map +1 -0
  525. package/dist/development/src/utils/promises.cjs +11 -0
  526. package/dist/development/src/utils/promises.cjs.map +1 -0
  527. package/dist/development/src/utils/promises.js +11 -0
  528. package/dist/development/src/utils/promises.js.map +1 -0
  529. package/dist/development/src/utils/singletonFactory.cjs +26 -0
  530. package/dist/development/src/utils/singletonFactory.cjs.map +1 -0
  531. package/dist/development/src/utils/singletonFactory.js +26 -0
  532. package/dist/development/src/utils/singletonFactory.js.map +1 -0
  533. package/dist/development/src/utils/strings.cjs +7 -0
  534. package/dist/development/src/utils/strings.cjs.map +1 -0
  535. package/dist/development/src/utils/strings.js +7 -0
  536. package/dist/development/src/utils/strings.js.map +1 -0
  537. package/dist/development/src/utils/tuple.cjs +5 -0
  538. package/dist/development/src/utils/tuple.cjs.map +1 -0
  539. package/dist/development/src/utils/tuple.js +5 -0
  540. package/dist/development/src/utils/tuple.js.map +1 -0
  541. package/dist/development/src/utils/uniqueWhereFields.cjs +19 -0
  542. package/dist/development/src/utils/uniqueWhereFields.cjs.map +1 -0
  543. package/dist/development/src/utils/uniqueWhereFields.js +19 -0
  544. package/dist/development/src/utils/uniqueWhereFields.js.map +1 -0
  545. package/dist/development/src/utils/viewComputedId.cjs +16 -0
  546. package/dist/development/src/utils/viewComputedId.cjs.map +1 -0
  547. package/dist/development/src/utils/viewComputedId.js +16 -0
  548. package/dist/development/src/utils/viewComputedId.js.map +1 -0
  549. package/dist/production/index.cjs +141 -0
  550. package/dist/production/index.cjs.map +1 -0
  551. package/dist/production/index.js +138 -0
  552. package/dist/production/index.js.map +1 -0
  553. package/dist/production/src/ExecutionContainer.cjs +166 -0
  554. package/dist/production/src/ExecutionContainer.cjs.map +1 -0
  555. package/dist/production/src/ExecutionContainer.js +166 -0
  556. package/dist/production/src/ExecutionContainer.js.map +1 -0
  557. package/dist/production/src/acl/Authorizator.cjs +54 -0
  558. package/dist/production/src/acl/Authorizator.cjs.map +1 -0
  559. package/dist/production/src/acl/Authorizator.js +54 -0
  560. package/dist/production/src/acl/Authorizator.js.map +1 -0
  561. package/dist/production/src/acl/EvaluatedPredicateReplacer.cjs +27 -0
  562. package/dist/production/src/acl/EvaluatedPredicateReplacer.cjs.map +1 -0
  563. package/dist/production/src/acl/EvaluatedPredicateReplacer.js +27 -0
  564. package/dist/production/src/acl/EvaluatedPredicateReplacer.js.map +1 -0
  565. package/dist/production/src/acl/PermissionFactory.cjs +243 -0
  566. package/dist/production/src/acl/PermissionFactory.cjs.map +1 -0
  567. package/dist/production/src/acl/PermissionFactory.js +243 -0
  568. package/dist/production/src/acl/PermissionFactory.js.map +1 -0
  569. package/dist/production/src/acl/PredicateFactory.cjs +109 -0
  570. package/dist/production/src/acl/PredicateFactory.cjs.map +1 -0
  571. package/dist/production/src/acl/PredicateFactory.js +109 -0
  572. package/dist/production/src/acl/PredicateFactory.js.map +1 -0
  573. package/dist/production/src/acl/PredicatesInjector.cjs +147 -0
  574. package/dist/production/src/acl/PredicatesInjector.cjs.map +1 -0
  575. package/dist/production/src/acl/PredicatesInjector.js +147 -0
  576. package/dist/production/src/acl/PredicatesInjector.js.map +1 -0
  577. package/dist/production/src/acl/VariableInjector.cjs +38 -0
  578. package/dist/production/src/acl/VariableInjector.cjs.map +1 -0
  579. package/dist/production/src/acl/VariableInjector.js +38 -0
  580. package/dist/production/src/acl/VariableInjector.js.map +1 -0
  581. package/dist/production/src/acl/VariableUtils.cjs +20 -0
  582. package/dist/production/src/acl/VariableUtils.cjs.map +1 -0
  583. package/dist/production/src/acl/VariableUtils.js +20 -0
  584. package/dist/production/src/acl/VariableUtils.js.map +1 -0
  585. package/dist/production/src/exception.cjs +20 -0
  586. package/dist/production/src/exception.cjs.map +1 -0
  587. package/dist/production/src/exception.js +20 -0
  588. package/dist/production/src/exception.js.map +1 -0
  589. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.cjs +28 -0
  590. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.cjs.map +1 -0
  591. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js +28 -0
  592. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js.map +1 -0
  593. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.cjs +50 -0
  594. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.cjs.map +1 -0
  595. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js +50 -0
  596. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.js.map +1 -0
  597. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs +111 -0
  598. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.cjs.map +1 -0
  599. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js +111 -0
  600. package/dist/production/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -0
  601. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.cjs +58 -0
  602. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.cjs.map +1 -0
  603. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js +58 -0
  604. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.js.map +1 -0
  605. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.cjs +44 -0
  606. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.cjs.map +1 -0
  607. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js +44 -0
  608. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.js.map +1 -0
  609. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.cjs +24 -0
  610. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.cjs.map +1 -0
  611. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js +24 -0
  612. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js.map +1 -0
  613. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.cjs +54 -0
  614. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.cjs.map +1 -0
  615. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js +54 -0
  616. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -0
  617. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.cjs +58 -0
  618. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.cjs.map +1 -0
  619. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js +58 -0
  620. package/dist/production/src/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.js.map +1 -0
  621. package/dist/production/src/input-validation/ColumnValueResolver.cjs +23 -0
  622. package/dist/production/src/input-validation/ColumnValueResolver.cjs.map +1 -0
  623. package/dist/production/src/input-validation/ColumnValueResolver.js +23 -0
  624. package/dist/production/src/input-validation/ColumnValueResolver.js.map +1 -0
  625. package/dist/production/src/input-validation/EntityRulesResolver.cjs +77 -0
  626. package/dist/production/src/input-validation/EntityRulesResolver.cjs.map +1 -0
  627. package/dist/production/src/input-validation/EntityRulesResolver.js +77 -0
  628. package/dist/production/src/input-validation/EntityRulesResolver.js.map +1 -0
  629. package/dist/production/src/input-validation/QueryAstFactory.cjs +47 -0
  630. package/dist/production/src/input-validation/QueryAstFactory.cjs.map +1 -0
  631. package/dist/production/src/input-validation/QueryAstFactory.js +47 -0
  632. package/dist/production/src/input-validation/QueryAstFactory.js.map +1 -0
  633. package/dist/production/src/input-validation/ValidationContext.cjs +102 -0
  634. package/dist/production/src/input-validation/ValidationContext.cjs.map +1 -0
  635. package/dist/production/src/input-validation/ValidationContext.js +103 -0
  636. package/dist/production/src/input-validation/ValidationContext.js.map +1 -0
  637. package/dist/production/src/input-validation/ValidationDataSelector.cjs +24 -0
  638. package/dist/production/src/input-validation/ValidationDataSelector.cjs.map +1 -0
  639. package/dist/production/src/input-validation/ValidationDataSelector.js +24 -0
  640. package/dist/production/src/input-validation/ValidationDataSelector.js.map +1 -0
  641. package/dist/production/src/input-validation/ValidationEvaluation.cjs +200 -0
  642. package/dist/production/src/input-validation/ValidationEvaluation.cjs.map +1 -0
  643. package/dist/production/src/input-validation/ValidationEvaluation.js +200 -0
  644. package/dist/production/src/input-validation/ValidationEvaluation.js.map +1 -0
  645. package/dist/production/src/input-validation/ValidationPath.cjs +11 -0
  646. package/dist/production/src/input-validation/ValidationPath.cjs.map +1 -0
  647. package/dist/production/src/input-validation/ValidationPath.js +11 -0
  648. package/dist/production/src/input-validation/ValidationPath.js.map +1 -0
  649. package/dist/production/src/input-validation/dependencies/DependencyCollector.cjs +48 -0
  650. package/dist/production/src/input-validation/dependencies/DependencyCollector.cjs.map +1 -0
  651. package/dist/production/src/input-validation/dependencies/DependencyCollector.js +48 -0
  652. package/dist/production/src/input-validation/dependencies/DependencyCollector.js.map +1 -0
  653. package/dist/production/src/input-validation/dependencies/DependencyMerger.cjs +11 -0
  654. package/dist/production/src/input-validation/dependencies/DependencyMerger.cjs.map +1 -0
  655. package/dist/production/src/input-validation/dependencies/DependencyMerger.js +11 -0
  656. package/dist/production/src/input-validation/dependencies/DependencyMerger.js.map +1 -0
  657. package/dist/production/src/input-validation/exceptions.cjs +6 -0
  658. package/dist/production/src/input-validation/exceptions.cjs.map +1 -0
  659. package/dist/production/src/input-validation/exceptions.js +6 -0
  660. package/dist/production/src/input-validation/exceptions.js.map +1 -0
  661. package/dist/production/src/input-validation/preValidation/CreateInputPreValidationProcessor.cjs +59 -0
  662. package/dist/production/src/input-validation/preValidation/CreateInputPreValidationProcessor.cjs.map +1 -0
  663. package/dist/production/src/input-validation/preValidation/CreateInputPreValidationProcessor.js +59 -0
  664. package/dist/production/src/input-validation/preValidation/CreateInputPreValidationProcessor.js.map +1 -0
  665. package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs +130 -0
  666. package/dist/production/src/input-validation/preValidation/InputPreValidator.cjs.map +1 -0
  667. package/dist/production/src/input-validation/preValidation/InputPreValidator.js +130 -0
  668. package/dist/production/src/input-validation/preValidation/InputPreValidator.js.map +1 -0
  669. package/dist/production/src/input-validation/preValidation/UpdateInputPreValidationProcessor.cjs +114 -0
  670. package/dist/production/src/input-validation/preValidation/UpdateInputPreValidationProcessor.cjs.map +1 -0
  671. package/dist/production/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js +114 -0
  672. package/dist/production/src/input-validation/preValidation/UpdateInputPreValidationProcessor.js.map +1 -0
  673. package/dist/production/src/inputProcessing/CreateInputVisitor.cjs +121 -0
  674. package/dist/production/src/inputProcessing/CreateInputVisitor.cjs.map +1 -0
  675. package/dist/production/src/inputProcessing/CreateInputVisitor.js +121 -0
  676. package/dist/production/src/inputProcessing/CreateInputVisitor.js.map +1 -0
  677. package/dist/production/src/inputProcessing/FieldNode.cjs +11 -0
  678. package/dist/production/src/inputProcessing/FieldNode.cjs.map +1 -0
  679. package/dist/production/src/inputProcessing/FieldNode.js +11 -0
  680. package/dist/production/src/inputProcessing/FieldNode.js.map +1 -0
  681. package/dist/production/src/inputProcessing/ObjectNode.cjs +43 -0
  682. package/dist/production/src/inputProcessing/ObjectNode.cjs.map +1 -0
  683. package/dist/production/src/inputProcessing/ObjectNode.js +43 -0
  684. package/dist/production/src/inputProcessing/ObjectNode.js.map +1 -0
  685. package/dist/production/src/inputProcessing/UniqueWhereExpander.cjs +59 -0
  686. package/dist/production/src/inputProcessing/UniqueWhereExpander.cjs.map +1 -0
  687. package/dist/production/src/inputProcessing/UniqueWhereExpander.js +59 -0
  688. package/dist/production/src/inputProcessing/UniqueWhereExpander.js.map +1 -0
  689. package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs +153 -0
  690. package/dist/production/src/inputProcessing/UpdateInputVisitor.cjs.map +1 -0
  691. package/dist/production/src/inputProcessing/UpdateInputVisitor.js +153 -0
  692. package/dist/production/src/inputProcessing/UpdateInputVisitor.js.map +1 -0
  693. package/dist/production/src/introspection/IntrospectionSchemaDefinitionFactory.cjs +19 -0
  694. package/dist/production/src/introspection/IntrospectionSchemaDefinitionFactory.cjs.map +1 -0
  695. package/dist/production/src/introspection/IntrospectionSchemaDefinitionFactory.js +19 -0
  696. package/dist/production/src/introspection/IntrospectionSchemaDefinitionFactory.js.map +1 -0
  697. package/dist/production/src/introspection/IntrospectionSchemaFactory.cjs +157 -0
  698. package/dist/production/src/introspection/IntrospectionSchemaFactory.cjs.map +1 -0
  699. package/dist/production/src/introspection/IntrospectionSchemaFactory.js +157 -0
  700. package/dist/production/src/introspection/IntrospectionSchemaFactory.js.map +1 -0
  701. package/dist/production/src/introspection/content-schema.types.cjs +22 -0
  702. package/dist/production/src/introspection/content-schema.types.cjs.map +1 -0
  703. package/dist/production/src/introspection/content-schema.types.js +22 -0
  704. package/dist/production/src/introspection/content-schema.types.js.map +1 -0
  705. package/dist/production/src/introspection/introspection.schema.cjs +163 -0
  706. package/dist/production/src/introspection/introspection.schema.cjs.map +1 -0
  707. package/dist/production/src/introspection/introspection.schema.js +163 -0
  708. package/dist/production/src/introspection/introspection.schema.js.map +1 -0
  709. package/dist/production/src/mapper/CheckedPrimary.cjs +9 -0
  710. package/dist/production/src/mapper/CheckedPrimary.cjs.map +1 -0
  711. package/dist/production/src/mapper/CheckedPrimary.js +9 -0
  712. package/dist/production/src/mapper/CheckedPrimary.js.map +1 -0
  713. package/dist/production/src/mapper/ColumnValue.cjs +15 -0
  714. package/dist/production/src/mapper/ColumnValue.cjs.map +1 -0
  715. package/dist/production/src/mapper/ColumnValue.js +15 -0
  716. package/dist/production/src/mapper/ColumnValue.js.map +1 -0
  717. package/dist/production/src/mapper/ErrorUtils.cjs +130 -0
  718. package/dist/production/src/mapper/ErrorUtils.cjs.map +1 -0
  719. package/dist/production/src/mapper/ErrorUtils.js +113 -0
  720. package/dist/production/src/mapper/ErrorUtils.js.map +1 -0
  721. package/dist/production/src/mapper/EventManager.cjs +116 -0
  722. package/dist/production/src/mapper/EventManager.cjs.map +1 -0
  723. package/dist/production/src/mapper/EventManager.js +116 -0
  724. package/dist/production/src/mapper/EventManager.js.map +1 -0
  725. package/dist/production/src/mapper/JunctionTableManager.cjs +187 -0
  726. package/dist/production/src/mapper/JunctionTableManager.cjs.map +1 -0
  727. package/dist/production/src/mapper/JunctionTableManager.js +187 -0
  728. package/dist/production/src/mapper/JunctionTableManager.js.map +1 -0
  729. package/dist/production/src/mapper/Mapper.cjs +227 -0
  730. package/dist/production/src/mapper/Mapper.cjs.map +1 -0
  731. package/dist/production/src/mapper/Mapper.js +227 -0
  732. package/dist/production/src/mapper/Mapper.js.map +1 -0
  733. package/dist/production/src/mapper/MapperFactory.cjs +58 -0
  734. package/dist/production/src/mapper/MapperFactory.cjs.map +1 -0
  735. package/dist/production/src/mapper/MapperFactory.js +58 -0
  736. package/dist/production/src/mapper/MapperFactory.js.map +1 -0
  737. package/dist/production/src/mapper/MutationProcessorHelper.cjs +28 -0
  738. package/dist/production/src/mapper/MutationProcessorHelper.cjs.map +1 -0
  739. package/dist/production/src/mapper/MutationProcessorHelper.js +28 -0
  740. package/dist/production/src/mapper/MutationProcessorHelper.js.map +1 -0
  741. package/dist/production/src/mapper/Result.cjs +242 -0
  742. package/dist/production/src/mapper/Result.cjs.map +1 -0
  743. package/dist/production/src/mapper/Result.js +242 -0
  744. package/dist/production/src/mapper/Result.js.map +1 -0
  745. package/dist/production/src/mapper/delete/DeleteExecutor.cjs +210 -0
  746. package/dist/production/src/mapper/delete/DeleteExecutor.cjs.map +1 -0
  747. package/dist/production/src/mapper/delete/DeleteExecutor.js +210 -0
  748. package/dist/production/src/mapper/delete/DeleteExecutor.js.map +1 -0
  749. package/dist/production/src/mapper/delete/DeleteState.cjs +70 -0
  750. package/dist/production/src/mapper/delete/DeleteState.cjs.map +1 -0
  751. package/dist/production/src/mapper/delete/DeleteState.js +70 -0
  752. package/dist/production/src/mapper/delete/DeleteState.js.map +1 -0
  753. package/dist/production/src/mapper/delete/DeletedEntitiesStorage.cjs +26 -0
  754. package/dist/production/src/mapper/delete/DeletedEntitiesStorage.cjs.map +1 -0
  755. package/dist/production/src/mapper/delete/DeletedEntitiesStorage.js +26 -0
  756. package/dist/production/src/mapper/delete/DeletedEntitiesStorage.js.map +1 -0
  757. package/dist/production/src/mapper/delete/helpers.cjs +49 -0
  758. package/dist/production/src/mapper/delete/helpers.cjs.map +1 -0
  759. package/dist/production/src/mapper/delete/helpers.js +49 -0
  760. package/dist/production/src/mapper/delete/helpers.js.map +1 -0
  761. package/dist/production/src/mapper/insert/InsertBuilder.cjs +68 -0
  762. package/dist/production/src/mapper/insert/InsertBuilder.cjs.map +1 -0
  763. package/dist/production/src/mapper/insert/InsertBuilder.js +68 -0
  764. package/dist/production/src/mapper/insert/InsertBuilder.js.map +1 -0
  765. package/dist/production/src/mapper/insert/InsertBuilderFactory.cjs +16 -0
  766. package/dist/production/src/mapper/insert/InsertBuilderFactory.cjs.map +1 -0
  767. package/dist/production/src/mapper/insert/InsertBuilderFactory.js +16 -0
  768. package/dist/production/src/mapper/insert/InsertBuilderFactory.js.map +1 -0
  769. package/dist/production/src/mapper/insert/Inserter.cjs +73 -0
  770. package/dist/production/src/mapper/insert/Inserter.cjs.map +1 -0
  771. package/dist/production/src/mapper/insert/Inserter.js +73 -0
  772. package/dist/production/src/mapper/insert/Inserter.js.map +1 -0
  773. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs +77 -0
  774. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.cjs.map +1 -0
  775. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js +77 -0
  776. package/dist/production/src/mapper/insert/SqlCreateInputProcessor.js.map +1 -0
  777. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs +43 -0
  778. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.cjs.map +1 -0
  779. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js +43 -0
  780. package/dist/production/src/mapper/insert/relations/ManyHasManyCreateInputProcessor.js.map +1 -0
  781. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs +40 -0
  782. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.cjs.map +1 -0
  783. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js +40 -0
  784. package/dist/production/src/mapper/insert/relations/ManyHasOneCreateInputProcessor.js.map +1 -0
  785. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs +38 -0
  786. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.cjs.map +1 -0
  787. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js +38 -0
  788. package/dist/production/src/mapper/insert/relations/OneHasManyCreateInputProcessor.js.map +1 -0
  789. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs +63 -0
  790. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.cjs.map +1 -0
  791. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js +63 -0
  792. package/dist/production/src/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.js.map +1 -0
  793. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs +65 -0
  794. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.cjs.map +1 -0
  795. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js +65 -0
  796. package/dist/production/src/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.js.map +1 -0
  797. package/dist/production/src/mapper/select/ConditionBuilder.cjs +59 -0
  798. package/dist/production/src/mapper/select/ConditionBuilder.cjs.map +1 -0
  799. package/dist/production/src/mapper/select/ConditionBuilder.js +59 -0
  800. package/dist/production/src/mapper/select/ConditionBuilder.js.map +1 -0
  801. package/dist/production/src/mapper/select/JoinBuilder.cjs +31 -0
  802. package/dist/production/src/mapper/select/JoinBuilder.cjs.map +1 -0
  803. package/dist/production/src/mapper/select/JoinBuilder.js +31 -0
  804. package/dist/production/src/mapper/select/JoinBuilder.js.map +1 -0
  805. package/dist/production/src/mapper/select/JoinVisitor.cjs +90 -0
  806. package/dist/production/src/mapper/select/JoinVisitor.cjs.map +1 -0
  807. package/dist/production/src/mapper/select/JoinVisitor.js +90 -0
  808. package/dist/production/src/mapper/select/JoinVisitor.js.map +1 -0
  809. package/dist/production/src/mapper/select/OrderByBuilder.cjs +64 -0
  810. package/dist/production/src/mapper/select/OrderByBuilder.cjs.map +1 -0
  811. package/dist/production/src/mapper/select/OrderByBuilder.js +64 -0
  812. package/dist/production/src/mapper/select/OrderByBuilder.js.map +1 -0
  813. package/dist/production/src/mapper/select/OrderByHelper.cjs +37 -0
  814. package/dist/production/src/mapper/select/OrderByHelper.cjs.map +1 -0
  815. package/dist/production/src/mapper/select/OrderByHelper.js +37 -0
  816. package/dist/production/src/mapper/select/OrderByHelper.js.map +1 -0
  817. package/dist/production/src/mapper/select/Path.cjs +60 -0
  818. package/dist/production/src/mapper/select/Path.cjs.map +1 -0
  819. package/dist/production/src/mapper/select/Path.js +60 -0
  820. package/dist/production/src/mapper/select/Path.js.map +1 -0
  821. package/dist/production/src/mapper/select/RelationFetcher.cjs +188 -0
  822. package/dist/production/src/mapper/select/RelationFetcher.cjs.map +1 -0
  823. package/dist/production/src/mapper/select/RelationFetcher.js +188 -0
  824. package/dist/production/src/mapper/select/RelationFetcher.js.map +1 -0
  825. package/dist/production/src/mapper/select/SelectBuilder.cjs +178 -0
  826. package/dist/production/src/mapper/select/SelectBuilder.cjs.map +1 -0
  827. package/dist/production/src/mapper/select/SelectBuilder.js +178 -0
  828. package/dist/production/src/mapper/select/SelectBuilder.js.map +1 -0
  829. package/dist/production/src/mapper/select/SelectHydrator.cjs +90 -0
  830. package/dist/production/src/mapper/select/SelectHydrator.cjs.map +1 -0
  831. package/dist/production/src/mapper/select/SelectHydrator.js +90 -0
  832. package/dist/production/src/mapper/select/SelectHydrator.js.map +1 -0
  833. package/dist/production/src/mapper/select/WhereBuilder.cjs +297 -0
  834. package/dist/production/src/mapper/select/WhereBuilder.cjs.map +1 -0
  835. package/dist/production/src/mapper/select/WhereBuilder.js +297 -0
  836. package/dist/production/src/mapper/select/WhereBuilder.js.map +1 -0
  837. package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs +203 -0
  838. package/dist/production/src/mapper/select/handlers/FieldsVisitor.cjs.map +1 -0
  839. package/dist/production/src/mapper/select/handlers/FieldsVisitor.js +203 -0
  840. package/dist/production/src/mapper/select/handlers/FieldsVisitor.js.map +1 -0
  841. package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.cjs +26 -0
  842. package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.cjs.map +1 -0
  843. package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.js +26 -0
  844. package/dist/production/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -0
  845. package/dist/production/src/mapper/select/handlers/MetaHandler.cjs +39 -0
  846. package/dist/production/src/mapper/select/handlers/MetaHandler.cjs.map +1 -0
  847. package/dist/production/src/mapper/select/handlers/MetaHandler.js +39 -0
  848. package/dist/production/src/mapper/select/handlers/MetaHandler.js.map +1 -0
  849. package/dist/production/src/mapper/select/optimizer/ConditionOptimizer.cjs +33 -0
  850. package/dist/production/src/mapper/select/optimizer/ConditionOptimizer.cjs.map +1 -0
  851. package/dist/production/src/mapper/select/optimizer/ConditionOptimizer.js +33 -0
  852. package/dist/production/src/mapper/select/optimizer/ConditionOptimizer.js.map +1 -0
  853. package/dist/production/src/mapper/select/optimizer/WhereOptimizer.cjs +171 -0
  854. package/dist/production/src/mapper/select/optimizer/WhereOptimizer.cjs.map +1 -0
  855. package/dist/production/src/mapper/select/optimizer/WhereOptimizer.js +171 -0
  856. package/dist/production/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -0
  857. package/dist/production/src/mapper/select/optimizer/WhereReplacer.cjs +63 -0
  858. package/dist/production/src/mapper/select/optimizer/WhereReplacer.cjs.map +1 -0
  859. package/dist/production/src/mapper/select/optimizer/WhereReplacer.js +63 -0
  860. package/dist/production/src/mapper/select/optimizer/WhereReplacer.js.map +1 -0
  861. package/dist/production/src/mapper/select/optimizer/helpers.cjs +59 -0
  862. package/dist/production/src/mapper/select/optimizer/helpers.cjs.map +1 -0
  863. package/dist/production/src/mapper/select/optimizer/helpers.js +59 -0
  864. package/dist/production/src/mapper/select/optimizer/helpers.js.map +1 -0
  865. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.cjs +91 -0
  866. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.cjs.map +1 -0
  867. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.js +91 -0
  868. package/dist/production/src/mapper/update/SqlUpdateInputProcessor.js.map +1 -0
  869. package/dist/production/src/mapper/update/UpdateBuilder.cjs +113 -0
  870. package/dist/production/src/mapper/update/UpdateBuilder.cjs.map +1 -0
  871. package/dist/production/src/mapper/update/UpdateBuilder.js +113 -0
  872. package/dist/production/src/mapper/update/UpdateBuilder.js.map +1 -0
  873. package/dist/production/src/mapper/update/UpdateBuilderFactory.cjs +23 -0
  874. package/dist/production/src/mapper/update/UpdateBuilderFactory.cjs.map +1 -0
  875. package/dist/production/src/mapper/update/UpdateBuilderFactory.js +23 -0
  876. package/dist/production/src/mapper/update/UpdateBuilderFactory.js.map +1 -0
  877. package/dist/production/src/mapper/update/Updater.cjs +96 -0
  878. package/dist/production/src/mapper/update/Updater.cjs.map +1 -0
  879. package/dist/production/src/mapper/update/Updater.js +96 -0
  880. package/dist/production/src/mapper/update/Updater.js.map +1 -0
  881. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs +84 -0
  882. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.cjs.map +1 -0
  883. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js +84 -0
  884. package/dist/production/src/mapper/update/relations/ManyHasManyUpdateInputProcessor.js.map +1 -0
  885. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs +88 -0
  886. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.cjs.map +1 -0
  887. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js +88 -0
  888. package/dist/production/src/mapper/update/relations/ManyHasOneUpdateInputProcessor.js.map +1 -0
  889. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs +87 -0
  890. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.cjs.map +1 -0
  891. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js +87 -0
  892. package/dist/production/src/mapper/update/relations/OneHasManyUpdateInputProcessor.js.map +1 -0
  893. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs +147 -0
  894. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.cjs.map +1 -0
  895. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js +147 -0
  896. package/dist/production/src/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.js.map +1 -0
  897. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs +183 -0
  898. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.cjs.map +1 -0
  899. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js +183 -0
  900. package/dist/production/src/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.js.map +1 -0
  901. package/dist/production/src/resolvers/GraphQlQueryAstFactory.cjs +115 -0
  902. package/dist/production/src/resolvers/GraphQlQueryAstFactory.cjs.map +1 -0
  903. package/dist/production/src/resolvers/GraphQlQueryAstFactory.js +115 -0
  904. package/dist/production/src/resolvers/GraphQlQueryAstFactory.js.map +1 -0
  905. package/dist/production/src/resolvers/MutationResolver.cjs +508 -0
  906. package/dist/production/src/resolvers/MutationResolver.cjs.map +1 -0
  907. package/dist/production/src/resolvers/MutationResolver.js +508 -0
  908. package/dist/production/src/resolvers/MutationResolver.js.map +1 -0
  909. package/dist/production/src/resolvers/ReadHelpers.cjs +50 -0
  910. package/dist/production/src/resolvers/ReadHelpers.cjs.map +1 -0
  911. package/dist/production/src/resolvers/ReadHelpers.js +50 -0
  912. package/dist/production/src/resolvers/ReadHelpers.js.map +1 -0
  913. package/dist/production/src/resolvers/ReadResolver.cjs +38 -0
  914. package/dist/production/src/resolvers/ReadResolver.cjs.map +1 -0
  915. package/dist/production/src/resolvers/ReadResolver.js +38 -0
  916. package/dist/production/src/resolvers/ReadResolver.js.map +1 -0
  917. package/dist/production/src/resolvers/RefreshViewResolver.cjs +21 -0
  918. package/dist/production/src/resolvers/RefreshViewResolver.cjs.map +1 -0
  919. package/dist/production/src/resolvers/RefreshViewResolver.js +21 -0
  920. package/dist/production/src/resolvers/RefreshViewResolver.js.map +1 -0
  921. package/dist/production/src/resolvers/ValidationResolver.cjs +63 -0
  922. package/dist/production/src/resolvers/ValidationResolver.cjs.map +1 -0
  923. package/dist/production/src/resolvers/ValidationResolver.js +63 -0
  924. package/dist/production/src/resolvers/ValidationResolver.js.map +1 -0
  925. package/dist/production/src/schema/ColumnTypeResolver.cjs +92 -0
  926. package/dist/production/src/schema/ColumnTypeResolver.cjs.map +1 -0
  927. package/dist/production/src/schema/ColumnTypeResolver.js +92 -0
  928. package/dist/production/src/schema/ColumnTypeResolver.js.map +1 -0
  929. package/dist/production/src/schema/ConditionTypeProvider.cjs +72 -0
  930. package/dist/production/src/schema/ConditionTypeProvider.cjs.map +1 -0
  931. package/dist/production/src/schema/ConditionTypeProvider.js +72 -0
  932. package/dist/production/src/schema/ConditionTypeProvider.js.map +1 -0
  933. package/dist/production/src/schema/CustomTypesProvider.cjs +61 -0
  934. package/dist/production/src/schema/CustomTypesProvider.cjs.map +1 -0
  935. package/dist/production/src/schema/CustomTypesProvider.js +61 -0
  936. package/dist/production/src/schema/CustomTypesProvider.js.map +1 -0
  937. package/dist/production/src/schema/EntityTypeProvider.cjs +130 -0
  938. package/dist/production/src/schema/EntityTypeProvider.cjs.map +1 -0
  939. package/dist/production/src/schema/EntityTypeProvider.js +130 -0
  940. package/dist/production/src/schema/EntityTypeProvider.js.map +1 -0
  941. package/dist/production/src/schema/EnumsProvider.cjs +34 -0
  942. package/dist/production/src/schema/EnumsProvider.cjs.map +1 -0
  943. package/dist/production/src/schema/EnumsProvider.js +34 -0
  944. package/dist/production/src/schema/EnumsProvider.js.map +1 -0
  945. package/dist/production/src/schema/FieldAccessVisitor.cjs +16 -0
  946. package/dist/production/src/schema/FieldAccessVisitor.cjs.map +1 -0
  947. package/dist/production/src/schema/FieldAccessVisitor.js +16 -0
  948. package/dist/production/src/schema/FieldAccessVisitor.js.map +1 -0
  949. package/dist/production/src/schema/GraphQlSchemaBuilder.cjs +122 -0
  950. package/dist/production/src/schema/GraphQlSchemaBuilder.cjs.map +1 -0
  951. package/dist/production/src/schema/GraphQlSchemaBuilder.js +122 -0
  952. package/dist/production/src/schema/GraphQlSchemaBuilder.js.map +1 -0
  953. package/dist/production/src/schema/GraphQlSchemaBuilderFactory.cjs +153 -0
  954. package/dist/production/src/schema/GraphQlSchemaBuilderFactory.cjs.map +1 -0
  955. package/dist/production/src/schema/GraphQlSchemaBuilderFactory.js +153 -0
  956. package/dist/production/src/schema/GraphQlSchemaBuilderFactory.js.map +1 -0
  957. package/dist/production/src/schema/MutationProvider.cjs +189 -0
  958. package/dist/production/src/schema/MutationProvider.cjs.map +1 -0
  959. package/dist/production/src/schema/MutationProvider.js +189 -0
  960. package/dist/production/src/schema/MutationProvider.js.map +1 -0
  961. package/dist/production/src/schema/OperationExtension.cjs +35 -0
  962. package/dist/production/src/schema/OperationExtension.cjs.map +1 -0
  963. package/dist/production/src/schema/OperationExtension.js +35 -0
  964. package/dist/production/src/schema/OperationExtension.js.map +1 -0
  965. package/dist/production/src/schema/OrderByTypeProvider.cjs +68 -0
  966. package/dist/production/src/schema/OrderByTypeProvider.cjs.map +1 -0
  967. package/dist/production/src/schema/OrderByTypeProvider.js +68 -0
  968. package/dist/production/src/schema/OrderByTypeProvider.js.map +1 -0
  969. package/dist/production/src/schema/PaginatedFieldConfigFactory.cjs +26 -0
  970. package/dist/production/src/schema/PaginatedFieldConfigFactory.cjs.map +1 -0
  971. package/dist/production/src/schema/PaginatedFieldConfigFactory.js +26 -0
  972. package/dist/production/src/schema/PaginatedFieldConfigFactory.js.map +1 -0
  973. package/dist/production/src/schema/QueryProvider.cjs +102 -0
  974. package/dist/production/src/schema/QueryProvider.cjs.map +1 -0
  975. package/dist/production/src/schema/QueryProvider.js +102 -0
  976. package/dist/production/src/schema/QueryProvider.js.map +1 -0
  977. package/dist/production/src/schema/RefreshViewMutationProvider.cjs +42 -0
  978. package/dist/production/src/schema/RefreshViewMutationProvider.cjs.map +1 -0
  979. package/dist/production/src/schema/RefreshViewMutationProvider.js +42 -0
  980. package/dist/production/src/schema/RefreshViewMutationProvider.js.map +1 -0
  981. package/dist/production/src/schema/ResultSchemaTypeProvider.cjs +90 -0
  982. package/dist/production/src/schema/ResultSchemaTypeProvider.cjs.map +1 -0
  983. package/dist/production/src/schema/ResultSchemaTypeProvider.js +90 -0
  984. package/dist/production/src/schema/ResultSchemaTypeProvider.js.map +1 -0
  985. package/dist/production/src/schema/ValidationQueriesProvider.cjs +57 -0
  986. package/dist/production/src/schema/ValidationQueriesProvider.cjs.map +1 -0
  987. package/dist/production/src/schema/ValidationQueriesProvider.js +57 -0
  988. package/dist/production/src/schema/ValidationQueriesProvider.js.map +1 -0
  989. package/dist/production/src/schema/WhereTypeProvider.cjs +103 -0
  990. package/dist/production/src/schema/WhereTypeProvider.cjs.map +1 -0
  991. package/dist/production/src/schema/WhereTypeProvider.js +103 -0
  992. package/dist/production/src/schema/WhereTypeProvider.js.map +1 -0
  993. package/dist/production/src/schema/entities/FieldArgsVisitor.cjs +37 -0
  994. package/dist/production/src/schema/entities/FieldArgsVisitor.cjs.map +1 -0
  995. package/dist/production/src/schema/entities/FieldArgsVisitor.js +37 -0
  996. package/dist/production/src/schema/entities/FieldArgsVisitor.js.map +1 -0
  997. package/dist/production/src/schema/entities/FieldTypeVisitor.cjs +33 -0
  998. package/dist/production/src/schema/entities/FieldTypeVisitor.cjs.map +1 -0
  999. package/dist/production/src/schema/entities/FieldTypeVisitor.js +33 -0
  1000. package/dist/production/src/schema/entities/FieldTypeVisitor.js.map +1 -0
  1001. package/dist/production/src/schema/mutations/ConnectOrCreateRelationInputProvider.cjs +45 -0
  1002. package/dist/production/src/schema/mutations/ConnectOrCreateRelationInputProvider.cjs.map +1 -0
  1003. package/dist/production/src/schema/mutations/ConnectOrCreateRelationInputProvider.js +45 -0
  1004. package/dist/production/src/schema/mutations/ConnectOrCreateRelationInputProvider.js.map +1 -0
  1005. package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.cjs +40 -0
  1006. package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.cjs.map +1 -0
  1007. package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.js +40 -0
  1008. package/dist/production/src/schema/mutations/CreateEntityInputFieldVisitor.js.map +1 -0
  1009. package/dist/production/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.cjs +56 -0
  1010. package/dist/production/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.cjs.map +1 -0
  1011. package/dist/production/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js +56 -0
  1012. package/dist/production/src/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.js.map +1 -0
  1013. package/dist/production/src/schema/mutations/CreateEntityRelationInputFieldVisitor.cjs +67 -0
  1014. package/dist/production/src/schema/mutations/CreateEntityRelationInputFieldVisitor.cjs.map +1 -0
  1015. package/dist/production/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js +67 -0
  1016. package/dist/production/src/schema/mutations/CreateEntityRelationInputFieldVisitor.js.map +1 -0
  1017. package/dist/production/src/schema/mutations/CreateEntityRelationInputProvider.cjs +22 -0
  1018. package/dist/production/src/schema/mutations/CreateEntityRelationInputProvider.cjs.map +1 -0
  1019. package/dist/production/src/schema/mutations/CreateEntityRelationInputProvider.js +22 -0
  1020. package/dist/production/src/schema/mutations/CreateEntityRelationInputProvider.js.map +1 -0
  1021. package/dist/production/src/schema/mutations/EntityInputProvider.cjs +67 -0
  1022. package/dist/production/src/schema/mutations/EntityInputProvider.cjs.map +1 -0
  1023. package/dist/production/src/schema/mutations/EntityInputProvider.js +67 -0
  1024. package/dist/production/src/schema/mutations/EntityInputProvider.js.map +1 -0
  1025. package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.cjs +39 -0
  1026. package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.cjs.map +1 -0
  1027. package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.js +39 -0
  1028. package/dist/production/src/schema/mutations/UpdateEntityInputFieldVisitor.js.map +1 -0
  1029. package/dist/production/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.cjs +79 -0
  1030. package/dist/production/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.cjs.map +1 -0
  1031. package/dist/production/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js +79 -0
  1032. package/dist/production/src/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.js.map +1 -0
  1033. package/dist/production/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.cjs +133 -0
  1034. package/dist/production/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.cjs.map +1 -0
  1035. package/dist/production/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js +133 -0
  1036. package/dist/production/src/schema/mutations/UpdateEntityRelationInputFieldVisitor.js.map +1 -0
  1037. package/dist/production/src/schema/mutations/UpdateEntityRelationInputProvider.cjs +22 -0
  1038. package/dist/production/src/schema/mutations/UpdateEntityRelationInputProvider.cjs.map +1 -0
  1039. package/dist/production/src/schema/mutations/UpdateEntityRelationInputProvider.js +22 -0
  1040. package/dist/production/src/schema/mutations/UpdateEntityRelationInputProvider.js.map +1 -0
  1041. package/dist/production/src/schema/utils.cjs +18 -0
  1042. package/dist/production/src/schema/utils.cjs.map +1 -0
  1043. package/dist/production/src/schema/utils.js +18 -0
  1044. package/dist/production/src/schema/utils.js.map +1 -0
  1045. package/dist/production/src/utils/Mutex.cjs +36 -0
  1046. package/dist/production/src/utils/Mutex.cjs.map +1 -0
  1047. package/dist/production/src/utils/Mutex.js +36 -0
  1048. package/dist/production/src/utils/Mutex.js.map +1 -0
  1049. package/dist/production/src/utils/ResolveInfoUtils.cjs +30 -0
  1050. package/dist/production/src/utils/ResolveInfoUtils.cjs.map +1 -0
  1051. package/dist/production/src/utils/ResolveInfoUtils.js +30 -0
  1052. package/dist/production/src/utils/ResolveInfoUtils.js.map +1 -0
  1053. package/dist/production/src/utils/accessor.cjs +22 -0
  1054. package/dist/production/src/utils/accessor.cjs.map +1 -0
  1055. package/dist/production/src/utils/accessor.js +22 -0
  1056. package/dist/production/src/utils/accessor.js.map +1 -0
  1057. package/dist/production/src/utils/assertNever.cjs +7 -0
  1058. package/dist/production/src/utils/assertNever.cjs.map +1 -0
  1059. package/dist/production/src/utils/assertNever.js +7 -0
  1060. package/dist/production/src/utils/assertNever.js.map +1 -0
  1061. package/dist/production/src/utils/isIt.cjs +10 -0
  1062. package/dist/production/src/utils/isIt.cjs.map +1 -0
  1063. package/dist/production/src/utils/isIt.js +10 -0
  1064. package/dist/production/src/utils/isIt.js.map +1 -0
  1065. package/dist/production/src/utils/object.cjs +15 -0
  1066. package/dist/production/src/utils/object.cjs.map +1 -0
  1067. package/dist/production/src/utils/object.js +15 -0
  1068. package/dist/production/src/utils/object.js.map +1 -0
  1069. package/dist/production/src/utils/paginationUtils.cjs +50 -0
  1070. package/dist/production/src/utils/paginationUtils.cjs.map +1 -0
  1071. package/dist/production/src/utils/paginationUtils.js +50 -0
  1072. package/dist/production/src/utils/paginationUtils.js.map +1 -0
  1073. package/dist/production/src/utils/promises.cjs +11 -0
  1074. package/dist/production/src/utils/promises.cjs.map +1 -0
  1075. package/dist/production/src/utils/promises.js +11 -0
  1076. package/dist/production/src/utils/promises.js.map +1 -0
  1077. package/dist/production/src/utils/singletonFactory.cjs +26 -0
  1078. package/dist/production/src/utils/singletonFactory.cjs.map +1 -0
  1079. package/dist/production/src/utils/singletonFactory.js +26 -0
  1080. package/dist/production/src/utils/singletonFactory.js.map +1 -0
  1081. package/dist/production/src/utils/strings.cjs +7 -0
  1082. package/dist/production/src/utils/strings.cjs.map +1 -0
  1083. package/dist/production/src/utils/strings.js +7 -0
  1084. package/dist/production/src/utils/strings.js.map +1 -0
  1085. package/dist/production/src/utils/tuple.cjs +5 -0
  1086. package/dist/production/src/utils/tuple.cjs.map +1 -0
  1087. package/dist/production/src/utils/tuple.js +5 -0
  1088. package/dist/production/src/utils/tuple.js.map +1 -0
  1089. package/dist/production/src/utils/uniqueWhereFields.cjs +19 -0
  1090. package/dist/production/src/utils/uniqueWhereFields.cjs.map +1 -0
  1091. package/dist/production/src/utils/uniqueWhereFields.js +19 -0
  1092. package/dist/production/src/utils/uniqueWhereFields.js.map +1 -0
  1093. package/dist/production/src/utils/viewComputedId.cjs +16 -0
  1094. package/dist/production/src/utils/viewComputedId.cjs.map +1 -0
  1095. package/dist/production/src/utils/viewComputedId.js +16 -0
  1096. package/dist/production/src/utils/viewComputedId.js.map +1 -0
  1097. package/dist/tests/cases/bugs/bug-filter-or.test.d.ts +2 -0
  1098. package/dist/tests/cases/bugs/bug-filter-or.test.d.ts.map +1 -0
  1099. package/dist/tests/cases/bugs/bug-update-by-nested-unique.test.d.ts +2 -0
  1100. package/dist/tests/cases/bugs/bug-update-by-nested-unique.test.d.ts.map +1 -0
  1101. package/dist/tests/cases/bugs/bug102.test.d.ts +2 -0
  1102. package/dist/tests/cases/bugs/bug102.test.d.ts.map +1 -0
  1103. package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.d.ts +2 -0
  1104. package/dist/tests/cases/integration/graphQlRequests/delete/aclDelete.test.d.ts.map +1 -0
  1105. package/dist/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.d.ts +2 -0
  1106. package/dist/tests/cases/integration/graphQlRequests/delete/additionalDeleteFilter.test.d.ts.map +1 -0
  1107. package/dist/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.d.ts +2 -0
  1108. package/dist/tests/cases/integration/graphQlRequests/delete/cascadeDelete.test.d.ts.map +1 -0
  1109. package/dist/tests/cases/integration/graphQlRequests/delete/deleteById.test.d.ts +2 -0
  1110. package/dist/tests/cases/integration/graphQlRequests/delete/deleteById.test.d.ts.map +1 -0
  1111. package/dist/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.d.ts +2 -0
  1112. package/dist/tests/cases/integration/graphQlRequests/delete/orphanRemoval.test.d.ts.map +1 -0
  1113. package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.d.ts +2 -0
  1114. package/dist/tests/cases/integration/graphQlRequests/delete/restrictOnDelete.test.d.ts.map +1 -0
  1115. package/dist/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.d.ts +2 -0
  1116. package/dist/tests/cases/integration/graphQlRequests/delete/setNullOnDelete.test.d.ts.map +1 -0
  1117. package/dist/tests/cases/integration/graphQlRequests/insert/acl/setField.test.d.ts +2 -0
  1118. package/dist/tests/cases/integration/graphQlRequests/insert/acl/setField.test.d.ts.map +1 -0
  1119. package/dist/tests/cases/integration/graphQlRequests/insert/aclInsert.test.d.ts +2 -0
  1120. package/dist/tests/cases/integration/graphQlRequests/insert/aclInsert.test.d.ts.map +1 -0
  1121. package/dist/tests/cases/integration/graphQlRequests/insert/basicInsert.test.d.ts +2 -0
  1122. package/dist/tests/cases/integration/graphQlRequests/insert/basicInsert.test.d.ts.map +1 -0
  1123. package/dist/tests/cases/integration/graphQlRequests/insert/insertCustomId.test.d.ts +2 -0
  1124. package/dist/tests/cases/integration/graphQlRequests/insert/insertCustomId.test.d.ts.map +1 -0
  1125. package/dist/tests/cases/integration/graphQlRequests/insert/jsonInsert.test.d.ts +2 -0
  1126. package/dist/tests/cases/integration/graphQlRequests/insert/jsonInsert.test.d.ts.map +1 -0
  1127. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.d.ts +2 -0
  1128. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyInverse/create.test.d.ts.map +1 -0
  1129. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.d.ts +2 -0
  1130. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasManyOwning/create.test.d.ts.map +1 -0
  1131. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.d.ts +2 -0
  1132. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/connectOrCreate.test.d.ts.map +1 -0
  1133. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.d.ts +2 -0
  1134. package/dist/tests/cases/integration/graphQlRequests/insert/manyHasOne/create.test.d.ts.map +1 -0
  1135. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.d.ts +2 -0
  1136. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/connect.test.d.ts.map +1 -0
  1137. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.d.ts +2 -0
  1138. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasMany/create.test.d.ts.map +1 -0
  1139. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.d.ts +2 -0
  1140. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneInverse/create.test.d.ts.map +1 -0
  1141. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.d.ts +2 -0
  1142. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/create.test.d.ts.map +1 -0
  1143. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.d.ts +2 -0
  1144. package/dist/tests/cases/integration/graphQlRequests/insert/oneHasOneOwning/empty.test.d.ts.map +1 -0
  1145. package/dist/tests/cases/integration/graphQlRequests/insert/subOperationFail.test.d.ts +2 -0
  1146. package/dist/tests/cases/integration/graphQlRequests/insert/subOperationFail.test.d.ts.map +1 -0
  1147. package/dist/tests/cases/integration/graphQlRequests/insert/validation/toBeFixed.test.d.ts +2 -0
  1148. package/dist/tests/cases/integration/graphQlRequests/insert/validation/toBeFixed.test.d.ts.map +1 -0
  1149. package/dist/tests/cases/integration/graphQlRequests/query/acl/differentRowAndFieldPredicate.test.d.ts +2 -0
  1150. package/dist/tests/cases/integration/graphQlRequests/query/acl/differentRowAndFieldPredicate.test.d.ts.map +1 -0
  1151. package/dist/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.d.ts +2 -0
  1152. package/dist/tests/cases/integration/graphQlRequests/query/acl/fieldRestrictedByLocale.test.d.ts.map +1 -0
  1153. package/dist/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.d.ts +2 -0
  1154. package/dist/tests/cases/integration/graphQlRequests/query/acl/isNullAcl.test.d.ts.map +1 -0
  1155. package/dist/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.d.ts +2 -0
  1156. package/dist/tests/cases/integration/graphQlRequests/query/acl/nestedPredicate.test.d.ts.map +1 -0
  1157. package/dist/tests/cases/integration/graphQlRequests/query/acl/orPredicate.test.d.ts +2 -0
  1158. package/dist/tests/cases/integration/graphQlRequests/query/acl/orPredicate.test.d.ts.map +1 -0
  1159. package/dist/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.d.ts +2 -0
  1160. package/dist/tests/cases/integration/graphQlRequests/query/acl/predicateElimination.test.d.ts.map +1 -0
  1161. package/dist/tests/cases/integration/graphQlRequests/query/acl/relationAcl.test.d.ts +2 -0
  1162. package/dist/tests/cases/integration/graphQlRequests/query/acl/relationAcl.test.d.ts.map +1 -0
  1163. package/dist/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.d.ts +2 -0
  1164. package/dist/tests/cases/integration/graphQlRequests/query/acl/rowPredicateSubset.test.d.ts.map +1 -0
  1165. package/dist/tests/cases/integration/graphQlRequests/query/acl/sameRowAndFieldPredicate.test.d.ts +2 -0
  1166. package/dist/tests/cases/integration/graphQlRequests/query/acl/sameRowAndFieldPredicate.test.d.ts.map +1 -0
  1167. package/dist/tests/cases/integration/graphQlRequests/query/filter/backReferencedFilter.test.d.ts +2 -0
  1168. package/dist/tests/cases/integration/graphQlRequests/query/filter/backReferencedFilter.test.d.ts.map +1 -0
  1169. package/dist/tests/cases/integration/graphQlRequests/query/filter/complexCondition.test.d.ts +2 -0
  1170. package/dist/tests/cases/integration/graphQlRequests/query/filter/complexCondition.test.d.ts.map +1 -0
  1171. package/dist/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.d.ts +2 -0
  1172. package/dist/tests/cases/integration/graphQlRequests/query/filter/composedFilter.test.d.ts.map +1 -0
  1173. package/dist/tests/cases/integration/graphQlRequests/query/filter/containsQuery.test.d.ts +2 -0
  1174. package/dist/tests/cases/integration/graphQlRequests/query/filter/containsQuery.test.d.ts.map +1 -0
  1175. package/dist/tests/cases/integration/graphQlRequests/query/filter/manyHasManyOwnerRelation.test.d.ts +2 -0
  1176. package/dist/tests/cases/integration/graphQlRequests/query/filter/manyHasManyOwnerRelation.test.d.ts.map +1 -0
  1177. package/dist/tests/cases/integration/graphQlRequests/query/filter/manyHasOneRelation.test.d.ts +2 -0
  1178. package/dist/tests/cases/integration/graphQlRequests/query/filter/manyHasOneRelation.test.d.ts.map +1 -0
  1179. package/dist/tests/cases/integration/graphQlRequests/query/filter/oneHasManyRelation.test.d.ts +2 -0
  1180. package/dist/tests/cases/integration/graphQlRequests/query/filter/oneHasManyRelation.test.d.ts.map +1 -0
  1181. package/dist/tests/cases/integration/graphQlRequests/query/formatting/dateFormat.test.d.ts +2 -0
  1182. package/dist/tests/cases/integration/graphQlRequests/query/formatting/dateFormat.test.d.ts.map +1 -0
  1183. package/dist/tests/cases/integration/graphQlRequests/query/graphqlFeatures/alias.test.d.ts +2 -0
  1184. package/dist/tests/cases/integration/graphQlRequests/query/graphqlFeatures/alias.test.d.ts.map +1 -0
  1185. package/dist/tests/cases/integration/graphQlRequests/query/graphqlFeatures/fragments.test.d.ts +2 -0
  1186. package/dist/tests/cases/integration/graphQlRequests/query/graphqlFeatures/fragments.test.d.ts.map +1 -0
  1187. package/dist/tests/cases/integration/graphQlRequests/query/misc/aliasedType.test.d.ts +2 -0
  1188. package/dist/tests/cases/integration/graphQlRequests/query/misc/aliasedType.test.d.ts.map +1 -0
  1189. package/dist/tests/cases/integration/graphQlRequests/query/misc/longAliasHash.test.d.ts +2 -0
  1190. package/dist/tests/cases/integration/graphQlRequests/query/misc/longAliasHash.test.d.ts.map +1 -0
  1191. package/dist/tests/cases/integration/graphQlRequests/query/misc/reducedHasMany.test.d.ts +2 -0
  1192. package/dist/tests/cases/integration/graphQlRequests/query/misc/reducedHasMany.test.d.ts.map +1 -0
  1193. package/dist/tests/cases/integration/graphQlRequests/query/misc/transaction.test.d.ts +2 -0
  1194. package/dist/tests/cases/integration/graphQlRequests/query/misc/transaction.test.d.ts.map +1 -0
  1195. package/dist/tests/cases/integration/graphQlRequests/query/pagination/hasManyLimit.test.d.ts +2 -0
  1196. package/dist/tests/cases/integration/graphQlRequests/query/pagination/hasManyLimit.test.d.ts.map +1 -0
  1197. package/dist/tests/cases/integration/graphQlRequests/query/pagination/paginate.test.d.ts +2 -0
  1198. package/dist/tests/cases/integration/graphQlRequests/query/pagination/paginate.test.d.ts.map +1 -0
  1199. package/dist/tests/cases/integration/graphQlRequests/query/pagination/paginateAliased.test.d.ts +2 -0
  1200. package/dist/tests/cases/integration/graphQlRequests/query/pagination/paginateAliased.test.d.ts.map +1 -0
  1201. package/dist/tests/cases/integration/graphQlRequests/query/pagination/simpleLimit.test.d.ts +2 -0
  1202. package/dist/tests/cases/integration/graphQlRequests/query/pagination/simpleLimit.test.d.ts.map +1 -0
  1203. package/dist/tests/cases/integration/graphQlRequests/query/relations/advanced.test.d.ts +2 -0
  1204. package/dist/tests/cases/integration/graphQlRequests/query/relations/advanced.test.d.ts.map +1 -0
  1205. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.d.ts +2 -0
  1206. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyInverse.test.d.ts.map +1 -0
  1207. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.d.ts +2 -0
  1208. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.d.ts.map +1 -0
  1209. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasOne.test.d.ts +2 -0
  1210. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasOne.test.d.ts.map +1 -0
  1211. package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasMany.test.d.ts +2 -0
  1212. package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasMany.test.d.ts.map +1 -0
  1213. package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasOneInverse.test.d.ts +2 -0
  1214. package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasOneInverse.test.d.ts.map +1 -0
  1215. package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasOneOwner.test.d.ts +2 -0
  1216. package/dist/tests/cases/integration/graphQlRequests/query/relations/oneHasOneOwner.test.d.ts.map +1 -0
  1217. package/dist/tests/cases/integration/graphQlRequests/query/sorting/byRelations.test.d.ts +2 -0
  1218. package/dist/tests/cases/integration/graphQlRequests/query/sorting/byRelations.test.d.ts.map +1 -0
  1219. package/dist/tests/cases/integration/graphQlRequests/query/sorting/defaultOrdering.test.d.ts +2 -0
  1220. package/dist/tests/cases/integration/graphQlRequests/query/sorting/defaultOrdering.test.d.ts.map +1 -0
  1221. package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.d.ts +2 -0
  1222. package/dist/tests/cases/integration/graphQlRequests/query/sorting/orderBy.test.d.ts.map +1 -0
  1223. package/dist/tests/cases/integration/graphQlRequests/query/sorting/randomSort.test.d.ts +2 -0
  1224. package/dist/tests/cases/integration/graphQlRequests/query/sorting/randomSort.test.d.ts.map +1 -0
  1225. package/dist/tests/cases/integration/graphQlRequests/query/sorting/sortNulls.test.d.ts +2 -0
  1226. package/dist/tests/cases/integration/graphQlRequests/query/sorting/sortNulls.test.d.ts.map +1 -0
  1227. package/dist/tests/cases/integration/graphQlRequests/query/sorting/sortedHasMany.test.d.ts +2 -0
  1228. package/dist/tests/cases/integration/graphQlRequests/query/sorting/sortedHasMany.test.d.ts.map +1 -0
  1229. package/dist/tests/cases/integration/graphQlRequests/query/unique/basicQueryById.test.d.ts +2 -0
  1230. package/dist/tests/cases/integration/graphQlRequests/query/unique/basicQueryById.test.d.ts.map +1 -0
  1231. package/dist/tests/cases/integration/graphQlRequests/query/unique/composedUnique.test.d.ts +2 -0
  1232. package/dist/tests/cases/integration/graphQlRequests/query/unique/composedUnique.test.d.ts.map +1 -0
  1233. package/dist/tests/cases/integration/graphQlRequests/query/unique/oneHasManyUnique.test.d.ts +2 -0
  1234. package/dist/tests/cases/integration/graphQlRequests/query/unique/oneHasManyUnique.test.d.ts.map +1 -0
  1235. package/dist/tests/cases/integration/graphQlRequests/query/unique/uniqueWithFilter.test.d.ts +2 -0
  1236. package/dist/tests/cases/integration/graphQlRequests/query/unique/uniqueWithFilter.test.d.ts.map +1 -0
  1237. package/dist/tests/cases/integration/graphQlRequests/query/view/view.test.d.ts +2 -0
  1238. package/dist/tests/cases/integration/graphQlRequests/query/view/view.test.d.ts.map +1 -0
  1239. package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.d.ts +2 -0
  1240. package/dist/tests/cases/integration/graphQlRequests/update/acl/aclUpdate.test.d.ts.map +1 -0
  1241. package/dist/tests/cases/integration/graphQlRequests/update/additionalFilter.test.d.ts +2 -0
  1242. package/dist/tests/cases/integration/graphQlRequests/update/additionalFilter.test.d.ts.map +1 -0
  1243. package/dist/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.d.ts +2 -0
  1244. package/dist/tests/cases/integration/graphQlRequests/update/basic/columnUpdate.test.d.ts.map +1 -0
  1245. package/dist/tests/cases/integration/graphQlRequests/update/basic/schema.d.ts +1 -0
  1246. package/dist/tests/cases/integration/graphQlRequests/update/basic/schema.d.ts.map +1 -0
  1247. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/connect.test.d.ts +2 -0
  1248. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/connect.test.d.ts.map +1 -0
  1249. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/create.test.d.ts +2 -0
  1250. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/create.test.d.ts.map +1 -0
  1251. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.d.ts +2 -0
  1252. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/delete.test.d.ts.map +1 -0
  1253. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/disconnect.test.d.ts +2 -0
  1254. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/disconnect.test.d.ts.map +1 -0
  1255. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/schema.d.ts +3 -0
  1256. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/schema.d.ts.map +1 -0
  1257. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.d.ts +2 -0
  1258. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/update.test.d.ts.map +1 -0
  1259. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.d.ts +2 -0
  1260. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyInverse/upsert.test.d.ts.map +1 -0
  1261. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connect.test.d.ts +2 -0
  1262. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connect.test.d.ts.map +1 -0
  1263. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connectOrCreate.test.d.ts +2 -0
  1264. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/connectOrCreate.test.d.ts.map +1 -0
  1265. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/create.test.d.ts +2 -0
  1266. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/create.test.d.ts.map +1 -0
  1267. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.d.ts +2 -0
  1268. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/delete.test.d.ts.map +1 -0
  1269. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/disconnect.test.d.ts +2 -0
  1270. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/disconnect.test.d.ts.map +1 -0
  1271. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/schema.d.ts +3 -0
  1272. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/schema.d.ts.map +1 -0
  1273. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.d.ts +2 -0
  1274. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/update.test.d.ts.map +1 -0
  1275. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.d.ts +2 -0
  1276. package/dist/tests/cases/integration/graphQlRequests/update/manyHasManyOwning/upsert.test.d.ts.map +1 -0
  1277. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.d.ts +2 -0
  1278. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/connect.test.d.ts.map +1 -0
  1279. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.d.ts +2 -0
  1280. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/create.test.d.ts.map +1 -0
  1281. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.d.ts +2 -0
  1282. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/delete.test.d.ts.map +1 -0
  1283. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.d.ts +2 -0
  1284. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/disconnect.test.d.ts.map +1 -0
  1285. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/schema.d.ts +4 -0
  1286. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/schema.d.ts.map +1 -0
  1287. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.d.ts +2 -0
  1288. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/update.test.d.ts.map +1 -0
  1289. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.d.ts +2 -0
  1290. package/dist/tests/cases/integration/graphQlRequests/update/manyHasOne/upsert.test.d.ts.map +1 -0
  1291. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.d.ts +2 -0
  1292. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/combination.test.d.ts.map +1 -0
  1293. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.d.ts +2 -0
  1294. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connect.test.d.ts.map +1 -0
  1295. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connectOrCreate.test.d.ts +2 -0
  1296. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/connectOrCreate.test.d.ts.map +1 -0
  1297. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/create.test.d.ts +2 -0
  1298. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/create.test.d.ts.map +1 -0
  1299. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.d.ts +2 -0
  1300. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/delete.test.d.ts.map +1 -0
  1301. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.d.ts +2 -0
  1302. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/disconnect.test.d.ts.map +1 -0
  1303. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/schema.d.ts +4 -0
  1304. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/schema.d.ts.map +1 -0
  1305. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.d.ts +2 -0
  1306. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/update.test.d.ts.map +1 -0
  1307. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.d.ts +2 -0
  1308. package/dist/tests/cases/integration/graphQlRequests/update/oneHasMany/upsert.test.d.ts.map +1 -0
  1309. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.d.ts +2 -0
  1310. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/connect.test.d.ts.map +1 -0
  1311. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.d.ts +2 -0
  1312. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/create.test.d.ts.map +1 -0
  1313. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.d.ts +2 -0
  1314. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/delete.test.d.ts.map +1 -0
  1315. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.d.ts +2 -0
  1316. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/disconnect.test.d.ts.map +1 -0
  1317. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.d.ts +4 -0
  1318. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/schema.d.ts.map +1 -0
  1319. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.d.ts +2 -0
  1320. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/update.test.d.ts.map +1 -0
  1321. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.d.ts +2 -0
  1322. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneInverse/upsert.test.d.ts.map +1 -0
  1323. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.d.ts +2 -0
  1324. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connect.test.d.ts.map +1 -0
  1325. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.d.ts +2 -0
  1326. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/connectOrCreate.test.d.ts.map +1 -0
  1327. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.d.ts +2 -0
  1328. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/create.test.d.ts.map +1 -0
  1329. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.d.ts +2 -0
  1330. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/delete.test.d.ts.map +1 -0
  1331. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.d.ts +2 -0
  1332. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/disconnect.test.d.ts.map +1 -0
  1333. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.d.ts +4 -0
  1334. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/schema.d.ts.map +1 -0
  1335. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.d.ts +2 -0
  1336. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/update.test.d.ts.map +1 -0
  1337. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.d.ts +2 -0
  1338. package/dist/tests/cases/integration/graphQlRequests/update/oneHasOneOwning/upsert.test.d.ts.map +1 -0
  1339. package/dist/tests/cases/integration/graphQlRequests/update/queryPortal.test.d.ts +2 -0
  1340. package/dist/tests/cases/integration/graphQlRequests/update/queryPortal.test.d.ts.map +1 -0
  1341. package/dist/tests/cases/integration/graphQlRequests/update/transaction.test.d.ts +2 -0
  1342. package/dist/tests/cases/integration/graphQlRequests/update/transaction.test.d.ts.map +1 -0
  1343. package/dist/tests/cases/integration/graphQlRequests/update/validation/toBeFixed.test.d.ts +2 -0
  1344. package/dist/tests/cases/integration/graphQlRequests/update/validation/toBeFixed.test.d.ts.map +1 -0
  1345. package/dist/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.d.ts +2 -0
  1346. package/dist/tests/cases/integration/graphQlRequests/upsert/basicUpsert.test.d.ts.map +1 -0
  1347. package/dist/tests/cases/integration/graphQlRequests/validation/conditions.test.d.ts +7 -0
  1348. package/dist/tests/cases/integration/graphQlRequests/validation/conditions.test.d.ts.map +1 -0
  1349. package/dist/tests/cases/integration/graphQlRequests/validation/nestedValidation.test.d.ts +2 -0
  1350. package/dist/tests/cases/integration/graphQlRequests/validation/nestedValidation.test.d.ts.map +1 -0
  1351. package/dist/tests/cases/integration/graphQlRequests/validation/optionalAssert.test.d.ts +6 -0
  1352. package/dist/tests/cases/integration/graphQlRequests/validation/optionalAssert.test.d.ts.map +1 -0
  1353. package/dist/tests/cases/integration/graphQlRequests/validation/required.test.d.ts +2 -0
  1354. package/dist/tests/cases/integration/graphQlRequests/validation/required.test.d.ts.map +1 -0
  1355. package/dist/tests/cases/integration/graphQlRequests/validation/requiredWhen.test.d.ts +7 -0
  1356. package/dist/tests/cases/integration/graphQlRequests/validation/requiredWhen.test.d.ts.map +1 -0
  1357. package/dist/tests/cases/integration/graphQlRequests/validation/rules/andRule.test.d.ts +2 -0
  1358. package/dist/tests/cases/integration/graphQlRequests/validation/rules/andRule.test.d.ts.map +1 -0
  1359. package/dist/tests/cases/integration/graphQlRequests/validation/rules/lengthRangeRule.test.d.ts +2 -0
  1360. package/dist/tests/cases/integration/graphQlRequests/validation/rules/lengthRangeRule.test.d.ts.map +1 -0
  1361. package/dist/tests/cases/integration/graphQlRequests/validation/rules/maxLengthRule.test.d.ts +2 -0
  1362. package/dist/tests/cases/integration/graphQlRequests/validation/rules/maxLengthRule.test.d.ts.map +1 -0
  1363. package/dist/tests/cases/integration/graphQlRequests/validation/rules/minLength.test.d.ts +2 -0
  1364. package/dist/tests/cases/integration/graphQlRequests/validation/rules/minLength.test.d.ts.map +1 -0
  1365. package/dist/tests/cases/integration/graphQlRequests/validation/rules/notEmptyRule.test.d.ts +2 -0
  1366. package/dist/tests/cases/integration/graphQlRequests/validation/rules/notEmptyRule.test.d.ts.map +1 -0
  1367. package/dist/tests/cases/integration/graphQlRequests/validation/rules/notRule.test.d.ts +2 -0
  1368. package/dist/tests/cases/integration/graphQlRequests/validation/rules/notRule.test.d.ts.map +1 -0
  1369. package/dist/tests/cases/integration/graphQlRequests/validation/rules/orRule.test.d.ts +2 -0
  1370. package/dist/tests/cases/integration/graphQlRequests/validation/rules/orRule.test.d.ts.map +1 -0
  1371. package/dist/tests/cases/integration/graphQlRequests/validation/rules/patternRule.test.d.ts +2 -0
  1372. package/dist/tests/cases/integration/graphQlRequests/validation/rules/patternRule.test.d.ts.map +1 -0
  1373. package/dist/tests/cases/integration/graphQlRequests/validation/rules/rangeRule.test.d.ts +2 -0
  1374. package/dist/tests/cases/integration/graphQlRequests/validation/rules/rangeRule.test.d.ts.map +1 -0
  1375. package/dist/tests/cases/integration/graphQlRequests/validation/utils.d.ts +23 -0
  1376. package/dist/tests/cases/integration/graphQlRequests/validation/utils.d.ts.map +1 -0
  1377. package/dist/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.d.ts +2 -0
  1378. package/dist/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.d.ts.map +1 -0
  1379. package/dist/tests/cases/integration/graphQlSchema/model.d.ts +23 -0
  1380. package/dist/tests/cases/integration/graphQlSchema/model.d.ts.map +1 -0
  1381. package/dist/tests/cases/unit/aclVariablesFactory.test.d.ts +2 -0
  1382. package/dist/tests/cases/unit/aclVariablesFactory.test.d.ts.map +1 -0
  1383. package/dist/tests/cases/unit/conditionOptimizer.test.d.ts +2 -0
  1384. package/dist/tests/cases/unit/conditionOptimizer.test.d.ts.map +1 -0
  1385. package/dist/tests/cases/unit/inputPreValidator.test.d.ts +2 -0
  1386. package/dist/tests/cases/unit/inputPreValidator.test.d.ts.map +1 -0
  1387. package/dist/tests/cases/unit/inputValidation.test.d.ts +2 -0
  1388. package/dist/tests/cases/unit/inputValidation.test.d.ts.map +1 -0
  1389. package/dist/tests/cases/unit/orderbyHelper.test.d.ts +2 -0
  1390. package/dist/tests/cases/unit/orderbyHelper.test.d.ts.map +1 -0
  1391. package/dist/tests/cases/unit/permissionMerger.test.d.ts +2 -0
  1392. package/dist/tests/cases/unit/permissionMerger.test.d.ts.map +1 -0
  1393. package/dist/tests/cases/unit/predicatesFactory.test.d.ts +2 -0
  1394. package/dist/tests/cases/unit/predicatesFactory.test.d.ts.map +1 -0
  1395. package/dist/tests/cases/unit/predicatesInjector.test.d.ts +2 -0
  1396. package/dist/tests/cases/unit/predicatesInjector.test.d.ts.map +1 -0
  1397. package/dist/tests/cases/unit/uuidType.test.d.ts +2 -0
  1398. package/dist/tests/cases/unit/uuidType.test.d.ts.map +1 -0
  1399. package/dist/tests/cases/unit/variableInjector.test.d.ts +2 -0
  1400. package/dist/tests/cases/unit/variableInjector.test.d.ts.map +1 -0
  1401. package/dist/tests/cases/unit/whereBuilder.test.d.ts +2 -0
  1402. package/dist/tests/cases/unit/whereBuilder.test.d.ts.map +1 -0
  1403. package/dist/tests/cases/unit/whereOptimizer.test.d.ts +2 -0
  1404. package/dist/tests/cases/unit/whereOptimizer.test.d.ts.map +1 -0
  1405. package/dist/tests/src/assert.d.ts +5 -0
  1406. package/dist/tests/src/assert.d.ts.map +1 -0
  1407. package/dist/tests/src/tags.d.ts +3 -0
  1408. package/dist/tests/src/tags.d.ts.map +1 -0
  1409. package/dist/tests/src/test.d.ts +21 -0
  1410. package/dist/tests/src/test.d.ts.map +1 -0
  1411. package/dist/tests/src/testGraphql.d.ts +10 -0
  1412. package/dist/tests/src/testGraphql.d.ts.map +1 -0
  1413. package/dist/tests/src/testUuid.d.ts +5 -0
  1414. package/dist/tests/src/testUuid.d.ts.map +1 -0
  1415. package/dist/tests/src/utils.d.ts +6 -0
  1416. package/dist/tests/src/utils.d.ts.map +1 -0
  1417. package/dist/tests/tsconfig.tsbuildinfo +1 -0
  1418. package/dist/types/ExecutionContainer.d.ts +163 -0
  1419. package/dist/types/ExecutionContainer.d.ts.map +1 -0
  1420. package/dist/types/acl/Authorizator.d.ts +16 -0
  1421. package/dist/types/acl/Authorizator.d.ts.map +1 -0
  1422. package/dist/types/acl/EvaluatedPredicateReplacer.d.ts +9 -0
  1423. package/dist/types/acl/EvaluatedPredicateReplacer.d.ts.map +1 -0
  1424. package/dist/types/acl/PermissionFactory.d.ts +17 -0
  1425. package/dist/types/acl/PermissionFactory.d.ts.map +1 -0
  1426. package/dist/types/acl/PredicateFactory.d.ts +20 -0
  1427. package/dist/types/acl/PredicateFactory.d.ts.map +1 -0
  1428. package/dist/types/acl/PredicatesInjector.d.ts +25 -0
  1429. package/dist/types/acl/PredicatesInjector.d.ts.map +1 -0
  1430. package/dist/types/acl/VariableInjector.d.ts +9 -0
  1431. package/dist/types/acl/VariableInjector.d.ts.map +1 -0
  1432. package/dist/types/acl/VariableUtils.d.ts +5 -0
  1433. package/dist/types/acl/VariableUtils.d.ts.map +1 -0
  1434. package/dist/types/acl/index.d.ts +7 -0
  1435. package/dist/types/acl/index.d.ts.map +1 -0
  1436. package/dist/types/exception.d.ts +7 -0
  1437. package/dist/types/exception.d.ts.map +1 -0
  1438. package/dist/types/extensions/EntityFieldsProvider.d.ts +11 -0
  1439. package/dist/types/extensions/EntityFieldsProvider.d.ts.map +1 -0
  1440. package/dist/types/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.d.ts +14 -0
  1441. package/dist/types/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.d.ts.map +1 -0
  1442. package/dist/types/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.d.ts +11 -0
  1443. package/dist/types/extensions/hasManyToHasOneReducer/HasManyToHasOneReducerExecutionHandler.d.ts.map +1 -0
  1444. package/dist/types/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.d.ts +27 -0
  1445. package/dist/types/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.d.ts.map +1 -0
  1446. package/dist/types/extensions/hasManyToHasOneReducer/index.d.ts +4 -0
  1447. package/dist/types/extensions/hasManyToHasOneReducer/index.d.ts.map +1 -0
  1448. package/dist/types/extensions/index.d.ts +3 -0
  1449. package/dist/types/extensions/index.d.ts.map +1 -0
  1450. package/dist/types/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.d.ts +19 -0
  1451. package/dist/types/extensions/paginatedHasMany/PaginatedHasManyCountVisitor.d.ts.map +1 -0
  1452. package/dist/types/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.d.ts +10 -0
  1453. package/dist/types/extensions/paginatedHasMany/PaginatedHasManyExecutionHandler.d.ts.map +1 -0
  1454. package/dist/types/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.d.ts +14 -0
  1455. package/dist/types/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.d.ts.map +1 -0
  1456. package/dist/types/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.d.ts +24 -0
  1457. package/dist/types/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.d.ts.map +1 -0
  1458. package/dist/types/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.d.ts +19 -0
  1459. package/dist/types/extensions/paginatedHasMany/PaginatedHasManyNodesVisitor.d.ts.map +1 -0
  1460. package/dist/types/index.d.ts +13 -0
  1461. package/dist/types/index.d.ts.map +1 -0
  1462. package/dist/types/input-validation/ColumnValueResolver.d.ts +10 -0
  1463. package/dist/types/input-validation/ColumnValueResolver.d.ts.map +1 -0
  1464. package/dist/types/input-validation/EntityRulesResolver.d.ts +9 -0
  1465. package/dist/types/input-validation/EntityRulesResolver.d.ts.map +1 -0
  1466. package/dist/types/input-validation/InputValidator.d.ts +8 -0
  1467. package/dist/types/input-validation/InputValidator.d.ts.map +1 -0
  1468. package/dist/types/input-validation/QueryAstFactory.d.ts +10 -0
  1469. package/dist/types/input-validation/QueryAstFactory.d.ts.map +1 -0
  1470. package/dist/types/input-validation/ValidationContext.d.ts +48 -0
  1471. package/dist/types/input-validation/ValidationContext.d.ts.map +1 -0
  1472. package/dist/types/input-validation/ValidationDataSelector.d.ts +12 -0
  1473. package/dist/types/input-validation/ValidationDataSelector.d.ts.map +1 -0
  1474. package/dist/types/input-validation/ValidationEvaluation.d.ts +4 -0
  1475. package/dist/types/input-validation/ValidationEvaluation.d.ts.map +1 -0
  1476. package/dist/types/input-validation/ValidationPath.d.ts +11 -0
  1477. package/dist/types/input-validation/ValidationPath.d.ts.map +1 -0
  1478. package/dist/types/input-validation/dependencies/DependencyCollector.d.ts +11 -0
  1479. package/dist/types/input-validation/dependencies/DependencyCollector.d.ts.map +1 -0
  1480. package/dist/types/input-validation/dependencies/DependencyMerger.d.ts +5 -0
  1481. package/dist/types/input-validation/dependencies/DependencyMerger.d.ts.map +1 -0
  1482. package/dist/types/input-validation/dependencies/index.d.ts +3 -0
  1483. package/dist/types/input-validation/dependencies/index.d.ts.map +1 -0
  1484. package/dist/types/input-validation/exceptions.d.ts +3 -0
  1485. package/dist/types/input-validation/exceptions.d.ts.map +1 -0
  1486. package/dist/types/input-validation/index.d.ts +12 -0
  1487. package/dist/types/input-validation/index.d.ts.map +1 -0
  1488. package/dist/types/input-validation/preValidation/CreateInputPreValidationProcessor.d.ts +29 -0
  1489. package/dist/types/input-validation/preValidation/CreateInputPreValidationProcessor.d.ts.map +1 -0
  1490. package/dist/types/input-validation/preValidation/InputPreValidator.d.ts +37 -0
  1491. package/dist/types/input-validation/preValidation/InputPreValidator.d.ts.map +1 -0
  1492. package/dist/types/input-validation/preValidation/UpdateInputPreValidationProcessor.d.ts +45 -0
  1493. package/dist/types/input-validation/preValidation/UpdateInputPreValidationProcessor.d.ts.map +1 -0
  1494. package/dist/types/input-validation/preValidation/index.d.ts +4 -0
  1495. package/dist/types/input-validation/preValidation/index.d.ts.map +1 -0
  1496. package/dist/types/inputProcessing/CreateInputProcessor.d.ts +52 -0
  1497. package/dist/types/inputProcessing/CreateInputProcessor.d.ts.map +1 -0
  1498. package/dist/types/inputProcessing/CreateInputVisitor.d.ts +20 -0
  1499. package/dist/types/inputProcessing/CreateInputVisitor.d.ts.map +1 -0
  1500. package/dist/types/inputProcessing/FieldNode.d.ts +7 -0
  1501. package/dist/types/inputProcessing/FieldNode.d.ts.map +1 -0
  1502. package/dist/types/inputProcessing/ObjectNode.d.ts +16 -0
  1503. package/dist/types/inputProcessing/ObjectNode.d.ts.map +1 -0
  1504. package/dist/types/inputProcessing/UniqueWhereExpander.d.ts +14 -0
  1505. package/dist/types/inputProcessing/UniqueWhereExpander.d.ts.map +1 -0
  1506. package/dist/types/inputProcessing/UpdateInputProcessor.d.ts +91 -0
  1507. package/dist/types/inputProcessing/UpdateInputProcessor.d.ts.map +1 -0
  1508. package/dist/types/inputProcessing/UpdateInputVisitor.d.ts +20 -0
  1509. package/dist/types/inputProcessing/UpdateInputVisitor.d.ts.map +1 -0
  1510. package/dist/types/inputProcessing/index.d.ts +8 -0
  1511. package/dist/types/inputProcessing/index.d.ts.map +1 -0
  1512. package/dist/types/introspection/IntrospectionSchemaDefinitionFactory.d.ts +9 -0
  1513. package/dist/types/introspection/IntrospectionSchemaDefinitionFactory.d.ts.map +1 -0
  1514. package/dist/types/introspection/IntrospectionSchemaFactory.d.ts +14 -0
  1515. package/dist/types/introspection/IntrospectionSchemaFactory.d.ts.map +1 -0
  1516. package/dist/types/introspection/content-schema.types.d.ts +125 -0
  1517. package/dist/types/introspection/content-schema.types.d.ts.map +1 -0
  1518. package/dist/types/introspection/index.d.ts +5 -0
  1519. package/dist/types/introspection/index.d.ts.map +1 -0
  1520. package/dist/types/introspection/introspection.schema.d.ts +5 -0
  1521. package/dist/types/introspection/introspection.schema.d.ts.map +1 -0
  1522. package/dist/types/mapper/CheckedPrimary.d.ts +6 -0
  1523. package/dist/types/mapper/CheckedPrimary.d.ts.map +1 -0
  1524. package/dist/types/mapper/ColumnValue.d.ts +10 -0
  1525. package/dist/types/mapper/ColumnValue.d.ts.map +1 -0
  1526. package/dist/types/mapper/Constraints.d.ts +28 -0
  1527. package/dist/types/mapper/Constraints.d.ts.map +1 -0
  1528. package/dist/types/mapper/ErrorUtils.d.ts +6 -0
  1529. package/dist/types/mapper/ErrorUtils.d.ts.map +1 -0
  1530. package/dist/types/mapper/EventManager.d.ts +86 -0
  1531. package/dist/types/mapper/EventManager.d.ts.map +1 -0
  1532. package/dist/types/mapper/JunctionTableManager.d.ts +47 -0
  1533. package/dist/types/mapper/JunctionTableManager.d.ts.map +1 -0
  1534. package/dist/types/mapper/Mapper.d.ts +55 -0
  1535. package/dist/types/mapper/Mapper.d.ts.map +1 -0
  1536. package/dist/types/mapper/MapperFactory.d.ts +34 -0
  1537. package/dist/types/mapper/MapperFactory.d.ts.map +1 -0
  1538. package/dist/types/mapper/MutationProcessorHelper.d.ts +11 -0
  1539. package/dist/types/mapper/MutationProcessorHelper.d.ts.map +1 -0
  1540. package/dist/types/mapper/Result.d.ts +158 -0
  1541. package/dist/types/mapper/Result.d.ts.map +1 -0
  1542. package/dist/types/mapper/delete/DeleteExecutor.d.ts +29 -0
  1543. package/dist/types/mapper/delete/DeleteExecutor.d.ts.map +1 -0
  1544. package/dist/types/mapper/delete/DeleteState.d.ts +22 -0
  1545. package/dist/types/mapper/delete/DeleteState.d.ts.map +1 -0
  1546. package/dist/types/mapper/delete/DeletedEntitiesStorage.d.ts +9 -0
  1547. package/dist/types/mapper/delete/DeletedEntitiesStorage.d.ts.map +1 -0
  1548. package/dist/types/mapper/delete/helpers.d.ts +11 -0
  1549. package/dist/types/mapper/delete/helpers.d.ts.map +1 -0
  1550. package/dist/types/mapper/delete/index.d.ts +3 -0
  1551. package/dist/types/mapper/delete/index.d.ts.map +1 -0
  1552. package/dist/types/mapper/index.d.ts +16 -0
  1553. package/dist/types/mapper/index.d.ts.map +1 -0
  1554. package/dist/types/mapper/insert/InsertBuilder.d.ts +25 -0
  1555. package/dist/types/mapper/insert/InsertBuilder.d.ts.map +1 -0
  1556. package/dist/types/mapper/insert/InsertBuilderFactory.d.ts +13 -0
  1557. package/dist/types/mapper/insert/InsertBuilderFactory.d.ts.map +1 -0
  1558. package/dist/types/mapper/insert/Inserter.d.ts +20 -0
  1559. package/dist/types/mapper/insert/Inserter.d.ts.map +1 -0
  1560. package/dist/types/mapper/insert/SqlCreateInputProcessor.d.ts +33 -0
  1561. package/dist/types/mapper/insert/SqlCreateInputProcessor.d.ts.map +1 -0
  1562. package/dist/types/mapper/insert/index.d.ts +5 -0
  1563. package/dist/types/mapper/insert/index.d.ts.map +1 -0
  1564. package/dist/types/mapper/insert/relations/ManyHasManyCreateInputProcessor.d.ts +26 -0
  1565. package/dist/types/mapper/insert/relations/ManyHasManyCreateInputProcessor.d.ts.map +1 -0
  1566. package/dist/types/mapper/insert/relations/ManyHasOneCreateInputProcessor.d.ts +25 -0
  1567. package/dist/types/mapper/insert/relations/ManyHasOneCreateInputProcessor.d.ts.map +1 -0
  1568. package/dist/types/mapper/insert/relations/OneHasManyCreateInputProcessor.d.ts +28 -0
  1569. package/dist/types/mapper/insert/relations/OneHasManyCreateInputProcessor.d.ts.map +1 -0
  1570. package/dist/types/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.d.ts +31 -0
  1571. package/dist/types/mapper/insert/relations/OneHasOneInverseCreateInputProcessor.d.ts.map +1 -0
  1572. package/dist/types/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.d.ts +26 -0
  1573. package/dist/types/mapper/insert/relations/OneHasOneOwningCreateInputProcessor.d.ts.map +1 -0
  1574. package/dist/types/mapper/select/ConditionBuilder.d.ts +6 -0
  1575. package/dist/types/mapper/select/ConditionBuilder.d.ts.map +1 -0
  1576. package/dist/types/mapper/select/JoinBuilder.d.ts +9 -0
  1577. package/dist/types/mapper/select/JoinBuilder.d.ts.map +1 -0
  1578. package/dist/types/mapper/select/JoinVisitor.d.ts +21 -0
  1579. package/dist/types/mapper/select/JoinVisitor.d.ts.map +1 -0
  1580. package/dist/types/mapper/select/OrderByBuilder.d.ts +12 -0
  1581. package/dist/types/mapper/select/OrderByBuilder.d.ts.map +1 -0
  1582. package/dist/types/mapper/select/OrderByHelper.d.ts +8 -0
  1583. package/dist/types/mapper/select/OrderByHelper.d.ts.map +1 -0
  1584. package/dist/types/mapper/select/Path.d.ts +20 -0
  1585. package/dist/types/mapper/select/Path.d.ts.map +1 -0
  1586. package/dist/types/mapper/select/RelationFetcher.d.ts +53 -0
  1587. package/dist/types/mapper/select/RelationFetcher.d.ts.map +1 -0
  1588. package/dist/types/mapper/select/SelectBuilder.d.ts +36 -0
  1589. package/dist/types/mapper/select/SelectBuilder.d.ts.map +1 -0
  1590. package/dist/types/mapper/select/SelectBuilderFactory.d.ts +8 -0
  1591. package/dist/types/mapper/select/SelectBuilderFactory.d.ts.map +1 -0
  1592. package/dist/types/mapper/select/SelectExecutionHandler.d.ts +36 -0
  1593. package/dist/types/mapper/select/SelectExecutionHandler.d.ts.map +1 -0
  1594. package/dist/types/mapper/select/SelectHydrator.d.ts +28 -0
  1595. package/dist/types/mapper/select/SelectHydrator.d.ts.map +1 -0
  1596. package/dist/types/mapper/select/WhereBuilder.d.ts +29 -0
  1597. package/dist/types/mapper/select/WhereBuilder.d.ts.map +1 -0
  1598. package/dist/types/mapper/select/handlers/FieldsVisitor.d.ts +26 -0
  1599. package/dist/types/mapper/select/handlers/FieldsVisitor.d.ts.map +1 -0
  1600. package/dist/types/mapper/select/handlers/FieldsVisitorFactory.d.ts +17 -0
  1601. package/dist/types/mapper/select/handlers/FieldsVisitorFactory.d.ts.map +1 -0
  1602. package/dist/types/mapper/select/handlers/MetaHandler.d.ts +11 -0
  1603. package/dist/types/mapper/select/handlers/MetaHandler.d.ts.map +1 -0
  1604. package/dist/types/mapper/select/handlers/index.d.ts +4 -0
  1605. package/dist/types/mapper/select/handlers/index.d.ts.map +1 -0
  1606. package/dist/types/mapper/select/index.d.ts +14 -0
  1607. package/dist/types/mapper/select/index.d.ts.map +1 -0
  1608. package/dist/types/mapper/select/optimizer/ConditionOptimizer.d.ts +5 -0
  1609. package/dist/types/mapper/select/optimizer/ConditionOptimizer.d.ts.map +1 -0
  1610. package/dist/types/mapper/select/optimizer/WhereOptimizer.d.ts +24 -0
  1611. package/dist/types/mapper/select/optimizer/WhereOptimizer.d.ts.map +1 -0
  1612. package/dist/types/mapper/select/optimizer/WhereReplacer.d.ts +5 -0
  1613. package/dist/types/mapper/select/optimizer/WhereReplacer.d.ts.map +1 -0
  1614. package/dist/types/mapper/select/optimizer/helpers.d.ts +10 -0
  1615. package/dist/types/mapper/select/optimizer/helpers.d.ts.map +1 -0
  1616. package/dist/types/mapper/types.d.ts +89 -0
  1617. package/dist/types/mapper/types.d.ts.map +1 -0
  1618. package/dist/types/mapper/update/SqlUpdateInputProcessor.d.ts +29 -0
  1619. package/dist/types/mapper/update/SqlUpdateInputProcessor.d.ts.map +1 -0
  1620. package/dist/types/mapper/update/UpdateBuilder.d.ts +28 -0
  1621. package/dist/types/mapper/update/UpdateBuilder.d.ts.map +1 -0
  1622. package/dist/types/mapper/update/UpdateBuilderFactory.d.ts +13 -0
  1623. package/dist/types/mapper/update/UpdateBuilderFactory.d.ts.map +1 -0
  1624. package/dist/types/mapper/update/Updater.d.ts +14 -0
  1625. package/dist/types/mapper/update/Updater.d.ts.map +1 -0
  1626. package/dist/types/mapper/update/index.d.ts +5 -0
  1627. package/dist/types/mapper/update/index.d.ts.map +1 -0
  1628. package/dist/types/mapper/update/relations/ManyHasManyUpdateInputProcessor.d.ts +48 -0
  1629. package/dist/types/mapper/update/relations/ManyHasManyUpdateInputProcessor.d.ts.map +1 -0
  1630. package/dist/types/mapper/update/relations/ManyHasOneUpdateInputProcessor.d.ts +42 -0
  1631. package/dist/types/mapper/update/relations/ManyHasOneUpdateInputProcessor.d.ts.map +1 -0
  1632. package/dist/types/mapper/update/relations/OneHasManyUpdateInputProcessor.d.ts +48 -0
  1633. package/dist/types/mapper/update/relations/OneHasManyUpdateInputProcessor.d.ts.map +1 -0
  1634. package/dist/types/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.d.ts +38 -0
  1635. package/dist/types/mapper/update/relations/OneHasOneInverseUpdateInputProcessor.d.ts.map +1 -0
  1636. package/dist/types/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.d.ts +42 -0
  1637. package/dist/types/mapper/update/relations/OneHasOneOwningUpdateInputProcessor.d.ts.map +1 -0
  1638. package/dist/types/resolvers/GraphQlQueryAstFactory.d.ts +14 -0
  1639. package/dist/types/resolvers/GraphQlQueryAstFactory.d.ts.map +1 -0
  1640. package/dist/types/resolvers/MutationResolver.d.ts +43 -0
  1641. package/dist/types/resolvers/MutationResolver.d.ts.map +1 -0
  1642. package/dist/types/resolvers/ReadHelpers.d.ts +7 -0
  1643. package/dist/types/resolvers/ReadHelpers.d.ts.map +1 -0
  1644. package/dist/types/resolvers/ReadResolver.d.ts +15 -0
  1645. package/dist/types/resolvers/ReadResolver.d.ts.map +1 -0
  1646. package/dist/types/resolvers/RefreshViewResolver.d.ts +13 -0
  1647. package/dist/types/resolvers/RefreshViewResolver.d.ts.map +1 -0
  1648. package/dist/types/resolvers/ValidationResolver.d.ts +12 -0
  1649. package/dist/types/resolvers/ValidationResolver.d.ts.map +1 -0
  1650. package/dist/types/resolvers/index.d.ts +5 -0
  1651. package/dist/types/resolvers/index.d.ts.map +1 -0
  1652. package/dist/types/schema/ColumnTypeResolver.d.ts +18 -0
  1653. package/dist/types/schema/ColumnTypeResolver.d.ts.map +1 -0
  1654. package/dist/types/schema/ConditionTypeProvider.d.ts +12 -0
  1655. package/dist/types/schema/ConditionTypeProvider.d.ts.map +1 -0
  1656. package/dist/types/schema/CustomTypesProvider.d.ts +9 -0
  1657. package/dist/types/schema/CustomTypesProvider.d.ts.map +1 -0
  1658. package/dist/types/schema/EntityTypeProvider.d.ts +27 -0
  1659. package/dist/types/schema/EntityTypeProvider.d.ts.map +1 -0
  1660. package/dist/types/schema/EnumsProvider.d.ts +11 -0
  1661. package/dist/types/schema/EnumsProvider.d.ts.map +1 -0
  1662. package/dist/types/schema/FieldAccessVisitor.d.ts +10 -0
  1663. package/dist/types/schema/FieldAccessVisitor.d.ts.map +1 -0
  1664. package/dist/types/schema/GraphQlSchemaBuilder.d.ts +26 -0
  1665. package/dist/types/schema/GraphQlSchemaBuilder.d.ts.map +1 -0
  1666. package/dist/types/schema/GraphQlSchemaBuilderFactory.d.ts +103 -0
  1667. package/dist/types/schema/GraphQlSchemaBuilderFactory.d.ts.map +1 -0
  1668. package/dist/types/schema/MutationProvider.d.ts +28 -0
  1669. package/dist/types/schema/MutationProvider.d.ts.map +1 -0
  1670. package/dist/types/schema/OperationExtension.d.ts +18 -0
  1671. package/dist/types/schema/OperationExtension.d.ts.map +1 -0
  1672. package/dist/types/schema/OrderByTypeProvider.d.ts +14 -0
  1673. package/dist/types/schema/OrderByTypeProvider.d.ts.map +1 -0
  1674. package/dist/types/schema/PaginatedFieldConfigFactory.d.ts +13 -0
  1675. package/dist/types/schema/PaginatedFieldConfigFactory.d.ts.map +1 -0
  1676. package/dist/types/schema/QueryProvider.d.ts +23 -0
  1677. package/dist/types/schema/QueryProvider.d.ts.map +1 -0
  1678. package/dist/types/schema/RefreshViewMutationProvider.d.ts +11 -0
  1679. package/dist/types/schema/RefreshViewMutationProvider.d.ts.map +1 -0
  1680. package/dist/types/schema/ResultSchemaTypeProvider.d.ts +14 -0
  1681. package/dist/types/schema/ResultSchemaTypeProvider.d.ts.map +1 -0
  1682. package/dist/types/schema/ValidationQueriesProvider.d.ts +21 -0
  1683. package/dist/types/schema/ValidationQueriesProvider.d.ts.map +1 -0
  1684. package/dist/types/schema/WhereTypeProvider.d.ts +21 -0
  1685. package/dist/types/schema/WhereTypeProvider.d.ts.map +1 -0
  1686. package/dist/types/schema/entities/FieldArgsVisitor.d.ts +32 -0
  1687. package/dist/types/schema/entities/FieldArgsVisitor.d.ts.map +1 -0
  1688. package/dist/types/schema/entities/FieldTypeVisitor.d.ts +15 -0
  1689. package/dist/types/schema/entities/FieldTypeVisitor.d.ts.map +1 -0
  1690. package/dist/types/schema/entities/index.d.ts +3 -0
  1691. package/dist/types/schema/entities/index.d.ts.map +1 -0
  1692. package/dist/types/schema/index.d.ts +19 -0
  1693. package/dist/types/schema/index.d.ts.map +1 -0
  1694. package/dist/types/schema/mutations/ConnectOrCreateRelationInputProvider.d.ts +15 -0
  1695. package/dist/types/schema/mutations/ConnectOrCreateRelationInputProvider.d.ts.map +1 -0
  1696. package/dist/types/schema/mutations/CreateEntityInputFieldVisitor.d.ts +16 -0
  1697. package/dist/types/schema/mutations/CreateEntityInputFieldVisitor.d.ts.map +1 -0
  1698. package/dist/types/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.d.ts +15 -0
  1699. package/dist/types/schema/mutations/CreateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -0
  1700. package/dist/types/schema/mutations/CreateEntityRelationInputFieldVisitor.d.ts +20 -0
  1701. package/dist/types/schema/mutations/CreateEntityRelationInputFieldVisitor.d.ts.map +1 -0
  1702. package/dist/types/schema/mutations/CreateEntityRelationInputProvider.d.ts +12 -0
  1703. package/dist/types/schema/mutations/CreateEntityRelationInputProvider.d.ts.map +1 -0
  1704. package/dist/types/schema/mutations/EntityInputProvider.d.ts +19 -0
  1705. package/dist/types/schema/mutations/EntityInputProvider.d.ts.map +1 -0
  1706. package/dist/types/schema/mutations/UpdateEntityInputFieldVisitor.d.ts +21 -0
  1707. package/dist/types/schema/mutations/UpdateEntityInputFieldVisitor.d.ts.map +1 -0
  1708. package/dist/types/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.d.ts +15 -0
  1709. package/dist/types/schema/mutations/UpdateEntityRelationAllowedOperationsVisitor.d.ts.map +1 -0
  1710. package/dist/types/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts +24 -0
  1711. package/dist/types/schema/mutations/UpdateEntityRelationInputFieldVisitor.d.ts.map +1 -0
  1712. package/dist/types/schema/mutations/UpdateEntityRelationInputProvider.d.ts +12 -0
  1713. package/dist/types/schema/mutations/UpdateEntityRelationInputProvider.d.ts.map +1 -0
  1714. package/dist/types/schema/mutations/index.d.ts +10 -0
  1715. package/dist/types/schema/mutations/index.d.ts.map +1 -0
  1716. package/dist/types/schema/utils.d.ts +4 -0
  1717. package/dist/types/schema/utils.d.ts.map +1 -0
  1718. package/dist/types/tsconfig.tsbuildinfo +1 -0
  1719. package/dist/types/types.d.ts +10 -0
  1720. package/dist/types/types.d.ts.map +1 -0
  1721. package/dist/types/utils/Interface.d.ts +4 -0
  1722. package/dist/types/utils/Interface.d.ts.map +1 -0
  1723. package/dist/types/utils/Mutex.d.ts +8 -0
  1724. package/dist/types/utils/Mutex.d.ts.map +1 -0
  1725. package/dist/types/utils/ResolveInfoUtils.d.ts +6 -0
  1726. package/dist/types/utils/ResolveInfoUtils.d.ts.map +1 -0
  1727. package/dist/types/utils/accessor.d.ts +7 -0
  1728. package/dist/types/utils/accessor.d.ts.map +1 -0
  1729. package/dist/types/utils/assertNever.d.ts +2 -0
  1730. package/dist/types/utils/assertNever.d.ts.map +1 -0
  1731. package/dist/types/utils/index.d.ts +14 -0
  1732. package/dist/types/utils/index.d.ts.map +1 -0
  1733. package/dist/types/utils/isIt.d.ts +2 -0
  1734. package/dist/types/utils/isIt.d.ts.map +1 -0
  1735. package/dist/types/utils/object.d.ts +14 -0
  1736. package/dist/types/utils/object.d.ts.map +1 -0
  1737. package/dist/types/utils/paginationUtils.d.ts +12 -0
  1738. package/dist/types/utils/paginationUtils.d.ts.map +1 -0
  1739. package/dist/types/utils/promises.d.ts +3 -0
  1740. package/dist/types/utils/promises.d.ts.map +1 -0
  1741. package/dist/types/utils/singletonFactory.d.ts +2 -0
  1742. package/dist/types/utils/singletonFactory.d.ts.map +1 -0
  1743. package/dist/types/utils/strings.d.ts +3 -0
  1744. package/dist/types/utils/strings.d.ts.map +1 -0
  1745. package/dist/types/utils/tuple.d.ts +2 -0
  1746. package/dist/types/utils/tuple.d.ts.map +1 -0
  1747. package/dist/types/utils/uniqueWhereFields.d.ts +5 -0
  1748. package/dist/types/utils/uniqueWhereFields.d.ts.map +1 -0
  1749. package/dist/types/utils/viewComputedId.d.ts +2 -0
  1750. package/dist/types/utils/viewComputedId.d.ts.map +1 -0
  1751. package/package.json +16 -16
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermissionFactory.cjs","sources":["../../../../../packages/engine-content-api/src/acl/PermissionFactory.ts"],"sourcesContent":["import { Acl, Model, Schema, Writable } from '@contember/schema'\nimport { getEntity, PredicateDefinitionProcessor } from '@contember/schema-utils'\nimport { mapObject } from '../utils'\nimport { prefixVariable } from './VariableUtils'\n\nexport interface Identity {\n\tprojectRoles: readonly string[]\n}\n\nexport class PermissionFactory {\n\tpublic create(schema: Schema, roles: readonly string[], prefix?: string): Acl.Permissions {\n\t\tlet result: Acl.Permissions = {}\n\t\tfor (let role of roles) {\n\t\t\tconst roleDefinition = schema.acl.roles[role] || { entities: {} }\n\t\t\tlet rolePermissions: Acl.Permissions = this.prefixPredicatesWithRole(schema.model, roleDefinition.entities, prefix || role)\n\t\t\tif (roleDefinition.inherits) {\n\t\t\t\tconst inheritedPermissions = this.create(schema, roleDefinition.inherits, prefix || role)\n\t\t\t\trolePermissions = this.mergePermissions(inheritedPermissions, rolePermissions)\n\t\t\t}\n\t\t\tresult = this.mergePermissions(result, rolePermissions)\n\t\t}\n\t\tresult = this.makePrimaryPredicatesUnionOfAllFields(schema.model, result)\n\n\t\treturn result\n\t}\n\n\tprivate prefixPredicatesWithRole(model: Model.Schema, permissions: Acl.Permissions, role: string): Acl.Permissions {\n\t\treturn mapObject(permissions, ({ operations, predicates }, entityName) => ({\n\t\t\toperations,\n\t\t\tpredicates: mapObject(predicates, predicate => {\n\t\t\t\tconst predicateDefinitionProcessor = new PredicateDefinitionProcessor(model)\n\t\t\t\treturn predicateDefinitionProcessor.process(getEntity(model, entityName), predicate, {\n\t\t\t\t\thandleColumn: ({ value }) => {\n\t\t\t\t\t\tif (typeof value === 'string') {\n\t\t\t\t\t\t\treturn prefixVariable(role, value)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn value\n\t\t\t\t\t},\n\t\t\t\t\thandleRelation: ({ value }) => {\n\t\t\t\t\t\tif (typeof value === 'string') {\n\t\t\t\t\t\t\treturn prefixVariable(role, value)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn value\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t}),\n\t\t}))\n\t}\n\n\tprivate makePrimaryPredicatesUnionOfAllFields(model: Model.Schema, permissions: Acl.Permissions): Acl.Permissions {\n\t\treturn mapObject(permissions, (permission, entityName): Acl.EntityPermissions => {\n\t\t\tconst entity = getEntity(model, entityName)\n\t\t\tconst entityPredicates: Writable<Acl.PredicateMap> = { ...permission.predicates }\n\t\t\tconst entityOperations: Writable<Acl.EntityOperations> = { ...permission.operations }\n\n\t\t\tconst operationNames = ['read', 'create', 'update'] as const\n\t\t\tfor (let operation of operationNames) {\n\t\t\t\tif (!entityOperations[operation]) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tconst fieldPermissions: Writable<Acl.FieldPermissions> = { ...entityOperations[operation] }\n\t\t\t\tentityOperations[operation] = fieldPermissions\n\n\t\t\t\tif (Object.values(fieldPermissions).some(it => it === true)) {\n\t\t\t\t\tfieldPermissions[entity.primary] = true\n\t\t\t\t}\n\t\t\t\tif (fieldPermissions[entity.primary] === true) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tconst predicateReferences: string[] = Object.entries(fieldPermissions)\n\t\t\t\t\t.filter(([key]) => key !== entity.primary)\n\t\t\t\t\t.map(([key, value]) => value)\n\t\t\t\t\t.filter(value => value !== false)\n\t\t\t\t\t.filter((value, index, array): value is string => array.indexOf(value) === index)\n\n\t\t\t\tlet idPermissions: Acl.Predicate = fieldPermissions[entity.primary] || false\n\n\t\t\t\tfor (let predicateReference of predicateReferences) {\n\t\t\t\t\tconst { predicateDefinition, predicate } = this.mergePredicates(\n\t\t\t\t\t\tentityPredicates,\n\t\t\t\t\t\tidPermissions,\n\t\t\t\t\t\tentityPredicates,\n\t\t\t\t\t\tpredicateReference,\n\t\t\t\t\t)\n\t\t\t\t\tif (typeof predicate !== 'string' || predicateDefinition === undefined) {\n\t\t\t\t\t\tthrow new Error('should not happen')\n\t\t\t\t\t}\n\t\t\t\t\tidPermissions = predicate\n\t\t\t\t\tentityPredicates[predicate] = predicateDefinition\n\t\t\t\t}\n\t\t\t\tfieldPermissions[entity.primary] = idPermissions\n\t\t\t\tentityPredicates[idPermissions as Acl.PredicateReference] = entityPredicates[idPermissions as Acl.PredicateReference]\n\t\t\t}\n\t\t\treturn {\n\t\t\t\toperations: entityOperations,\n\t\t\t\tpredicates: entityPredicates,\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate mergePermissions(left: Acl.Permissions, right: Acl.Permissions): Acl.Permissions {\n\t\tconst result = { ...left }\n\t\tfor (let entityName in right) {\n\t\t\tif (result[entityName] !== undefined) {\n\t\t\t\tresult[entityName] = this.mergeEntityPermissions(result[entityName], right[entityName])\n\t\t\t} else {\n\t\t\t\tresult[entityName] = right[entityName]\n\t\t\t}\n\t\t}\n\t\treturn result\n\t}\n\n\tprivate mergeEntityPermissions(left: Acl.EntityPermissions, right: Acl.EntityPermissions): Acl.EntityPermissions {\n\t\tlet predicates: Writable<Acl.PredicateMap> = {}\n\t\tconst operations: Writable<Acl.EntityOperations> = {}\n\t\tif (left.operations.customPrimary || right.operations.customPrimary) {\n\t\t\toperations.customPrimary = true\n\t\t}\n\t\tconst noRoot: `${Acl.Operation}`[] = []\n\n\t\tfor (\n\t\t\tlet operation of [\n\t\t\t\t'create',\n\t\t\t\t'read',\n\t\t\t\t'update',\n\t\t\t] as const\n\t\t) {\n\t\t\tconst { predicates: opPredicates, permissions: fieldPermissions, noRoot: opNoRoot } = this.mergeOperationPermissions(left, right, operation)\n\n\t\t\tif (opNoRoot) {\n\t\t\t\tnoRoot.push(operation)\n\t\t\t}\n\n\t\t\tpredicates = { ...predicates, ...opPredicates }\n\t\t\tif (Object.keys(fieldPermissions).length > 0) {\n\t\t\t\toperations[operation] = fieldPermissions\n\t\t\t}\n\t\t}\n\n\t\tconst { predicateDefinition, predicate, noRoot: opNoRoot } = this.mergeDeletePermissions(left, right)\n\t\tif (opNoRoot) {\n\t\t\tnoRoot.push('delete')\n\t\t}\n\t\tif (predicate === true) {\n\t\t\toperations.delete = true\n\t\t} else if (predicateDefinition !== undefined && typeof predicate === 'string') {\n\t\t\tpredicates[predicate] = predicateDefinition\n\t\t\toperations.delete = predicate\n\t\t}\n\n\t\tif (noRoot.length > 0) {\n\t\t\toperations.noRoot = noRoot\n\t\t}\n\n\t\treturn {\n\t\t\tpredicates: predicates,\n\t\t\toperations: operations,\n\t\t}\n\t}\n\n\tprivate mergeOperationPermissions(left: Acl.EntityPermissions, right: Acl.EntityPermissions, operation: 'create' | 'read' | 'update'): {\n\t\tnoRoot: boolean\n\t\tpredicates: Acl.PredicateMap\n\t\tpermissions: Acl.FieldPermissions\n\t} {\n\t\tconst { noRoot, leftPermissions, rightPermissions } = this.resolveNoRoot(left, right, operation)\n\t\treturn {\n\t\t\tnoRoot,\n\t\t\t...this.mergeFieldPermissions(\n\t\t\t\tleft.predicates,\n\t\t\t\tleftPermissions,\n\t\t\t\tright.predicates,\n\t\t\t\trightPermissions,\n\t\t\t),\n\t\t}\n\t}\n\n\tprivate mergeDeletePermissions(left: Acl.EntityPermissions, right: Acl.EntityPermissions): {\n\t\tnoRoot: boolean\n\t\tpredicate: Acl.PredicateReference | boolean\n\t\tpredicateDefinition: Acl.PredicateDefinition | undefined\n\t} {\n\t\tconst { noRoot, leftPermissions, rightPermissions } = this.resolveNoRoot(left, right, 'delete')\n\n\t\treturn {\n\t\t\tnoRoot,\n\t\t\t...this.mergePredicates(\n\t\t\t\tleft.predicates,\n\t\t\t\tleftPermissions,\n\t\t\t\tright.predicates,\n\t\t\t\trightPermissions,\n\t\t\t),\n\t\t}\n\t}\n\n\tprivate resolveNoRoot<const Op extends `${Acl.Operation}`>(left: Acl.EntityPermissions, right: Acl.EntityPermissions, operation: Op): {\n\t\tnoRoot: boolean\n\t\tleftPermissions: Acl.EntityPermissions['operations'][Op] | undefined\n\t\trightPermissions: Acl.EntityPermissions['operations'][Op] | undefined\n\t} {\n\t\tconst leftRootForbidden = left.operations.noRoot?.includes(operation) || false\n\t\tconst rightRootForbidden = right.operations.noRoot?.includes(operation) || false\n\t\tconst leftPermissions = left.operations[operation]\n\t\tconst rightPermissions = right.operations[operation]\n\n\t\tconst rootForbidden = (leftRootForbidden && rightRootForbidden)\n\t\t\t|| (leftRootForbidden && !rightPermissions)\n\t\t\t|| (rightRootForbidden && !leftPermissions)\n\n\t\tconst resolvedLeftPermissions = !rootForbidden && leftRootForbidden ? undefined : leftPermissions\n\t\tconst resolvedRightPermissions = !rootForbidden && rightRootForbidden ? undefined : rightPermissions\n\n\t\treturn {\n\t\t\tnoRoot: rootForbidden,\n\t\t\tleftPermissions: resolvedLeftPermissions,\n\t\t\trightPermissions: resolvedRightPermissions,\n\t\t}\n\t}\n\n\tprivate mergeFieldPermissions(\n\t\tleftPredicates: Acl.PredicateMap,\n\t\tleftFieldPermissions: Acl.FieldPermissions | undefined = {},\n\t\trightPredicates: Acl.PredicateMap,\n\t\trightFieldPermissions: Acl.FieldPermissions | undefined = {},\n\t): { predicates: Acl.PredicateMap; permissions: Acl.FieldPermissions } {\n\t\tconst permissions: Writable<Acl.FieldPermissions> = {}\n\t\tconst predicates: Writable<Acl.PredicateMap> = {}\n\n\t\tfor (let field in { ...leftFieldPermissions, ...rightFieldPermissions }) {\n\t\t\tconst { predicateDefinition, predicate } = this.mergePredicates(\n\t\t\t\tleftPredicates,\n\t\t\t\tleftFieldPermissions[field] || false,\n\t\t\t\trightPredicates,\n\t\t\t\trightFieldPermissions[field] || false,\n\t\t\t)\n\t\t\tif (predicate === true) {\n\t\t\t\tpermissions[field] = true\n\t\t\t} else if (predicateDefinition !== undefined && typeof predicate === 'string') {\n\t\t\t\tpermissions[field] = predicate\n\t\t\t\tpredicates[predicate] = predicateDefinition\n\t\t\t}\n\t\t}\n\n\t\treturn { predicates, permissions }\n\t}\n\n\tprivate mergePredicates(\n\t\tleftPredicates: Acl.PredicateMap,\n\t\tleftReference: Acl.Predicate | undefined = false,\n\t\trightPredicates: Acl.PredicateMap,\n\t\trightReference: Acl.Predicate | undefined = false,\n\t): {\n\t\tpredicate: Acl.PredicateReference | boolean\n\t\tpredicateDefinition: Acl.PredicateDefinition | undefined\n\t} {\n\t\tif (leftReference === true || rightReference === true) {\n\t\t\treturn {\n\t\t\t\tpredicate: true,\n\t\t\t\tpredicateDefinition: undefined,\n\t\t\t}\n\t\t}\n\n\t\tif (leftReference !== false && rightReference !== false) {\n\t\t\tconst leftPredicate: Acl.PredicateDefinition = leftPredicates[leftReference]\n\t\t\tconst rightPredicate: Acl.PredicateDefinition = rightPredicates[rightReference]\n\t\t\tif (leftPredicate === rightPredicate) {\n\t\t\t\treturn {\n\t\t\t\t\tpredicate: leftReference,\n\t\t\t\t\tpredicateDefinition: leftPredicate,\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet predicateName = '__merge__' + leftReference + '__' + rightReference\n\t\t\twhile (leftPredicates[predicateName]) {\n\t\t\t\tpredicateName += '_'\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpredicate: predicateName,\n\t\t\t\tpredicateDefinition: {\n\t\t\t\t\tor: [leftPredicate, rightPredicate],\n\t\t\t\t} as Acl.PredicateDefinition,\n\t\t\t}\n\t\t} else if (leftReference !== false) {\n\t\t\treturn {\n\t\t\t\tpredicate: leftReference,\n\t\t\t\tpredicateDefinition: leftPredicates[leftReference],\n\t\t\t}\n\t\t} else if (rightReference !== false) {\n\t\t\tlet predicateName = rightReference\n\t\t\tif (rightPredicates !== leftPredicates) {\n\t\t\t\twhile (leftPredicates[predicateName]) {\n\t\t\t\t\tpredicateName += '_'\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpredicate: predicateName,\n\t\t\t\tpredicateDefinition: rightPredicates[rightReference],\n\t\t\t}\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tpredicate: false,\n\t\t\t\tpredicateDefinition: undefined,\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["mapObject","PredicateDefinitionProcessor","getEntity","prefixVariable","opNoRoot"],"mappings":"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"}
@@ -0,0 +1,243 @@
1
+ import { PredicateDefinitionProcessor, getEntity } from "@contember/schema-utils";
2
+ import { mapObject } from "../utils/object.js";
3
+ import { prefixVariable } from "./VariableUtils.js";
4
+ class PermissionFactory {
5
+ create(schema, roles, prefix) {
6
+ let result = {};
7
+ for (let role of roles) {
8
+ const roleDefinition = schema.acl.roles[role] || { entities: {} };
9
+ let rolePermissions = this.prefixPredicatesWithRole(schema.model, roleDefinition.entities, prefix || role);
10
+ if (roleDefinition.inherits) {
11
+ const inheritedPermissions = this.create(schema, roleDefinition.inherits, prefix || role);
12
+ rolePermissions = this.mergePermissions(inheritedPermissions, rolePermissions);
13
+ }
14
+ result = this.mergePermissions(result, rolePermissions);
15
+ }
16
+ result = this.makePrimaryPredicatesUnionOfAllFields(schema.model, result);
17
+ return result;
18
+ }
19
+ prefixPredicatesWithRole(model, permissions, role) {
20
+ return mapObject(permissions, ({ operations, predicates }, entityName) => ({
21
+ operations,
22
+ predicates: mapObject(predicates, (predicate) => {
23
+ const predicateDefinitionProcessor = new PredicateDefinitionProcessor(model);
24
+ return predicateDefinitionProcessor.process(getEntity(model, entityName), predicate, {
25
+ handleColumn: ({ value }) => {
26
+ if (typeof value === "string") {
27
+ return prefixVariable(role, value);
28
+ }
29
+ return value;
30
+ },
31
+ handleRelation: ({ value }) => {
32
+ if (typeof value === "string") {
33
+ return prefixVariable(role, value);
34
+ }
35
+ return value;
36
+ }
37
+ });
38
+ })
39
+ }));
40
+ }
41
+ makePrimaryPredicatesUnionOfAllFields(model, permissions) {
42
+ return mapObject(permissions, (permission, entityName) => {
43
+ const entity = getEntity(model, entityName);
44
+ const entityPredicates = { ...permission.predicates };
45
+ const entityOperations = { ...permission.operations };
46
+ const operationNames = ["read", "create", "update"];
47
+ for (let operation of operationNames) {
48
+ if (!entityOperations[operation]) {
49
+ continue;
50
+ }
51
+ const fieldPermissions = { ...entityOperations[operation] };
52
+ entityOperations[operation] = fieldPermissions;
53
+ if (Object.values(fieldPermissions).some((it) => it === true)) {
54
+ fieldPermissions[entity.primary] = true;
55
+ }
56
+ if (fieldPermissions[entity.primary] === true) {
57
+ continue;
58
+ }
59
+ const predicateReferences = Object.entries(fieldPermissions).filter(([key]) => key !== entity.primary).map(([key, value]) => value).filter((value) => value !== false).filter((value, index, array) => array.indexOf(value) === index);
60
+ let idPermissions = fieldPermissions[entity.primary] || false;
61
+ for (let predicateReference of predicateReferences) {
62
+ const { predicateDefinition, predicate } = this.mergePredicates(
63
+ entityPredicates,
64
+ idPermissions,
65
+ entityPredicates,
66
+ predicateReference
67
+ );
68
+ if (typeof predicate !== "string" || predicateDefinition === void 0) {
69
+ throw new Error("should not happen");
70
+ }
71
+ idPermissions = predicate;
72
+ entityPredicates[predicate] = predicateDefinition;
73
+ }
74
+ fieldPermissions[entity.primary] = idPermissions;
75
+ entityPredicates[idPermissions] = entityPredicates[idPermissions];
76
+ }
77
+ return {
78
+ operations: entityOperations,
79
+ predicates: entityPredicates
80
+ };
81
+ });
82
+ }
83
+ mergePermissions(left, right) {
84
+ const result = { ...left };
85
+ for (let entityName in right) {
86
+ if (result[entityName] !== void 0) {
87
+ result[entityName] = this.mergeEntityPermissions(result[entityName], right[entityName]);
88
+ } else {
89
+ result[entityName] = right[entityName];
90
+ }
91
+ }
92
+ return result;
93
+ }
94
+ mergeEntityPermissions(left, right) {
95
+ let predicates = {};
96
+ const operations = {};
97
+ if (left.operations.customPrimary || right.operations.customPrimary) {
98
+ operations.customPrimary = true;
99
+ }
100
+ const noRoot = [];
101
+ for (let operation of [
102
+ "create",
103
+ "read",
104
+ "update"
105
+ ]) {
106
+ const { predicates: opPredicates, permissions: fieldPermissions, noRoot: opNoRoot2 } = this.mergeOperationPermissions(left, right, operation);
107
+ if (opNoRoot2) {
108
+ noRoot.push(operation);
109
+ }
110
+ predicates = { ...predicates, ...opPredicates };
111
+ if (Object.keys(fieldPermissions).length > 0) {
112
+ operations[operation] = fieldPermissions;
113
+ }
114
+ }
115
+ const { predicateDefinition, predicate, noRoot: opNoRoot } = this.mergeDeletePermissions(left, right);
116
+ if (opNoRoot) {
117
+ noRoot.push("delete");
118
+ }
119
+ if (predicate === true) {
120
+ operations.delete = true;
121
+ } else if (predicateDefinition !== void 0 && typeof predicate === "string") {
122
+ predicates[predicate] = predicateDefinition;
123
+ operations.delete = predicate;
124
+ }
125
+ if (noRoot.length > 0) {
126
+ operations.noRoot = noRoot;
127
+ }
128
+ return {
129
+ predicates,
130
+ operations
131
+ };
132
+ }
133
+ mergeOperationPermissions(left, right, operation) {
134
+ const { noRoot, leftPermissions, rightPermissions } = this.resolveNoRoot(left, right, operation);
135
+ return {
136
+ noRoot,
137
+ ...this.mergeFieldPermissions(
138
+ left.predicates,
139
+ leftPermissions,
140
+ right.predicates,
141
+ rightPermissions
142
+ )
143
+ };
144
+ }
145
+ mergeDeletePermissions(left, right) {
146
+ const { noRoot, leftPermissions, rightPermissions } = this.resolveNoRoot(left, right, "delete");
147
+ return {
148
+ noRoot,
149
+ ...this.mergePredicates(
150
+ left.predicates,
151
+ leftPermissions,
152
+ right.predicates,
153
+ rightPermissions
154
+ )
155
+ };
156
+ }
157
+ resolveNoRoot(left, right, operation) {
158
+ const leftRootForbidden = left.operations.noRoot?.includes(operation) || false;
159
+ const rightRootForbidden = right.operations.noRoot?.includes(operation) || false;
160
+ const leftPermissions = left.operations[operation];
161
+ const rightPermissions = right.operations[operation];
162
+ const rootForbidden = leftRootForbidden && rightRootForbidden || leftRootForbidden && !rightPermissions || rightRootForbidden && !leftPermissions;
163
+ const resolvedLeftPermissions = !rootForbidden && leftRootForbidden ? void 0 : leftPermissions;
164
+ const resolvedRightPermissions = !rootForbidden && rightRootForbidden ? void 0 : rightPermissions;
165
+ return {
166
+ noRoot: rootForbidden,
167
+ leftPermissions: resolvedLeftPermissions,
168
+ rightPermissions: resolvedRightPermissions
169
+ };
170
+ }
171
+ mergeFieldPermissions(leftPredicates, leftFieldPermissions = {}, rightPredicates, rightFieldPermissions = {}) {
172
+ const permissions = {};
173
+ const predicates = {};
174
+ for (let field in { ...leftFieldPermissions, ...rightFieldPermissions }) {
175
+ const { predicateDefinition, predicate } = this.mergePredicates(
176
+ leftPredicates,
177
+ leftFieldPermissions[field] || false,
178
+ rightPredicates,
179
+ rightFieldPermissions[field] || false
180
+ );
181
+ if (predicate === true) {
182
+ permissions[field] = true;
183
+ } else if (predicateDefinition !== void 0 && typeof predicate === "string") {
184
+ permissions[field] = predicate;
185
+ predicates[predicate] = predicateDefinition;
186
+ }
187
+ }
188
+ return { predicates, permissions };
189
+ }
190
+ mergePredicates(leftPredicates, leftReference = false, rightPredicates, rightReference = false) {
191
+ if (leftReference === true || rightReference === true) {
192
+ return {
193
+ predicate: true,
194
+ predicateDefinition: void 0
195
+ };
196
+ }
197
+ if (leftReference !== false && rightReference !== false) {
198
+ const leftPredicate = leftPredicates[leftReference];
199
+ const rightPredicate = rightPredicates[rightReference];
200
+ if (leftPredicate === rightPredicate) {
201
+ return {
202
+ predicate: leftReference,
203
+ predicateDefinition: leftPredicate
204
+ };
205
+ }
206
+ let predicateName = "__merge__" + leftReference + "__" + rightReference;
207
+ while (leftPredicates[predicateName]) {
208
+ predicateName += "_";
209
+ }
210
+ return {
211
+ predicate: predicateName,
212
+ predicateDefinition: {
213
+ or: [leftPredicate, rightPredicate]
214
+ }
215
+ };
216
+ } else if (leftReference !== false) {
217
+ return {
218
+ predicate: leftReference,
219
+ predicateDefinition: leftPredicates[leftReference]
220
+ };
221
+ } else if (rightReference !== false) {
222
+ let predicateName = rightReference;
223
+ if (rightPredicates !== leftPredicates) {
224
+ while (leftPredicates[predicateName]) {
225
+ predicateName += "_";
226
+ }
227
+ }
228
+ return {
229
+ predicate: predicateName,
230
+ predicateDefinition: rightPredicates[rightReference]
231
+ };
232
+ } else {
233
+ return {
234
+ predicate: false,
235
+ predicateDefinition: void 0
236
+ };
237
+ }
238
+ }
239
+ }
240
+ export {
241
+ PermissionFactory
242
+ };
243
+ //# sourceMappingURL=PermissionFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermissionFactory.js","sources":["../../../../../packages/engine-content-api/src/acl/PermissionFactory.ts"],"sourcesContent":["import { Acl, Model, Schema, Writable } from '@contember/schema'\nimport { getEntity, PredicateDefinitionProcessor } from '@contember/schema-utils'\nimport { mapObject } from '../utils'\nimport { prefixVariable } from './VariableUtils'\n\nexport interface Identity {\n\tprojectRoles: readonly string[]\n}\n\nexport class PermissionFactory {\n\tpublic create(schema: Schema, roles: readonly string[], prefix?: string): Acl.Permissions {\n\t\tlet result: Acl.Permissions = {}\n\t\tfor (let role of roles) {\n\t\t\tconst roleDefinition = schema.acl.roles[role] || { entities: {} }\n\t\t\tlet rolePermissions: Acl.Permissions = this.prefixPredicatesWithRole(schema.model, roleDefinition.entities, prefix || role)\n\t\t\tif (roleDefinition.inherits) {\n\t\t\t\tconst inheritedPermissions = this.create(schema, roleDefinition.inherits, prefix || role)\n\t\t\t\trolePermissions = this.mergePermissions(inheritedPermissions, rolePermissions)\n\t\t\t}\n\t\t\tresult = this.mergePermissions(result, rolePermissions)\n\t\t}\n\t\tresult = this.makePrimaryPredicatesUnionOfAllFields(schema.model, result)\n\n\t\treturn result\n\t}\n\n\tprivate prefixPredicatesWithRole(model: Model.Schema, permissions: Acl.Permissions, role: string): Acl.Permissions {\n\t\treturn mapObject(permissions, ({ operations, predicates }, entityName) => ({\n\t\t\toperations,\n\t\t\tpredicates: mapObject(predicates, predicate => {\n\t\t\t\tconst predicateDefinitionProcessor = new PredicateDefinitionProcessor(model)\n\t\t\t\treturn predicateDefinitionProcessor.process(getEntity(model, entityName), predicate, {\n\t\t\t\t\thandleColumn: ({ value }) => {\n\t\t\t\t\t\tif (typeof value === 'string') {\n\t\t\t\t\t\t\treturn prefixVariable(role, value)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn value\n\t\t\t\t\t},\n\t\t\t\t\thandleRelation: ({ value }) => {\n\t\t\t\t\t\tif (typeof value === 'string') {\n\t\t\t\t\t\t\treturn prefixVariable(role, value)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn value\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t}),\n\t\t}))\n\t}\n\n\tprivate makePrimaryPredicatesUnionOfAllFields(model: Model.Schema, permissions: Acl.Permissions): Acl.Permissions {\n\t\treturn mapObject(permissions, (permission, entityName): Acl.EntityPermissions => {\n\t\t\tconst entity = getEntity(model, entityName)\n\t\t\tconst entityPredicates: Writable<Acl.PredicateMap> = { ...permission.predicates }\n\t\t\tconst entityOperations: Writable<Acl.EntityOperations> = { ...permission.operations }\n\n\t\t\tconst operationNames = ['read', 'create', 'update'] as const\n\t\t\tfor (let operation of operationNames) {\n\t\t\t\tif (!entityOperations[operation]) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tconst fieldPermissions: Writable<Acl.FieldPermissions> = { ...entityOperations[operation] }\n\t\t\t\tentityOperations[operation] = fieldPermissions\n\n\t\t\t\tif (Object.values(fieldPermissions).some(it => it === true)) {\n\t\t\t\t\tfieldPermissions[entity.primary] = true\n\t\t\t\t}\n\t\t\t\tif (fieldPermissions[entity.primary] === true) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tconst predicateReferences: string[] = Object.entries(fieldPermissions)\n\t\t\t\t\t.filter(([key]) => key !== entity.primary)\n\t\t\t\t\t.map(([key, value]) => value)\n\t\t\t\t\t.filter(value => value !== false)\n\t\t\t\t\t.filter((value, index, array): value is string => array.indexOf(value) === index)\n\n\t\t\t\tlet idPermissions: Acl.Predicate = fieldPermissions[entity.primary] || false\n\n\t\t\t\tfor (let predicateReference of predicateReferences) {\n\t\t\t\t\tconst { predicateDefinition, predicate } = this.mergePredicates(\n\t\t\t\t\t\tentityPredicates,\n\t\t\t\t\t\tidPermissions,\n\t\t\t\t\t\tentityPredicates,\n\t\t\t\t\t\tpredicateReference,\n\t\t\t\t\t)\n\t\t\t\t\tif (typeof predicate !== 'string' || predicateDefinition === undefined) {\n\t\t\t\t\t\tthrow new Error('should not happen')\n\t\t\t\t\t}\n\t\t\t\t\tidPermissions = predicate\n\t\t\t\t\tentityPredicates[predicate] = predicateDefinition\n\t\t\t\t}\n\t\t\t\tfieldPermissions[entity.primary] = idPermissions\n\t\t\t\tentityPredicates[idPermissions as Acl.PredicateReference] = entityPredicates[idPermissions as Acl.PredicateReference]\n\t\t\t}\n\t\t\treturn {\n\t\t\t\toperations: entityOperations,\n\t\t\t\tpredicates: entityPredicates,\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate mergePermissions(left: Acl.Permissions, right: Acl.Permissions): Acl.Permissions {\n\t\tconst result = { ...left }\n\t\tfor (let entityName in right) {\n\t\t\tif (result[entityName] !== undefined) {\n\t\t\t\tresult[entityName] = this.mergeEntityPermissions(result[entityName], right[entityName])\n\t\t\t} else {\n\t\t\t\tresult[entityName] = right[entityName]\n\t\t\t}\n\t\t}\n\t\treturn result\n\t}\n\n\tprivate mergeEntityPermissions(left: Acl.EntityPermissions, right: Acl.EntityPermissions): Acl.EntityPermissions {\n\t\tlet predicates: Writable<Acl.PredicateMap> = {}\n\t\tconst operations: Writable<Acl.EntityOperations> = {}\n\t\tif (left.operations.customPrimary || right.operations.customPrimary) {\n\t\t\toperations.customPrimary = true\n\t\t}\n\t\tconst noRoot: `${Acl.Operation}`[] = []\n\n\t\tfor (\n\t\t\tlet operation of [\n\t\t\t\t'create',\n\t\t\t\t'read',\n\t\t\t\t'update',\n\t\t\t] as const\n\t\t) {\n\t\t\tconst { predicates: opPredicates, permissions: fieldPermissions, noRoot: opNoRoot } = this.mergeOperationPermissions(left, right, operation)\n\n\t\t\tif (opNoRoot) {\n\t\t\t\tnoRoot.push(operation)\n\t\t\t}\n\n\t\t\tpredicates = { ...predicates, ...opPredicates }\n\t\t\tif (Object.keys(fieldPermissions).length > 0) {\n\t\t\t\toperations[operation] = fieldPermissions\n\t\t\t}\n\t\t}\n\n\t\tconst { predicateDefinition, predicate, noRoot: opNoRoot } = this.mergeDeletePermissions(left, right)\n\t\tif (opNoRoot) {\n\t\t\tnoRoot.push('delete')\n\t\t}\n\t\tif (predicate === true) {\n\t\t\toperations.delete = true\n\t\t} else if (predicateDefinition !== undefined && typeof predicate === 'string') {\n\t\t\tpredicates[predicate] = predicateDefinition\n\t\t\toperations.delete = predicate\n\t\t}\n\n\t\tif (noRoot.length > 0) {\n\t\t\toperations.noRoot = noRoot\n\t\t}\n\n\t\treturn {\n\t\t\tpredicates: predicates,\n\t\t\toperations: operations,\n\t\t}\n\t}\n\n\tprivate mergeOperationPermissions(left: Acl.EntityPermissions, right: Acl.EntityPermissions, operation: 'create' | 'read' | 'update'): {\n\t\tnoRoot: boolean\n\t\tpredicates: Acl.PredicateMap\n\t\tpermissions: Acl.FieldPermissions\n\t} {\n\t\tconst { noRoot, leftPermissions, rightPermissions } = this.resolveNoRoot(left, right, operation)\n\t\treturn {\n\t\t\tnoRoot,\n\t\t\t...this.mergeFieldPermissions(\n\t\t\t\tleft.predicates,\n\t\t\t\tleftPermissions,\n\t\t\t\tright.predicates,\n\t\t\t\trightPermissions,\n\t\t\t),\n\t\t}\n\t}\n\n\tprivate mergeDeletePermissions(left: Acl.EntityPermissions, right: Acl.EntityPermissions): {\n\t\tnoRoot: boolean\n\t\tpredicate: Acl.PredicateReference | boolean\n\t\tpredicateDefinition: Acl.PredicateDefinition | undefined\n\t} {\n\t\tconst { noRoot, leftPermissions, rightPermissions } = this.resolveNoRoot(left, right, 'delete')\n\n\t\treturn {\n\t\t\tnoRoot,\n\t\t\t...this.mergePredicates(\n\t\t\t\tleft.predicates,\n\t\t\t\tleftPermissions,\n\t\t\t\tright.predicates,\n\t\t\t\trightPermissions,\n\t\t\t),\n\t\t}\n\t}\n\n\tprivate resolveNoRoot<const Op extends `${Acl.Operation}`>(left: Acl.EntityPermissions, right: Acl.EntityPermissions, operation: Op): {\n\t\tnoRoot: boolean\n\t\tleftPermissions: Acl.EntityPermissions['operations'][Op] | undefined\n\t\trightPermissions: Acl.EntityPermissions['operations'][Op] | undefined\n\t} {\n\t\tconst leftRootForbidden = left.operations.noRoot?.includes(operation) || false\n\t\tconst rightRootForbidden = right.operations.noRoot?.includes(operation) || false\n\t\tconst leftPermissions = left.operations[operation]\n\t\tconst rightPermissions = right.operations[operation]\n\n\t\tconst rootForbidden = (leftRootForbidden && rightRootForbidden)\n\t\t\t|| (leftRootForbidden && !rightPermissions)\n\t\t\t|| (rightRootForbidden && !leftPermissions)\n\n\t\tconst resolvedLeftPermissions = !rootForbidden && leftRootForbidden ? undefined : leftPermissions\n\t\tconst resolvedRightPermissions = !rootForbidden && rightRootForbidden ? undefined : rightPermissions\n\n\t\treturn {\n\t\t\tnoRoot: rootForbidden,\n\t\t\tleftPermissions: resolvedLeftPermissions,\n\t\t\trightPermissions: resolvedRightPermissions,\n\t\t}\n\t}\n\n\tprivate mergeFieldPermissions(\n\t\tleftPredicates: Acl.PredicateMap,\n\t\tleftFieldPermissions: Acl.FieldPermissions | undefined = {},\n\t\trightPredicates: Acl.PredicateMap,\n\t\trightFieldPermissions: Acl.FieldPermissions | undefined = {},\n\t): { predicates: Acl.PredicateMap; permissions: Acl.FieldPermissions } {\n\t\tconst permissions: Writable<Acl.FieldPermissions> = {}\n\t\tconst predicates: Writable<Acl.PredicateMap> = {}\n\n\t\tfor (let field in { ...leftFieldPermissions, ...rightFieldPermissions }) {\n\t\t\tconst { predicateDefinition, predicate } = this.mergePredicates(\n\t\t\t\tleftPredicates,\n\t\t\t\tleftFieldPermissions[field] || false,\n\t\t\t\trightPredicates,\n\t\t\t\trightFieldPermissions[field] || false,\n\t\t\t)\n\t\t\tif (predicate === true) {\n\t\t\t\tpermissions[field] = true\n\t\t\t} else if (predicateDefinition !== undefined && typeof predicate === 'string') {\n\t\t\t\tpermissions[field] = predicate\n\t\t\t\tpredicates[predicate] = predicateDefinition\n\t\t\t}\n\t\t}\n\n\t\treturn { predicates, permissions }\n\t}\n\n\tprivate mergePredicates(\n\t\tleftPredicates: Acl.PredicateMap,\n\t\tleftReference: Acl.Predicate | undefined = false,\n\t\trightPredicates: Acl.PredicateMap,\n\t\trightReference: Acl.Predicate | undefined = false,\n\t): {\n\t\tpredicate: Acl.PredicateReference | boolean\n\t\tpredicateDefinition: Acl.PredicateDefinition | undefined\n\t} {\n\t\tif (leftReference === true || rightReference === true) {\n\t\t\treturn {\n\t\t\t\tpredicate: true,\n\t\t\t\tpredicateDefinition: undefined,\n\t\t\t}\n\t\t}\n\n\t\tif (leftReference !== false && rightReference !== false) {\n\t\t\tconst leftPredicate: Acl.PredicateDefinition = leftPredicates[leftReference]\n\t\t\tconst rightPredicate: Acl.PredicateDefinition = rightPredicates[rightReference]\n\t\t\tif (leftPredicate === rightPredicate) {\n\t\t\t\treturn {\n\t\t\t\t\tpredicate: leftReference,\n\t\t\t\t\tpredicateDefinition: leftPredicate,\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet predicateName = '__merge__' + leftReference + '__' + rightReference\n\t\t\twhile (leftPredicates[predicateName]) {\n\t\t\t\tpredicateName += '_'\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpredicate: predicateName,\n\t\t\t\tpredicateDefinition: {\n\t\t\t\t\tor: [leftPredicate, rightPredicate],\n\t\t\t\t} as Acl.PredicateDefinition,\n\t\t\t}\n\t\t} else if (leftReference !== false) {\n\t\t\treturn {\n\t\t\t\tpredicate: leftReference,\n\t\t\t\tpredicateDefinition: leftPredicates[leftReference],\n\t\t\t}\n\t\t} else if (rightReference !== false) {\n\t\t\tlet predicateName = rightReference\n\t\t\tif (rightPredicates !== leftPredicates) {\n\t\t\t\twhile (leftPredicates[predicateName]) {\n\t\t\t\t\tpredicateName += '_'\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpredicate: predicateName,\n\t\t\t\tpredicateDefinition: rightPredicates[rightReference],\n\t\t\t}\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tpredicate: false,\n\t\t\t\tpredicateDefinition: undefined,\n\t\t\t}\n\t\t}\n\t}\n}\n"],"names":["opNoRoot"],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const schema = require("@contember/schema");
4
+ const EvaluatedPredicateReplacer = require("./EvaluatedPredicateReplacer.cjs");
5
+ const getRowLevelPredicatePseudoField = (entity) => entity.primary;
6
+ class PredicateFactory {
7
+ constructor(permissions, model, variableInjector) {
8
+ this.permissions = permissions;
9
+ this.model = model;
10
+ this.variableInjector = variableInjector;
11
+ }
12
+ getFieldPredicate(entity, operation, fieldName) {
13
+ const permissions = this.permissions[entity.name]?.operations?.[operation];
14
+ const predicate = permissions?.[fieldName] ?? false;
15
+ const rowLevelField = getRowLevelPredicatePseudoField(entity);
16
+ const primaryPredicate = permissions?.[rowLevelField] ?? false;
17
+ const isSameAsPrimary = predicate === primaryPredicate;
18
+ return {
19
+ isSameAsPrimary,
20
+ predicate
21
+ };
22
+ }
23
+ shouldApplyCellLevelPredicate(entity, operation, fieldName) {
24
+ const rowLevelField = getRowLevelPredicatePseudoField(entity);
25
+ const permissions = this.permissions[entity.name]?.operations?.[operation];
26
+ return permissions?.[fieldName] !== permissions?.[rowLevelField];
27
+ }
28
+ createDeletePredicate(entity) {
29
+ const neverCondition = { [entity.primary]: { never: true } };
30
+ const entityPermissions = this.permissions[entity.name];
31
+ if (!entityPermissions) {
32
+ return neverCondition;
33
+ }
34
+ const deletePredicate = entityPermissions.operations.delete;
35
+ if (deletePredicate === void 0 || deletePredicate === false) {
36
+ return neverCondition;
37
+ }
38
+ if (deletePredicate === true) {
39
+ return {};
40
+ }
41
+ return this.buildPredicates(entity, [deletePredicate]);
42
+ }
43
+ create(entity, operation, fieldNames = [getRowLevelPredicatePseudoField(entity)], relationContext) {
44
+ const entityPermissions = this.permissions[entity.name];
45
+ const neverCondition = { [entity.primary]: { never: true } };
46
+ if (!entityPermissions) {
47
+ return neverCondition;
48
+ }
49
+ if (fieldNames === void 0) {
50
+ fieldNames = [getRowLevelPredicatePseudoField(entity)];
51
+ }
52
+ const fieldPermissions = entityPermissions.operations[operation];
53
+ if (fieldPermissions === void 0) {
54
+ return neverCondition;
55
+ }
56
+ const operationPredicates = this.getRequiredPredicates(fieldNames, fieldPermissions);
57
+ if (operationPredicates === false) {
58
+ return neverCondition;
59
+ }
60
+ return this.buildPredicates(entity, operationPredicates, relationContext);
61
+ }
62
+ buildPredicates(entity, predicates, relationContext) {
63
+ const entityPermissions = this.permissions[entity.name] ?? {};
64
+ const predicatesWhere = predicates.reduce(
65
+ (result, name) => {
66
+ if (!entityPermissions.predicates[name]) {
67
+ throw new Error(`${entity.name}: Undefined predicate ${name}`);
68
+ }
69
+ const predicateWhere = this.variableInjector.inject(entity, entityPermissions.predicates[name]);
70
+ return [...result, predicateWhere];
71
+ },
72
+ []
73
+ );
74
+ if (predicatesWhere.length === 0) {
75
+ return {};
76
+ }
77
+ const where = predicatesWhere.length === 1 ? predicatesWhere[0] : { and: predicatesWhere };
78
+ return this.optimizePredicates(where, relationContext);
79
+ }
80
+ getRequiredPredicates(fieldNames, fieldPermissions) {
81
+ const predicates = [];
82
+ for (let name of fieldNames) {
83
+ const fieldPredicate = fieldPermissions[name];
84
+ if (fieldPredicate === void 0 || fieldPredicate === false) {
85
+ return false;
86
+ }
87
+ if (fieldPredicate === true) {
88
+ continue;
89
+ }
90
+ if (!predicates.includes(fieldPredicate)) {
91
+ predicates.push(fieldPredicate);
92
+ }
93
+ }
94
+ return predicates;
95
+ }
96
+ optimizePredicates(where, relationContext) {
97
+ if (!relationContext || !relationContext.targetRelation) {
98
+ return where;
99
+ }
100
+ const sourcePredicate = this.create(relationContext.entity, schema.Acl.Operation.read, [relationContext.relation.name]);
101
+ if (Object.keys(sourcePredicate).length === 0) {
102
+ return where;
103
+ }
104
+ const replacer = new EvaluatedPredicateReplacer.EvaluatedPredicateReplacer(sourcePredicate, relationContext.entity, relationContext.targetRelation);
105
+ return replacer.replace(where);
106
+ }
107
+ }
108
+ exports.PredicateFactory = PredicateFactory;
109
+ //# sourceMappingURL=PredicateFactory.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PredicateFactory.cjs","sources":["../../../../../packages/engine-content-api/src/acl/PredicateFactory.ts"],"sourcesContent":["import { Acl, Input, Model } from '@contember/schema'\nimport { VariableInjector } from './VariableInjector'\nimport { EvaluatedPredicateReplacer } from './EvaluatedPredicateReplacer'\n\nconst getRowLevelPredicatePseudoField = (entity: Model.Entity) => entity.primary\n\nexport interface FieldRequiredPredicate {\n\tpredicate: Acl.Predicate\n\tisSameAsPrimary: boolean\n}\n\nexport class PredicateFactory {\n\tconstructor(\n\t\tprivate readonly permissions: Acl.Permissions,\n\t\tprivate readonly model: Model.Schema,\n\t\tprivate readonly variableInjector: VariableInjector,\n\t) {}\n\n\tpublic getFieldPredicate(\n\t\tentity: Model.Entity,\n\t\toperation: Acl.Operation.update | Acl.Operation.read | Acl.Operation.create,\n\t\tfieldName: string,\n\t): FieldRequiredPredicate {\n\t\tconst permissions = this.permissions[entity.name]?.operations?.[operation]\n\t\tconst predicate = permissions?.[fieldName] ?? false\n\t\tconst rowLevelField = getRowLevelPredicatePseudoField(entity)\n\n\t\tconst primaryPredicate = permissions?.[rowLevelField] ?? false\n\t\tconst isSameAsPrimary = predicate === primaryPredicate\n\n\t\treturn {\n\t\t\tisSameAsPrimary,\n\t\t\tpredicate,\n\t\t}\n\t}\n\n\tpublic shouldApplyCellLevelPredicate(\n\t\tentity: Model.Entity,\n\t\toperation: Acl.Operation.read,\n\t\tfieldName: string,\n\t): boolean {\n\t\tconst rowLevelField = getRowLevelPredicatePseudoField(entity)\n\t\tconst permissions = this.permissions[entity.name]?.operations?.[operation]\n\t\treturn permissions?.[fieldName] !== permissions?.[rowLevelField]\n\t}\n\n\tpublic createDeletePredicate(entity: Model.Entity) {\n\t\tconst neverCondition: Input.Where = { [entity.primary]: { never: true } }\n\t\tconst entityPermissions = this.permissions[entity.name]\n\t\tif (!entityPermissions) {\n\t\t\treturn neverCondition\n\t\t}\n\t\tconst deletePredicate = entityPermissions.operations.delete\n\t\tif (deletePredicate === undefined || deletePredicate === false) {\n\t\t\treturn neverCondition\n\t\t}\n\t\tif (deletePredicate === true) {\n\t\t\treturn {}\n\t\t}\n\t\treturn this.buildPredicates(entity, [deletePredicate])\n\t}\n\n\tpublic create(\n\t\tentity: Model.Entity,\n\t\toperation: Acl.Operation.update | Acl.Operation.read | Acl.Operation.create,\n\t\tfieldNames: string[] = [getRowLevelPredicatePseudoField(entity)],\n\t\trelationContext?: Model.AnyRelationContext,\n\t): Input.OptionalWhere {\n\t\tconst entityPermissions: Acl.EntityPermissions = this.permissions[entity.name]\n\t\tconst neverCondition: Input.Where = { [entity.primary]: { never: true } }\n\n\t\tif (!entityPermissions) {\n\t\t\treturn neverCondition\n\t\t}\n\n\t\tif (fieldNames === undefined) {\n\t\t\tfieldNames = [getRowLevelPredicatePseudoField(entity)]\n\t\t}\n\t\tconst fieldPermissions = entityPermissions.operations[operation]\n\t\tif (fieldPermissions === undefined) {\n\t\t\treturn neverCondition\n\t\t}\n\t\tconst operationPredicates = this.getRequiredPredicates(fieldNames, fieldPermissions)\n\t\tif (operationPredicates === false) {\n\t\t\treturn neverCondition\n\t\t}\n\n\t\treturn this.buildPredicates(entity, operationPredicates, relationContext)\n\t}\n\n\tpublic buildPredicates(entity: Model.Entity, predicates: Acl.PredicateReference[], relationContext?: Model.AnyRelationContext): Input.OptionalWhere {\n\t\tconst entityPermissions: Acl.EntityPermissions = this.permissions[entity.name] ?? {}\n\n\t\tconst predicatesWhere: Input.Where[] = predicates.reduce(\n\t\t\t(result: Input.Where[], name: Acl.PredicateReference): Input.Where[] => {\n\t\t\t\tif (!entityPermissions.predicates[name]) {\n\t\t\t\t\tthrow new Error(`${entity.name}: Undefined predicate ${name}`)\n\t\t\t\t}\n\t\t\t\tconst predicateWhere: Input.Where = this.variableInjector.inject(entity, entityPermissions.predicates[name])\n\t\t\t\treturn [...result, predicateWhere]\n\t\t\t},\n\t\t\t[],\n\t\t)\n\t\tif (predicatesWhere.length === 0) {\n\t\t\treturn {}\n\t\t}\n\t\tconst where: Input.Where = predicatesWhere.length === 1 ? predicatesWhere[0] : { and: predicatesWhere }\n\t\treturn this.optimizePredicates(where, relationContext)\n\t}\n\n\tprivate getRequiredPredicates(\n\t\tfieldNames: string[],\n\t\tfieldPermissions: Acl.FieldPermissions,\n\t): Acl.PredicateReference[] | false {\n\t\tconst predicates: Acl.PredicateReference[] = []\n\t\tfor (let name of fieldNames) {\n\t\t\tconst fieldPredicate = fieldPermissions[name]\n\t\t\tif (fieldPredicate === undefined || fieldPredicate === false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (fieldPredicate === true) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (!predicates.includes(fieldPredicate)) {\n\t\t\t\tpredicates.push(fieldPredicate)\n\t\t\t}\n\t\t}\n\t\treturn predicates\n\t}\n\n\tpublic optimizePredicates(where: Input.OptionalWhere, relationContext?: Model.AnyRelationContext) {\n\t\tif (!relationContext || !relationContext.targetRelation) {\n\t\t\treturn where\n\t\t}\n\t\tconst sourcePredicate = this.create(relationContext.entity, Acl.Operation.read, [relationContext.relation.name])\n\t\tif (Object.keys(sourcePredicate).length === 0) {\n\t\t\treturn where\n\t\t}\n\n\t\tconst replacer = new EvaluatedPredicateReplacer(sourcePredicate, relationContext.entity, relationContext.targetRelation)\n\t\treturn replacer.replace(where)\n\t}\n}\n"],"names":["Acl","EvaluatedPredicateReplacer"],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ import { Acl } from "@contember/schema";
2
+ import { EvaluatedPredicateReplacer } from "./EvaluatedPredicateReplacer.js";
3
+ const getRowLevelPredicatePseudoField = (entity) => entity.primary;
4
+ class PredicateFactory {
5
+ constructor(permissions, model, variableInjector) {
6
+ this.permissions = permissions;
7
+ this.model = model;
8
+ this.variableInjector = variableInjector;
9
+ }
10
+ getFieldPredicate(entity, operation, fieldName) {
11
+ const permissions = this.permissions[entity.name]?.operations?.[operation];
12
+ const predicate = permissions?.[fieldName] ?? false;
13
+ const rowLevelField = getRowLevelPredicatePseudoField(entity);
14
+ const primaryPredicate = permissions?.[rowLevelField] ?? false;
15
+ const isSameAsPrimary = predicate === primaryPredicate;
16
+ return {
17
+ isSameAsPrimary,
18
+ predicate
19
+ };
20
+ }
21
+ shouldApplyCellLevelPredicate(entity, operation, fieldName) {
22
+ const rowLevelField = getRowLevelPredicatePseudoField(entity);
23
+ const permissions = this.permissions[entity.name]?.operations?.[operation];
24
+ return permissions?.[fieldName] !== permissions?.[rowLevelField];
25
+ }
26
+ createDeletePredicate(entity) {
27
+ const neverCondition = { [entity.primary]: { never: true } };
28
+ const entityPermissions = this.permissions[entity.name];
29
+ if (!entityPermissions) {
30
+ return neverCondition;
31
+ }
32
+ const deletePredicate = entityPermissions.operations.delete;
33
+ if (deletePredicate === void 0 || deletePredicate === false) {
34
+ return neverCondition;
35
+ }
36
+ if (deletePredicate === true) {
37
+ return {};
38
+ }
39
+ return this.buildPredicates(entity, [deletePredicate]);
40
+ }
41
+ create(entity, operation, fieldNames = [getRowLevelPredicatePseudoField(entity)], relationContext) {
42
+ const entityPermissions = this.permissions[entity.name];
43
+ const neverCondition = { [entity.primary]: { never: true } };
44
+ if (!entityPermissions) {
45
+ return neverCondition;
46
+ }
47
+ if (fieldNames === void 0) {
48
+ fieldNames = [getRowLevelPredicatePseudoField(entity)];
49
+ }
50
+ const fieldPermissions = entityPermissions.operations[operation];
51
+ if (fieldPermissions === void 0) {
52
+ return neverCondition;
53
+ }
54
+ const operationPredicates = this.getRequiredPredicates(fieldNames, fieldPermissions);
55
+ if (operationPredicates === false) {
56
+ return neverCondition;
57
+ }
58
+ return this.buildPredicates(entity, operationPredicates, relationContext);
59
+ }
60
+ buildPredicates(entity, predicates, relationContext) {
61
+ const entityPermissions = this.permissions[entity.name] ?? {};
62
+ const predicatesWhere = predicates.reduce(
63
+ (result, name) => {
64
+ if (!entityPermissions.predicates[name]) {
65
+ throw new Error(`${entity.name}: Undefined predicate ${name}`);
66
+ }
67
+ const predicateWhere = this.variableInjector.inject(entity, entityPermissions.predicates[name]);
68
+ return [...result, predicateWhere];
69
+ },
70
+ []
71
+ );
72
+ if (predicatesWhere.length === 0) {
73
+ return {};
74
+ }
75
+ const where = predicatesWhere.length === 1 ? predicatesWhere[0] : { and: predicatesWhere };
76
+ return this.optimizePredicates(where, relationContext);
77
+ }
78
+ getRequiredPredicates(fieldNames, fieldPermissions) {
79
+ const predicates = [];
80
+ for (let name of fieldNames) {
81
+ const fieldPredicate = fieldPermissions[name];
82
+ if (fieldPredicate === void 0 || fieldPredicate === false) {
83
+ return false;
84
+ }
85
+ if (fieldPredicate === true) {
86
+ continue;
87
+ }
88
+ if (!predicates.includes(fieldPredicate)) {
89
+ predicates.push(fieldPredicate);
90
+ }
91
+ }
92
+ return predicates;
93
+ }
94
+ optimizePredicates(where, relationContext) {
95
+ if (!relationContext || !relationContext.targetRelation) {
96
+ return where;
97
+ }
98
+ const sourcePredicate = this.create(relationContext.entity, Acl.Operation.read, [relationContext.relation.name]);
99
+ if (Object.keys(sourcePredicate).length === 0) {
100
+ return where;
101
+ }
102
+ const replacer = new EvaluatedPredicateReplacer(sourcePredicate, relationContext.entity, relationContext.targetRelation);
103
+ return replacer.replace(where);
104
+ }
105
+ }
106
+ export {
107
+ PredicateFactory
108
+ };
109
+ //# sourceMappingURL=PredicateFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PredicateFactory.js","sources":["../../../../../packages/engine-content-api/src/acl/PredicateFactory.ts"],"sourcesContent":["import { Acl, Input, Model } from '@contember/schema'\nimport { VariableInjector } from './VariableInjector'\nimport { EvaluatedPredicateReplacer } from './EvaluatedPredicateReplacer'\n\nconst getRowLevelPredicatePseudoField = (entity: Model.Entity) => entity.primary\n\nexport interface FieldRequiredPredicate {\n\tpredicate: Acl.Predicate\n\tisSameAsPrimary: boolean\n}\n\nexport class PredicateFactory {\n\tconstructor(\n\t\tprivate readonly permissions: Acl.Permissions,\n\t\tprivate readonly model: Model.Schema,\n\t\tprivate readonly variableInjector: VariableInjector,\n\t) {}\n\n\tpublic getFieldPredicate(\n\t\tentity: Model.Entity,\n\t\toperation: Acl.Operation.update | Acl.Operation.read | Acl.Operation.create,\n\t\tfieldName: string,\n\t): FieldRequiredPredicate {\n\t\tconst permissions = this.permissions[entity.name]?.operations?.[operation]\n\t\tconst predicate = permissions?.[fieldName] ?? false\n\t\tconst rowLevelField = getRowLevelPredicatePseudoField(entity)\n\n\t\tconst primaryPredicate = permissions?.[rowLevelField] ?? false\n\t\tconst isSameAsPrimary = predicate === primaryPredicate\n\n\t\treturn {\n\t\t\tisSameAsPrimary,\n\t\t\tpredicate,\n\t\t}\n\t}\n\n\tpublic shouldApplyCellLevelPredicate(\n\t\tentity: Model.Entity,\n\t\toperation: Acl.Operation.read,\n\t\tfieldName: string,\n\t): boolean {\n\t\tconst rowLevelField = getRowLevelPredicatePseudoField(entity)\n\t\tconst permissions = this.permissions[entity.name]?.operations?.[operation]\n\t\treturn permissions?.[fieldName] !== permissions?.[rowLevelField]\n\t}\n\n\tpublic createDeletePredicate(entity: Model.Entity) {\n\t\tconst neverCondition: Input.Where = { [entity.primary]: { never: true } }\n\t\tconst entityPermissions = this.permissions[entity.name]\n\t\tif (!entityPermissions) {\n\t\t\treturn neverCondition\n\t\t}\n\t\tconst deletePredicate = entityPermissions.operations.delete\n\t\tif (deletePredicate === undefined || deletePredicate === false) {\n\t\t\treturn neverCondition\n\t\t}\n\t\tif (deletePredicate === true) {\n\t\t\treturn {}\n\t\t}\n\t\treturn this.buildPredicates(entity, [deletePredicate])\n\t}\n\n\tpublic create(\n\t\tentity: Model.Entity,\n\t\toperation: Acl.Operation.update | Acl.Operation.read | Acl.Operation.create,\n\t\tfieldNames: string[] = [getRowLevelPredicatePseudoField(entity)],\n\t\trelationContext?: Model.AnyRelationContext,\n\t): Input.OptionalWhere {\n\t\tconst entityPermissions: Acl.EntityPermissions = this.permissions[entity.name]\n\t\tconst neverCondition: Input.Where = { [entity.primary]: { never: true } }\n\n\t\tif (!entityPermissions) {\n\t\t\treturn neverCondition\n\t\t}\n\n\t\tif (fieldNames === undefined) {\n\t\t\tfieldNames = [getRowLevelPredicatePseudoField(entity)]\n\t\t}\n\t\tconst fieldPermissions = entityPermissions.operations[operation]\n\t\tif (fieldPermissions === undefined) {\n\t\t\treturn neverCondition\n\t\t}\n\t\tconst operationPredicates = this.getRequiredPredicates(fieldNames, fieldPermissions)\n\t\tif (operationPredicates === false) {\n\t\t\treturn neverCondition\n\t\t}\n\n\t\treturn this.buildPredicates(entity, operationPredicates, relationContext)\n\t}\n\n\tpublic buildPredicates(entity: Model.Entity, predicates: Acl.PredicateReference[], relationContext?: Model.AnyRelationContext): Input.OptionalWhere {\n\t\tconst entityPermissions: Acl.EntityPermissions = this.permissions[entity.name] ?? {}\n\n\t\tconst predicatesWhere: Input.Where[] = predicates.reduce(\n\t\t\t(result: Input.Where[], name: Acl.PredicateReference): Input.Where[] => {\n\t\t\t\tif (!entityPermissions.predicates[name]) {\n\t\t\t\t\tthrow new Error(`${entity.name}: Undefined predicate ${name}`)\n\t\t\t\t}\n\t\t\t\tconst predicateWhere: Input.Where = this.variableInjector.inject(entity, entityPermissions.predicates[name])\n\t\t\t\treturn [...result, predicateWhere]\n\t\t\t},\n\t\t\t[],\n\t\t)\n\t\tif (predicatesWhere.length === 0) {\n\t\t\treturn {}\n\t\t}\n\t\tconst where: Input.Where = predicatesWhere.length === 1 ? predicatesWhere[0] : { and: predicatesWhere }\n\t\treturn this.optimizePredicates(where, relationContext)\n\t}\n\n\tprivate getRequiredPredicates(\n\t\tfieldNames: string[],\n\t\tfieldPermissions: Acl.FieldPermissions,\n\t): Acl.PredicateReference[] | false {\n\t\tconst predicates: Acl.PredicateReference[] = []\n\t\tfor (let name of fieldNames) {\n\t\t\tconst fieldPredicate = fieldPermissions[name]\n\t\t\tif (fieldPredicate === undefined || fieldPredicate === false) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (fieldPredicate === true) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (!predicates.includes(fieldPredicate)) {\n\t\t\t\tpredicates.push(fieldPredicate)\n\t\t\t}\n\t\t}\n\t\treturn predicates\n\t}\n\n\tpublic optimizePredicates(where: Input.OptionalWhere, relationContext?: Model.AnyRelationContext) {\n\t\tif (!relationContext || !relationContext.targetRelation) {\n\t\t\treturn where\n\t\t}\n\t\tconst sourcePredicate = this.create(relationContext.entity, Acl.Operation.read, [relationContext.relation.name])\n\t\tif (Object.keys(sourcePredicate).length === 0) {\n\t\t\treturn where\n\t\t}\n\n\t\tconst replacer = new EvaluatedPredicateReplacer(sourcePredicate, relationContext.entity, relationContext.targetRelation)\n\t\treturn replacer.replace(where)\n\t}\n}\n"],"names":[],"mappings":"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"}